quantumcoin 7.0.14 → 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 (414) hide show
  1. package/README-SDK.md +46 -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 -122
  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 -17
  22. package/src/providers/json-rpc-provider.d.ts +1 -0
  23. package/src/providers/provider.d.ts +233 -206
  24. package/src/providers/provider.js +41 -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 -19
  32. package/src/wallet/wallet.js +48 -10
  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 -1675
  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 -101
  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 -116
  120. package/examples/node_modules/quantum-coin-js-sdk/example/example-send.js +0 -70
  121. package/examples/node_modules/quantum-coin-js-sdk/example/example-token-pack-unpack.js +0 -961
  122. package/examples/node_modules/quantum-coin-js-sdk/example/example-wallet-version4.js +0 -35
  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 -134
  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 -1031
  128. package/examples/node_modules/quantum-coin-js-sdk/index.js +0 -3144
  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/non-transactional.preinit.test.js +0 -41
  135. package/examples/node_modules/quantum-coin-js-sdk/tests/non-transactional.test.js +0 -1389
  136. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-keytype5-context-null.test.js +0 -107
  137. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-raw-transaction.test.js +0 -196
  138. package/examples/node_modules/quantum-coin-js-sdk/tests/sign-verify.test.js +0 -311
  139. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.relay.test.js +0 -131
  140. package/examples/node_modules/quantum-coin-js-sdk/tests/transactional.rpc.test.js +0 -103
  141. package/examples/node_modules/quantum-coin-js-sdk/tests/verify-vectors.json +0 -95035
  142. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.d.ts +0 -9
  143. package/examples/node_modules/quantum-coin-js-sdk/wasmBase64.js +0 -16
  144. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.d.ts +0 -0
  145. package/examples/node_modules/quantum-coin-js-sdk/wasm_exec.js +0 -587
  146. package/examples/node_modules/resolve-pkg-maps/LICENSE +0 -21
  147. package/examples/node_modules/resolve-pkg-maps/README.md +0 -216
  148. package/examples/node_modules/resolve-pkg-maps/dist/index.cjs +0 -1
  149. package/examples/node_modules/resolve-pkg-maps/dist/index.d.cts +0 -11
  150. package/examples/node_modules/resolve-pkg-maps/dist/index.d.mts +0 -11
  151. package/examples/node_modules/resolve-pkg-maps/dist/index.mjs +0 -1
  152. package/examples/node_modules/resolve-pkg-maps/package.json +0 -42
  153. package/examples/node_modules/seed-words/.github/workflows/publish-npmjs.yaml +0 -22
  154. package/examples/node_modules/seed-words/BUILD.md +0 -7
  155. package/examples/node_modules/seed-words/LICENSE +0 -121
  156. package/examples/node_modules/seed-words/README.md +0 -67
  157. package/examples/node_modules/seed-words/dist/seedwords.d.ts +0 -39
  158. package/examples/node_modules/seed-words/package.json +0 -27
  159. package/examples/node_modules/seed-words/seedwords.js +0 -315
  160. package/examples/node_modules/seed-words/seedwords.txt +0 -65536
  161. package/examples/node_modules/seed-words/tsconfig.json +0 -21
  162. package/examples/node_modules/tsx/LICENSE +0 -21
  163. package/examples/node_modules/tsx/README.md +0 -32
  164. package/examples/node_modules/tsx/dist/cjs/api/index.cjs +0 -1
  165. package/examples/node_modules/tsx/dist/cjs/api/index.d.cts +0 -35
  166. package/examples/node_modules/tsx/dist/cjs/api/index.d.mts +0 -35
  167. package/examples/node_modules/tsx/dist/cjs/api/index.mjs +0 -1
  168. package/examples/node_modules/tsx/dist/cjs/index.cjs +0 -1
  169. package/examples/node_modules/tsx/dist/cjs/index.mjs +0 -1
  170. package/examples/node_modules/tsx/dist/cli.cjs +0 -54
  171. package/examples/node_modules/tsx/dist/cli.mjs +0 -55
  172. package/examples/node_modules/tsx/dist/client-BQVF1NaW.mjs +0 -1
  173. package/examples/node_modules/tsx/dist/client-D6NvIMSC.cjs +0 -1
  174. package/examples/node_modules/tsx/dist/esm/api/index.cjs +0 -1
  175. package/examples/node_modules/tsx/dist/esm/api/index.d.cts +0 -35
  176. package/examples/node_modules/tsx/dist/esm/api/index.d.mts +0 -35
  177. package/examples/node_modules/tsx/dist/esm/api/index.mjs +0 -1
  178. package/examples/node_modules/tsx/dist/esm/index.cjs +0 -2
  179. package/examples/node_modules/tsx/dist/esm/index.mjs +0 -2
  180. package/examples/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +0 -1
  181. package/examples/node_modules/tsx/dist/get-pipe-path-BoR10qr8.cjs +0 -1
  182. package/examples/node_modules/tsx/dist/index-7AaEi15b.mjs +0 -14
  183. package/examples/node_modules/tsx/dist/index-BWFBUo6r.cjs +0 -1
  184. package/examples/node_modules/tsx/dist/index-gbaejti9.mjs +0 -1
  185. package/examples/node_modules/tsx/dist/index-gckBtVBf.cjs +0 -14
  186. package/examples/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +0 -3
  187. package/examples/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +0 -3
  188. package/examples/node_modules/tsx/dist/loader.cjs +0 -1
  189. package/examples/node_modules/tsx/dist/loader.mjs +0 -1
  190. package/examples/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +0 -1
  191. package/examples/node_modules/tsx/dist/node-features-roYmp9jK.cjs +0 -1
  192. package/examples/node_modules/tsx/dist/package-CeBgXWuR.mjs +0 -1
  193. package/examples/node_modules/tsx/dist/package-Dxt5kIHw.cjs +0 -1
  194. package/examples/node_modules/tsx/dist/patch-repl.cjs +0 -1
  195. package/examples/node_modules/tsx/dist/patch-repl.mjs +0 -1
  196. package/examples/node_modules/tsx/dist/preflight.cjs +0 -1
  197. package/examples/node_modules/tsx/dist/preflight.mjs +0 -1
  198. package/examples/node_modules/tsx/dist/register-2sWVXuRQ.cjs +0 -1
  199. package/examples/node_modules/tsx/dist/register-B7jrtLTO.mjs +0 -1
  200. package/examples/node_modules/tsx/dist/register-CFH5oNdT.mjs +0 -4
  201. package/examples/node_modules/tsx/dist/register-D46fvsV_.cjs +0 -4
  202. package/examples/node_modules/tsx/dist/repl.cjs +0 -3
  203. package/examples/node_modules/tsx/dist/repl.mjs +0 -3
  204. package/examples/node_modules/tsx/dist/require-D4F1Lv60.cjs +0 -1
  205. package/examples/node_modules/tsx/dist/require-DQxpCAr4.mjs +0 -1
  206. package/examples/node_modules/tsx/dist/suppress-warnings.cjs +0 -1
  207. package/examples/node_modules/tsx/dist/suppress-warnings.mjs +0 -1
  208. package/examples/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +0 -1
  209. package/examples/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +0 -1
  210. package/examples/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +0 -5
  211. package/examples/node_modules/tsx/package.json +0 -68
  212. package/examples/offline-signing.js +0 -77
  213. package/examples/offline-signing.ts +0 -65
  214. package/examples/package-lock.json +0 -596
  215. package/examples/package.json +0 -32
  216. package/examples/read-operations.js +0 -32
  217. package/examples/read-operations.ts +0 -31
  218. package/examples/sdk-generator-erc20.inline.json +0 -251
  219. package/examples/solidity-types.ts +0 -43
  220. package/examples/wallet-offline.js +0 -36
  221. package/examples/wallet-offline.ts +0 -26
  222. package/scripts/copy-declarations.js +0 -31
  223. package/scripts/run-all-one-by-one.js +0 -151
  224. package/test/e2e/all-solidity-types.dynamic.test.js +0 -207
  225. package/test/e2e/all-solidity-types.dynamic.test.ts +0 -191
  226. package/test/e2e/all-solidity-types.fixtures.js +0 -231
  227. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.js +0 -387
  228. package/test/e2e/all-solidity-types.generated-sdks.e2e.test.ts +0 -350
  229. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/README.md +0 -83
  230. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.abi.json +0 -12544
  231. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/artifacts/AllSolidityTypes.bin +0 -1
  232. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.js +0 -17
  233. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/_test-wallet.ts +0 -10
  234. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.js +0 -41
  235. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/deploy.ts +0 -41
  236. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.js +0 -36
  237. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/events.ts +0 -36
  238. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.js +0 -82
  239. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/offline-signing.ts +0 -80
  240. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.js +0 -46
  241. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/read-operations.ts +0 -44
  242. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.js +0 -44
  243. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/examples/write-operations.ts +0 -44
  244. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.d.ts +0 -1
  245. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/index.js +0 -21
  246. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package-lock.json +0 -597
  247. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/package.json +0 -25
  248. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.d.ts +0 -1280
  249. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes.js +0 -14021
  250. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.d.ts +0 -11
  251. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/AllSolidityTypes__factory.js +0 -31
  252. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.d.ts +0 -4
  253. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/index.js +0 -5
  254. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/quantumcoin-shims.d.ts +0 -25
  255. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.d.ts +0 -3
  256. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/src/types.js +0 -3
  257. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.e2e.test.js +0 -77
  258. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-js/test/e2e/AllSolidityTypes.extra.test.js +0 -195
  259. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/README.md +0 -83
  260. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.abi.json +0 -12544
  261. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/artifacts/AllSolidityTypes.bin +0 -1
  262. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.js +0 -17
  263. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/_test-wallet.ts +0 -10
  264. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.js +0 -41
  265. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/deploy.ts +0 -41
  266. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.js +0 -36
  267. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/events.ts +0 -36
  268. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.js +0 -82
  269. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/offline-signing.ts +0 -80
  270. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.js +0 -46
  271. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/read-operations.ts +0 -44
  272. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.js +0 -44
  273. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/examples/write-operations.ts +0 -44
  274. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.d.ts +0 -1
  275. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/index.js +0 -21
  276. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package-lock.json +0 -597
  277. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/package.json +0 -26
  278. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes.ts +0 -13940
  279. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/AllSolidityTypes__factory.ts +0 -31
  280. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/index.ts +0 -4
  281. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/quantumcoin-shims.d.ts +0 -25
  282. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/src/types.ts +0 -4
  283. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.e2e.test.js +0 -77
  284. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/test/e2e/AllSolidityTypes.extra.test.js +0 -195
  285. package/test/e2e/generated-sdks/all-solidity-types/all-solidity-types-ts/tsconfig.json +0 -18
  286. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/README.md +0 -74
  287. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.abi.json +0 -245
  288. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/artifacts/SimpleERC20.bin +0 -1
  289. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.js +0 -17
  290. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/_test-wallet.ts +0 -10
  291. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.js +0 -41
  292. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/deploy.ts +0 -41
  293. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.js +0 -36
  294. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/events.ts +0 -36
  295. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.js +0 -82
  296. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/offline-signing.ts +0 -80
  297. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.js +0 -46
  298. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/read-operations.ts +0 -44
  299. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.js +0 -44
  300. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/examples/write-operations.ts +0 -44
  301. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.d.ts +0 -1
  302. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/index.js +0 -16
  303. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package-lock.json +0 -597
  304. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/package.json +0 -25
  305. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.d.ts +0 -24
  306. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20.js +0 -378
  307. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.d.ts +0 -10
  308. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/SimpleERC20__factory.js +0 -31
  309. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.d.ts +0 -4
  310. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/index.js +0 -5
  311. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/quantumcoin-shims.d.ts +0 -25
  312. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.d.ts +0 -3
  313. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/src/types.js +0 -3
  314. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-js/test/e2e/SimpleERC20.e2e.test.js +0 -90
  315. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/README.md +0 -74
  316. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.abi.json +0 -245
  317. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/artifacts/SimpleERC20.bin +0 -1
  318. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.js +0 -17
  319. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/_test-wallet.ts +0 -10
  320. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.js +0 -41
  321. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/deploy.ts +0 -41
  322. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.js +0 -36
  323. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/events.ts +0 -36
  324. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.js +0 -82
  325. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/offline-signing.ts +0 -80
  326. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.js +0 -46
  327. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/read-operations.ts +0 -44
  328. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.js +0 -44
  329. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/examples/write-operations.ts +0 -44
  330. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.d.ts +0 -1
  331. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/index.js +0 -16
  332. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package-lock.json +0 -597
  333. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/package.json +0 -26
  334. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20.ts +0 -361
  335. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/SimpleERC20__factory.ts +0 -30
  336. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/index.ts +0 -4
  337. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/quantumcoin-shims.d.ts +0 -25
  338. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/src/types.ts +0 -4
  339. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/test/e2e/SimpleERC20.e2e.test.js +0 -90
  340. package/test/e2e/generated-sdks/simple-erc20/simple-erc20-ts/tsconfig.json +0 -18
  341. package/test/e2e/generator-interface.e2e.test.js +0 -165
  342. package/test/e2e/generator-interface.e2e.test.ts +0 -160
  343. package/test/e2e/helpers.js +0 -59
  344. package/test/e2e/signing-context-and-fee.e2e.test.js +0 -141
  345. package/test/e2e/signing-context-and-fee.e2e.test.ts +0 -128
  346. package/test/e2e/simple-erc20.generated-sdks.e2e.test.js +0 -168
  347. package/test/e2e/simple-erc20.generated-sdks.e2e.test.ts +0 -141
  348. package/test/e2e/transactional.test.js +0 -245
  349. package/test/e2e/transactional.test.ts +0 -208
  350. package/test/e2e/typed-generator.e2e.test.js +0 -407
  351. package/test/e2e/typed-generator.e2e.test.ts +0 -337
  352. package/test/fixtures/ConstructorParam.sol +0 -23
  353. package/test/fixtures/MultiContracts.sol +0 -37
  354. package/test/fixtures/SimpleStorage.sol +0 -18
  355. package/test/fixtures/StakingContract.abi.json +0 -1
  356. package/test/integration/ipc-provider.test.js +0 -49
  357. package/test/integration/ipc-provider.test.ts +0 -44
  358. package/test/integration/provider.test.js +0 -88
  359. package/test/integration/provider.test.ts +0 -85
  360. package/test/integration/ws-provider.test.js +0 -41
  361. package/test/integration/ws-provider.test.ts +0 -38
  362. package/test/security/abi-decoder-bounds.test.js +0 -122
  363. package/test/security/contract-overrides.test.js +0 -112
  364. package/test/security/generator-injection.test.js +0 -195
  365. package/test/security/malformed-input.test.js +0 -330
  366. package/test/security/malformed-input.test.ts +0 -35
  367. package/test/security/rpc-numeric-bounds.test.js +0 -81
  368. package/test/security/rpc-trust.test.js +0 -202
  369. package/test/unit/_encrypted-output.txt +0 -6
  370. package/test/unit/_log-encrypted-jsons.js +0 -45
  371. package/test/unit/_write-keystore-fixture.js +0 -16
  372. package/test/unit/abi-interface.test.js +0 -110
  373. package/test/unit/abi-interface.test.ts +0 -109
  374. package/test/unit/address-wallet.test.js +0 -923
  375. package/test/unit/address-wallet.test.ts +0 -877
  376. package/test/unit/browser-provider.test.js +0 -85
  377. package/test/unit/browser-provider.test.ts +0 -79
  378. package/test/unit/contract.test.js +0 -85
  379. package/test/unit/contract.test.ts +0 -83
  380. package/test/unit/encoding-units-rlp.test.js +0 -127
  381. package/test/unit/encoding-units-rlp.test.ts +0 -91
  382. package/test/unit/errors.test.js +0 -77
  383. package/test/unit/errors.test.ts +0 -76
  384. package/test/unit/filter-by-blockhash.test.js +0 -55
  385. package/test/unit/filter-by-blockhash.test.ts +0 -54
  386. package/test/unit/fixednumber.test.js +0 -656
  387. package/test/unit/fixednumber.test.ts +0 -660
  388. package/test/unit/fixtures/encrypted-keystores-48-32-36.js +0 -9
  389. package/test/unit/generate-contract-cli.test.js +0 -42
  390. package/test/unit/generate-contract-cli.test.ts +0 -41
  391. package/test/unit/generate-sdk-artifacts-json.test.js +0 -113
  392. package/test/unit/generate-sdk-artifacts-json.test.ts +0 -110
  393. package/test/unit/generator.test.js +0 -149
  394. package/test/unit/generator.test.ts +0 -148
  395. package/test/unit/hashing.test.js +0 -64
  396. package/test/unit/hashing.test.ts +0 -63
  397. package/test/unit/init.test.js +0 -39
  398. package/test/unit/init.test.ts +0 -38
  399. package/test/unit/interface.test.js +0 -56
  400. package/test/unit/interface.test.ts +0 -54
  401. package/test/unit/internal-hex.test.js +0 -81
  402. package/test/unit/internal-hex.test.ts +0 -80
  403. package/test/unit/populate-transaction.test.js +0 -98
  404. package/test/unit/populate-transaction.test.ts +0 -64
  405. package/test/unit/providers.test.js +0 -252
  406. package/test/unit/providers.test.ts +0 -251
  407. package/test/unit/result.test.js +0 -80
  408. package/test/unit/result.test.ts +0 -79
  409. package/test/unit/solidity-types.test.js +0 -49
  410. package/test/unit/solidity-types.test.ts +0 -39
  411. package/test/unit/utils.test.js +0 -57
  412. package/test/unit/utils.test.ts +0 -56
  413. package/test/verbose-logger.js +0 -74
  414. package/tsconfig.build.json +0 -14
