From bd68112a3f055cad65679306910a6aa3ca47250d Mon Sep 17 00:00:00 2001 From: neodiX Date: Thu, 12 Sep 2024 13:37:30 +0400 Subject: [PATCH] make WalletAccount, Domain and TonProof public in TonConnect --- address/pom.xml | 6 +++ .../ton/java/address/TestAddressWithFift.java | 38 +++++++++++++++++++ address/src/test/resources/test-address.fif | 22 +++++++++++ .../java/org/ton/java/tonconnect/Domain.java | 2 +- .../org/ton/java/tonconnect/TonProof.java | 2 +- .../ton/java/tonconnect/WalletAccount.java | 2 +- 6 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 address/src/test/java/org/ton/java/address/TestAddressWithFift.java create mode 100644 address/src/test/resources/test-address.fif diff --git a/address/pom.xml b/address/pom.xml index 5392d5aa..b6ec800d 100644 --- a/address/pom.xml +++ b/address/pom.xml @@ -97,5 +97,11 @@ commons-io test + + io.github.neodix42 + fift + ${project.parent.version} + test + \ No newline at end of file diff --git a/address/src/test/java/org/ton/java/address/TestAddressWithFift.java b/address/src/test/java/org/ton/java/address/TestAddressWithFift.java new file mode 100644 index 00000000..6d8e644d --- /dev/null +++ b/address/src/test/java/org/ton/java/address/TestAddressWithFift.java @@ -0,0 +1,38 @@ +package org.ton.java.address; + +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; +import org.ton.java.fift.FiftRunner; + +import java.io.File; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Paths; + +@Slf4j +@RunWith(JUnit4.class) +public class TestAddressWithFift { + @Test + public void testAddressWithFift() throws URISyntaxException { + + URL resource = TestAddressWithFift.class.getResource("/test-address.fif"); + File fiftFile = Paths.get(resource.toURI()).toFile(); + String absolutePath = fiftFile.getAbsolutePath(); + + FiftRunner fiftRunner = FiftRunner.builder().build(); + + String result = fiftRunner.run(fiftFile.getParent(), "-s", absolutePath, "EQDkZIvi6fkgNVxLOgw5hzquGhxhUvhvJ4B836p-NQ-iLKCv"); + log.info("output: {}", result); + + result = fiftRunner.run(fiftFile.getParent(), "-s", absolutePath, "Ef--_tW1zCy5ehTig0JrBEAiE67bbnSmqVtkuU8FFqlNUT9n"); + log.info("output: {}", result); + + result = fiftRunner.run(fiftFile.getParent(), "-s", absolutePath, "-1:0000d5b5cc2cb97a14e283426b04402213aedb6e74a6a95b64b94f0516a90000"); + log.info("output: {}", result); + + result = fiftRunner.run(fiftFile.getParent(), "-s", absolutePath, "EQCnuv-ZuR0QsIh5vwxUBuzzocSowbCa7ctdwl6QizBKzGVM"); + log.info("output: {}", result); + } +} diff --git a/address/src/test/resources/test-address.fif b/address/src/test/resources/test-address.fif new file mode 100644 index 00000000..ae801b88 --- /dev/null +++ b/address/src/test/resources/test-address.fif @@ -0,0 +1,22 @@ +#!/usr/bin/fift -s +"TonUtil.fif" include +"Asm.fif" include + +$1 $>smca 0= abort"bad address" +rot . swap x. . cr + +$1 $>smca +constant result +constant flags +constant wallet_addr +constant wc + +."result: " result . cr +."flags: " flags . cr +."wallet_addr: " wallet_addr x. cr +."wc: " wc . cr +."Source wallet address = " wc wallet_addr .addr cr +."Non-bounceable address (for init only): " wc wallet_addr 1 .Addr cr +."Bounceable address (for later access): " wc wallet_addr 0 .Addr cr +."Non-bounceable address, Base64url (for init): " wc wallet_addr 5 .Addr cr +."Bounceable address, Base64url (for later access): " wc wallet_addr 4 .Addr cr \ No newline at end of file diff --git a/tonconnect/src/main/java/org/ton/java/tonconnect/Domain.java b/tonconnect/src/main/java/org/ton/java/tonconnect/Domain.java index d431487a..838275f5 100644 --- a/tonconnect/src/main/java/org/ton/java/tonconnect/Domain.java +++ b/tonconnect/src/main/java/org/ton/java/tonconnect/Domain.java @@ -9,7 +9,7 @@ @Setter @Getter @ToString -class Domain { +public class Domain { private int lengthBytes; private String value; } diff --git a/tonconnect/src/main/java/org/ton/java/tonconnect/TonProof.java b/tonconnect/src/main/java/org/ton/java/tonconnect/TonProof.java index 50ce0727..7f7a72d0 100644 --- a/tonconnect/src/main/java/org/ton/java/tonconnect/TonProof.java +++ b/tonconnect/src/main/java/org/ton/java/tonconnect/TonProof.java @@ -9,7 +9,7 @@ @Setter @Getter @ToString -class TonProof { +public class TonProof { private long timestamp; private Domain domain; private String signature; // Base64UrlSafe diff --git a/tonconnect/src/main/java/org/ton/java/tonconnect/WalletAccount.java b/tonconnect/src/main/java/org/ton/java/tonconnect/WalletAccount.java index 65b43bd8..7a546aad 100644 --- a/tonconnect/src/main/java/org/ton/java/tonconnect/WalletAccount.java +++ b/tonconnect/src/main/java/org/ton/java/tonconnect/WalletAccount.java @@ -9,7 +9,7 @@ @Setter @Getter @ToString -class WalletAccount { +public class WalletAccount { private String address; private String publicKey; private int chain;