quantumcoin 6.14.5 → 7.0.1

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 (1281) hide show
  1. package/.github/workflows/publish-npmjs.yaml +22 -0
  2. package/.gitignore +12 -0
  3. package/{LICENSE.md → LICENSE} +21 -21
  4. package/README-SDK.md +700 -0
  5. package/README.md +127 -132
  6. package/config.d.ts +50 -0
  7. package/config.js +115 -0
  8. package/examples/events.js +35 -0
  9. package/examples/example.js +61 -0
  10. package/examples/package-lock.json +1150 -0
  11. package/examples/package.json +17 -0
  12. package/examples/read-operations.js +28 -0
  13. package/examples/wallet-offline.js +29 -0
  14. package/generate-sdk.js +888 -0
  15. package/index.js +12 -0
  16. package/package.json +44 -120
  17. package/src/abi/fragments.d.ts +42 -0
  18. package/src/abi/fragments.js +63 -0
  19. package/src/abi/index.d.ts +13 -0
  20. package/src/abi/index.js +9 -0
  21. package/src/abi/interface.d.ts +114 -0
  22. package/src/abi/interface.js +352 -0
  23. package/src/constants.d.ts +61 -0
  24. package/src/constants.js +94 -0
  25. package/src/contract/contract-factory.d.ts +28 -0
  26. package/src/contract/contract-factory.js +93 -0
  27. package/src/contract/contract.d.ts +105 -0
  28. package/src/contract/contract.js +312 -0
  29. package/src/contract/index.d.ts +9 -0
  30. package/src/contract/index.js +9 -0
  31. package/src/errors/index.d.ts +92 -0
  32. package/src/errors/index.js +188 -0
  33. package/src/generator/index.js +426 -0
  34. package/src/index.d.ts +111 -0
  35. package/src/index.js +41 -0
  36. package/src/internal/hex.d.ts +61 -0
  37. package/src/internal/hex.js +144 -0
  38. package/src/providers/extra-providers.d.ts +128 -0
  39. package/src/providers/extra-providers.js +575 -0
  40. package/src/providers/index.d.ts +16 -0
  41. package/src/providers/index.js +10 -0
  42. package/src/providers/json-rpc-provider.d.ts +12 -0
  43. package/src/providers/json-rpc-provider.js +79 -0
  44. package/src/providers/provider.d.ts +194 -0
  45. package/src/providers/provider.js +359 -0
  46. package/src/utils/address.d.ts +72 -0
  47. package/src/utils/address.js +182 -0
  48. package/src/utils/encoding.d.ts +120 -0
  49. package/src/utils/encoding.js +306 -0
  50. package/src/utils/hashing.d.ts +76 -0
  51. package/src/utils/hashing.js +298 -0
  52. package/src/utils/index.d.ts +55 -0
  53. package/src/utils/index.js +13 -0
  54. package/src/utils/result.d.ts +57 -0
  55. package/src/utils/result.js +128 -0
  56. package/src/utils/rlp.d.ts +12 -0
  57. package/src/utils/rlp.js +200 -0
  58. package/src/utils/units.d.ts +29 -0
  59. package/src/utils/units.js +107 -0
  60. package/src/wallet/index.d.ts +10 -0
  61. package/src/wallet/index.js +8 -0
  62. package/src/wallet/wallet.d.ts +160 -0
  63. package/src/wallet/wallet.js +489 -0
  64. package/test/e2e/helpers.js +47 -0
  65. package/test/e2e/transactional.test.js +191 -0
  66. package/test/e2e/typed-generator.e2e.test.js +402 -0
  67. package/test/fixtures/ConstructorParam.sol +23 -0
  68. package/test/fixtures/MultiContracts.sol +37 -0
  69. package/test/fixtures/SimpleStorage.sol +18 -0
  70. package/test/fixtures/StakingContract.abi.json +1 -0
  71. package/test/integration/ipc-provider.test.js +44 -0
  72. package/test/integration/provider.test.js +72 -0
  73. package/test/integration/ws-provider.test.js +33 -0
  74. package/test/security/malformed-input.test.js +31 -0
  75. package/test/unit/abi-interface.test.js +98 -0
  76. package/test/unit/address-wallet.test.js +257 -0
  77. package/test/unit/browser-provider.test.js +82 -0
  78. package/test/unit/contract.test.js +82 -0
  79. package/test/unit/encoding-units-rlp.test.js +89 -0
  80. package/test/unit/errors.test.js +74 -0
  81. package/test/unit/filter-by-blockhash.test.js +52 -0
  82. package/test/unit/generate-contract-cli.test.js +38 -0
  83. package/test/unit/generate-sdk-artifacts-json.test.js +65 -0
  84. package/test/unit/generator.test.js +98 -0
  85. package/test/unit/hashing.test.js +54 -0
  86. package/test/unit/init.test.js +36 -0
  87. package/test/unit/interface.test.js +53 -0
  88. package/test/unit/internal-hex.test.js +47 -0
  89. package/test/unit/providers.test.js +144 -0
  90. package/test/unit/result.test.js +77 -0
  91. package/test/unit/utils.test.js +54 -0
  92. package/CHANGELOG.md +0 -442
  93. package/FUNDING.json +0 -10
  94. package/SECURITY.md +0 -34
  95. package/dist/README.md +0 -22
  96. package/dist/quantumcoin.js +0 -20940
  97. package/dist/quantumcoin.js.map +0 -1
  98. package/dist/quantumcoin.min.js +0 -1
  99. package/dist/quantumcoin.umd.js +0 -21117
  100. package/dist/quantumcoin.umd.js.map +0 -1
  101. package/dist/quantumcoin.umd.min.js +0 -1
  102. package/dist/wordlists-extra.js +0 -1500
  103. package/dist/wordlists-extra.js.map +0 -1
  104. package/dist/wordlists-extra.min.js +0 -1
  105. package/lib.commonjs/README.md +0 -16
  106. package/lib.commonjs/_version.d.ts +0 -5
  107. package/lib.commonjs/_version.d.ts.map +0 -1
  108. package/lib.commonjs/_version.js +0 -9
  109. package/lib.commonjs/_version.js.map +0 -1
  110. package/lib.commonjs/abi/abi-coder.d.ts +0 -61
  111. package/lib.commonjs/abi/abi-coder.d.ts.map +0 -1
  112. package/lib.commonjs/abi/abi-coder.js +0 -210
  113. package/lib.commonjs/abi/abi-coder.js.map +0 -1
  114. package/lib.commonjs/abi/bytes32.d.ts +0 -15
  115. package/lib.commonjs/abi/bytes32.d.ts.map +0 -1
  116. package/lib.commonjs/abi/bytes32.js +0 -45
  117. package/lib.commonjs/abi/bytes32.js.map +0 -1
  118. package/lib.commonjs/abi/coders/abstract-coder.d.ts +0 -124
  119. package/lib.commonjs/abi/coders/abstract-coder.d.ts.map +0 -1
  120. package/lib.commonjs/abi/coders/abstract-coder.js +0 -472
  121. package/lib.commonjs/abi/coders/abstract-coder.js.map +0 -1
  122. package/lib.commonjs/abi/coders/address.d.ts +0 -13
  123. package/lib.commonjs/abi/coders/address.d.ts.map +0 -1
  124. package/lib.commonjs/abi/coders/address.js +0 -33
  125. package/lib.commonjs/abi/coders/address.js.map +0 -1
  126. package/lib.commonjs/abi/coders/anonymous.d.ts +0 -15
  127. package/lib.commonjs/abi/coders/anonymous.d.ts.map +0 -1
  128. package/lib.commonjs/abi/coders/anonymous.js +0 -27
  129. package/lib.commonjs/abi/coders/anonymous.js.map +0 -1
  130. package/lib.commonjs/abi/coders/array.d.ts +0 -25
  131. package/lib.commonjs/abi/coders/array.d.ts.map +0 -1
  132. package/lib.commonjs/abi/coders/array.js +0 -165
  133. package/lib.commonjs/abi/coders/array.js.map +0 -1
  134. package/lib.commonjs/abi/coders/boolean.d.ts +0 -13
  135. package/lib.commonjs/abi/coders/boolean.d.ts.map +0 -1
  136. package/lib.commonjs/abi/coders/boolean.js +0 -25
  137. package/lib.commonjs/abi/coders/boolean.js.map +0 -1
  138. package/lib.commonjs/abi/coders/bytes.d.ts +0 -19
  139. package/lib.commonjs/abi/coders/bytes.d.ts.map +0 -1
  140. package/lib.commonjs/abi/coders/bytes.js +0 -39
  141. package/lib.commonjs/abi/coders/bytes.js.map +0 -1
  142. package/lib.commonjs/abi/coders/fixed-bytes.d.ts +0 -15
  143. package/lib.commonjs/abi/coders/fixed-bytes.d.ts.map +0 -1
  144. package/lib.commonjs/abi/coders/fixed-bytes.js +0 -32
  145. package/lib.commonjs/abi/coders/fixed-bytes.js.map +0 -1
  146. package/lib.commonjs/abi/coders/null.d.ts +0 -12
  147. package/lib.commonjs/abi/coders/null.d.ts.map +0 -1
  148. package/lib.commonjs/abi/coders/null.js +0 -28
  149. package/lib.commonjs/abi/coders/null.js.map +0 -1
  150. package/lib.commonjs/abi/coders/number.d.ts +0 -16
  151. package/lib.commonjs/abi/coders/number.d.ts.map +0 -1
  152. package/lib.commonjs/abi/coders/number.js +0 -49
  153. package/lib.commonjs/abi/coders/number.js.map +0 -1
  154. package/lib.commonjs/abi/coders/string.d.ts +0 -13
  155. package/lib.commonjs/abi/coders/string.d.ts.map +0 -1
  156. package/lib.commonjs/abi/coders/string.js +0 -25
  157. package/lib.commonjs/abi/coders/string.js.map +0 -1
  158. package/lib.commonjs/abi/coders/tuple.d.ts +0 -16
  159. package/lib.commonjs/abi/coders/tuple.d.ts.map +0 -1
  160. package/lib.commonjs/abi/coders/tuple.js +0 -67
  161. package/lib.commonjs/abi/coders/tuple.js.map +0 -1
  162. package/lib.commonjs/abi/fragments.d.ts +0 -466
  163. package/lib.commonjs/abi/fragments.d.ts.map +0 -1
  164. package/lib.commonjs/abi/fragments.js +0 -1331
  165. package/lib.commonjs/abi/fragments.js.map +0 -1
  166. package/lib.commonjs/abi/index.d.ts +0 -18
  167. package/lib.commonjs/abi/index.d.ts.map +0 -1
  168. package/lib.commonjs/abi/index.js +0 -40
  169. package/lib.commonjs/abi/index.js.map +0 -1
  170. package/lib.commonjs/abi/interface.d.ts +0 -382
  171. package/lib.commonjs/abi/interface.d.ts.map +0 -1
  172. package/lib.commonjs/abi/interface.js +0 -1110
  173. package/lib.commonjs/abi/interface.js.map +0 -1
  174. package/lib.commonjs/abi/typed.d.ts +0 -570
  175. package/lib.commonjs/abi/typed.d.ts.map +0 -1
  176. package/lib.commonjs/abi/typed.js +0 -606
  177. package/lib.commonjs/abi/typed.js.map +0 -1
  178. package/lib.commonjs/address/address.d.ts +0 -36
  179. package/lib.commonjs/address/address.d.ts.map +0 -1
  180. package/lib.commonjs/address/address.js +0 -133
  181. package/lib.commonjs/address/address.js.map +0 -1
  182. package/lib.commonjs/address/checks.d.ts +0 -81
  183. package/lib.commonjs/address/checks.d.ts.map +0 -1
  184. package/lib.commonjs/address/checks.js +0 -120
  185. package/lib.commonjs/address/checks.js.map +0 -1
  186. package/lib.commonjs/address/contract-address.d.ts +0 -48
  187. package/lib.commonjs/address/contract-address.d.ts.map +0 -1
  188. package/lib.commonjs/address/contract-address.js +0 -74
  189. package/lib.commonjs/address/contract-address.js.map +0 -1
  190. package/lib.commonjs/address/index.d.ts +0 -49
  191. package/lib.commonjs/address/index.d.ts.map +0 -1
  192. package/lib.commonjs/address/index.js +0 -28
  193. package/lib.commonjs/address/index.js.map +0 -1
  194. package/lib.commonjs/constants/addresses.d.ts +0 -7
  195. package/lib.commonjs/constants/addresses.d.ts.map +0 -1
  196. package/lib.commonjs/constants/addresses.js +0 -10
  197. package/lib.commonjs/constants/addresses.js.map +0 -1
  198. package/lib.commonjs/constants/hashes.d.ts +0 -7
  199. package/lib.commonjs/constants/hashes.d.ts.map +0 -1
  200. package/lib.commonjs/constants/hashes.js +0 -10
  201. package/lib.commonjs/constants/hashes.js.map +0 -1
  202. package/lib.commonjs/constants/index.d.ts +0 -10
  203. package/lib.commonjs/constants/index.d.ts.map +0 -1
  204. package/lib.commonjs/constants/index.js +0 -22
  205. package/lib.commonjs/constants/index.js.map +0 -1
  206. package/lib.commonjs/constants/numbers.d.ts +0 -31
  207. package/lib.commonjs/constants/numbers.d.ts.map +0 -1
  208. package/lib.commonjs/constants/numbers.js +0 -34
  209. package/lib.commonjs/constants/numbers.js.map +0 -1
  210. package/lib.commonjs/constants/strings.d.ts +0 -13
  211. package/lib.commonjs/constants/strings.d.ts.map +0 -1
  212. package/lib.commonjs/constants/strings.js +0 -17
  213. package/lib.commonjs/constants/strings.js.map +0 -1
  214. package/lib.commonjs/contract/contract.d.ts +0 -168
  215. package/lib.commonjs/contract/contract.d.ts.map +0 -1
  216. package/lib.commonjs/contract/contract.js +0 -960
  217. package/lib.commonjs/contract/contract.js.map +0 -1
  218. package/lib.commonjs/contract/factory.d.ts +0 -62
  219. package/lib.commonjs/contract/factory.d.ts.map +0 -1
  220. package/lib.commonjs/contract/factory.js +0 -116
  221. package/lib.commonjs/contract/factory.js.map +0 -1
  222. package/lib.commonjs/contract/index.d.ts +0 -13
  223. package/lib.commonjs/contract/index.d.ts.map +0 -1
  224. package/lib.commonjs/contract/index.js +0 -24
  225. package/lib.commonjs/contract/index.js.map +0 -1
  226. package/lib.commonjs/contract/types.d.ts +0 -193
  227. package/lib.commonjs/contract/types.d.ts.map +0 -1
  228. package/lib.commonjs/contract/types.js +0 -6
  229. package/lib.commonjs/contract/types.js.map +0 -1
  230. package/lib.commonjs/contract/wrappers.d.ts +0 -143
  231. package/lib.commonjs/contract/wrappers.d.ts.map +0 -1
  232. package/lib.commonjs/contract/wrappers.js +0 -186
  233. package/lib.commonjs/contract/wrappers.js.map +0 -1
  234. package/lib.commonjs/crypto/crypto-browser.d.ts +0 -15
  235. package/lib.commonjs/crypto/crypto-browser.d.ts.map +0 -1
  236. package/lib.commonjs/crypto/crypto-browser.js +0 -55
  237. package/lib.commonjs/crypto/crypto-browser.js.map +0 -1
  238. package/lib.commonjs/crypto/crypto.d.ts +0 -2
  239. package/lib.commonjs/crypto/crypto.d.ts.map +0 -1
  240. package/lib.commonjs/crypto/crypto.js +0 -9
  241. package/lib.commonjs/crypto/crypto.js.map +0 -1
  242. package/lib.commonjs/crypto/hmac.d.ts +0 -25
  243. package/lib.commonjs/crypto/hmac.d.ts.map +0 -1
  244. package/lib.commonjs/crypto/hmac.js +0 -51
  245. package/lib.commonjs/crypto/hmac.js.map +0 -1
  246. package/lib.commonjs/crypto/index.d.ts +0 -25
  247. package/lib.commonjs/crypto/index.d.ts.map +0 -1
  248. package/lib.commonjs/crypto/index.js +0 -49
  249. package/lib.commonjs/crypto/index.js.map +0 -1
  250. package/lib.commonjs/crypto/keccak.d.ts +0 -35
  251. package/lib.commonjs/crypto/keccak.d.ts.map +0 -1
  252. package/lib.commonjs/crypto/keccak.js +0 -52
  253. package/lib.commonjs/crypto/keccak.js.map +0 -1
  254. package/lib.commonjs/crypto/pbkdf2.d.ts +0 -35
  255. package/lib.commonjs/crypto/pbkdf2.d.ts.map +0 -1
  256. package/lib.commonjs/crypto/pbkdf2.js +0 -53
  257. package/lib.commonjs/crypto/pbkdf2.js.map +0 -1
  258. package/lib.commonjs/crypto/random.d.ts +0 -14
  259. package/lib.commonjs/crypto/random.d.ts.map +0 -1
  260. package/lib.commonjs/crypto/random.js +0 -38
  261. package/lib.commonjs/crypto/random.js.map +0 -1
  262. package/lib.commonjs/crypto/ripemd160.d.ts +0 -25
  263. package/lib.commonjs/crypto/ripemd160.d.ts.map +0 -1
  264. package/lib.commonjs/crypto/ripemd160.js +0 -42
  265. package/lib.commonjs/crypto/ripemd160.js.map +0 -1
  266. package/lib.commonjs/crypto/scrypt.d.ts +0 -82
  267. package/lib.commonjs/crypto/scrypt.d.ts.map +0 -1
  268. package/lib.commonjs/crypto/scrypt.js +0 -104
  269. package/lib.commonjs/crypto/scrypt.js.map +0 -1
  270. package/lib.commonjs/crypto/sha2.d.ts +0 -47
  271. package/lib.commonjs/crypto/sha2.d.ts.map +0 -1
  272. package/lib.commonjs/crypto/sha2.js +0 -76
  273. package/lib.commonjs/crypto/sha2.js.map +0 -1
  274. package/lib.commonjs/crypto/signature.d.ts +0 -72
  275. package/lib.commonjs/crypto/signature.d.ts.map +0 -1
  276. package/lib.commonjs/crypto/signature.js +0 -118
  277. package/lib.commonjs/crypto/signature.js.map +0 -1
  278. package/lib.commonjs/crypto/signing-key.d.ts +0 -63
  279. package/lib.commonjs/crypto/signing-key.d.ts.map +0 -1
  280. package/lib.commonjs/crypto/signing-key.js +0 -105
  281. package/lib.commonjs/crypto/signing-key.js.map +0 -1
  282. package/lib.commonjs/hash/authorization.d.ts +0 -18
  283. package/lib.commonjs/hash/authorization.d.ts.map +0 -1
  284. package/lib.commonjs/hash/authorization.js +0 -30
  285. package/lib.commonjs/hash/authorization.js.map +0 -1
  286. package/lib.commonjs/hash/id.d.ts +0 -13
  287. package/lib.commonjs/hash/id.d.ts.map +0 -1
  288. package/lib.commonjs/hash/id.js +0 -21
  289. package/lib.commonjs/hash/id.js.map +0 -1
  290. package/lib.commonjs/hash/index.d.ts +0 -15
  291. package/lib.commonjs/hash/index.d.ts.map +0 -1
  292. package/lib.commonjs/hash/index.js +0 -30
  293. package/lib.commonjs/hash/index.js.map +0 -1
  294. package/lib.commonjs/hash/message.d.ts +0 -36
  295. package/lib.commonjs/hash/message.d.ts.map +0 -1
  296. package/lib.commonjs/hash/message.js +0 -56
  297. package/lib.commonjs/hash/message.js.map +0 -1
  298. package/lib.commonjs/hash/namehash.d.ts +0 -20
  299. package/lib.commonjs/hash/namehash.d.ts.map +0 -1
  300. package/lib.commonjs/hash/namehash.js +0 -91
  301. package/lib.commonjs/hash/namehash.js.map +0 -1
  302. package/lib.commonjs/hash/solidity.d.ts +0 -31
  303. package/lib.commonjs/hash/solidity.d.ts.map +0 -1
  304. package/lib.commonjs/hash/solidity.js +0 -109
  305. package/lib.commonjs/hash/solidity.js.map +0 -1
  306. package/lib.commonjs/hash/typed-data.d.ts +0 -150
  307. package/lib.commonjs/hash/typed-data.d.ts.map +0 -1
  308. package/lib.commonjs/hash/typed-data.js +0 -524
  309. package/lib.commonjs/hash/typed-data.js.map +0 -1
  310. package/lib.commonjs/index.d.ts +0 -11
  311. package/lib.commonjs/index.d.ts.map +0 -1
  312. package/lib.commonjs/index.js +0 -15
  313. package/lib.commonjs/index.js.map +0 -1
  314. package/lib.commonjs/package.json +0 -12
  315. package/lib.commonjs/providers/abstract-provider.d.ts +0 -451
  316. package/lib.commonjs/providers/abstract-provider.d.ts.map +0 -1
  317. package/lib.commonjs/providers/abstract-provider.js +0 -1409
  318. package/lib.commonjs/providers/abstract-provider.js.map +0 -1
  319. package/lib.commonjs/providers/abstract-signer.d.ts +0 -69
  320. package/lib.commonjs/providers/abstract-signer.d.ts.map +0 -1
  321. package/lib.commonjs/providers/abstract-signer.js +0 -249
  322. package/lib.commonjs/providers/abstract-signer.js.map +0 -1
  323. package/lib.commonjs/providers/community.d.ts +0 -29
  324. package/lib.commonjs/providers/community.d.ts.map +0 -1
  325. package/lib.commonjs/providers/community.js +0 -40
  326. package/lib.commonjs/providers/community.js.map +0 -1
  327. package/lib.commonjs/providers/contracts.d.ts +0 -36
  328. package/lib.commonjs/providers/contracts.d.ts.map +0 -1
  329. package/lib.commonjs/providers/contracts.js +0 -3
  330. package/lib.commonjs/providers/contracts.js.map +0 -1
  331. package/lib.commonjs/providers/default-provider.d.ts +0 -41
  332. package/lib.commonjs/providers/default-provider.d.ts.map +0 -1
  333. package/lib.commonjs/providers/default-provider.js +0 -92
  334. package/lib.commonjs/providers/default-provider.js.map +0 -1
  335. package/lib.commonjs/providers/ens-resolver.d.ts +0 -147
  336. package/lib.commonjs/providers/ens-resolver.d.ts.map +0 -1
  337. package/lib.commonjs/providers/ens-resolver.js +0 -502
  338. package/lib.commonjs/providers/ens-resolver.js.map +0 -1
  339. package/lib.commonjs/providers/format.d.ts +0 -15
  340. package/lib.commonjs/providers/format.d.ts.map +0 -1
  341. package/lib.commonjs/providers/format.js +0 -298
  342. package/lib.commonjs/providers/format.js.map +0 -1
  343. package/lib.commonjs/providers/formatting.d.ts +0 -318
  344. package/lib.commonjs/providers/formatting.d.ts.map +0 -1
  345. package/lib.commonjs/providers/formatting.js +0 -10
  346. package/lib.commonjs/providers/formatting.js.map +0 -1
  347. package/lib.commonjs/providers/index.d.ts +0 -41
  348. package/lib.commonjs/providers/index.d.ts.map +0 -1
  349. package/lib.commonjs/providers/index.js +0 -64
  350. package/lib.commonjs/providers/index.js.map +0 -1
  351. package/lib.commonjs/providers/network.d.ts +0 -99
  352. package/lib.commonjs/providers/network.d.ts.map +0 -1
  353. package/lib.commonjs/providers/network.js +0 -269
  354. package/lib.commonjs/providers/network.js.map +0 -1
  355. package/lib.commonjs/providers/pagination.d.ts +0 -6
  356. package/lib.commonjs/providers/pagination.d.ts.map +0 -1
  357. package/lib.commonjs/providers/pagination.js +0 -3
  358. package/lib.commonjs/providers/pagination.js.map +0 -1
  359. package/lib.commonjs/providers/plugin-fallback.d.ts +0 -13
  360. package/lib.commonjs/providers/plugin-fallback.d.ts.map +0 -1
  361. package/lib.commonjs/providers/plugin-fallback.js +0 -31
  362. package/lib.commonjs/providers/plugin-fallback.js.map +0 -1
  363. package/lib.commonjs/providers/plugins-network.d.ts +0 -170
  364. package/lib.commonjs/providers/plugins-network.d.ts.map +0 -1
  365. package/lib.commonjs/providers/plugins-network.js +0 -216
  366. package/lib.commonjs/providers/plugins-network.js.map +0 -1
  367. package/lib.commonjs/providers/provider-browser.d.ts +0 -108
  368. package/lib.commonjs/providers/provider-browser.d.ts.map +0 -1
  369. package/lib.commonjs/providers/provider-browser.js +0 -204
  370. package/lib.commonjs/providers/provider-browser.js.map +0 -1
  371. package/lib.commonjs/providers/provider-fallback.d.ts +0 -115
  372. package/lib.commonjs/providers/provider-fallback.d.ts.map +0 -1
  373. package/lib.commonjs/providers/provider-fallback.js +0 -624
  374. package/lib.commonjs/providers/provider-fallback.js.map +0 -1
  375. package/lib.commonjs/providers/provider-ipcsocket-browser.d.ts +0 -3
  376. package/lib.commonjs/providers/provider-ipcsocket-browser.d.ts.map +0 -1
  377. package/lib.commonjs/providers/provider-ipcsocket-browser.js +0 -6
  378. package/lib.commonjs/providers/provider-ipcsocket-browser.js.map +0 -1
  379. package/lib.commonjs/providers/provider-ipcsocket.d.ts +0 -21
  380. package/lib.commonjs/providers/provider-ipcsocket.d.ts.map +0 -1
  381. package/lib.commonjs/providers/provider-ipcsocket.js +0 -72
  382. package/lib.commonjs/providers/provider-ipcsocket.js.map +0 -1
  383. package/lib.commonjs/providers/provider-jsonrpc.d.ts +0 -360
  384. package/lib.commonjs/providers/provider-jsonrpc.d.ts.map +0 -1
  385. package/lib.commonjs/providers/provider-jsonrpc.js +0 -979
  386. package/lib.commonjs/providers/provider-jsonrpc.js.map +0 -1
  387. package/lib.commonjs/providers/provider-socket.d.ts +0 -113
  388. package/lib.commonjs/providers/provider-socket.d.ts.map +0 -1
  389. package/lib.commonjs/providers/provider-socket.js +0 -309
  390. package/lib.commonjs/providers/provider-socket.js.map +0 -1
  391. package/lib.commonjs/providers/provider-websocket.d.ts +0 -37
  392. package/lib.commonjs/providers/provider-websocket.d.ts.map +0 -1
  393. package/lib.commonjs/providers/provider-websocket.js +0 -80
  394. package/lib.commonjs/providers/provider-websocket.js.map +0 -1
  395. package/lib.commonjs/providers/provider.d.ts +0 -1223
  396. package/lib.commonjs/providers/provider.d.ts.map +0 -1
  397. package/lib.commonjs/providers/provider.js +0 -1321
  398. package/lib.commonjs/providers/provider.js.map +0 -1
  399. package/lib.commonjs/providers/signer-noncemanager.d.ts +0 -38
  400. package/lib.commonjs/providers/signer-noncemanager.d.ts.map +0 -1
  401. package/lib.commonjs/providers/signer-noncemanager.js +0 -78
  402. package/lib.commonjs/providers/signer-noncemanager.js.map +0 -1
  403. package/lib.commonjs/providers/signer.d.ts +0 -131
  404. package/lib.commonjs/providers/signer.d.ts.map +0 -1
  405. package/lib.commonjs/providers/signer.js +0 -3
  406. package/lib.commonjs/providers/signer.js.map +0 -1
  407. package/lib.commonjs/providers/subscriber-connection.d.ts +0 -25
  408. package/lib.commonjs/providers/subscriber-connection.d.ts.map +0 -1
  409. package/lib.commonjs/providers/subscriber-connection.js +0 -56
  410. package/lib.commonjs/providers/subscriber-connection.js.map +0 -1
  411. package/lib.commonjs/providers/subscriber-filterid.d.ts +0 -64
  412. package/lib.commonjs/providers/subscriber-filterid.d.ts.map +0 -1
  413. package/lib.commonjs/providers/subscriber-filterid.js +0 -180
  414. package/lib.commonjs/providers/subscriber-filterid.js.map +0 -1
  415. package/lib.commonjs/providers/subscriber-polling.d.ts +0 -100
  416. package/lib.commonjs/providers/subscriber-polling.d.ts.map +0 -1
  417. package/lib.commonjs/providers/subscriber-polling.js +0 -303
  418. package/lib.commonjs/providers/subscriber-polling.js.map +0 -1
  419. package/lib.commonjs/providers/ws-browser.d.ts +0 -3
  420. package/lib.commonjs/providers/ws-browser.d.ts.map +0 -1
  421. package/lib.commonjs/providers/ws-browser.js +0 -19
  422. package/lib.commonjs/providers/ws-browser.js.map +0 -1
  423. package/lib.commonjs/providers/ws.d.ts +0 -2
  424. package/lib.commonjs/providers/ws.d.ts.map +0 -1
  425. package/lib.commonjs/providers/ws.js +0 -6
  426. package/lib.commonjs/providers/ws.js.map +0 -1
  427. package/lib.commonjs/quantumcoin.d.ts +0 -24
  428. package/lib.commonjs/quantumcoin.d.ts.map +0 -1
  429. package/lib.commonjs/quantumcoin.js +0 -199
  430. package/lib.commonjs/quantumcoin.js.map +0 -1
  431. package/lib.commonjs/transaction/accesslist.d.ts +0 -6
  432. package/lib.commonjs/transaction/accesslist.d.ts.map +0 -1
  433. package/lib.commonjs/transaction/accesslist.js +0 -41
  434. package/lib.commonjs/transaction/accesslist.js.map +0 -1
  435. package/lib.commonjs/transaction/address.d.ts +0 -15
  436. package/lib.commonjs/transaction/address.d.ts.map +0 -1
  437. package/lib.commonjs/transaction/address.js +0 -39
  438. package/lib.commonjs/transaction/address.js.map +0 -1
  439. package/lib.commonjs/transaction/authorization.d.ts +0 -3
  440. package/lib.commonjs/transaction/authorization.d.ts.map +0 -1
  441. package/lib.commonjs/transaction/authorization.js +0 -16
  442. package/lib.commonjs/transaction/authorization.js.map +0 -1
  443. package/lib.commonjs/transaction/index.d.ts +0 -40
  444. package/lib.commonjs/transaction/index.d.ts.map +0 -1
  445. package/lib.commonjs/transaction/index.js +0 -19
  446. package/lib.commonjs/transaction/index.js.map +0 -1
  447. package/lib.commonjs/transaction/transaction.d.ts +0 -400
  448. package/lib.commonjs/transaction/transaction.d.ts.map +0 -1
  449. package/lib.commonjs/transaction/transaction.js +0 -1115
  450. package/lib.commonjs/transaction/transaction.js.map +0 -1
  451. package/lib.commonjs/utils/base58.d.ts +0 -23
  452. package/lib.commonjs/utils/base58.d.ts.map +0 -1
  453. package/lib.commonjs/utils/base58.js +0 -68
  454. package/lib.commonjs/utils/base58.js.map +0 -1
  455. package/lib.commonjs/utils/base64-browser.d.ts +0 -4
  456. package/lib.commonjs/utils/base64-browser.d.ts.map +0 -1
  457. package/lib.commonjs/utils/base64-browser.js +0 -24
  458. package/lib.commonjs/utils/base64-browser.js.map +0 -1
  459. package/lib.commonjs/utils/base64.d.ts +0 -40
  460. package/lib.commonjs/utils/base64.d.ts.map +0 -1
  461. package/lib.commonjs/utils/base64.js +0 -58
  462. package/lib.commonjs/utils/base64.js.map +0 -1
  463. package/lib.commonjs/utils/data.d.ts +0 -93
  464. package/lib.commonjs/utils/data.d.ts.map +0 -1
  465. package/lib.commonjs/utils/data.js +0 -184
  466. package/lib.commonjs/utils/data.js.map +0 -1
  467. package/lib.commonjs/utils/errors.d.ts +0 -512
  468. package/lib.commonjs/utils/errors.d.ts.map +0 -1
  469. package/lib.commonjs/utils/errors.js +0 -235
  470. package/lib.commonjs/utils/errors.js.map +0 -1
  471. package/lib.commonjs/utils/events.d.ts +0 -77
  472. package/lib.commonjs/utils/events.d.ts.map +0 -1
  473. package/lib.commonjs/utils/events.js +0 -46
  474. package/lib.commonjs/utils/events.js.map +0 -1
  475. package/lib.commonjs/utils/fetch.d.ts +0 -363
  476. package/lib.commonjs/utils/fetch.d.ts.map +0 -1
  477. package/lib.commonjs/utils/fetch.js +0 -858
  478. package/lib.commonjs/utils/fetch.js.map +0 -1
  479. package/lib.commonjs/utils/fixednumber.d.ts +0 -252
  480. package/lib.commonjs/utils/fixednumber.d.ts.map +0 -1
  481. package/lib.commonjs/utils/fixednumber.js +0 -530
  482. package/lib.commonjs/utils/fixednumber.js.map +0 -1
  483. package/lib.commonjs/utils/geturl-browser.d.ts +0 -4
  484. package/lib.commonjs/utils/geturl-browser.d.ts.map +0 -1
  485. package/lib.commonjs/utils/geturl-browser.js +0 -67
  486. package/lib.commonjs/utils/geturl-browser.js.map +0 -1
  487. package/lib.commonjs/utils/geturl.d.ts +0 -10
  488. package/lib.commonjs/utils/geturl.d.ts.map +0 -1
  489. package/lib.commonjs/utils/geturl.js +0 -120
  490. package/lib.commonjs/utils/geturl.js.map +0 -1
  491. package/lib.commonjs/utils/index.d.ts +0 -30
  492. package/lib.commonjs/utils/index.d.ts.map +0 -1
  493. package/lib.commonjs/utils/index.js +0 -78
  494. package/lib.commonjs/utils/index.js.map +0 -1
  495. package/lib.commonjs/utils/maths.d.ts +0 -66
  496. package/lib.commonjs/utils/maths.d.ts.map +0 -1
  497. package/lib.commonjs/utils/maths.js +0 -229
  498. package/lib.commonjs/utils/maths.js.map +0 -1
  499. package/lib.commonjs/utils/properties.d.ts +0 -23
  500. package/lib.commonjs/utils/properties.d.ts.map +0 -1
  501. package/lib.commonjs/utils/properties.js +0 -59
  502. package/lib.commonjs/utils/properties.js.map +0 -1
  503. package/lib.commonjs/utils/rlp-decode.d.ts +0 -6
  504. package/lib.commonjs/utils/rlp-decode.d.ts.map +0 -1
  505. package/lib.commonjs/utils/rlp-decode.js +0 -83
  506. package/lib.commonjs/utils/rlp-decode.js.map +0 -1
  507. package/lib.commonjs/utils/rlp-encode.d.ts +0 -6
  508. package/lib.commonjs/utils/rlp-encode.d.ts.map +0 -1
  509. package/lib.commonjs/utils/rlp-encode.js +0 -53
  510. package/lib.commonjs/utils/rlp-encode.js.map +0 -1
  511. package/lib.commonjs/utils/rlp.d.ts +0 -17
  512. package/lib.commonjs/utils/rlp.d.ts.map +0 -1
  513. package/lib.commonjs/utils/rlp.js +0 -14
  514. package/lib.commonjs/utils/rlp.js.map +0 -1
  515. package/lib.commonjs/utils/units.d.ts +0 -24
  516. package/lib.commonjs/utils/units.d.ts.map +0 -1
  517. package/lib.commonjs/utils/units.js +0 -90
  518. package/lib.commonjs/utils/units.js.map +0 -1
  519. package/lib.commonjs/utils/utf8.d.ts +0 -96
  520. package/lib.commonjs/utils/utf8.d.ts.map +0 -1
  521. package/lib.commonjs/utils/utf8.js +0 -227
  522. package/lib.commonjs/utils/utf8.js.map +0 -1
  523. package/lib.commonjs/utils/uuid.d.ts +0 -8
  524. package/lib.commonjs/utils/uuid.d.ts.map +0 -1
  525. package/lib.commonjs/utils/uuid.js +0 -34
  526. package/lib.commonjs/utils/uuid.js.map +0 -1
  527. package/lib.commonjs/wallet/base-wallet.d.ts +0 -57
  528. package/lib.commonjs/wallet/base-wallet.d.ts.map +0 -1
  529. package/lib.commonjs/wallet/base-wallet.js +0 -127
  530. package/lib.commonjs/wallet/base-wallet.js.map +0 -1
  531. package/lib.commonjs/wallet/index.d.ts +0 -23
  532. package/lib.commonjs/wallet/index.d.ts.map +0 -1
  533. package/lib.commonjs/wallet/index.js +0 -30
  534. package/lib.commonjs/wallet/index.js.map +0 -1
  535. package/lib.commonjs/wallet/json-keystore.d.ts +0 -40
  536. package/lib.commonjs/wallet/json-keystore.d.ts.map +0 -1
  537. package/lib.commonjs/wallet/json-keystore.js +0 -90
  538. package/lib.commonjs/wallet/json-keystore.js.map +0 -1
  539. package/lib.commonjs/wallet/utils.d.ts +0 -8
  540. package/lib.commonjs/wallet/utils.d.ts.map +0 -1
  541. package/lib.commonjs/wallet/utils.js +0 -149
  542. package/lib.commonjs/wallet/utils.js.map +0 -1
  543. package/lib.commonjs/wallet/wallet.d.ts +0 -62
  544. package/lib.commonjs/wallet/wallet.d.ts.map +0 -1
  545. package/lib.commonjs/wallet/wallet.js +0 -109
  546. package/lib.commonjs/wallet/wallet.js.map +0 -1
  547. package/lib.commonjs/wordlists/bit-reader.d.ts +0 -5
  548. package/lib.commonjs/wordlists/bit-reader.d.ts.map +0 -1
  549. package/lib.commonjs/wordlists/bit-reader.js +0 -36
  550. package/lib.commonjs/wordlists/bit-reader.js.map +0 -1
  551. package/lib.commonjs/wordlists/decode-owl.d.ts +0 -9
  552. package/lib.commonjs/wordlists/decode-owl.d.ts.map +0 -1
  553. package/lib.commonjs/wordlists/decode-owl.js +0 -60
  554. package/lib.commonjs/wordlists/decode-owl.js.map +0 -1
  555. package/lib.commonjs/wordlists/decode-owla.d.ts +0 -5
  556. package/lib.commonjs/wordlists/decode-owla.d.ts.map +0 -1
  557. package/lib.commonjs/wordlists/decode-owla.js +0 -32
  558. package/lib.commonjs/wordlists/decode-owla.js.map +0 -1
  559. package/lib.commonjs/wordlists/generation/encode-latin.d.ts +0 -25
  560. package/lib.commonjs/wordlists/generation/encode-latin.d.ts.map +0 -1
  561. package/lib.commonjs/wordlists/generation/encode-latin.js +0 -351
  562. package/lib.commonjs/wordlists/generation/encode-latin.js.map +0 -1
  563. package/lib.commonjs/wordlists/index.d.ts +0 -25
  564. package/lib.commonjs/wordlists/index.d.ts.map +0 -1
  565. package/lib.commonjs/wordlists/index.js +0 -33
  566. package/lib.commonjs/wordlists/index.js.map +0 -1
  567. package/lib.commonjs/wordlists/lang-cz.d.ts +0 -23
  568. package/lib.commonjs/wordlists/lang-cz.d.ts.map +0 -1
  569. package/lib.commonjs/wordlists/lang-cz.js +0 -35
  570. package/lib.commonjs/wordlists/lang-cz.js.map +0 -1
  571. package/lib.commonjs/wordlists/lang-en.d.ts +0 -23
  572. package/lib.commonjs/wordlists/lang-en.d.ts.map +0 -1
  573. package/lib.commonjs/wordlists/lang-en.js +0 -35
  574. package/lib.commonjs/wordlists/lang-en.js.map +0 -1
  575. package/lib.commonjs/wordlists/lang-es.d.ts +0 -23
  576. package/lib.commonjs/wordlists/lang-es.d.ts.map +0 -1
  577. package/lib.commonjs/wordlists/lang-es.js +0 -36
  578. package/lib.commonjs/wordlists/lang-es.js.map +0 -1
  579. package/lib.commonjs/wordlists/lang-fr.d.ts +0 -23
  580. package/lib.commonjs/wordlists/lang-fr.d.ts.map +0 -1
  581. package/lib.commonjs/wordlists/lang-fr.js +0 -36
  582. package/lib.commonjs/wordlists/lang-fr.js.map +0 -1
  583. package/lib.commonjs/wordlists/lang-it.d.ts +0 -23
  584. package/lib.commonjs/wordlists/lang-it.d.ts.map +0 -1
  585. package/lib.commonjs/wordlists/lang-it.js +0 -35
  586. package/lib.commonjs/wordlists/lang-it.js.map +0 -1
  587. package/lib.commonjs/wordlists/lang-ja.d.ts +0 -27
  588. package/lib.commonjs/wordlists/lang-ja.d.ts.map +0 -1
  589. package/lib.commonjs/wordlists/lang-ja.js +0 -158
  590. package/lib.commonjs/wordlists/lang-ja.js.map +0 -1
  591. package/lib.commonjs/wordlists/lang-ko.d.ts +0 -25
  592. package/lib.commonjs/wordlists/lang-ko.d.ts.map +0 -1
  593. package/lib.commonjs/wordlists/lang-ko.js +0 -93
  594. package/lib.commonjs/wordlists/lang-ko.js.map +0 -1
  595. package/lib.commonjs/wordlists/lang-pt.d.ts +0 -23
  596. package/lib.commonjs/wordlists/lang-pt.d.ts.map +0 -1
  597. package/lib.commonjs/wordlists/lang-pt.js +0 -35
  598. package/lib.commonjs/wordlists/lang-pt.js.map +0 -1
  599. package/lib.commonjs/wordlists/lang-zh.d.ts +0 -32
  600. package/lib.commonjs/wordlists/lang-zh.d.ts.map +0 -1
  601. package/lib.commonjs/wordlists/lang-zh.js +0 -96
  602. package/lib.commonjs/wordlists/lang-zh.js.map +0 -1
  603. package/lib.commonjs/wordlists/wordlist-owl.d.ts +0 -32
  604. package/lib.commonjs/wordlists/wordlist-owl.d.ts.map +0 -1
  605. package/lib.commonjs/wordlists/wordlist-owl.js +0 -70
  606. package/lib.commonjs/wordlists/wordlist-owl.js.map +0 -1
  607. package/lib.commonjs/wordlists/wordlist-owla.d.ts +0 -30
  608. package/lib.commonjs/wordlists/wordlist-owla.d.ts.map +0 -1
  609. package/lib.commonjs/wordlists/wordlist-owla.js +0 -40
  610. package/lib.commonjs/wordlists/wordlist-owla.js.map +0 -1
  611. package/lib.commonjs/wordlists/wordlist.d.ts +0 -47
  612. package/lib.commonjs/wordlists/wordlist.d.ts.map +0 -1
  613. package/lib.commonjs/wordlists/wordlist.js +0 -46
  614. package/lib.commonjs/wordlists/wordlist.js.map +0 -1
  615. package/lib.commonjs/wordlists/wordlists-browser.d.ts +0 -3
  616. package/lib.commonjs/wordlists/wordlists-browser.d.ts.map +0 -1
  617. package/lib.commonjs/wordlists/wordlists-browser.js +0 -8
  618. package/lib.commonjs/wordlists/wordlists-browser.js.map +0 -1
  619. package/lib.commonjs/wordlists/wordlists-extra.d.ts +0 -9
  620. package/lib.commonjs/wordlists/wordlists-extra.d.ts.map +0 -1
  621. package/lib.commonjs/wordlists/wordlists-extra.js +0 -20
  622. package/lib.commonjs/wordlists/wordlists-extra.js.map +0 -1
  623. package/lib.commonjs/wordlists/wordlists.d.ts +0 -16
  624. package/lib.commonjs/wordlists/wordlists.d.ts.map +0 -1
  625. package/lib.commonjs/wordlists/wordlists.js +0 -38
  626. package/lib.commonjs/wordlists/wordlists.js.map +0 -1
  627. package/lib.esm/README.md +0 -16
  628. package/lib.esm/_version.d.ts +0 -5
  629. package/lib.esm/_version.d.ts.map +0 -1
  630. package/lib.esm/_version.js +0 -6
  631. package/lib.esm/_version.js.map +0 -1
  632. package/lib.esm/abi/abi-coder.d.ts +0 -61
  633. package/lib.esm/abi/abi-coder.d.ts.map +0 -1
  634. package/lib.esm/abi/abi-coder.js +0 -206
  635. package/lib.esm/abi/abi-coder.js.map +0 -1
  636. package/lib.esm/abi/bytes32.d.ts +0 -15
  637. package/lib.esm/abi/bytes32.d.ts.map +0 -1
  638. package/lib.esm/abi/bytes32.js +0 -40
  639. package/lib.esm/abi/bytes32.js.map +0 -1
  640. package/lib.esm/abi/coders/abstract-coder.d.ts +0 -124
  641. package/lib.esm/abi/coders/abstract-coder.d.ts.map +0 -1
  642. package/lib.esm/abi/coders/abstract-coder.js +0 -466
  643. package/lib.esm/abi/coders/abstract-coder.js.map +0 -1
  644. package/lib.esm/abi/coders/address.d.ts +0 -13
  645. package/lib.esm/abi/coders/address.d.ts.map +0 -1
  646. package/lib.esm/abi/coders/address.js +0 -29
  647. package/lib.esm/abi/coders/address.js.map +0 -1
  648. package/lib.esm/abi/coders/anonymous.d.ts +0 -15
  649. package/lib.esm/abi/coders/anonymous.d.ts.map +0 -1
  650. package/lib.esm/abi/coders/anonymous.js +0 -23
  651. package/lib.esm/abi/coders/anonymous.js.map +0 -1
  652. package/lib.esm/abi/coders/array.d.ts +0 -25
  653. package/lib.esm/abi/coders/array.d.ts.map +0 -1
  654. package/lib.esm/abi/coders/array.js +0 -159
  655. package/lib.esm/abi/coders/array.js.map +0 -1
  656. package/lib.esm/abi/coders/boolean.d.ts +0 -13
  657. package/lib.esm/abi/coders/boolean.d.ts.map +0 -1
  658. package/lib.esm/abi/coders/boolean.js +0 -21
  659. package/lib.esm/abi/coders/boolean.js.map +0 -1
  660. package/lib.esm/abi/coders/bytes.d.ts +0 -19
  661. package/lib.esm/abi/coders/bytes.d.ts.map +0 -1
  662. package/lib.esm/abi/coders/bytes.js +0 -34
  663. package/lib.esm/abi/coders/bytes.js.map +0 -1
  664. package/lib.esm/abi/coders/fixed-bytes.d.ts +0 -15
  665. package/lib.esm/abi/coders/fixed-bytes.d.ts.map +0 -1
  666. package/lib.esm/abi/coders/fixed-bytes.js +0 -28
  667. package/lib.esm/abi/coders/fixed-bytes.js.map +0 -1
  668. package/lib.esm/abi/coders/null.d.ts +0 -12
  669. package/lib.esm/abi/coders/null.d.ts.map +0 -1
  670. package/lib.esm/abi/coders/null.js +0 -24
  671. package/lib.esm/abi/coders/null.js.map +0 -1
  672. package/lib.esm/abi/coders/number.d.ts +0 -16
  673. package/lib.esm/abi/coders/number.d.ts.map +0 -1
  674. package/lib.esm/abi/coders/number.js +0 -45
  675. package/lib.esm/abi/coders/number.js.map +0 -1
  676. package/lib.esm/abi/coders/string.d.ts +0 -13
  677. package/lib.esm/abi/coders/string.d.ts.map +0 -1
  678. package/lib.esm/abi/coders/string.js +0 -21
  679. package/lib.esm/abi/coders/string.js.map +0 -1
  680. package/lib.esm/abi/coders/tuple.d.ts +0 -16
  681. package/lib.esm/abi/coders/tuple.d.ts.map +0 -1
  682. package/lib.esm/abi/coders/tuple.js +0 -63
  683. package/lib.esm/abi/coders/tuple.js.map +0 -1
  684. package/lib.esm/abi/fragments.d.ts +0 -466
  685. package/lib.esm/abi/fragments.d.ts.map +0 -1
  686. package/lib.esm/abi/fragments.js +0 -1319
  687. package/lib.esm/abi/fragments.js.map +0 -1
  688. package/lib.esm/abi/index.d.ts +0 -18
  689. package/lib.esm/abi/index.d.ts.map +0 -1
  690. package/lib.esm/abi/index.js +0 -17
  691. package/lib.esm/abi/index.js.map +0 -1
  692. package/lib.esm/abi/interface.d.ts +0 -382
  693. package/lib.esm/abi/interface.d.ts.map +0 -1
  694. package/lib.esm/abi/interface.js +0 -1101
  695. package/lib.esm/abi/interface.js.map +0 -1
  696. package/lib.esm/abi/typed.d.ts +0 -570
  697. package/lib.esm/abi/typed.d.ts.map +0 -1
  698. package/lib.esm/abi/typed.js +0 -602
  699. package/lib.esm/abi/typed.js.map +0 -1
  700. package/lib.esm/address/address.d.ts +0 -36
  701. package/lib.esm/address/address.d.ts.map +0 -1
  702. package/lib.esm/address/address.js +0 -129
  703. package/lib.esm/address/address.js.map +0 -1
  704. package/lib.esm/address/checks.d.ts +0 -81
  705. package/lib.esm/address/checks.d.ts.map +0 -1
  706. package/lib.esm/address/checks.js +0 -114
  707. package/lib.esm/address/checks.js.map +0 -1
  708. package/lib.esm/address/contract-address.d.ts +0 -48
  709. package/lib.esm/address/contract-address.d.ts.map +0 -1
  710. package/lib.esm/address/contract-address.js +0 -69
  711. package/lib.esm/address/contract-address.js.map +0 -1
  712. package/lib.esm/address/index.d.ts +0 -49
  713. package/lib.esm/address/index.d.ts.map +0 -1
  714. package/lib.esm/address/index.js +0 -19
  715. package/lib.esm/address/index.js.map +0 -1
  716. package/lib.esm/constants/addresses.d.ts +0 -7
  717. package/lib.esm/constants/addresses.d.ts.map +0 -1
  718. package/lib.esm/constants/addresses.js +0 -7
  719. package/lib.esm/constants/addresses.js.map +0 -1
  720. package/lib.esm/constants/hashes.d.ts +0 -7
  721. package/lib.esm/constants/hashes.d.ts.map +0 -1
  722. package/lib.esm/constants/hashes.js +0 -7
  723. package/lib.esm/constants/hashes.js.map +0 -1
  724. package/lib.esm/constants/index.d.ts +0 -10
  725. package/lib.esm/constants/index.d.ts.map +0 -1
  726. package/lib.esm/constants/index.js +0 -10
  727. package/lib.esm/constants/index.js.map +0 -1
  728. package/lib.esm/constants/numbers.d.ts +0 -31
  729. package/lib.esm/constants/numbers.d.ts.map +0 -1
  730. package/lib.esm/constants/numbers.js +0 -31
  731. package/lib.esm/constants/numbers.js.map +0 -1
  732. package/lib.esm/constants/strings.d.ts +0 -13
  733. package/lib.esm/constants/strings.d.ts.map +0 -1
  734. package/lib.esm/constants/strings.js +0 -14
  735. package/lib.esm/constants/strings.js.map +0 -1
  736. package/lib.esm/contract/contract.d.ts +0 -168
  737. package/lib.esm/contract/contract.d.ts.map +0 -1
  738. package/lib.esm/contract/contract.js +0 -953
  739. package/lib.esm/contract/contract.js.map +0 -1
  740. package/lib.esm/contract/factory.d.ts +0 -62
  741. package/lib.esm/contract/factory.d.ts.map +0 -1
  742. package/lib.esm/contract/factory.js +0 -112
  743. package/lib.esm/contract/factory.js.map +0 -1
  744. package/lib.esm/contract/index.d.ts +0 -13
  745. package/lib.esm/contract/index.d.ts.map +0 -1
  746. package/lib.esm/contract/index.js +0 -12
  747. package/lib.esm/contract/index.js.map +0 -1
  748. package/lib.esm/contract/types.d.ts +0 -193
  749. package/lib.esm/contract/types.d.ts.map +0 -1
  750. package/lib.esm/contract/types.js +0 -5
  751. package/lib.esm/contract/types.js.map +0 -1
  752. package/lib.esm/contract/wrappers.d.ts +0 -143
  753. package/lib.esm/contract/wrappers.d.ts.map +0 -1
  754. package/lib.esm/contract/wrappers.js +0 -177
  755. package/lib.esm/contract/wrappers.js.map +0 -1
  756. package/lib.esm/crypto/crypto-browser.d.ts +0 -15
  757. package/lib.esm/crypto/crypto-browser.d.ts.map +0 -1
  758. package/lib.esm/crypto/crypto-browser.js +0 -48
  759. package/lib.esm/crypto/crypto-browser.js.map +0 -1
  760. package/lib.esm/crypto/crypto.d.ts +0 -2
  761. package/lib.esm/crypto/crypto.d.ts.map +0 -1
  762. package/lib.esm/crypto/crypto.js +0 -2
  763. package/lib.esm/crypto/crypto.js.map +0 -1
  764. package/lib.esm/crypto/hmac.d.ts +0 -25
  765. package/lib.esm/crypto/hmac.d.ts.map +0 -1
  766. package/lib.esm/crypto/hmac.js +0 -47
  767. package/lib.esm/crypto/hmac.js.map +0 -1
  768. package/lib.esm/crypto/index.d.ts +0 -25
  769. package/lib.esm/crypto/index.d.ts.map +0 -1
  770. package/lib.esm/crypto/index.js +0 -36
  771. package/lib.esm/crypto/index.js.map +0 -1
  772. package/lib.esm/crypto/keccak.d.ts +0 -35
  773. package/lib.esm/crypto/keccak.d.ts.map +0 -1
  774. package/lib.esm/crypto/keccak.js +0 -48
  775. package/lib.esm/crypto/keccak.js.map +0 -1
  776. package/lib.esm/crypto/pbkdf2.d.ts +0 -35
  777. package/lib.esm/crypto/pbkdf2.d.ts.map +0 -1
  778. package/lib.esm/crypto/pbkdf2.js +0 -49
  779. package/lib.esm/crypto/pbkdf2.js.map +0 -1
  780. package/lib.esm/crypto/random.d.ts +0 -14
  781. package/lib.esm/crypto/random.d.ts.map +0 -1
  782. package/lib.esm/crypto/random.js +0 -34
  783. package/lib.esm/crypto/random.js.map +0 -1
  784. package/lib.esm/crypto/ripemd160.d.ts +0 -25
  785. package/lib.esm/crypto/ripemd160.d.ts.map +0 -1
  786. package/lib.esm/crypto/ripemd160.js +0 -38
  787. package/lib.esm/crypto/ripemd160.js.map +0 -1
  788. package/lib.esm/crypto/scrypt.d.ts +0 -82
  789. package/lib.esm/crypto/scrypt.d.ts.map +0 -1
  790. package/lib.esm/crypto/scrypt.js +0 -99
  791. package/lib.esm/crypto/scrypt.js.map +0 -1
  792. package/lib.esm/crypto/sha2.d.ts +0 -47
  793. package/lib.esm/crypto/sha2.d.ts.map +0 -1
  794. package/lib.esm/crypto/sha2.js +0 -71
  795. package/lib.esm/crypto/sha2.js.map +0 -1
  796. package/lib.esm/crypto/signature.d.ts +0 -72
  797. package/lib.esm/crypto/signature.d.ts.map +0 -1
  798. package/lib.esm/crypto/signature.js +0 -114
  799. package/lib.esm/crypto/signature.js.map +0 -1
  800. package/lib.esm/crypto/signing-key.d.ts +0 -63
  801. package/lib.esm/crypto/signing-key.d.ts.map +0 -1
  802. package/lib.esm/crypto/signing-key.js +0 -101
  803. package/lib.esm/crypto/signing-key.js.map +0 -1
  804. package/lib.esm/hash/authorization.d.ts +0 -18
  805. package/lib.esm/hash/authorization.d.ts.map +0 -1
  806. package/lib.esm/hash/authorization.js +0 -25
  807. package/lib.esm/hash/authorization.js.map +0 -1
  808. package/lib.esm/hash/id.d.ts +0 -13
  809. package/lib.esm/hash/id.d.ts.map +0 -1
  810. package/lib.esm/hash/id.js +0 -17
  811. package/lib.esm/hash/id.js.map +0 -1
  812. package/lib.esm/hash/index.d.ts +0 -15
  813. package/lib.esm/hash/index.d.ts.map +0 -1
  814. package/lib.esm/hash/index.js +0 -13
  815. package/lib.esm/hash/index.js.map +0 -1
  816. package/lib.esm/hash/message.d.ts +0 -36
  817. package/lib.esm/hash/message.d.ts.map +0 -1
  818. package/lib.esm/hash/message.js +0 -51
  819. package/lib.esm/hash/message.js.map +0 -1
  820. package/lib.esm/hash/namehash.d.ts +0 -20
  821. package/lib.esm/hash/namehash.d.ts.map +0 -1
  822. package/lib.esm/hash/namehash.js +0 -84
  823. package/lib.esm/hash/namehash.js.map +0 -1
  824. package/lib.esm/hash/solidity.d.ts +0 -31
  825. package/lib.esm/hash/solidity.d.ts.map +0 -1
  826. package/lib.esm/hash/solidity.js +0 -103
  827. package/lib.esm/hash/solidity.js.map +0 -1
  828. package/lib.esm/hash/typed-data.d.ts +0 -150
  829. package/lib.esm/hash/typed-data.d.ts.map +0 -1
  830. package/lib.esm/hash/typed-data.js +0 -519
  831. package/lib.esm/hash/typed-data.js.map +0 -1
  832. package/lib.esm/index.d.ts +0 -11
  833. package/lib.esm/index.d.ts.map +0 -1
  834. package/lib.esm/index.js +0 -11
  835. package/lib.esm/index.js.map +0 -1
  836. package/lib.esm/package.json +0 -12
  837. package/lib.esm/providers/abstract-provider.d.ts +0 -451
  838. package/lib.esm/providers/abstract-provider.d.ts.map +0 -1
  839. package/lib.esm/providers/abstract-provider.js +0 -1404
  840. package/lib.esm/providers/abstract-provider.js.map +0 -1
  841. package/lib.esm/providers/abstract-signer.d.ts +0 -69
  842. package/lib.esm/providers/abstract-signer.d.ts.map +0 -1
  843. package/lib.esm/providers/abstract-signer.js +0 -244
  844. package/lib.esm/providers/abstract-signer.js.map +0 -1
  845. package/lib.esm/providers/community.d.ts +0 -29
  846. package/lib.esm/providers/community.d.ts.map +0 -1
  847. package/lib.esm/providers/community.js +0 -36
  848. package/lib.esm/providers/community.js.map +0 -1
  849. package/lib.esm/providers/contracts.d.ts +0 -36
  850. package/lib.esm/providers/contracts.d.ts.map +0 -1
  851. package/lib.esm/providers/contracts.js +0 -2
  852. package/lib.esm/providers/contracts.js.map +0 -1
  853. package/lib.esm/providers/default-provider.d.ts +0 -41
  854. package/lib.esm/providers/default-provider.d.ts.map +0 -1
  855. package/lib.esm/providers/default-provider.js +0 -88
  856. package/lib.esm/providers/default-provider.js.map +0 -1
  857. package/lib.esm/providers/ens-resolver.d.ts +0 -147
  858. package/lib.esm/providers/ens-resolver.d.ts.map +0 -1
  859. package/lib.esm/providers/ens-resolver.js +0 -496
  860. package/lib.esm/providers/ens-resolver.js.map +0 -1
  861. package/lib.esm/providers/format.d.ts +0 -15
  862. package/lib.esm/providers/format.d.ts.map +0 -1
  863. package/lib.esm/providers/format.js +0 -283
  864. package/lib.esm/providers/format.js.map +0 -1
  865. package/lib.esm/providers/formatting.d.ts +0 -318
  866. package/lib.esm/providers/formatting.d.ts.map +0 -1
  867. package/lib.esm/providers/formatting.js +0 -9
  868. package/lib.esm/providers/formatting.js.map +0 -1
  869. package/lib.esm/providers/index.d.ts +0 -41
  870. package/lib.esm/providers/index.d.ts.map +0 -1
  871. package/lib.esm/providers/index.js +0 -31
  872. package/lib.esm/providers/index.js.map +0 -1
  873. package/lib.esm/providers/network.d.ts +0 -99
  874. package/lib.esm/providers/network.d.ts.map +0 -1
  875. package/lib.esm/providers/network.js +0 -265
  876. package/lib.esm/providers/network.js.map +0 -1
  877. package/lib.esm/providers/pagination.d.ts +0 -6
  878. package/lib.esm/providers/pagination.d.ts.map +0 -1
  879. package/lib.esm/providers/pagination.js +0 -2
  880. package/lib.esm/providers/pagination.js.map +0 -1
  881. package/lib.esm/providers/plugin-fallback.d.ts +0 -13
  882. package/lib.esm/providers/plugin-fallback.d.ts.map +0 -1
  883. package/lib.esm/providers/plugin-fallback.js +0 -26
  884. package/lib.esm/providers/plugin-fallback.js.map +0 -1
  885. package/lib.esm/providers/plugins-network.d.ts +0 -170
  886. package/lib.esm/providers/plugins-network.d.ts.map +0 -1
  887. package/lib.esm/providers/plugins-network.js +0 -208
  888. package/lib.esm/providers/plugins-network.js.map +0 -1
  889. package/lib.esm/providers/provider-browser.d.ts +0 -108
  890. package/lib.esm/providers/provider-browser.d.ts.map +0 -1
  891. package/lib.esm/providers/provider-browser.js +0 -200
  892. package/lib.esm/providers/provider-browser.js.map +0 -1
  893. package/lib.esm/providers/provider-fallback.d.ts +0 -115
  894. package/lib.esm/providers/provider-fallback.d.ts.map +0 -1
  895. package/lib.esm/providers/provider-fallback.js +0 -620
  896. package/lib.esm/providers/provider-fallback.js.map +0 -1
  897. package/lib.esm/providers/provider-ipcsocket-browser.d.ts +0 -3
  898. package/lib.esm/providers/provider-ipcsocket-browser.d.ts.map +0 -1
  899. package/lib.esm/providers/provider-ipcsocket-browser.js +0 -3
  900. package/lib.esm/providers/provider-ipcsocket-browser.js.map +0 -1
  901. package/lib.esm/providers/provider-ipcsocket.d.ts +0 -21
  902. package/lib.esm/providers/provider-ipcsocket.d.ts.map +0 -1
  903. package/lib.esm/providers/provider-ipcsocket.js +0 -68
  904. package/lib.esm/providers/provider-ipcsocket.js.map +0 -1
  905. package/lib.esm/providers/provider-jsonrpc.d.ts +0 -360
  906. package/lib.esm/providers/provider-jsonrpc.d.ts.map +0 -1
  907. package/lib.esm/providers/provider-jsonrpc.js +0 -972
  908. package/lib.esm/providers/provider-jsonrpc.js.map +0 -1
  909. package/lib.esm/providers/provider-socket.d.ts +0 -113
  910. package/lib.esm/providers/provider-socket.d.ts.map +0 -1
  911. package/lib.esm/providers/provider-socket.js +0 -301
  912. package/lib.esm/providers/provider-socket.js.map +0 -1
  913. package/lib.esm/providers/provider-websocket.d.ts +0 -37
  914. package/lib.esm/providers/provider-websocket.d.ts.map +0 -1
  915. package/lib.esm/providers/provider-websocket.js +0 -76
  916. package/lib.esm/providers/provider-websocket.js.map +0 -1
  917. package/lib.esm/providers/provider.d.ts +0 -1223
  918. package/lib.esm/providers/provider.d.ts.map +0 -1
  919. package/lib.esm/providers/provider.js +0 -1312
  920. package/lib.esm/providers/provider.js.map +0 -1
  921. package/lib.esm/providers/signer-noncemanager.d.ts +0 -38
  922. package/lib.esm/providers/signer-noncemanager.d.ts.map +0 -1
  923. package/lib.esm/providers/signer-noncemanager.js +0 -74
  924. package/lib.esm/providers/signer-noncemanager.js.map +0 -1
  925. package/lib.esm/providers/signer.d.ts +0 -131
  926. package/lib.esm/providers/signer.d.ts.map +0 -1
  927. package/lib.esm/providers/signer.js +0 -2
  928. package/lib.esm/providers/signer.js.map +0 -1
  929. package/lib.esm/providers/subscriber-connection.d.ts +0 -25
  930. package/lib.esm/providers/subscriber-connection.d.ts.map +0 -1
  931. package/lib.esm/providers/subscriber-connection.js +0 -52
  932. package/lib.esm/providers/subscriber-connection.js.map +0 -1
  933. package/lib.esm/providers/subscriber-filterid.d.ts +0 -64
  934. package/lib.esm/providers/subscriber-filterid.d.ts.map +0 -1
  935. package/lib.esm/providers/subscriber-filterid.js +0 -174
  936. package/lib.esm/providers/subscriber-filterid.js.map +0 -1
  937. package/lib.esm/providers/subscriber-polling.d.ts +0 -100
  938. package/lib.esm/providers/subscriber-polling.d.ts.map +0 -1
  939. package/lib.esm/providers/subscriber-polling.js +0 -293
  940. package/lib.esm/providers/subscriber-polling.js.map +0 -1
  941. package/lib.esm/providers/ws-browser.d.ts +0 -3
  942. package/lib.esm/providers/ws-browser.d.ts.map +0 -1
  943. package/lib.esm/providers/ws-browser.js +0 -16
  944. package/lib.esm/providers/ws-browser.js.map +0 -1
  945. package/lib.esm/providers/ws.d.ts +0 -2
  946. package/lib.esm/providers/ws.d.ts.map +0 -1
  947. package/lib.esm/providers/ws.js +0 -2
  948. package/lib.esm/providers/ws.js.map +0 -1
  949. package/lib.esm/quantumcoin.d.ts +0 -24
  950. package/lib.esm/quantumcoin.d.ts.map +0 -1
  951. package/lib.esm/quantumcoin.js +0 -22
  952. package/lib.esm/quantumcoin.js.map +0 -1
  953. package/lib.esm/transaction/accesslist.d.ts +0 -6
  954. package/lib.esm/transaction/accesslist.d.ts.map +0 -1
  955. package/lib.esm/transaction/accesslist.js +0 -37
  956. package/lib.esm/transaction/accesslist.js.map +0 -1
  957. package/lib.esm/transaction/address.d.ts +0 -15
  958. package/lib.esm/transaction/address.d.ts.map +0 -1
  959. package/lib.esm/transaction/address.js +0 -34
  960. package/lib.esm/transaction/address.js.map +0 -1
  961. package/lib.esm/transaction/authorization.d.ts +0 -3
  962. package/lib.esm/transaction/authorization.d.ts.map +0 -1
  963. package/lib.esm/transaction/authorization.js +0 -12
  964. package/lib.esm/transaction/authorization.js.map +0 -1
  965. package/lib.esm/transaction/index.d.ts +0 -40
  966. package/lib.esm/transaction/index.d.ts.map +0 -1
  967. package/lib.esm/transaction/index.js +0 -11
  968. package/lib.esm/transaction/index.js.map +0 -1
  969. package/lib.esm/transaction/transaction.d.ts +0 -400
  970. package/lib.esm/transaction/transaction.d.ts.map +0 -1
  971. package/lib.esm/transaction/transaction.js +0 -1111
  972. package/lib.esm/transaction/transaction.js.map +0 -1
  973. package/lib.esm/utils/base58.d.ts +0 -23
  974. package/lib.esm/utils/base58.d.ts.map +0 -1
  975. package/lib.esm/utils/base58.js +0 -63
  976. package/lib.esm/utils/base58.js.map +0 -1
  977. package/lib.esm/utils/base64-browser.d.ts +0 -4
  978. package/lib.esm/utils/base64-browser.d.ts.map +0 -1
  979. package/lib.esm/utils/base64-browser.js +0 -19
  980. package/lib.esm/utils/base64-browser.js.map +0 -1
  981. package/lib.esm/utils/base64.d.ts +0 -40
  982. package/lib.esm/utils/base64.d.ts.map +0 -1
  983. package/lib.esm/utils/base64.js +0 -53
  984. package/lib.esm/utils/base64.js.map +0 -1
  985. package/lib.esm/utils/data.d.ts +0 -93
  986. package/lib.esm/utils/data.d.ts.map +0 -1
  987. package/lib.esm/utils/data.js +0 -170
  988. package/lib.esm/utils/data.js.map +0 -1
  989. package/lib.esm/utils/errors.d.ts +0 -512
  990. package/lib.esm/utils/errors.d.ts.map +0 -1
  991. package/lib.esm/utils/errors.js +0 -224
  992. package/lib.esm/utils/errors.js.map +0 -1
  993. package/lib.esm/utils/events.d.ts +0 -77
  994. package/lib.esm/utils/events.d.ts.map +0 -1
  995. package/lib.esm/utils/events.js +0 -42
  996. package/lib.esm/utils/events.js.map +0 -1
  997. package/lib.esm/utils/fetch.d.ts +0 -363
  998. package/lib.esm/utils/fetch.d.ts.map +0 -1
  999. package/lib.esm/utils/fetch.js +0 -852
  1000. package/lib.esm/utils/fetch.js.map +0 -1
  1001. package/lib.esm/utils/fixednumber.d.ts +0 -252
  1002. package/lib.esm/utils/fixednumber.d.ts.map +0 -1
  1003. package/lib.esm/utils/fixednumber.js +0 -526
  1004. package/lib.esm/utils/fixednumber.js.map +0 -1
  1005. package/lib.esm/utils/geturl-browser.d.ts +0 -4
  1006. package/lib.esm/utils/geturl-browser.d.ts.map +0 -1
  1007. package/lib.esm/utils/geturl-browser.js +0 -62
  1008. package/lib.esm/utils/geturl-browser.js.map +0 -1
  1009. package/lib.esm/utils/geturl.d.ts +0 -10
  1010. package/lib.esm/utils/geturl.d.ts.map +0 -1
  1011. package/lib.esm/utils/geturl.js +0 -114
  1012. package/lib.esm/utils/geturl.js.map +0 -1
  1013. package/lib.esm/utils/index.d.ts +0 -30
  1014. package/lib.esm/utils/index.d.ts.map +0 -1
  1015. package/lib.esm/utils/index.js +0 -22
  1016. package/lib.esm/utils/index.js.map +0 -1
  1017. package/lib.esm/utils/maths.d.ts +0 -66
  1018. package/lib.esm/utils/maths.d.ts.map +0 -1
  1019. package/lib.esm/utils/maths.js +0 -215
  1020. package/lib.esm/utils/maths.js.map +0 -1
  1021. package/lib.esm/utils/properties.d.ts +0 -23
  1022. package/lib.esm/utils/properties.d.ts.map +0 -1
  1023. package/lib.esm/utils/properties.js +0 -54
  1024. package/lib.esm/utils/properties.js.map +0 -1
  1025. package/lib.esm/utils/rlp-decode.d.ts +0 -6
  1026. package/lib.esm/utils/rlp-decode.d.ts.map +0 -1
  1027. package/lib.esm/utils/rlp-decode.js +0 -79
  1028. package/lib.esm/utils/rlp-decode.js.map +0 -1
  1029. package/lib.esm/utils/rlp-encode.d.ts +0 -6
  1030. package/lib.esm/utils/rlp-encode.d.ts.map +0 -1
  1031. package/lib.esm/utils/rlp-encode.js +0 -49
  1032. package/lib.esm/utils/rlp-encode.js.map +0 -1
  1033. package/lib.esm/utils/rlp.d.ts +0 -17
  1034. package/lib.esm/utils/rlp.d.ts.map +0 -1
  1035. package/lib.esm/utils/rlp.js +0 -9
  1036. package/lib.esm/utils/rlp.js.map +0 -1
  1037. package/lib.esm/utils/units.d.ts +0 -24
  1038. package/lib.esm/utils/units.d.ts.map +0 -1
  1039. package/lib.esm/utils/units.js +0 -83
  1040. package/lib.esm/utils/units.js.map +0 -1
  1041. package/lib.esm/utils/utf8.d.ts +0 -96
  1042. package/lib.esm/utils/utf8.d.ts.map +0 -1
  1043. package/lib.esm/utils/utf8.js +0 -221
  1044. package/lib.esm/utils/utf8.js.map +0 -1
  1045. package/lib.esm/utils/uuid.d.ts +0 -8
  1046. package/lib.esm/utils/uuid.d.ts.map +0 -1
  1047. package/lib.esm/utils/uuid.js +0 -30
  1048. package/lib.esm/utils/uuid.js.map +0 -1
  1049. package/lib.esm/wallet/base-wallet.d.ts +0 -57
  1050. package/lib.esm/wallet/base-wallet.d.ts.map +0 -1
  1051. package/lib.esm/wallet/base-wallet.js +0 -123
  1052. package/lib.esm/wallet/base-wallet.js.map +0 -1
  1053. package/lib.esm/wallet/index.d.ts +0 -23
  1054. package/lib.esm/wallet/index.d.ts.map +0 -1
  1055. package/lib.esm/wallet/index.js +0 -22
  1056. package/lib.esm/wallet/index.js.map +0 -1
  1057. package/lib.esm/wallet/json-keystore.d.ts +0 -40
  1058. package/lib.esm/wallet/json-keystore.d.ts.map +0 -1
  1059. package/lib.esm/wallet/json-keystore.js +0 -84
  1060. package/lib.esm/wallet/json-keystore.js.map +0 -1
  1061. package/lib.esm/wallet/utils.d.ts +0 -8
  1062. package/lib.esm/wallet/utils.d.ts.map +0 -1
  1063. package/lib.esm/wallet/utils.js +0 -142
  1064. package/lib.esm/wallet/utils.js.map +0 -1
  1065. package/lib.esm/wallet/wallet.d.ts +0 -62
  1066. package/lib.esm/wallet/wallet.d.ts.map +0 -1
  1067. package/lib.esm/wallet/wallet.js +0 -105
  1068. package/lib.esm/wallet/wallet.js.map +0 -1
  1069. package/lib.esm/wordlists/bit-reader.d.ts +0 -5
  1070. package/lib.esm/wordlists/bit-reader.d.ts.map +0 -1
  1071. package/lib.esm/wordlists/bit-reader.js +0 -32
  1072. package/lib.esm/wordlists/bit-reader.js.map +0 -1
  1073. package/lib.esm/wordlists/decode-owl.d.ts +0 -9
  1074. package/lib.esm/wordlists/decode-owl.d.ts.map +0 -1
  1075. package/lib.esm/wordlists/decode-owl.js +0 -55
  1076. package/lib.esm/wordlists/decode-owl.js.map +0 -1
  1077. package/lib.esm/wordlists/decode-owla.d.ts +0 -5
  1078. package/lib.esm/wordlists/decode-owla.d.ts.map +0 -1
  1079. package/lib.esm/wordlists/decode-owla.js +0 -28
  1080. package/lib.esm/wordlists/decode-owla.js.map +0 -1
  1081. package/lib.esm/wordlists/generation/encode-latin.d.ts +0 -25
  1082. package/lib.esm/wordlists/generation/encode-latin.d.ts.map +0 -1
  1083. package/lib.esm/wordlists/generation/encode-latin.js +0 -344
  1084. package/lib.esm/wordlists/generation/encode-latin.js.map +0 -1
  1085. package/lib.esm/wordlists/index.d.ts +0 -25
  1086. package/lib.esm/wordlists/index.d.ts.map +0 -1
  1087. package/lib.esm/wordlists/index.js +0 -25
  1088. package/lib.esm/wordlists/index.js.map +0 -1
  1089. package/lib.esm/wordlists/lang-cz.d.ts +0 -23
  1090. package/lib.esm/wordlists/lang-cz.d.ts.map +0 -1
  1091. package/lib.esm/wordlists/lang-cz.js +0 -31
  1092. package/lib.esm/wordlists/lang-cz.js.map +0 -1
  1093. package/lib.esm/wordlists/lang-en.d.ts +0 -23
  1094. package/lib.esm/wordlists/lang-en.d.ts.map +0 -1
  1095. package/lib.esm/wordlists/lang-en.js +0 -31
  1096. package/lib.esm/wordlists/lang-en.js.map +0 -1
  1097. package/lib.esm/wordlists/lang-es.d.ts +0 -23
  1098. package/lib.esm/wordlists/lang-es.d.ts.map +0 -1
  1099. package/lib.esm/wordlists/lang-es.js +0 -32
  1100. package/lib.esm/wordlists/lang-es.js.map +0 -1
  1101. package/lib.esm/wordlists/lang-fr.d.ts +0 -23
  1102. package/lib.esm/wordlists/lang-fr.d.ts.map +0 -1
  1103. package/lib.esm/wordlists/lang-fr.js +0 -32
  1104. package/lib.esm/wordlists/lang-fr.js.map +0 -1
  1105. package/lib.esm/wordlists/lang-it.d.ts +0 -23
  1106. package/lib.esm/wordlists/lang-it.d.ts.map +0 -1
  1107. package/lib.esm/wordlists/lang-it.js +0 -31
  1108. package/lib.esm/wordlists/lang-it.js.map +0 -1
  1109. package/lib.esm/wordlists/lang-ja.d.ts +0 -27
  1110. package/lib.esm/wordlists/lang-ja.d.ts.map +0 -1
  1111. package/lib.esm/wordlists/lang-ja.js +0 -154
  1112. package/lib.esm/wordlists/lang-ja.js.map +0 -1
  1113. package/lib.esm/wordlists/lang-ko.d.ts +0 -25
  1114. package/lib.esm/wordlists/lang-ko.d.ts.map +0 -1
  1115. package/lib.esm/wordlists/lang-ko.js +0 -89
  1116. package/lib.esm/wordlists/lang-ko.js.map +0 -1
  1117. package/lib.esm/wordlists/lang-pt.d.ts +0 -23
  1118. package/lib.esm/wordlists/lang-pt.d.ts.map +0 -1
  1119. package/lib.esm/wordlists/lang-pt.js +0 -31
  1120. package/lib.esm/wordlists/lang-pt.js.map +0 -1
  1121. package/lib.esm/wordlists/lang-zh.d.ts +0 -32
  1122. package/lib.esm/wordlists/lang-zh.d.ts.map +0 -1
  1123. package/lib.esm/wordlists/lang-zh.js +0 -92
  1124. package/lib.esm/wordlists/lang-zh.js.map +0 -1
  1125. package/lib.esm/wordlists/wordlist-owl.d.ts +0 -32
  1126. package/lib.esm/wordlists/wordlist-owl.d.ts.map +0 -1
  1127. package/lib.esm/wordlists/wordlist-owl.js +0 -66
  1128. package/lib.esm/wordlists/wordlist-owl.js.map +0 -1
  1129. package/lib.esm/wordlists/wordlist-owla.d.ts +0 -30
  1130. package/lib.esm/wordlists/wordlist-owla.d.ts.map +0 -1
  1131. package/lib.esm/wordlists/wordlist-owla.js +0 -36
  1132. package/lib.esm/wordlists/wordlist-owla.js.map +0 -1
  1133. package/lib.esm/wordlists/wordlist.d.ts +0 -47
  1134. package/lib.esm/wordlists/wordlist.d.ts.map +0 -1
  1135. package/lib.esm/wordlists/wordlist.js +0 -42
  1136. package/lib.esm/wordlists/wordlist.js.map +0 -1
  1137. package/lib.esm/wordlists/wordlists-browser.d.ts +0 -3
  1138. package/lib.esm/wordlists/wordlists-browser.d.ts.map +0 -1
  1139. package/lib.esm/wordlists/wordlists-browser.js +0 -5
  1140. package/lib.esm/wordlists/wordlists-browser.js.map +0 -1
  1141. package/lib.esm/wordlists/wordlists-extra.d.ts +0 -9
  1142. package/lib.esm/wordlists/wordlists-extra.d.ts.map +0 -1
  1143. package/lib.esm/wordlists/wordlists-extra.js +0 -9
  1144. package/lib.esm/wordlists/wordlists-extra.js.map +0 -1
  1145. package/lib.esm/wordlists/wordlists.d.ts +0 -16
  1146. package/lib.esm/wordlists/wordlists.d.ts.map +0 -1
  1147. package/lib.esm/wordlists/wordlists.js +0 -35
  1148. package/lib.esm/wordlists/wordlists.js.map +0 -1
  1149. package/rollup.config.mjs +0 -50
  1150. package/src.ts/_version.ts +0 -6
  1151. package/src.ts/abi/abi-coder.ts +0 -237
  1152. package/src.ts/abi/bytes32.ts +0 -45
  1153. package/src.ts/abi/coders/abstract-coder.ts +0 -541
  1154. package/src.ts/abi/coders/address.ts +0 -36
  1155. package/src.ts/abi/coders/anonymous.ts +0 -29
  1156. package/src.ts/abi/coders/array.ts +0 -199
  1157. package/src.ts/abi/coders/boolean.ts +0 -27
  1158. package/src.ts/abi/coders/bytes.ts +0 -43
  1159. package/src.ts/abi/coders/fixed-bytes.ts +0 -37
  1160. package/src.ts/abi/coders/null.ts +0 -28
  1161. package/src.ts/abi/coders/number.ts +0 -63
  1162. package/src.ts/abi/coders/string.ts +0 -29
  1163. package/src.ts/abi/coders/tuple.ts +0 -69
  1164. package/src.ts/abi/fragments.ts +0 -1617
  1165. package/src.ts/abi/index.ts +0 -41
  1166. package/src.ts/abi/interface.ts +0 -1271
  1167. package/src.ts/abi/typed.ts +0 -796
  1168. package/src.ts/address/address.ts +0 -148
  1169. package/src.ts/address/checks.ts +0 -123
  1170. package/src.ts/address/contract-address.ts +0 -80
  1171. package/src.ts/address/index.ts +0 -57
  1172. package/src.ts/constants/addresses.ts +0 -8
  1173. package/src.ts/constants/hashes.ts +0 -7
  1174. package/src.ts/constants/index.ts +0 -16
  1175. package/src.ts/constants/numbers.ts +0 -35
  1176. package/src.ts/constants/strings.ts +0 -16
  1177. package/src.ts/contract/contract.ts +0 -1120
  1178. package/src.ts/contract/factory.ts +0 -143
  1179. package/src.ts/contract/index.ts +0 -31
  1180. package/src.ts/contract/types.ts +0 -236
  1181. package/src.ts/contract/wrappers.ts +0 -225
  1182. package/src.ts/crypto/crypto-browser.ts +0 -64
  1183. package/src.ts/crypto/crypto.ts +0 -4
  1184. package/src.ts/crypto/hmac.ts +0 -51
  1185. package/src.ts/crypto/index.ts +0 -59
  1186. package/src.ts/crypto/keccak.ts +0 -54
  1187. package/src.ts/crypto/pbkdf2.ts +0 -55
  1188. package/src.ts/crypto/random.ts +0 -36
  1189. package/src.ts/crypto/ripemd160.ts +0 -43
  1190. package/src.ts/crypto/scrypt.ts +0 -114
  1191. package/src.ts/crypto/sha2.ts +0 -78
  1192. package/src.ts/crypto/signature.ts +0 -145
  1193. package/src.ts/crypto/signing-key.ts +0 -126
  1194. package/src.ts/hash/authorization.ts +0 -38
  1195. package/src.ts/hash/id.ts +0 -17
  1196. package/src.ts/hash/index.ts +0 -18
  1197. package/src.ts/hash/message.ts +0 -51
  1198. package/src.ts/hash/namehash.ts +0 -101
  1199. package/src.ts/hash/solidity.ts +0 -117
  1200. package/src.ts/hash/typed-data.ts +0 -658
  1201. package/src.ts/index.ts +0 -12
  1202. package/src.ts/providers/abstract-provider.ts +0 -1761
  1203. package/src.ts/providers/abstract-signer.ts +0 -314
  1204. package/src.ts/providers/community.ts +0 -49
  1205. package/src.ts/providers/contracts.ts +0 -42
  1206. package/src.ts/providers/default-provider.ts +0 -96
  1207. package/src.ts/providers/ens-resolver.ts +0 -606
  1208. package/src.ts/providers/format.ts +0 -320
  1209. package/src.ts/providers/formatting.ts +0 -418
  1210. package/src.ts/providers/index.ts +0 -125
  1211. package/src.ts/providers/network.ts +0 -327
  1212. package/src.ts/providers/pagination.ts +0 -8
  1213. package/src.ts/providers/plugin-fallback.ts +0 -35
  1214. package/src.ts/providers/plugins-network.ts +0 -281
  1215. package/src.ts/providers/provider-browser.ts +0 -334
  1216. package/src.ts/providers/provider-fallback.ts +0 -801
  1217. package/src.ts/providers/provider-ipcsocket-browser.ts +0 -3
  1218. package/src.ts/providers/provider-ipcsocket.ts +0 -81
  1219. package/src.ts/providers/provider-jsonrpc.ts +0 -1334
  1220. package/src.ts/providers/provider-socket.ts +0 -352
  1221. package/src.ts/providers/provider-websocket.ts +0 -103
  1222. package/src.ts/providers/provider.ts +0 -2136
  1223. package/src.ts/providers/signer-noncemanager.ts +0 -98
  1224. package/src.ts/providers/signer.ts +0 -166
  1225. package/src.ts/providers/subscriber-connection.ts +0 -74
  1226. package/src.ts/providers/subscriber-filterid.ts +0 -199
  1227. package/src.ts/providers/subscriber-polling.ts +0 -321
  1228. package/src.ts/providers/ws-browser.ts +0 -11
  1229. package/src.ts/providers/ws.ts +0 -3
  1230. package/src.ts/quantumcoin.ts +0 -219
  1231. package/src.ts/thirdparty.d.ts +0 -16
  1232. package/src.ts/transaction/accesslist.ts +0 -43
  1233. package/src.ts/transaction/address.ts +0 -35
  1234. package/src.ts/transaction/authorization.ts +0 -14
  1235. package/src.ts/transaction/index.ts +0 -51
  1236. package/src.ts/transaction/transaction.ts +0 -1349
  1237. package/src.ts/utils/base58.ts +0 -73
  1238. package/src.ts/utils/base64-browser.ts +0 -25
  1239. package/src.ts/utils/base64.ts +0 -56
  1240. package/src.ts/utils/data.ts +0 -199
  1241. package/src.ts/utils/errors.ts +0 -793
  1242. package/src.ts/utils/events.ts +0 -105
  1243. package/src.ts/utils/fetch.ts +0 -970
  1244. package/src.ts/utils/fixednumber.ts +0 -643
  1245. package/src.ts/utils/geturl-browser.ts +0 -81
  1246. package/src.ts/utils/geturl.ts +0 -134
  1247. package/src.ts/utils/index.ts +0 -95
  1248. package/src.ts/utils/maths.ts +0 -240
  1249. package/src.ts/utils/properties.ts +0 -60
  1250. package/src.ts/utils/rlp-decode.ts +0 -104
  1251. package/src.ts/utils/rlp-encode.ts +0 -64
  1252. package/src.ts/utils/rlp.ts +0 -20
  1253. package/src.ts/utils/test.txt +0 -0
  1254. package/src.ts/utils/units.ts +0 -91
  1255. package/src.ts/utils/utf8.ts +0 -325
  1256. package/src.ts/utils/uuid.ts +0 -36
  1257. package/src.ts/wallet/base-wallet.ts +0 -160
  1258. package/src.ts/wallet/index.ts +0 -32
  1259. package/src.ts/wallet/json-keystore.ts +0 -108
  1260. package/src.ts/wallet/utils.ts +0 -147
  1261. package/src.ts/wallet/wallet.ts +0 -138
  1262. package/src.ts/wordlists/bit-reader.ts +0 -35
  1263. package/src.ts/wordlists/decode-owl.ts +0 -58
  1264. package/src.ts/wordlists/decode-owla.ts +0 -33
  1265. package/src.ts/wordlists/generation/encode-latin.ts +0 -370
  1266. package/src.ts/wordlists/index.ts +0 -26
  1267. package/src.ts/wordlists/lang-cz.ts +0 -33
  1268. package/src.ts/wordlists/lang-en.ts +0 -33
  1269. package/src.ts/wordlists/lang-es.ts +0 -35
  1270. package/src.ts/wordlists/lang-fr.ts +0 -34
  1271. package/src.ts/wordlists/lang-it.ts +0 -33
  1272. package/src.ts/wordlists/lang-ja.ts +0 -181
  1273. package/src.ts/wordlists/lang-ko.ts +0 -104
  1274. package/src.ts/wordlists/lang-pt.ts +0 -34
  1275. package/src.ts/wordlists/lang-zh.ts +0 -112
  1276. package/src.ts/wordlists/wordlist-owl.ts +0 -77
  1277. package/src.ts/wordlists/wordlist-owla.ts +0 -41
  1278. package/src.ts/wordlists/wordlist.ts +0 -59
  1279. package/src.ts/wordlists/wordlists-browser.ts +0 -8
  1280. package/src.ts/wordlists/wordlists-extra.ts +0 -9
  1281. package/src.ts/wordlists/wordlists.ts +0 -38
