From 074d1426778ddafd008ee587c760d5506e27794d Mon Sep 17 00:00:00 2001 From: Ss Date: Fri, 8 Oct 2021 02:55:56 +1100 Subject: [PATCH 1/3] Added new methods in the Query Service and CasperSdk corresponding to the functionality required in Casper Integrations. --- build.gradle | 16 + src/main/java/com/casper/sdk/Properties.java | 5 + .../com/casper/sdk/controller/CasperSdk.java | 20 + .../com/casper/sdk/service/MethodEnums.java | 55 ++ .../com/casper/sdk/service/QueryService.java | 59 +- .../java/com/casper/sdk/TestQueryService.java | 83 +++ .../method-json/chain_get_block.json | 429 ++++++++++++++ .../chain_get_block_transfers.json | 20 + .../chain_get_era_info_by_switch_block.json | 553 ++++++++++++++++++ .../method-json/info_get_deploy.json | 207 +++++++ 10 files changed, 1444 insertions(+), 3 deletions(-) create mode 100644 src/test/resources/method-json/chain_get_block.json create mode 100644 src/test/resources/method-json/chain_get_block_transfers.json create mode 100644 src/test/resources/method-json/chain_get_era_info_by_switch_block.json create mode 100644 src/test/resources/method-json/info_get_deploy.json diff --git a/build.gradle b/build.gradle index 63721ad..15510a6 100644 --- a/build.gradle +++ b/build.gradle @@ -63,6 +63,22 @@ task casperJar(type: Jar) { with jar } +task casperFatJar(type: Jar) { + archiveBaseName = 'casper-java-sdk' + archiveVersion = '0.3.0' + manifest.from jar.manifest + archiveClassifier = 'all' + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } { + exclude "META-INF/*.SF" + exclude "META-INF/*.DSA" + exclude "META-INF/*.RSA" + } + with jar +} + + test { useJUnitPlatform() } diff --git a/src/main/java/com/casper/sdk/Properties.java b/src/main/java/com/casper/sdk/Properties.java index 6ca09e3..394b166 100644 --- a/src/main/java/com/casper/sdk/Properties.java +++ b/src/main/java/com/casper/sdk/Properties.java @@ -14,6 +14,11 @@ public class Properties { public static String STATE_GET_AUCTION_INFO = "state_get_auction_info"; public static String INFO_GET_PEERS = "info_get_peers"; public static String INFO_GET_STATUS = "info_get_status"; + public static String INFO_GET_DEPLOY = "info_get_deploy"; + public static String CHAIN_GET_BLOCK = "chain_get_block"; + public static String CHAIN_GET_BLOCK_TRANSFERS = "chain_get_block_transfers"; + public static String CHAIN_GET_ERA_INFO_BY_SWITCH_BLOCK = "chain_get_era_info_by_switch_block"; + public static String RPC_DISCOVER = "rpc.discover"; public static Map properties = new HashMap<>(); diff --git a/src/main/java/com/casper/sdk/controller/CasperSdk.java b/src/main/java/com/casper/sdk/controller/CasperSdk.java index 667028e..032b26b 100644 --- a/src/main/java/com/casper/sdk/controller/CasperSdk.java +++ b/src/main/java/com/casper/sdk/controller/CasperSdk.java @@ -53,4 +53,24 @@ public String getNodePeers() throws Throwable { return queryService.getNodePeers(); } + public String getBlock() throws Throwable { + return queryService.getBlock(); + } + + public String getBlockTransfers() throws Throwable { + return queryService.getBlockTransfers(); + } + + public String getDeployInfo(final String deployHash) throws Throwable { + return queryService.getDeployInfo(deployHash); + } + + public String getEraInfoBySwitchBlock() throws Throwable { + return queryService.getEraInfoBySwitchBlock(); + } + + public String getRpcSchema() throws Throwable { + return queryService.getRpcSchema(); + } + } diff --git a/src/main/java/com/casper/sdk/service/MethodEnums.java b/src/main/java/com/casper/sdk/service/MethodEnums.java index 1ba01a0..ce51431 100644 --- a/src/main/java/com/casper/sdk/service/MethodEnums.java +++ b/src/main/java/com/casper/sdk/service/MethodEnums.java @@ -17,6 +17,7 @@ public enum MethodEnums { @Override public String getValue(final String result) throws ValueNotFoundException { try{ + System.out.println(result); final JsonNode node = new ObjectMapper().readTree(result); return node.get("result").get("state_root_hash").textValue(); } catch (Exception e){ @@ -78,6 +79,60 @@ public String getValue(final String result) throws ValueNotFoundException { throw new ValueNotFoundException("result not found"); } } + }, + CHAIN_GET_BLOCK{ + @Override + public String getValue(final String result) throws ValueNotFoundException { + try{ + final JsonNode node = new ObjectMapper().readTree(result); + return node.get("result").toPrettyString(); + } catch (Exception e){ + throw new ValueNotFoundException("result not found"); + } + } + },CHAIN_GET_BLOCK_TRANSFERS{ + @Override + public String getValue(final String result) throws ValueNotFoundException { + try{ + final JsonNode node = new ObjectMapper().readTree(result); + return node.get("result").toPrettyString(); + } catch (Exception e){ + throw new ValueNotFoundException("result not found"); + } + } + },INFO_GET_DEPLOY{ + @Override + public String getValue(final String result) throws ValueNotFoundException { + try{ + System.out.println(result); + final JsonNode node = new ObjectMapper().readTree(result); + return node.get("result").toPrettyString(); + } catch (Exception e){ + throw new ValueNotFoundException("result not found"); + } + } + },CHAIN_GET_ERA_INFO_BY_SWITCH_BLOCK{ + @Override + public String getValue(final String result) throws ValueNotFoundException { + try{ + System.out.println(result); + final JsonNode node = new ObjectMapper().readTree(result); + return node.get("result").toPrettyString(); + } catch (Exception e){ + throw new ValueNotFoundException("result not found"); + } + } + },RPC_DISCOVER { + @Override + public String getValue(final String result) throws ValueNotFoundException { + try { + System.out.println(result); + final JsonNode node = new ObjectMapper().readTree(result); + return node.get("result").toPrettyString(); + } catch (Exception e) { + throw new ValueNotFoundException("result not found"); + } + } }; private static final List MAP = new ArrayList<>(); diff --git a/src/main/java/com/casper/sdk/service/QueryService.java b/src/main/java/com/casper/sdk/service/QueryService.java index 62961ac..a3cd222 100644 --- a/src/main/java/com/casper/sdk/service/QueryService.java +++ b/src/main/java/com/casper/sdk/service/QueryService.java @@ -1,7 +1,5 @@ package com.casper.sdk.service; -import static com.casper.sdk.Properties.*; - import com.casper.sdk.service.http.rpc.HttpMethods; import com.casper.sdk.service.http.rpc.Method; @@ -9,6 +7,8 @@ import java.util.HashMap; import java.util.Optional; +import static com.casper.sdk.Properties.*; + /** * Service to query the chain * Methods call the HTTP methods with an instantiated method object @@ -62,7 +62,8 @@ public String getAccountBalance(final String accountKey) throws Throwable { public String getAccountMainPurseURef(final String accountKey) throws Throwable { final Optional result = httpMethods.rpcCallMethod(new Method(STATE_GET_ITEM, - new HashMap<>() { { + new HashMap<>() { + { put("state_root_hash", getStateRootHash()); put("key", "account-hash-" + HashService.getAccountHash(accountKey)); put("path", Collections.emptyList()); @@ -104,5 +105,57 @@ public String getNodeStatus() throws Throwable { } + public String getBlock() throws Throwable { + + final Optional result = httpMethods.rpcCallMethod(new Method(CHAIN_GET_BLOCK, + new HashMap<>())); + + return (result.isEmpty()) ? null + : MethodEnums.CHAIN_GET_BLOCK.getValue(result.get()); + + } + + public String getBlockTransfers() throws Throwable { + + final Optional result = httpMethods.rpcCallMethod(new Method(CHAIN_GET_BLOCK_TRANSFERS, + new HashMap<>())); + + return (result.isEmpty()) ? null + : MethodEnums.CHAIN_GET_BLOCK_TRANSFERS.getValue(result.get()); + + } + + public String getDeployInfo(String deployHash) throws Throwable { + + final Optional result = httpMethods.rpcCallMethod(new Method(INFO_GET_DEPLOY, + new HashMap<>() { + { + put("deploy_hash", deployHash); + } + })); + + return (result.isEmpty()) ? null + : MethodEnums.INFO_GET_DEPLOY.getValue(result.get()); + + } + + public String getEraInfoBySwitchBlock() throws Throwable { + + final Optional result = httpMethods.rpcCallMethod(new Method(CHAIN_GET_ERA_INFO_BY_SWITCH_BLOCK, + new HashMap<>())); + return (result.isEmpty()) ? null + : MethodEnums.CHAIN_GET_ERA_INFO_BY_SWITCH_BLOCK.getValue(result.get()); + + } + + public String getRpcSchema() throws Throwable { + + final Optional result = httpMethods.rpcCallMethod(new Method(RPC_DISCOVER, + new HashMap<>())); + + return (result.isEmpty()) ? null + : MethodEnums.RPC_DISCOVER.getValue(result.get()); + + } } diff --git a/src/test/java/com/casper/sdk/TestQueryService.java b/src/test/java/com/casper/sdk/TestQueryService.java index 09137ba..4c62df4 100644 --- a/src/test/java/com/casper/sdk/TestQueryService.java +++ b/src/test/java/com/casper/sdk/TestQueryService.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import com.casper.sdk.service.QueryService; import com.fasterxml.jackson.databind.JsonNode; @@ -136,6 +137,78 @@ public void testGetNodeStatus() throws Throwable { } + @Test + public void testGetBlock() throws Throwable { + + Properties.properties.put("node-url", url); + Properties.properties.put("node-port", String.valueOf(mockBackEnd.getPort())); + + mockBackEnd.setDispatcher( + new MethodDispatcher()); + + String block = query.getBlock(); + assertNotNull(block); + + } + + @Test + public void testGetBlockTransfers() throws Throwable { + + Properties.properties.put("node-url", url); + Properties.properties.put("node-port", String.valueOf(mockBackEnd.getPort())); + + mockBackEnd.setDispatcher( + new MethodDispatcher()); + + String blockTransfers = query.getBlockTransfers(); + assertNotNull(blockTransfers); + + } + + @Test + public void testGetEraInfoBySwitchBlock() throws Throwable { + + Properties.properties.put("node-url", url); + Properties.properties.put("node-port", String.valueOf(mockBackEnd.getPort())); + + mockBackEnd.setDispatcher( + new MethodDispatcher()); + + String eraInfoBySwitchBlock = query.getEraInfoBySwitchBlock(); + assertNotNull(eraInfoBySwitchBlock); + + } + + @Test + public void testGetDeployInfo() throws Throwable { + + Properties.properties.put("node-url", url); + Properties.properties.put("node-port", String.valueOf(mockBackEnd.getPort())); + + String deployHash = "6c4048f8ebd40a160e9df47e73680eda8ae8430309a9566655bb357a5967276b"; + + mockBackEnd.setDispatcher( + new MethodDispatcher()); + + String deployInfo = query.getDeployInfo(deployHash); + assertNotNull(deployInfo); + + } + + @Test + public void testGetRpcSchema() throws Throwable { + + Properties.properties.put("node-url", url); + Properties.properties.put("node-port", String.valueOf(mockBackEnd.getPort())); + + mockBackEnd.setDispatcher( + new MethodDispatcher()); + + String rpcSchema = query.getRpcSchema(); + assertNotNull(rpcSchema); + + } + private static final class MethodDispatcher extends Dispatcher{ @@ -159,6 +232,16 @@ public MockResponse dispatch(RecordedRequest request) { responseBodyFile = "method-json/info_get_peers.json"; } else if (request.getBody().toString().contains("info_get_status")){ responseBodyFile = "method-json/info_get_status.json"; + } else if (request.getBody().toString().contains("chain_get_block")){ + responseBodyFile = "method-json/chain_get_block.json"; + } else if (request.getBody().toString().contains("chain_get_block_transfers")){ + responseBodyFile = "method-json/chain_get_block_transfers.json"; + } else if (request.getBody().toString().contains("chain_get_era_info_by_switch_b")){ + responseBodyFile = "method-json/chain_get_era_info_by_switch_block.json"; + } else if (request.getBody().toString().contains("info_get_deploy")){ + responseBodyFile = "method-json/info_get_deploy.json"; + } else if (request.getBody().toString().contains("rpc.discover")){ + responseBodyFile = "method-json/rpc_discover.json"; } return new MockResponse().setResponseCode(200) diff --git a/src/test/resources/method-json/chain_get_block.json b/src/test/resources/method-json/chain_get_block.json new file mode 100644 index 0000000..a90cd2e --- /dev/null +++ b/src/test/resources/method-json/chain_get_block.json @@ -0,0 +1,429 @@ +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "api_version": "1.1.0", + "block": { + "hash": "b87508a6c867647137b825775134a6928dc4008689d67dad2e1cc3d62170774e", + "header": { + "parent_hash": "e898a05e87b0266dc501479f2365f4e6092ae8fd539d5f2c79b8225d6850222e", + "state_root_hash": "51c24b09b7574e4e1dcb0599cd3a80e65db098283bcb0398523488a45b68efc8", + "body_hash": "2b475c3a4e2e7c443ce4d72e1fc5b2de75e471a30dbb2563ae9d614faa8ab2a4", + "random_bit": false, + "accumulated_seed": "5f4d41530a3920d89dede58635d7acead84c4265e55114750873e31e72de0082", + "era_end": null, + "timestamp": "2021-05-01T22:44:43.136Z", + "era_id": 273, + "height": 20612, + "protocol_version": "1.1.0" + }, + "body": { + "proposer": "0144e35abc4886168a53338539a8a3649ab1257d9f0c235ce38961624a025d40dd", + "deploy_hashes": [], + "transfer_hashes": [] + }, + "proofs": [ + { + "public_key": "0105220d6629f6ef4484e2da5f58b6222832af8cabba4fbd7f1ad55e84a06ab319", + "signature": "01a4b5d1ea606d2ea89bb0085b1fc1084f59dfb9d64fecb76ab3b66c8ec4ddf69ef448965f906780d89ceb602d0961fe7faccfebd76747f6a684ebdcf3de0e9b01" + }, + { + "public_key": "010599781cc7010542d5dbd3124396712bf3ec8dbac3c3b41118f19b38d1228693", + "signature": "01186ebfd0b6419f33a9557488ea7956d016e51d2e5338517c846c7a33d7ccac3092ef7591713cb10f12313825e98e479679eb3093ad4a83bd84d51fa614d2d008" + }, + { + "public_key": "0105e2c338d31db049db93012f9a158993c0f5e330bf6c71ac38c165b1047af511", + "signature": "01dd6ec007f5f6d533b25e37134a56dc8da80cfc7801d757e021e96d689b474c15915a04c595ac6e00e73c2cdc1a4782bd96682785c5a5e01e4c2b2b038ac81001" + }, + { + "public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca", + "signature": "01aafe9d07e6a68c4237599f62256ef9d40a4006fead38bbf53a356636874a72956d7c1d036f201b158de2e03cf876f006d8cefc9fbd1691df3879e9292b081c05" + }, + { + "public_key": "01074597a876bc3af182c41990cc5752a1ceba49ef82c455ff9051f932d96af6b4", + "signature": "0160f12005daf02060ef1f03928960db68b8d2501e25569f56a884feb6890c7c8e7ab31e6c0cd0472de33fa5d4633dead40469262357e4af29eaede424f2288702" + }, + { + "public_key": "0107cba5b4826a87ddbe0ba8cda8064881b75882f05094c1a5f95e957512a3450e", + "signature": "010ca66b4aa5373f980f82398b94fe288da4f06520619eb4a0c33b087a013354b38092fb9458301315ed33f5879cf28d877d0eb21b718eb2c1efcf706ec3ec7c01" + }, + { + "public_key": "010b0f958cae89f265d7585f8abc67639fd68f9764390682801c744b0e126fb9b3", + "signature": "01c16a5f4d21a6e4374137f1321d9fba1a88bbda085b749e99ddf1c71b8a81dfa6c0ae1cd1d757e2335f602eff83f857e65cc88b52a78d328e6fdffbc312a9140a" + }, + { + "public_key": "010ee608c883a521ab5f1771651a3f85f81efb18eea5117e6301b2a151b4766c9c", + "signature": "016531710c45a8e88f7b60ba0b2788355ef87a02936742ce6d97e0874f709471c3b046b59c8ce6653b07eb1f96949c8be258d8c523df85e680a48b76b9375d000b" + }, + { + "public_key": "01101ef8635fb189ae3c734ca699dcbb97f7f844b9b96f260642a734b85d4c1c85", + "signature": "01809f4796dece62cd4fcd42305a5de08cf26137c6d34249ea09ba3c8a94c26d7aad47c50cb8cb3d9164fcc205b26f2273d8acbebcc52c2f322c3197f0ee2c5e00" + }, + { + "public_key": "0112357f15cf6461a772978c6fc72d93bc10c1abda3a85ee7b7feb593c785b95be", + "signature": "01736a0910dcc676e5d601bfadf089617b8ee063a776b4899ada198244ada392dbdb2223543636d67ff2cb5c0d96e06948d240e953544cc3a4bb75949fb1ed850e" + }, + { + "public_key": "011752f095ee6d2902540ea4fafd649da4b7b0c2a6e38176fb7f661a0e463d43b4", + "signature": "01239ee4a33a252d059ee65426631aa2ea20a91e1d129fbfbe8867abe2cef74074ef2d3ec5cce3ceb1823aea6d54165348175568458656504bc29eefe0a0e9a507" + }, + { + "public_key": "011813bd359421f7acf1ea0c17901727544bac87a5b4489836c83ed5ef68eee39b", + "signature": "01a0e0912f5182d6d79fa8f1673f0ac5ceb6d122917fb666798e932d55afbd93dac12364f49ce4087a3235d8e1bcc7c40c2ea1c76ec158af1ac5d353ad7016a40a" + }, + { + "public_key": "011a65da6d839ecf30e4ef24952ee84125f7a955291cd752324ea44a98b65c7614", + "signature": "01bdced63f01e78d80d564fcb1722df19f62732d9a007bb66882555877ef37471b4695c81f3e9ef736edca1498ee1e5239354ed87421a2edcf1c388177af19d50c" + }, + { + "public_key": "011bb356b5af429f397bc5b0fbc71bb2b2384d6253b7f3cda92db8758dbdc4c728", + "signature": "01fca99305763fa888824e99f8e7b04029464c475dc01a4fbaf7e94a436fb3a544ed24e286271c25c16f691d7ed160bb7de8d48c91ecfab15ac1003f526abc0d07" + }, + { + "public_key": "011f290fb7cc707728c3ab3d4ab1b4989b56e0ddb322859e062b231aed18728328", + "signature": "01bec2177fca40b2377892703f1c7497d8b01eb3016c5e663bf4eb666b9e0a8f1757e2c9399e16995f96627d1cd31ecb162a6994a78b70c872cab2ddf6d555cc0a" + }, + { + "public_key": "0122f8d85b44cc2daee730c2afa97cdd6d0b46a9e132dd18292e39f8193b24d037", + "signature": "01d74674f020da09756353efa0e30879755c007e9f8baad92196ca5db934d0158884b4b6ec460df2c86f94018d91df177ac5bc13906dc36589f3f39d91c206ff04" + }, + { + "public_key": "0124aa3964bcd0ba9911594322a534e18e36e0c2e149b148e615505316733599af", + "signature": "01c38e7fd71cb77d328a247863b82f90d07894347c9505c5225ca7bfae446d41aac0f3603b3984d44d2b4b3510af7542fb5f539a75029c94eaa38ccd53fe97d602" + }, + { + "public_key": "0124bc9f7cc9f53a34c79d7ab94f2926c7ad368ca8bcd11b2142f01a005526d2c5", + "signature": "01e6e79ee3915375a086cfc9795178b5ab4505c108e554a7df75ce1e6625a6ee90835bb8d2a7ce4122bc40a57333c07c14b3ab7c635f98dfbc638d69fe682f2a02" + }, + { + "public_key": "0125a1d61bbeb09579e5e9c2126eabfdbbce3f061251496e3674e7bf0cf2587cbb", + "signature": "0113e8d815011819367c9a24b1cd28381f02d9981bfc7c7d6e9e3d4ee03fe883e8415f5c423365f6bd5cb310c1b94262f952d122ff5c6aeeb9d9dfa07ebb3e4e0c" + }, + { + "public_key": "01267447c9ac87b4330ed3395db95efbba78394533666f29a56e8a1ec7b31abbd4", + "signature": "01b5870f618b4d8aee61baf0797109b409e282a91bf6cda1ce3ccbcdc8944a2d037d83d6f768bc59f96fe33d514cee948c766cd924620bed5d9fbb82b4cd1b7a07" + }, + { + "public_key": "01295693ba2b3822ed5d4bf06bd74858c4e3638cb17078f16781f25c1f92d34bdc", + "signature": "01c4106d77d8dac3f57f389f61143d0fcb23a4ddb6f5566d4a31140776c4559077706b84ac6eec31bd0469212220d09efedb09e1a9ed8fce9df7e8493da468dd0a" + }, + { + "public_key": "012b77bfab443aae5957d4d2d4991e55f692fa3eb56c2ac1179a188881a575292a", + "signature": "01b0b6cc6e60b0ac0e374cdeb8a9a1db5f7df2116e0a4ad59f81bcfdd1bd2298f7f59cf53d4194148937a9db6262fceb95814187791e9291c14fa82457d620610c" + }, + { + "public_key": "01318f3ec2216ff82ae0091056857e6b4acc90781f74ceb1a48c7a0d08031561a7", + "signature": "01362603e1107e445d39cea64c0bb5b65dba2a751de3137d4be4791aba350f5487a6e06567aa6e6b91c87b12148057ba3a12e65aa1cc6b1c7520ef35cb8cb08b03" + }, + { + "public_key": "0133ec9af637013c599612f57e10e544af55a43d80b27cc8c6615fe95c8842772f", + "signature": "01e64881f857d23a31991a0caca043d4f7df74aaa963922db009aee9077a53555613b65c21e89305d0e0e04700e63df2e1dc8b59a483f2902160a91d4d0428dd0d" + }, + { + "public_key": "0135251e59c6f01800c51c4961ef37ebd34575e28c0942fdffd2ea34b09c54f86a", + "signature": "0181002d54d5ac21fcdd11339d54a4a07d16178fb032fef168596baae9f8f0e64b9003b83ed8b740cb0a4a57289234ec5a01546e19f533067a267824776dcee901" + }, + { + "public_key": "013941026c5347ca9eb6ddfdad57d2c305c21108b2f3d97a6bb6e52440a1be9664", + "signature": "01921286bb6e72eecf4f58d7520cdef2c4b8c70a4528c8dd76060d9fdd1e38a9fb9f2e65b6dd584b6bcd05ebf8ec42b013c6b2378bbd7acf272ee910c0372e9f09" + }, + { + "public_key": "013cf6d30266728538302eb8130b2336d1caca61240c25c362c99a894fd0b43507", + "signature": "017f69ee2dc2e1d528f78ed32f6d2d6fe2e85290831345b1f25dddf6b929a1a19e9994b912d806f87cf2ea116abd5bfea81b02c94a0536098993304d566b8f4c06" + }, + { + "public_key": "013dfb779f0677436c775b38f47283cd7e462f2a8ceba2a2cec6ed00a0e8aa6bfc", + "signature": "01257e992ea57699fc9101a4f9a40f3655eaa568f9fc73c098c0bfadb452e70c1043222a5ffd191e6e3332e628d710cf8774816208eefe493822f9fa19f6b0b505" + }, + { + "public_key": "013e5702e929292627c1cde4e4e88c4e30e4e183a84b1f979ff2a5344ac6730340", + "signature": "01b579c85a3302e63f369e62f637cbb502ea6777ad352ae376d04e807c28a34b4200b980f3a843d5e140298befe8a8bdd8b12ada17de0111db2db3f53835aab408" + }, + { + "public_key": "01422b1c5ed6a39ca2901f7ead65b0b2226df337fdfde53ffc0a0d5ec2aad12181", + "signature": "0153538aaa85c58069b4e7a71640522d84e95d4df53a479c881435a9b078bd752d066b6d36444a1b2f2e4f3c456e735c76cbd557241049d30c3ede9089a461960f" + }, + { + "public_key": "0143147a8a4628eb45e906d8ab547fdef21e811bac12468e506e54724606498eab", + "signature": "011e6a47704bcda35c37358921fc810840c0101125bfa0a6740e66739ef0cd2f5056a9e060c712491edbac6a77d87c43811b3cc6de4bbbfa1660ebb97c8f67f604" + }, + { + "public_key": "01441a29bf25836949a0498cb1aa22ec7239f5221c6f291931368cddf8f740ce1b", + "signature": "014b4326ff2b7a6ae29c71db65597200aeeb0c5cb8d4fe5d771b761047be6840d1893ae2b751d09b91ec98aff128ef7e50ab06c12366c16fc6edbacdb46c433f00" + }, + { + "public_key": "0144e35abc4886168a53338539a8a3649ab1257d9f0c235ce38961624a025d40dd", + "signature": "0153b94818ac80299a498127f37c24692688d44d2a6d9a29a120f3ccfe9def0b087d804ea8a93fc9f1bbb65b11700e45fccad5b40c51bc66d03c8bdcf486867d0f" + }, + { + "public_key": "0146c61d107ffb32738fdbb837213b240bf872536f326465642e467fe6884e7cdc", + "signature": "015272f8accc5c27ec3fe755740d73548265126f765cbb0b93e851982a4f355c588690b15db530f14ba2c7d83c770bcf83bdee7ae038cb96f4beab12ae0daa0504" + }, + { + "public_key": "014879b8cf7f459939fed0ca762ae21cba6b2651f256c2c16e35b24ca1b82ad2e5", + "signature": "01c4a88d08f252e3791b6333c06a52dc62c617041433c6ac257f21d982879cf114b440d737b248ce205e10097e1fd4b2a4842617119010db0cb6ccd2bcd2507f07" + }, + { + "public_key": "014909d0c0190dea82a8a30ea073f7c1f785ecfdc773f2c4abbb37b2727a884e93", + "signature": "016622f6af63f28dbc3e95f954731cec034d324e2ea2a6d2fadd2cd4543dc1bea69effef22ef010387b0343d90a662e73d81ac82aa5667ee61f91cb3b73bfc6c05" + }, + { + "public_key": "0152b2b3cc1de020e0cfb5887d0fda5d99da5decaf98af90f13144e97d0e35eeaa", + "signature": "01e9c7c3257c9dc387bc975918a6fae4791b7a6b730819b511c2a1f20ae754ae8aa63f453d7feed6717fd65bdcd5f19fdee251e29cbe35605e833bcc8838689207" + }, + { + "public_key": "01574bc2bda20dba89bbb1cea295431bc1ca8f143b2b183196f53b919dd0494ef6", + "signature": "0106b32ccbf2591ce720718c73ef28ae1071aa61ed376949ba7b8735e4aa5972080b27f58c3978a6db6c0793b54f86fc15e39d008c5661b115c5908be8747f440f" + }, + { + "public_key": "0157f18d47996f1bbb059f2043bafea9c218d7f50e4d4dd508bc3661844300c3d1", + "signature": "013bd472a701908ea32b4c020596d763b238fb128e7a777d1fcd4a107074754660851474c1c2da7b83175c7760f03c781e9a2952d640ecab9a33f6f7d1e19a4908" + }, + { + "public_key": "01587265e95c4d895c912d3091b76d7d6034f9b5b6c38074c8f88244f65813cb0c", + "signature": "01ecb78019b0deefbc00f7acda8c51dd4fd26d6e9ed056f4c671f61b8b192ba81fac7f0e6c9953ac28da420d064f4802e9f1fe6eb60a5bacd47fa8b385e2dc6204" + }, + { + "public_key": "015da9ac1f6508be409bc6ed45bc44c6afd6d94b90d60014576418a79b61d563a2", + "signature": "01ce7d53830b4bc4340e26c0b13f5cc5e52e057831ba72c8b40e7a73272bd3ac39b564450a017378054b4d2f612e8a28b4e4737aac07c72477988c318a1cb00d06" + }, + { + "public_key": "015e8eb1a4bcbe3b6d786ca160ba5ee8d49671a3f3bb496728879370eae1c1d4c1", + "signature": "013e7172d4eba656ce05ae9a717bcd63ccd6f4e08c5496782f602e4841ba1865601b83d07810ba85f969a86a513eb77049f2f52cfec92bf55f017237655d24b305" + }, + { + "public_key": "0161c5fdc6db7ddaa7770478fcba908412bdd570fb8b5133c81b7db707400c9d47", + "signature": "01f7fd77e89848c859b2b2031066b56ab9a7fa90fb5592b55d659f0cb4043f2971c3e554672fda8cc2e0e5a7a0388771b77d323a7039d424f6e89445a59d32fa05" + }, + { + "public_key": "016adc82d5f8368829c9cd6088fdd39b46960dbf5a7f4fc18f498f5bc8637ec656", + "signature": "013bb8405384262421cbee82bd8d9940afe06ca06906b392ae9e19f371ea48fe0f5bca92aecae24f32a8f8d09024c73d70db39cea698d85807684c48828ca27f03" + }, + { + "public_key": "016c32abc5867fb9d5fac0ff6b6cdb959101a505a2e8137ea8ca07e120a4775aa8", + "signature": "01fd28aea6d25cdca8db53d15d6719bfd4c093bdd3ffde74bdf72bd91ab49ea833b424f7922a28201339871c0d254d8bd89592c490ef2a13ca15eaaec1b82acd07" + }, + { + "public_key": "016f2d5ee5c89484c8f686959ce1a6a970960d08bdf95e02a2aaec36f713d6b8be", + "signature": "0190ecc66029f439284297cb2342712d0824e64f5239639fa56c2d6db32c236c5a5cb7a6aa09ea9ff8cf5f7944f1d66a1e476918246f232692d6a8e9bd4d8e940a" + }, + { + "public_key": "016f6ed70e4a5acec750dc087674e5de2ad7b6d9595945c4059c5ca1a47d4dd3ab", + "signature": "0179a91e38a38275ab15d0989c758e43f167f2e84ca7e438fcf46628346d01704fdcb2b185b34560c3b5f6cd2734867c4f4793a96bb3aa541de719a23571fc3f05" + }, + { + "public_key": "0173939aae4f89758858c42bd207cb75cc4adf6e79d090a4500bbc7484a84d8f09", + "signature": "0123c77a59ec4d6acbd660812aec9859f0012ca1ea58df005dbee7e87542a56a219d97c62d12cdfb96285dbb49509426e04e265c33243f4d2856562027294c0a00" + }, + { + "public_key": "0178afbc7b204fcffd5c6832d0e04877a97571a7a9c8d021966df9d57c1742aa10", + "signature": "01b5d74be2724a03330efd41356b34f53508a7377047927d5ccadc0c6ce0be3575cd5647ea5b9f0b872fc197589a112623cbf1148df8549a188cd2c78e75066807" + }, + { + "public_key": "017a684f6787e78e68c0063aad5a4fb26448b340d36c0e8aa79d67d82ce03dad28", + "signature": "01b1b352ae56aadeb0b40e1416125e39ee88643fac3b0a30ab9a9927cbc78fe582f1f5f813b814b11785c2c297eb3f91603296486d7c70d2ec9013a88a07625a0a" + }, + { + "public_key": "017aecfd5ce9cb89b4c7de23a1acc57fd7ee8a724d62df8d7e76c50d85a48ffbe0", + "signature": "01f6a5baff263b741ab9208b3d4c3948f393584b620b8e3d874ab9457abe4eee2bd8685ded5ac746a069fd3be21b3177b811110549084792a17ce98298944eef01" + }, + { + "public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e", + "signature": "018f64d14c1bd3a5072d7e54280b106cca86577dbed5e6c9181f16e9268036176a905b0e6389d9c5b9fe874d564d147f32c568b9c2f07567034e0611b161d3fd08" + }, + { + "public_key": "017d9aa0b86413d7ff9a9169182c53f0bacaa80d34c211adab007ed4876af17077", + "signature": "01f16ad7ac8583c2df206404c93f93a4c10d9b5da4bc9f9be04d31cc2b767bbe617c80faf9324916cc7cdce8ba15d854557f9338a5ef6cd3df621d189d09ce060a" + }, + { + "public_key": "018210173344167e081825b3d646da040166d65e45db0e84d80be046fbfa9eea40", + "signature": "0169e549fbc1006e038483f75028cefea2b78709f6129489f0b194581ddbaf2ce25de3fe798d132be124f7bb7979794e1aa6cf8da086a53a4595ce979136c2e807" + }, + { + "public_key": "01852d06432105b182c299a721cffd3ebb9ccbc5060c9bd503594b1899506bcf4a", + "signature": "01fa34e68c4f1667ae9c876e7b5f6b16f020118a418aae8ea0c55bb75ffd974de98461e5283d0e085ac8aa43b1b4d80432b5c7d611623bc6ff27bdc971dea74e06" + }, + { + "public_key": "018669ea1ca10564197c9063412c27ddf590fb46f2cdfa63f0a2b7bf6b508d9e50", + "signature": "01031385574c683403cbd7db446756f406aa31bd6736c47ad59d87b8a60a5ef6dcda19903008e5c5ba4e3490d37228aab7bdccf9a09d482ff87b1bb5db16ceb309" + }, + { + "public_key": "0189427f604fbfa62aa7d204a6c3f0034a910be6a4a5839cbf53cc10361b5e4c28", + "signature": "013b1438142f9e4ff2912ce069596f927337ee342dffddfa43fb0e379b6bd65074f48b71c09b63fc40d3d554d347feb832e260096632df7a9b96a2918e3172d60e" + }, + { + "public_key": "0189da179d3ae3fc8f0975da77851d11226bfda3327ef17e343d9112aa71426cb6", + "signature": "01fc09a3eb64ed81689d623b52db8e64d60b702ec0339d1c0682e6cc391362a5418e1e131d64fb6a5cbccc935cf45102f63ff52140f66eb871ab5aac564aa66d0c" + }, + { + "public_key": "018aaba74e8a4deafb9d6877536186d85c5fcf7a73b9648023a3563a0b9bead495", + "signature": "010cf8d1d1d949c611f5ec57be5bb00215e4b71cc15df12c49f1eff7d1d28e7cf45fe3df295aabba7a7d5ce27008781cc62758d1f02677f920bca4b5c30ce2eb02" + }, + { + "public_key": "018d78dfb68f4edc0d654768fe8f2d84e6b244de7664e0a30ece3c438fd0747f30", + "signature": "01ebb5ef5ef49ea6d6d2b28c861f96fdb4fb4a359e705876821a3b3ea4dc7bc162ff35a1c24d82ef9df34217809fbdbde32016770fba1d460b098029c6dd21e607" + }, + { + "public_key": "0196948158bf5b35c0c84f680f110b8debaa4e7628e13ba336a95651a214d3b9bd", + "signature": "0142d1c06f38e59c7aae9263f3bcf5f5e5cac590c1855485b1fc502a1c1ee0753aa0a7e795fc3cb9d2e6b768b50aec92b62ac64e110f950c16d575f32973239d05" + }, + { + "public_key": "0198bfb7b9672ab09a5dcd46d5f048beba37bcaa5234f79c8fc82803a14761b1bb", + "signature": "01fc93a4b90f9b12fb936d0b226f5fef59b605c5b6d236c1642866b8ef4c9d6ddbe132f0080f365a5549913ace9d39be0770d205b103b4442aedcde3dc79c6c60e" + }, + { + "public_key": "019a85d7370f913f0a9f55a12da2b031d8c0a36752cd8fd7ff0b47cff0d4fc57bd", + "signature": "014027db69e5b9d37f8adee3eaf2234d981ae474d358d04b0f0a562ebce3a2206df480fcd163e0be98970722bebcaf36e63847bd523ae37758d049b7df14bfaf09" + }, + { + "public_key": "019ae7d932207d8fad7025ef6831ffb9ca495cb9eba65a30a35e3453640d7da7c4", + "signature": "019272782c47db2b47dbc92767eb5bd8265b34e9f94ea3f3fb13ff9338932d27cc783729a2dfdae4279f2ca771fd052d79c4cbb3368cb5261fa75f64f9e4b0d100" + }, + { + "public_key": "01a03c687285634a0115c0af1015ab0a53809f4826ee863c94e32ce48bcfdf447d", + "signature": "018b088d74b62c364be3f9293b586c95030cb029e0957c5e1d86f97461c798ab0fd41c1b2cd18a726692684ff0a836116bbecb660e53855107f135c94d928ca00d" + }, + { + "public_key": "01a3536b5794be5b53972a9bbb56795cb7a4af385a3f1cddb29e253cbcf73586f6", + "signature": "01abe13ac2c29f4d2cb004d6158cf05b3fbe5e92ca06c75f251ca28c1dd537e982eab20dad2edacdb61a302bde66826710264b75a6247da60f5ab99c010203760f" + }, + { + "public_key": "01a5e6982d0545f6896418d05174eeed02ccb2f358bf201631b55cd49708f9f2fe", + "signature": "0171eca50ad974398a7c50d35ba5df62af8ac781d84ec672972f1218c6639a0ff4bd50e685c24a7ddb6a34f70ba9aadbe95fb80593960c2a608027724f48601307" + }, + { + "public_key": "01a6a98d4ba2b3853fdef668690dec016e5c4f91f1498e78eb20be04b8448feee7", + "signature": "013633896134e080d2a0d8456b2303c21fc2f0d010fc34ab58158750888eba997724af0fc17d7644917b5694056dc45600699327a115abe34e3144b6a7146b5303" + }, + { + "public_key": "01a854ee50171a515aa9b0214fbc8b3438ff9100e8b1411a8dce432aa68ea5f73a", + "signature": "018f2357aa82b7306d1b987231f627b792ac8e40cecd2a9ec532691407a23d15b9601b7e66aedbf884799ece6e514d260e9904cbcf6bf186073f01613d1f451a0c" + }, + { + "public_key": "01aa17f7b9889480b1bd34c3f94f263b229c7a9b01dd4dda19c2dd1d38d176c7a0", + "signature": "018ffe1753a5c22f09f12ac8cad353b35c93d6a3579c6473cb2d1f35dc688ec02e81255f657a47361614fa1d1333d401fa04aafb5c722ea21592b1aacf52a4450f" + }, + { + "public_key": "01ab7ad70df3b601c443623bdf4a414c477a5312350bdcc9e3e09e3727a3afa66a", + "signature": "01379d3d5d5b1f2398fa41a1bcda23a6d35a4f053c03959cb2f8c72ab75598b0bd30afc94218b1b250dad9862c29925013e24b32c5b8f4cd6d84bc8d04f663120d" + }, + { + "public_key": "01acb150f1c413778bb72ec1fab367323327bf9b41b72391ca9cf9e703ab18040e", + "signature": "01f769029ed26e0f1c8ac579b61da108e1e26d015d619c89a939ba2b334460195969adaabef0b9763da889f9707802ec9a4bcd3eb8e7c6275d60d058a29b9d4f0d" + }, + { + "public_key": "01aed6b22c38bc80ce96b0c32eb856d231f3c9f4c19fbfcea7924a25a9a352e09c", + "signature": "01eeb9aeb82760a32ab45855a640eca2bd2cb7f65e6a561d6fb71b483c6d6a88f0013225181a09b3c6ead428f1ee269084bdee52da7afcea6079f7329d83ee7900" + }, + { + "public_key": "01b0645dc6cf635de6cc3e7f8f1e7c7150eee69d0149fabc4bbb3472709c232441", + "signature": "0153158119f296db7781c99cafbf8c22d4390dd5599c6633dafd0515e775320356b4127c872dd760c98423cb77fbe88a5e910b9b7810eaa140c458e3510fdbdc08" + }, + { + "public_key": "01b1e495b07045f098d04d729947d8efb6a471c7b5ba69b461c980a276f56957c1", + "signature": "01ad6b78e60b8f274d6118914f5daa2ca1afe6dcdabff20d502011ae29ddbc73734b2aee67b3149d5b9e4c3f274699a47449cc799fe4805b3285bb236c343e0f08" + }, + { + "public_key": "01b4447a791cfea22f8293a165e7c7895121347a18845791c6bdea536437be99b4", + "signature": "01d7f3dff18d73850c86ea64dd73a56c2a12a4d2927aea1f5e4e8cca4a86f95acba3d4fab89ac0baf2235ee9ce2df76a726d480f8ae1878622ade210f5d7357c0c" + }, + { + "public_key": "01b7773ecc2c7b984fa90d75b17f01f2bce563499c4d7b102e75361e2a1fad2f40", + "signature": "01ffcdb7a668d1f55014b834c52250b18b0dd401fa094a2eaa5315a2e1f8c8e7ad2668caf6d45974e270be8d1e8e32bdfe635c8a4c749ea2a12b6d8a49db05f00a" + }, + { + "public_key": "01b99d5f54a5147ee34f472d546d84037007025df5e1a13cfdca7aac05e9ac5858", + "signature": "0185f92eb8ffe784619da29e7156de4e314d9f28bab36c39183f2e0f60331d8197dd8b87c7cf23dd96ceb76aeb6709343e076a0f306cf91d2f3bad9c0a1e6f0208" + }, + { + "public_key": "01bb9d7599bb8a0464946f8b7d812db16c80fb66ae345a7649d8cba96215b4a591", + "signature": "01baa4202026fced7c1ea9312b9a2b76f5874afb296b56425e76b590e3bceaa2ad86a2f4c78efe812eb6db7a7426d02e37b0a8711be6c069f8fb6c27849069b504" + }, + { + "public_key": "01bbb7ecdd756f30c7c27cfe7d144cfa74df4eac8513024aecb48257902df42fd1", + "signature": "01f9098e825889cd07bce129f7c0935d6918b7edbfd0bedbb06672dc841a235506e992a1eeab50abf03fba8fc08c523d8bd6413ccc937bad2f16abb5b9d11c0002" + }, + { + "public_key": "01bfde7ab665a6f7fc34dff1125511c3b548f391d6298c7faf519038d21d8dc4f2", + "signature": "011e6796b8dc8e0fe0c88464e3c3b85dc9dd684aec7386f6d6aa2fd21abc054a8057c74893eb1b9577b99c0665231b5d1fd8797e2e774fadf753dd92dc4d064f04" + }, + { + "public_key": "01c444f05da5781071c6375575d713193f4495bd6d83c4ef4e788502e2c8c09a9d", + "signature": "01ed3313763a79654457cb43133c16134cd0035faa34fb19905f931491a01d5dffaa6355f87fc83501c477c23d854d60ff5dfa5d673cfc0306851b800d7fc08b08" + }, + { + "public_key": "01c56d4479a56a1b57d181b8f2cf6d76bb2bae0728281d953419255da9702ceab3", + "signature": "01bfc4fa5deb64c1437d61103a52951bc7f6e9f011db0e0f6dba68670045291a19be62efd6e828e8dcdc11709305408078a49b3e9859d57e9bc545eb0701161b0a" + }, + { + "public_key": "01c5abc22e0525fcb3b13b4f640c66f8141743ec892b1a4ec32bdcf22ff4435f13", + "signature": "0141b0a4f5d1d038f35defc3b4a111435dd81f99330ce6cc6d3c1fa19ab009ec6590b4ed346193d3945bc9fe4415f9c1a82c26fcc33e852dbfc42a258df21d600c" + }, + { + "public_key": "01c642ea7442d6271119cee66f76848525d67932de3f1ec36e236e37b38d97a03b", + "signature": "019bfb4780ec8b069ce1f34d3f17b2719a94f000978e9da379bb115a0941d3d68c646d7b9c0a88bc8567fb26a125785f70041e6329abc822583fdf2e2c63997702" + }, + { + "public_key": "01c9f96503ba3b88efa61729b1f9fd4203f083ef2d4205a47ce4a50b63e5fc6bf8", + "signature": "01a0b5994e424c8587fd20a4e1d042dd8c2227a601d8d13b63bfad78592dce1db1aae06692df5ee7ef2dd7d9aaa686bab4bb9fb62fb9bee9d2c764d32cac8d4406" + }, + { + "public_key": "01cb4be11fae27723ac9e88dff27331b836f15ff8227ac335d8dfc7602c603badc", + "signature": "01dadc08f468c6f4456df30cfbad4a140f7e2e6bd65de0296cbf1bd09b7443ae9a0170edf4899df8dafaac990b1d6d8b052f95e4923f850a0144764ae52f834b0e" + }, + { + "public_key": "01cd807fb41345d8dd5a61da7991e1468173acbee53920e4dfe0d28cb8825ac664", + "signature": "01e72128c617b5ffa80611871762b05a1698da389f235cb4e29943df0fe9ac284b97837b05c1ba9749d17837780ea43518c07200025a5ecf743ece521c339a2f0a" + }, + { + "public_key": "01ce901316acefbd7b18119110a814fc6592b98a2370e0ff47ec143c21b8c7e590", + "signature": "015e3cd8cf210966f8c93e144a15b9f888ff4c757c20790c5149e731b021ebeb14dfe482b52fa189da6162cd64b14a7634167f9b7ab09ab24dae1c0f5deb7d8b00" + }, + { + "public_key": "01d66d09fb163ca2723960470777467056951df570d6add6e051af827a3b07c76a", + "signature": "0157dbe8747ab2982e46e07f2d57d2f0bad838bb207c0692bcfc5ca4eadfcb22b4111bc6ea221aa9ecff7b5c6fc33ed6898d4d52cf6657dd743c1c613a91dd630e" + }, + { + "public_key": "01ddcb70a7d309e0c96ded5587c40734cfda361194d93b8187c128cddac7b18ed4", + "signature": "017095a0b15bae083cb06fd9c33055dd6c8716430e17be9985a14b5b4e6f88336c526506e122dbadd611e6cd93b263670129f3528301fb12f87529c7933a0ea30d" + }, + { + "public_key": "01e04018a67f239124ab5769db728b9bb586139af782e2b30bb06144b7914fbdd3", + "signature": "01f6b68c0245eef8046104e1b735158db9c72e49d531b9d2a0cc2a276ff4d2565eb9a478b58e0fd020ddd8a1459c24188432e4c96a184fde2ff18627565c83930a" + }, + { + "public_key": "01e6c56c86ca97d7387d0c989c061ceeb205eeb04adf9ec41569292120ed9ae4a5", + "signature": "016409ced21d244869b74f9c8745c0fe28d06427075beae1d9c2d808487b1cee52038af5f7061ff63a6f03930b2c8ce47984eaa6360e8092143d0c254505962c0b" + }, + { + "public_key": "01e8603898d6f8d9a9633fec777b7db633e61626a3cddb5bb38b21d654b898244a", + "signature": "01fe56974d250af7c452832d4af66c75ff8c921be947e4a9753d0a95bc5109c6ef20adcdbe5fa16591131f0424106f31a357ca35a5b54e0bd70164a871cfb69c04" + }, + { + "public_key": "01f45410ebfcbebf24b9bd27ef98dc783bed8995e49881ead839c67e6b94668f58", + "signature": "01165a82818d97ad16be79bd012e370f960402a1d23115596f1947bcd5c0cfc9ea9fd669c7fa28b8a3e5ed1705eff779eca00a8b58337d916e67976690c82bf605" + }, + { + "public_key": "01f8684089490edcdb5feab0eee3615f26621dfd7f16419d06299466bab6fcb9f8", + "signature": "01508aec56995596d87c6adb01b32ef20232eb79abd42db8ef563ab6b924f1256240cbf5ec3bb9315e52738a722f96bae112c3309b94bcc94c7152eab6d31f9d0c" + }, + { + "public_key": "01fa5736dce533c7625156e92849b2d5956ce4d0436bc5ae3903ae828f5bf864ad", + "signature": "01012983372a022b88beea908c5dfd82dcbac91d2888620187c6d25d187785db1318509ebc48990dc25795772ec7aa80bfa1340116b0fb08a34b184185e4346801" + }, + { + "public_key": "01fd7d17f4a36e841cadd790235c720c7435571d8cb541f037652521251a6236b4", + "signature": "0147bce2dc76627c1cb39abd4eeb1a40fc8d18338ed46984127fc2ff601b93ee7b67e66a93d0fa240458f9403c0702c88a850887a3ff8cb66ba41da9b916709800" + }, + { + "public_key": "01fddc7e47ac36a240007eba368e417dd52d824026fb9baaa1454817993ce985ea", + "signature": "01c7f75ff7647c6167e0c6e61b95a711712e6f3c4771c89a77159a3444e5c48616d53c33dc39906d8d3261d5d9a42f04e1119af2cc83744ba39b32b9a1d186f401" + }, + { + "public_key": "01ff703503300534b33263bf3d6ef3b592ac48a0d99e9bd8c7ed415611b6829121", + "signature": "01128c508eae98e64e61b83c1a3d3ba96cd6aae970cac5b0c7fc32bb1d3ca5c4cd00e959a15055705a2848def079034b6818ba2294d8c5052f10cbc70cb806dd00" + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/method-json/chain_get_block_transfers.json b/src/test/resources/method-json/chain_get_block_transfers.json new file mode 100644 index 0000000..e3a78af --- /dev/null +++ b/src/test/resources/method-json/chain_get_block_transfers.json @@ -0,0 +1,20 @@ +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "api_version": "1.1.0", + "block_hash": "e2800c21cb3c93b8e82fd348e044456f326bfbfce140bc00581800cce8a18fd4", + "transfers": [ + { + "deploy_hash": "5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "from": "account-hash-cfdcd5e6aea50288bcaad51f796f284d5fcc99d9557e29e7ab357e01d27c3341", + "to": "account-hash-358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4", + "source": "uref-88aa71c64a5511299a258a0f707984476a10929f80bf152936528582095621d5-007", + "target": "uref-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54-004", + "amount": "7000000000", + "gas": "0", + "id": null + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/method-json/chain_get_era_info_by_switch_block.json b/src/test/resources/method-json/chain_get_era_info_by_switch_block.json new file mode 100644 index 0000000..fe9d86a --- /dev/null +++ b/src/test/resources/method-json/chain_get_era_info_by_switch_block.json @@ -0,0 +1,553 @@ +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "api_version": "1.1.0", + "era_summary": { + "block_hash": "12284e9e6b1c440ee91d2803850a7b7ba5e4c029c6f4abeb8aa1eb743608ab73", + "era_id": 4, + "stored_value": { + "EraInfo": { + "seigniorage_allocations": [ + { + "Validator": { + "validator_public_key": "010268bb35bd370a499ba775877aaadef1ba87bff64ca527ae55f88cd8af9791de", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "0106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca", + "amount": "289795989130" + } + }, + { + "Validator": { + "validator_public_key": "0107cba5b4826a87ddbe0ba8cda8064881b75882f05094c1a5f95e957512a3450e", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "010b0f958cae89f265d7585f8abc67639fd68f9764390682801c744b0e126fb9b3", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "010b9e10801772fdc80bc616e6a3b31296c4737c1f93a33b6f4b1ef51647f0b02a", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "010ee608c883a521ab5f1771651a3f85f81efb18eea5117e6301b2a151b4766c9c", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01101ef8635fb189ae3c734ca699dcbb97f7f844b9b96f260642a734b85d4c1c85", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "0112357f15cf6461a772978c6fc72d93bc10c1abda3a85ee7b7feb593c785b95be", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "0115dc50b6c6df49a6aa5766ee3b102b098b03bf0992c0813d9e842f6277fb8d71", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "011752f095ee6d2902540ea4fafd649da4b7b0c2a6e38176fb7f661a0e463d43b4", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "011f290fb7cc707728c3ab3d4ab1b4989b56e0ddb322859e062b231aed18728328", + "amount": "39504146357" + } + }, + { + "Validator": { + "validator_public_key": "0124aa3964bcd0ba9911594322a534e18e36e0c2e149b148e615505316733599af", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01267447c9ac87b4330ed3395db95efbba78394533666f29a56e8a1ec7b31abbd4", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01295693ba2b3822ed5d4bf06bd74858c4e3638cb17078f16781f25c1f92d34bdc", + "amount": "40442375107" + } + }, + { + "Validator": { + "validator_public_key": "012b77bfab443aae5957d4d2d4991e55f692fa3eb56c2ac1179a188881a575292a", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "012e26890209f5234fdc707c2086ef84314bba0e2cc9c7cdbe199859152b3fdc30", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "012e30f811fe6d99df0f9efee2103c02fe3401e9eb509eb93274429f0138a93d33", + "amount": "41541728640" + } + }, + { + "Validator": { + "validator_public_key": "0135251e59c6f01800c51c4961ef37ebd34575e28c0942fdffd2ea34b09c54f86a", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "0139ae034e09ee1392ae7aa6512d4b6c40d1ba726b580dcd06b9db06b057ca9b82", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "013a6385a646c3b96e31daec5d0bdd749c06661d0a3d027aa9d38895e846ff32c5", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "013cf6d30266728538302eb8130b2336d1caca61240c25c362c99a894fd0b43507", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "013dfb779f0677436c775b38f47283cd7e462f2a8ceba2a2cec6ed00a0e8aa6bfc", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "013e5702e929292627c1cde4e4e88c4e30e4e183a84b1f979ff2a5344ac6730340", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01411c821113ceadf3a5498ec17ab9034aa444a036196d37030b99dbb141939188", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01422b1c5ed6a39ca2901f7ead65b0b2226df337fdfde53ffc0a0d5ec2aad12181", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "0143147a8a4628eb45e906d8ab547fdef21e811bac12468e506e54724606498eab", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01441a29bf25836949a0498cb1aa22ec7239f5221c6f291931368cddf8f740ce1b", + "amount": "41167478835" + } + }, + { + "Validator": { + "validator_public_key": "0144e35abc4886168a53338539a8a3649ab1257d9f0c235ce38961624a025d40dd", + "amount": "75606545793" + } + }, + { + "Validator": { + "validator_public_key": "0146c61d107ffb32738fdbb837213b240bf872536f326465642e467fe6884e7cdc", + "amount": "44895664066" + } + }, + { + "Validator": { + "validator_public_key": "014879b8cf7f459939fed0ca762ae21cba6b2651f256c2c16e35b24ca1b82ad2e5", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "014d5eb3ac23735e695ae372defa057ca089a921f08a199415cc73fd118f68dc94", + "amount": "37424635228" + } + }, + { + "Validator": { + "validator_public_key": "014fdd08ed688b19cd92fb93be9b2a9108361f63edc7d0b1fda84f3e45e3bbd8e3", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "0152b2b3cc1de020e0cfb5887d0fda5d99da5decaf98af90f13144e97d0e35eeaa", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "0157f18d47996f1bbb059f2043bafea9c218d7f50e4d4dd508bc3661844300c3d1", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01587265e95c4d895c912d3091b76d7d6034f9b5b6c38074c8f88244f65813cb0c", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "015da9ac1f6508be409bc6ed45bc44c6afd6d94b90d60014576418a79b61d563a2", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01642d7047314aaa0a85d6cb9ab0c49ddb3c020b140eb8093b7276196bc33aaf43", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01691616af607822e731bba757ace7e98f2d62627645d0d970cbeda79f08d2742d", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "016adc82d5f8368829c9cd6088fdd39b46960dbf5a7f4fc18f498f5bc8637ec656", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "016f6ed70e4a5acec750dc087674e5de2ad7b6d9595945c4059c5ca1a47d4dd3ab", + "amount": "44985635336" + } + }, + { + "Validator": { + "validator_public_key": "017563342173f4a1c345334cca27780008646357a3dc49e3c1a18422800b760855", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "0178afbc7b204fcffd5c6832d0e04877a97571a7a9c8d021966df9d57c1742aa10", + "amount": "44490793350" + } + }, + { + "Validator": { + "validator_public_key": "017a684f6787e78e68c0063aad5a4fb26448b340d36c0e8aa79d67d82ce03dad28", + "amount": "41541728640" + } + }, + { + "Validator": { + "validator_public_key": "017aecfd5ce9cb89b4c7de23a1acc57fd7ee8a724d62df8d7e76c50d85a48ffbe0", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e", + "amount": "289795989130" + } + }, + { + "Validator": { + "validator_public_key": "017d9aa0b86413d7ff9a9169182c53f0bacaa80d34c211adab007ed4876af17077", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "018210173344167e081825b3d646da040166d65e45db0e84d80be046fbfa9eea40", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01852d06432105b182c299a721cffd3ebb9ccbc5060c9bd503594b1899506bcf4a", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "018669ea1ca10564197c9063412c27ddf590fb46f2cdfa63f0a2b7bf6b508d9e50", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "0189da179d3ae3fc8f0975da77851d11226bfda3327ef17e343d9112aa71426cb6", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "018aaba74e8a4deafb9d6877536186d85c5fcf7a73b9648023a3563a0b9bead495", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "018d78dfb68f4edc0d654768fe8f2d84e6b244de7664e0a30ece3c438fd0747f30", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "0190dd8430afb0958c25636596d1e98478ebe240c81260becf687cdf90ee088860", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "0196948158bf5b35c0c84f680f110b8debaa4e7628e13ba336a95651a214d3b9bd", + "amount": "44985635336" + } + }, + { + "Validator": { + "validator_public_key": "0198bfb7b9672ab09a5dcd46d5f048beba37bcaa5234f79c8fc82803a14761b1bb", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "019a85d7370f913f0a9f55a12da2b031d8c0a36752cd8fd7ff0b47cff0d4fc57bd", + "amount": "44817345476" + } + }, + { + "Validator": { + "validator_public_key": "019ae7d932207d8fad7025ef6831ffb9ca495cb9eba65a30a35e3453640d7da7c4", + "amount": "44535778983" + } + }, + { + "Validator": { + "validator_public_key": "01a0082c060677608ef48ff2aa9a4d1833ba5bb53c0255c0d47dd3d0942bd3ab20", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01a03c687285634a0115c0af1015ab0a53809f4826ee863c94e32ce48bcfdf447d", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01a5e6982d0545f6896418d05174eeed02ccb2f358bf201631b55cd49708f9f2fe", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01a6a98d4ba2b3853fdef668690dec016e5c4f91f1498e78eb20be04b8448feee7", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01aa17f7b9889480b1bd34c3f94f263b229c7a9b01dd4dda19c2dd1d38d176c7a0", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01ace6578907bfe6eba3a618e863bbe7274284c88e405e2857be80dd094726a223", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01aed6b22c38bc80ce96b0c32eb856d231f3c9f4c19fbfcea7924a25a9a352e09c", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01b5d00a38e1783345ffe0bfa8423e026b76480683e0b19966ee47c7f68a827c00", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01b677d508c9b784c376c799033b20c1d1398694e2fe734f2e262a18600dc630fa", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01b9137fcbb85baf03db2aa41e459199b27514a9943a0d2776752974c793905880", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01b99d5f54a5147ee34f472d546d84037007025df5e1a13cfdca7aac05e9ac5858", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01bb9d7599bb8a0464946f8b7d812db16c80fb66ae345a7649d8cba96215b4a591", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01bbb7ecdd756f30c7c27cfe7d144cfa74df4eac8513024aecb48257902df42fd1", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01bfde7ab665a6f7fc34dff1125511c3b548f391d6298c7faf519038d21d8dc4f2", + "amount": "40397100534" + } + }, + { + "Validator": { + "validator_public_key": "01c54f086eaf2f0c66e70c3bc52e84cb04154d2860af641f6b2b8dc76567329c1d", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01c56d4479a56a1b57d181b8f2cf6d76bb2bae0728281d953419255da9702ceab3", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01c5abc22e0525fcb3b13b4f640c66f8141743ec892b1a4ec32bdcf22ff4435f13", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01c642ea7442d6271119cee66f76848525d67932de3f1ec36e236e37b38d97a03b", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01c91d7ac17e2289740a33d61c4dffeab43937f6c1fc0820ebcea2c199ccd73e16", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01c9f96503ba3b88efa61729b1f9fd4203f083ef2d4205a47ce4a50b63e5fc6bf8", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01cb4be11fae27723ac9e88dff27331b836f15ff8227ac335d8dfc7602c603badc", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01cd807fb41345d8dd5a61da7991e1468173acbee53920e4dfe0d28cb8825ac664", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01ce901316acefbd7b18119110a814fc6592b98a2370e0ff47ec143c21b8c7e590", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01d00d2d59c18dab882b1141cb3dbcf1f05078ffedda0551c53c6a3cc1191e4672", + "amount": "41541728640" + } + }, + { + "Validator": { + "validator_public_key": "01d66d09fb163ca2723960470777467056951df570d6add6e051af827a3b07c76a", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01ddcb70a7d309e0c96ded5587c40734cfda361194d93b8187c128cddac7b18ed4", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01e6c56c86ca97d7387d0c989c061ceeb205eeb04adf9ec41569292120ed9ae4a5", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01f39dacb5ca4ac415041d1df96f043abe911e385cf6da99532287ebfc7947cbe0", + "amount": "37424980757" + } + }, + { + "Validator": { + "validator_public_key": "01f8684089490edcdb5feab0eee3615f26621dfd7f16419d06299466bab6fcb9f8", + "amount": "44940649703" + } + }, + { + "Validator": { + "validator_public_key": "01fa5736dce533c7625156e92849b2d5956ce4d0436bc5ae3903ae828f5bf864ad", + "amount": "40487071804" + } + }, + { + "Validator": { + "validator_public_key": "01fddc7e47ac36a240007eba368e417dd52d824026fb9baaa1454817993ce985ea", + "amount": "44985635336" + } + }, + { + "Validator": { + "validator_public_key": "01ff703503300534b33263bf3d6ef3b592ac48a0d99e9bd8c7ed415611b6829121", + "amount": "37424980757" + } + } + ] + } + }, + "state_root_hash": "4b8b3f66fedb876c8cfb3d2a6440e5c3ae1aa8801b6946779f3baf362b7f467a", + "merkle_proof": "01000000050400000000000000075900000000010268bb35bd370a499ba775877aaadef1ba87bff64ca527ae55f88cd8af9791de0515e3b3b608000106ca7c39cd272dbf21a86eeb3b36b7c26e2e9b94af64292419f7862936bca2ca058ade2f7943000107cba5b4826a87ddbe0ba8cda8064881b75882f05094c1a5f95e957512a3450e0515e3b3b60800010b0f958cae89f265d7585f8abc67639fd68f9764390682801c744b0e126fb9b305e7e4ab760a00010b9e10801772fdc80bc616e6a3b31296c4737c1f93a33b6f4b1ef51647f0b02a053cb0376d0900010ee608c883a521ab5f1771651a3f85f81efb18eea5117e6301b2a151b4766c9c05e7e4ab760a0001101ef8635fb189ae3c734ca699dcbb97f7f844b9b96f260642a734b85d4c1c8505e7e4ab760a000112357f15cf6461a772978c6fc72d93bc10c1abda3a85ee7b7feb593c785b95be053cb0376d09000115dc50b6c6df49a6aa5766ee3b102b098b03bf0992c0813d9e842f6277fb8d710515e3b3b60800011752f095ee6d2902540ea4fafd649da4b7b0c2a6e38176fb7f661a0e463d43b40515e3b3b60800011f290fb7cc707728c3ab3d4ab1b4989b56e0ddb322859e062b231aed1872832805b56fa13209000124aa3964bcd0ba9911594322a534e18e36e0c2e149b148e615505316733599af053cb0376d090001267447c9ac87b4330ed3395db95efbba78394533666f29a56e8a1ec7b31abbd4053cb0376d090001295693ba2b3822ed5d4bf06bd74858c4e3638cb17078f16781f25c1f92d34bdc05c3ab8d6a0900012b77bfab443aae5957d4d2d4991e55f692fa3eb56c2ac1179a188881a575292a0515e3b3b60800012e26890209f5234fdc707c2086ef84314bba0e2cc9c7cdbe199859152b3fdc300515e3b3b60800012e30f811fe6d99df0f9efee2103c02fe3401e9eb509eb93274429f0138a93d3305807914ac09000135251e59c6f01800c51c4961ef37ebd34575e28c0942fdffd2ea34b09c54f86a053cb0376d09000139ae034e09ee1392ae7aa6512d4b6c40d1ba726b580dcd06b9db06b057ca9b820515e3b3b60800013a6385a646c3b96e31daec5d0bdd749c06661d0a3d027aa9d38895e846ff32c5053cb0376d0900013cf6d30266728538302eb8130b2336d1caca61240c25c362c99a894fd0b4350705e7e4ab760a00013dfb779f0677436c775b38f47283cd7e462f2a8ceba2a2cec6ed00a0e8aa6bfc053cb0376d0900013e5702e929292627c1cde4e4e88c4e30e4e183a84b1f979ff2a5344ac6730340053cb0376d090001411c821113ceadf3a5498ec17ab9034aa444a036196d37030b99dbb1419391880515e3b3b6080001422b1c5ed6a39ca2901f7ead65b0b2226df337fdfde53ffc0a0d5ec2aad1218105e7e4ab760a000143147a8a4628eb45e906d8ab547fdef21e811bac12468e506e54724606498eab0515e3b3b6080001441a29bf25836949a0498cb1aa22ec7239f5221c6f291931368cddf8f740ce1b0533e0c59509000144e35abc4886168a53338539a8a3649ab1257d9f0c235ce38961624a025d40dd058155809a11000146c61d107ffb32738fdbb837213b240bf872536f326465642e467fe6884e7cdc05c277fd730a00014879b8cf7f459939fed0ca762ae21cba6b2651f256c2c16e35b24ca1b82ad2e5053cb0376d0900014d5eb3ac23735e695ae372defa057ca089a921f08a199415cc73fd118f68dc94055c9daeb60800014fdd08ed688b19cd92fb93be9b2a9108361f63edc7d0b1fda84f3e45e3bbd8e30515e3b3b608000152b2b3cc1de020e0cfb5887d0fda5d99da5decaf98af90f13144e97d0e35eeaa053cb0376d09000157f18d47996f1bbb059f2043bafea9c218d7f50e4d4dd508bc3661844300c3d1053cb0376d090001587265e95c4d895c912d3091b76d7d6034f9b5b6c38074c8f88244f65813cb0c053cb0376d0900015da9ac1f6508be409bc6ed45bc44c6afd6d94b90d60014576418a79b61d563a2053cb0376d090001642d7047314aaa0a85d6cb9ab0c49ddb3c020b140eb8093b7276196bc33aaf430515e3b3b6080001691616af607822e731bba757ace7e98f2d62627645d0d970cbeda79f08d2742d053cb0376d0900016adc82d5f8368829c9cd6088fdd39b46960dbf5a7f4fc18f498f5bc8637ec656053cb0376d0900016f6ed70e4a5acec750dc087674e5de2ad7b6d9595945c4059c5ca1a47d4dd3ab0508525a790a00017563342173f4a1c345334cca27780008646357a3dc49e3c1a18422800b7608550515e3b3b608000178afbc7b204fcffd5c6832d0e04877a97571a7a9c8d021966df9d57c1742aa100586a1db5b0a00017a684f6787e78e68c0063aad5a4fb26448b340d36c0e8aa79d67d82ce03dad2805807914ac0900017aecfd5ce9cb89b4c7de23a1acc57fd7ee8a724d62df8d7e76c50d85a48ffbe0053cb0376d0900017d96b9a63abcb61c870a4f55187a0a7ac24096bdb5fc585c12a686a4d892009e058ade2f794300017d9aa0b86413d7ff9a9169182c53f0bacaa80d34c211adab007ed4876af17077053cb0376d0900018210173344167e081825b3d646da040166d65e45db0e84d80be046fbfa9eea400515e3b3b6080001852d06432105b182c299a721cffd3ebb9ccbc5060c9bd503594b1899506bcf4a05e7e4ab760a00018669ea1ca10564197c9063412c27ddf590fb46f2cdfa63f0a2b7bf6b508d9e50053cb0376d09000189da179d3ae3fc8f0975da77851d11226bfda3327ef17e343d9112aa71426cb6053cb0376d0900018aaba74e8a4deafb9d6877536186d85c5fcf7a73b9648023a3563a0b9bead495053cb0376d0900018d78dfb68f4edc0d654768fe8f2d84e6b244de7664e0a30ece3c438fd0747f3005e7e4ab760a000190dd8430afb0958c25636596d1e98478ebe240c81260becf687cdf90ee0888600515e3b3b608000196948158bf5b35c0c84f680f110b8debaa4e7628e13ba336a95651a214d3b9bd0508525a790a000198bfb7b9672ab09a5dcd46d5f048beba37bcaa5234f79c8fc82803a14761b1bb0515e3b3b60800019a85d7370f913f0a9f55a12da2b031d8c0a36752cd8fd7ff0b47cff0d4fc57bd05c46b526f0a00019ae7d932207d8fad7025ef6831ffb9ca495cb9eba65a30a35e3453640d7da7c405a70e8a5e0a0001a0082c060677608ef48ff2aa9a4d1833ba5bb53c0255c0d47dd3d0942bd3ab200515e3b3b6080001a03c687285634a0115c0af1015ab0a53809f4826ee863c94e32ce48bcfdf447d053cb0376d090001a5e6982d0545f6896418d05174eeed02ccb2f358bf201631b55cd49708f9f2fe053cb0376d090001a6a98d4ba2b3853fdef668690dec016e5c4f91f1498e78eb20be04b8448feee7053cb0376d090001aa17f7b9889480b1bd34c3f94f263b229c7a9b01dd4dda19c2dd1d38d176c7a0053cb0376d090001ace6578907bfe6eba3a618e863bbe7274284c88e405e2857be80dd094726a2230515e3b3b6080001aed6b22c38bc80ce96b0c32eb856d231f3c9f4c19fbfcea7924a25a9a352e09c053cb0376d090001b5d00a38e1783345ffe0bfa8423e026b76480683e0b19966ee47c7f68a827c000515e3b3b6080001b677d508c9b784c376c799033b20c1d1398694e2fe734f2e262a18600dc630fa0515e3b3b6080001b9137fcbb85baf03db2aa41e459199b27514a9943a0d2776752974c793905880053cb0376d090001b99d5f54a5147ee34f472d546d84037007025df5e1a13cfdca7aac05e9ac585805e7e4ab760a0001bb9d7599bb8a0464946f8b7d812db16c80fb66ae345a7649d8cba96215b4a591053cb0376d090001bbb7ecdd756f30c7c27cfe7d144cfa74df4eac8513024aecb48257902df42fd105e7e4ab760a0001bfde7ab665a6f7fc34dff1125511c3b548f391d6298c7faf519038d21d8dc4f205f6d5da67090001c54f086eaf2f0c66e70c3bc52e84cb04154d2860af641f6b2b8dc76567329c1d0515e3b3b6080001c56d4479a56a1b57d181b8f2cf6d76bb2bae0728281d953419255da9702ceab3053cb0376d090001c5abc22e0525fcb3b13b4f640c66f8141743ec892b1a4ec32bdcf22ff4435f13053cb0376d090001c642ea7442d6271119cee66f76848525d67932de3f1ec36e236e37b38d97a03b05e7e4ab760a0001c91d7ac17e2289740a33d61c4dffeab43937f6c1fc0820ebcea2c199ccd73e160515e3b3b6080001c9f96503ba3b88efa61729b1f9fd4203f083ef2d4205a47ce4a50b63e5fc6bf8053cb0376d090001cb4be11fae27723ac9e88dff27331b836f15ff8227ac335d8dfc7602c603badc053cb0376d090001cd807fb41345d8dd5a61da7991e1468173acbee53920e4dfe0d28cb8825ac6640515e3b3b6080001ce901316acefbd7b18119110a814fc6592b98a2370e0ff47ec143c21b8c7e59005e7e4ab760a0001d00d2d59c18dab882b1141cb3dbcf1f05078ffedda0551c53c6a3cc1191e467205807914ac090001d66d09fb163ca2723960470777467056951df570d6add6e051af827a3b07c76a05e7e4ab760a0001ddcb70a7d309e0c96ded5587c40734cfda361194d93b8187c128cddac7b18ed40515e3b3b6080001e6c56c86ca97d7387d0c989c061ceeb205eeb04adf9ec41569292120ed9ae4a5053cb0376d090001f39dacb5ca4ac415041d1df96f043abe911e385cf6da99532287ebfc7947cbe00515e3b3b6080001f8684089490edcdb5feab0eee3615f26621dfd7f16419d06299466bab6fcb9f805e7e4ab760a0001fa5736dce533c7625156e92849b2d5956ce4d0436bc5ae3903ae828f5bf864ad053cb0376d090001fddc7e47ac36a240007eba368e417dd52d824026fb9baaa1454817993ce985ea0508525a790a0001ff703503300534b33263bf3d6ef3b592ac48a0d99e9bd8c7ed415611b68291210515e3b3b608020000000004040000000000cb167538310a38243d17c0d77fbf30a096c091071bc8d7488649e4a5f8cbe99a01003c53ec69a3109a89e2157a11ce3110f5d36727fa5035637ad88a45fbb2c979430200efc9b4212b34ba54cba2f2d37f142cb06c0fdab86299b9813d569a0442513724030067e21dbc936e285b3f424e1fb9d56522c9b2e1a7414efb7bd7c1cb51552b88910005080000000001690dfc5172a0b622a80b6a85d1f867a4343e2b3e23b2708e8dcf57898e51b5210101e5abf310419d4ed27b1bc06bc7e169d25a1b97190cfcf35e27de833e1d5d841d02016bf132463e0179cb1683855dbb6d834d447cac840ad57941c396f85c25b69cb003019ab18f7b46db4ffba7afc8e743e9e1a7b908a5c343c095520058b4233a1ac08d040153d9237a4ea23e3ee6daeae418bab7ad3b99052d86a4da9b0694460720624d7d06016b0c4259f57aa0bb3e480b23d8c6e4c475cdb041a458bb11cf4aac9d0a19ea270701526a0e42d061bde58c2c432f444d071eb111fe7dfa926e1e9d2ff0d01fda84550800f4a4fb53d0776e6eb02bce07a37a70eee2fc6bbdff162f969b03d442e83bb6ce" + } + } +} \ No newline at end of file diff --git a/src/test/resources/method-json/info_get_deploy.json b/src/test/resources/method-json/info_get_deploy.json new file mode 100644 index 0000000..4580fb2 --- /dev/null +++ b/src/test/resources/method-json/info_get_deploy.json @@ -0,0 +1,207 @@ +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "api_version": "1.1.0", + "deploy": { + "hash": "5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "header": { + "account": "01637772fddbe65f2abe17c1d83f8d1fa88da8754fbd344b12c49e76ade6a763c1", + "timestamp": "2021-05-01T21:57:41.408Z", + "ttl": "1h", + "gas_price": 1, + "body_hash": "fa4735dcc9de3decd1b82d8dd5c119fc4869cdc8c39970c89d4bc3140a24ad8d", + "dependencies": [], + "chain_name": "casper-test" + }, + "payment": { + "ModuleBytes": { + "module_bytes": "", + "args": [ + [ + "amount", + { + "cl_type": "U512", + "bytes": "04005ed0b2", + "parsed": "3000000000" + } + ] + ] + } + }, + "session": { + "ModuleBytes": { + "module_bytes": "0061736d01000000015b0e60027f7f017f60047f7f7f7f017f60017f0060077f7f7f7f7f7f7f017f60037f7f7f017f60000060037f7f7f0060027f7f0060017f017f60047f7f7f7f0060037f7e7e0060047f7f7e7e017e60057f7f7f7f7f017f60017f017e02710403656e76146361737065725f6765745f6e616d65645f617267000103656e760d6361737065725f726576657274000203656e761a6361737065725f7472616e736665725f746f5f6163636f756e74000303656e76196361737065725f6765745f6e616d65645f6172675f73697a650004033f3e050006010007060202080606020509060802070802020a0b02060800060100020900080c040902090008070608080809060d0607080707050206070d040404050170010b0b05030100110619037f01418080c0000b7f0041a889c0000b7f0041a889c0000b073705066d656d6f727902000463616c6c00040864656c656761746500110a5f5f646174615f656e6403010b5f5f686561705f6261736503020910010041010b0a232425262b2c2d2a3c3f0abb4c3e08001091808080000b1301017f20002001109f80808000210220020f0b0f0020002001200210a0808080000f0b1701017f200020012002200310a180808000210420040f0b1301017f2000200110a280808000210220020f0b0d002000200110ba808080000f0b7400024002402001417f4c0d000240024002402002450d0020010d01410121020c020b024020010d00410121020c020b2001410110858080800022020d010c030b200141011088808080002202450d020b20002001360204200020023602000f0b10bb80808000000b2001410110b980808000000b0b002000109080808000000b0b002000109080808000000b0a00200010b1808080000bdd07010a7f23808080800041f0016b2203248080808000200341086a20012002109d8080800002400240024002402003280208450d004101210402400240200328020c22050d0041002101410121020c010b200120022005109e808080002206200510808080800010b280808000220141ff01714128470d02200641ffff0371210220064180807c7121010b200341a0016a20022001722206200510af808080000240024020032d00a0014101470d000c010b200341e8016a2802002107410021042003200341ec016a28020022024100108a8080800020032802042101200328020022082007200210c0808080001a20034198016a200341e0016a29030037010020034190016a200341d8016a29030037010020034188016a200341d0016a29030037010020034180016a200341c8016a290300370100200341f8006a200341c0016a290300370100200341f0006a200341b8016a290300370100200341e8006a200341b0016a2903003701002003200341a8016a2903003701600b02402005450d002006200541011086808080000b200341146a200341da006a41c60010c0808080001a20040d02200341d8016a2204200341146a413e6a290100370300200341d0016a2206200341146a41366a290100370300200341c8016a2207200341146a412e6a290100370300200341c0016a2209200341146a41266a290100370300200341b8016a220a200341146a411e6a290100370300200341b0016a220b200341146a41166a290100370300200341a8016a220c200341146a410e6a2901003703002003200329011a3703a00141012105024020020d00200341da006a413e6a2004290300370100200341da006a41366a2006290300370100200341da006a412e6a2007290300370100200341da006a41266a2009290300370100200341da006a411e6a200a290300370100200341da006a41166a200b290300370100200341da006a410e6a200c290300370100200320032903a001370160410021050b02402001450d002008200141011086808080000b200341a0016a200341da006a41c60010c0808080001a20050d03200020032900a601370000200041386a200341de016a290000370000200041306a200341d6016a290000370000200041286a200341ce016a290000370000200041206a200341c6016a290000370000200041186a200341be016a290000370000200041106a200341b6016a290000370000200041086a200341ae016a290000370000200341f0016a2480808080000f0b4101108b80808000000b2006200541011086808080002001108c80808000000b200341a0016a200341da006a41c60010c0808080001a0b4102108c80808000000be606010a7f2380808080004180016b2203248080808000200341086a20012002109d808080000240024002402003280208450d004101210402400240200328020c22050d0041002101410121020c010b200120022005109e808080002206200510808080800010b280808000220141ff01714128470d02200641ffff0371210220064180807c7121010b200341d0006a20022001722207200510b6808080000240024020032d00504101470d000c010b200341f4006a2802002101410021042003200341f8006a28020022064100108a8080800020032802042102200328020022082001200610c0808080001a200341386a200341dd006a290000370300200341c0006a200341e5006a290000370300200341c7006a200341ec006a2900003700002003200329005537033020032d005421010b02402005450d002007200541011086808080000b200341106a41176a2205200341306a41176a2209290000370000200341106a41106a2207200341306a41106a220a290300370300200341106a41086a220b200341306a41086a220c2903003703002003200329033037031002400240024020040d00200341d0006a41176a2005290000370000200341d0006a41106a2007290300370300200341d0006a41086a200b290300370300200320032903103703502006450d0141012105410221010c020b200341d0006a41176a2009290000370000200341d0006a41106a200a290300370300200341d0006a41086a200c290300370300200320032903303703500c040b200341306a41176a200341d0006a41176a290000370000200341306a41106a200341d0006a41106a290300370300200341306a41086a200341d0006a41086a29030037030020032003290350370330410021050b02402002450d002008200241011086808080000b200341d0006a41176a2202200341306a41176a290000370000200341d0006a41106a2204200341306a41106a290300370300200341d0006a41086a2206200341306a41086a2903003703002003200329033037035020050d02200020013a000020002003290350370001200041096a2006290300370000200041116a2004290300370000200041186a200229000037000020034180016a2480808080000f0b4101108b80808000000b2006200541011086808080002001108c80808000000b4102108c80808000000b11002000108d80808000108180808000000bf30202017f017e23808080800041c0016b22002480808080002000418080c080004106108f80808000200041206a418680c080004106108e80808000200041e0006a41186a200041186a290300370300200041e0006a41106a200041106a290300370300200041e0006a41086a200041086a2903003703002000200029030037036020004180016a41386a200041206a41386a29030037030020004180016a41306a200041206a41306a29030037030020004180016a41286a200041206a41286a29030037030020004180016a41206a200041206a41206a29030037030020004180016a41186a200041206a41186a29030037030020004180016a41106a200041206a41106a29030037030020004180016a41086a200041206a41086a29030037030020002000290320370380010240200041e0006a20004180016a42002001109b80808000220142ffff0383500d002001a74110762001422088a741107472108c80808000000b200041c0016a2480808080000bb50101027f0240024002402002450d0041012104200141004e0d01410021010c020b2000200136020441012104410021010c010b024002400240024002400240200328020022050d002001450d010c030b200328020422030d0120010d020b200221030c030b20052003200220011087808080002203450d010c020b2001200210858080800022030d010b20002001360204200221010c010b20002003360204410021040b20002004360200200041086a20013602000be90101027f23808080800041206b2203248080808000024002400240200041046a280200220420016b20024f0d00200120026a22022001490d02200441017422012002200120024b1b22014108200141084b1b2101024002402004450d00200341106a41086a410136020020032004360214200320002802003602100c010b200341003602100b200320014101200341106a109280808000200341086a28020021012003280204210220032802004101460d0120002002360200200041046a20013602000b200341206a2480808080000f0b2001450d002002200110b980808000000b10bb80808000000b0a00200010b1808080000b040000000b040000000b0a00200010b0808080000b0b002000109c80808000000b11002000109780808000109c80808000000bf90301057f23808080800041306b22032480808080002003200237030820032001370300024002400240024002400240024020014201520d00200341086a220410b88080800041016a2205417f4c0d052005450d022005410110858080800022060d012005410110b980808000000b410141011085808080002205450d05200541003a0000200041003a0000200041086a428180808010370200200041046a20053602000c030b410021072003410036021820032005360214200320063602100c010b200341003602182003200536021420034101360210200341106a4100410110938080800020032802182107200328021021060b200620076a41013a00002003200328021841016a360218200341206a200410b780808000024020032d00204101460d00200341286a280200210620032802242104200341106a2003280218200341206a410c6a2802002205109380808000200328021020032802186a2004200510c0808080001a200041003a0000200041046a20032903103702002000410c6a200520032802186a2200360200200320003602182006450d012004200641011086808080000c010b20032d00212105200041013a0000200020053a000120032802142200450d002003280210200041011086808080000b200341306a2480808080000f0b10bb80808000000b4101410110b980808000000bdc0401057f23808080800041d0006b2204248080808000200441106a41186a2205200041186a290000370300200441106a41106a2206200041106a290000370300200441106a41086a2207200041086a29000037030020042000290000370310024002400240412041011085808080002200450d0020002004290310370000200041186a2005290300370000200041106a2006290300370000200041086a2007290300370000200441106a41386a200141386a290300370300200441106a41306a200141306a290300370300200441106a41286a200141286a290300370300200441106a41206a200141206a2903003703002005200141186a2903003703002006200141106a2903003703002007200141086a290300370300200420012903003703102004200441106a10ae8080800020042d00004101460d012004410c6a280200210720042802042101200441086a2802002105200441106a20022003109a8080800020042d00104101460d02200441106a41086a2802002106024002402000412020012007200428021422082004411c6a280200200441106a10828080800010b280808000220741ff01714128470d00200428021010b580808000210202402006450d002008200641011086808080000b2005450d012001200541011086808080000c010b2007ad421086210202402006450d002008200641011086808080000b200242018421022005450d002001200541011086808080000b200041204101108680808000200441d0006a24808080800020020f0b4120410110b980808000000b20042d0001109980808000000b20042d0011109980808000000b11002000109480808000108180808000000b7c01037f23808080800041106b2203248080808000410021042003410036020c02400240200120022003410c6a10838080800010b280808000220541ff017122024128460d0020024101460d012005109c80808000000b41012104200328020c21010b2000200136020420002004360200200341106a2480808080000b240002402000410110858080800022000d002000411074411372109880808000000b20000b120041a481c080002000200110a8808080000b140041a481c0800020002001200210a9808080000b4501017f024041a481c080002003200210a8808080002204450d002004200020032001200120034b1b10c0808080001a41a481c0800020002001200210a9808080000b20040b2900024041a481c080002000200110a8808080002201450d0020014100200010c1808080001a0b20010b02000b7701017f02400240200241027422022003410374418080016a2203200220034b1b418780046a220441107640002203417f470d0041012102410021030c010b20034110742203420037030041002102200341003602082003200320044180807c716a4102723602000b20002003360204200020023602000b05004180040b040041010bcf0401087f0240024020022802002205450d002001417f6a210620004102742107410020016b21080340200541086a210902402005280208220a410171450d0003402009200a417e71360200024002402005280204220a417c7122090d00410021010c010b4100200920092d00004101711b21010b02402005280200220b417c71220c450d004100200c200b4102711b220b450d00200b200b2802044103712009723602042005280204220a417c7121090b02402009450d00200920092802004103712005280200417c71723602002005280204210a0b2005200a41037136020420052005280200220941037136020002402009410271450d00200120012802004102723602000b20022001360200200141086a2109200121052001280208220a4101710d000b200121050b02402005280200417c71220120096b2007490d0002402009200320002004280210118080808000004102746a41086a200120076b20087122014d0d0020062009710d0120022009280200417c71360200200521010c040b20014100360200200141786a2201420037020020012005280200417c7136020002402005280200220a417c71220b450d004100200b200a4102711b220a450d00200a200a2802044103712001723602040b200120012802044103712005723602042005200528020041037120017236020020092009280200417e7136020020052802002209410271450d0320052009417d71360200200120012802004102723602000c030b20022005280208220536020020050d000b0b41000f0b20012001280200410172360200200141086a0ba40301037f23808080800041106b2203248080808000024002402001450d00200141036a220441027621050240200241044b0d002005417f6a220141ff014b0d00200320003602082003200020014102746a41046a220028020036020c0240200520022003410c6a200341086a41a480c0800010a78080800022010d002003200341086a2005200210ab808080004100210120032802000d0020032802042201200328020c3602082003200136020c200520022003410c6a200341086a41a480c0800010a78080800021010b2000200328020c3602000c020b2003200028020036020c0240200520022003410c6a418c80c08000418c80c0800010a78080800022010d0002402004417c7122012002410374418080016a2204200120044b1b418780046a220441107640002201417f470d00410021010c010b20014110742201200120044180807c716a410272360200200141003602042001200328020c3602082003200136020c200520022003410c6a418c80c08000418c80c0800010a78080800021010b2000200328020c3602000c010b200221010b200341106a24808080800020010b860601067f23808080800041106b220424808080800002402001450d002002450d000240200341044b0d00200241036a410276417f6a220241ff014b0d00200020024102746a41046a2203280200210520014100360200200141786a22022002280200417e713602002004200036020c02402004410c6a10ad80808000450d00024002402001417c6a2206280200417c712200450d0020002802002207410171450d010b20022802002200417c712206450d014100200620004102711b2200450d0120002d00004101710d0120012000280208417c7136020020002002410172360208200320053602000c030b02400240024020022802002208417c7122010d00200021090c010b200021094100200120084102711b2208450d002008200828020441037120007236020420062802002201417c712209450d012002280200417c712101200928020021070b20092007410371200172360200200628020021010b20062001410371360200200220022802002201410371360200024020014102710d00200320053602000c030b20002000280200410272360200200320053602000c020b20012005360200200320023602000c010b2000280200210620014100360200200141786a220220022802002203417e7136020002400240024002402001417c6a2207280200417c712205450d0020052802002209410171450d010b2003417c712205450d014100200520034102711b2203450d0120032d00004101710d0120012003280208417c7136020020032002410172360208200621020c020b0240024002402003417c7122010d00200521080c010b200521084100200120034102711b2203450d002003200328020441037120057236020420072802002201417c712208450d012002280200417c712101200828020021090b20082009410371200172360200200728020021010b20072001410371360200200220022802002201410371360200024020014102710d00200621020c020b20052005280200410272360200200621020c010b200120063602000b200020023602000b200441106a2480808080000b02000b960201027f23808080800041106b220424808080800020042001280200220528020036020c024002400240200241026a220220026c220241801020024180104b1b220141042004410c6a41bc80c0800041bc80c0800010a7808080002202450d002005200428020c3602000c010b200441bc80c080002001410410a480808000024002402004280200450d002005200428020c3602000c010b20042802042202200428020c3602082004200236020c200141042004410c6a41bc80c0800041bc80c0800010a78080800021022005200428020c36020020020d010b410121010c010b200242003702042002200220014102746a410272360200410021010b2000200236020420002001360200200441106a2480808080000b040020010b040041000bb20401047f23808080800041e0006b22022480808080002002200129030037030020022001290308370308200220012903103703102002200129031837031820022001290320370320200220012903283703282002200129033037033020022001290338370338413f21010240024002400240024003402001417f460d01200220016a21032001417f6a2204210120032d00002203450d000b410141011085808080002201450d04200120033a00002002428180808010370254200220013602502004417f460d0141022101410121030340200220046a2d0000210502402001417f6a2003470d00200241d0006a2003410110b4808080000b200228025020016a417f6a20053a0000200220013602582004450d022004417f6a2104200141016a2101200228025421030c000b0b410021012002410036024820024201370340410021040c010b200241c0006a41086a200241d0006a41086a280200220136020020022002290350370340200120022802442204470d010b200241c0006a2004410110b4808080000b200228024020022802486a20013a000020022002280248220441016a2201360248024020014101762203450d002002280240220120046a2104034020012d00002105200120042d00003a0000200420053a0000200141016a21012004417f6a21042003417f6a22030d000b0b200041003a0000200041046a20022903403702002000410c6a200241c8006a280200360200200241e0006a2480808080000f0b4101410110b980808000000bcd0202047f087e23808080800041c0006b220324808080800002400240024002402002450d004101210420012d0000220541c0004b0d0102402002417f6a22062005490d00200141016a210141002104200320056a410041c00020056b10c1808080001a20032001200510c0808080002202290300210720022903082108200229031021092002290318210a2002290320210b2002290328210c2002290330210d2002290338210e200041cc006a200620056b360200200041c8006a200120056a360200200041c0006a200e370300200041386a200d370300200041306a200c370300200041286a200b370300200041206a200a370300200041186a2009370300200041106a2008370300200041086a20073703000c040b200041003a00010c020b200041003a00010c010b200041013a00010c010b410121040b200020043a0000200341c0006a2480808080000b0b00200041ff017141106a0bdc0201027f20004108762101410121020240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240200041ff01710e28270102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252600270b200041107641808004720f0b41020f0b41030f0b41040f0b41050f0b41060f0b41070f0b41080f0b41090f0b410a0f0b410b0f0b410c0f0b410d0f0b410e0f0b410f0f0b41100f0b41110f0b41120f0b41130f0b41140f0b41150f0b41160f0b41170f0b41180f0b41190f0b411a0f0b411b0f0b411c0f0b411d0f0b411e0f0b411f0f0b41200f0b41210f0b41220f0b41230f0b200141ff01714180f803720f0b200141ff01714180fa03720f0b200141ff01714180fc03720f0b200141ff01714180fe037221020b20020b9d0501047f410021014128210241002103410021040240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024020000e2428270102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122000b20004180807c7141808004460d22200041807e7122024180fa03460d2420024180fc03460d2341262104410021032000210120024180fe03460d264123411e20024180f8034622021b2104410021032000410020021b21010c260b41012104410021030c250b41022104410021030c240b41032104410021030c230b41042104410021030c220b41052104410021030c210b41062104410021030c200b41072104410021030c1f0b41082104410021030c1e0b41092104410021030c1d0b410a2104410021030c1c0b410b2104410021030c1b0b410c2104410021030c1a0b410d2104410021030c190b410e2104410021030c180b410f2104410021030c170b41102104410021030c160b41112104410021030c150b41122104410021030c140b41132104410021030c130b41142104410021030c120b41152104410021030c110b41162104410021030c100b41172104410021030c0f0b41182104410021030c0e0b41192104410021030c0d0b411a2104410021030c0c0b411b2104410021030c0b0b411c2104410021030c0a0b411d2104410021030c090b411e2104410021030c080b411f2104410021030c070b41202104410021030c060b41212104410021030c050b41222104410021030c040b20004110742103412721040c030b412521040c010b412421040b41002103200021010b20014108744180fe03712003722100200421020b20022000720bb50101027f0240024002402002450d0041012104200141004e0d01410021010c020b2000200136020441012104410021010c010b024002400240024002400240200328020022050d002001450d010c030b200328020422030d0120010d020b200221030c030b20052003200220011087808080002203450d010c020b2001200210858080800022030d010b20002001360204200221010c010b20002003360204410021040b20002004360200200041086a20013602000be90101027f23808080800041206b2203248080808000024002400240200041046a280200220420016b20024f0d00200120026a22022001490d02200441017422012002200120024b1b22014108200141084b1b2101024002402004450d00200341106a41086a410136020020032004360214200320002802003602100c010b200341003602100b200320014101200341106a10b380808000200341086a28020021012003280204210220032802004101460d0120002002360200200041046a20013602000b200341206a2480808080000f0b2001450d002002200110b980808000000b10bb80808000000b2d01017e4200210102400240024020000e020200010b428080b480104200840f0b420121010b428080342001840bcc0202047f047e23808080800041d0006b2103024020024120490d00200341286a410a6a200141086a290000370100200341286a41126a200141106a290000370100200341286a411a6a200141186a2900003701002003200129000037012a200341086a200341286a41086a2204290100370300200341106a200341286a41106a2205290100370300200341186a200341286a41186a2206290100370300200341206a200341286a41206a2f01003b01002003200329012837030020062003411a6a29010022073703002005200341126a290100220837030020042003410a6a290100220937030020032003290102220a3703282000411c6a2007370000200041146a20083700002000410c6a2009370000200041046a200a370000200041286a200241606a360200200041246a200141206a360200200041003a00000f0b200041003a0001200041013a00000b4e01017e2001290300210202404108410110858080800022010d004108410110b980808000000b20012002370000200041003a0000200041086a42888080808001370200200041046a20013602000b040041080b0d0020002001108980808000000b0d0020002001109680808000000b170041f080c080004111418481c0800010bd80808000000b02000b5401017f23808080800041206b2203248080808000200341146a41003602002003419481c08000360210200342013702042003200136021c200320003602182003200341186a3602002003200210be80808000000b4201017f23808080800041106b22022480808080002002200136020c200220003602082002419481c080003602042002419481c080003602002002109580808000000b0c0042f88fc8f48eac98b6280b3601017f02402002450d00200021030340200320012d00003a0000200141016a2101200341016a21032002417f6a22020d000b0b20000b2c01017f02402002450d00200021030340200320013a0000200341016a21032002417f6a22020d000b0b20000b0bae010100418080c0000ba401746172676574616d6f756e740100000000000000010000000200000003000000040000000100000004000000040000000500000006000000070000000800000000000000010000000200000003000000040000006c6962726172792f616c6c6f632f7372632f7261775f7665632e72736361706163697479206f766572666c6f77000000540010001c00000019020000050000000900000000000000010000000a000000", + "args": [ + [ + "amount", + { + "cl_type": "U512", + "bytes": "0500863ba101", + "parsed": "7000000000" + } + ], + [ + "target", + { + "cl_type": { + "ByteArray": 32 + }, + "bytes": "358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4", + "parsed": "358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4" + } + ] + ] + } + }, + "approvals": [ + { + "signer": "01637772fddbe65f2abe17c1d83f8d1fa88da8754fbd344b12c49e76ade6a763c1", + "signature": "01c9bb84725db1ca04e27abb0911c9f7acf181446b1087a17f2c8a7a9b20ec0de660e65ef47c7024bf16e336179afe4a31a8268cf08eb4ea945e0d59a51df28305" + } + ] + }, + "execution_results": [ + { + "block_hash": "e2800c21cb3c93b8e82fd348e044456f326bfbfce140bc00581800cce8a18fd4", + "result": { + "Success": { + "effect": { + "operations": [ + { + "key": "balance-88aa71c64a5511299a258a0f707984476a10929f80bf152936528582095621d5", + "kind": "Write" + }, + { + "key": "deploy-5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "kind": "Write" + }, + { + "key": "hash-010c3fe81b7b862e50c77ef9a958a05bfa98444f26f96f23d37a13c96244cfb7", + "kind": "Read" + }, + { + "key": "balance-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1", + "kind": "Write" + }, + { + "key": "transfer-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54", + "kind": "Write" + }, + { + "key": "balance-98d945f5324f865243b7c02c0417ab6eac361c5c56602fd42ced834a1ba201b6", + "kind": "Read" + }, + { + "key": "hash-8cf5e4acf51f54eb59291599187838dc3bc234089c46fc6ca8ad17e762ae4401", + "kind": "Read" + }, + { + "key": "balance-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54", + "kind": "Write" + }, + { + "key": "uref-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54-000", + "kind": "Write" + }, + { + "key": "account-hash-358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4", + "kind": "Write" + } + ], + "transforms": [ + { + "key": "transfer-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54", + "transform": { + "WriteTransfer": { + "deploy_hash": "5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "from": "account-hash-cfdcd5e6aea50288bcaad51f796f284d5fcc99d9557e29e7ab357e01d27c3341", + "to": "account-hash-358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4", + "source": "uref-88aa71c64a5511299a258a0f707984476a10929f80bf152936528582095621d5-007", + "target": "uref-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54-004", + "amount": "7000000000", + "gas": "0", + "id": null + } + } + }, + { + "key": "account-hash-358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4", + "transform": { + "WriteAccount": "account-hash-358a81b723a2b7e5c7bfafe8779f5856c7d18822942c977642f6b94efb2b95d4" + } + }, + { + "key": "balance-bb9f47c30ddbe192438fad10b7db8200247529d6592af7159d92c5f3aa7716a1", + "transform": { + "AddUInt512": "3000000000" + } + }, + { + "key": "balance-98d945f5324f865243b7c02c0417ab6eac361c5c56602fd42ced834a1ba201b6", + "transform": "Identity" + }, + { + "key": "balance-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54", + "transform": { + "WriteCLValue": { + "cl_type": "U512", + "bytes": "0500863ba101", + "parsed": "7000000000" + } + } + }, + { + "key": "uref-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54-000", + "transform": { + "WriteCLValue": { + "cl_type": "Unit", + "bytes": "", + "parsed": null + } + } + }, + { + "key": "hash-010c3fe81b7b862e50c77ef9a958a05bfa98444f26f96f23d37a13c96244cfb7", + "transform": "Identity" + }, + { + "key": "balance-88aa71c64a5511299a258a0f707984476a10929f80bf152936528582095621d5", + "transform": { + "WriteCLValue": { + "cl_type": "U512", + "bytes": "050064be3a11", + "parsed": "74000000000" + } + } + }, + { + "key": "deploy-5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "transform": { + "WriteDeployInfo": { + "deploy_hash": "5db09c0275c4c1ba54ebcc69784ed767350bf9c2b0be7ab4fec1ca84acd1c47d", + "transfers": [ + "transfer-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54" + ], + "from": "account-hash-cfdcd5e6aea50288bcaad51f796f284d5fcc99d9557e29e7ab357e01d27c3341", + "source": "uref-88aa71c64a5511299a258a0f707984476a10929f80bf152936528582095621d5-007", + "gas": "75430400" + } + } + }, + { + "key": "hash-8cf5e4acf51f54eb59291599187838dc3bc234089c46fc6ca8ad17e762ae4401", + "transform": "Identity" + } + ] + }, + "transfers": [ + "transfer-ee399206b4c7bc92aa823b8811e8b990a2f05ae9e9eb6de2c04fb0df6d7c2b54" + ], + "cost": "75430400" + } + } + } + ] + } +} \ No newline at end of file From 239b22026bba47e3e7dab9b6e216401ff0df47ee Mon Sep 17 00:00:00 2001 From: Ss Date: Fri, 8 Oct 2021 02:56:49 +1100 Subject: [PATCH 2/3] Added file for RPC Discover Test --- .../resources/method-json/rpc_discover.json | 3410 +++++++++++++++++ 1 file changed, 3410 insertions(+) create mode 100644 src/test/resources/method-json/rpc_discover.json diff --git a/src/test/resources/method-json/rpc_discover.json b/src/test/resources/method-json/rpc_discover.json new file mode 100644 index 0000000..d809420 --- /dev/null +++ b/src/test/resources/method-json/rpc_discover.json @@ -0,0 +1,3410 @@ +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "api_version": "1.1.0", + "name": "OpenRPC Schema", + "schema": { + "openrpc": "1.0.0-rc1", + "info": { + "version": "1.1.0", + "title": "Client API of Casper Node", + "description": "This describes the JSON-RPC 2.0 API of a node on the Casper network.", + "contact": { + "name": "CasperLabs", + "url": "https://casperlabs.io" + }, + "license": { + "name": "CasperLabs Open Source License Version 1.0", + "url": "https://raw.githubusercontent.com/CasperLabs/casper-node/master/LICENSE" + } + }, + "servers": [ + { + "name": "any Casper Network node", + "url": "http://IP:PORT/rpc/" + } + ], + "methods": [ + { + "name": "account_put_deploy", + "summary": "receives a Deploy to be executed by the network", + "params": [ + { + "name": "deploy", + "schema": { + "description": "The `Deploy`.", + "$ref": "#/components/schemas/Deploy" + }, + "required": true + } + ], + "result": { + "name": "account_put_deploy_result", + "schema": { + "description": "Result for \"account_put_deploy\" RPC response.", + "type": "object", + "required": [ + "api_version", + "deploy_hash" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "deploy_hash": { + "description": "The deploy hash.", + "$ref": "#/components/schemas/DeployHash" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "account_put_deploy_example", + "params": [ + { + "name": "deploy", + "value": { + "approvals": [ + { + "signature": "012dbf03817a51794a8e19e0724884075e6d1fbec326b766ecfa6658b41f81290da85e23b24e88b1c8d9761185c961daee1adab0649912a6477bcd2e69bd91bd08", + "signer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c" + } + ], + "hash": "01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187", + "header": { + "account": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "body_hash": "4811966d37fe5674a8af4001884ea0d9042d1c06668da0c963769c3a01ebd08f", + "chain_name": "casper-example", + "dependencies": [ + "0101010101010101010101010101010101010101010101010101010101010101" + ], + "gas_price": 1, + "timestamp": "2020-11-17T00:39:24.072Z", + "ttl": "1h" + }, + "payment": { + "StoredContractByName": { + "args": [ + [ + "quantity", + { + "bytes": "e8030000", + "cl_type": "I32", + "parsed": 1000 + } + ] + ], + "entry_point": "example-entry-point", + "name": "casper-example" + } + }, + "session": { + "Transfer": { + "args": [ + [ + "amount", + { + "bytes": "e8030000", + "cl_type": "I32", + "parsed": 1000 + } + ] + ] + } + } + } + } + ], + "result": { + "name": "account_put_deploy_example_result", + "value": { + "api_version": "1.1.0", + "deploy_hash": "01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" + } + } + } + ] + }, + { + "name": "info_get_deploy", + "summary": "returns a Deploy from the network", + "params": [ + { + "name": "deploy_hash", + "schema": { + "description": "The deploy hash.", + "$ref": "#/components/schemas/DeployHash" + }, + "required": true + } + ], + "result": { + "name": "info_get_deploy_result", + "schema": { + "description": "Result for \"info_get_deploy\" RPC response.", + "type": "object", + "required": [ + "api_version", + "deploy", + "execution_results" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "deploy": { + "description": "The deploy.", + "$ref": "#/components/schemas/Deploy" + }, + "execution_results": { + "description": "The map of block hash to execution result.", + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonExecutionResult" + } + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "info_get_deploy_example", + "params": [ + { + "name": "deploy_hash", + "value": "01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" + } + ], + "result": { + "name": "info_get_deploy_example_result", + "value": { + "api_version": "1.1.0", + "deploy": { + "approvals": [ + { + "signature": "012dbf03817a51794a8e19e0724884075e6d1fbec326b766ecfa6658b41f81290da85e23b24e88b1c8d9761185c961daee1adab0649912a6477bcd2e69bd91bd08", + "signer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c" + } + ], + "hash": "01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187", + "header": { + "account": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "body_hash": "4811966d37fe5674a8af4001884ea0d9042d1c06668da0c963769c3a01ebd08f", + "chain_name": "casper-example", + "dependencies": [ + "0101010101010101010101010101010101010101010101010101010101010101" + ], + "gas_price": 1, + "timestamp": "2020-11-17T00:39:24.072Z", + "ttl": "1h" + }, + "payment": { + "StoredContractByName": { + "args": [ + [ + "quantity", + { + "bytes": "e8030000", + "cl_type": "I32", + "parsed": 1000 + } + ] + ], + "entry_point": "example-entry-point", + "name": "casper-example" + } + }, + "session": { + "Transfer": { + "args": [ + [ + "amount", + { + "bytes": "e8030000", + "cl_type": "I32", + "parsed": 1000 + } + ] + ] + } + } + }, + "execution_results": [ + { + "block_hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", + "result": { + "Success": { + "cost": "123456", + "effect": { + "operations": [ + { + "key": "account-hash-2c4a11c062a8a337bfc97e27fd66291caeb2c65865dcb5d3ef3759c4c97efecb", + "kind": "Write" + }, + { + "key": "deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1", + "kind": "Read" + } + ], + "transforms": [ + { + "key": "uref-2c4a11c062a8a337bfc97e27fd66291caeb2c65865dcb5d3ef3759c4c97efecb-007", + "transform": { + "AddUInt64": 8 + } + }, + { + "key": "deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1", + "transform": "Identity" + } + ] + }, + "transfers": [ + "transfer-5959595959595959595959595959595959595959595959595959595959595959", + "transfer-8282828282828282828282828282828282828282828282828282828282828282" + ] + } + } + } + ] + } + } + } + ] + }, + { + "name": "info_get_peers", + "summary": "returns a list of peers connected to the node", + "params": [], + "result": { + "name": "info_get_peers_result", + "schema": { + "description": "Result for \"info_get_peers\" RPC response.", + "type": "object", + "required": [ + "api_version", + "peers" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "peers": { + "description": "The node ID and network address of each connected peer.", + "$ref": "#/components/schemas/PeersMap" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "info_get_peers_example", + "params": [], + "result": { + "name": "info_get_peers_example_result", + "value": { + "api_version": "1.1.0", + "peers": [ + { + "address": "127.0.0.1:54321", + "node_id": "NodeId::Tls(0101..0101)" + } + ] + } + } + } + ] + }, + { + "name": "info_get_status", + "summary": "returns the current status of the node", + "params": [], + "result": { + "name": "info_get_status_result", + "schema": { + "description": "Result for \"info_get_status\" RPC response.", + "type": "object", + "required": [ + "api_version", + "build_version", + "chainspec_name", + "our_public_signing_key", + "peers", + "starting_state_root_hash" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "chainspec_name": { + "description": "The chainspec name.", + "type": "string" + }, + "starting_state_root_hash": { + "description": "The state root hash used at the start of the current session.", + "type": "string" + }, + "peers": { + "description": "The node ID and network address of each connected peer.", + "$ref": "#/components/schemas/PeersMap" + }, + "last_added_block_info": { + "description": "The minimal info of the last block from the linear chain.", + "anyOf": [ + { + "$ref": "#/components/schemas/MinimalBlockInfo" + }, + { + "type": "null" + } + ] + }, + "our_public_signing_key": { + "description": "Our public signing key.", + "$ref": "#/components/schemas/PublicKey" + }, + "round_length": { + "description": "The next round length if this node is a validator.", + "anyOf": [ + { + "$ref": "#/components/schemas/TimeDiff" + }, + { + "type": "null" + } + ] + }, + "next_upgrade": { + "description": "Information about the next scheduled upgrade.", + "anyOf": [ + { + "$ref": "#/components/schemas/NextUpgrade" + }, + { + "type": "null" + } + ] + }, + "build_version": { + "description": "The compiled node version.", + "type": "string" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "info_get_status_example", + "params": [], + "result": { + "name": "info_get_status_example_result", + "value": { + "api_version": "1.1.0", + "build_version": "1.1.1-874c2db4", + "chainspec_name": "casper-example", + "last_added_block_info": { + "creator": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "era_id": 1, + "hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", + "height": 10, + "state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808", + "timestamp": "2020-11-17T00:39:24.072Z" + }, + "next_upgrade": { + "activation_point": 42, + "protocol_version": "2.0.1" + }, + "our_public_signing_key": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "peers": [ + { + "address": "127.0.0.1:54321", + "node_id": "NodeId::Tls(0101..0101)" + } + ], + "round_length": "1m 5s 536ms", + "starting_state_root_hash": "0202..0202" + } + } + } + ] + }, + { + "name": "chain_get_block", + "summary": "returns a Block from the network", + "params": [ + { + "name": "block_identifier", + "schema": { + "description": "The block hash.", + "$ref": "#/components/schemas/BlockIdentifier" + }, + "required": true + } + ], + "result": { + "name": "chain_get_block_result", + "schema": { + "description": "Result for \"chain_get_block\" RPC response.", + "type": "object", + "required": [ + "api_version" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "block": { + "description": "The block, if found.", + "anyOf": [ + { + "$ref": "#/components/schemas/JsonBlock" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "chain_get_block_example", + "params": [ + { + "name": "block_identifier", + "value": { + "Hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" + } + } + ], + "result": { + "name": "chain_get_block_example_result", + "value": { + "api_version": "1.1.0", + "block": { + "body": { + "deploy_hashes": [ + "01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" + ], + "proposer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "transfer_hashes": [] + }, + "hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", + "header": { + "accumulated_seed": "ac979f51525cfd979b14aa7dc0737c5154eabe0db9280eceaa8dc8d2905b20d5", + "body_hash": "5f4b03936cebebe35eb1f2c542d34098b4c645c898673f1597de64ebdf916956", + "era_end": { + "era_report": { + "equivocators": [ + "013b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29" + ], + "inactive_validators": [ + "018139770ea87d175f56a35466c34c7ecccb8d8a91b4ee37a25df60f5b8fc9b394" + ], + "rewards": [ + { + "amount": 1000, + "validator": "018a88e3dd7409f195fd52db2d3cba5d72ca6709bf1d94121bf3748801b40f6f5c" + } + ] + }, + "next_era_validator_weights": [ + { + "validator": "016e7a1cdd29b0b78fd13af4c5598feff4ef2a97166e3ca6f2e4fbfccd80505bf1", + "weight": "456" + }, + { + "validator": "018a875fff1eb38451577acd5afee405456568dd7c89e090863a0557bc7af49f17", + "weight": "789" + }, + { + "validator": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "weight": "123" + } + ] + }, + "era_id": 1, + "height": 10, + "parent_hash": "0707070707070707070707070707070707070707070707070707070707070707", + "protocol_version": "1.0.0", + "random_bit": true, + "state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808", + "timestamp": "2020-11-17T00:39:24.072Z" + }, + "proofs": [ + { + "public_key": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", + "signature": "01674bf915211f4038d8e4ce9c68023d8b77a85fd937aaf951e1dc16e88a75664a055bf531babdb742003b7e731e3515138928045145490fdec530b461b97c7a0a" + } + ] + } + } + } + } + ] + }, + { + "name": "chain_get_block_transfers", + "summary": "returns all transfers for a Block from the network", + "params": [ + { + "name": "block_identifier", + "schema": { + "description": "The block hash.", + "$ref": "#/components/schemas/BlockIdentifier" + }, + "required": true + } + ], + "result": { + "name": "chain_get_block_transfers_result", + "schema": { + "description": "Result for \"chain_get_block_transfers\" RPC response.", + "type": "object", + "required": [ + "api_version" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "block_hash": { + "description": "The block hash, if found.", + "anyOf": [ + { + "$ref": "#/components/schemas/BlockHash" + }, + { + "type": "null" + } + ] + }, + "transfers": { + "description": "The block's transfers, if found.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Transfer" + } + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "chain_get_block_transfers_example", + "params": [ + { + "name": "block_identifier", + "value": { + "Hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" + } + } + ], + "result": { + "name": "chain_get_block_transfers_example_result", + "value": { + "api_version": "1.1.0", + "block_hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", + "transfers": [ + { + "amount": "0", + "deploy_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "from": "account-hash-0000000000000000000000000000000000000000000000000000000000000000", + "gas": "0", + "id": null, + "source": "uref-0000000000000000000000000000000000000000000000000000000000000000-000", + "target": "uref-0000000000000000000000000000000000000000000000000000000000000000-000", + "to": null + } + ] + } + } + } + ] + }, + { + "name": "chain_get_state_root_hash", + "summary": "returns a state root hash at a given Block", + "params": [ + { + "name": "block_identifier", + "schema": { + "description": "The block hash.", + "$ref": "#/components/schemas/BlockIdentifier" + }, + "required": true + } + ], + "result": { + "name": "chain_get_state_root_hash_result", + "schema": { + "description": "Result for \"chain_get_state_root_hash\" RPC response.", + "type": "object", + "required": [ + "api_version" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "state_root_hash": { + "description": "Hex-encoded hash of the state root.", + "anyOf": [ + { + "$ref": "#/components/schemas/Digest" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "chain_get_state_root_hash_example", + "params": [ + { + "name": "block_identifier", + "value": { + "Height": 10 + } + } + ], + "result": { + "name": "chain_get_state_root_hash_example_result", + "value": { + "api_version": "1.1.0", + "state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808" + } + } + } + ] + }, + { + "name": "state_get_item", + "summary": "returns a stored value from the network", + "params": [ + { + "name": "state_root_hash", + "schema": { + "description": "Hash of the state root.", + "$ref": "#/components/schemas/Digest" + }, + "required": true + }, + { + "name": "key", + "schema": { + "description": "`casper_types::Key` as formatted string.", + "type": "string" + }, + "required": true + }, + { + "name": "path", + "schema": { + "description": "The path components starting from the key as base.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "required": false + } + ], + "result": { + "name": "state_get_item_result", + "schema": { + "description": "Result for \"state_get_item\" RPC response.", + "type": "object", + "required": [ + "api_version", + "merkle_proof", + "stored_value" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "stored_value": { + "description": "The stored value.", + "$ref": "#/components/schemas/StoredValue" + }, + "merkle_proof": { + "description": "The merkle proof.", + "type": "string" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "state_get_item_example", + "params": [ + { + "name": "key", + "value": "deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1" + }, + { + "name": "path", + "value": [ + "inner" + ] + }, + { + "name": "state_root_hash", + "value": "0808080808080808080808080808080808080808080808080808080808080808" + } + ], + "result": { + "name": "state_get_item_example_result", + "value": { + "api_version": "1.1.0", + "merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3", + "stored_value": { + "CLValue": { + "bytes": "0100000000000000", + "cl_type": "U64", + "parsed": 1 + } + } + } + } + } + ] + }, + { + "name": "state_get_balance", + "summary": "returns a purse's balance from the network", + "params": [ + { + "name": "state_root_hash", + "schema": { + "description": "The hash of state root.", + "$ref": "#/components/schemas/Digest" + }, + "required": true + }, + { + "name": "purse_uref", + "schema": { + "description": "Formatted URef.", + "type": "string" + }, + "required": true + } + ], + "result": { + "name": "state_get_balance_result", + "schema": { + "description": "Result for \"state_get_balance\" RPC response.", + "type": "object", + "required": [ + "api_version", + "balance_value", + "merkle_proof" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "balance_value": { + "description": "The balance value.", + "$ref": "#/components/schemas/U512" + }, + "merkle_proof": { + "description": "The merkle proof.", + "type": "string" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "state_get_balance_example", + "params": [ + { + "name": "purse_uref", + "value": "uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007" + }, + { + "name": "state_root_hash", + "value": "0808080808080808080808080808080808080808080808080808080808080808" + } + ], + "result": { + "name": "state_get_balance_example_result", + "value": { + "api_version": "1.1.0", + "balance_value": "123456", + "merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3" + } + } + } + ] + }, + { + "name": "chain_get_era_info_by_switch_block", + "summary": "returns an EraInfo from the network", + "params": [ + { + "name": "block_identifier", + "schema": { + "description": "The block identifier.", + "$ref": "#/components/schemas/BlockIdentifier" + }, + "required": true + } + ], + "result": { + "name": "chain_get_era_info_by_switch_block_result", + "schema": { + "description": "Result for \"chain_get_era_info\" RPC response.", + "type": "object", + "required": [ + "api_version" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "era_summary": { + "description": "The era summary.", + "anyOf": [ + { + "$ref": "#/components/schemas/EraSummary" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "chain_get_era_info_by_switch_block_example", + "params": [ + { + "name": "block_identifier", + "value": { + "Hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" + } + } + ], + "result": { + "name": "chain_get_era_info_by_switch_block_example_result", + "value": { + "api_version": "1.1.0", + "era_summary": { + "block_hash": "528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", + "era_id": 42, + "merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3", + "state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808", + "stored_value": { + "EraInfo": { + "seigniorage_allocations": [] + } + } + } + } + } + } + ] + }, + { + "name": "state_get_auction_info", + "summary": "returns the bids and validators as of the most recently added Block", + "params": [], + "result": { + "name": "state_get_auction_info_result", + "schema": { + "description": "Result for \"state_get_auction_info\" RPC response.", + "type": "object", + "required": [ + "api_version", + "auction_state" + ], + "properties": { + "api_version": { + "description": "The RPC API version.", + "type": "string" + }, + "auction_state": { + "description": "The auction state.", + "$ref": "#/components/schemas/AuctionState" + } + }, + "additionalProperties": false + } + }, + "examples": [ + { + "name": "state_get_auction_info_example", + "params": [], + "result": { + "name": "state_get_auction_info_example_result", + "value": { + "api_version": "1.1.0", + "auction_state": { + "bids": [ + { + "bid": { + "bonding_purse": "uref-fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa-007", + "delegation_rate": 0, + "delegators": [], + "inactive": false, + "staked_amount": "10" + }, + "public_key": "01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61" + } + ], + "block_height": 10, + "era_validators": [ + { + "era_id": 10, + "validator_weights": [ + { + "public_key": "01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61", + "weight": "10" + } + ] + } + ], + "state_root_hash": "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b" + } + } + } + } + ] + } + ], + "components": { + "schemas": { + "Deploy": { + "description": "A deploy; an item containing a smart contract along with the requester's signature(s).", + "type": "object", + "required": [ + "approvals", + "hash", + "header", + "payment", + "session" + ], + "properties": { + "hash": { + "$ref": "#/components/schemas/DeployHash" + }, + "header": { + "$ref": "#/components/schemas/DeployHeader" + }, + "payment": { + "$ref": "#/components/schemas/ExecutableDeployItem" + }, + "session": { + "$ref": "#/components/schemas/ExecutableDeployItem" + }, + "approvals": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Approval" + } + } + }, + "additionalProperties": false + }, + "DeployHash": { + "description": "Hex-encoded deploy hash.", + "allOf": [ + { + "$ref": "#/components/schemas/Digest" + } + ] + }, + "Digest": { + "description": "Hex-encoded hash digest.", + "type": "string" + }, + "DeployHeader": { + "description": "The header portion of a [`Deploy`](struct.Deploy.html).", + "type": "object", + "required": [ + "account", + "body_hash", + "chain_name", + "dependencies", + "gas_price", + "timestamp", + "ttl" + ], + "properties": { + "account": { + "$ref": "#/components/schemas/PublicKey" + }, + "timestamp": { + "$ref": "#/components/schemas/Timestamp" + }, + "ttl": { + "$ref": "#/components/schemas/TimeDiff" + }, + "gas_price": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "body_hash": { + "$ref": "#/components/schemas/Digest" + }, + "dependencies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeployHash" + } + }, + "chain_name": { + "type": "string" + } + }, + "additionalProperties": false + }, + "PublicKey": { + "description": "Hex-encoded cryptographic public key, including the algorithm tag prefix.", + "type": "string" + }, + "Timestamp": { + "description": "Timestamp formatted as per RFC 3339", + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "TimeDiff": { + "description": "Human-readable duration.", + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "ExecutableDeployItem": { + "anyOf": [ + { + "type": "object", + "required": [ + "ModuleBytes" + ], + "properties": { + "ModuleBytes": { + "type": "object", + "required": [ + "args", + "module_bytes" + ], + "properties": { + "module_bytes": { + "description": "Hex-encoded raw Wasm bytes.", + "type": "string" + }, + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "StoredContractByHash" + ], + "properties": { + "StoredContractByHash": { + "type": "object", + "required": [ + "args", + "entry_point", + "hash" + ], + "properties": { + "hash": { + "description": "Hex-encoded hash.", + "type": "string" + }, + "entry_point": { + "type": "string" + }, + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "StoredContractByName" + ], + "properties": { + "StoredContractByName": { + "type": "object", + "required": [ + "args", + "entry_point", + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "entry_point": { + "type": "string" + }, + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "StoredVersionedContractByHash" + ], + "properties": { + "StoredVersionedContractByHash": { + "type": "object", + "required": [ + "args", + "entry_point", + "hash" + ], + "properties": { + "hash": { + "description": "Hex-encoded hash.", + "type": "string" + }, + "version": { + "type": [ + "integer", + "null" + ], + "format": "uint32", + "minimum": 0 + }, + "entry_point": { + "type": "string" + }, + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "StoredVersionedContractByName" + ], + "properties": { + "StoredVersionedContractByName": { + "type": "object", + "required": [ + "args", + "entry_point", + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": [ + "integer", + "null" + ], + "format": "uint32", + "minimum": 0 + }, + "entry_point": { + "type": "string" + }, + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "Transfer" + ], + "properties": { + "Transfer": { + "type": "object", + "required": [ + "args" + ], + "properties": { + "args": { + "$ref": "#/components/schemas/RuntimeArgs" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "RuntimeArgs": { + "description": "Represents a collection of arguments passed to a smart contract.", + "type": "array", + "items": { + "$ref": "#/components/schemas/NamedArg" + } + }, + "NamedArg": { + "description": "Named arguments to a contract", + "type": "array", + "items": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/CLValue" + } + ], + "maxItems": 2, + "minItems": 2 + }, + "CLValue": { + "description": "A Casper value, i.e. a value which can be stored and manipulated by smart contracts.\n\nIt holds the underlying data as a type-erased, serialized `Vec` and also holds the CLType of the underlying data as a separate member.\n\nThe `parsed` field, representing the original value, is a convenience only available when a CLValue is encoded to JSON, and can always be set to null if preferred.", + "type": "object", + "required": [ + "bytes", + "cl_type" + ], + "properties": { + "cl_type": { + "$ref": "#/components/schemas/CLType" + }, + "bytes": { + "type": "string" + }, + "parsed": true + }, + "additionalProperties": false + }, + "CLType": { + "description": "Casper types, i.e. types which can be stored and manipulated by smart contracts.\n\nProvides a description of the underlying data type of a [`CLValue`](crate::CLValue).", + "anyOf": [ + { + "type": "string", + "enum": [ + "Bool", + "I32", + "I64", + "U8", + "U32", + "U64", + "U128", + "U256", + "U512", + "Unit", + "String", + "Key", + "URef", + "PublicKey", + "Any" + ] + }, + { + "description": "`Option` of a `CLType`.", + "type": "object", + "required": [ + "Option" + ], + "properties": { + "Option": { + "$ref": "#/components/schemas/CLType" + } + }, + "additionalProperties": false + }, + { + "description": "Variable-length list of a single `CLType` (comparable to a `Vec`).", + "type": "object", + "required": [ + "List" + ], + "properties": { + "List": { + "$ref": "#/components/schemas/CLType" + } + }, + "additionalProperties": false + }, + { + "description": "Fixed-length list of a single `CLType` (comparable to a Rust array).", + "type": "object", + "required": [ + "ByteArray" + ], + "properties": { + "ByteArray": { + "type": "integer", + "format": "uint32", + "minimum": 0 + } + }, + "additionalProperties": false + }, + { + "description": "`Result` with `Ok` and `Err` variants of `CLType`s.", + "type": "object", + "required": [ + "Result" + ], + "properties": { + "Result": { + "type": "object", + "required": [ + "err", + "ok" + ], + "properties": { + "ok": { + "$ref": "#/components/schemas/CLType" + }, + "err": { + "$ref": "#/components/schemas/CLType" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "description": "Map with keys of a single `CLType` and values of a single `CLType`.", + "type": "object", + "required": [ + "Map" + ], + "properties": { + "Map": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "$ref": "#/components/schemas/CLType" + }, + "value": { + "$ref": "#/components/schemas/CLType" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "description": "1-ary tuple of a `CLType`.", + "type": "object", + "required": [ + "Tuple1" + ], + "properties": { + "Tuple1": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CLType" + }, + "maxItems": 1, + "minItems": 1 + } + }, + "additionalProperties": false + }, + { + "description": "2-ary tuple of `CLType`s.", + "type": "object", + "required": [ + "Tuple2" + ], + "properties": { + "Tuple2": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CLType" + }, + "maxItems": 2, + "minItems": 2 + } + }, + "additionalProperties": false + }, + { + "description": "3-ary tuple of `CLType`s.", + "type": "object", + "required": [ + "Tuple3" + ], + "properties": { + "Tuple3": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CLType" + }, + "maxItems": 3, + "minItems": 3 + } + }, + "additionalProperties": false + } + ] + }, + "Approval": { + "description": "A struct containing a signature and the public key of the signer.", + "type": "object", + "required": [ + "signature", + "signer" + ], + "properties": { + "signer": { + "$ref": "#/components/schemas/PublicKey" + }, + "signature": { + "$ref": "#/components/schemas/Signature" + } + }, + "additionalProperties": false + }, + "Signature": { + "description": "Hex-encoded cryptographic signature, including the algorithm tag prefix.", + "type": "string" + }, + "JsonExecutionResult": { + "description": "The execution result of a single deploy.", + "type": "object", + "required": [ + "block_hash", + "result" + ], + "properties": { + "block_hash": { + "description": "The block hash.", + "allOf": [ + { + "$ref": "#/components/schemas/BlockHash" + } + ] + }, + "result": { + "description": "Execution result.", + "allOf": [ + { + "$ref": "#/components/schemas/ExecutionResult" + } + ] + } + }, + "additionalProperties": false + }, + "BlockHash": { + "description": "A cryptographic hash identifying a [`Block`](struct.Block.html).", + "allOf": [ + { + "$ref": "#/components/schemas/Digest" + } + ] + }, + "ExecutionResult": { + "description": "The result of executing a single deploy.", + "anyOf": [ + { + "description": "The result of a failed execution.", + "type": "object", + "required": [ + "Failure" + ], + "properties": { + "Failure": { + "type": "object", + "required": [ + "cost", + "effect", + "error_message", + "transfers" + ], + "properties": { + "effect": { + "description": "The effect of executing the deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/ExecutionEffect" + } + ] + }, + "transfers": { + "description": "A record of Transfers performed while executing the deploy.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TransferAddr" + } + }, + "cost": { + "description": "The cost of executing the deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + }, + "error_message": { + "description": "The error message associated with executing the deploy.", + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "description": "The result of a successful execution.", + "type": "object", + "required": [ + "Success" + ], + "properties": { + "Success": { + "type": "object", + "required": [ + "cost", + "effect", + "transfers" + ], + "properties": { + "effect": { + "description": "The effect of executing the deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/ExecutionEffect" + } + ] + }, + "transfers": { + "description": "A record of Transfers performed while executing the deploy.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TransferAddr" + } + }, + "cost": { + "description": "The cost of executing the deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "ExecutionEffect": { + "description": "The effect of executing a single deploy.", + "type": "object", + "required": [ + "operations", + "transforms" + ], + "properties": { + "operations": { + "description": "The resulting operations.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Operation" + } + }, + "transforms": { + "description": "The resulting transformations.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TransformEntry" + } + } + }, + "additionalProperties": false + }, + "Operation": { + "description": "An operation performed while executing a deploy.", + "type": "object", + "required": [ + "key", + "kind" + ], + "properties": { + "key": { + "description": "The formatted string of the `Key`.", + "type": "string" + }, + "kind": { + "description": "The type of operation.", + "allOf": [ + { + "$ref": "#/components/schemas/OpKind" + } + ] + } + }, + "additionalProperties": false + }, + "OpKind": { + "description": "The type of operation performed while executing a deploy.", + "type": "string", + "enum": [ + "Read", + "Write", + "Add", + "NoOp" + ] + }, + "TransformEntry": { + "description": "A transformation performed while executing a deploy.", + "type": "object", + "required": [ + "key", + "transform" + ], + "properties": { + "key": { + "description": "The formatted string of the `Key`.", + "type": "string" + }, + "transform": { + "description": "The transformation.", + "allOf": [ + { + "$ref": "#/components/schemas/Transform" + } + ] + } + }, + "additionalProperties": false + }, + "Transform": { + "description": "The actual transformation performed while executing a deploy.", + "anyOf": [ + { + "type": "string", + "enum": [ + "Identity", + "WriteContractWasm", + "WriteContract", + "WriteContractPackage" + ] + }, + { + "description": "Writes the given CLValue to global state.", + "type": "object", + "required": [ + "WriteCLValue" + ], + "properties": { + "WriteCLValue": { + "$ref": "#/components/schemas/CLValue" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given Account to global state.", + "type": "object", + "required": [ + "WriteAccount" + ], + "properties": { + "WriteAccount": { + "$ref": "#/components/schemas/AccountHash" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given DeployInfo to global state.", + "type": "object", + "required": [ + "WriteDeployInfo" + ], + "properties": { + "WriteDeployInfo": { + "$ref": "#/components/schemas/DeployInfo" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given EraInfo to global state.", + "type": "object", + "required": [ + "WriteEraInfo" + ], + "properties": { + "WriteEraInfo": { + "$ref": "#/components/schemas/EraInfo" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given Transfer to global state.", + "type": "object", + "required": [ + "WriteTransfer" + ], + "properties": { + "WriteTransfer": { + "$ref": "#/components/schemas/Transfer" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given Bid to global state.", + "type": "object", + "required": [ + "WriteBid" + ], + "properties": { + "WriteBid": { + "$ref": "#/components/schemas/Bid" + } + }, + "additionalProperties": false + }, + { + "description": "Writes the given Withdraw to global state.", + "type": "object", + "required": [ + "WriteWithdraw" + ], + "properties": { + "WriteWithdraw": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UnbondingPurse" + } + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given `i32`.", + "type": "object", + "required": [ + "AddInt32" + ], + "properties": { + "AddInt32": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given `u64`.", + "type": "object", + "required": [ + "AddUInt64" + ], + "properties": { + "AddUInt64": { + "type": "integer", + "format": "uint64", + "minimum": 0 + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given `U128`.", + "type": "object", + "required": [ + "AddUInt128" + ], + "properties": { + "AddUInt128": { + "$ref": "#/components/schemas/U128" + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given `U256`.", + "type": "object", + "required": [ + "AddUInt256" + ], + "properties": { + "AddUInt256": { + "$ref": "#/components/schemas/U256" + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given `U512`.", + "type": "object", + "required": [ + "AddUInt512" + ], + "properties": { + "AddUInt512": { + "$ref": "#/components/schemas/U512" + } + }, + "additionalProperties": false + }, + { + "description": "Adds the given collection of named keys.", + "type": "object", + "required": [ + "AddKeys" + ], + "properties": { + "AddKeys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NamedKey" + } + } + }, + "additionalProperties": false + }, + { + "description": "A failed transformation, containing an error message.", + "type": "object", + "required": [ + "Failure" + ], + "properties": { + "Failure": { + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "AccountHash": { + "description": "Hex-encoded account hash.", + "type": "string" + }, + "DeployInfo": { + "description": "Information relating to the given Deploy.", + "type": "object", + "required": [ + "deploy_hash", + "from", + "gas", + "source", + "transfers" + ], + "properties": { + "deploy_hash": { + "description": "The relevant Deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/DeployHash" + } + ] + }, + "transfers": { + "description": "Transfers performed by the Deploy.", + "type": "array", + "items": { + "$ref": "#/components/schemas/TransferAddr" + } + }, + "from": { + "description": "Account identifier of the creator of the Deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/AccountHash" + } + ] + }, + "source": { + "description": "Source purse used for payment of the Deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "gas": { + "description": "Gas cost of executing the Deploy.", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + } + }, + "additionalProperties": false + }, + "TransferAddr": { + "description": "Hex-encoded transfer address.", + "type": "string" + }, + "URef": { + "description": "Hex-encoded, formatted URef.", + "type": "string" + }, + "U512": { + "description": "Decimal representation of a 512-bit integer.", + "type": "string" + }, + "EraInfo": { + "description": "Auction metadata. Intended to be recorded at each era.", + "type": "object", + "required": [ + "seigniorage_allocations" + ], + "properties": { + "seigniorage_allocations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeigniorageAllocation" + } + } + }, + "additionalProperties": false + }, + "SeigniorageAllocation": { + "description": "Information about a seigniorage allocation", + "anyOf": [ + { + "description": "Info about a seigniorage allocation for a validator", + "type": "object", + "required": [ + "Validator" + ], + "properties": { + "Validator": { + "type": "object", + "required": [ + "amount", + "validator_public_key" + ], + "properties": { + "validator_public_key": { + "description": "Validator's public key", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "amount": { + "description": "Allocated amount", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "description": "Info about a seigniorage allocation for a delegator", + "type": "object", + "required": [ + "Delegator" + ], + "properties": { + "Delegator": { + "type": "object", + "required": [ + "amount", + "delegator_public_key", + "validator_public_key" + ], + "properties": { + "delegator_public_key": { + "description": "Delegator's public key", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "validator_public_key": { + "description": "Validator's public key", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "amount": { + "description": "Allocated amount", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "Transfer": { + "description": "Represents a transfer from one purse to another", + "type": "object", + "required": [ + "amount", + "deploy_hash", + "from", + "gas", + "source", + "target" + ], + "properties": { + "deploy_hash": { + "description": "Deploy that created the transfer", + "allOf": [ + { + "$ref": "#/components/schemas/DeployHash" + } + ] + }, + "from": { + "description": "Account from which transfer was executed", + "allOf": [ + { + "$ref": "#/components/schemas/AccountHash" + } + ] + }, + "to": { + "description": "Account to which funds are transferred", + "anyOf": [ + { + "$ref": "#/components/schemas/AccountHash" + }, + { + "type": "null" + } + ] + }, + "source": { + "description": "Source purse", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "target": { + "description": "Target purse", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "amount": { + "description": "Transfer amount", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + }, + "gas": { + "description": "Gas", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + }, + "id": { + "description": "User-defined id", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "Bid": { + "description": "An entry in the validator map.", + "type": "object", + "required": [ + "bonding_purse", + "delegation_rate", + "delegators", + "inactive", + "staked_amount", + "validator_public_key" + ], + "properties": { + "validator_public_key": { + "description": "Validator public key", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "bonding_purse": { + "description": "The purse that was used for bonding.", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "staked_amount": { + "description": "The amount of tokens staked by a validator (not including delegators).", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + }, + "delegation_rate": { + "description": "Delegation rate", + "type": "integer", + "format": "uint8", + "minimum": 0 + }, + "vesting_schedule": { + "description": "Vesting schedule for a genesis validator. `None` if non-genesis validator.", + "anyOf": [ + { + "$ref": "#/components/schemas/VestingSchedule" + }, + { + "type": "null" + } + ] + }, + "delegators": { + "description": "This validator's delegators, indexed by their public keys", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Delegator" + } + }, + "inactive": { + "description": "`true` if validator has been \"evicted\"", + "type": "boolean" + } + }, + "additionalProperties": false + }, + "VestingSchedule": { + "type": "object", + "required": [ + "initial_release_timestamp_millis" + ], + "properties": { + "initial_release_timestamp_millis": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "locked_amounts": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/U512" + }, + "maxItems": 14, + "minItems": 14 + } + }, + "additionalProperties": false + }, + "Delegator": { + "description": "Represents a party delegating their stake to a validator (or \"delegatee\")", + "type": "object", + "required": [ + "bonding_purse", + "delegator_public_key", + "staked_amount", + "validator_public_key" + ], + "properties": { + "delegator_public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "staked_amount": { + "$ref": "#/components/schemas/U512" + }, + "bonding_purse": { + "$ref": "#/components/schemas/URef" + }, + "validator_public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "vesting_schedule": { + "anyOf": [ + { + "$ref": "#/components/schemas/VestingSchedule" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + }, + "UnbondingPurse": { + "description": "Unbonding purse.", + "type": "object", + "required": [ + "amount", + "bonding_purse", + "era_of_creation", + "unbonder_public_key", + "validator_public_key" + ], + "properties": { + "bonding_purse": { + "description": "Bonding Purse", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "validator_public_key": { + "description": "Validators public key.", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "unbonder_public_key": { + "description": "Unbonders public key.", + "allOf": [ + { + "$ref": "#/components/schemas/PublicKey" + } + ] + }, + "era_of_creation": { + "description": "Era in which this unbonding request was created.", + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "amount": { + "description": "Unbonding Amount.", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + } + }, + "additionalProperties": false + }, + "U128": { + "description": "Decimal representation of a 128-bit integer.", + "type": "string" + }, + "U256": { + "description": "Decimal representation of a 256-bit integer.", + "type": "string" + }, + "NamedKey": { + "description": "A named key.", + "type": "object", + "required": [ + "key", + "name" + ], + "properties": { + "name": { + "description": "The name of the entry.", + "type": "string" + }, + "key": { + "description": "The value of the entry: a casper `Key` type.", + "type": "string" + } + }, + "additionalProperties": false + }, + "PeersMap": { + "description": "Map of peer IDs to network addresses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/PeerEntry" + } + }, + "PeerEntry": { + "type": "object", + "required": [ + "address", + "node_id" + ], + "properties": { + "node_id": { + "type": "string" + }, + "address": { + "type": "string" + } + }, + "additionalProperties": false + }, + "MinimalBlockInfo": { + "description": "Minimal info of a `Block`.", + "type": "object", + "required": [ + "creator", + "era_id", + "hash", + "height", + "state_root_hash", + "timestamp" + ], + "properties": { + "hash": { + "$ref": "#/components/schemas/BlockHash" + }, + "timestamp": { + "$ref": "#/components/schemas/Timestamp" + }, + "era_id": { + "$ref": "#/components/schemas/EraId" + }, + "height": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "state_root_hash": { + "$ref": "#/components/schemas/Digest" + }, + "creator": { + "$ref": "#/components/schemas/PublicKey" + } + }, + "additionalProperties": false + }, + "EraId": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "NextUpgrade": { + "description": "Information about the next protocol upgrade.", + "type": "object", + "required": [ + "activation_point", + "protocol_version" + ], + "properties": { + "activation_point": { + "$ref": "#/components/schemas/ActivationPoint" + }, + "protocol_version": { + "type": "string" + } + } + }, + "ActivationPoint": { + "description": "The first era to which the associated protocol version applies.", + "anyOf": [ + { + "$ref": "#/components/schemas/EraId" + }, + { + "$ref": "#/components/schemas/Timestamp" + } + ] + }, + "BlockIdentifier": { + "description": "Identifier for possible ways to retrieve a block.", + "anyOf": [ + { + "description": "Identify and retrieve the block with its hash.", + "type": "object", + "required": [ + "Hash" + ], + "properties": { + "Hash": { + "$ref": "#/components/schemas/BlockHash" + } + }, + "additionalProperties": false + }, + { + "description": "Identify and retrieve the block with its height.", + "type": "object", + "required": [ + "Height" + ], + "properties": { + "Height": { + "type": "integer", + "format": "uint64", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + }, + "JsonBlock": { + "description": "A JSON-friendly representation of `Block`.", + "type": "object", + "required": [ + "body", + "hash", + "header", + "proofs" + ], + "properties": { + "hash": { + "$ref": "#/components/schemas/BlockHash" + }, + "header": { + "$ref": "#/components/schemas/JsonBlockHeader" + }, + "body": { + "$ref": "#/components/schemas/JsonBlockBody" + }, + "proofs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonProof" + } + } + }, + "additionalProperties": false + }, + "JsonBlockHeader": { + "type": "object", + "required": [ + "accumulated_seed", + "body_hash", + "era_id", + "height", + "parent_hash", + "protocol_version", + "random_bit", + "state_root_hash", + "timestamp" + ], + "properties": { + "parent_hash": { + "$ref": "#/components/schemas/BlockHash" + }, + "state_root_hash": { + "$ref": "#/components/schemas/Digest" + }, + "body_hash": { + "$ref": "#/components/schemas/Digest" + }, + "random_bit": { + "type": "boolean" + }, + "accumulated_seed": { + "$ref": "#/components/schemas/Digest" + }, + "era_end": { + "anyOf": [ + { + "$ref": "#/components/schemas/JsonEraEnd" + }, + { + "type": "null" + } + ] + }, + "timestamp": { + "$ref": "#/components/schemas/Timestamp" + }, + "era_id": { + "$ref": "#/components/schemas/EraId" + }, + "height": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "protocol_version": { + "$ref": "#/components/schemas/ProtocolVersion" + } + }, + "additionalProperties": false + }, + "JsonEraEnd": { + "type": "object", + "required": [ + "era_report", + "next_era_validator_weights" + ], + "properties": { + "era_report": { + "$ref": "#/components/schemas/JsonEraReport" + }, + "next_era_validator_weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidatorWeight" + } + } + }, + "additionalProperties": false + }, + "JsonEraReport": { + "description": "Equivocation and reward information to be included in the terminal block.", + "type": "object", + "required": [ + "equivocators", + "inactive_validators", + "rewards" + ], + "properties": { + "equivocators": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PublicKey" + } + }, + "rewards": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Reward" + } + }, + "inactive_validators": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PublicKey" + } + } + }, + "additionalProperties": false + }, + "Reward": { + "type": "object", + "required": [ + "amount", + "validator" + ], + "properties": { + "validator": { + "$ref": "#/components/schemas/PublicKey" + }, + "amount": { + "type": "integer", + "format": "uint64", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "ValidatorWeight": { + "type": "object", + "required": [ + "validator", + "weight" + ], + "properties": { + "validator": { + "$ref": "#/components/schemas/PublicKey" + }, + "weight": { + "$ref": "#/components/schemas/U512" + } + }, + "additionalProperties": false + }, + "ProtocolVersion": { + "description": "Casper Platform protocol version", + "type": "string" + }, + "JsonBlockBody": { + "description": "A JSON-friendly representation of `Body`", + "type": "object", + "required": [ + "deploy_hashes", + "proposer", + "transfer_hashes" + ], + "properties": { + "proposer": { + "$ref": "#/components/schemas/PublicKey" + }, + "deploy_hashes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeployHash" + } + }, + "transfer_hashes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeployHash" + } + } + }, + "additionalProperties": false + }, + "JsonProof": { + "description": "A JSON-friendly representation of a proof, i.e. a block's finality signature.", + "type": "object", + "required": [ + "public_key", + "signature" + ], + "properties": { + "public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "signature": { + "$ref": "#/components/schemas/Signature" + } + }, + "additionalProperties": false + }, + "StoredValue": { + "description": "Representation of a value stored in global state.\n\n`Account`, `Contract` and `ContractPackage` have their own `json_compatibility` representations (see their docs for further info).", + "anyOf": [ + { + "description": "A CasperLabs value.", + "type": "object", + "required": [ + "CLValue" + ], + "properties": { + "CLValue": { + "$ref": "#/components/schemas/CLValue" + } + }, + "additionalProperties": false + }, + { + "description": "An account.", + "type": "object", + "required": [ + "Account" + ], + "properties": { + "Account": { + "$ref": "#/components/schemas/Account" + } + }, + "additionalProperties": false + }, + { + "description": "A contract's Wasm", + "type": "object", + "required": [ + "ContractWasm" + ], + "properties": { + "ContractWasm": { + "type": "string" + } + }, + "additionalProperties": false + }, + { + "description": "Methods and type signatures supported by a contract.", + "type": "object", + "required": [ + "Contract" + ], + "properties": { + "Contract": { + "$ref": "#/components/schemas/Contract" + } + }, + "additionalProperties": false + }, + { + "description": "A contract definition, metadata, and security container.", + "type": "object", + "required": [ + "ContractPackage" + ], + "properties": { + "ContractPackage": { + "$ref": "#/components/schemas/ContractPackage" + } + }, + "additionalProperties": false + }, + { + "description": "A record of a transfer", + "type": "object", + "required": [ + "Transfer" + ], + "properties": { + "Transfer": { + "$ref": "#/components/schemas/Transfer" + } + }, + "additionalProperties": false + }, + { + "description": "A record of a deploy", + "type": "object", + "required": [ + "DeployInfo" + ], + "properties": { + "DeployInfo": { + "$ref": "#/components/schemas/DeployInfo" + } + }, + "additionalProperties": false + }, + { + "description": "Auction metadata", + "type": "object", + "required": [ + "EraInfo" + ], + "properties": { + "EraInfo": { + "$ref": "#/components/schemas/EraInfo" + } + }, + "additionalProperties": false + }, + { + "description": "A bid", + "type": "object", + "required": [ + "Bid" + ], + "properties": { + "Bid": { + "$ref": "#/components/schemas/Bid" + } + }, + "additionalProperties": false + }, + { + "description": "A withdraw", + "type": "object", + "required": [ + "Withdraw" + ], + "properties": { + "Withdraw": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UnbondingPurse" + } + } + }, + "additionalProperties": false + } + ] + }, + "Account": { + "description": "Structure representing a user's account, stored in global state.", + "type": "object", + "required": [ + "account_hash", + "action_thresholds", + "associated_keys", + "main_purse", + "named_keys" + ], + "properties": { + "account_hash": { + "$ref": "#/components/schemas/AccountHash" + }, + "named_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NamedKey" + } + }, + "main_purse": { + "$ref": "#/components/schemas/URef" + }, + "associated_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AssociatedKey" + } + }, + "action_thresholds": { + "$ref": "#/components/schemas/ActionThresholds" + } + }, + "additionalProperties": false + }, + "AssociatedKey": { + "type": "object", + "required": [ + "account_hash", + "weight" + ], + "properties": { + "account_hash": { + "$ref": "#/components/schemas/AccountHash" + }, + "weight": { + "type": "integer", + "format": "uint8", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "ActionThresholds": { + "description": "Thresholds that have to be met when executing an action of a certain type.", + "type": "object", + "required": [ + "deployment", + "key_management" + ], + "properties": { + "deployment": { + "type": "integer", + "format": "uint8", + "minimum": 0 + }, + "key_management": { + "type": "integer", + "format": "uint8", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "Contract": { + "description": "A contract struct that can be serialized as JSON object.", + "type": "object", + "required": [ + "contract_package_hash", + "contract_wasm_hash", + "entry_points", + "named_keys", + "protocol_version" + ], + "properties": { + "contract_package_hash": { + "$ref": "#/components/schemas/ContractPackageHash" + }, + "contract_wasm_hash": { + "$ref": "#/components/schemas/ContractWasmHash" + }, + "named_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NamedKey" + } + }, + "entry_points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EntryPoint" + } + }, + "protocol_version": { + "type": "string" + } + }, + "additionalProperties": false + }, + "ContractPackageHash": { + "description": "The hash address of the contract package", + "type": "string" + }, + "ContractWasmHash": { + "description": "The hash address of the contract wasm", + "type": "string" + }, + "EntryPoint": { + "description": "Type signature of a method. Order of arguments matter since can be referenced by index as well as name.", + "type": "object", + "required": [ + "access", + "args", + "entry_point_type", + "name", + "ret" + ], + "properties": { + "name": { + "type": "string" + }, + "args": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Parameter" + } + }, + "ret": { + "$ref": "#/components/schemas/CLType" + }, + "access": { + "$ref": "#/components/schemas/EntryPointAccess" + }, + "entry_point_type": { + "$ref": "#/components/schemas/EntryPointType" + } + } + }, + "Parameter": { + "description": "Parameter to a method", + "type": "object", + "required": [ + "cl_type", + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "cl_type": { + "$ref": "#/components/schemas/CLType" + } + } + }, + "EntryPointAccess": { + "description": "Enum describing the possible access control options for a contract entry point (method).", + "anyOf": [ + { + "type": "string", + "enum": [ + "Public" + ] + }, + { + "description": "Only users from the listed groups may call this method. Note: if the list is empty then this method is not callable from outside the contract.", + "type": "object", + "required": [ + "Groups" + ], + "properties": { + "Groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Group" + } + } + }, + "additionalProperties": false + } + ] + }, + "Group": { + "description": "A (labelled) \"user group\". Each method of a versioned contract may be assoicated with one or more user groups which are allowed to call it.", + "type": "string" + }, + "EntryPointType": { + "description": "Context of method execution", + "type": "string", + "enum": [ + "Session", + "Contract" + ] + }, + "ContractPackage": { + "description": "Contract definition, metadata, and security container.", + "type": "object", + "required": [ + "access_key", + "disabled_versions", + "groups", + "versions" + ], + "properties": { + "access_key": { + "$ref": "#/components/schemas/URef" + }, + "versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContractVersion" + } + }, + "disabled_versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DisabledVersion" + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Groups" + } + } + }, + "additionalProperties": false + }, + "ContractVersion": { + "type": "object", + "required": [ + "contract_hash", + "contract_version", + "protocol_version_major" + ], + "properties": { + "protocol_version_major": { + "type": "integer", + "format": "uint32", + "minimum": 0 + }, + "contract_version": { + "type": "integer", + "format": "uint32", + "minimum": 0 + }, + "contract_hash": { + "$ref": "#/components/schemas/ContractHash" + } + } + }, + "ContractHash": { + "description": "The hash address of the contract", + "type": "string" + }, + "DisabledVersion": { + "type": "object", + "required": [ + "contract_version", + "protocol_version_major" + ], + "properties": { + "protocol_version_major": { + "type": "integer", + "format": "uint32", + "minimum": 0 + }, + "contract_version": { + "type": "integer", + "format": "uint32", + "minimum": 0 + } + } + }, + "Groups": { + "type": "object", + "required": [ + "group", + "keys" + ], + "properties": { + "group": { + "type": "string" + }, + "keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/URef" + } + } + } + }, + "EraSummary": { + "description": "The summary of an era", + "type": "object", + "required": [ + "block_hash", + "era_id", + "merkle_proof", + "state_root_hash", + "stored_value" + ], + "properties": { + "block_hash": { + "description": "The block hash", + "allOf": [ + { + "$ref": "#/components/schemas/BlockHash" + } + ] + }, + "era_id": { + "description": "The era id", + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "stored_value": { + "description": "The StoredValue containing era information", + "allOf": [ + { + "$ref": "#/components/schemas/StoredValue" + } + ] + }, + "state_root_hash": { + "description": "Hex-encoded hash of the state root", + "allOf": [ + { + "$ref": "#/components/schemas/Digest" + } + ] + }, + "merkle_proof": { + "description": "The merkle proof", + "type": "string" + } + }, + "additionalProperties": false + }, + "AuctionState": { + "description": "Data structure summarizing auction contract data.", + "type": "object", + "required": [ + "bids", + "block_height", + "era_validators", + "state_root_hash" + ], + "properties": { + "state_root_hash": { + "description": "Global state hash.", + "allOf": [ + { + "$ref": "#/components/schemas/Digest" + } + ] + }, + "block_height": { + "description": "Block height.", + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "era_validators": { + "description": "Era validators.", + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonEraValidators" + } + }, + "bids": { + "description": "All bids contained within a vector.", + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonBids" + } + } + }, + "additionalProperties": false + }, + "JsonEraValidators": { + "description": "The validators for the given era.", + "type": "object", + "required": [ + "era_id", + "validator_weights" + ], + "properties": { + "era_id": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "validator_weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonValidatorWeights" + } + } + }, + "additionalProperties": false + }, + "JsonValidatorWeights": { + "description": "A validator's weight.", + "type": "object", + "required": [ + "public_key", + "weight" + ], + "properties": { + "public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "weight": { + "$ref": "#/components/schemas/U512" + } + }, + "additionalProperties": false + }, + "JsonBids": { + "description": "A Json representation of a single bid.", + "type": "object", + "required": [ + "bid", + "public_key" + ], + "properties": { + "public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "bid": { + "$ref": "#/components/schemas/JsonBid" + } + }, + "additionalProperties": false + }, + "JsonBid": { + "description": "An entry in a founding validator map representing a bid.", + "type": "object", + "required": [ + "bonding_purse", + "delegation_rate", + "delegators", + "inactive", + "staked_amount" + ], + "properties": { + "bonding_purse": { + "description": "The purse that was used for bonding.", + "allOf": [ + { + "$ref": "#/components/schemas/URef" + } + ] + }, + "staked_amount": { + "description": "The amount of tokens staked by a validator (not including delegators).", + "allOf": [ + { + "$ref": "#/components/schemas/U512" + } + ] + }, + "delegation_rate": { + "description": "The delegation rate.", + "type": "integer", + "format": "uint8", + "minimum": 0 + }, + "delegators": { + "description": "The delegators.", + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonDelegator" + } + }, + "inactive": { + "description": "Is this an inactive validator.", + "type": "boolean" + } + }, + "additionalProperties": false + }, + "JsonDelegator": { + "description": "A delegator associated with the given validator.", + "type": "object", + "required": [ + "bonding_purse", + "delegatee", + "public_key", + "staked_amount" + ], + "properties": { + "public_key": { + "$ref": "#/components/schemas/PublicKey" + }, + "staked_amount": { + "$ref": "#/components/schemas/U512" + }, + "bonding_purse": { + "$ref": "#/components/schemas/URef" + }, + "delegatee": { + "$ref": "#/components/schemas/PublicKey" + } + }, + "additionalProperties": false + } + } + } + } + } +} \ No newline at end of file From 70a6c6144d7f6798fdaf943524758b4f5703e37e Mon Sep 17 00:00:00 2001 From: Ss Date: Fri, 8 Oct 2021 03:03:19 +1100 Subject: [PATCH 3/3] Added new methods in the Query Service and CasperSdk corresponding to the functionality required in Casper Integrations. --- src/main/java/com/casper/sdk/service/MethodEnums.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/casper/sdk/service/MethodEnums.java b/src/main/java/com/casper/sdk/service/MethodEnums.java index ce51431..d714678 100644 --- a/src/main/java/com/casper/sdk/service/MethodEnums.java +++ b/src/main/java/com/casper/sdk/service/MethodEnums.java @@ -17,7 +17,6 @@ public enum MethodEnums { @Override public String getValue(final String result) throws ValueNotFoundException { try{ - System.out.println(result); final JsonNode node = new ObjectMapper().readTree(result); return node.get("result").get("state_root_hash").textValue(); } catch (Exception e){ @@ -104,7 +103,6 @@ public String getValue(final String result) throws ValueNotFoundException { @Override public String getValue(final String result) throws ValueNotFoundException { try{ - System.out.println(result); final JsonNode node = new ObjectMapper().readTree(result); return node.get("result").toPrettyString(); } catch (Exception e){ @@ -115,7 +113,6 @@ public String getValue(final String result) throws ValueNotFoundException { @Override public String getValue(final String result) throws ValueNotFoundException { try{ - System.out.println(result); final JsonNode node = new ObjectMapper().readTree(result); return node.get("result").toPrettyString(); } catch (Exception e){ @@ -126,7 +123,6 @@ public String getValue(final String result) throws ValueNotFoundException { @Override public String getValue(final String result) throws ValueNotFoundException { try { - System.out.println(result); final JsonNode node = new ObjectMapper().readTree(result); return node.get("result").toPrettyString(); } catch (Exception e) {