quantumcoin 7.0.10 → 7.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README-SDK.md +0 -5
  2. package/README.md +1 -3
  3. package/SPEC.md +2 -63
  4. package/config.js +10 -2
  5. package/examples/example.js +0 -5
  6. package/examples/example.ts +0 -5
  7. package/examples/node_modules/.bin/esbuild +16 -0
  8. package/examples/node_modules/.bin/esbuild.cmd +17 -0
  9. package/examples/node_modules/.bin/esbuild.ps1 +28 -0
  10. package/examples/node_modules/.bin/sdkgen +16 -0
  11. package/examples/node_modules/.bin/sdkgen.cmd +17 -0
  12. package/examples/node_modules/.bin/sdkgen.ps1 +28 -0
  13. package/examples/node_modules/.bin/tsx +16 -0
  14. package/examples/node_modules/.bin/tsx.cmd +17 -0
  15. package/examples/node_modules/.bin/tsx.ps1 +28 -0
  16. package/examples/node_modules/.package-lock.json +235 -0
  17. package/examples/node_modules/@esbuild/win32-x64/README.md +3 -0
  18. package/examples/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  19. package/examples/node_modules/@esbuild/win32-x64/package.json +20 -0
  20. package/examples/node_modules/esbuild/LICENSE.md +21 -0
  21. package/examples/node_modules/esbuild/README.md +3 -0
  22. package/examples/node_modules/esbuild/bin/esbuild +223 -0
  23. package/examples/node_modules/esbuild/install.js +289 -0
  24. package/examples/node_modules/esbuild/lib/main.d.ts +716 -0
  25. package/examples/node_modules/esbuild/lib/main.js +2532 -0
  26. package/examples/node_modules/esbuild/package.json +49 -0
  27. package/examples/node_modules/get-tsconfig/LICENSE +21 -0
  28. package/examples/node_modules/get-tsconfig/README.md +235 -0
  29. package/examples/node_modules/get-tsconfig/dist/index.cjs +7 -0
  30. package/examples/node_modules/get-tsconfig/dist/index.d.cts +2088 -0
  31. package/examples/node_modules/get-tsconfig/dist/index.d.mts +2088 -0
  32. package/examples/node_modules/get-tsconfig/dist/index.mjs +7 -0
  33. package/examples/node_modules/get-tsconfig/package.json +46 -0
  34. package/examples/node_modules/quantum-coin-js-sdk/.github/workflows/publish-npmjs.yaml +22 -0
  35. package/examples/node_modules/quantum-coin-js-sdk/LICENSE +21 -0
  36. package/examples/node_modules/quantum-coin-js-sdk/LICENSE-wasm_exec.js.txt +30 -0
  37. package/examples/node_modules/quantum-coin-js-sdk/README.md +1665 -0
  38. package/examples/node_modules/quantum-coin-js-sdk/example/README.md +14 -0
  39. package/examples/node_modules/quantum-coin-js-sdk/example/conversion-example.js +19 -0
  40. package/examples/node_modules/quantum-coin-js-sdk/example/example-create-contract.js +396 -0
  41. package/examples/node_modules/quantum-coin-js-sdk/example/example-encode-decode-rlp.js +225 -0
  42. package/examples/node_modules/quantum-coin-js-sdk/example/example-event-pack-unpack.js +391 -0
  43. package/examples/node_modules/quantum-coin-js-sdk/example/example-misc.js +101 -0
  44. package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send-signRawTransaction.js +318 -0
  45. package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send.js +116 -0
  46. package/examples/node_modules/quantum-coin-js-sdk/example/example-send.js +70 -0
  47. package/examples/node_modules/quantum-coin-js-sdk/example/example-token-pack-unpack.js +961 -0
  48. package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet-version4.js +35 -0
  49. package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet.js +43 -0
  50. package/examples/node_modules/quantum-coin-js-sdk/example/example.js +405 -0
  51. package/examples/node_modules/quantum-coin-js-sdk/example/package-lock.json +134 -0
  52. package/examples/node_modules/quantum-coin-js-sdk/example/package.json +15 -0
  53. package/examples/node_modules/quantum-coin-js-sdk/index.d.ts +1024 -0
  54. package/examples/node_modules/quantum-coin-js-sdk/index.js +3062 -0
  55. package/examples/node_modules/quantum-coin-js-sdk/package.json +34 -0
  56. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-32.json +1 -0
  57. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-36.json +1 -0
  58. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-48.json +1 -0
  59. package/examples/node_modules/quantum-coin-js-sdk/tests/generate-verify-vectors.js +91 -0
  60. package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.preinit.test.js +41 -0
  61. package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.test.js +686 -0
  62. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-keytype5-context-null.test.js +107 -0
  63. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-transaction.test.js +196 -0
  64. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-verify.test.js +311 -0
  65. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.relay.test.js +131 -0
  66. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.rpc.test.js +103 -0
  67. package/examples/node_modules/quantum-coin-js-sdk/tests/verify-vectors.json +95035 -0
  68. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.d.ts +9 -0
  69. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.js +16 -0
  70. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.d.ts +0 -0
  71. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.js +587 -0
  72. package/examples/node_modules/resolve-pkg-maps/LICENSE +21 -0
  73. package/examples/node_modules/resolve-pkg-maps/README.md +216 -0
  74. package/examples/node_modules/resolve-pkg-maps/dist/index.cjs +1 -0
  75. package/examples/node_modules/resolve-pkg-maps/dist/index.d.cts +11 -0
  76. package/examples/node_modules/resolve-pkg-maps/dist/index.d.mts +11 -0
  77. package/examples/node_modules/resolve-pkg-maps/dist/index.mjs +1 -0
  78. package/examples/node_modules/resolve-pkg-maps/package.json +42 -0
  79. package/examples/node_modules/seed-words/.github/workflows/publish-npmjs.yaml +22 -0
  80. package/examples/node_modules/seed-words/BUILD.md +7 -0
  81. package/examples/node_modules/seed-words/LICENSE +121 -0
  82. package/examples/node_modules/seed-words/README.md +67 -0
  83. package/examples/node_modules/seed-words/dist/seedwords.d.ts +39 -0
  84. package/examples/node_modules/seed-words/package.json +27 -0
  85. package/examples/node_modules/seed-words/seedwords.js +315 -0
  86. package/examples/node_modules/seed-words/seedwords.txt +65536 -0
  87. package/examples/node_modules/seed-words/tsconfig.json +21 -0
  88. package/examples/node_modules/tsx/LICENSE +21 -0
  89. package/examples/node_modules/tsx/README.md +32 -0
  90. package/examples/node_modules/tsx/dist/cjs/api/index.cjs +1 -0
  91. package/examples/node_modules/tsx/dist/cjs/api/index.d.cts +35 -0
  92. package/examples/node_modules/tsx/dist/cjs/api/index.d.mts +35 -0
  93. package/examples/node_modules/tsx/dist/cjs/api/index.mjs +1 -0
  94. package/examples/node_modules/tsx/dist/cjs/index.cjs +1 -0
  95. package/examples/node_modules/tsx/dist/cjs/index.mjs +1 -0
  96. package/examples/node_modules/tsx/dist/cli.cjs +54 -0
  97. package/examples/node_modules/tsx/dist/cli.mjs +55 -0
  98. package/examples/node_modules/tsx/dist/client-BQVF1NaW.mjs +1 -0
  99. package/examples/node_modules/tsx/dist/client-D6NvIMSC.cjs +1 -0
  100. package/examples/node_modules/tsx/dist/esm/api/index.cjs +1 -0
  101. package/examples/node_modules/tsx/dist/esm/api/index.d.cts +35 -0
  102. package/examples/node_modules/tsx/dist/esm/api/index.d.mts +35 -0
  103. package/examples/node_modules/tsx/dist/esm/api/index.mjs +1 -0
  104. package/examples/node_modules/tsx/dist/esm/index.cjs +2 -0
  105. package/examples/node_modules/tsx/dist/esm/index.mjs +2 -0
  106. package/examples/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +1 -0
  107. package/examples/node_modules/tsx/dist/get-pipe-path-BoR10qr8.cjs +1 -0
  108. package/examples/node_modules/tsx/dist/index-7AaEi15b.mjs +14 -0
  109. package/examples/node_modules/tsx/dist/index-BWFBUo6r.cjs +1 -0
  110. package/examples/node_modules/tsx/dist/index-gbaejti9.mjs +1 -0
  111. package/examples/node_modules/tsx/dist/index-gckBtVBf.cjs +14 -0
  112. package/examples/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +3 -0
  113. package/examples/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +3 -0
  114. package/examples/node_modules/tsx/dist/loader.cjs +1 -0
  115. package/examples/node_modules/tsx/dist/loader.mjs +1 -0
  116. package/examples/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +1 -0
  117. package/examples/node_modules/tsx/dist/node-features-roYmp9jK.cjs +1 -0
  118. package/examples/node_modules/tsx/dist/package-CeBgXWuR.mjs +1 -0
  119. package/examples/node_modules/tsx/dist/package-Dxt5kIHw.cjs +1 -0
  120. package/examples/node_modules/tsx/dist/patch-repl.cjs +1 -0
  121. package/examples/node_modules/tsx/dist/patch-repl.mjs +1 -0
  122. package/examples/node_modules/tsx/dist/preflight.cjs +1 -0
  123. package/examples/node_modules/tsx/dist/preflight.mjs +1 -0
  124. package/examples/node_modules/tsx/dist/register-2sWVXuRQ.cjs +1 -0
  125. package/examples/node_modules/tsx/dist/register-B7jrtLTO.mjs +1 -0
  126. package/examples/node_modules/tsx/dist/register-CFH5oNdT.mjs +4 -0
  127. package/examples/node_modules/tsx/dist/register-D46fvsV_.cjs +4 -0
  128. package/examples/node_modules/tsx/dist/repl.cjs +3 -0
  129. package/examples/node_modules/tsx/dist/repl.mjs +3 -0
  130. package/examples/node_modules/tsx/dist/require-D4F1Lv60.cjs +1 -0
  131. package/examples/node_modules/tsx/dist/require-DQxpCAr4.mjs +1 -0
  132. package/examples/node_modules/tsx/dist/suppress-warnings.cjs +1 -0
  133. package/examples/node_modules/tsx/dist/suppress-warnings.mjs +1 -0
  134. package/examples/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +1 -0
  135. package/examples/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +1 -0
  136. package/examples/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +5 -0
  137. package/examples/node_modules/tsx/package.json +68 -0
  138. package/examples/offline-signing.js +0 -2
  139. package/examples/offline-signing.ts +0 -1
  140. package/examples/package-lock.json +422 -73
  141. package/examples/package.json +1 -1
  142. package/examples/wallet-offline.js +1 -9
  143. package/examples/wallet-offline.ts +1 -9
  144. package/generate-sdk.js +4 -6
  145. package/package.json +2 -2
  146. package/src/abi/interface.js +13 -7
  147. package/src/abi/js-abi-coder.js +23 -18
  148. package/src/constants.d.ts +0 -5
  149. package/src/constants.js +0 -7
  150. package/src/contract/contract-factory.js +9 -3
  151. package/src/contract/contract.js +9 -3
  152. package/src/errors/index.js +12 -0
  153. package/src/index.d.ts +0 -3
  154. package/src/providers/extra-providers.js +20 -6
  155. package/src/providers/json-rpc-provider.js +15 -5
  156. package/src/providers/provider.d.ts +0 -2
  157. package/src/providers/provider.js +1 -3
  158. package/src/utils/address.d.ts +0 -14
  159. package/src/utils/address.js +12 -49
  160. package/src/utils/hashing.d.ts +0 -6
  161. package/src/utils/hashing.js +8 -23
  162. package/src/utils/index.d.ts +0 -3
  163. package/src/utils/rlp.js +7 -4
  164. package/src/wallet/wallet.d.ts +2 -13
  165. package/src/wallet/wallet.js +116 -97
  166. package/test/security/malformed-input.test.js +295 -1
  167. package/test/unit/address-wallet.test.js +188 -129
  168. package/test/unit/address-wallet.test.ts +187 -128
  169. package/test/unit/hashing.test.js +0 -11
  170. package/test/unit/hashing.test.ts +0 -11
  171. package/test/unit/providers.test.js +3 -1
  172. package/test/unit/providers.test.ts +3 -1
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "quantum-coin-js-sdk",
3
+ "version": "1.0.33",
4
+ "description": "Quantum Coin - Q SDK in JavaScript",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "node --test tests/non-transactional.preinit.test.js tests/non-transactional.test.js tests/sign-raw-transaction.test.js tests/sign-verify.test.js tests/transactional.rpc.test.js tests/transactional.relay.test.js",
8
+ "build": "npx -p typescript tsc index.js --declaration --allowJs --emitDeclarationOnly"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/quantumcoinproject/quantum-coin-js-sdk.git"
13
+ },
14
+ "files": [
15
+ "**"
16
+ ],
17
+ "keywords": [
18
+ "pqc",
19
+ "cryptography",
20
+ "quantum coins",
21
+ "quantum coin",
22
+ "quantumcoin",
23
+ "blockchain"
24
+ ],
25
+ "author": "Quantum Coin Community",
26
+ "license": "MIT",
27
+ "bugs": {
28
+ "url": "https://github.com/quantumcoinproject/quantum-coin-js-sdk/issues"
29
+ },
30
+ "homepage": "https://github.com/quantumcoinproject/quantum-coin-js-sdk#readme",
31
+ "dependencies": {
32
+ "seed-words": "1.0.2"
33
+ }
34
+ }
@@ -0,0 +1 @@
1
+ {"address":"38b12df2d4762a04a183f936c47747a1f13d0b0ba72066b43b4b6d7f776e9e25","crypto":{"cipher":"aes-256-ctr","ciphertext":"473ccf611349ccee6ca59bb50fb8f03c95d8977a3851a585f483389b847b92aed9eb7519461a2b0e89d79ac5c854093b356a0755675646d631bcddddbd995e477ff00eac13e7d34245e1cb6d492fd704a71bb8c28f1535cead22655176e62be529067676ce6d16e0d6714376f298bb787a7ca159e66246a2512321c7b6b1be736055009b7047e4aa22196579be4442a876f091cbe368e54469575c59c927b770dc3a51f447fabcbdcf7ab3b17e85bc2eb59b0c3d77b39ae81119a480717b5303bce9a6c8730c8a1b34995c67426050407e9ee3cbb89ba02423cf309e8bbfe8ff1aaafe18a584e9e9755d6874db4f7374f6a60dbddea73759c7360fff7a8be1b106565aa0aa6f93eb671b8b50042cdc3a15f6e1f21199e3aa6ff5cd5abd9c2add7cbfb083b5fa1dca1227775e1edee04659491d270366851bc2c75a99eb718b321d1e200edb4547b88525ab36f97bf12f92945ec76bbe497640e454168b082b1d8688a3897cfad35a65b4a65c34b4c0c5b03a5d17bac850e5a4cc9cc510ed9e371933613c67bf708205945e050df9be13d00ad8d8021bf857a81cbfcde464f5e33eec773973fcd9df48ad55e2a5eeadcbb2974be860b4679ba071c517581a960fff7ad99abce6fc047895dc5ce05fd3c734caabf181189837f7440f43984b8794d03f1197ee6e3f7602b56fed6970515be1c713664ed4768186bbe960147d74f1ae3e3adb3ccbab7479207939a15f2c9118c0e88a56803d5271559d48ac6e0563ae136df742db0563796b0f8345200633074044d7d064d4b73554988f8303e22e905ee0911049fe50c0d1319240f4c824c3c609904662d11e9158a9123b2ec999f7f5f17931abae9a1403feea3c2a77c2f0ba264a02f442686a308738e1e755d085262f12627b69cb04ac4f0db14159a22abfe820927626545fe652fb326340de821c3a33449cde6a8d7d4d94e09ef7b30c084c43f34919ed2b7147bc95472b1ba7b331963ab5afeed02307c4e72f9c149012312075a38aecabd8ec12867c431cb4e5f8a908ff7a6e9e495720d5af461e72111d36845b01f707b604e13b74defce421c41dbfaa435857ff56705c747138ba5a5e9e100a7ec5055dcac22a12537732d8d38f452e4651aaa3e33a69b9ff793ec344aca87c24ace9fba384a115c3d335b25ecc784428febc40c4182ccde566cbb34c3c3e294c64289baec4173aa6c46d33f6809eb20ed046a5e58e8d2eb5db1e66f4f3411042f9ce948759d4ca833c4d50dcedd331d84c3b6d8377967d23016fccbe300ec26794d604de5711b1c8cbaeae33b2f33d9e7f060e16311638f7a920bcac98d94569272a16db61f3d812d29532c16a55a657064972bc74e914f4d9476ce0aa057c04a5e5038244488d2cfc760ad7245f63167c19c5072b4715b87696c39e89dc873599f95fbfacfa1b05b44cabce771fe8880c8ff9d5e7f864b5ec7ecc770100d82334ae15bc2031e730406b8f212e024db78efc9f216ff54c8c73d5cfd89aacad08d1d853429393af39056c22dd061cd42ce5d865fd6f7cc21b6d8cd4c9b5d9a6a04f4586d145b39c720ed36980ba22976b79037a76595e0453417046e128f0286f9a1623a28d82ebf6efa99c8393b705fb173acdc8313a752724d004fd7b3b652b7dea95eb970db9c239ddb0460d3ab4bda453c3ce28a2d599c8af4e47f44a4ba9d0ccb3569ee208c755e3ecdb37befcb75e7dc147a73a8e40a5a52231e08ab8a98bd68006f21e5c88ae77c7657ad8bc73465da5ddfc87d30a9017bb2e19f637364559764ad30fd4b059b8edd9d2d56cc3594bdfa89ab848efcb18516cfa3f2e2ffdaf8e11a6a1ba7431c5f912b4c39696c3e050853b2f20efe274f2a7a4cda3e8102f6d3fadf2a9d318c09d263f529093c4ad3b88c050080e3bb4ed2418d60fc32a46b17ffd81a0515b8bb88a6ca871b03bd9231c83560a027e476fdf4dc265d3a701d473cf1343f152920c9cc4b0b78257b88f13a117b90e90e50780d5decc294b541c0bca8cf97d9c96a1247c76789d60adb07f732de8b3348713cfcf32df765a0785672a9896e69c044970d07d8020a85946eb0514bc68494ef8c5ba8ded9e8aad6eac6827dc024924171649ce55164b24265daa7ae3122c95ce5cb1c9df7ece5fbf9e92f0c37ec4bbb3f63152fe126ee64db1edb1c045902fb297a2ae193394149a53fd1b0218832c758b00844beb766b103824cee97d3aaed776818f8220b800345e167a03d87756e0661f352bf1c956383a26f77eb681d3ef9c8e21a2e1c1de2c9767f8171dda161928581f69c27139d396adc5a44b862203fb8551b2d3b6c2f17ffce24ff4482691aef65fd3f74e80ddcf905205ba1b10afd93f20fe98e16d491ac02aff5529a0412fb01cd384fee376825db920a95f10d12248fafe7d078d98318c1ff66399357e37c262ac4f314fa6434a03e68e5e01f78b13c2da10a19b20421ef1a6b482b9296c6586760284ad91d5fa8614d1bce0d865e211fe872dc70e500fdef6d3be7e1af303348c53cb665c1827f79ae97c575c476c2e4d6ac2175efedc7e7109990205004b6944fabe419299b782922eb845c66ef7340489760592e326001de112d88af917780d731be23bafb64bc38739f5671cd9cc62f0ca4224ceb887495aff93cb008dce3e644ec3302d304854b0983a8d40c1169a9fe0e15f9465a6c33bf5e9134743468cbd86cdde78b5ba7e5f720f273aea26b8ee9b0655a33c42e8930ce0893d5add1c8e514eee93632771ad98ce2db6d2db8dfa01c50f038ee07db84c42f0d6c72e18b4670e3b361fe9d2170cb6c09eee7b05213de576a7a443c994d9989ba3aeed1db2f4c2e72cc5fa693b2445259b8d6fd22020c44cc3ad5bed07f9683a14bb70a9bdd51990847a94fbdd6ed925856dbdaca8634a994bd6a5e1cbbf18d5ac40918a75d6161fe4bac769bf026642f57e9ded78c71a4e8ad1c57ff1e03aaffdb5fb64866e652d64a753eb3af9559c400189da43c1d83bfd2fa5246cadec8a47bbc13562333fa4042bbf88ecb3bcfd0bc93318c88f31a612dfdfaf42ef4b73acf3a10d97588a33413d59a488358bdd91b3fb1a5e816797bbd84aa3a580c8e0f9716c29b22eae75d0e0037424dc977f49e80762396eb45df38553294b6591372103befa09289e30f02cc0d87f1c9bae9583c16829fc2eb64cff6e985ead98a1b211e40fa0e8c3b3becdee40467127153356290209f4863a3a8ae58ac502227502a683724c4bb5443b61ed2532d4a65b4c2aca6b8fc3202bcb19c5d3745a772cf69823bd7dbf6903b807e14346d4cf6a753f311106a608b65a39d4b10b5233627fdf6ebdf1fa39695ce1f8c87f39e87d67ae3d4a1cdb0669c0febc26fbc08f370f17d20809ca78c904fcebbcbbeffee2c3721a938b2caac509dc39b77e48921b1ddfc3a01c24317650851fd9e9afef6d47ea3cfa1006788ab3f22ee4d2d25f5abad0b220d5789a5bf52b1bc376abf11fb44e0cc26e1f86046cb2339ef8d48e5ffef6f6f62e130f213d086b6fb5c6d48757da1a4810a25bbf17f8d6a2a25772a726ad4a22a270a7e185d53125e451b9306971c8649d2821103035690c890e3f339a9e5d46a6330b61ba91baeaa58f2888e59156db0d498922f6a3b8edac4171849769ce3bf40f2a7cd049e47a3ab4c75ee7d98d7e05fd1db18a31f2baee4089297160861b61d07c8c052dff8068452d484022f8f223cac0b2a38a2deef70817a4d1fea44a6f793121fd229e0cbb79bf910f02eb2801e177fe0e284624355d6fe1a3c7a59a67a04f2f9ddf81f3ed87c4af4902ccd10a75545d5ba3b8d0c077ec416b37ca42f8434288d985a9f49f8467dc7bca6bd3b3ccd17abf1eb39d2b597dc7c06661c21ed7cf83234e52ef6d44f9172c5bd479131d6484982d5a5c22e587bc9d86115a43534492df55c8d43756ceece8d2436c7d14f357be5bd0d6796c14169054b9944109fa4a48bb75a4a76751c7076a8e3e4b52ac1980b137b8879c398c853ba071e3d062f4e47cfea221b7b3aafb21b84536c9170fcecadb9f097673db85782cd7e901e73e789d07e8d34cba72f9d6ff0156fd703c7793df0adb5d95e33295821f7f3133637eb637d6276f3777f1ee267c35b09d3cd92d56e2a308fd2f741fdf1ae3db68315025bc9b596671329a9a43671d769d2ebccb09248eb430718e5caad62836ea0f29cd11bd723d7ba6ff0f4bde48d1571464767c478afb84df1acc03f8001417c86eb004e4268d502dafc2495c520e355501c94923349de5ee56989762655cb8ce102f98569ff70f08f5c5d0079096863983606a1bbc929119706fcbe3ec0c42faa8272fc2331a48e651d14f9a4802a0df1ba34a280190c36533a4c7464e60e707b0c9048260502871a61bacb7e22521b858f135fb124ce20ba85eb9978eb25d4faa8c51d508677f97293a59d811650a259b4d5122b93c8180224413604e157cf6beb06f75c279050876f11defabfefd43ee88df5e200ee95d606090bb86368ac3a7b57cb6e5b9545d211921a2f35ed90c5fd50d8c4409c4223647f9c3d0a9a663355a9f4d032d1aef55c039eda2d81dccb4d2bff2e1345284a76c67e21027720153abdac830754ce5e1d1895854d30c5310e7b97fa6be833ef62668ae3782effafe2ab9cb4a8a055ef10c60b9e51504c0edc77ae00190c3db12334e17358b299378d0b4774b68dc5571133d69cd2085279e0c824bea3367efe3dc026c39c4e8d4e808e321e28dad368170bf43ce0fb095146d3642c3b6263f0a88a770540f2bc6b8ca6ebde62b8dea0ba23ad973d733631b3019f73857d70f03cf779b879169852f738a3ef415210378b0bcf7e72be6f49dc3cc667bc7506bd0d4cef8716f8eb9507fe219ac52b2ef23231983a70a896d6a873e0c3f56bd630712ffdfc81592a91765c8483c332e3e9e08c29056e73585c10274425ed8730db7965bfe0bdb7583ef7572ffd800da44873a27cae462761dba9d5cf02492a59130c587a8ff58d1cd072554df1db5998d2675495da888bbedec6ea0906767d6c14d4d448280ba99ec85cff4b938588576c42a9b61c94561dc74ee971ee4fe68533d39e406bad69dcaed2dd819ee0afe94ffbfd47cf94fdd744d672ac38dfb2f0265abefd5d1cfd450a4db84db7c5dd7619893c5bd0b2ebafa63292f02a6a43002fa3134fbd00dcd8ad559fd26c31c08e68239621b830d0aa9586b77e8021f6c7f87f5a52285bbd246d99b0b29fd0d16dd8baf9cec1f2fbd412fa23b77f266b036ab65da8dd002d52933b3f32f72533adabfa348ebe333c4f006213497b1e8604f081f38cc724240a329b1fa4462e208be3063d919225e12941c4c1574dc790b09c835f88b380344f6830b2c02d1c6d3a723a5126e6d68aae7f3a03e261fae9aab3951a6092a1e723db0903dac41bfe92b29e2b461052f35185d7210a2bc0090ab091becab3f71e7e122611a1db6eae58ca3edeaaf56c9bf1add1ebb2dee64cd3d4a5d3bb50f5ccaf69126357f6305a3e6de8e267aef78db98f4df3933ba02df9e56916e56bf191263dd72781dc3ffde321a96f6cd95278f8cf10f297d80d5d27893e5f20a7cd35296b3c379adbcb81cb1fe4fd2fd5148b701a7e646b388bcd183e31f21e60755eefcf5267fd6c2b7a3a3cceeaa1fdc16301610201cb20aa21e793b2a8ab6a3e9e31e755ec295bbbad195a2574897ed917a628368ce749dcb","cipherparams":{"iv":"32a0ab5236b63bde3db510c9196d74f2"},"kdf":"scrypt","kdfparams":{"dklen":48,"n":262144,"p":1,"r":8,"salt":"3275630d42f2d1e90f43cdb7e586f5a36671791a3a69d5e752f15bd41aa0cf1b"},"mac":"fde3f3875d8c1ef4481b72ffd2644498504aefd8f273c19369c7567c7922d722"},"id":"8fadd368-07f2-41f6-960d-f04357882906","version":4}
@@ -0,0 +1 @@
1
+ {"address":"030e264c853bd859c53fae3ad6ef0e011dc799685e2b05d5efa7ac50f10ca075","crypto":{"cipher":"aes-256-ctr","ciphertext":"3974d7494284a2bd3b5bc9da58a26add1acd04ce60434b5008e571fdb96107ddfadb97763b804f8da653b5c8fee753b234b120f141065245ff887b7f87ce2952df690722dbb0b21cf76b6c00aead098c8d1659d6d5018469aa42b59276f89df0df46dcb98ebb2151b93ff3c3e2637accf30a013efd28dc1b36a17aa1ed7ab11fdee1d10955ba7a86b3e9a68f5698f2e2fc4ec551b76337ca6b5eadf52898a91cd5adfcf2c9a3079a95730dc474934f20e596c6e0a2568307e6ca4fe3315e8bfc1e0e1554bb798009f36fcf17d74515be848d2ddace9902373a15292ceacee4909f7ff1fb6389e0d4d9faf5a2dbeaf575f6f37ee1670e44f9a065a6ed0188d2303b2dc2e7b98440fa5d4ba109f0b0d70e055c3e6507545df0e8ec7b18d7e3c804ad437e129f251305910733fc7ffa5cfaa11982a5ee402ecef71aceae5df069c3e6b053e4853b96e99ad8bc7bcb4757e5cb22232bbe7501714a60d992f50e937c1f3b260fa1bc12111184e10e43ab2f0d0c52b97d9428e762895de17bf4572b15402b1db6bca35105c49c5eda7a14605818844b8f55dd0e43913c73c4a88469025b4956665f366349e3f7641c483faf8aed3ecd54628c7fa8951683510114d6a4a23dedbf62eb3d9a7fa10d988bbf2d8a47cb31110d9dc56f5bd9fe7236e3f10d5f815396593ff6a860a48d153a13be0c76d139b651ff22affe48e3d03354e630a4efac5eb8ee60cb8a2b6cb02200a00a6d9ca6a33ba34324e7c560202a91642042a707b763f47fc0a434aa23cbeebba8264424c91f84f9c46ba55abdc107d2eb26aa6d87824eaa9c35700080d0962cb9b5bf091d1c76376d73bc606c927aaec07369cdacf1a3f9de788553adda199be21f75200888c67efad1fc5b46ae6dc7ff43aa7ec784e9aa4b67ab61344f889db51910c850d63be9e043a157788adf17acf6fed9151c836f61c042999850077ff47c6dd4abdf246efe3aff37e0cc1a1b15ea3d000541fe6d4dd62c2657cec5b88bd7ad0ea039ce2bb9e82f037dcc321fd53180dc3856ecee5bae2135edb3b4a6edc65883eaab3f47e656d28e51cef5e40aa65776f74bc0ce280e932cffea476499b6efc2ea7f23a4a68278ccb2405cb5e3fb379808631000366bb11e6ada80cd17046f8d319169f6afb90566a96856dcd4c9c3b36a911ddc09742af6c318a5d3810a1009412b0a440d97f5da576fd46e4565301d5e3b6ae901454e1030d55ea034d11faa101f93f451f7ad99b99c606b15fe3131c65840f81c8f100e84e74df555abd1f699ed454a332c31043e32fd9765658c564d74b09c947c1276c32cf1e9dc83f0f9fe674eeeb24f7c28b8218d1188b21d1a3694956325091f87542ccf8f5fc6b81ed5363a18e487c13f35716e1210a7cf5b4da563da822b067b8c4a97edba1629f054bd7cae5f51a993a47032a9ef47c743e65bb7be268fcf9df21129a765505f173af444cd951edfb44b6fe53ee56974004d52198fb6f7113e8169432a97ea1b3e46548370371b565a26944460589f92d5b61ade4aaeaad7a6aca21898579fa91face88ca989b1981e6c10d812b97b86fc008fa0c8d887c9cb9de392365e7673e2fb38de01550ee9de6be705b8ab1b0aea3b2385899615520bd33edf39e062b1f766bea6d53751926f2be5c7d7936c56ad799b013278335648168814c8eeacc8bbc2544630ad6e50da3e22f9a959894f5e21a2e78b43d1fa992fc9d4183044d39889950f96c9d2bbfb7d137e7bf984789af2e0b03a279e12dd410a62ff10424cb8f5a5d7fb7eb6d5980f51a0463ba3be44ccc75b09f41804fadb15cf1d18abcf4213f21e087c2f31e4122d0924611d1ff7f43d4fcc9145d9d106f7785e63de7897ac57b90eabede28c6c4b828ef94425e7d16664632e4acd59b426d632c0e319f69819f91bc1888e298d3fe78a19273c2063c87715cf593ba891e8e4e3a3f99bea42b4d73574c345fe8a4e032e96bdc3c19c86b1a8edbe41fb409f20877006afeaab81ddcbfe43f26568f7478c5d2559e6e766bf534ed581e49226bfb49585f47fc43dceffb58c74f9fd5025195f21f6f770b5fc55f92e0000feda65c1d1b1fc20d9a9b561c94102db3225d65c1ead37267365773ca03888ed96b665465a5b6bbc19575faa4516bf0079aeefe1cc3e359dc962018cdcd776d4e01eeff8a2f5be4630027f3e2e5a21b54e16f6131c4a52bbacf044b9fab5316ddf8d26b7396be7cd908f44b7ade2b8bb459f70aa8ea756a7e578a471ecd5c0b42f1d1c4e843185503c6124d4d9e87dadecf96f39fad1e0e1487c81b497b85d72ad788144a776eeeb9e4344f8fc19df4851abbb5f494f4458cfcd17b872b49ca89923079a8f4afe298df7d402687f6d247377a48ec544754cb79bd522bb4ec2da8c81465b4d4b64dce267a7077fb8cfdb590fe67e5072fc515e8bb23297b669a45bc5a3e7958baa9a8720594218d5de1657ae246e18d2b95d357fe9a0d3a5dc6854afc959b1fc0a5164fae48fb63eb566ffc698651ad133c22319bd0095bebded2e4ede3c3faba75ed855f278d3d0db8e8bcb3ab787a24bbfceacde35fb2ccf3f17d708e189edc23aa650bd3f3847e04a8836abf8ab2af826f025e38044181bd05e11174d9d76958e781df7ca6e1ed542731f9e97d58701f93b31040a3f9992cfe5ca26e2512d5eaf4ee32b7dff5b9ae25d0da53b265c66af691fec963296022b5511a0b0adb45ff78a750a643afdf85a998a1d41f7c8e4fc7e4703470635989f34b4616b77a60909e9a00d126d3afaf4e39fc60b1c7c442c12b746a99612967d387f5c2d89aec84a018242cb23436dd06edb9c8da86bfe0b3a0e84f7dea3fea67e76d7054b1c69ddd9dbb6610f731c045dfd85b1b0f8e46691f315614cdf5964d31063b7f44b398b4b64662ac58100d423e9ce788d6fd58fe8e51131c743ca7c0f53ac5b5239aeb9dc759c0f6a540459c8355baf058dd563080497836fb0439b8962b48bbbc23a5409905e314dc837361af9fcd3ba8cdb2b5b14d40c3328e09706358e3acf4c107c7b17f2fd57fa4f74016a04e7b7318e7ce4293b1c5da46b18552328a07139e58930effe15f940c827dffa676c2bd1caf61de1de86fbb2da8636ecce583a293bc493f004a8ba1349ef2a161e6176f5388eb5e66f06c4a48d67d1c4ed27c00db612da79d62dae28ab1afb3e2205e68739b19abc9684921d0c9b0943dd994cffabafb5e6d2718dbcef1a4f804a01b59cf25966ccde3e4221e08a671a1dc91b549bb510088fead16637d70d2f490aa12a587bdc0e6e8a4126b06396e874aae8211a56babbe054aca22a498e395fd39e12b4ba0b46e3b1b06215cb9f2685762f7ccacb752aac8bb539d21e539225edbe1c632710fdf3ee416db3fb51966da1d7aab6982cf34be0d09fc547578dd875fbb9d44a8d073a47a0ed64371968e248fe9e3c4b23f0c294d4d08bcfcb86419f56b518dfa5f9d1b44c25159ceb57aedc0262a23fd7279f7d9001ce4da0f3273f9e844dec2d06f71656cb7c6095f6b6a14059065e2d576f0b80f3254fd7609dad07851cbc25843016d0b0520a299822ae3a91f890390f09b6d10be15b7e17b22fe6bca9abc05d49bc0d4331d2a4baf28aa29477755d902d28e40076d8d67b48fad71873eb83cd3cf7b3fa307ab433d7f9251ab5835e3d2665f1b25e28bc2f9db2b6781653a067fa8182c60a8b4794a3589c9492d8e4055554788ae18189d28523efa88ce35e3a52e701460005d9bb6e41710fbde5e144331ee0dc2375d8590d2cf403228f925d3ac922718a22b721bb76caac3e160df4254dcb8c67f3d178ed1b7f4cbce3806d5d4b631aa7ba1383e9356b7dd4fba83cf31ff25e78b6c815ae211e7e1ca4279522dba5a768948d75e0ffb8b17b8c4f9aeb6fbc902e786930a9867623ab7b83532c35efb1b5b79f2156e837a996a935c920b0301377bb0fb250bd779a6c5ec540035b76d874b0069a413dcd297e0e1a46a208b212d4f37efc83835b327bc2f00547c37d3463ac56393489820b5f5e9272a1fb566d5381a918103cf925d3beec1cdc0926e8a13b630c65e1af39bb0e7229e4b0bfc045b8706ab6f7f9d11b6d54946c0d46b3730bae9e3d6101f3cb600225e5296779c3d625d2995d2ff765926a4f249c4fa9227420d621de0bc0e2f5d9069a4e40d8dac13cfceea784ab3b3df84c069561d5d63f3a315223d07509c0df832c37316dc376bc0c2b62bbf4de354cc945b9452185c466467607f772e95c9f8701286285a704fd762a41260c1acd45682028bff8e156339456753c74e7aff38e6173de52bbb160d52f4227f0be196cf4f0cdbf5ca8a74fb86ddc10608160a75799891aeb4d0fcb2b1a1596d13225b76d21dd0cb49e0eef9a28796a56062e62597d1868c118db4f191b0ae1d6473f2e6a6b71c221f3377ec8c50aa29a5e011e13263563252f37e343569ca95e7a3758f876aca26c055396d1375d13b9f2defef8ca19ecae2bead72b7f7a4dbb2131862db9933d2ebc9b83d53c3c39c321d727a7fca86235a22392d2a307c24216f55aa3447ca100ad861a45f199d0649fc2e982ed9a6540958fe3947ada64c4a665830a482743126cbde4c45fe0e99560441a7d486cc518da6fa795ca1df851c94042b9cbb3993e3fc20dd73f2b8b7ed9db69810bf81407b8cff7a7131201155939d3892bea67373f3b3eed7b304ae8b02635bf84e0789b8b22f915367d85210d1b96a7bb6c8094eacfaa16a039e9a8fa096add758b49b6b4074947ac16320ef87554c3ebcf1d1a15c2f0aa15365f6fae01c89ef1a5fd5da380ae601115832efdfacc4a8137757c889dbba0b82eabda7946960e9e67134a6f23cdfd6372781de40c55f4ea3a26b740e08132347da92a3eb41a221bf81c472876032568b5875a1a6058ac684d24ecd68357436c8aa50a0981be6a03e8d06b5a46b9c0f8192b977e13657f458d2ca11b581cc5070dc0ebf574ca04b183b3bd6af055e8554725fa113164301c49cf5fb10477472849d0b07bb93a797252d786f17c8b4a53c66c704b47ec1232bb7d4463cedb43d75934fd348f1f7eea0149a937bff306a0daba4e889903843dd38d006db77f3d9c90fd8e5c84a131305cdc54caf885d1b3d7560ba816aadb9ecb2a13a942b72516c37bf5de0fd8026389632f8b2dae366db1fa5e1341a65244718c27b4033a33440d46147cc3aa5b467c189400c3ddbf08016080d8d62a5de6ce574db26cc68634166488acd6b5c416107334c22e77ea57b596f327b7966fac82d4ea37759fb46d56750841f2e1f97b6476792660280f5201406b7b94d3119d713bce25086fd67cc69d2d3edd289f527ba017c6b1550490d9b053ca6eacaacfb2f1c51163ac248afd0f91df2a18ff3d33f65b084ebfbaa70c59121abad909e054bd12ab7a9812b33272f5fc6c5ff70915fb5f00a1e795443e1c0ea1dcd82ed339f61e93a6fc75e826c4c5c198abca3423ed8f73b99e58f58b5b189c7de64700f5d29e035aa8da9bc02c5bdb25b30341c7014bccd5ef7387f145d0f29c23f561f10c70c0529c0a0886361aee68f7a217e6cb160e19f7a2fc5c7bda9347db0592d6d2775fa07c359085da4ca401842f3cd41493cdabe30e4d2e050ee3ba4a5138033acf2bfbb6b05662ca2c12e295545c44bf602b3ca25799e78cdf3d51cf8d5bed9f82eaddb170fd3da4652e87088645455e56382df3c2c4ab9286dc3fcc00d752a2e4bc0e2e100d11fc4f8d34f705657a6b5ab20bd4cea1c025f7f1dee2d4743653864b5fa271631c1e1261a899a3dd5ebd10dd5e2ba1bcf8906a21e6a0d9de1ef7cfe9cd6f1b78952126546ab56e01ab86980789fac1e0646e5eadfb71324b4f5d56e7fa3f026737fa6942154b66ab6046fa27feb276962ae08ccfaece4e9af7ac41ca151d619114b306ccbe1eb2b341501e8a9de50d097624bd1f4db6ef67b968d7ce15c69bb5a0306c918551bb3982191762864785fdcb1259c80ca4763626bcf1c75f3a8b029b25694ba40b39b8ff4b46f18e4bf4a1c476df8a66a4fe36cb16efec1b40ad8e213184a3658370ef8422d8f4450fd1dd48187d2e9bab024db87de298527e5eedb493e007ba9e50389839da2f5c480d09286071252c26458fdc39971df917f4831c6fe672072a8d8833143cdfc91042950ecbbf5c8a1bfe06bde3513330116b703f59ca57014838ab7eae481b2448b2b7ab56ca941402d0f8180153889856cd62f58a77b4f7f88462a7e444906eacd1369b30400e068efac0386c2308997800e2ae4007e251a0f653348ddcb91667d8af481e957ce9fa21cea242cfb5b526cc8161f816866f42a4876d74cb5e488226c563ffc6ad0d56a4de378382089a9754e46a163100a69fae1b13edde476514600947063e867a35945b0bc7728c9400383e8836e87b1307b7c4718d1adfd1237e5f3f204983cf8a59ebae43349fed322ae12e9ec9e6ce757b14f83a3d6dacd8a841ae00f18b34df4bd58f52a0b40a35d326fcb1515fb0e7695603abbb469d3a83c07c9ca7f3d0991df1fcc4ff23901b576b4630d58e4c848596941cbe189dccabbf31ad09e5ac43d463faa8de867e4f84c3e7311fd32e0ce58ecfb0096592b10c9330cfc5e90dfce533b949a27b6877cb055e1277c30648e3d43fc1085d574555c2a94ea6c75c0e3f8c45370932d44d4c11b92992120bd7d5cd8acd5087a672a3ad960502495e492231fbef6b84333b0f5a681599b8fd3df828b2728a9982f0928418271ac5ab44b53cefa00f410ee4dead23c6e71b9b940d2716ba352a4ac3097725d9126306484b83a9492dad1d673a5b10891fb6831eaea4065080f326e6576112678286709dde8ba0e076305a40bb218de058c667daf69c657bd86994ae9590f3d6c393c6822c13497e41ba2ae625132b9b75c1b83a3c3bd69671277756eaa16238a3940a56883ed1dab2a8bb35c56de63f5bb56ddf3320c0d64a8ea49cc94954938804d7ddd18fe6625aa390f54d9bef6585966cd13a652274ddc0aa33d22966a4a1c8ae9a5ae49d4a084e70d27c313ab582759cd7f322d969b02a2c033cffd6e779bd3478ad1b3d3ce78b8a47d2af43c8d6d3921ac2b6123b6cca8760adf6ffb25e1368c5a8860f707829322f329cfe36a54b722f87d2e759f1b893fe55816bcc4fd9ae570f89b3534fe2c1f76d0956dec5df18befe863afcbd1157a5e641a3bd5788a20437cbaf59489978688c1178fe054fca11322262d50b1bc1d1e34e6bb1007d2d16c71b15b88ceecca2f1a09545bc7a9df8fae6c9a1584a26aa507db124d61d2ca0c24cecf80829d04de765f5e2810b9fd046a8195fcb9b9e46101d97ae369c95e1d144cf9c62a7e451e352dbf8f7b539ebc1c7a7b18ee9610a06f6e0a5bed86e89e595127b34c73394dbf1fb7bb5778c1710d362e012b3a7dc80c95aba034c385e6ea07f5ddfe6644568c8b481f1f7f462edaa80572b33c818126b45aa79e12366334cf9aabd6c1a78430f7af55d52ddeaecfb0eddee6a5bdfc8368827414e6336eb4ce6fdb5f3c319d28d55ce76b6d83edf47b8b0063d39a40eeca95b67334a748aff6b596653ab8d4e67e8cb0de6aafacfa25e7033bd6460e244a87c05cd337e70d54e0c12355c74824dd763e2991c14d4a86e368149ad8a19262f84199ad4213913bb47c9e5f3967247251fc1cbe9598e88856f28e2ecb1c6fff5cb44f4e425a05473723514d28e7dce8163e96a88ad4e63a35740749a12be1d5c03d260f8dc5e169e8c215f91dcbc91cec758a81ce870742e3ef2399e5510020a2f7e4461c7b6ffe5c4c1ad276a93c6d494d9c8d730424bb86e33dcd9b06e21cd2b09924e9bfd4518b6f9563ef5d68bab9320eacb581bce5694c1d8679f19ed14ded0753c4e72bedc6fd083cbc5291863fda64dc71dd664ca1ac1adfdde2b8e785d1adbca7df3cfd14689320d49361c95990f4903a5aaf9c99f5a7f2d970870e8ec31e246ffd280d8cbc56c26d844aedf4d2046e23d8683032a757ac6c5857d5e2226510fd9ef8bd4877a1469e35303970408b03769c509be221f39ac193ad55cc531d9d80bac989910ab287f95cfea64259bda74cac691f374b4d463b763b3f3b98db40ad1bc1b69623b9b2b47f5d99490a92afba50477f445a0ff99d1c895409609fc29cf082646db535091ed61483dde4a6581712dcf44ae31aa035da11e4fd20a707a882b2c08f2a387d0678e52465f88f80a7b05dfb42bd0655c15f996a9c8dc8722d97ac251496c067a2d5d950e363aac05a5a862e077d0a672a3524faf7126e54f0048e7b31522e027cee12483135e53eb89ea1381e3ec44d7da6a1806159b124dd55de108ccd3bbccc18a5d9e6b42cdebd535f2395024d809a5fe4ed88a76b488b8ee2984afae5e86b86bf1ee9dbbc66eb282ed366bdb495661d0d5c673208e92cd1895b4ed974f9bd4117bdd3ef0b376f5940100ad9dcbc83a52fa3ff2c8c038e0e8e68c7427324817e184adfcca982910714bd49583fad7a2db6552cf8e68cec590f4d58b318020cdac04d9a1287ddadf4017ed17c279ba4826892ac5fbd62cf71437670e102c667daa25b86483c5e95397fa3a0e2836c2bc6f7b536a1f3619dad08b9abbeee8c7529226e95f45917e0ac5b489f8a5f604594407583fd011a82578dabce46a491e2a34357a38a1152ef6ece2f06cf2b08342fa44effe0694671ce7147de050355bc25246000869df8d2cde1ca3adc3fc9ced541f1a8034c7cef1ff3e4038723149060ddb9e8d7146a1b0f4b06410e7a6a387bc509b97cd19f9f73a7bae3fa7f3d0f534697806c6aa3552e66ba506d35a4d5a23b042317510fd0272c38a74b192222418e90592e58b245aa4f8a4f77c9702b95c4e02faeab79d8a4a6744f56eb65ebfb36adbdbb4bbc6ec6c3871c8f514f023a8e0590f3f1cc213f9ce2a228ea4efca1331b08afab6b7c930b26ed927adc0b03a5de49ecf85662b111a71932b191c4080053bfbb309e654c07dfd2bfe3245123b5345efde2943206e180fa3293d3d31f33ec4f91788f23f4ff1a2220bf657771342e9f162f518c44d0d096e2dd865952237f75ec7b5a642ca0418bffca12f86fce1fd3cc7f55d9166a03f7011724d546ab53680fff82d41e3e4aeb69bb35abad5b59eb82bcfcaca11b0a321d6ffaf4ea84ab2a643f0500e9c81e3efa69a29d6e5a736468d542a3c23aa96c46d7d1491af2d18033630e054276d9d4c07c4ee432c1846402c3cfdfbdf4bacccdc1d924d73cec740048aab82b68f149230883d677cdce0ac2b0eef751be1caa67496605164c5d524a91f110ea611f97119c32b7c150c848bc9a169779fd8dd44f6a06d63e2c11a5a129c6a14b5ab5666f0c657decca7d1f95d099b3d3a652a6f207b7b37df94161f3a1ebebeb3c1f03e8e10f36c9d6f6b2a37a59dd747f2a994bcdfbf204c51a4535acdd256c03b59978c5633d6a4c8d0009dc64a2f95207598114f80e8101581873a8be38f9ce176f82d673410ffd91c8738e8effc6a3dbc285ed2a00b679963035667c45c682c7a7588c2e15ce3745c1ae506bcea574092eb996901d73201104848a7e5b31356d74342bd2307bc8679ea50f307c71e817ce14889477221f90ccaf1cfcf17af069b8ecbc21a76b384b0b296731cf911964d5bdaae5644fa259de99e6c271ffcadbb7d5955df58f59ee10d7cc9b44942066135e98df3211395a3252e12a5a1d58dc7d0e952f2e8f2cdce995e7ca6e34bd3ee4a312f3acfb122d3239074da11f2901e01245eb3b939251a55583fc81986d97799ea64ffe444f7be1785c313e55f86f2554d5253ae92ef0238cc738c7269250ef1db56298c235f1cd8c12dfc0351e54db23167855a992b58ea38bcb2338fe1e567136e8bdbfc13c13982640584d0b0d02993e9459d3cd8a08b4c9a78309ad3008f481c768f77a9bff33c7e5fd39dad1955459b0c7acd0b74f15706b726f15335abd762de0d686d2319e765d59eb3fdac5f599c236007c6494b1dedc029f42c4b78347a72b5172f266418062c9a4c9aef56ede49bbeb4f6e92cce68bc3eaa520dac621475b882fcc0d561e13a7a70348a382ad71508590733e4996a6439a73fce3c96da97360cac60c4bddd79e653b46b5d2316384cd2b99637739fd0b40bdf3361111502d95fd205752a681697bbb1d7cdaee6fb9dc19ce405c80c67bd69d5f41a361fce581a629a48b18c5bc5db0dc0a5df63b8bd89299aabdf9b5fe1023bafefeb9cf0db08608df2904878077524fe4989b41a5db9fe61f18ceb0d714d1b5a2de5ca8c94bf86e05ebc63dff2647ad159659205a2dcc54df4717defa298143e77057711a60381e7e58d2ab2d8026132fe84ff51415edc7fa756e7764df0665b365677ba5209c0caab7fa5979a4405dfc9380a969ada4b1ff92d6561a9414e4e202f0714b637521d6ee8a0055c3412c3eb5d492e43654794603ec26aef005d7f25bfd8c20474c86883a42bf6e7f7fa7b3a9992591ca3caba2c7b54f498815fca2e7fe4f397230ccb155affb1741fac5bf5d22a1f050fff14e7d11e1fc8307334c421f6062a62fa8dc889e8d1ed51ea65a1baf39d9d5df5fe7520897f9352540fbc0152c07998898b0194b96f6633cfb262e645cf7a1c8b9cc9472159287a55a763abbfb707b947a764cfb1a76e607ef9ae8d81e9b97441d6f6220bd74acecd5eb7dc49141ee579a1f819034745851407b867f2f899d4d0b1a0ba7c8544dbc4964aeb8d6330ff821bc22ead3a2792c7238c6fec2a0b20cd52820cd96b683bcb3c1a5e0d74b63466181217f2a34edb004a5b13fa423ec92c8cfa","cipherparams":{"iv":"fb44e2357661af07225663334e4ff351"},"kdf":"scrypt","kdfparams":{"dklen":48,"n":262144,"p":1,"r":8,"salt":"35c94dfea1201869893d8e02fa143bc9cfab382a152fda97d910cf5a5f25973a"},"mac":"a2c01f77bf6acd0e7d7971296627b1ab95bcd4fd6fb1331c8b726505b57a2bde"},"id":"acd45f9b-81ad-40bb-9a23-595c0462a244","version":4}
@@ -0,0 +1 @@
1
+ {"address":"3ce22c0e2714196734e42b0d4d5ad11284260502a560e46c2cd857391564142f","crypto":{"cipher":"aes-256-ctr","ciphertext":"436140b5e7756ed556518609da8809a593a48808a3891905b2edee1680907fbfe3832bc2925f85308d02e19d80bc7239c69fe04f825fa5527d24a43a0179b85859c9dfd2d1b68fbb3f2a447b013d0ba36923dc3105db8f72bde463ae2e35ff18825457c88d284fe8018d379b176496282bd6f3eec733e7fbd0584fd7b50c68e2fbdcf62060fc815e2600f5556f6b7a8774f7acb4c51b634d7fd3fcffcf7569a12d292327b2ea670ca0d1ef380c535e58cf2adb9b312e5ede4e14d2b06c343cce33e6b032284d6385f0d4cd70e45b1a49ffe54320387149708f5b4e2bbf5b87a281e6efc1ffa4b55476b26ceacfceb6caeb2b67960d23d8abab323364d7f980cf0b13d8b71463d617a39d0d26df38cef42121ad6932835add5fe8bfed83b19933c9d396c8a4b806c4bc4643697fb5c2df8ef1d36b6e84210153b4e85a9f19c6baebb0bf41904dd1dc323976e0ecd0c41cc103dafc4c7fa3d565ff62eb04d9e778410db443663b9742da592ab74429fe4a04aeba3456c29e4e51c6e4121282147bb20f8b4ad09dab711c7970dc238060372103f3c1da635e5c65606740602f2ca0a29edbc73382934a03becb3351420f1a5475ca830c7d48afb29514a9f05d02fcc7ce146e490810fcf097f60680e5e8008e5068ee59170002ae1d564325985f03fa3091d6bd75c01564600f680e2f9b4421b126ba4329120d876177967289308c18203e861902fc2069be9a9c5662e1f499b37e0f714a74ff67f035921c9127b103b25c02b612e85d8f8fbfd3e7c36e0e9724ff151ba679bc13a8120cbad91cac73a6db48a8e1f312829927084b212ea87153d37edf9644f2b87b0c85b6bea9add51297254543117576f81853e12e87010c69d95a80d0002a68cd76522adc6fa725da98e6f79870e976d7828e1112ba2ccad3be1abfbd5646d34ec44a328aa10d0bfc9b218ae5f48d1eb50aa8f7bef0bc407f1d62ebea0d740c46d4107df2dde7e1f82f66491c0d7db8317983a8acbb3f59069511a1072a35d7436da6ca18d47ae521b2eba4ee81b566ba5fa758f3f77b747dc221180e42a2bf032cbb0da6728bad1fa15f980ec0951e89a9629f931234b93cdda9051190f62e2b1552c74c49c122a547cd91d8799be95cc0af67863e17b70ea3df0e53e3668e35a4619563eef93e3f3dcc1818e7fa4600475213df9f97cbc70e75b2370dce21554fd43709ebfd29001c4bca572f3672bf59a1c643d2b80ef27e759931799c1d57bed9837ea4e0dce4935789c16f540ac97363aee055528e28d0e5953af9dd64497ac2517ad466167def4a524299ef9fd251abb512a2338e12575f4f0d83ef2c6c54ce1ead82414d8116780937aa461486d320517590215c55f030675c50fd07e211dffa52777f6b5f8d60dfbd26f6bd04fa81d2ac5e7ce4ddf3ffc44dd875f91ca6247083ce4b0d34f966cd1f7e7ec5e8472e0391a6de72e9aaef5ca7f684d78e5f162e74da155836d8d142c4692a9462e833b79ec6ab87fe1dfa0e1019d194bcd63e4dd05e90891e1cd0c0976ef5581de552b40b3646d1322000ccc8858073e28a776ef022632fd529983b462fbe006105ad4077cd969f3c33a82903b3754f896b11d242312b963620e8ece7ec6317a083c1082e1ecd4cf5e86336622ed344d3a07a74f3b982dfd27148fd62ac40461602028504f45bb650dcb7238a8538ef95a2cfcc3b6832b1cd0cfcc954899e68fc34be65e4091c352112a53a1cc531319266b7be55e5ee2b396b06b403983353c23c52c9b842d65d3d2b767534ccb1826781218540a3a5ae9e5df39c2840721e9cc77d35f2bc39c8e371c95b02203f3f3f0435ac6634ac23befdadf2e625dd35b474a14a7ca9785adf872fa21dc2cb6fd74c1b7bdd0b6843c1f942916782330feffc1b90f7d49c4f20ab485236ba918a541fbf7570d4426252c75efad94acd8d0802ac73007c9062a2949fcab0c6c5f60aa5545199bcbb1b789759ddc92cbc9c0a584e022f905c98e30a0e56a5a56cdc7ad5d43d298eac4c07c7d003e95fad52b362b249c0b25b16d47886748d4f1e68827f44c2fc1499f3fce29aeb78a1b639f2d43183870f5c983da3401518a45f7fb9b0f8777e12a665f859c46c266a900735a3dac2176388cffe475cba639e0a7cfdc5eec069589f59e125ac2f1856c7108986843cd62ca10292eed3922a898d0455fb49bd23764d3d8d1c40cdb8b0a28600c258e165f5a63636e4a006b6f4f9087ba2a4679a75bf8ec1674c49f0b27cc35047529e6fe0a2701f25e3837e176ec103942351cdef4dd78700c22dfe4fb0232b048f65cacd8397e5eaf4617f9e87706e368e1d81d6c250569bbe9d11b520f67fc46f482086633bf3f4a3ba84ef586bc536439b936777da167684adb0bed53a23374e0fafbd63d5b05c273934ddbd4653d4e7b12fad2047d0c81081584c97bf643ad522a14718efd930da382fda253dd0dbd6de631959cdfda1748e242fd4d76f009123a5028f8ba36ef56432e1643e89783b3b027d294cfe93e91d3cc0db5c38f7a6427c078816bc0ef9136cb318afb5fa6403cce01b48c2425a16729e34417a9e83fe91189771785f736f04b343895be17f135dbe70f402f2cf17fc19b5d3a21c07758e3ec93f25ddc7e0419c34d5b7028401a030b9b12b24fcc661f20d927a3edeb632853bbce1d727060bd5a0ce4f4687d5d8b464d44deab5b15e5965df2004931ca719f869c060cd1690faf333e3d2e1ab618b0802b9adccc48b9b2ee1fd2542e02189c4db6b86836db8638f49198e69b175c1586857a2ab667371c7c0d12b53a7d541e324712629a2f15417dfc1c2fa6a6779f2419e09b301d2caa38d15e5e719da3093788e91a47d95fb002f5cd27bf5643308b91bbd5e433b5b781ba77db7fbd2fa699b8cfdba40eb4c2fc300b0edc8f13f9695b7005cadafb7038f27bca249dc8cc21619551c722aa42e2584d690da94921885f9e7c9e2bf84a400a24c6e6ba9c97e2a494fd4280ca14ead2d3d911b1beab944cc6bfc99ce809f9c1c9f2c849e47b8fbd1cce50c9209e448657dde03c05cdd02aecb24dac778b4818404b447d259a44ce35d17468ebbaa2e054c5c6527267023057064c864bfbc2f025415b28ddff458a5dafeb8bd2417006fbc42d45ea9c32a51eb3b7320953eb7d679966a624e8d45d54aeeebe5ee3fcb3c854df9dd6789d555b8e05146402550522dd0708300ff3c44e6cd1c176ea8433efc9f11563656f943086765430a53e06399374840982ec9865160138d8990e063327f04e4ce76b8809285160bccc2508d841f20e789650e71aed4367e2fb7789d133756555bb5337ba5e3bc84bdd9f00e935efc26e9d3d4071663891b98dc85162e1496fbace127439b0fb1502704556ff8d7033faf61dd6f9ee6e2bb20ebd10b1aa62af3738662a86f35e563083a51f3309f599d03b3395cec716e5714c72e041f3951cfa450b794a85fb25b40cc4db1f47ff7810645e38a473decb5c0a439149ff6bd95d6d83164568eb3759ef46a1cd65eea92afcb7a40a3a616807b45cb1e09e41551713a12349a13ad0ff3ada9baa16cbb6679f5230db6dd9de83277a91875848a4d43fd5ac13326d2faaa56f073fbc5615666b74ca0349bd198eb985b613bd1cc7d2ce4c10cd51541b8bd15e6873e088b34d55d0c14eedaef63a62ad762af809d87331705785c95b31c8461529aef40b83050e272371d8fcc1aa7ff4752ea9489bae71748686018b80740072895231185193ddbd00fab148227c789c9986caeafce3e446dafd5a63d0b05ae40916bacb4fd1001a52511508b235d05ff2c3a4f6972b74907a05265589d1c7e1d30361067f44783bc4437fdffacc870cffa1a74b407ce84ec9671180a33003c9b06c14c5e6426e6ea45198e461589c418332a620e16fadbfb8ca143d9264b659f7ae24e563be11e4a3230210939b59c57170fc780b45c6139d3505c074d746fde5e3639ddd7ba6b1805e691e6ad606f888b3d8fe9d05ec60bcd96a48ca51641c48630a00e17abafcb096b5bef5ea4765ae3b5e4fdd468530266bba5af6d4691cf31cf910d3d0b301635a1e77ec0c08be95570bbc1bdd6efd13a680edfe63efb5485759c0e9826c7b567e69d1ebb529adc1900159da1a86fba46821e4fbeb5983794b0221f4d186f07f92ad86b6e25d1ec4ac0a714aafc35bb7fb5aa16fb671e9c78f9158051e5928d10a0797364ef672812b89cec6feda209030377e4a668a49a866943de6b0132e9c62387e8bd626bcd844d606bd085f70cf04efe140e1d0dc48e1d3fadc9b252ea55f85b7238738f5ccab036037d223d2b2a22d557cd306aac03260827bdc0b73f31919080596331ed4ed215175e08046bc1303689c9e59060f745427492794fc940db77a5cbfcccb146426bca2ea68d75935973ebd6ccd0225b1249c10881691e534c9542ed610fb492368afdd908f901e953e1fb7ffee81cb3a6d1d9b9f61c41b9bfbb157996735f48b41c1b627029f44f5c7aabcee7531d9d787e13563d5a0182cebccede2fefe2b495b1d72fcb001b1f90b31e8c9d1bf2214e8bc7c5798ad64e8341f45a18f209a966b0afc67433c80d5bb690bc08bce4079cde6530336c589fb9243d156efb83822187bc75c90d0e4a732524820991022e398b6f84720d0f3cb1d474331f9870b9c3c4baf8ec92eef9c361dca16196e5218a6a3eeed8b6603e4c56823afabfb1e4cd0d366802b9b27dde9515516614e19940a79b64b83d2d1f6c8a790c5ad045111368784ca8b93af0956a9a0b2412ccf446f7d5107eb078977e94be83ba35cecbe4bfc30d71587ff5c49c67f5396545ae57c08ec3860b7a43c2f2ca6456cf8aab3ba3ba9f0919faeadc0d1870e807531f1e63bff966fa7a224e7e96a7e2767799d0492c6c5a175e3b09930a2adb1882db5498e764a792a4baca6fec377a9f8c0858c9d0b6ed40db006f832a549cc2a7212bba14c8df6f39b768d7c5d38293ecc64ce6e688d01c207d0c30906cafe4fd5f5102f4abc2aff7e0a22f03b395d15a0ee5193c4f3357d907fa694f3dfeb6804ca1637df141602b5a1332b825a06176613a9093e09cd447846b54eb4d033894583b095ff7b1979ea8eb59b84d5d5aede5b6cc6bb70caa8deb63a635b05da7877c02525377b51a9733145d0bde039c76af969bdec5e578ef0b69b17ff02bd063586eff7a31170323ba344af0138efda1fa055a7c1be1b1a9a61b13c52c8675753ae7aa79d585c72516660e08f595e68a0ade7088634e207341dd200ca4b964a9e67b2053f2fb8ac03869034eef05f606e842ca7ca94821b817edcb56234aa376899239bfb6cb4520dc1291967b1faf123220017d665252a29ad00648385ecaadef5c9a324d7083ab3242e6b2655eb739c109e9210b4bce5a4d11388120d57d7c6c9d5e374bc15a9ebc358dfce70a9299f5432deb6962e297fe9b09adaf612f9ae5bddfb380992b6cc901133065b32989e6fbff7aad8eb89b048d54deb9c9883be6ed009f645470b4b7f50548e119da3201046158590b0c117b31fea87601ef01199278e61faf3bfe1a389231d990584dd665398db5ff7761ce3fc59f521424f95c2d9d8ff416f4b3a9472d09eecfbe2ac642e94ded0af9910ccdb9b5d1b55c51efd10d4700a9ac30ef31267f634416dfe867323de1b72596f62890d893f9fee607f2343071bf5dc07db8bd46be2e2c44dfc5d6cd8ddcb4","cipherparams":{"iv":"baaf756c183b9f0e506cef0699f445d5"},"kdf":"scrypt","kdfparams":{"dklen":48,"n":262144,"p":1,"r":8,"salt":"9f62e9217e3661aa3c71c86ae3b134ea3b13b098ecb30524a46b75554d92781b"},"mac":"09c2577b3ce42075e776dfacdf854684ce5ebbaab2fff488bf75c0aa457fdb64"},"id":"971fde18-c2b7-491d-9a2d-60209e575803","version":4}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * One-off: generate deterministic verify vectors for keyType 3 (verifyCompact + verify full) and keyType 5.
3
+ * Run: node tests/generate-verify-vectors.js
4
+ */
5
+ const qcsdk = require('..');
6
+ const fs = require('fs');
7
+ const path = require('path');
8
+
9
+ const MAINNET_CHAIN_ID = 123123;
10
+ const READ_RELAY_URL = 'https://sdk.readrelay.quantumcoinapi.com';
11
+ const WRITE_RELAY_URL = 'https://sdk.writerelay.quantumcoinapi.com';
12
+
13
+ const TEST_SEED_WORDS_32 = [
14
+ 'cylamidal', 'suculate', 'sealmate', 'radiploid', 'equifaxis', 'and', 'antipoise', 'stitchesy', 'perelade', 'lite',
15
+ 'gourtarel', 'thursat', 'overdrome', 'cogulate', 'nonviva', 'stewnut', 'floribund', 'enduivist', 'decatary', 'elvenwort',
16
+ 'indoucate', 'ravelent', 'vocalus', 'wetshirt', 'rutatory', 'percect', 'breaktout', 'corpation', 'myricorus', 'veofreat',
17
+ 'junkard', 'supercarp',
18
+ ];
19
+
20
+ const TEST_SEED_WORDS_36 = [
21
+ 'cylamidal', 'suculate', 'sealmate', 'radiploid', 'equifaxis', 'and', 'antipoise', 'stitchesy', 'perelade', 'lite',
22
+ 'gourtarel', 'thursat', 'overdrome', 'cogulate', 'nonviva', 'stewnut', 'floribund', 'enduivist', 'decatary', 'elvenwort',
23
+ 'indoucate', 'ravelent', 'vocalus', 'wetshirt', 'rutatory', 'percect', 'breaktout', 'corpation', 'myricorus', 'veofreat',
24
+ 'junkard', 'supercarp', 'sukerus', 'tautang', 'facetype', 'shishkin',
25
+ ];
26
+
27
+ const MESSAGE_32 = new Uint8Array(32);
28
+ for (let i = 0; i < 32; i++) MESSAGE_32[i] = (i + 1) & 0xff;
29
+
30
+ function toArray(arr) {
31
+ return Array.isArray(arr) ? arr : Array.from(arr);
32
+ }
33
+
34
+ async function main() {
35
+ const cfg = new qcsdk.Config(READ_RELAY_URL, WRITE_RELAY_URL, MAINNET_CHAIN_ID, '', '');
36
+ await qcsdk.initialize(cfg);
37
+
38
+ const out = {};
39
+
40
+ // keyType 3 verifyCompact: 32-word seed, sign with null or 0
41
+ const wallet3 = qcsdk.openWalletFromSeedWords(TEST_SEED_WORDS_32);
42
+ if (!wallet3 || wallet3 === -1000) {
43
+ console.error('openWalletFromSeedWords(32) failed');
44
+ process.exit(1);
45
+ }
46
+ const sign3Compact = qcsdk.sign(wallet3.privateKey, MESSAGE_32, 0);
47
+ if (sign3Compact.resultCode !== 0) {
48
+ console.error('sign type3 compact failed', sign3Compact.resultCode);
49
+ process.exit(1);
50
+ }
51
+ out.type3Compact = {
52
+ publicKey: toArray(wallet3.publicKey),
53
+ signature: toArray(sign3Compact.signature),
54
+ message: Array.from(MESSAGE_32),
55
+ };
56
+
57
+ // keyType 3 verify (full): same wallet, sign with context 2
58
+ const sign3Full = qcsdk.sign(wallet3.privateKey, MESSAGE_32, 2);
59
+ if (sign3Full.resultCode !== 0) {
60
+ console.error('sign type3 full failed', sign3Full.resultCode);
61
+ process.exit(1);
62
+ }
63
+ out.type3Full = {
64
+ publicKey: toArray(wallet3.publicKey),
65
+ signature: toArray(sign3Full.signature),
66
+ message: Array.from(MESSAGE_32),
67
+ };
68
+
69
+ // keyType 5: 36-word seed, sign with null or 1
70
+ const wallet5 = qcsdk.openWalletFromSeedWords(TEST_SEED_WORDS_36);
71
+ if (!wallet5 || wallet5 === -1000) {
72
+ console.error('openWalletFromSeedWords(36) failed');
73
+ process.exit(1);
74
+ }
75
+ const sign5 = qcsdk.sign(wallet5.privateKey, MESSAGE_32, 1);
76
+ if (sign5.resultCode !== 0) {
77
+ console.error('sign type5 failed', sign5.resultCode);
78
+ process.exit(1);
79
+ }
80
+ out.type5 = {
81
+ publicKey: toArray(wallet5.publicKey),
82
+ signature: toArray(sign5.signature),
83
+ message: Array.from(MESSAGE_32),
84
+ };
85
+
86
+ const outPath = path.join(__dirname, 'verify-vectors.json');
87
+ fs.writeFileSync(outPath, JSON.stringify(out, null, 2), 'utf8');
88
+ console.log('Wrote', outPath);
89
+ }
90
+
91
+ main().catch((e) => { console.error(e); process.exit(1); });
@@ -0,0 +1,41 @@
1
+ const { describe, test } = require('node:test');
2
+ const assert = require('node:assert/strict');
3
+
4
+ // Non-transactional, pre-initialize negative coverage.
5
+ // This file intentionally does NOT call `initialize()`.
6
+
7
+ const qcsdk = require('..');
8
+
9
+ describe('non-transactional (pre-init)', () => {
10
+ test('core APIs return -1000 before initialize (where applicable)', async () => {
11
+ const anyValidAddress =
12
+ '0x6f605c4142f1cb037f967101a5b28ccd00b27cce4516190356baaf284d20e667';
13
+ const anyTxHash =
14
+ '0xe6fbabc178adaaab6b9dbda086de53deaced1d6fe40e7db9539fe9e85695d1be';
15
+
16
+ assert.equal(qcsdk.isAddressValid(anyValidAddress), -1000);
17
+ assert.equal(qcsdk.addressFromPublicKey([1, 2, 3]), -1000);
18
+ assert.equal(qcsdk.publicKeyFromPrivateKey([1, 2, 3]), -1000);
19
+ assert.equal(qcsdk.publicKeyFromSignature(new Array(32).fill(1), [1, 2, 3]), -1000);
20
+ assert.equal(qcsdk.combinePublicKeySignature([1], [2]), -1000);
21
+ assert.equal(qcsdk.verifyWallet({ address: '0x0', privateKey: [], publicKey: [] }), -1000);
22
+ assert.equal(qcsdk.signRawTransaction({}), -1000);
23
+
24
+ assert.equal(await qcsdk.getLatestBlockDetails(), -1000);
25
+ assert.equal(await qcsdk.getAccountDetails(anyValidAddress), -1000);
26
+ assert.equal(await qcsdk.listAccountTransactions(anyValidAddress, 0), -1000);
27
+ assert.equal(await qcsdk.getTransactionDetails(anyTxHash), -1000);
28
+ assert.equal(await qcsdk.postTransaction('0x00'), -1000);
29
+ });
30
+
31
+ test('RLP helpers return an explicit error before initialize', () => {
32
+ const enc = qcsdk.encodeRlp('hello');
33
+ assert.ok(enc);
34
+ assert.notEqual(enc.error, '');
35
+
36
+ const dec = qcsdk.decodeRlp('0x00');
37
+ assert.ok(dec);
38
+ assert.notEqual(dec.error, '');
39
+ });
40
+ });
41
+