@@ -1,206 +1,233 @@
1
- export type BytesLike = import("../utils/encoding").BytesLike;
2
- export type TransactionRequest = {
3
- to?: string | undefined;
4
- from?: string | undefined;
5
- value?: (bigint | string | number) | undefined;
6
- data?: string | undefined;
7
- gasLimit?: (bigint | string | number) | undefined;
8
- nonce?: number | undefined;
9
- chainId?: number | undefined;
10
- /**
11
- * Optional remark field (hex, max 32 bytes)
12
- */
13
- remarks?: string | undefined;
14
- /**
15
- * Optional signing context (0, 1, 2, or null). Passed to SDK TransactionSigningRequest; default null.
16
- */
17
- signingContext?: (number | null) | undefined;
18
- };
19
- export type Filter = {
20
- address?: (string | string[]) | undefined;
21
- topics?: (string | string[] | null)[] | undefined;
22
- fromBlock?: (number | string) | undefined;
23
- toBlock?: (number | string) | undefined;
24
- blockHash?: string | undefined;
25
- };
26
- /**
27
- * Base Provider class.
28
- */
29
- export class Provider {
30
- }
31
- /**
32
- * AbstractProvider base class (ethers-like).
33
- */
34
- export class AbstractProvider extends Provider {
35
- /**
36
- * Implemented by subclasses to perform JSON-RPC.
37
- * @param {string} method
38
- * @param {any[]=} params
39
- * @returns {Promise<any>}
40
- */
41
- _perform(method: string, params?: any[] | undefined): Promise<any>;
42
- getBlockNumber(): Promise<number>;
43
- /**
44
- * @param {number|"latest"} blockNumber
45
- * @returns {Promise<Block>}
46
- */
47
- getBlock(blockNumber: number | "latest"): Promise<Block>;
48
- /**
49
- * @param {string} txHash
50
- * @returns {Promise<TransactionResponse>}
51
- */
52
- getTransaction(txHash: string): Promise<TransactionResponse>;
53
- /**
54
- * @param {string} txHash
55
- * @returns {Promise<TransactionReceipt>}
56
- */
57
- getTransactionReceipt(txHash: string): Promise<TransactionReceipt>;
58
- /**
59
- * @param {string} address
60
- * @returns {Promise<bigint>}
61
- */
62
- getBalance(address: string): Promise<bigint>;
63
- /**
64
- * @param {string} address
65
- * @param {string=} blockTag
66
- * @returns {Promise<number>}
67
- */
68
- getTransactionCount(address: string, blockTag?: string | undefined): Promise<number>;
69
- /**
70
- * Broadcasts a signed transaction.
71
- * @param {TransactionRequest|string} tx
72
- * @returns {Promise<TransactionResponse>}
73
- */
74
- sendTransaction(tx: TransactionRequest | string): Promise<TransactionResponse>;
75
- /**
76
- * Broadcast a signed raw transaction.
77
- * Alias of sendTransaction(rawTx) for clarity when doing offline signing flows.
78
- *
79
- * @param {string} rawTx
80
- * @returns {Promise<TransactionResponse>}
81
- */
82
- sendRawTransaction(rawTx: string): Promise<TransactionResponse>;
83
- /**
84
- * Perform a call (read-only) and return hex data.
85
- * @param {TransactionRequest} tx
86
- * @param {string=} blockTag
87
- * @returns {Promise<string>}
88
- */
89
- call(tx: TransactionRequest, blockTag?: string | undefined): Promise<string>;
90
- /**
91
- * Estimate gas for a call/transaction.
92
- * @param {TransactionRequest} tx
93
- * @returns {Promise<bigint>}
94
- */
95
- estimateGas(tx: TransactionRequest): Promise<bigint>;
96
- /**
97
- * @param {string} address
98
- * @param {string=} blockTag
99
- * @returns {Promise<string>}
100
- */
101
- getCode(address: string, blockTag?: string | undefined): Promise<string>;
102
- /**
103
- * @param {string} address
104
- * @param {bigint} position
105
- * @param {string=} blockTag
106
- * @returns {Promise<string>}
107
- */
108
- getStorageAt(address: string, position: bigint, blockTag?: string | undefined): Promise<string>;
109
- /**
110
- * @param {Filter} filter
111
- * @returns {Promise<Log[]>}
112
- */
113
- getLogs(filter: Filter): Promise<Log[]>;
114
- }
115
- /**
116
- * Minimal Block wrapper (ethers-like).
117
- */
118
- export class Block {
119
- /**
120
- * @param {any} block
121
- * @param {AbstractProvider=} provider
122
- */
123
- constructor(block: any, provider?: AbstractProvider | undefined);
124
- provider: AbstractProvider;
125
- hash: any;
126
- parentHash: any;
127
- number: number;
128
- timestamp: number;
129
- transactions: any;
130
- getTransaction(indexOrHash: any): Promise<TransactionResponse>;
131
- getTransactionReceipt(indexOrHash: any): Promise<TransactionReceipt>;
132
- getPrefetchedTransactions(): any[];
133
- }
134
- /**
135
- * Minimal TransactionResponse wrapper (ethers-like).
136
- */
137
- export class TransactionResponse {
138
- /**
139
- * @param {any} tx
140
- * @param {AbstractProvider=} provider
141
- */
142
- constructor(tx: any, provider?: AbstractProvider | undefined);
143
- provider: AbstractProvider;
144
- hash: any;
145
- to: any;
146
- from: any;
147
- nonce: number;
148
- data: any;
149
- value: any;
150
- gasLimit: any;
151
- chainId: number;
152
- blockNumber: number;
153
- txType: number | null;
154
- remarks: string;
155
- /**
156
- * Wait for confirmations.
157
- * @param {number=} confirmations
158
- * @param {number=} timeoutMs
159
- * @returns {Promise<TransactionReceipt>}
160
- */
161
- wait(confirmations?: number | undefined, timeoutMs?: number | undefined): Promise<TransactionReceipt>;
162
- }
163
- /**
164
- * Minimal TransactionReceipt wrapper (ethers-like).
165
- */
166
- export class TransactionReceipt {
167
- /**
168
- * @param {any} receipt
169
- * @param {AbstractProvider=} provider
170
- */
171
- constructor(receipt: any, provider?: AbstractProvider | undefined);
172
- provider: AbstractProvider;
173
- to: any;
174
- from: any;
175
- contractAddress: any;
176
- transactionHash: any;
177
- blockHash: any;
178
- blockNumber: number;
179
- transactionIndex: number;
180
- gasUsed: any;
181
- status: number;
182
- logs: any;
183
- }
184
- /**
185
- * Minimal Log wrapper (ethers-like).
186
- */
187
- export class Log {
188
- /**
189
- * @param {any} log
190
- * @param {AbstractProvider=} provider
191
- */
192
- constructor(log: any, provider?: AbstractProvider | undefined);
193
- provider: AbstractProvider;
194
- address: any;
195
- topics: any;
196
- data: any;
197
- blockHash: any;
198
- blockNumber: number;
199
- transactionHash: any;
200
- transactionIndex: number;
201
- logIndex: number;
202
- removed: boolean;
203
- getBlock(): Promise<Block>;
204
- getTransaction(): Promise<TransactionResponse>;
205
- getTransactionReceipt(): Promise<TransactionReceipt>;
206
- }
1
+ export type BytesLike = import("../utils/encoding").BytesLike;
2
+ export type TransactionRequest = {
3
+ to?: string | undefined;
4
+ from?: string | undefined;
5
+ value?: (bigint | string | number) | undefined;
6
+ data?: string | undefined;
7
+ gasLimit?: (bigint | string | number) | undefined;
8
+ nonce?: number | undefined;
9
+ chainId?: number | undefined;
10
+ /**
11
+ * Optional remark field (hex, max 32 bytes)
12
+ */
13
+ remarks?: string | undefined;
14
+ /**
15
+ * Optional signing context (0, 1, 2, or null). Passed to SDK TransactionSigningRequest; default null.
16
+ */
17
+ signingContext?: (number | null) | undefined;
18
+ };
19
+ export type Filter = {
20
+ address?: (string | string[]) | undefined;
21
+ topics?: (string | string[] | null)[] | undefined;
22
+ fromBlock?: (number | string) | undefined;
23
+ toBlock?: (number | string) | undefined;
24
+ blockHash?: string | undefined;
25
+ };
26
+ /**
27
+ * Base Provider class.
28
+ */
29
+ export class Provider extends EventEmitter {
30
+ }
31
+ /**
32
+ * AbstractProvider base class (ethers-like).
33
+ */
34
+ export class AbstractProvider extends Provider {
35
+ /**
36
+ * Implemented by subclasses to perform JSON-RPC.
37
+ * @param {string} method
38
+ * @param {any[]=} params
39
+ * @returns {Promise<any>}
40
+ */
41
+ _perform(method: string, params?: any[] | undefined): Promise<any>;
42
+ getBlockNumber(): Promise<number>;
43
+ /**
44
+ * @param {number|"latest"} blockNumber
45
+ * @returns {Promise<Block>}
46
+ */
47
+ getBlock(blockNumber: number | "latest"): Promise<Block>;
48
+ /**
49
+ * @param {string} txHash
50
+ * @returns {Promise<TransactionResponse>}
51
+ */
52
+ getTransaction(txHash: string): Promise<TransactionResponse>;
53
+ /**
54
+ * @param {string} txHash
55
+ * @returns {Promise<TransactionReceipt>}
56
+ */
57
+ getTransactionReceipt(txHash: string): Promise<TransactionReceipt>;
58
+ /**
59
+ * @param {string} address
60
+ * @returns {Promise<bigint>}
61
+ */
62
+ getBalance(address: string): Promise<bigint>;
63
+ /**
64
+ * @param {string} address
65
+ * @param {string=} blockTag
66
+ * @returns {Promise<number>}
67
+ */
68
+ getTransactionCount(address: string, blockTag?: string | undefined): Promise<number>;
69
+ /**
70
+ * Broadcasts a signed transaction.
71
+ * @param {TransactionRequest|string} tx
72
+ * @param {{ expectedHash?: string }=} opts Optional. When `expectedHash` is set,
73
+ * the hash returned by the node (and the fetched-back transaction's hash) must
74
+ * match it, otherwise an error is thrown (do not trust the RPC node to
75
+ * broadcast the exact transaction that was signed).
76
+ * @returns {Promise<TransactionResponse>}
77
+ */
78
+ sendTransaction(tx: TransactionRequest | string, opts?: {
79
+ expectedHash?: string;
80
+ } | undefined): Promise<TransactionResponse>;
81
+ /**
82
+ * Broadcast a signed raw transaction.
83
+ * Alias of sendTransaction(rawTx) for clarity when doing offline signing flows.
84
+ *
85
+ * @param {string} rawTx
86
+ * @returns {Promise<TransactionResponse>}
87
+ */
88
+ sendRawTransaction(rawTx: string): Promise<TransactionResponse>;
89
+ /**
90
+ * Perform a call (read-only) and return hex data.
91
+ * @param {TransactionRequest} tx
92
+ * @param {string=} blockTag
93
+ * @returns {Promise<string>}
94
+ */
95
+ call(tx: TransactionRequest, blockTag?: string | undefined): Promise<string>;
96
+ /**
97
+ * Estimate gas for a call/transaction.
98
+ * @param {TransactionRequest} tx
99
+ * @returns {Promise<bigint>}
100
+ */
101
+ estimateGas(tx: TransactionRequest): Promise<bigint>;
102
+ /**
103
+ * Returns fee data (currently the gas price per unit of gas, in wei).
104
+ * Supports only DynamicFeeTx (dynamic-fee transactions); other fee tx types are not supported.
105
+ * @param {import("../wallet/wallet").Wallet|number} walletOrKeyType A Wallet, or a key type number (3 or 5).
106
+ * @param {boolean|null=} fullSign Full signing (keyType 3 only; ignored for keyType 5).
107
+ * @returns {Promise<FeeData>}
108
+ */
109
+ getFeeData(walletOrKeyType: import("../wallet/wallet").Wallet | number, fullSign?: (boolean | null) | undefined): Promise<FeeData>;
110
+ /**
111
+ * @param {string} address
112
+ * @param {string=} blockTag
113
+ * @returns {Promise<string>}
114
+ */
115
+ getCode(address: string, blockTag?: string | undefined): Promise<string>;
116
+ /**
117
+ * @param {string} address
118
+ * @param {bigint} position
119
+ * @param {string=} blockTag
120
+ * @returns {Promise<string>}
121
+ */
122
+ getStorageAt(address: string, position: bigint, blockTag?: string | undefined): Promise<string>;
123
+ /**
124
+ * @param {Filter} filter
125
+ * @returns {Promise<Log[]>}
126
+ */
127
+ getLogs(filter: Filter): Promise<Log[]>;
128
+ }
129
+ /**
130
+ * Minimal Block wrapper (ethers-like).
131
+ */
132
+ export class Block {
133
+ /**
134
+ * @param {any} block
135
+ * @param {AbstractProvider=} provider
136
+ */
137
+ constructor(block: any, provider?: AbstractProvider | undefined);
138
+ provider: AbstractProvider | null;
139
+ hash: any;
140
+ parentHash: any;
141
+ number: number | null;
142
+ timestamp: number | null;
143
+ transactions: any;
144
+ getTransaction(indexOrHash: any): Promise<TransactionResponse | null>;
145
+ getTransactionReceipt(indexOrHash: any): Promise<TransactionReceipt | null>;
146
+ getPrefetchedTransactions(): never[];
147
+ }
148
+ /**
149
+ * Minimal TransactionResponse wrapper (ethers-like).
150
+ */
151
+ export class TransactionResponse {
152
+ /**
153
+ * @param {any} tx
154
+ * @param {AbstractProvider=} provider
155
+ */
156
+ constructor(tx: any, provider?: AbstractProvider | undefined);
157
+ provider: AbstractProvider | null;
158
+ hash: any;
159
+ to: any;
160
+ from: any;
161
+ nonce: number | null;
162
+ data: any;
163
+ value: any;
164
+ gasLimit: any;
165
+ chainId: number | null;
166
+ blockNumber: number | null;
167
+ txType: number | null;
168
+ remarks: string | null;
169
+ /**
170
+ * Wait for confirmations.
171
+ * @param {number=} confirmations
172
+ * @param {number=} timeoutMs
173
+ * @returns {Promise<TransactionReceipt>}
174
+ */
175
+ wait(confirmations?: number | undefined, timeoutMs?: number | undefined): Promise<TransactionReceipt>;
176
+ }
177
+ /**
178
+ * Minimal TransactionReceipt wrapper (ethers-like).
179
+ */
180
+ export class TransactionReceipt {
181
+ /**
182
+ * @param {any} receipt
183
+ * @param {AbstractProvider=} provider
184
+ */
185
+ constructor(receipt: any, provider?: AbstractProvider | undefined);
186
+ provider: AbstractProvider | null;
187
+ to: any;
188
+ from: any;
189
+ contractAddress: any;
190
+ transactionHash: any;
191
+ blockHash: any;
192
+ blockNumber: number | null;
193
+ transactionIndex: number | null;
194
+ gasUsed: any;
195
+ status: number | null;
196
+ logs: any;
197
+ }
198
+ /**
199
+ * Minimal Log wrapper (ethers-like).
200
+ */
201
+ export class Log {
202
+ /**
203
+ * @param {any} log
204
+ * @param {AbstractProvider=} provider
205
+ */
206
+ constructor(log: any, provider?: AbstractProvider | undefined);
207
+ provider: AbstractProvider | null;
208
+ address: any;
209
+ topics: any;
210
+ data: any;
211
+ blockHash: any;
212
+ blockNumber: number | null;
213
+ transactionHash: any;
214
+ transactionIndex: number | null;
215
+ logIndex: number | null;
216
+ removed: boolean;
217
+ getBlock(): Promise<Block | null>;
218
+ getTransaction(): Promise<TransactionResponse | null>;
219
+ getTransactionReceipt(): Promise<TransactionReceipt | null>;
220
+ }
221
+ /**
222
+ * Fee data for a transaction. Currently only `gasPrice` (per unit of gas, in wei)
223
+ * is populated. `maxFeePerGas` / `maxPriorityFeePerGas` are not supported yet:
224
+ * QuantumCoin uses a fixed per-scheme fee model with no EIP-1559 base fee / priority tip.
225
+ */
226
+ export class FeeData {
227
+ /**
228
+ * @param {bigint} gasPrice
229
+ */
230
+ constructor(gasPrice: bigint);
231
+ gasPrice: bigint;
232
+ }
233
+ import EventEmitter = require("../internal/event-emitter");
@@ -5,7 +5,8 @@
5
5
  * The concrete JSON-RPC implementation lives in `json-rpc-provider.js`.
