quantumcoin 7.0.15 → 8.0.0

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 (415) hide show
  1. package/README-SDK.md +44 -0
  2. package/README.md +1 -1
  3. package/generate-sdk.js +8 -6
  4. package/package.json +22 -4
  5. package/src/abi/interface.d.ts +133 -128
  6. package/src/abi/js-abi-coder.d.ts +8 -8
  7. package/src/constants.d.ts +61 -61
  8. package/src/contract/contract-factory.d.ts +28 -28
  9. package/src/contract/contract.d.ts +121 -113
  10. package/src/contract/index.d.ts +1 -0
  11. package/src/errors/index.d.ts +10 -2
  12. package/src/errors/index.js +1 -1
  13. package/src/generator/index.d.ts +109 -81
  14. package/src/index.d.ts +126 -123
  15. package/src/internal/event-emitter.d.ts +76 -0
  16. package/src/internal/event-emitter.js +144 -0
  17. package/src/internal/hex.d.ts +27 -4
  18. package/src/internal/hex.js +7 -3
  19. package/src/providers/extra-providers.d.ts +141 -139
  20. package/src/providers/extra-providers.js +15 -1
  21. package/src/providers/index.d.ts +18 -18
  22. package/src/providers/json-rpc-provider.d.ts +1 -0
  23. package/src/providers/provider.d.ts +233 -222
  24. package/src/providers/provider.js +1 -1
  25. package/src/utils/encoding.js +16 -4
  26. package/src/utils/fixednumber.d.ts +57 -57
  27. package/src/utils/hashing.d.ts +79 -76
  28. package/src/utils/hashing.js +68 -177
  29. package/src/utils/index.d.ts +1 -1
  30. package/src/utils/rlp.js +1 -1
  31. package/src/wallet/wallet.d.ts +54 -29
  32. package/src/wallet/wallet.js +3 -3
  33. package/.github/workflows/publish-npmjs.yaml +0 -22
  34. package/.gitignore +0 -15
  35. package/examples/AllSolidityTypes.sol +0 -184
  36. package/examples/SimpleIERC20.sol +0 -74
  37. package/examples/events.js +0 -41
  38. package/examples/events.ts +0 -35
  39. package/examples/example-generated-sdk-js/README.md +0 -65
  40. package/examples/example-generated-sdk-js/examples/_test-wallet.js +0 -17
  41. package/examples/example-generated-sdk-js/examples/deploy.js +0 -41
  42. package/examples/example-generated-sdk-js/examples/events.js +0 -36
  43. package/examples/example-generated-sdk-js/examples/read-operations.js +0 -46
  44. package/examples/example-generated-sdk-js/examples/write-operations.js +0 -44
  45. package/examples/example-generated-sdk-js/index.d.ts +0 -1
  46. package/examples/example-generated-sdk-js/index.js +0 -15
  47. package/examples/example-generated-sdk-js/package-lock.json +0 -59
  48. package/examples/example-generated-sdk-js/package.json +0 -22
  49. package/examples/example-generated-sdk-js/src/SimpleERC20.d.ts +0 -19
  50. package/examples/example-generated-sdk-js/src/SimpleERC20.js +0 -353
  51. package/examples/example-generated-sdk-js/src/SimpleERC20__factory.d.ts +0 -10
  52. package/examples/example-generated-sdk-js/src/SimpleERC20__factory.js +0 -29
  53. package/examples/example-generated-sdk-js/src/index.d.ts +0 -4
  54. package/examples/example-generated-sdk-js/src/index.js +0 -5
  55. package/examples/example-generated-sdk-js/src/quantumcoin-shims.d.ts +0 -23
  56. package/examples/example-generated-sdk-js/src/types.d.ts +0 -3
  57. package/examples/example-generated-sdk-js/src/types.js +0 -3
  58. package/examples/example-generated-sdk-js/test/e2e/SimpleERC20.e2e.test.js +0 -78
  59. package/examples/example-generated-sdk-ts/README.md +0 -65
  60. package/examples/example-generated-sdk-ts/examples/_test-wallet.js +0 -17
  61. package/examples/example-generated-sdk-ts/examples/deploy.js +0 -41
  62. package/examples/example-generated-sdk-ts/examples/events.js +0 -36
  63. package/examples/example-generated-sdk-ts/examples/read-operations.js +0 -46
  64. package/examples/example-generated-sdk-ts/examples/write-operations.js +0 -44
  65. package/examples/example-generated-sdk-ts/index.d.ts +0 -1
  66. package/examples/example-generated-sdk-ts/index.js +0 -15
  67. package/examples/example-generated-sdk-ts/package-lock.json +0 -59
  68. package/examples/example-generated-sdk-ts/package.json +0 -23
  69. package/examples/example-generated-sdk-ts/src/SimpleERC20.ts +0 -334
  70. package/examples/example-generated-sdk-ts/src/SimpleERC20__factory.ts +0 -28
  71. package/examples/example-generated-sdk-ts/src/index.ts +0 -4
  72. package/examples/example-generated-sdk-ts/src/quantumcoin-shims.d.ts +0 -23
  73. package/examples/example-generated-sdk-ts/src/types.ts +0 -4
  74. package/examples/example-generated-sdk-ts/test/e2e/SimpleERC20.e2e.test.js +0 -78
  75. package/examples/example-generated-sdk-ts/tsconfig.json +0 -14
  76. package/examples/example-generator-sdk-js.js +0 -100
  77. package/examples/example-generator-sdk-js.ts +0 -77
  78. package/examples/example-generator-sdk-ts.js +0 -100
  79. package/examples/example-generator-sdk-ts.ts +0 -77
  80. package/examples/example.js +0 -67
  81. package/examples/example.ts +0 -56
  82. package/examples/node_modules/.bin/esbuild +0 -16
  83. package/examples/node_modules/.bin/esbuild.cmd +0 -17
  84. package/examples/node_modules/.bin/esbuild.ps1 +0 -28
  85. package/examples/node_modules/.bin/sdkgen +0 -16
  86. package/examples/node_modules/.bin/sdkgen.cmd +0 -17
  87. package/examples/node_modules/.bin/sdkgen.ps1 +0 -28
  88. package/examples/node_modules/.bin/tsx +0 -16
  89. package/examples/node_modules/.bin/tsx.cmd +0 -17
  90. package/examples/node_modules/.bin/tsx.ps1 +0 -28
  91. package/examples/node_modules/.package-lock.json +0 -144
  92. package/examples/node_modules/@esbuild/win32-x64/README.md +0 -3
  93. package/examples/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  94. package/examples/node_modules/@esbuild/win32-x64/package.json +0 -20
  95. package/examples/node_modules/esbuild/LICENSE.md +0 -21
  96. package/examples/node_modules/esbuild/README.md +0 -3
  97. package/examples/node_modules/esbuild/bin/esbuild +0 -223
  98. package/examples/node_modules/esbuild/install.js +0 -289
  99. package/examples/node_modules/esbuild/lib/main.d.ts +0 -716
  100. package/examples/node_modules/esbuild/lib/main.js +0 -2532
  101. package/examples/node_modules/esbuild/package.json +0 -49
  102. package/examples/node_modules/get-tsconfig/LICENSE +0 -21
  103. package/examples/node_modules/get-tsconfig/README.md +0 -235
  104. package/examples/node_modules/get-tsconfig/dist/index.cjs +0 -7
  105. package/examples/node_modules/get-tsconfig/dist/index.d.cts +0 -2088
  106. package/examples/node_modules/get-tsconfig/dist/index.d.mts +0 -2088
  107. package/examples/node_modules/get-tsconfig/dist/index.mjs +0 -7
  108. package/examples/node_modules/get-tsconfig/package.json +0 -46
  109. package/examples/node_modules/quantum-coin-js-sdk/LICENSE +0 -21
  110. package/examples/node_modules/quantum-coin-js-sdk/LICENSE-wasm_exec.js.txt +0 -30
  111. package/examples/node_modules/quantum-coin-js-sdk/README.md +0 -1689
  112. package/examples/node_modules/quantum-coin-js-sdk/example/README.md +0 -14
  113. package/examples/node_modules/quantum-coin-js-sdk/example/conversion-example.js +0 -19
  114. package/examples/node_modules/quantum-coin-js-sdk/example/example-create-contract.js +0 -396
  115. package/examples/node_modules/quantum-coin-js-sdk/example/example-encode-decode-rlp.js +0 -225
  116. package/examples/node_modules/quantum-coin-js-sdk/example/example-event-pack-unpack.js +0 -391
  117. package/examples/node_modules/quantum-coin-js-sdk/example/example-misc.js +0 -100
  118. package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send-signRawTransaction.js +0 -318
  119. package/examples/node_modules/quantum-coin-js-sdk/example/example-rpc-send.js +0 -115
  120. package/examples/node_modules/quantum-coin-js-sdk/example/example-send.js +0 -69
  121. package/examples/node_modules/quantum-coin-js-sdk/example/example-token-pack-unpack.js +0 -960
  122. package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet-version4.js +0 -34
  123. package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet.js +0 -43
  124. package/examples/node_modules/quantum-coin-js-sdk/example/example.js +0 -405
  125. package/examples/node_modules/quantum-coin-js-sdk/example/package-lock.json +0 -56
  126. package/examples/node_modules/quantum-coin-js-sdk/example/package.json +0 -15
  127. package/examples/node_modules/quantum-coin-js-sdk/index.d.ts +0 -1047
  128. package/examples/node_modules/quantum-coin-js-sdk/index.js +0 -3182
  129. package/examples/node_modules/quantum-coin-js-sdk/package.json +0 -34
  130. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-32.json +0 -1
  131. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-36.json +0 -1
  132. package/examples/node_modules/quantum-coin-js-sdk/tests/encrypted-48.json +0 -1
  133. package/examples/node_modules/quantum-coin-js-sdk/tests/generate-verify-vectors.js +0 -91
  134. package/examples/node_modules/quantum-coin-js-sdk/tests/get-gas-price.test.js +0 -59
  135. package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.preinit.test.js +0 -41
  136. package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.test.js +0 -1389
  137. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-keytype5-context-null.test.js +0 -107
  138. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-transaction.test.js +0 -196
  139. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-verify.test.js +0 -311
  140. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.relay.test.js +0 -131
  141. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.rpc.test.js +0 -103
  142. package/examples/node_modules/quantum-coin-js-sdk/tests/verify-vectors.json +0 -95035
  143. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.d.ts +0 -9
  144. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.js +0 -16
  145. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.d.ts +0 -0
  146. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.js +0 -587
  147. package/examples/node_modules/resolve-pkg-maps/LICENSE +0 -21
  148. package/examples/node_modules/resolve-pkg-maps/README.md +0 -216
  149. package/examples/node_modules/resolve-pkg-maps/dist/index.cjs +0 -1
  150. package/examples/node_modules/resolve-pkg-maps/dist/index.d.cts +0 -11
  151. package/examples/node_modules/resolve-pkg-maps/dist/index.d.mts +0 -11
  152. package/examples/node_modules/resolve-pkg-maps/dist/index.mjs +0 -1
  153. package/examples/node_modules/resolve-pkg-maps/package.json +0 -42
  154. package/examples/node_modules/seed-words/.github/workflows/publish-npmjs.yaml +0 -22
  155. package/examples/node_modules/seed-words/BUILD.md +0 -7
  156. package/examples/node_modules/seed-words/LICENSE +0 -121
  157. package/examples/node_modules/seed-words/README.md +0 -67
  158. package/examples/node_modules/seed-words/dist/seedwords.d.ts +0 -39
  159. package/examples/node_modules/seed-words/package.json +0 -27
  160. package/examples/node_modules/seed-words/seedwords.js +0 -315
  161. package/examples/node_modules/seed-words/seedwords.txt +0 -65536
  162. package/examples/node_modules/seed-words/tsconfig.json +0 -21
  163. package/examples/node_modules/tsx/LICENSE +0 -21
  164. package/examples/node_modules/tsx/README.md +0 -32
  165. package/examples/node_modules/tsx/dist/cjs/api/index.cjs +0 -1
  166. package/examples/node_modules/tsx/dist/cjs/api/index.d.cts +0 -35
  167. package/examples/node_modules/tsx/dist/cjs/api/index.d.mts +0 -35
  168. package/examples/node_modules/tsx/dist/cjs/api/index.mjs +0 -1
  169. package/examples/node_modules/tsx/dist/cjs/index.cjs +0 -1
  170. package/examples/node_modules/tsx/dist/cjs/index.mjs +0 -1
  171. package/examples/node_modules/tsx/dist/cli.cjs +0 -54
  172. package/examples/node_modules/tsx/dist/cli.mjs +0 -55
  173. package/examples/node_modules/tsx/dist/client-BQVF1NaW.mjs +0 -1
  174. package/examples/node_modules/tsx/dist/client-D6NvIMSC.cjs +0 -1
  175. package/examples/node_modules/tsx/dist/esm/api/index.cjs +0 -1
  176. package/examples/node_modules/tsx/dist/esm/api/index.d.cts +0 -35
  177. package/examples/node_modules/tsx/dist/esm/api/index.d.mts +0 -35
  178. package/examples/node_modules/tsx/dist/esm/api/index.mjs +0 -1
  179. package/examples/node_modules/tsx/dist/esm/index.cjs +0 -2
  180. package/examples/node_modules/tsx/dist/esm/index.mjs +0 -2
  181. package/examples/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +0 -1
  182. package/examples/node_modules/tsx/dist/get-pipe-path-BoR10qr8.cjs +0 -1
  183. package/examples/node_modules/tsx/dist/index-7AaEi15b.mjs +0 -14
  184. package/examples/node_modules/tsx/dist/index-BWFBUo6r.cjs +0 -1
  185. package/examples/node_modules/tsx/dist/index-gbaejti9.mjs +0 -1
  186. package/examples/node_modules/tsx/dist/index-gckBtVBf.cjs +0 -14
  187. package/examples/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +0 -3
  188. package/examples/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +0 -3
  189. package/examples/node_modules/tsx/dist/loader.cjs +0 -1
  190. package/examples/node_modules/tsx/dist/loader.mjs +0 -1
  191. package/examples/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +0 -1
  192. package/examples/node_modules/tsx/dist/node-features-roYmp9jK.cjs +0 -1
  193. package/examples/node_modules/tsx/dist/package-CeBgXWuR.mjs +0 -1
  194. package/examples/node_modules/tsx/dist/package-Dxt5kIHw.cjs +0 -1
  195. package/examples/node_modules/tsx/dist/patch-repl.cjs +0 -1
  196. package/examples/node_modules/tsx/dist/patch-repl.mjs +0 -1
  197. package/examples/node_modules/tsx/dist/preflight.cjs +0 -1
  198. package/examples/node_modules/tsx/dist/preflight.mjs +0 -1
  199. package/examples/node_modules/tsx/dist/register-2sWVXuRQ.cjs +0 -1
  200. package/examples/node_modules/tsx/dist/register-B7jrtLTO.mjs +0 -1
  201. package/examples/node_modules/tsx/dist/register-CFH5oNdT.mjs +0 -4
  202. package/examples/node_modules/tsx/dist/register-D46fvsV_.cjs +0 -4
  203. package/examples/node_modules/tsx/dist/repl.cjs +0 -3
  204. package/examples/node_modules/tsx/dist/repl.mjs +0 -3
  205. package/examples/node_modules/tsx/dist/require-D4F1Lv60.cjs +0 -1
  206. package/examples/node_modules/tsx/dist/require-DQxpCAr4.mjs +0 -1
  207. package/examples/node_modules/tsx/dist/suppress-warnings.cjs +0 -1
  208. package/examples/node_modules/tsx/dist/suppress-warnings.mjs +0 -1
  209. package/examples/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +0 -1
  210. package/examples/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +0 -1
  211. package/examples/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +0 -5
  212. package/examples/node_modules/tsx/package.json +0 -68
  213. package/examples/offline-signing.js +0 -77
  214. package/examples/offline-signing.ts +0 -65
  215. package/examples/package-lock.json +0 -596
  216. package/examples/package.json +0 -32
  217. package/examples/read-operations.js +0 -32
  218. package/examples/read-operations.ts +0 -31
  219. package/examples/sdk-generator-erc20.inline.json +0 -251
  220. package/examples/solidity-types.ts +0 -43
  221. package/examples/wallet-offline.js +0 -36
  222. package/examples/wallet-offline.ts +0 -26
  223. package/scripts/copy-declarations.js +0 -31
  224. package/scripts/run-all-one-by-one.js +0 -151
  225. package/test/e2e/all-solidity-types.dynamic.test.js +0 -207
  226. package/test/e2e/all-solidity-types.dynamic.test.ts +0 -191
  227. package/test/e2e/all-solidity-types.fixtures.js +0 -231
  228. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.js +0 -387
  229. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.ts +0 -350
  230. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/README.md +0 -83
  231. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.abi.json +0 -12544
  232. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.bin +0 -1
  233. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.js +0 -17
  234. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.ts +0 -10
  235. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.js +0 -41
  236. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.ts +0 -41
  237. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.js +0 -36
  238. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.ts +0 -36
  239. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.js +0 -82
  240. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.ts +0 -80
  241. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.js +0 -46
  242. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.ts +0 -44
  243. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.js +0 -44
  244. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.ts +0 -44
  245. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.d.ts +0 -1
  246. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.js +0 -21
  247. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package-lock.json +0 -597
  248. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package.json +0 -25
  249. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.d.ts +0 -1280
  250. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.js +0 -14021
  251. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.d.ts +0 -11
  252. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.js +0 -31
  253. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.d.ts +0 -4
  254. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.js +0 -5
  255. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/quantumcoin-shims.d.ts +0 -25
  256. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.d.ts +0 -3
  257. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.js +0 -3
  258. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.e2e.test.js +0 -77
  259. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.extra.test.js +0 -195
  260. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/README.md +0 -83
  261. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.abi.json +0 -12544
  262. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.bin +0 -1
  263. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.js +0 -17
  264. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.ts +0 -10
  265. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.js +0 -41
  266. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.ts +0 -41
  267. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.js +0 -36
  268. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.ts +0 -36
  269. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.js +0 -82
  270. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.ts +0 -80
  271. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.js +0 -46
  272. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.ts +0 -44
  273. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.js +0 -44
  274. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.ts +0 -44
  275. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.d.ts +0 -1
  276. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.js +0 -21
  277. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package-lock.json +0 -597
  278. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package.json +0 -26
  279. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes.ts +0 -13940
  280. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes__factory.ts +0 -31
  281. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/index.ts +0 -4
  282. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/quantumcoin-shims.d.ts +0 -25
  283. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/types.ts +0 -4
  284. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.e2e.test.js +0 -77
  285. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.extra.test.js +0 -195
  286. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/tsconfig.json +0 -18
  287. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/README.md +0 -74
  288. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.abi.json +0 -245
  289. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.bin +0 -1
  290. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.js +0 -17
  291. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.ts +0 -10
  292. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.js +0 -41
  293. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.ts +0 -41
  294. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.js +0 -36
  295. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.ts +0 -36
  296. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.js +0 -82
  297. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.ts +0 -80
  298. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.js +0 -46
  299. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.ts +0 -44
  300. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.js +0 -44
  301. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.ts +0 -44
  302. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.d.ts +0 -1
  303. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.js +0 -16
  304. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package-lock.json +0 -597
  305. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package.json +0 -25
  306. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.d.ts +0 -24
  307. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.js +0 -378
  308. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.d.ts +0 -10
  309. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.js +0 -31
  310. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.d.ts +0 -4
  311. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.js +0 -5
  312. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/quantumcoin-shims.d.ts +0 -25
  313. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.d.ts +0 -3
  314. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.js +0 -3
  315. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/test/e2e/SimpleERC20.e2e.test.js +0 -90
  316. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/README.md +0 -74
  317. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.abi.json +0 -245
  318. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.bin +0 -1
  319. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.js +0 -17
  320. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.ts +0 -10
  321. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.js +0 -41
  322. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.ts +0 -41
  323. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.js +0 -36
  324. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.ts +0 -36
  325. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.js +0 -82
  326. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.ts +0 -80
  327. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.js +0 -46
  328. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.ts +0 -44
  329. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.js +0 -44
  330. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.ts +0 -44
  331. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.d.ts +0 -1
  332. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.js +0 -16
  333. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package-lock.json +0 -597
  334. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package.json +0 -26
  335. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20.ts +0 -361
  336. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20__factory.ts +0 -30
  337. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/index.ts +0 -4
  338. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/quantumcoin-shims.d.ts +0 -25
  339. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/types.ts +0 -4
  340. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/test/e2e/SimpleERC20.e2e.test.js +0 -90
  341. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/tsconfig.json +0 -18
  342. package/test/e2e/generator-interface.e2e.test.js +0 -165
  343. package/test/e2e/generator-interface.e2e.test.ts +0 -160
  344. package/test/e2e/helpers.js +0 -59
  345. package/test/e2e/signing-context-and-fee.e2e.test.js +0 -141
  346. package/test/e2e/signing-context-and-fee.e2e.test.ts +0 -128
  347. package/test/e2e/simple-erc20.generated-sdks.e2e.test.js +0 -168
  348. package/test/e2e/simple-erc20.generated-sdks.e2e.test.ts +0 -141
  349. package/test/e2e/transactional.test.js +0 -245
  350. package/test/e2e/transactional.test.ts +0 -208
  351. package/test/e2e/typed-generator.e2e.test.js +0 -407
  352. package/test/e2e/typed-generator.e2e.test.ts +0 -337
  353. package/test/fixtures/ConstructorParam.sol +0 -23
  354. package/test/fixtures/MultiContracts.sol +0 -37
  355. package/test/fixtures/SimpleStorage.sol +0 -18
  356. package/test/fixtures/StakingContract.abi.json +0 -1
  357. package/test/integration/ipc-provider.test.js +0 -49
  358. package/test/integration/ipc-provider.test.ts +0 -44
  359. package/test/integration/provider.test.js +0 -88
  360. package/test/integration/provider.test.ts +0 -85
  361. package/test/integration/ws-provider.test.js +0 -41
  362. package/test/integration/ws-provider.test.ts +0 -38
  363. package/test/security/abi-decoder-bounds.test.js +0 -122
  364. package/test/security/contract-overrides.test.js +0 -112
  365. package/test/security/generator-injection.test.js +0 -195
  366. package/test/security/malformed-input.test.js +0 -330
  367. package/test/security/malformed-input.test.ts +0 -35
  368. package/test/security/rpc-numeric-bounds.test.js +0 -81
  369. package/test/security/rpc-trust.test.js +0 -202
  370. package/test/unit/_encrypted-output.txt +0 -6
  371. package/test/unit/_log-encrypted-jsons.js +0 -45
  372. package/test/unit/_write-keystore-fixture.js +0 -16
  373. package/test/unit/abi-interface.test.js +0 -110
  374. package/test/unit/abi-interface.test.ts +0 -109
  375. package/test/unit/address-wallet.test.js +0 -945
  376. package/test/unit/address-wallet.test.ts +0 -899
  377. package/test/unit/browser-provider.test.js +0 -85
  378. package/test/unit/browser-provider.test.ts +0 -79
  379. package/test/unit/contract.test.js +0 -85
  380. package/test/unit/contract.test.ts +0 -83
  381. package/test/unit/encoding-units-rlp.test.js +0 -127
  382. package/test/unit/encoding-units-rlp.test.ts +0 -91
  383. package/test/unit/errors.test.js +0 -77
  384. package/test/unit/errors.test.ts +0 -76
  385. package/test/unit/filter-by-blockhash.test.js +0 -55
  386. package/test/unit/filter-by-blockhash.test.ts +0 -54
  387. package/test/unit/fixednumber.test.js +0 -656
  388. package/test/unit/fixednumber.test.ts +0 -660
  389. package/test/unit/fixtures/encrypted-keystores-48-32-36.js +0 -9
  390. package/test/unit/generate-contract-cli.test.js +0 -42
  391. package/test/unit/generate-contract-cli.test.ts +0 -41
  392. package/test/unit/generate-sdk-artifacts-json.test.js +0 -113
  393. package/test/unit/generate-sdk-artifacts-json.test.ts +0 -110
  394. package/test/unit/generator.test.js +0 -149
  395. package/test/unit/generator.test.ts +0 -148
  396. package/test/unit/hashing.test.js +0 -64
  397. package/test/unit/hashing.test.ts +0 -63
  398. package/test/unit/init.test.js +0 -39
  399. package/test/unit/init.test.ts +0 -38
  400. package/test/unit/interface.test.js +0 -56
  401. package/test/unit/interface.test.ts +0 -54
  402. package/test/unit/internal-hex.test.js +0 -81
  403. package/test/unit/internal-hex.test.ts +0 -80
  404. package/test/unit/populate-transaction.test.js +0 -98
  405. package/test/unit/populate-transaction.test.ts +0 -64
  406. package/test/unit/providers.test.js +0 -305
  407. package/test/unit/providers.test.ts +0 -304
  408. package/test/unit/result.test.js +0 -80
  409. package/test/unit/result.test.ts +0 -79
  410. package/test/unit/solidity-types.test.js +0 -49
  411. package/test/unit/solidity-types.test.ts +0 -39
  412. package/test/unit/utils.test.js +0 -57
  413. package/test/unit/utils.test.ts +0 -56
  414. package/test/verbose-logger.js +0 -74
  415. package/tsconfig.build.json +0 -14