@@ -0,0 +1,888 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * quantumcoin-sdk-generator
4
+ *
5
+ * NOTE: This script is the SDK generator CLI entrypoint.
6
+ *
7
+ * SPEC.md section 15: Typed Contract Generator
8
+ *
9
+ * Usage:
10
+ * - Non-interactive:
11
+ * `node generate-sdk.js --abi path/to/abi.json --bin path/to/bytecode.bin --out ./out --name MyContract`
12
+ *
13
+ * - Interactive:
14
+ * `node generate-sdk.js --abi path/to/abi.json --bin path/to/bytecode.bin`
15
+ */
16
+
17
+ const fs = require("node:fs");
18
+ const path = require("node:path");
19
+ const readline = require("node:readline/promises");
20
+ const { stdin, stdout } = require("node:process");
21
+ const { execFileSync, spawnSync } = require("node:child_process");
22
+
23
+ const { generate, generateFromArtifacts, generateTransactionalTestJs } = require("./src/generator");
24
+
25
+ function _helpText() {
26
+ return `
27
+ quantumcoin-sdk-generator (generate-sdk.js)
28
+
29
+ Generates TypeScript contract wrappers (plus optional package scaffold, examples and transactional tests).
30
+
31
+ If you run this script with no parameters, it prints this help.
32
+
33
+ USAGE
34
+ node generate-sdk.js [options]
35
+
36
+ INPUT MODES
37
+ 1) ABI + BIN (bytecode)
38
+ --abi <path/to/Contract.abi.json>
39
+ --bin <path/to/Contract.bin>
40
+ --name <ContractName> (optional; defaults from ABI filename)
41
+
42
+ 2) Solidity (.sol) sources
43
+ --sol "<A.sol,B.sol,...>" (comma-separated list; can be 1+ files)
44
+ --name <ContractName> (optional; if omitted, generates ALL deployable contracts found)
45
+ --solc <path/to/solc.exe> (optional; defaults from env; see ENV below)
46
+
47
+ 3) Artifacts JSON (array of ABI+BIN pairs)
48
+ --artifacts-json <path/to/artifacts.json>
49
+ The JSON file should be an array. Each entry supports:
50
+ - { abi: "<path|abiArray>", bin: "<path|0x...>", name?: "<ContractName>" }
51
+ If "name" is omitted and abi is a path, the contract name defaults from the ABI filename.
52
+
53
+ PACKAGE OUTPUT (optional)
54
+ --create-package
55
+ --package-dir <folder>
56
+ --package-name <name>
57
+ --package-description <text>
58
+ --package-author <text>
59
+ --package-license <spdx> (default: MIT)
60
+ --package-version <semver> (default: 0.0.1)
61
+
62
+ Notes:
63
+ - When --create-package is used, the generator creates a complete npm package scaffold with:
64
+ - src/*.ts (typed contracts + factories)
65
+ - test/e2e/*.e2e.test.js (transactional tests)
66
+ - examples/ (deploy/read/write/events)
67
+ - artifacts/ (only when using --sol)
68
+ - index.js + index.d.ts + README.md (generated by build scripts)
69
+ - The generator will run:
70
+ npm install
71
+ npm run build:ts
72
+ npm run build-powershell (Windows) or npm run build (non-Windows)
73
+ as the final step, so README.md and index.d.ts are produced immediately.
74
+
75
+ GENERAL OPTIONS
76
+ --out <folder> Output folder (default: ./generated-contract)
77
+ --non-interactive | --yes Disable prompts (required for CI)
78
+ -h | --help Show this help
79
+
80
+ ENVIRONMENT
81
+ QC_SOLC_PATH / SOLC / SOLC_PATH
82
+ Path to solc executable used when compiling Solidity.
83
+ Default: c:\\solc\\solc.exe
84
+
85
+ QC_RPC_URL / QC_CHAIN_ID
86
+ Used by the auto-generated transactional tests in the generated package.
87
+
88
+ EXAMPLES
89
+ Generate typed files from ABI+BIN into ./out:
90
+ node generate-sdk.js --abi .\\artifacts\\MyContract.abi.json --bin .\\artifacts\\MyContract.bin --out .\\out --name MyContract --non-interactive
91
+
92
+ Generate a new typed package from ABI+BIN:
93
+ node generate-sdk.js --abi .\\My.abi.json --bin .\\My.bin --name MyContract --create-package --package-dir .\\tmp --package-name my-typed-contract --package-description "My typed contract" --package-author "me" --non-interactive
94
+
95
+ Generate a new typed package from Solidity (single file):
96
+ set QC_SOLC_PATH=c:\\solc\\solc.exe
97
+ node generate-sdk.js --sol ".\\contracts\\MyContract.sol" --create-package --package-dir .\\tmp --package-name my-typed-contract --package-description "My typed contract" --package-author "me" --non-interactive
98
+
99
+ Generate a new typed package from Solidity (multiple files):
100
+ node generate-sdk.js --sol ".\\contracts\\A.sol,.\\contracts\\B.sol,.\\contracts\\lib\\C.sol" --create-package --package-dir .\\tmp --package-name my-typed-contract --package-description "My typed contract" --package-author "me" --non-interactive
101
+
102
+ `.trimStart();
103
+ }
104
+
105
+ function _argValue(argv, name) {
106
+ const idx = argv.indexOf(name);
107
+ if (idx === -1) return null;
108
+ return argv[idx + 1] || null;
109
+ }
110
+
111
+ function _hasFlag(argv, name) {
112
+ return argv.includes(name);
113
+ }
114
+
115
+ function _basenameNoExt(p) {
116
+ const b = path.basename(p);
117
+ const i = b.lastIndexOf(".");
118
+ return i === -1 ? b : b.slice(0, i);
119
+ }
120
+
121
+ function _defaultContractNameFromAbiPath(abiPath) {
122
+ const b = path.basename(abiPath);
123
+ if (/\.abi\.json$/i.test(b)) return b.replace(/\.abi\.json$/i, "");
124
+ return _basenameNoExt(abiPath);
125
+ }
126
+
127
+ function _ensureDir(p) {
128
+ fs.mkdirSync(p, { recursive: true });
129
+ }
130
+
131
+ function _readRootDependencies() {
132
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"), "utf8"));
133
+ return pkg.dependencies || {};
134
+ }
135
+
136
+ function _readRootPackageJson() {
137
+ return JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"), "utf8"));
138
+ }
139
+
140
+ function _readJson(filePath) {
141
+ return JSON.parse(fs.readFileSync(filePath, "utf8"));
142
+ }
143
+
144
+ function _looksLikeHex(s) {
145
+ if (typeof s !== "string") return false;
146
+ const t = s.trim();
147
+ if (!t) return false;
148
+ if (t.startsWith("0x")) return /^0x[0-9a-fA-F]*$/.test(t);
149
+ return /^[0-9a-fA-F]*$/.test(t);
150
+ }
151
+
152
+ function _readArtifactsJson(fileAbs) {
153
+ const baseDir = path.dirname(fileAbs);
154
+ const parsed = _readJson(fileAbs);
155
+ if (!Array.isArray(parsed)) throw new Error(`Artifacts JSON must be an array: ${fileAbs}`);
156
+
157
+ /** @type {Array<{ contractName: string, abi: any[], bytecode: string, docs?: any }>} */
158
+ const artifacts = [];
159
+
160
+ for (let i = 0; i < parsed.length; i++) {
161
+ const entry = parsed[i];
162
+ if (!entry || typeof entry !== "object") throw new Error(`Invalid artifacts entry at index ${i} (expected object)`);
163
+
164
+ const abiField = entry.abi ?? entry.abiPath;
165
+ const binField = entry.bin ?? entry.bytecode ?? entry.binPath ?? entry.bytecodePath;
166
+ const nameField = entry.name ?? entry.contractName;
167
+
168
+ let abi;
169
+ let abiPath = null;
170
+ if (typeof abiField === "string") {
171
+ abiPath = path.resolve(baseDir, abiField);
172
+ if (!fs.existsSync(abiPath)) throw new Error(`ABI file not found (entry ${i}): ${abiPath}`);
173
+ abi = _readJson(abiPath);
174
+ } else if (Array.isArray(abiField)) {
175
+ abi = abiField;
176
+ } else {
177
+ throw new Error(`Invalid "abi" for artifacts entry ${i} (expected path or ABI array)`);
178
+ }
179
+ if (!Array.isArray(abi)) throw new Error(`ABI must be an array (entry ${i})`);
180
+
181
+ let bytecodeRaw;
182
+ if (typeof binField === "string") {
183
+ const maybePath = path.resolve(baseDir, binField);
184
+ if (fs.existsSync(maybePath) && fs.statSync(maybePath).isFile()) {
185
+ bytecodeRaw = fs.readFileSync(maybePath, "utf8").trim();
186
+ } else if (_looksLikeHex(binField)) {
187
+ bytecodeRaw = binField.trim();
188
+ } else {
189
+ throw new Error(`BIN/bytecode file not found (entry ${i}): ${maybePath}`);
190
+ }
191
+ } else {
192
+ throw new Error(`Invalid "bin" for artifacts entry ${i} (expected path or hex string)`);
193
+ }
194
+
195
+ const bytecode = bytecodeRaw.startsWith("0x") ? bytecodeRaw : `0x${bytecodeRaw}`;
196
+
197
+ let contractName = null;
198
+ if (typeof nameField === "string" && nameField.trim()) {
199
+ contractName = _cap(nameField.trim());
200
+ } else if (abiPath) {
201
+ contractName = _cap(_defaultContractNameFromAbiPath(abiPath));
202
+ } else {
203
+ throw new Error(`Missing contract name for artifacts entry ${i}. Provide "name" or use abi as a path.`);
204
+ }
205
+
206
+ artifacts.push({ contractName, abi, bytecode, docs: null });
207
+ }
208
+
209
+ // Ensure stable ordering and unique names
210
+ artifacts.sort((a, b) => a.contractName.localeCompare(b.contractName));
211
+ const seen = new Set();
212
+ for (const a of artifacts) {
213
+ if (seen.has(a.contractName)) throw new Error(`Duplicate contractName in artifacts JSON: ${a.contractName}`);
214
+ seen.add(a.contractName);
215
+ }
216
+
217
+ if (artifacts.length === 0) throw new Error("Artifacts JSON contained no entries.");
218
+ return artifacts;
219
+ }
220
+
221
+ function _rewriteFileDepsToAbsolute(deps, rootDir) {
222
+ const out = { ...deps };
223
+ for (const [name, ver] of Object.entries(out)) {
224
+ if (typeof ver === "string" && ver.startsWith("file:")) {
225
+ const rel = ver.slice("file:".length);
226
+ const abs = path.resolve(rootDir, rel);
227
+ out[name] = `file:${abs.replace(/\\\\/g, "/")}`;
228
+ }
229
+ }
230
+ return out;
231
+ }
232
+
233
+ function _writeJson(filePath, obj) {
234
+ fs.writeFileSync(filePath, JSON.stringify(obj, null, 2) + "\n", "utf8");
235
+ }
236
+
237
+ function _writeText(filePath, content) {
238
+ fs.writeFileSync(filePath, content, "utf8");
239
+ }
240
+
241
+ function _findConstructor(abi) {
242
+ const ctor = (abi || []).find((f) => f && f.type === "constructor");
243
+ return ctor || { type: "constructor", inputs: [] };
244
+ }
245
+
246
+ function _solTypeToExampleValueExpr(type) {
247
+ if (typeof type !== "string") return "undefined";
248
+ if (type.endsWith("]")) {
249
+ const inner = type.slice(0, type.lastIndexOf("["));
250
+ return `[${_solTypeToExampleValueExpr(inner)}]`;
251
+ }
252
+ if (type === "address") return "wallet.address";
253
+ if (type === "bool") return "true";
254
+ if (type === "string") return JSON.stringify("hello");
255
+ if (type === "bytes") return JSON.stringify("0x");
256
+ if (type === "bytes32") return `encodeBytes32String("init")`;
257
+ if (type.startsWith("uint") || type.startsWith("int")) return "123n";
258
+ return "undefined";
259
+ }
260
+
261
+ function _parseCommaSeparatedFiles(v) {
262
+ if (!v) return [];
263
+ return v
264
+ .split(",")
265
+ .map((s) => s.trim())
266
+ .filter(Boolean);
267
+ }
268
+
269
+ function _resolveSolcPath(argv) {
270
+ const solcArg = _argValue(argv, "--solc") || _argValue(argv, "--solc-path") || _argValue(argv, "--solcPath");
271
+ const env =
272
+ solcArg ||
273
+ process.env.QC_SOLC_PATH ||
274
+ process.env.SOLC ||
275
+ process.env.SOLC_PATH ||
276
+ process.env.solc ||
277
+ null;
278
+ return env || "c:\\gethbuild\\solc.exe";
279
+ }
280
+
281
+ function _assertSolcExists(solcPath) {
282
+ if (!fs.existsSync(solcPath)) {
283
+ throw new Error(
284
+ `solc not found at ${solcPath}. Set env QC_SOLC_PATH or SOLC (e.g. c:\\\\solc\\\\solc.exe) or pass --solc <path>.`,
285
+ );
286
+ }
287
+ }
288
+
289
+ function _compileSolidityToArtifacts({ solcPath, solFilesAbs, contractNameFilter }) {
290
+ _assertSolcExists(solcPath);
291
+ const out = execFileSync(solcPath, ["--optimize", "--combined-json", "abi,bin", ...solFilesAbs], { encoding: "utf8" });
292
+ const parsed = JSON.parse(out);
293
+
294
+ const artifacts = [];
295
+ for (const key of Object.keys(parsed.contracts || {})) {
296
+ const entry = parsed.contracts[key];
297
+ const name = key.includes(":") ? key.split(":").pop() : key;
298
+ if (!name) continue;
299
+ if (contractNameFilter && name !== contractNameFilter) continue;
300
+ const abi = entry && entry.abi ? JSON.parse(entry.abi) : null;
301
+ const bin = entry && typeof entry.bin === "string" ? entry.bin : "";
302
+ if (!abi || !Array.isArray(abi)) continue;
303
+ if (!bin) continue; // skip abstract/interfaces
304
+ artifacts.push({ contractName: name, abi, bytecode: bin.startsWith("0x") ? bin : `0x${bin}` });
305
+ }
306
+
307
+ if (contractNameFilter && artifacts.length === 0) {
308
+ throw new Error(`No compiled contract matched --name ${contractNameFilter}`);
309
+ }
310
+ if (artifacts.length === 0) {
311
+ throw new Error("No deployable contracts found in solc output (empty bytecode).");
312
+ }
313
+
314
+ // Stable ordering
315
+ artifacts.sort((a, b) => a.contractName.localeCompare(b.contractName));
316
+ return artifacts;
317
+ }
318
+
319
+ function _writeSolcArtifacts(outRoot, artifacts) {
320
+ const artifactsDir = path.join(outRoot, "artifacts");
321
+ _ensureDir(artifactsDir);
322
+ for (const a of artifacts) {
323
+ _writeText(path.join(artifactsDir, `${a.contractName}.abi.json`), JSON.stringify(a.abi, null, 2) + "\n");
324
+ _writeText(path.join(artifactsDir, `${a.contractName}.bin`), a.bytecode + "\n");
325
+ }
326
+ }
327
+
328
+ function _normalizeSolDoc(text) {
329
+ if (!text) return "";
330
+ return text
331
+ .split(/\r?\n/g)
332
+ .map((l) => l.trim())
333
+ .filter(Boolean)
334
+ .map((l) => {
335
+ // Normalize common NatSpec tags into plain text (but keep @param/@return as-is)
336
+ if (l.startsWith("@title ")) return l.slice("@title ".length).trim();
337
+ if (l.startsWith("@notice ")) return l.slice("@notice ".length).trim();
338
+ if (l.startsWith("@dev ")) return l.slice("@dev ".length).trim();
339
+ return l;
340
+ })
341
+ .filter(Boolean)
342
+ .join("\n")
343
+ .trim();
344
+ }
345
+
346
+ function _extractSolDocs(solFilesAbs) {
347
+ /** @type {Record<string, { contract?: string, functions: Record<string,string> }>} */
348
+ const out = {};
349
+
350
+ for (const file of solFilesAbs) {
351
+ const src = fs.readFileSync(file, "utf8");
352
+ const lines = src.split(/\r?\n/g);
353
+
354
+ let pending = [];
355
+ let inBlock = false;
356
+ let currentContract = null;
357
+
358
+ const flushPending = () => {
359
+ const s = _normalizeSolDoc(pending.join("\n"));
360
+ pending = [];
361
+ return s;
362
+ };
363
+
364
+ for (let i = 0; i < lines.length; i++) {
365
+ const raw = lines[i];
366
+ const t = raw.trim();
367
+
368
+ if (inBlock) {
369
+ // Capture block comment content lines, stripping leading '*' and the closing '*/'
370
+ const endIdx = raw.indexOf("*/");
371
+ const content = endIdx !== -1 ? raw.slice(0, endIdx) : raw;
372
+ const cleaned = content.replace(/^\s*\*\s?/, "").trim();
373
+ if (cleaned) pending.push(cleaned);
374
+ if (endIdx !== -1) inBlock = false;
375
+ continue;
376
+ }
377
+
378
+ // Solidity NatSpec / doc comments
379
+ if (t.startsWith("/**")) {
380
+ inBlock = true;
381
+ // Capture anything after '/**' on the same line and handle one-line comments.
382
+ const startIdx = raw.indexOf("/**") + 3;
383
+ const rest = raw.slice(startIdx);
384
+ const endIdx = rest.indexOf("*/");
385
+ const content = endIdx !== -1 ? rest.slice(0, endIdx) : rest;
386
+ const cleaned = content.replace(/^\s*\*\s?/, "").trim();
387
+ if (cleaned) pending.push(cleaned);
388
+ if (endIdx !== -1) inBlock = false;
389
+ continue;
390
+ }
391
+ if (t.startsWith("///")) {
392
+ pending.push(t.slice(3).trim());
393
+ continue;
394
+ }
395
+
396
+ // Skip empty lines without breaking pending docs
397
+ if (!t) continue;
398
+
399
+ // Contract/interface/library declaration
400
+ const cMatch = t.match(/^(contract|interface|library)\s+([A-Za-z_][A-Za-z0-9_]*)\b/);
401
+ if (cMatch) {
402
+ const name = cMatch[2];
403
+ const doc = flushPending();
404
+ currentContract = name;
405
+ if (!out[name]) out[name] = { contract: "", functions: {} };
406
+ if (doc) out[name].contract = doc;
407
+ continue;
408
+ }
409
+
410
+ // Function declaration
411
+ const fMatch = t.match(/^function\s+([A-Za-z_][A-Za-z0-9_]*)\b/);
412
+ if (fMatch && currentContract) {
413
+ const fn = fMatch[1];
414
+ const doc = flushPending();
415
+ if (!out[currentContract]) out[currentContract] = { contract: "", functions: {} };
416
+ if (doc) out[currentContract].functions[fn] = doc;
417
+ continue;
418
+ }
419
+
420
+ // If we hit a real code line that's not a declaration, discard any pending doc
421
+ pending = [];
422
+ }
423
+ }
424
+
425
+ // Normalize all docs
426
+ for (const k of Object.keys(out)) {
427
+ out[k].contract = _normalizeSolDoc(out[k].contract || "");
428
+ for (const fn of Object.keys(out[k].functions || {})) {
429
+ out[k].functions[fn] = _normalizeSolDoc(out[k].functions[fn]);
430
+ }
431
+ }
432
+
433
+ return out;
434
+ }
435
+
436
+ function _renderPackageIndexJs({ artifacts }) {
437
+ const lines = [];
438
+ lines.push("/**");
439
+ lines.push(" * Auto-generated typed contract package.");
440
+ lines.push(" *");
441
+ lines.push(" * This file is used by `jsdoc-to-markdown` (jsdoc2md) to generate README.md.");
442
+ lines.push(" */");
443
+ lines.push("");
444
+ lines.push("const dist = require(\"./dist\");");
445
+ lines.push("Object.assign(exports, dist);");
446
+ lines.push("");
447
+
448
+ for (const a of artifacts) {
449
+ const doc = a.docs && typeof a.docs.contract === "string" ? a.docs.contract : "";
450
+ if (doc && doc.trim()) {
451
+ lines.push("/**");
452
+ for (const l of doc.split(/\r?\n/g)) {
453
+ const t = l.trim();
454
+ if (!t) continue;
455
+ lines.push(` * ${t}`);
456
+ }
457
+ lines.push(" */");
458
+ } else {
459
+ lines.push("/**");
460
+ lines.push(` * ${a.contractName}`);
461
+ lines.push(" */");
462
+ }
463
+ lines.push(`exports.${a.contractName} = dist.${a.contractName};`);
464
+ lines.push(`exports.${a.contractName}__factory = dist.${a.contractName}__factory;`);
465
+ lines.push("");
466
+ }
467
+
468
+ return lines.join("\n") + "\n";
469
+ }
470
+
471
+ function _quoteIfNeeded(s) {
472
+ if (typeof s !== "string") return s;
473
+ return /[ \t"]/g.test(s) ? `"${s.replace(/"/g, '\\"')}"` : s;
474
+ }
475
+
476
+ function _npmCmd() {
477
+ return process.platform === "win32" ? "npm.cmd" : "npm";
478
+ }
479
+
480
+ function _runNpm(args, cwd) {
481
+ if (process.platform === "win32") {
482
+ const cmd = `${_npmCmd()} ${args.map(_quoteIfNeeded).join(" ")}`;
483
+ const res = spawnSync("cmd.exe", ["/d", "/s", "/c", cmd], { cwd, encoding: "utf8", stdio: "inherit" });
484
+ if (res.error) throw res.error;
485
+ if (res.status !== 0) throw new Error(`npm command failed: ${cmd}`);
486
+ return;
487
+ }
488
+
489
+ const res = spawnSync(_npmCmd(), args, { cwd, encoding: "utf8", stdio: "inherit" });
490
+ if (res.error) throw res.error;
491
+ if (res.status !== 0) throw new Error(`npm command failed: ${_npmCmd()} ${args.join(" ")}`);
492
+ }
493
+
494
+ async function main() {
495
+ const argv = process.argv.slice(2);
496
+
497
+ if (argv.length === 0 || _hasFlag(argv, "--help") || _hasFlag(argv, "-h")) {
498
+ process.stdout.write(_helpText());
499
+ process.exitCode = 0;
500
+ return;
501
+ }
502
+
503
+ const abiPathArg = _argValue(argv, "--abi");
504
+ const binPathArg = _argValue(argv, "--bin");
505
+ const solArg = _argValue(argv, "--sol") || _argValue(argv, "--sol-files") || _argValue(argv, "--solFiles");
506
+ const artifactsJsonArg =
507
+ _argValue(argv, "--artifacts-json") || _argValue(argv, "--artifactsJson") || _argValue(argv, "--artifacts");
508
+ const outArg = _argValue(argv, "--out");
509
+ const nameArg = _argValue(argv, "--name");
510
+ const nonInteractive = _hasFlag(argv, "--non-interactive") || _hasFlag(argv, "--yes");
511
+ const createPackageFlag = _hasFlag(argv, "--create-package");
512
+ const pkgDirArg = _argValue(argv, "--package-dir");
513
+ const pkgNameArg = _argValue(argv, "--package-name");
514
+ const pkgDescArg = _argValue(argv, "--package-description") || "";
515
+ const pkgAuthorArg = _argValue(argv, "--package-author") || "";
516
+ const pkgLicenseArg = _argValue(argv, "--package-license") || "MIT";
517
+ const pkgVersionArg = _argValue(argv, "--package-version") || "0.0.1";
518
+
519
+ // Decide input type.
520
+ let inputType = null; // "abibin" | "sol" | "artifactsjson"
521
+ if (solArg) inputType = "sol";
522
+ if (artifactsJsonArg) inputType = inputType || "artifactsjson";
523
+ if (abiPathArg || binPathArg) inputType = inputType || "abibin";
524
+ if ((solArg ? 1 : 0) + (artifactsJsonArg ? 1 : 0) + (abiPathArg || binPathArg ? 1 : 0) > 1) {
525
+ throw new Error("Select only one input mode: --abi/--bin OR --sol OR --artifacts-json.");
526
+ }
527
+
528
+ let createPackage = false;
529
+ let outDir = outArg ? path.resolve(outArg) : null;
530
+ let contractName = nameArg || null;
531
+
532
+ // Interactive prompt: ask input type first.
533
+ let absAbi = null;
534
+ let absBin = null;
535
+ let solFilesAbs = [];
536
+ let artifactsJsonAbs = null;
537
+
538
+ if (!nonInteractive) {
539
+ const rl0 = readline.createInterface({ input: stdin, output: stdout });
540
+ try {
541
+ if (!inputType) {
542
+ const ans = (await rl0.question("Input type? (1) ABI+BIN (2) SOL (3) ARTIFACTS JSON ")).trim();
543
+ inputType = ans === "2" ? "sol" : ans === "3" ? "artifactsjson" : "abibin";
544
+ }
545
+ if (inputType === "abibin") {
546
+ const abiP = abiPathArg || (await rl0.question("Enter ABI path (.json): ")).trim();
547
+ const binP = binPathArg || (await rl0.question("Enter bytecode path (.bin): ")).trim();
548
+ if (!abiP || !binP) throw new Error("Missing ABI/BIN paths.");
549
+ absAbi = path.resolve(abiP);
550
+ absBin = path.resolve(binP);
551
+ if (!fs.existsSync(absAbi)) throw new Error(`ABI file not found: ${absAbi}`);
552
+ if (!fs.existsSync(absBin)) throw new Error(`Bytecode file not found: ${absBin}`);
553
+ contractName = contractName || _cap(_defaultContractNameFromAbiPath(absAbi));
554
+ } else if (inputType === "sol") {
555
+ const solP = solArg || (await rl0.question("Enter Solidity file(s) (comma-separated): ")).trim();
556
+ const files = _parseCommaSeparatedFiles(solP);
557
+ if (files.length === 0) throw new Error("Missing Solidity file(s).");
558
+ solFilesAbs = files.map((p) => path.resolve(p));
559
+ for (const f of solFilesAbs) {
560
+ if (!fs.existsSync(f)) throw new Error(`Solidity file not found: ${f}`);
561
+ }
562
+ if (!contractName) {
563
+ const maybe = (await rl0.question("Contract name (optional; empty = generate all): ")).trim();
564
+ if (maybe) contractName = maybe;
565
+ }
566
+ } else {
567
+ const p = artifactsJsonArg || (await rl0.question("Enter artifacts JSON path (.json): ")).trim();
568
+ if (!p) throw new Error("Missing artifacts JSON path.");
569
+ artifactsJsonAbs = path.resolve(p);
570
+ if (!fs.existsSync(artifactsJsonAbs)) throw new Error(`Artifacts JSON file not found: ${artifactsJsonAbs}`);
571
+ }
572
+ } finally {
573
+ rl0.close();
574
+ }
575
+ }
576
+
577
+ // Non-interactive input validation
578
+ if (nonInteractive) {
579
+ if (!inputType) {
580
+ throw new Error("Select an input type: pass --abi/--bin OR pass --sol <file1.sol,file2.sol> OR pass --artifacts-json <file.json>.");
581
+ }
582
+ if (inputType === "abibin") {
583
+ if (!abiPathArg || !binPathArg) {
584
+ throw new Error("Missing required arguments: --abi <path> --bin <path>");
585
+ }
586
+ absAbi = path.resolve(abiPathArg);
587
+ absBin = path.resolve(binPathArg);
588
+ if (!fs.existsSync(absAbi)) throw new Error(`ABI file not found: ${absAbi}`);
589
+ if (!fs.existsSync(absBin)) throw new Error(`Bytecode file not found: ${absBin}`);
590
+ contractName = contractName || _cap(_defaultContractNameFromAbiPath(absAbi));
591
+ } else if (inputType === "sol") {
592
+ const files = _parseCommaSeparatedFiles(solArg);
593
+ if (files.length === 0) throw new Error("Missing required argument: --sol <file1.sol,file2.sol>");
594
+ solFilesAbs = files.map((p) => path.resolve(p));
595
+ for (const f of solFilesAbs) {
596
+ if (!fs.existsSync(f)) throw new Error(`Solidity file not found: ${f}`);
597
+ }
598
+ // contractName can be null => generate all
599
+ } else {
600
+ if (!artifactsJsonArg) throw new Error("Missing required argument: --artifacts-json <path/to/artifacts.json>");
601
+ artifactsJsonAbs = path.resolve(artifactsJsonArg);
602
+ if (!fs.existsSync(artifactsJsonAbs)) throw new Error(`Artifacts JSON file not found: ${artifactsJsonAbs}`);
603
+ }
604
+ }
605
+
606
+ if (createPackageFlag) {
607
+ createPackage = true;
608
+ }
609
+
610
+ if (!nonInteractive && !createPackageFlag) {
611
+ const rl = readline.createInterface({ input: stdin, output: stdout });
612
+ try {
613
+ const ans = (await rl.question("Do you want to create a new package? (Y/N) ")).trim().toLowerCase();
614
+ createPackage = ans === "y" || ans === "yes";
615
+
616
+ if (createPackage) {
617
+ const pkgFolder = (await rl.question("Enter the folder path where the package should be created: ")).trim();
618
+ const pkgName = (await rl.question("Enter package name: ")).trim();
619
+ const pkgDesc = (await rl.question("Enter package description: ")).trim();
620
+ const pkgAuthor = (await rl.question("Enter author name: ")).trim();
621
+ const pkgLicense = (await rl.question("Enter license (default: MIT): ")).trim() || "MIT";
622
+ const pkgVersion = (await rl.question("Enter version (default: 0.0.1): ")).trim() || "0.0.1";
623
+
624
+ outDir = path.resolve(pkgFolder, pkgName);
625
+ _ensureDir(outDir);
626
+
627
+ _createPackageScaffold({
628
+ outDir,
629
+ pkgName,
630
+ pkgDesc,
631
+ pkgAuthor,
632
+ pkgLicense,
633
+ pkgVersion,
634
+ });
635
+ } else {
636
+ const target = (await rl.question("Enter the location in your existing package (relative to package root): ")).trim();
637
+ outDir = path.resolve(process.cwd(), target || "src/contracts");
638
+ }
639
+ } finally {
640
+ rl.close();
641
+ }
642
+ }
643
+
644
+ if (createPackage && nonInteractive) {
645
+ const pkgFolder = pkgDirArg ? path.resolve(pkgDirArg) : null;
646
+ const pkgName = pkgNameArg || null;
647
+ if (!pkgFolder || !pkgName) {
648
+ throw new Error("When using --create-package in non-interactive mode, pass --package-dir <dir> and --package-name <name>.");
649
+ }
650
+ outDir = path.resolve(pkgFolder, pkgName);
651
+ _ensureDir(outDir);
652
+ _createPackageScaffold({
653
+ outDir,
654
+ pkgName,
655
+ pkgDesc: pkgDescArg,
656
+ pkgAuthor: pkgAuthorArg,
657
+ pkgLicense: pkgLicenseArg,
658
+ pkgVersion: pkgVersionArg,
659
+ });
660
+ }
661
+
662
+ if (!outDir) outDir = path.resolve(process.cwd(), "generated-contract");
663
+
664
+ const targetSrcDir = createPackage ? path.join(outDir, "src") : outDir;
665
+ _ensureDir(targetSrcDir);
666
+
667
+ // Resolve compilation / artifacts
668
+ /** @type {Array<{ contractName: string, abi: any[], bytecode: string }>} */
669
+ let artifacts = [];
670
+ if (inputType === "abibin") {
671
+ const abi = _readJson(absAbi);
672
+ const bytecodeRaw = fs.readFileSync(absBin, "utf8").trim();
673
+ const bytecode = bytecodeRaw.startsWith("0x") ? bytecodeRaw : `0x${bytecodeRaw}`;
674
+ artifacts = [{ contractName, abi, bytecode, docs: null }];
675
+ } else if (inputType === "sol") {
676
+ const solcPath = _resolveSolcPath(argv);
677
+ artifacts = _compileSolidityToArtifacts({ solcPath, solFilesAbs, contractNameFilter: contractName });
678
+
679
+ // Attach Solidity doc comments (NatSpec) to artifacts
680
+ const docsByContract = _extractSolDocs(solFilesAbs);
681
+ for (const a of artifacts) {
682
+ a.docs = docsByContract[a.contractName] || null;
683
+ }
684
+
685
+ // As requested: emit ABI/BIN artifacts to disk
686
+ _writeSolcArtifacts(createPackage ? outDir : targetSrcDir, artifacts);
687
+ } else {
688
+ // Artifacts JSON
689
+ artifacts = _readArtifactsJson(artifactsJsonAbs || path.resolve(artifactsJsonArg));
690
+ }
691
+
692
+ if (artifacts.length === 1) {
693
+ // Keep the old API/behavior for single-contract generation.
694
+ const a = artifacts[0];
695
+ generateFromArtifacts({ outDir: targetSrcDir, artifacts: [a] });
696
+ } else {
697
+ generateFromArtifacts({ outDir: targetSrcDir, artifacts });
698
+ }
699
+
700
+ if (createPackage) {
701
+ _writeText(
702
+ path.join(outDir, "README.md"),
703
+ _packageReadme({
704
+ pkgName: pkgNameArg || path.basename(outDir),
705
+ pkgDesc: pkgDescArg,
706
+ contractNames: artifacts.map((a) => a.contractName),
707
+ }),
708
+ );
709
+
710
+ // Transactional tests (always per-contract)
711
+ _ensureDir(path.join(outDir, "test", "e2e"));
712
+ _ensureDir(path.join(outDir, "examples"));
713
+
714
+ for (const a of artifacts) {
715
+ _writeText(
716
+ path.join(outDir, "test", "e2e", `${a.contractName}.e2e.test.js`),
717
+ generateTransactionalTestJs({ contractName: a.contractName, abi: a.abi }),
718
+ );
719
+ }
720
+
721
+ if (artifacts.length === 1) {
722
+ // Back-compat: keep original example filenames for a single-contract package.
723
+ const a = artifacts[0];
724
+ const ctor = _findConstructor(a.abi);
725
+ const ctorArgsExpr = (ctor.inputs || []).map((i) => _solTypeToExampleValueExpr(i.type)).join(", ");
726
+
727
+ _writeText(
728
+ path.join(outDir, "examples", "deploy.ts"),
729
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider, Wallet, encodeBytes32String } from "quantumcoin";\nimport { ${a.contractName}__factory } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const wallet = Wallet.createRandom().connect(provider);\n\n const factory = new ${a.contractName}__factory(wallet);\n const contract = await factory.deploy(${ctorArgsExpr}${ctorArgsExpr ? ", " : ""}{ gasLimit: 600000 });\n const tx = contract.deployTransaction();\n if (tx) await tx.wait();\n\n console.log("Deployed at:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
730
+ );
731
+
732
+ _writeText(
733
+ path.join(outDir, "examples", "read-operations.ts"),
734
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const contract = ${a.contractName}.connect(address, provider);\n\n console.log("Contract:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
735
+ );
736
+
737
+ _writeText(
738
+ path.join(outDir, "examples", "write-operations.ts"),
739
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider, Wallet } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const wallet = Wallet.createRandom().connect(provider);\n const contract = ${a.contractName}.connect(address, wallet);\n\n // const tx = await contract.someWriteMethod(/* args */);\n // await tx.wait();\n console.log("Done");\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
740
+ );
741
+
742
+ _writeText(
743
+ path.join(outDir, "examples", "events.ts"),
744
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const contract = ${a.contractName}.connect(address, provider);\n\n console.log("Contract:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
745
+ );
746
+ } else {
747
+ // Multi-contract: avoid filename collisions.
748
+ for (const a of artifacts) {
749
+ const ctor = _findConstructor(a.abi);
750
+ const ctorArgsExpr = (ctor.inputs || []).map((i) => _solTypeToExampleValueExpr(i.type)).join(", ");
751
+
752
+ _writeText(
753
+ path.join(outDir, "examples", `deploy-${a.contractName}.ts`),
754
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider, Wallet, encodeBytes32String } from "quantumcoin";\nimport { ${a.contractName}__factory } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const wallet = Wallet.createRandom().connect(provider);\n\n const factory = new ${a.contractName}__factory(wallet);\n const contract = await factory.deploy(${ctorArgsExpr}${ctorArgsExpr ? ", " : ""}{ gasLimit: 600000 });\n const tx = contract.deployTransaction();\n if (tx) await tx.wait();\n\n console.log("Deployed ${a.contractName} at:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
755
+ );
756
+
757
+ _writeText(
758
+ path.join(outDir, "examples", `read-operations-${a.contractName}.ts`),
759
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const contract = ${a.contractName}.connect(address, provider);\n\n console.log("${a.contractName}:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
760
+ );
761
+
762
+ _writeText(
763
+ path.join(outDir, "examples", `write-operations-${a.contractName}.ts`),
764
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider, Wallet } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const wallet = Wallet.createRandom().connect(provider);\n const contract = ${a.contractName}.connect(address, wallet);\n\n // const tx = await contract.someWriteMethod(/* args */);\n // await tx.wait();\n console.log("Done");\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
765
+ );
766
+
767
+ _writeText(
768
+ path.join(outDir, "examples", `events-${a.contractName}.ts`),
769
+ `import { Initialize } from "quantumcoin/config";\nimport { JsonRpcProvider } from "quantumcoin";\nimport { ${a.contractName} } from "../src";\n\nasync function main() {\n const rpcUrl = process.env.QC_RPC_URL || "http://127.0.0.1:8545";\n const chainId = process.env.QC_CHAIN_ID ? Number(process.env.QC_CHAIN_ID) : 123123;\n const address = process.env.CONTRACT_ADDRESS || "0x...";\n await Initialize(null);\n\n const provider = new JsonRpcProvider(rpcUrl, chainId);\n const contract = ${a.contractName}.connect(address, provider);\n\n console.log("${a.contractName}:", contract.target);\n}\n\nmain().catch((e) => {\n console.error(e);\n process.exitCode = 1;\n});\n`,
770
+ );
771
+ }
772
+ }
773
+
774
+ // Write an index.js for jsdoc-to-markdown, then install and run build scripts.
775
+ _writeText(path.join(outDir, "index.js"), _renderPackageIndexJs({ artifacts }));
776
+ }
777
+
778
+ // Final step: after package creation, build docs/README.
779
+ if (createPackage) {
780
+ _runNpm(["install", "--no-fund", "--no-audit"], outDir);
781
+ _runNpm(["run", "build:ts"], outDir);
782
+ if (process.platform === "win32") {
783
+ _runNpm(["run", "build-powershell"], outDir);
784
+ } else {
785
+ _runNpm(["run", "build"], outDir);
786
+ }
787
+ }
788
+
789
+ console.log(`Generated contract files in: ${targetSrcDir}`);
790
+ }
791
+
792
+ function _cap(s) {
793
+ return s ? s[0].toUpperCase() + s.slice(1) : s;
794
+ }
795
+
796
+ function _packageReadme({ pkgName, pkgDesc, contractNames }) {
797
+ const list = (contractNames || []).map((n) => `- \`${n}\``).join("\n");
798
+ return `# ${pkgName}\n\n${pkgDesc}\n\n## Contracts\n\n${list || "- (none)"}\n\n## Running\n\n- \`npm install\`\n- \`npm test\`\n\nTransactional tests require:\n- \`QC_RPC_URL\`\n- \`QC_CHAIN_ID\` (optional)\n`;
799
+ }
800
+
801
+ function _createPackageScaffold({ outDir, pkgName, pkgDesc, pkgAuthor, pkgLicense, pkgVersion }) {
802
+ _ensureDir(outDir);
803
+ _ensureDir(path.join(outDir, "src"));
804
+ _ensureDir(path.join(outDir, "test", "e2e"));
805
+ _ensureDir(path.join(outDir, "examples"));
806
+
807
+ const rootPkg = _readRootPackageJson();
808
+ const rootDeps = _rewriteFileDepsToAbsolute(rootPkg.dependencies || {}, __dirname);
809
+
810
+ // Ensure the generated package depends on this repo's quantumcoin via absolute file path.
811
+ rootDeps.quantumcoin = `file:${__dirname.replace(/\\\\/g, "/")}`;
812
+ // Ensure docs tool is present (required by build scripts below).
813
+ if (!rootDeps["jsdoc-to-markdown"]) {
814
+ rootDeps["jsdoc-to-markdown"] = "latest";
815
+ }
816
+
817
+ const pkgJson = {
818
+ name: pkgName,
819
+ version: pkgVersion,
820
+ description: pkgDesc,
821
+ author: pkgAuthor,
822
+ license: pkgLicense,
823
+ main: "dist/index.js",
824
+ types: "dist/index.d.ts",
825
+ scripts: {
826
+ "build:ts": "npx -p typescript tsc -p tsconfig.json",
827
+ "build": "npx -p typescript tsc index.js --declaration --allowJs --emitDeclarationOnly && jsdoc2md index.js >README.md",
828
+ "build-powershell": "powershell npx -p typescript tsc index.js --declaration --allowJs --emitDeclarationOnly; jsdoc2md index.js >README.md",
829
+ test: "npm run build:ts && node --test --test-concurrency=1 \"test/**/*.test.js\"",
830
+ "test:e2e": "npm run build:ts && node --test --test-concurrency=1 \"test/e2e/**/*.test.js\"",
831
+ },
832
+ dependencies: rootDeps,
833
+ devDependencies: {},
834
+ };
835
+
836
+ _writeJson(path.join(outDir, "package.json"), pkgJson);
837
+ _writeJson(path.join(outDir, "tsconfig.json"), {
838
+ compilerOptions: {
839
+ target: "ES2022",
840
+ module: "CommonJS",
841
+ declaration: true,
842
+ outDir: "dist",
843
+ strict: true,
844
+ esModuleInterop: true,
845
+ skipLibCheck: true,
846
+ },
847
+ include: ["src/**/*.ts"],
848
+ });
849
+
850
+ _writeText(path.join(outDir, "README.md"), _packageReadme({ pkgName, pkgDesc, contractNames: [] }));
851
+
852
+ _writeText(path.join(outDir, ".gitignore"), `node_modules\n/dist\n*.log\n`);
853
+
854
+ // Minimal shims so the generated TypeScript can compile even though `quantumcoin`
855
+ // is a JavaScript package (no bundled .d.ts in this repo).
856
+ _writeText(
857
+ path.join(outDir, "src", "quantumcoin-shims.d.ts"),
858
+ `declare module "quantumcoin" {\n` +
859
+ ` export type ContractRunner = any;\n` +
860
+ ` export type TransactionResponse = any;\n` +
861
+ ` export type ContractTransactionResponse = any;\n` +
862
+ ` export type TransactionRequest = any;\n` +
863
+ `\n` +
864
+ ` export class Contract {\n` +
865
+ ` constructor(address: string, abi: any, runner?: any, bytecode?: any);\n` +
866
+ ` target: string;\n` +
867
+ ` address: string;\n` +
868
+ ` call(methodName: string, args: any[], overrides?: TransactionRequest): Promise<any>;\n` +
869
+ ` send(methodName: string, args: any[], overrides?: TransactionRequest): Promise<ContractTransactionResponse>;\n` +
870
+ ` deployTransaction(): TransactionResponse | null;\n` +
871
+ ` }\n` +
872
+ `\n` +
873
+ ` export class ContractFactory {\n` +
874
+ ` signer: any;\n` +
875
+ ` constructor(abi: any, bytecode: string, signer: any);\n` +
876
+ ` getDeployTransaction(...args: any[]): TransactionRequest;\n` +
877
+ ` }\n` +
878
+ `\n` +
879
+ ` export function getCreateAddress(opts: { from: string; nonce: number }): string;\n` +
880
+ `}\n`,
881
+ );
882
+ }
883
+
884
+ main().catch((e) => {
885
+ console.error(e);
886
+ process.exitCode = 1;
887
+ });
888
+