6
6
  */
7
7
 
8
- const { EventEmitter } = require("events");
8
+ const EventEmitter = require("../internal/event-emitter");
9
+ const qcsdk = require("quantum-coin-js-sdk");
9
10
  const { makeError, assertArgument } = require("../errors");
10
11
  const { normalizeHex, toQuantityHex, isHexString } = require("../internal/hex");
11
12
 
@@ -263,6 +264,20 @@ class Block {
263
264
  }
264
265
  }
265
266
 
267
+ /**
268
+ * Fee data for a transaction. Currently only `gasPrice` (per unit of gas, in wei)
269
+ * is populated. `maxFeePerGas` / `maxPriorityFeePerGas` are not supported yet:
270
+ * QuantumCoin uses a fixed per-scheme fee model with no EIP-1559 base fee / priority tip.
271
+ */
272
+ class FeeData {
273
+ /**
274
+ * @param {bigint} gasPrice
275
+ */
276
+ constructor(gasPrice) {
277
+ this.gasPrice = gasPrice;
278
+ }
279
+ }
280
+
266
281
  /**
267
282
  * Base Provider class.
268
283
  */
@@ -459,6 +474,30 @@ class AbstractProvider extends Provider {
459
474
  return _hexToBigInt(gas);
460
475
  }
461
476
 