@@ -1,391 +0,0 @@
1
- const qcsdk = require('quantum-coin-js-sdk');
2
-
3
- /**
4
- * Example: Event Log Encode/Decode Operations
5
- *
6
- * This example demonstrates how to use encodeEventLog and decodeEventLog
7
- * to encode and decode Ethereum event logs according to the ABI specification.
8
- */
9
-
10
- // Configuration
11
- var clientConfigVal = new qcsdk.Config("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
12
- //Mainnet Block Explorer: https://scan.quantumcoin.org
13
-
14
- /**
15
- * Example 1: Basic Transfer Event (ERC20)
16
- * Transfer(address indexed from, address indexed to, uint256 value)
17
- */
18
- async function example1_TransferEvent() {
19
- console.log("\n=== Example 1: Transfer Event ===");
20
-
21
- const transferABI = JSON.stringify([{
22
- "name": "Transfer",
23
- "type": "event",
24
- "anonymous": false,
25
- "inputs": [
26
- {"name": "from", "type": "address", "indexed": true},
27
- {"name": "to", "type": "address", "indexed": true},
28
- {"name": "value", "type": "uint256", "indexed": false}
29
- ]
30
- }]);
31
-
32
- const fromAddress = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
33
- const toAddress = "0x1Bd75060B22686a9f32Af80BC02348c1BAeDBba06f47ad723885c92a6566B65d";
34
- const value = "1000000000000000000"; // 1 token (18 decimals)
35
-
36
- // Encode the event
37
- const encodeResult = qcsdk.encodeEventLog(transferABI, "Transfer", fromAddress, toAddress, value);
38
-
39
- if (encodeResult.error) {
40
- console.error("Encode error:", encodeResult.error);
41
- return;
42
- }
43
-
44
- console.log("Encoded Transfer Event:");
45
- console.log(" Topics:", encodeResult.result.topics);
46
- console.log(" Data:", encodeResult.result.data);
47
- console.log(" Number of topics:", encodeResult.result.topics.length);
48
- console.log(" Expected: 3 topics (event signature + from + to)");
49
-
50
- // Decode the event back
51
- const decodeResult = qcsdk.decodeEventLog(
52
- transferABI,
53
- "Transfer",
54
- encodeResult.result.topics,
55
- encodeResult.result.data
56
- );
57
-
58
- if (decodeResult.error) {
59
- console.error("Decode error:", decodeResult.error);
60
- return;
61
- }
62
-
63
- const decoded = JSON.parse(decodeResult.result);
64
- console.log("\nDecoded Transfer Event:");
65
- console.log(" From:", decoded.from);
66
- console.log(" To:", decoded.to);
67
- console.log(" Value:", decoded.value);
68
- console.log(" Verification:",
69
- decoded.from.toLowerCase() === fromAddress.toLowerCase() &&
70
- decoded.to.toLowerCase() === toAddress.toLowerCase() &&
71
- decoded.value === value ? "✓ Match" : "✗ Mismatch"
72
- );
73
- }
74
-
75
- /**
76
- * Example 2: Event with All Indexed Parameters
77
- * Approval(address indexed owner, address indexed spender, uint256 indexed value)
78
- */
79
- async function example2_AllIndexedEvent() {
80
- console.log("\n=== Example 2: All Indexed Event (Approval) ===");
81
-
82
- const approvalABI = JSON.stringify([{
83
- "name": "Approval",
84
- "type": "event",
85
- "anonymous": false,
86
- "inputs": [
87
- {"name": "owner", "type": "address", "indexed": true},
88
- {"name": "spender", "type": "address", "indexed": true},
89
- {"name": "value", "type": "uint256", "indexed": true}
90
- ]
91
- }]);
92
-
93
- const owner = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
94
- const spender = "0x1Bd75060B22686a9f32Af80BC02348c1BAeDBba06f47ad723885c92a6566B65d";
95
- const value = "5000000000000000000"; // 5 tokens
96
-
97
- // Encode the event
98
- const encodeResult = qcsdk.encodeEventLog(approvalABI, "Approval", owner, spender, value);
99
-
100
- if (encodeResult.error) {
101
- console.error("Encode error:", encodeResult.error);
102
- return;
103
- }
104
-
105
- console.log("Encoded Approval Event:");
106
- console.log(" Topics:", encodeResult.result.topics);
107
- console.log(" Data:", encodeResult.result.data);
108
- console.log(" Number of topics:", encodeResult.result.topics.length);
109
- console.log(" Expected: 4 topics (event signature + owner + spender + value)");
110
- console.log(" Data should be empty (0x) since all parameters are indexed");
111
-
112
- // Decode the event back
113
- const decodeResult = qcsdk.decodeEventLog(
114
- approvalABI,
115
- "Approval",
116
- encodeResult.result.topics,
117
- encodeResult.result.data
118
- );
119
-
120
- if (decodeResult.error) {
121
- console.error("Decode error:", decodeResult.error);
122
- return;
123
- }
124
-
125
- const decoded = JSON.parse(decodeResult.result);
126
- console.log("\nDecoded Approval Event:");
127
- console.log(" Owner:", decoded.owner);
128
- console.log(" Spender:", decoded.spender);
129
- console.log(" Value:", decoded.value);
130
- }
131
-
132
- /**
133
- * Example 3: Event with All Non-Indexed Parameters
134
- * ValueChanged(uint256 newValue, string message)
135
- */
136
- async function example3_AllNonIndexedEvent() {
137
- console.log("\n=== Example 3: All Non-Indexed Event ===");
138
-
139
- const valueChangedABI = JSON.stringify([{
140
- "name": "ValueChanged",
141
- "type": "event",
142
- "anonymous": false,
143
- "inputs": [
144
- {"name": "newValue", "type": "uint256", "indexed": false},
145
- {"name": "message", "type": "string", "indexed": false}
146
- ]
147
- }]);
148
-
149
- const newValue = "42";
150
- const message = "Hello, Quantum Coin!";
151
-
152
- // Encode the event
153
- const encodeResult = qcsdk.encodeEventLog(valueChangedABI, "ValueChanged", newValue, message);
154
-
155
- if (encodeResult.error) {
156
- console.error("Encode error:", encodeResult.error);
157
- return;
158
- }
159
-
160
- console.log("Encoded ValueChanged Event:");
161
- console.log(" Topics:", encodeResult.result.topics);
162
- console.log(" Data:", encodeResult.result.data);
163
- console.log(" Number of topics:", encodeResult.result.topics.length);
164
- console.log(" Expected: 1 topic (event signature only)");
165
- console.log(" Data contains both parameters");
166
-
167
- // Decode the event back
168
- const decodeResult = qcsdk.decodeEventLog(
169
- valueChangedABI,
170
- "ValueChanged",
171
- encodeResult.result.topics,
172
- encodeResult.result.data
173
- );
174
-
175
- if (decodeResult.error) {
176
- console.error("Decode error:", decodeResult.error);
177
- return;
178
- }
179
-
180
- const decoded = JSON.parse(decodeResult.result);
181
- console.log("\nDecoded ValueChanged Event:");
182
- console.log(" New Value:", decoded.newValue);
183
- console.log(" Message:", decoded.message);
184
- console.log(" Verification:",
185
- decoded.newValue === newValue &&
186
- decoded.message === message ? "✓ Match" : "✗ Mismatch"
187
- );
188
- }
189
-
190
- /**
191
- * Example 4: Event with Indexed String
192
- * StringEvent(string indexed message)
193
- * Note: Indexed strings are hashed, so we can't recover the original value
194
- */
195
- async function example4_IndexedStringEvent() {
196
- console.log("\n=== Example 4: Indexed String Event ===");
197
-
198
- const stringEventABI = JSON.stringify([{
199
- "name": "StringEvent",
200
- "type": "event",
201
- "anonymous": false,
202
- "inputs": [
203
- {"name": "message", "type": "string", "indexed": true}
204
- ]
205
- }]);
206
-
207
- const message = "Hello, World!";
208
-
209
- // Encode the event
210
- const encodeResult = qcsdk.encodeEventLog(stringEventABI, "StringEvent", message);
211
-
212
- if (encodeResult.error) {
213
- console.error("Encode error:", encodeResult.error);
214
- return;
215
- }
216
-
217
- console.log("Encoded StringEvent:");
218
- console.log(" Original message:", message);
219
- console.log(" Topics:", encodeResult.result.topics);
220
- console.log(" Data:", encodeResult.result.data);
221
- console.log(" Number of topics:", encodeResult.result.topics.length);
222
- console.log(" Expected: 2 topics (event signature + hashed string)");
223
-
224
- // Decode the event back
225
- const decodeResult = qcsdk.decodeEventLog(
226
- stringEventABI,
227
- "StringEvent",
228
- encodeResult.result.topics,
229
- encodeResult.result.data
230
- );
231
-
232
- if (decodeResult.error) {
233
- console.error("Decode error:", decodeResult.error);
234
- return;
235
- }
236
-
237
- const decoded = JSON.parse(decodeResult.result);
238
- console.log("\nDecoded StringEvent:");
239
- console.log(" Message (hash):", decoded.message);
240
- console.log(" Note: Indexed strings return the hash, not the original value");
241
- console.log(" This is expected behavior for indexed dynamic types");
242
- }
243
-
244
- /**
245
- * Example 5: Anonymous Event
246
- * AnonymousEvent(uint256 value)
247
- */
248
- async function example5_AnonymousEvent() {
249
- console.log("\n=== Example 5: Anonymous Event ===");
250
-
251
- const anonymousABI = JSON.stringify([{
252
- "name": "AnonymousEvent",
253
- "type": "event",
254
- "anonymous": true,
255
- "inputs": [
256
- {"name": "value", "type": "uint256", "indexed": false}
257
- ]
258
- }]);
259
-
260
- const value = "12345";
261
-
262
- // Encode the event
263
- const encodeResult = qcsdk.encodeEventLog(anonymousABI, "AnonymousEvent", value);
264
-
265
- if (encodeResult.error) {
266
- console.error("Encode error:", encodeResult.error);
267
- return;
268
- }
269
-
270
- console.log("Encoded AnonymousEvent:");
271
- console.log(" Topics:", encodeResult.result.topics);
272
- console.log(" Data:", encodeResult.result.data);
273
- console.log(" Number of topics:", encodeResult.result.topics.length);
274
- console.log(" Expected: 0 topics (anonymous events have no signature topic)");
275
-
276
- // Decode the event back
277
- const decodeResult = qcsdk.decodeEventLog(
278
- anonymousABI,
279
- "AnonymousEvent",
280
- encodeResult.result.topics,
281
- encodeResult.result.data
282
- );
283
-
284
- if (decodeResult.error) {
285
- console.error("Decode error:", decodeResult.error);
286
- return;
287
- }
288
-
289
- const decoded = JSON.parse(decodeResult.result);
290
- console.log("\nDecoded AnonymousEvent:");
291
- console.log(" Value:", decoded.value);
292
- console.log(" Verification:", decoded.value === value ? "✓ Match" : "✗ Mismatch");
293
- }
294
-
295
- /**
296
- * Example 6: Complex Event with Mixed Types
297
- * ComplexEvent(address indexed owner, uint256 indexed tokenId, string name, uint256[] amounts)
298
- */
299
- async function example6_ComplexEvent() {
300
- console.log("\n=== Example 6: Complex Event with Mixed Types ===");
301
-
302
- const complexABI = JSON.stringify([{
303
- "name": "ComplexEvent",
304
- "type": "event",
305
- "anonymous": false,
306
- "inputs": [
307
- {"name": "owner", "type": "address", "indexed": true},
308
- {"name": "tokenId", "type": "uint256", "indexed": true},
309
- {"name": "name", "type": "string", "indexed": false},
310
- {"name": "amounts", "type": "uint256[]", "indexed": false}
311
- ]
312
- }]);
313
-
314
- const owner = "0xd51773b5dde3f8e4d29ae42b5046510e2a11fd0c8e4175853d6227896eb445c6";
315
- const tokenId = "1";
316
- const name = "My Token";
317
- const amounts = ["100", "200", "300"];
318
-
319
- // Encode the event
320
- const encodeResult = qcsdk.encodeEventLog(complexABI, "ComplexEvent", owner, tokenId, name, amounts);
321
-
322
- if (encodeResult.error) {
323
- console.error("Encode error:", encodeResult.error);
324
- return;
325
- }
326
-
327
- console.log("Encoded ComplexEvent:");
328
- console.log(" Topics:", encodeResult.result.topics);
329
- console.log(" Data:", encodeResult.result.data);
330
- console.log(" Number of topics:", encodeResult.result.topics.length);
331
- console.log(" Expected: 3 topics (event signature + owner + tokenId)");
332
- console.log(" Data contains name and amounts array");
333
-
334
- // Decode the event back
335
- const decodeResult = qcsdk.decodeEventLog(
336
- complexABI,
337
- "ComplexEvent",
338
- encodeResult.result.topics,
339
- encodeResult.result.data
340
- );
341
-
342
- if (decodeResult.error) {
343
- console.error("Decode error:", decodeResult.error);
344
- return;
345
- }
346
-
347
- const decoded = JSON.parse(decodeResult.result);
348
- console.log("\nDecoded ComplexEvent:");
349
- console.log(" Owner:", decoded.owner);
350
- console.log(" Token ID:", decoded.tokenId);
351
- console.log(" Name:", decoded.name);
352
- console.log(" Amounts:", decoded.amounts);
353
- console.log(" Verification:",
354
- decoded.owner.toLowerCase() === owner.toLowerCase() &&
355
- decoded.tokenId === tokenId &&
356
- decoded.name === name &&
357
- JSON.stringify(decoded.amounts) === JSON.stringify(amounts) ? "✓ Match" : "✗ Mismatch"
358
- );
359
- }
360
-
361
- /**
362
- * Main function to run all examples
363
- */
364
- async function runExamples() {
365
- console.log("==========================================");
366
- console.log("Event Log Encode/Decode Examples");
367
- console.log("==========================================");
368
-
369
- try {
370
- // Initialize SDK
371
- await qcsdk.initialize(clientConfigVal);
372
- console.log("SDK initialized successfully");
373
-
374
- // Run examples
375
- await example1_TransferEvent();
376
- await example2_AllIndexedEvent();
377
- await example3_AllNonIndexedEvent();
378
- await example4_IndexedStringEvent();
379
- await example5_AnonymousEvent();
380
- await example6_ComplexEvent();
381
-
382
- console.log("\n==========================================");
383
- console.log("All examples completed successfully!");
384
- console.log("==========================================");
385
- } catch (error) {
386
- console.error("Error running examples:", error);
387
- }
388
- }
389
-
390
- // Run the examples
391
- runExamples().catch(console.error);
@@ -1,100 +0,0 @@
1
- const qcsdk = require('quantum-coin-js-sdk');
2
-
3
- var clientConfigVal = new qcsdk.Config("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
4
-
5
- //Initialize the client configuration
6
- //var clientConfigVal = new qcsdk.Config("https://t4-relayread.quantumcoin.org", "https://t4-relaywrite.quantumcoin.org", 310324, "", ""); //Testnet T4
7
- //Testnet T4 Block Explorer: https://t4.scan.quantumcoin.org
8
-
9
- //For mainnet, use the following configuration
10
- //var clientConfigVal = new qcsdk.Config("https://sdk.readrelay.quantumcoinapi.com", "https://sdk.writerelay.quantumcoinapi.com", 123123, "", ""); //Mainnet
11
- //Mainnet Block Explorer: https://scan.quantumcoin.org
12
-
13
- //Local testing configuration
14
- //var clientConfigVal = new qcsdk.Config("http://127.0.0.1:9090", "http://127.0.0.1:9091", 123123, "", ""); //local testing
15
- //Mainnet Block Explorer: https://scan.quantumcoin.org
16
-
17
- //Initialize the SDK
18
- qcsdk.initialize(clientConfigVal).then((initResult) => {
19
- if (initResult === false) {
20
- console.error("Initialize failed");
21
- return;
22
- }
23
-
24
- const digestHashBase64 = "aGkgdGhlcmVvY2tjaGFpbmJiYmJiYmJiYmJiYmJiYmI=";
25
- const signatureBase64 = "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";
26
-
27
- let digest = base64ToBytes(digestHashBase64);
28
- let signature = base64ToBytes(signatureBase64);
29
-
30
- let publicKey = qcsdk.publicKeyFromSignature(digest, signature);
31
- console.log("publicKeyFromSignature publicKey length: " + publicKey.length);
32
-
33
- // Wallet and signing demo: use CIRCL (newWallet + hybrideds) when available
34
- const g = typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : {};
35
- const circl = g.circl;
36
- const walletExample = qcsdk.newWallet();
37
- if (typeof walletExample === 'object' && walletExample != null && circl && circl.hybrideds) {
38
- console.log("walletExample.privateKey length " + walletExample.privateKey.length);
39
- let publicKey2 = qcsdk.publicKeyFromPrivateKey(walletExample.privateKey);
40
- console.log("publicKeyFromPrivateKey publicKey length: " + publicKey2.length);
41
- let publicKey2Bytes = hexToBytes(publicKey2);
42
- if (publicKey2Bytes.length !== walletExample.publicKey.length) {
43
- throw new Error("public key length compare failed S");
44
- }
45
- for (let i = 0; i < publicKey2Bytes.length; i++) {
46
- if (publicKey2Bytes[i] !== walletExample.publicKey[i]) {
47
- throw new Error("public key compare failed A");
48
- }
49
- }
50
-
51
- let utf8Encode = new TextEncoder();
52
- let message = utf8Encode.encode("verifyverifyverifyverifyverifyok");
53
- const privU8 = walletExample.privateKey instanceof Uint8Array ? walletExample.privateKey : new Uint8Array(walletExample.privateKey);
54
- const sigRes = circl.hybrideds.signCompact(privU8, message);
55
- if (sigRes && sigRes.error) throw new Error("CIRCL sign failed: " + sigRes.error);
56
- let quantumSig = sigRes.result instanceof Uint8Array ? Array.from(sigRes.result) : sigRes.result;
57
-
58
- let combinedSignatureHex = qcsdk.combinePublicKeySignature(walletExample.publicKey, quantumSig);
59
- if (combinedSignatureHex === null) {
60
- throw new Error("combinePublicKeySignature combine failed");
61
- }
62
- let combinedSignatureBytes = hexToBytes(combinedSignatureHex);
63
- let publicKeySigHex = qcsdk.publicKeyFromSignature(message, combinedSignatureBytes);
64
- let publicKeySigBytes = hexToBytes(publicKeySigHex);
65
- if (publicKeySigBytes.length !== walletExample.publicKey.length) {
66
- throw new Error("public key length compare failed B");
67
- }
68
- for (let i = 0; i < publicKeySigBytes.length; i++) {
69
- if (publicKeySigBytes[i] !== walletExample.publicKey[i]) {
70
- throw new Error("public key compare failed B");
71
- }
72
- }
73
- } else {
74
- console.log("CIRCL not loaded or newWallet failed; skipping wallet/signing demo.");
75
- }
76
- });
77
-
78
- function base64ToBytes(base64) {
79
- const binString = atob(base64);
80
- return Uint8Array.from(binString, (m) => m.codePointAt(0));
81
- }
82
-
83
- // Convert a hex string to a byte array
84
- function hexToBytes(hex) {
85
- let bytes = [];
86
- for (let c = 0; c < hex.length; c += 2)
87
- bytes.push(parseInt(hex.substr(c, 2), 16));
88
- return bytes;
89
- }
90
-
91
- // Convert a byte array to a hex string
92
- function bytesToHex(bytes) {
93
- let hex = [];
94
- for (let i = 0; i < bytes.length; i++) {
95
- let current = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];
96
- hex.push((current >>> 4).toString(16));
97
- hex.push((current & 0xF).toString(16));
98
- }
99
- return hex.join("");
100
- }