From eb1e0237723796ba1d64f1cfcead5b0de6079fb6 Mon Sep 17 00:00:00 2001 From: Sauli Ketola Date: Sun, 30 Jul 2023 19:24:55 +0300 Subject: [PATCH] use local testnet for integration tests and examples --- .github/workflows/maven.yml | 2 + README.md | 7 ++ docker/validator-testnet/docker-compose.yaml | 87 +++++++++++++++++++ .../validator_node_template.yaml | 32 +++++++ .../java/dev/jlibra/client/views/Account.java | 3 - .../jsonrpc/LibraJsonRpcClientTest.java | 2 +- .../src/test/resources/batch_response_ok.json | 3 +- .../java/dev/jlibra/example/AsyncExample.java | 8 +- .../jlibra/example/BatchRequestExample.java | 2 +- .../CreateChildVaspAccountExample.java | 8 +- .../example/DualAttestationExample.java | 7 +- .../example/GetAccountStateExample.java | 2 +- ...untTransactionBySequenceNumberExample.java | 2 +- .../GetAccountTransactionsExample.java | 2 +- .../example/GetEventsByEventKeyExample.java | 2 +- .../jlibra/example/GetStateProofExample.java | 2 +- .../example/GetTransactionsExample.java | 2 +- .../jlibra/example/KeyRotationExample.java | 8 +- .../java/dev/jlibra/example/MintExample.java | 6 +- .../dev/jlibra/example/TransferExample.java | 4 +- .../example/TransferMultisigExample.java | 4 +- .../BatchRequestIntegrationTest.java | 2 +- .../MultisigTransactionTest.java | 7 +- 23 files changed, 169 insertions(+), 35 deletions(-) create mode 100644 docker/validator-testnet/docker-compose.yaml create mode 100644 docker/validator-testnet/validator_node_template.yaml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 6fcb27b9..e464a00f 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -26,5 +26,7 @@ jobs: java-version: 11 distribution: 'temurin' cache: 'maven' + - name: Start containers + run: export IMAGE_TAG=release-1.1_639d5ab4 && docker-compose -f "docker/validator-testnet/docker-compose.yaml" up -d - name: Build with Maven run: mvn -B package --file pom.xml diff --git a/README.md b/README.md index a4a2ee1c..04947843 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,13 @@ JLibra simplifies integration to Diem but does not hide any features of the Diem * Clone this repo * Build project with `mvn install` (this is important because the project contains classes that will be created during the Maven build and simply checking the project out is not enough) +## Start a local Diem instance +A running local instance is required for the examples and the integration tests + +* `cd docker/validator-testnet` +* define the Diem version to use `export IMAGE_TAG=release-1.1_639d5ab4` +* `docker-compose up` + ## Try the examples Start sample Main classes in `dev.jlibra.example` package for examples (for a complete example with creating accounts to moving coins between them check the [how to](https://github.com/ketola/jlibra/blob/master/docs/HOWTO.md)) diff --git a/docker/validator-testnet/docker-compose.yaml b/docker/validator-testnet/docker-compose.yaml new file mode 100644 index 00000000..aad3a3b7 --- /dev/null +++ b/docker/validator-testnet/docker-compose.yaml @@ -0,0 +1,87 @@ +# This compose file defines a single validator node test network, +# along with a faucet that connects to it over json-rpc. +# In addition, it offers the following facilities: +# * JSON-RPC endpoint at http://127.0.0.1:8080. +# * chain_id of 4 / TESTING +# * The faucet can be accessed at 127.0.0.1:8000 + +# Additional information: +# * If you use this compose for different Diem Networks, you will need remove the db volume first. +# * If you would like to use the current Diem version within this repository, execute the +# `build.sh` in `docker/validator` and change the image tag below to diem_e2e:latest +# * Validator images can be found at https://hub.docker.com/r/devnet/validator/tags +# * Faucet images can be found at https://hub.docker.com/r/devnet/faucet/tags + +# Monitoring: +# If you want to install the monitoring components for your validator-testnet +# you can symlink the ../monitoring folder into this directory. +# Note that you will need to rename the monitoring docker-compose.yaml file to avoid duplication. +# e.g. rename it to docker-compose.mon.yaml +# You will also need to configure the network in the monitoring compose file, +# so that the container can join the same network and talk to each other. +# To start both validator and monitoring, run `docker-compose -f docker-compose.yaml -f docker-compose.mon.yaml up -d` + +version: "3.8" +services: + validator: + # Note this image currently does not support this, will update to the appropriate minimum + # version shortly + image: "diem/validator:${IMAGE_TAG:-devnet}" + networks: + shared: + volumes: + - type: volume + source: diem-shared + target: /opt/diem/var + - type: bind + source: ./validator_node_template.yaml + target: /opt/diem/var/validator_node_template.yaml + command: ["/opt/diem/bin/diem-node", "--test", "--config", "/opt/diem/var"] + ports: + - "8080:8080" + expose: + - 9101 + + faucet: + image: "diem/faucet:${IMAGE_TAG:-devnet}" + depends_on: + - validator + networks: + shared: + volumes: + - type: volume + source: diem-shared + target: /opt/diem/var + command: > + /bin/bash -c " + for i in {1..10} + do + if [[ -s /opt/diem/var/mint.key ]] + then + /opt/diem/bin/diem-faucet \ + --address 0.0.0.0 \ + --port 8000 \ + --chain-id TESTING \ + --mint-key-file-path /opt/diem/var/mint.key \ + --server-url http://validator:8080/v1 + exit $$? + else + echo 'Validator has not populated mint.key yet. Is it running?' + sleep 1 + fi + done + exit 1 + " + ports: + - "8000:8000" + +networks: + shared: + name: "diem-docker-compose-shared" + ipam: + config: + - subnet: 172.16.1.0/24 + +volumes: + diem-shared: + name: diem-shared diff --git a/docker/validator-testnet/validator_node_template.yaml b/docker/validator-testnet/validator_node_template.yaml new file mode 100644 index 00000000..125390d6 --- /dev/null +++ b/docker/validator-testnet/validator_node_template.yaml @@ -0,0 +1,32 @@ +consensus: + # The following slow consensus down when there are no active transactions to process + round_initial_timeout_ms: 20000 + mempool_poll_count: 333 + +# The rest of this config is copy paste of config/src/config/test_data/validator.yaml +validator_network: + listen_address: "/ip4/0.0.0.0/tcp/6180" + identity: + type: "from_storage" + key_name: "validator_network" + peer_id_name: "owner_account" + backend: + type: "vault" + server: "https://127.0.0.1:8200" + ca_certificate: "/full/path/to/certificate" + token: + from_disk: "/full/path/to/token" + +full_node_networks: + - listen_address: "/ip4/0.0.0.0/tcp/7180" + identity: + type: "from_storage" + key_name: "fullnode_network" + peer_id_name: "owner_account" + backend: + type: "vault" + server: "https://127.0.0.1:8200" + token: + from_disk: "/full/path/to/token" + network_id: + private: "vfn" diff --git a/jlibra-core/src/main/java/dev/jlibra/client/views/Account.java b/jlibra-core/src/main/java/dev/jlibra/client/views/Account.java index 12868cd7..91e37e5d 100644 --- a/jlibra-core/src/main/java/dev/jlibra/client/views/Account.java +++ b/jlibra-core/src/main/java/dev/jlibra/client/views/Account.java @@ -43,7 +43,4 @@ public interface Account { @JsonProperty("is_frozen") Boolean isFrozen(); - @JsonProperty("version") - Long version(); - } diff --git a/jlibra-core/src/test/java/dev/jlibra/client/jsonrpc/LibraJsonRpcClientTest.java b/jlibra-core/src/test/java/dev/jlibra/client/jsonrpc/LibraJsonRpcClientTest.java index 24c6a9ca..79ebe6b0 100644 --- a/jlibra-core/src/test/java/dev/jlibra/client/jsonrpc/LibraJsonRpcClientTest.java +++ b/jlibra-core/src/test/java/dev/jlibra/client/jsonrpc/LibraJsonRpcClientTest.java @@ -34,7 +34,7 @@ public void setUp() { public void testGetAccount() throws Exception { HttpResponse httpResponse = mock(HttpResponse.class); when(httpResponse.body()).thenReturn( - "{\"diem_chain_id\":2,\"diem_ledger_version\":4867582,\"diem_ledger_timestampusec\":1604134778415882,\"jsonrpc\":\"2.0\",\"id\":\"5e0a1c17-d3ca-4813-817e-92f0680ccfdc\",\"result\":{\"address\":\"b3f7e8e38f8c8393f281a2f0792a2849\",\"authentication_key\":\"c0c19d6b1d48371ea28f0cdc5f74bba7b3f7e8e38f8c8393f281a2f0792a2849\",\"balances\":[{\"amount\":500000000,\"currency\":\"Coin1\"}],\"delegated_key_rotation_capability\":false,\"delegated_withdrawal_capability\":false,\"is_frozen\":false,\"received_events_key\":\"0200000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"role\":{\"base_url\":\"\",\"base_url_rotation_events_key\":\"0100000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"compliance_key\":\"\",\"compliance_key_rotation_events_key\":\"0000000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"expiration_time\":18446744073709551615,\"human_name\":\"No. 307\",\"num_children\":0,\"type\":\"parent_vasp\"},\"sent_events_key\":\"0300000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"sequence_number\":0,\"version\":1}}"); + "{\"diem_chain_id\":2,\"diem_ledger_version\":4867582,\"diem_ledger_timestampusec\":1604134778415882,\"jsonrpc\":\"2.0\",\"id\":\"5e0a1c17-d3ca-4813-817e-92f0680ccfdc\",\"result\":{\"address\":\"b3f7e8e38f8c8393f281a2f0792a2849\",\"authentication_key\":\"c0c19d6b1d48371ea28f0cdc5f74bba7b3f7e8e38f8c8393f281a2f0792a2849\",\"balances\":[{\"amount\":500000000,\"currency\":\"Coin1\"}],\"delegated_key_rotation_capability\":false,\"delegated_withdrawal_capability\":false,\"is_frozen\":false,\"received_events_key\":\"0200000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"role\":{\"base_url\":\"\",\"base_url_rotation_events_key\":\"0100000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"compliance_key\":\"\",\"compliance_key_rotation_events_key\":\"0000000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"expiration_time\":18446744073709551615,\"human_name\":\"No. 307\",\"num_children\":0,\"type\":\"parent_vasp\"},\"sent_events_key\":\"0300000000000000b3f7e8e38f8c8393f281a2f0792a2849\",\"sequence_number\":0}}"); when(httpClient.sendAsync(Mockito.any(), Mockito.any())) .thenReturn(CompletableFuture.completedFuture(httpResponse)); diff --git a/jlibra-core/src/test/resources/batch_response_ok.json b/jlibra-core/src/test/resources/batch_response_ok.json index 45655710..0aef1265 100644 --- a/jlibra-core/src/test/resources/batch_response_ok.json +++ b/jlibra-core/src/test/resources/batch_response_ok.json @@ -221,8 +221,7 @@ "type": "parent_vasp" }, "sent_events_key": "0300000000000000b3f7e8e38f8c8393f281a2f0792a2849", - "sequence_number": 0, - "version": 1 + "sequence_number": 0 } } ] \ No newline at end of file diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/AsyncExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/AsyncExample.java index e701bd61..2b2ef17b 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/AsyncExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/AsyncExample.java @@ -42,7 +42,7 @@ public static void main(String[] args) throws Exception { Security.addProvider(new BouncyCastleProvider()); DiemAsyncClient client = DiemAsyncClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); // Note: minting and account creations is not done asynchronously, we just need @@ -83,9 +83,11 @@ public static void main(String[] args) throws Exception { private static void createAccount(AuthenticationKey authKey) { DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") + .build(); + Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") .build(); - Faucet faucet = Faucet.builder().build(); faucet.mint(authKey, 100L * 1_000_000L, CURRENCY); Wait.until(Conditions.accountExists(AccountAddress.fromAuthenticationKey(authKey), client)); } diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/BatchRequestExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/BatchRequestExample.java index 04e87901..2783840e 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/BatchRequestExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/BatchRequestExample.java @@ -26,7 +26,7 @@ public static void main(String[] args) throws Exception { String address = "79153273a34e0aadf26c963367973760"; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); // 1. Create a new batch request diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/CreateChildVaspAccountExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/CreateChildVaspAccountExample.java index 2b8e94f9..bf348d96 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/CreateChildVaspAccountExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/CreateChildVaspAccountExample.java @@ -53,9 +53,11 @@ public static void main(String[] args) throws Exception { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") + .build(); + Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") .build(); - Faucet faucet = Faucet.builder().build(); KeyPair parentVaspKeyPair = generateKeyPair(); @@ -100,7 +102,7 @@ public static void main(String[] args) throws Exception { .addArguments(childAccountArgument, authKeyPrefixArgument, createAllCurrenciesArgument, initialBalanceArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); SignedTransaction signedTransaction = ImmutableSignedTransaction.builder() diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/DualAttestationExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/DualAttestationExample.java index 58281bf1..7d2e9a3e 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/DualAttestationExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/DualAttestationExample.java @@ -51,9 +51,10 @@ public static void main(String[] args) throws Exception { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") .build(); KeyPairGenerator kpGen = KeyPairGenerator.getInstance("Ed25519", "BC"); @@ -141,7 +142,7 @@ private static void transferFromVaspToVasp(DiemClient client, KeyPair sourceKeyP .typeArguments(asList(Struct.typeTagForCurrency(CURRENCY))) .addArguments(addressArgument, amountArgument, metadataArgument, signatureArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); Signature signature = Signature.signTransaction(transaction, sourceKeyPair.getPrivate()); @@ -184,7 +185,7 @@ private static void rotateDualAttestationInfoForVaspAccount(DiemClient client, K .code(Move.rotateDualAttestationInfo()) .addArguments(newUrlArgument, compliancePublicKey) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); Signature signature = Signature.signTransaction(transaction, parentVaspKeyPair.getPrivate()); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountStateExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountStateExample.java index 04527fbe..4a5cafc7 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountStateExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountStateExample.java @@ -15,7 +15,7 @@ public static void main(String[] args) throws Exception { String address = "79153273a34e0aadf26c963367973760"; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); Account accountView = client.getAccount(AccountAddress.fromHexString(address)); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionBySequenceNumberExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionBySequenceNumberExample.java index d204909a..ffd928c1 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionBySequenceNumberExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionBySequenceNumberExample.java @@ -16,7 +16,7 @@ public static void main(String[] args) { int sequenceNumber = 0; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); Transaction t = client.getAccountTransaction(AccountAddress.fromHexString(address), sequenceNumber, true); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionsExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionsExample.java index d6ecbc0d..1c4ade80 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionsExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetAccountTransactionsExample.java @@ -17,7 +17,7 @@ public static void main(String[] args) { String address = "9ed85589fb5617a18521636181a12b88"; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); List transactions = client.getAccountTransactions(AccountAddress.fromHexString(address), 0, 5, diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetEventsByEventKeyExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetEventsByEventKeyExample.java index 811732ca..d8786b15 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetEventsByEventKeyExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetEventsByEventKeyExample.java @@ -16,7 +16,7 @@ public static void main(String[] args) { String eventKey = "00000000000000000000000000000000000000000a550c18"; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); List events = client.getEvents(eventKey, 0, 10); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetStateProofExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetStateProofExample.java index 6448824d..67124866 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetStateProofExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetStateProofExample.java @@ -11,7 +11,7 @@ public class GetStateProofExample { public static void main(String[] args) { DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); StateProof stateProof = client.getStateProof(324); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/GetTransactionsExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/GetTransactionsExample.java index 9f300726..05b1ee97 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/GetTransactionsExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/GetTransactionsExample.java @@ -24,7 +24,7 @@ public static void main(String[] args) { boolean fetchEvent = true; DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); List transactions = client.getTransactions(start, limit, fetchEvent); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/KeyRotationExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/KeyRotationExample.java index f7ac8c4f..47d2832d 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/KeyRotationExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/KeyRotationExample.java @@ -41,10 +41,12 @@ public class KeyRotationExample { public static void main(String[] args) throws Exception { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); - Faucet faucet = Faucet.builder().build(); + Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") + .build(); /* * Create a key pair, calculate the libra address and add some coins to the @@ -157,7 +159,7 @@ private static void rotateAuthenticationKey(BCEdDSAPrivateKey privateKey, .code(Move.rotateAuthenticationKey()) .addArguments(newAuthenticationKeyArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); SignedTransaction signedTransaction = ImmutableSignedTransaction.builder() diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/MintExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/MintExample.java index c187ab3f..2e00fe2b 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/MintExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/MintExample.java @@ -33,11 +33,13 @@ public static void main(String[] args) { AuthenticationKey authenticationKey = AuthenticationKey .fromHexString("71967329878ac3bb3b8e30a0aa389761133b573e1450c9e05c31a9041a6fcc67"); - Faucet faucet = Faucet.builder().build(); + Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") + .build(); faucet.mint(authenticationKey, 100L * 1_000_000L, CURRENCY); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); Wait.until(accountHasPositiveBalance(AccountAddress.fromAuthenticationKey(authenticationKey), client)); diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/TransferExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/TransferExample.java index dfba2487..98d421b1 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/TransferExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/TransferExample.java @@ -51,7 +51,7 @@ public static void main(String[] args) { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); PrivateKey privateKey = KeyUtils.privateKeyFromByteSequence(ByteArray.from( @@ -99,7 +99,7 @@ public static void main(String[] args) { .addArguments(addressArgument, amountArgument, metadataArgument, signatureArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); SignedTransaction signedTransaction = ImmutableSignedTransaction.builder() diff --git a/jlibra-examples/src/main/java/dev/jlibra/example/TransferMultisigExample.java b/jlibra-examples/src/main/java/dev/jlibra/example/TransferMultisigExample.java index 2de1cb15..c5a0883e 100644 --- a/jlibra-examples/src/main/java/dev/jlibra/example/TransferMultisigExample.java +++ b/jlibra-examples/src/main/java/dev/jlibra/example/TransferMultisigExample.java @@ -89,7 +89,7 @@ public static void main(String[] args) throws Exception { .typeArguments(asList(Struct.typeTagForCurrency(CURRENCY))) .addArguments(addressArgument, amountArgument, metadataArgument, signatureArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); Signature signature = Signature.newMultisignature(); @@ -105,7 +105,7 @@ public static void main(String[] args) throws Exception { .build(); DiemClient client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); client.submit(signedTransaction); diff --git a/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/BatchRequestIntegrationTest.java b/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/BatchRequestIntegrationTest.java index 95b4d70d..a4995ccc 100644 --- a/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/BatchRequestIntegrationTest.java +++ b/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/BatchRequestIntegrationTest.java @@ -27,7 +27,7 @@ public class BatchRequestIntegrationTest { public void setUp() { Security.addProvider(new BouncyCastleProvider()); client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); } diff --git a/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/MultisigTransactionTest.java b/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/MultisigTransactionTest.java index de9a96a9..26e4d9df 100644 --- a/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/MultisigTransactionTest.java +++ b/jlibra-integration-tests/src/test/java/dev/jlibra/integrationtest/MultisigTransactionTest.java @@ -59,13 +59,14 @@ public class MultisigTransactionTest { public void setUp() { Security.addProvider(new BouncyCastleProvider()); client = DiemClient.builder() - .withUrl("https://testnet.diem.com/v1") + .withUrl("http://localhost:8080") .build(); } @Test public void testMultisigTransaction() { Faucet faucet = Faucet.builder() + .withUrl("http://localhost:8000") .build(); // source account, multisig account with 32 keypairs, 30 threshold @@ -113,7 +114,7 @@ public void testMultisigTransaction() { .typeArguments(asList(Struct.typeTagForCurrency(CURRENCY))) .addArguments(addressArgument, amountArgument, metadataArgument, signatureArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); Signature signature = createSignature(keyPairs, transaction); @@ -184,7 +185,7 @@ private void createChildVaspAccount(List keyPairs, KeyPair childVaspAcc .addArguments(childAccountArgument, authKeyPrefixArgument, createAllCurrenciesArgument, initialBalanceArgument) .build()) - .chainId(ChainId.TESTNET) + .chainId(ChainId.TESTING) .build(); Signature signature = createSignature(keyPairs, transaction);