477
+ /**
478
+ * Returns fee data (currently the gas price per unit of gas, in wei).
479
+ * Supports only DynamicFeeTx (dynamic-fee transactions); other fee tx types are not supported.
480
+ * @param {import("../wallet/wallet").Wallet|number} walletOrKeyType A Wallet, or a key type number (3 or 5).
481
+ * @param {boolean|null=} fullSign Full signing (keyType 3 only; ignored for keyType 5).
482
+ * @returns {Promise<FeeData>}
483
+ */
484
+ async getFeeData(walletOrKeyType, fullSign) {
485
+ let keyType;
486
+ if (typeof walletOrKeyType === "number") {
487
+ keyType = walletOrKeyType;
488
+ } else if (walletOrKeyType && typeof walletOrKeyType.getKeyType === "function") {
489
+ keyType = walletOrKeyType.getKeyType();
490
+ } else {
491
+ assertArgument(false, "expected a Wallet or a keyType number", "walletOrKeyType", walletOrKeyType);
492
+ }
493
+
494
+ const res = qcsdk.getGasPrice(keyType, fullSign ?? false);
495
+ if (!res || res.resultCode !== 0 || res.gasPrice == null) {
496
+ throw makeError("getGasPrice failed", "UNKNOWN_ERROR", { resultCode: res && res.resultCode, keyType });
497
+ }
498
+ return new FeeData(BigInt(res.gasPrice));
499
+ }
500
+
462
501
  /**
463
502
  * @param {string} address
464
503
  * @param {string=} blockTag
@@ -520,5 +559,6 @@ module.exports = {
520
559
  TransactionResponse,
521
560
  TransactionReceipt,
522
561
  Log,
562
+ FeeData,
523
563
  };
524
564
 
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Notes:
5
5
  * - QuantumCoin addresses are 32 bytes (not 20).
6
- * - This module intentionally uses only built-in Node.js APIs.
6
+ * - This module is platform agnostic (works in Node.js and the browser) and
7
+ * avoids Node-only APIs such as Buffer.
7
8
  */
8
9
 
9
10
  const {
@@ -166,8 +167,13 @@ function decodeBytes32String(bytes) {
166
167
  * @returns {Uint8Array}
167
168
  */
168
169
  function decodeBase64(data) {
169
- const buf = Buffer.from(data, "base64");
170
- return new Uint8Array(buf);
170
+ if (typeof globalThis.atob !== "function") {
171
+ throw new Error("base64 decoding not supported in this environment");
172
+ }
173
+ const binary = globalThis.atob(data);
174
+ const out = new Uint8Array(binary.length);
175
+ for (let i = 0; i < binary.length; i++) out[i] = binary.charCodeAt(i);
176
+ return out;
171
177
  }
172
178
 
173
179
  /**
@@ -176,7 +182,13 @@ function decodeBase64(data) {
176
182
  * @returns {string}
177
183
  */
178
184
  function encodeBase64(data) {
179
- return Buffer.from(arrayify(data)).toString("base64");
185
+ if (typeof globalThis.btoa !== "function") {
186
+ throw new Error("base64 encoding not supported in this environment");
187
+ }
188
+ const bytes = arrayify(data);
189
+ let binary = "";
190
+ for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);
191
+ return globalThis.btoa(binary);
180
192
  }
181
193
 
182
194
  // Minimal base58 implementation (Bitcoin alphabet) for compatibility with ethers helpers.
@@ -1,57 +1,57 @@
1
- import type { BytesLike } from "./encoding";
2
-
3
- export type BigNumberish = string | number | bigint;
4
-
5
- export type FixedFormat = number | string | {
6
- signed?: boolean;
7
- width?: number;
8
- decimals?: number;
9
- };
10
-
11
- export class FixedNumber {
12
- private constructor(guard: any, value: bigint, format: any);
13
-
14
- readonly format: string;
15
- readonly _value: string;
16
-
17
- get signed(): boolean;
18
- get width(): number;
19
- get decimals(): number;
20
- get value(): bigint;
21
-
22
- add(other: FixedNumber): FixedNumber;
23
- addUnsafe(other: FixedNumber): FixedNumber;
24
- sub(other: FixedNumber): FixedNumber;
25
- subUnsafe(other: FixedNumber): FixedNumber;
26
- mul(other: FixedNumber): FixedNumber;
27
- mulUnsafe(other: FixedNumber): FixedNumber;
28
- mulSignal(other: FixedNumber): FixedNumber;
29
- div(other: FixedNumber): FixedNumber;
30
- divUnsafe(other: FixedNumber): FixedNumber;
31
- divSignal(other: FixedNumber): FixedNumber;
32
-
33
- cmp(other: FixedNumber): number;
34
- eq(other: FixedNumber): boolean;
35
- lt(other: FixedNumber): boolean;
36
- lte(other: FixedNumber): boolean;
37
- gt(other: FixedNumber): boolean;
38
- gte(other: FixedNumber): boolean;
39
-
40
- floor(): FixedNumber;
41
- ceiling(): FixedNumber;
42
- round(decimals?: number): FixedNumber;
43
-
44
- isZero(): boolean;
45
- isNegative(): boolean;
46
-
47
- toString(): string;
48
- toUnsafeFloat(): number;
49
- toFormat(format: FixedFormat): FixedNumber;
50
- toHexString(width?: number): string;
51
-
52
- static fromValue(value: BigNumberish, decimals?: number, format?: FixedFormat): FixedNumber;
53
- static fromString(value: string, format?: FixedFormat): FixedNumber;
54
- static fromBytes(value: BytesLike, format?: FixedFormat): FixedNumber;
55
- static from(value: any, format?: FixedFormat): FixedNumber;
56
- static isFixedNumber(value: any): value is FixedNumber;
57
- }
1
+ import type { BytesLike } from "./encoding";
2
+
3
+ export type BigNumberish = string | number | bigint;
4
+
5
+ export type FixedFormat = number | string | {
6
+ signed?: boolean;
7
+ width?: number;
8
+ decimals?: number;
9
+ };
10
+
11
+ export class FixedNumber {
12
+ private constructor(guard: any, value: bigint, format: any);
13
+
14
+ readonly format: string;
15
+ readonly _value: string;
16
+
17
+ get signed(): boolean;
18
+ get width(): number;
19
+ get decimals(): number;
20
+ get value(): bigint;
21
+
22
+ add(other: FixedNumber): FixedNumber;
23
+ addUnsafe(other: FixedNumber): FixedNumber;
24
+ sub(other: FixedNumber): FixedNumber;
25
+ subUnsafe(other: FixedNumber): FixedNumber;
26
+ mul(other: FixedNumber): FixedNumber;
27
+ mulUnsafe(other: FixedNumber): FixedNumber;
28
+ mulSignal(other: FixedNumber): FixedNumber;
29
+ div(other: FixedNumber): FixedNumber;
30
+ divUnsafe(other: FixedNumber): FixedNumber;
31
+ divSignal(other: FixedNumber): FixedNumber;
32
+
33
+ cmp(other: FixedNumber): number;
34
+ eq(other: FixedNumber): boolean;
35
+ lt(other: FixedNumber): boolean;
36
+ lte(other: FixedNumber): boolean;
37
+ gt(other: FixedNumber): boolean;
38
+ gte(other: FixedNumber): boolean;
39
+
40
+ floor(): FixedNumber;
41
+ ceiling(): FixedNumber;
42
+ round(decimals?: number): FixedNumber;
43
+
44
+ isZero(): boolean;
45
+ isNegative(): boolean;
46
+
47
+ toString(): string;
48
+ toUnsafeFloat(): number;
49
+ toFormat(format: FixedFormat): FixedNumber;
50
+ toHexString(width?: number): string;
51
+
52
+ static fromValue(value: BigNumberish, decimals?: number, format?: FixedFormat): FixedNumber;
53
+ static fromString(value: string, format?: FixedFormat): FixedNumber;
54
+ static fromBytes(value: BytesLike, format?: FixedFormat): FixedNumber;
55
+ static from(value: any, format?: FixedFormat): FixedNumber;
56
+ static isFixedNumber(value: any): value is FixedNumber;
57
+ }