quantumcoin 6.14.4 → 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 (1272) hide show
  1. package/.github/workflows/publish-npmjs.yaml +22 -0
  2. package/.gitignore +12 -0
  3. package/{LICENSE.md → LICENSE} +1 -1
  4. package/README-SDK.md +700 -0
  5. package/README.md +84 -89
  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/lib.commonjs/README.md +0 -16
  97. package/lib.commonjs/_version.d.ts +0 -5
  98. package/lib.commonjs/_version.d.ts.map +0 -1
  99. package/lib.commonjs/_version.js +0 -9
  100. package/lib.commonjs/_version.js.map +0 -1
  101. package/lib.commonjs/abi/abi-coder.d.ts +0 -61
  102. package/lib.commonjs/abi/abi-coder.d.ts.map +0 -1
  103. package/lib.commonjs/abi/abi-coder.js +0 -210
  104. package/lib.commonjs/abi/abi-coder.js.map +0 -1
  105. package/lib.commonjs/abi/bytes32.d.ts +0 -15
  106. package/lib.commonjs/abi/bytes32.d.ts.map +0 -1
  107. package/lib.commonjs/abi/bytes32.js +0 -45
  108. package/lib.commonjs/abi/bytes32.js.map +0 -1
  109. package/lib.commonjs/abi/coders/abstract-coder.d.ts +0 -124
  110. package/lib.commonjs/abi/coders/abstract-coder.d.ts.map +0 -1
  111. package/lib.commonjs/abi/coders/abstract-coder.js +0 -472
  112. package/lib.commonjs/abi/coders/abstract-coder.js.map +0 -1
  113. package/lib.commonjs/abi/coders/address.d.ts +0 -13
  114. package/lib.commonjs/abi/coders/address.d.ts.map +0 -1
  115. package/lib.commonjs/abi/coders/address.js +0 -33
  116. package/lib.commonjs/abi/coders/address.js.map +0 -1
  117. package/lib.commonjs/abi/coders/anonymous.d.ts +0 -15
  118. package/lib.commonjs/abi/coders/anonymous.d.ts.map +0 -1
  119. package/lib.commonjs/abi/coders/anonymous.js +0 -27
  120. package/lib.commonjs/abi/coders/anonymous.js.map +0 -1
  121. package/lib.commonjs/abi/coders/array.d.ts +0 -25
  122. package/lib.commonjs/abi/coders/array.d.ts.map +0 -1
  123. package/lib.commonjs/abi/coders/array.js +0 -165
  124. package/lib.commonjs/abi/coders/array.js.map +0 -1
  125. package/lib.commonjs/abi/coders/boolean.d.ts +0 -13
  126. package/lib.commonjs/abi/coders/boolean.d.ts.map +0 -1
  127. package/lib.commonjs/abi/coders/boolean.js +0 -25
  128. package/lib.commonjs/abi/coders/boolean.js.map +0 -1
  129. package/lib.commonjs/abi/coders/bytes.d.ts +0 -19
  130. package/lib.commonjs/abi/coders/bytes.d.ts.map +0 -1
  131. package/lib.commonjs/abi/coders/bytes.js +0 -39
  132. package/lib.commonjs/abi/coders/bytes.js.map +0 -1
  133. package/lib.commonjs/abi/coders/fixed-bytes.d.ts +0 -15
  134. package/lib.commonjs/abi/coders/fixed-bytes.d.ts.map +0 -1
  135. package/lib.commonjs/abi/coders/fixed-bytes.js +0 -32
  136. package/lib.commonjs/abi/coders/fixed-bytes.js.map +0 -1
  137. package/lib.commonjs/abi/coders/null.d.ts +0 -12
  138. package/lib.commonjs/abi/coders/null.d.ts.map +0 -1
  139. package/lib.commonjs/abi/coders/null.js +0 -28
  140. package/lib.commonjs/abi/coders/null.js.map +0 -1
  141. package/lib.commonjs/abi/coders/number.d.ts +0 -16
  142. package/lib.commonjs/abi/coders/number.d.ts.map +0 -1
  143. package/lib.commonjs/abi/coders/number.js +0 -49
  144. package/lib.commonjs/abi/coders/number.js.map +0 -1
  145. package/lib.commonjs/abi/coders/string.d.ts +0 -13
  146. package/lib.commonjs/abi/coders/string.d.ts.map +0 -1
  147. package/lib.commonjs/abi/coders/string.js +0 -25
  148. package/lib.commonjs/abi/coders/string.js.map +0 -1
  149. package/lib.commonjs/abi/coders/tuple.d.ts +0 -16
  150. package/lib.commonjs/abi/coders/tuple.d.ts.map +0 -1
  151. package/lib.commonjs/abi/coders/tuple.js +0 -67
  152. package/lib.commonjs/abi/coders/tuple.js.map +0 -1
  153. package/lib.commonjs/abi/fragments.d.ts +0 -466
  154. package/lib.commonjs/abi/fragments.d.ts.map +0 -1
  155. package/lib.commonjs/abi/fragments.js +0 -1331
  156. package/lib.commonjs/abi/fragments.js.map +0 -1
  157. package/lib.commonjs/abi/index.d.ts +0 -18
  158. package/lib.commonjs/abi/index.d.ts.map +0 -1
  159. package/lib.commonjs/abi/index.js +0 -40
  160. package/lib.commonjs/abi/index.js.map +0 -1
  161. package/lib.commonjs/abi/interface.d.ts +0 -382
  162. package/lib.commonjs/abi/interface.d.ts.map +0 -1
  163. package/lib.commonjs/abi/interface.js +0 -1110
  164. package/lib.commonjs/abi/interface.js.map +0 -1
  165. package/lib.commonjs/abi/typed.d.ts +0 -570
  166. package/lib.commonjs/abi/typed.d.ts.map +0 -1
  167. package/lib.commonjs/abi/typed.js +0 -606
  168. package/lib.commonjs/abi/typed.js.map +0 -1
  169. package/lib.commonjs/address/address.d.ts +0 -36
  170. package/lib.commonjs/address/address.d.ts.map +0 -1
  171. package/lib.commonjs/address/address.js +0 -133
  172. package/lib.commonjs/address/address.js.map +0 -1
  173. package/lib.commonjs/address/checks.d.ts +0 -81
  174. package/lib.commonjs/address/checks.d.ts.map +0 -1
  175. package/lib.commonjs/address/checks.js +0 -120
  176. package/lib.commonjs/address/checks.js.map +0 -1
  177. package/lib.commonjs/address/contract-address.d.ts +0 -48
  178. package/lib.commonjs/address/contract-address.d.ts.map +0 -1
  179. package/lib.commonjs/address/contract-address.js +0 -74
  180. package/lib.commonjs/address/contract-address.js.map +0 -1
  181. package/lib.commonjs/address/index.d.ts +0 -49
  182. package/lib.commonjs/address/index.d.ts.map +0 -1
  183. package/lib.commonjs/address/index.js +0 -28
  184. package/lib.commonjs/address/index.js.map +0 -1
  185. package/lib.commonjs/constants/addresses.d.ts +0 -7
  186. package/lib.commonjs/constants/addresses.d.ts.map +0 -1
  187. package/lib.commonjs/constants/addresses.js +0 -10
  188. package/lib.commonjs/constants/addresses.js.map +0 -1
  189. package/lib.commonjs/constants/hashes.d.ts +0 -7
  190. package/lib.commonjs/constants/hashes.d.ts.map +0 -1
  191. package/lib.commonjs/constants/hashes.js +0 -10
  192. package/lib.commonjs/constants/hashes.js.map +0 -1
  193. package/lib.commonjs/constants/index.d.ts +0 -10
  194. package/lib.commonjs/constants/index.d.ts.map +0 -1
  195. package/lib.commonjs/constants/index.js +0 -22
  196. package/lib.commonjs/constants/index.js.map +0 -1
  197. package/lib.commonjs/constants/numbers.d.ts +0 -31
  198. package/lib.commonjs/constants/numbers.d.ts.map +0 -1
  199. package/lib.commonjs/constants/numbers.js +0 -34
  200. package/lib.commonjs/constants/numbers.js.map +0 -1
  201. package/lib.commonjs/constants/strings.d.ts +0 -13
  202. package/lib.commonjs/constants/strings.d.ts.map +0 -1
  203. package/lib.commonjs/constants/strings.js +0 -17
  204. package/lib.commonjs/constants/strings.js.map +0 -1
  205. package/lib.commonjs/contract/contract.d.ts +0 -168
  206. package/lib.commonjs/contract/contract.d.ts.map +0 -1
  207. package/lib.commonjs/contract/contract.js +0 -960
  208. package/lib.commonjs/contract/contract.js.map +0 -1
  209. package/lib.commonjs/contract/factory.d.ts +0 -62
  210. package/lib.commonjs/contract/factory.d.ts.map +0 -1
  211. package/lib.commonjs/contract/factory.js +0 -116
  212. package/lib.commonjs/contract/factory.js.map +0 -1
  213. package/lib.commonjs/contract/index.d.ts +0 -13
  214. package/lib.commonjs/contract/index.d.ts.map +0 -1
  215. package/lib.commonjs/contract/index.js +0 -24
  216. package/lib.commonjs/contract/index.js.map +0 -1
  217. package/lib.commonjs/contract/types.d.ts +0 -193
  218. package/lib.commonjs/contract/types.d.ts.map +0 -1
  219. package/lib.commonjs/contract/types.js +0 -6
  220. package/lib.commonjs/contract/types.js.map +0 -1
  221. package/lib.commonjs/contract/wrappers.d.ts +0 -143
  222. package/lib.commonjs/contract/wrappers.d.ts.map +0 -1
  223. package/lib.commonjs/contract/wrappers.js +0 -186
  224. package/lib.commonjs/contract/wrappers.js.map +0 -1
  225. package/lib.commonjs/crypto/crypto-browser.d.ts +0 -15
  226. package/lib.commonjs/crypto/crypto-browser.d.ts.map +0 -1
  227. package/lib.commonjs/crypto/crypto-browser.js +0 -55
  228. package/lib.commonjs/crypto/crypto-browser.js.map +0 -1
  229. package/lib.commonjs/crypto/crypto.d.ts +0 -2
  230. package/lib.commonjs/crypto/crypto.d.ts.map +0 -1
  231. package/lib.commonjs/crypto/crypto.js +0 -9
  232. package/lib.commonjs/crypto/crypto.js.map +0 -1
  233. package/lib.commonjs/crypto/hmac.d.ts +0 -25
  234. package/lib.commonjs/crypto/hmac.d.ts.map +0 -1
  235. package/lib.commonjs/crypto/hmac.js +0 -51
  236. package/lib.commonjs/crypto/hmac.js.map +0 -1
  237. package/lib.commonjs/crypto/index.d.ts +0 -25
  238. package/lib.commonjs/crypto/index.d.ts.map +0 -1
  239. package/lib.commonjs/crypto/index.js +0 -49
  240. package/lib.commonjs/crypto/index.js.map +0 -1
  241. package/lib.commonjs/crypto/keccak.d.ts +0 -35
  242. package/lib.commonjs/crypto/keccak.d.ts.map +0 -1
  243. package/lib.commonjs/crypto/keccak.js +0 -52
  244. package/lib.commonjs/crypto/keccak.js.map +0 -1
  245. package/lib.commonjs/crypto/pbkdf2.d.ts +0 -35
  246. package/lib.commonjs/crypto/pbkdf2.d.ts.map +0 -1
  247. package/lib.commonjs/crypto/pbkdf2.js +0 -53
  248. package/lib.commonjs/crypto/pbkdf2.js.map +0 -1
  249. package/lib.commonjs/crypto/random.d.ts +0 -14
  250. package/lib.commonjs/crypto/random.d.ts.map +0 -1
  251. package/lib.commonjs/crypto/random.js +0 -38
  252. package/lib.commonjs/crypto/random.js.map +0 -1
  253. package/lib.commonjs/crypto/ripemd160.d.ts +0 -25
  254. package/lib.commonjs/crypto/ripemd160.d.ts.map +0 -1
  255. package/lib.commonjs/crypto/ripemd160.js +0 -42
  256. package/lib.commonjs/crypto/ripemd160.js.map +0 -1
  257. package/lib.commonjs/crypto/scrypt.d.ts +0 -82
  258. package/lib.commonjs/crypto/scrypt.d.ts.map +0 -1
  259. package/lib.commonjs/crypto/scrypt.js +0 -104
  260. package/lib.commonjs/crypto/scrypt.js.map +0 -1
  261. package/lib.commonjs/crypto/sha2.d.ts +0 -47
  262. package/lib.commonjs/crypto/sha2.d.ts.map +0 -1
  263. package/lib.commonjs/crypto/sha2.js +0 -76
  264. package/lib.commonjs/crypto/sha2.js.map +0 -1
  265. package/lib.commonjs/crypto/signature.d.ts +0 -145
  266. package/lib.commonjs/crypto/signature.d.ts.map +0 -1
  267. package/lib.commonjs/crypto/signature.js +0 -302
  268. package/lib.commonjs/crypto/signature.js.map +0 -1
  269. package/lib.commonjs/crypto/signing-key.d.ts +0 -63
  270. package/lib.commonjs/crypto/signing-key.d.ts.map +0 -1
  271. package/lib.commonjs/crypto/signing-key.js +0 -102
  272. package/lib.commonjs/crypto/signing-key.js.map +0 -1
  273. package/lib.commonjs/hash/authorization.d.ts +0 -18
  274. package/lib.commonjs/hash/authorization.d.ts.map +0 -1
  275. package/lib.commonjs/hash/authorization.js +0 -30
  276. package/lib.commonjs/hash/authorization.js.map +0 -1
  277. package/lib.commonjs/hash/id.d.ts +0 -13
  278. package/lib.commonjs/hash/id.d.ts.map +0 -1
  279. package/lib.commonjs/hash/id.js +0 -21
  280. package/lib.commonjs/hash/id.js.map +0 -1
  281. package/lib.commonjs/hash/index.d.ts +0 -15
  282. package/lib.commonjs/hash/index.d.ts.map +0 -1
  283. package/lib.commonjs/hash/index.js +0 -30
  284. package/lib.commonjs/hash/index.js.map +0 -1
  285. package/lib.commonjs/hash/message.d.ts +0 -36
  286. package/lib.commonjs/hash/message.d.ts.map +0 -1
  287. package/lib.commonjs/hash/message.js +0 -56
  288. package/lib.commonjs/hash/message.js.map +0 -1
  289. package/lib.commonjs/hash/namehash.d.ts +0 -20
  290. package/lib.commonjs/hash/namehash.d.ts.map +0 -1
  291. package/lib.commonjs/hash/namehash.js +0 -91
  292. package/lib.commonjs/hash/namehash.js.map +0 -1
  293. package/lib.commonjs/hash/solidity.d.ts +0 -31
  294. package/lib.commonjs/hash/solidity.d.ts.map +0 -1
  295. package/lib.commonjs/hash/solidity.js +0 -109
  296. package/lib.commonjs/hash/solidity.js.map +0 -1
  297. package/lib.commonjs/hash/typed-data.d.ts +0 -150
  298. package/lib.commonjs/hash/typed-data.d.ts.map +0 -1
  299. package/lib.commonjs/hash/typed-data.js +0 -524
  300. package/lib.commonjs/hash/typed-data.js.map +0 -1
  301. package/lib.commonjs/index.d.ts +0 -11
  302. package/lib.commonjs/index.d.ts.map +0 -1
  303. package/lib.commonjs/index.js +0 -15
  304. package/lib.commonjs/index.js.map +0 -1
  305. package/lib.commonjs/package.json +0 -12
  306. package/lib.commonjs/providers/abstract-provider.d.ts +0 -451
  307. package/lib.commonjs/providers/abstract-provider.d.ts.map +0 -1
  308. package/lib.commonjs/providers/abstract-provider.js +0 -1409
  309. package/lib.commonjs/providers/abstract-provider.js.map +0 -1
  310. package/lib.commonjs/providers/abstract-signer.d.ts +0 -69
  311. package/lib.commonjs/providers/abstract-signer.d.ts.map +0 -1
  312. package/lib.commonjs/providers/abstract-signer.js +0 -249
  313. package/lib.commonjs/providers/abstract-signer.js.map +0 -1
  314. package/lib.commonjs/providers/community.d.ts +0 -29
  315. package/lib.commonjs/providers/community.d.ts.map +0 -1
  316. package/lib.commonjs/providers/community.js +0 -40
  317. package/lib.commonjs/providers/community.js.map +0 -1
  318. package/lib.commonjs/providers/contracts.d.ts +0 -36
  319. package/lib.commonjs/providers/contracts.d.ts.map +0 -1
  320. package/lib.commonjs/providers/contracts.js +0 -3
  321. package/lib.commonjs/providers/contracts.js.map +0 -1
  322. package/lib.commonjs/providers/default-provider.d.ts +0 -41
  323. package/lib.commonjs/providers/default-provider.d.ts.map +0 -1
  324. package/lib.commonjs/providers/default-provider.js +0 -92
  325. package/lib.commonjs/providers/default-provider.js.map +0 -1
  326. package/lib.commonjs/providers/ens-resolver.d.ts +0 -147
  327. package/lib.commonjs/providers/ens-resolver.d.ts.map +0 -1
  328. package/lib.commonjs/providers/ens-resolver.js +0 -502
  329. package/lib.commonjs/providers/ens-resolver.js.map +0 -1
  330. package/lib.commonjs/providers/format.d.ts +0 -15
  331. package/lib.commonjs/providers/format.d.ts.map +0 -1
  332. package/lib.commonjs/providers/format.js +0 -298
  333. package/lib.commonjs/providers/format.js.map +0 -1
  334. package/lib.commonjs/providers/formatting.d.ts +0 -318
  335. package/lib.commonjs/providers/formatting.d.ts.map +0 -1
  336. package/lib.commonjs/providers/formatting.js +0 -10
  337. package/lib.commonjs/providers/formatting.js.map +0 -1
  338. package/lib.commonjs/providers/index.d.ts +0 -41
  339. package/lib.commonjs/providers/index.d.ts.map +0 -1
  340. package/lib.commonjs/providers/index.js +0 -64
  341. package/lib.commonjs/providers/index.js.map +0 -1
  342. package/lib.commonjs/providers/network.d.ts +0 -99
  343. package/lib.commonjs/providers/network.d.ts.map +0 -1
  344. package/lib.commonjs/providers/network.js +0 -269
  345. package/lib.commonjs/providers/network.js.map +0 -1
  346. package/lib.commonjs/providers/pagination.d.ts +0 -6
  347. package/lib.commonjs/providers/pagination.d.ts.map +0 -1
  348. package/lib.commonjs/providers/pagination.js +0 -3
  349. package/lib.commonjs/providers/pagination.js.map +0 -1
  350. package/lib.commonjs/providers/plugin-fallback.d.ts +0 -13
  351. package/lib.commonjs/providers/plugin-fallback.d.ts.map +0 -1
  352. package/lib.commonjs/providers/plugin-fallback.js +0 -31
  353. package/lib.commonjs/providers/plugin-fallback.js.map +0 -1
  354. package/lib.commonjs/providers/plugins-network.d.ts +0 -170
  355. package/lib.commonjs/providers/plugins-network.d.ts.map +0 -1
  356. package/lib.commonjs/providers/plugins-network.js +0 -216
  357. package/lib.commonjs/providers/plugins-network.js.map +0 -1
  358. package/lib.commonjs/providers/provider-browser.d.ts +0 -108
  359. package/lib.commonjs/providers/provider-browser.d.ts.map +0 -1
  360. package/lib.commonjs/providers/provider-browser.js +0 -204
  361. package/lib.commonjs/providers/provider-browser.js.map +0 -1
  362. package/lib.commonjs/providers/provider-fallback.d.ts +0 -115
  363. package/lib.commonjs/providers/provider-fallback.d.ts.map +0 -1
  364. package/lib.commonjs/providers/provider-fallback.js +0 -624
  365. package/lib.commonjs/providers/provider-fallback.js.map +0 -1
  366. package/lib.commonjs/providers/provider-ipcsocket-browser.d.ts +0 -3
  367. package/lib.commonjs/providers/provider-ipcsocket-browser.d.ts.map +0 -1
  368. package/lib.commonjs/providers/provider-ipcsocket-browser.js +0 -6
  369. package/lib.commonjs/providers/provider-ipcsocket-browser.js.map +0 -1
  370. package/lib.commonjs/providers/provider-ipcsocket.d.ts +0 -21
  371. package/lib.commonjs/providers/provider-ipcsocket.d.ts.map +0 -1
  372. package/lib.commonjs/providers/provider-ipcsocket.js +0 -72
  373. package/lib.commonjs/providers/provider-ipcsocket.js.map +0 -1
  374. package/lib.commonjs/providers/provider-jsonrpc.d.ts +0 -361
  375. package/lib.commonjs/providers/provider-jsonrpc.d.ts.map +0 -1
  376. package/lib.commonjs/providers/provider-jsonrpc.js +0 -980
  377. package/lib.commonjs/providers/provider-jsonrpc.js.map +0 -1
  378. package/lib.commonjs/providers/provider-socket.d.ts +0 -113
  379. package/lib.commonjs/providers/provider-socket.d.ts.map +0 -1
  380. package/lib.commonjs/providers/provider-socket.js +0 -309
  381. package/lib.commonjs/providers/provider-socket.js.map +0 -1
  382. package/lib.commonjs/providers/provider-websocket.d.ts +0 -37
  383. package/lib.commonjs/providers/provider-websocket.d.ts.map +0 -1
  384. package/lib.commonjs/providers/provider-websocket.js +0 -80
  385. package/lib.commonjs/providers/provider-websocket.js.map +0 -1
  386. package/lib.commonjs/providers/provider.d.ts +0 -1223
  387. package/lib.commonjs/providers/provider.d.ts.map +0 -1
  388. package/lib.commonjs/providers/provider.js +0 -1321
  389. package/lib.commonjs/providers/provider.js.map +0 -1
  390. package/lib.commonjs/providers/signer-noncemanager.d.ts +0 -38
  391. package/lib.commonjs/providers/signer-noncemanager.d.ts.map +0 -1
  392. package/lib.commonjs/providers/signer-noncemanager.js +0 -78
  393. package/lib.commonjs/providers/signer-noncemanager.js.map +0 -1
  394. package/lib.commonjs/providers/signer.d.ts +0 -131
  395. package/lib.commonjs/providers/signer.d.ts.map +0 -1
  396. package/lib.commonjs/providers/signer.js +0 -3
  397. package/lib.commonjs/providers/signer.js.map +0 -1
  398. package/lib.commonjs/providers/subscriber-connection.d.ts +0 -25
  399. package/lib.commonjs/providers/subscriber-connection.d.ts.map +0 -1
  400. package/lib.commonjs/providers/subscriber-connection.js +0 -56
  401. package/lib.commonjs/providers/subscriber-connection.js.map +0 -1
  402. package/lib.commonjs/providers/subscriber-filterid.d.ts +0 -64
  403. package/lib.commonjs/providers/subscriber-filterid.d.ts.map +0 -1
  404. package/lib.commonjs/providers/subscriber-filterid.js +0 -180
  405. package/lib.commonjs/providers/subscriber-filterid.js.map +0 -1
  406. package/lib.commonjs/providers/subscriber-polling.d.ts +0 -100
  407. package/lib.commonjs/providers/subscriber-polling.d.ts.map +0 -1
  408. package/lib.commonjs/providers/subscriber-polling.js +0 -303
  409. package/lib.commonjs/providers/subscriber-polling.js.map +0 -1
  410. package/lib.commonjs/providers/ws-browser.d.ts +0 -3
  411. package/lib.commonjs/providers/ws-browser.d.ts.map +0 -1
  412. package/lib.commonjs/providers/ws-browser.js +0 -19
  413. package/lib.commonjs/providers/ws-browser.js.map +0 -1
  414. package/lib.commonjs/providers/ws.d.ts +0 -2
  415. package/lib.commonjs/providers/ws.d.ts.map +0 -1
  416. package/lib.commonjs/providers/ws.js +0 -6
  417. package/lib.commonjs/providers/ws.js.map +0 -1
  418. package/lib.commonjs/quantumcoin.d.ts +0 -24
  419. package/lib.commonjs/quantumcoin.d.ts.map +0 -1
  420. package/lib.commonjs/quantumcoin.js +0 -199
  421. package/lib.commonjs/quantumcoin.js.map +0 -1
  422. package/lib.commonjs/transaction/accesslist.d.ts +0 -6
  423. package/lib.commonjs/transaction/accesslist.d.ts.map +0 -1
  424. package/lib.commonjs/transaction/accesslist.js +0 -41
  425. package/lib.commonjs/transaction/accesslist.js.map +0 -1
  426. package/lib.commonjs/transaction/address.d.ts +0 -15
  427. package/lib.commonjs/transaction/address.d.ts.map +0 -1
  428. package/lib.commonjs/transaction/address.js +0 -39
  429. package/lib.commonjs/transaction/address.js.map +0 -1
  430. package/lib.commonjs/transaction/authorization.d.ts +0 -3
  431. package/lib.commonjs/transaction/authorization.d.ts.map +0 -1
  432. package/lib.commonjs/transaction/authorization.js +0 -16
  433. package/lib.commonjs/transaction/authorization.js.map +0 -1
  434. package/lib.commonjs/transaction/index.d.ts +0 -40
  435. package/lib.commonjs/transaction/index.d.ts.map +0 -1
  436. package/lib.commonjs/transaction/index.js +0 -19
  437. package/lib.commonjs/transaction/index.js.map +0 -1
  438. package/lib.commonjs/transaction/transaction.d.ts +0 -400
  439. package/lib.commonjs/transaction/transaction.d.ts.map +0 -1
  440. package/lib.commonjs/transaction/transaction.js +0 -1148
  441. package/lib.commonjs/transaction/transaction.js.map +0 -1
  442. package/lib.commonjs/utils/base58.d.ts +0 -23
  443. package/lib.commonjs/utils/base58.d.ts.map +0 -1
  444. package/lib.commonjs/utils/base58.js +0 -68
  445. package/lib.commonjs/utils/base58.js.map +0 -1
  446. package/lib.commonjs/utils/base64-browser.d.ts +0 -4
  447. package/lib.commonjs/utils/base64-browser.d.ts.map +0 -1
  448. package/lib.commonjs/utils/base64-browser.js +0 -24
  449. package/lib.commonjs/utils/base64-browser.js.map +0 -1
  450. package/lib.commonjs/utils/base64.d.ts +0 -40
  451. package/lib.commonjs/utils/base64.d.ts.map +0 -1
  452. package/lib.commonjs/utils/base64.js +0 -58
  453. package/lib.commonjs/utils/base64.js.map +0 -1
  454. package/lib.commonjs/utils/data.d.ts +0 -93
  455. package/lib.commonjs/utils/data.d.ts.map +0 -1
  456. package/lib.commonjs/utils/data.js +0 -184
  457. package/lib.commonjs/utils/data.js.map +0 -1
  458. package/lib.commonjs/utils/errors.d.ts +0 -512
  459. package/lib.commonjs/utils/errors.d.ts.map +0 -1
  460. package/lib.commonjs/utils/errors.js +0 -235
  461. package/lib.commonjs/utils/errors.js.map +0 -1
  462. package/lib.commonjs/utils/events.d.ts +0 -77
  463. package/lib.commonjs/utils/events.d.ts.map +0 -1
  464. package/lib.commonjs/utils/events.js +0 -46
  465. package/lib.commonjs/utils/events.js.map +0 -1
  466. package/lib.commonjs/utils/fetch.d.ts +0 -363
  467. package/lib.commonjs/utils/fetch.d.ts.map +0 -1
  468. package/lib.commonjs/utils/fetch.js +0 -858
  469. package/lib.commonjs/utils/fetch.js.map +0 -1
  470. package/lib.commonjs/utils/fixednumber.d.ts +0 -252
  471. package/lib.commonjs/utils/fixednumber.d.ts.map +0 -1
  472. package/lib.commonjs/utils/fixednumber.js +0 -530
  473. package/lib.commonjs/utils/fixednumber.js.map +0 -1
  474. package/lib.commonjs/utils/geturl-browser.d.ts +0 -4
  475. package/lib.commonjs/utils/geturl-browser.d.ts.map +0 -1
  476. package/lib.commonjs/utils/geturl-browser.js +0 -67
  477. package/lib.commonjs/utils/geturl-browser.js.map +0 -1
  478. package/lib.commonjs/utils/geturl.d.ts +0 -10
  479. package/lib.commonjs/utils/geturl.d.ts.map +0 -1
  480. package/lib.commonjs/utils/geturl.js +0 -120
  481. package/lib.commonjs/utils/geturl.js.map +0 -1
  482. package/lib.commonjs/utils/index.d.ts +0 -30
  483. package/lib.commonjs/utils/index.d.ts.map +0 -1
  484. package/lib.commonjs/utils/index.js +0 -78
  485. package/lib.commonjs/utils/index.js.map +0 -1
  486. package/lib.commonjs/utils/maths.d.ts +0 -66
  487. package/lib.commonjs/utils/maths.d.ts.map +0 -1
  488. package/lib.commonjs/utils/maths.js +0 -229
  489. package/lib.commonjs/utils/maths.js.map +0 -1
  490. package/lib.commonjs/utils/properties.d.ts +0 -23
  491. package/lib.commonjs/utils/properties.d.ts.map +0 -1
  492. package/lib.commonjs/utils/properties.js +0 -59
  493. package/lib.commonjs/utils/properties.js.map +0 -1
  494. package/lib.commonjs/utils/rlp-decode.d.ts +0 -6
  495. package/lib.commonjs/utils/rlp-decode.d.ts.map +0 -1
  496. package/lib.commonjs/utils/rlp-decode.js +0 -83
  497. package/lib.commonjs/utils/rlp-decode.js.map +0 -1
  498. package/lib.commonjs/utils/rlp-encode.d.ts +0 -6
  499. package/lib.commonjs/utils/rlp-encode.d.ts.map +0 -1
  500. package/lib.commonjs/utils/rlp-encode.js +0 -53
  501. package/lib.commonjs/utils/rlp-encode.js.map +0 -1
  502. package/lib.commonjs/utils/rlp.d.ts +0 -17
  503. package/lib.commonjs/utils/rlp.d.ts.map +0 -1
  504. package/lib.commonjs/utils/rlp.js +0 -14
  505. package/lib.commonjs/utils/rlp.js.map +0 -1
  506. package/lib.commonjs/utils/units.d.ts +0 -24
  507. package/lib.commonjs/utils/units.d.ts.map +0 -1
  508. package/lib.commonjs/utils/units.js +0 -90
  509. package/lib.commonjs/utils/units.js.map +0 -1
  510. package/lib.commonjs/utils/utf8.d.ts +0 -96
  511. package/lib.commonjs/utils/utf8.d.ts.map +0 -1
  512. package/lib.commonjs/utils/utf8.js +0 -227
  513. package/lib.commonjs/utils/utf8.js.map +0 -1
  514. package/lib.commonjs/utils/uuid.d.ts +0 -8
  515. package/lib.commonjs/utils/uuid.d.ts.map +0 -1
  516. package/lib.commonjs/utils/uuid.js +0 -34
  517. package/lib.commonjs/utils/uuid.js.map +0 -1
  518. package/lib.commonjs/wallet/base-wallet.d.ts +0 -57
  519. package/lib.commonjs/wallet/base-wallet.d.ts.map +0 -1
  520. package/lib.commonjs/wallet/base-wallet.js +0 -127
  521. package/lib.commonjs/wallet/base-wallet.js.map +0 -1
  522. package/lib.commonjs/wallet/index.d.ts +0 -23
  523. package/lib.commonjs/wallet/index.d.ts.map +0 -1
  524. package/lib.commonjs/wallet/index.js +0 -30
  525. package/lib.commonjs/wallet/index.js.map +0 -1
  526. package/lib.commonjs/wallet/json-keystore.d.ts +0 -40
  527. package/lib.commonjs/wallet/json-keystore.d.ts.map +0 -1
  528. package/lib.commonjs/wallet/json-keystore.js +0 -90
  529. package/lib.commonjs/wallet/json-keystore.js.map +0 -1
  530. package/lib.commonjs/wallet/utils.d.ts +0 -8
  531. package/lib.commonjs/wallet/utils.d.ts.map +0 -1
  532. package/lib.commonjs/wallet/utils.js +0 -149
  533. package/lib.commonjs/wallet/utils.js.map +0 -1
  534. package/lib.commonjs/wallet/wallet.d.ts +0 -62
  535. package/lib.commonjs/wallet/wallet.d.ts.map +0 -1
  536. package/lib.commonjs/wallet/wallet.js +0 -109
  537. package/lib.commonjs/wallet/wallet.js.map +0 -1
  538. package/lib.commonjs/wordlists/bit-reader.d.ts +0 -5
  539. package/lib.commonjs/wordlists/bit-reader.d.ts.map +0 -1
  540. package/lib.commonjs/wordlists/bit-reader.js +0 -36
  541. package/lib.commonjs/wordlists/bit-reader.js.map +0 -1
  542. package/lib.commonjs/wordlists/decode-owl.d.ts +0 -9
  543. package/lib.commonjs/wordlists/decode-owl.d.ts.map +0 -1
  544. package/lib.commonjs/wordlists/decode-owl.js +0 -60
  545. package/lib.commonjs/wordlists/decode-owl.js.map +0 -1
  546. package/lib.commonjs/wordlists/decode-owla.d.ts +0 -5
  547. package/lib.commonjs/wordlists/decode-owla.d.ts.map +0 -1
  548. package/lib.commonjs/wordlists/decode-owla.js +0 -32
  549. package/lib.commonjs/wordlists/decode-owla.js.map +0 -1
  550. package/lib.commonjs/wordlists/generation/encode-latin.d.ts +0 -25
  551. package/lib.commonjs/wordlists/generation/encode-latin.d.ts.map +0 -1
  552. package/lib.commonjs/wordlists/generation/encode-latin.js +0 -351
  553. package/lib.commonjs/wordlists/generation/encode-latin.js.map +0 -1
  554. package/lib.commonjs/wordlists/index.d.ts +0 -25
  555. package/lib.commonjs/wordlists/index.d.ts.map +0 -1
  556. package/lib.commonjs/wordlists/index.js +0 -33
  557. package/lib.commonjs/wordlists/index.js.map +0 -1
  558. package/lib.commonjs/wordlists/lang-cz.d.ts +0 -23
  559. package/lib.commonjs/wordlists/lang-cz.d.ts.map +0 -1
  560. package/lib.commonjs/wordlists/lang-cz.js +0 -35
  561. package/lib.commonjs/wordlists/lang-cz.js.map +0 -1
  562. package/lib.commonjs/wordlists/lang-en.d.ts +0 -23
  563. package/lib.commonjs/wordlists/lang-en.d.ts.map +0 -1
  564. package/lib.commonjs/wordlists/lang-en.js +0 -35
  565. package/lib.commonjs/wordlists/lang-en.js.map +0 -1
  566. package/lib.commonjs/wordlists/lang-es.d.ts +0 -23
  567. package/lib.commonjs/wordlists/lang-es.d.ts.map +0 -1
  568. package/lib.commonjs/wordlists/lang-es.js +0 -36
  569. package/lib.commonjs/wordlists/lang-es.js.map +0 -1
  570. package/lib.commonjs/wordlists/lang-fr.d.ts +0 -23
  571. package/lib.commonjs/wordlists/lang-fr.d.ts.map +0 -1
  572. package/lib.commonjs/wordlists/lang-fr.js +0 -36
  573. package/lib.commonjs/wordlists/lang-fr.js.map +0 -1
  574. package/lib.commonjs/wordlists/lang-it.d.ts +0 -23
  575. package/lib.commonjs/wordlists/lang-it.d.ts.map +0 -1
  576. package/lib.commonjs/wordlists/lang-it.js +0 -35
  577. package/lib.commonjs/wordlists/lang-it.js.map +0 -1
  578. package/lib.commonjs/wordlists/lang-ja.d.ts +0 -27
  579. package/lib.commonjs/wordlists/lang-ja.d.ts.map +0 -1
  580. package/lib.commonjs/wordlists/lang-ja.js +0 -158
  581. package/lib.commonjs/wordlists/lang-ja.js.map +0 -1
  582. package/lib.commonjs/wordlists/lang-ko.d.ts +0 -25
  583. package/lib.commonjs/wordlists/lang-ko.d.ts.map +0 -1
  584. package/lib.commonjs/wordlists/lang-ko.js +0 -93
  585. package/lib.commonjs/wordlists/lang-ko.js.map +0 -1
  586. package/lib.commonjs/wordlists/lang-pt.d.ts +0 -23
  587. package/lib.commonjs/wordlists/lang-pt.d.ts.map +0 -1
  588. package/lib.commonjs/wordlists/lang-pt.js +0 -35
  589. package/lib.commonjs/wordlists/lang-pt.js.map +0 -1
  590. package/lib.commonjs/wordlists/lang-zh.d.ts +0 -32
  591. package/lib.commonjs/wordlists/lang-zh.d.ts.map +0 -1
  592. package/lib.commonjs/wordlists/lang-zh.js +0 -96
  593. package/lib.commonjs/wordlists/lang-zh.js.map +0 -1
  594. package/lib.commonjs/wordlists/wordlist-owl.d.ts +0 -32
  595. package/lib.commonjs/wordlists/wordlist-owl.d.ts.map +0 -1
  596. package/lib.commonjs/wordlists/wordlist-owl.js +0 -70
  597. package/lib.commonjs/wordlists/wordlist-owl.js.map +0 -1
  598. package/lib.commonjs/wordlists/wordlist-owla.d.ts +0 -30
  599. package/lib.commonjs/wordlists/wordlist-owla.d.ts.map +0 -1
  600. package/lib.commonjs/wordlists/wordlist-owla.js +0 -40
  601. package/lib.commonjs/wordlists/wordlist-owla.js.map +0 -1
  602. package/lib.commonjs/wordlists/wordlist.d.ts +0 -47
  603. package/lib.commonjs/wordlists/wordlist.d.ts.map +0 -1
  604. package/lib.commonjs/wordlists/wordlist.js +0 -46
  605. package/lib.commonjs/wordlists/wordlist.js.map +0 -1
  606. package/lib.commonjs/wordlists/wordlists-browser.d.ts +0 -3
  607. package/lib.commonjs/wordlists/wordlists-browser.d.ts.map +0 -1
  608. package/lib.commonjs/wordlists/wordlists-browser.js +0 -8
  609. package/lib.commonjs/wordlists/wordlists-browser.js.map +0 -1
  610. package/lib.commonjs/wordlists/wordlists-extra.d.ts +0 -9
  611. package/lib.commonjs/wordlists/wordlists-extra.d.ts.map +0 -1
  612. package/lib.commonjs/wordlists/wordlists-extra.js +0 -20
  613. package/lib.commonjs/wordlists/wordlists-extra.js.map +0 -1
  614. package/lib.commonjs/wordlists/wordlists.d.ts +0 -16
  615. package/lib.commonjs/wordlists/wordlists.d.ts.map +0 -1
  616. package/lib.commonjs/wordlists/wordlists.js +0 -38
  617. package/lib.commonjs/wordlists/wordlists.js.map +0 -1
  618. package/lib.esm/README.md +0 -16
  619. package/lib.esm/_version.d.ts +0 -5
  620. package/lib.esm/_version.d.ts.map +0 -1
  621. package/lib.esm/_version.js +0 -6
  622. package/lib.esm/_version.js.map +0 -1
  623. package/lib.esm/abi/abi-coder.d.ts +0 -61
  624. package/lib.esm/abi/abi-coder.d.ts.map +0 -1
  625. package/lib.esm/abi/abi-coder.js +0 -206
  626. package/lib.esm/abi/abi-coder.js.map +0 -1
  627. package/lib.esm/abi/bytes32.d.ts +0 -15
  628. package/lib.esm/abi/bytes32.d.ts.map +0 -1
  629. package/lib.esm/abi/bytes32.js +0 -40
  630. package/lib.esm/abi/bytes32.js.map +0 -1
  631. package/lib.esm/abi/coders/abstract-coder.d.ts +0 -124
  632. package/lib.esm/abi/coders/abstract-coder.d.ts.map +0 -1
  633. package/lib.esm/abi/coders/abstract-coder.js +0 -466
  634. package/lib.esm/abi/coders/abstract-coder.js.map +0 -1
  635. package/lib.esm/abi/coders/address.d.ts +0 -13
  636. package/lib.esm/abi/coders/address.d.ts.map +0 -1
  637. package/lib.esm/abi/coders/address.js +0 -29
  638. package/lib.esm/abi/coders/address.js.map +0 -1
  639. package/lib.esm/abi/coders/anonymous.d.ts +0 -15
  640. package/lib.esm/abi/coders/anonymous.d.ts.map +0 -1
  641. package/lib.esm/abi/coders/anonymous.js +0 -23
  642. package/lib.esm/abi/coders/anonymous.js.map +0 -1
  643. package/lib.esm/abi/coders/array.d.ts +0 -25
  644. package/lib.esm/abi/coders/array.d.ts.map +0 -1
  645. package/lib.esm/abi/coders/array.js +0 -159
  646. package/lib.esm/abi/coders/array.js.map +0 -1
  647. package/lib.esm/abi/coders/boolean.d.ts +0 -13
  648. package/lib.esm/abi/coders/boolean.d.ts.map +0 -1
  649. package/lib.esm/abi/coders/boolean.js +0 -21
  650. package/lib.esm/abi/coders/boolean.js.map +0 -1
  651. package/lib.esm/abi/coders/bytes.d.ts +0 -19
  652. package/lib.esm/abi/coders/bytes.d.ts.map +0 -1
  653. package/lib.esm/abi/coders/bytes.js +0 -34
  654. package/lib.esm/abi/coders/bytes.js.map +0 -1
  655. package/lib.esm/abi/coders/fixed-bytes.d.ts +0 -15
  656. package/lib.esm/abi/coders/fixed-bytes.d.ts.map +0 -1
  657. package/lib.esm/abi/coders/fixed-bytes.js +0 -28
  658. package/lib.esm/abi/coders/fixed-bytes.js.map +0 -1
  659. package/lib.esm/abi/coders/null.d.ts +0 -12
  660. package/lib.esm/abi/coders/null.d.ts.map +0 -1
  661. package/lib.esm/abi/coders/null.js +0 -24
  662. package/lib.esm/abi/coders/null.js.map +0 -1
  663. package/lib.esm/abi/coders/number.d.ts +0 -16
  664. package/lib.esm/abi/coders/number.d.ts.map +0 -1
  665. package/lib.esm/abi/coders/number.js +0 -45
  666. package/lib.esm/abi/coders/number.js.map +0 -1
  667. package/lib.esm/abi/coders/string.d.ts +0 -13
  668. package/lib.esm/abi/coders/string.d.ts.map +0 -1
  669. package/lib.esm/abi/coders/string.js +0 -21
  670. package/lib.esm/abi/coders/string.js.map +0 -1
  671. package/lib.esm/abi/coders/tuple.d.ts +0 -16
  672. package/lib.esm/abi/coders/tuple.d.ts.map +0 -1
  673. package/lib.esm/abi/coders/tuple.js +0 -63
  674. package/lib.esm/abi/coders/tuple.js.map +0 -1
  675. package/lib.esm/abi/fragments.d.ts +0 -466
  676. package/lib.esm/abi/fragments.d.ts.map +0 -1
  677. package/lib.esm/abi/fragments.js +0 -1319
  678. package/lib.esm/abi/fragments.js.map +0 -1
  679. package/lib.esm/abi/index.d.ts +0 -18
  680. package/lib.esm/abi/index.d.ts.map +0 -1
  681. package/lib.esm/abi/index.js +0 -17
  682. package/lib.esm/abi/index.js.map +0 -1
  683. package/lib.esm/abi/interface.d.ts +0 -382
  684. package/lib.esm/abi/interface.d.ts.map +0 -1
  685. package/lib.esm/abi/interface.js +0 -1101
  686. package/lib.esm/abi/interface.js.map +0 -1
  687. package/lib.esm/abi/typed.d.ts +0 -570
  688. package/lib.esm/abi/typed.d.ts.map +0 -1
  689. package/lib.esm/abi/typed.js +0 -602
  690. package/lib.esm/abi/typed.js.map +0 -1
  691. package/lib.esm/address/address.d.ts +0 -36
  692. package/lib.esm/address/address.d.ts.map +0 -1
  693. package/lib.esm/address/address.js +0 -129
  694. package/lib.esm/address/address.js.map +0 -1
  695. package/lib.esm/address/checks.d.ts +0 -81
  696. package/lib.esm/address/checks.d.ts.map +0 -1
  697. package/lib.esm/address/checks.js +0 -114
  698. package/lib.esm/address/checks.js.map +0 -1
  699. package/lib.esm/address/contract-address.d.ts +0 -48
  700. package/lib.esm/address/contract-address.d.ts.map +0 -1
  701. package/lib.esm/address/contract-address.js +0 -69
  702. package/lib.esm/address/contract-address.js.map +0 -1
  703. package/lib.esm/address/index.d.ts +0 -49
  704. package/lib.esm/address/index.d.ts.map +0 -1
  705. package/lib.esm/address/index.js +0 -19
  706. package/lib.esm/address/index.js.map +0 -1
  707. package/lib.esm/constants/addresses.d.ts +0 -7
  708. package/lib.esm/constants/addresses.d.ts.map +0 -1
  709. package/lib.esm/constants/addresses.js +0 -7
  710. package/lib.esm/constants/addresses.js.map +0 -1
  711. package/lib.esm/constants/hashes.d.ts +0 -7
  712. package/lib.esm/constants/hashes.d.ts.map +0 -1
  713. package/lib.esm/constants/hashes.js +0 -7
  714. package/lib.esm/constants/hashes.js.map +0 -1
  715. package/lib.esm/constants/index.d.ts +0 -10
  716. package/lib.esm/constants/index.d.ts.map +0 -1
  717. package/lib.esm/constants/index.js +0 -10
  718. package/lib.esm/constants/index.js.map +0 -1
  719. package/lib.esm/constants/numbers.d.ts +0 -31
  720. package/lib.esm/constants/numbers.d.ts.map +0 -1
  721. package/lib.esm/constants/numbers.js +0 -31
  722. package/lib.esm/constants/numbers.js.map +0 -1
  723. package/lib.esm/constants/strings.d.ts +0 -13
  724. package/lib.esm/constants/strings.d.ts.map +0 -1
  725. package/lib.esm/constants/strings.js +0 -14
  726. package/lib.esm/constants/strings.js.map +0 -1
  727. package/lib.esm/contract/contract.d.ts +0 -168
  728. package/lib.esm/contract/contract.d.ts.map +0 -1
  729. package/lib.esm/contract/contract.js +0 -953
  730. package/lib.esm/contract/contract.js.map +0 -1
  731. package/lib.esm/contract/factory.d.ts +0 -62
  732. package/lib.esm/contract/factory.d.ts.map +0 -1
  733. package/lib.esm/contract/factory.js +0 -112
  734. package/lib.esm/contract/factory.js.map +0 -1
  735. package/lib.esm/contract/index.d.ts +0 -13
  736. package/lib.esm/contract/index.d.ts.map +0 -1
  737. package/lib.esm/contract/index.js +0 -12
  738. package/lib.esm/contract/index.js.map +0 -1
  739. package/lib.esm/contract/types.d.ts +0 -193
  740. package/lib.esm/contract/types.d.ts.map +0 -1
  741. package/lib.esm/contract/types.js +0 -5
  742. package/lib.esm/contract/types.js.map +0 -1
  743. package/lib.esm/contract/wrappers.d.ts +0 -143
  744. package/lib.esm/contract/wrappers.d.ts.map +0 -1
  745. package/lib.esm/contract/wrappers.js +0 -177
  746. package/lib.esm/contract/wrappers.js.map +0 -1
  747. package/lib.esm/crypto/crypto-browser.d.ts +0 -15
  748. package/lib.esm/crypto/crypto-browser.d.ts.map +0 -1
  749. package/lib.esm/crypto/crypto-browser.js +0 -48
  750. package/lib.esm/crypto/crypto-browser.js.map +0 -1
  751. package/lib.esm/crypto/crypto.d.ts +0 -2
  752. package/lib.esm/crypto/crypto.d.ts.map +0 -1
  753. package/lib.esm/crypto/crypto.js +0 -2
  754. package/lib.esm/crypto/crypto.js.map +0 -1
  755. package/lib.esm/crypto/hmac.d.ts +0 -25
  756. package/lib.esm/crypto/hmac.d.ts.map +0 -1
  757. package/lib.esm/crypto/hmac.js +0 -47
  758. package/lib.esm/crypto/hmac.js.map +0 -1
  759. package/lib.esm/crypto/index.d.ts +0 -25
  760. package/lib.esm/crypto/index.d.ts.map +0 -1
  761. package/lib.esm/crypto/index.js +0 -36
  762. package/lib.esm/crypto/index.js.map +0 -1
  763. package/lib.esm/crypto/keccak.d.ts +0 -35
  764. package/lib.esm/crypto/keccak.d.ts.map +0 -1
  765. package/lib.esm/crypto/keccak.js +0 -48
  766. package/lib.esm/crypto/keccak.js.map +0 -1
  767. package/lib.esm/crypto/pbkdf2.d.ts +0 -35
  768. package/lib.esm/crypto/pbkdf2.d.ts.map +0 -1
  769. package/lib.esm/crypto/pbkdf2.js +0 -49
  770. package/lib.esm/crypto/pbkdf2.js.map +0 -1
  771. package/lib.esm/crypto/random.d.ts +0 -14
  772. package/lib.esm/crypto/random.d.ts.map +0 -1
  773. package/lib.esm/crypto/random.js +0 -34
  774. package/lib.esm/crypto/random.js.map +0 -1
  775. package/lib.esm/crypto/ripemd160.d.ts +0 -25
  776. package/lib.esm/crypto/ripemd160.d.ts.map +0 -1
  777. package/lib.esm/crypto/ripemd160.js +0 -38
  778. package/lib.esm/crypto/ripemd160.js.map +0 -1
  779. package/lib.esm/crypto/scrypt.d.ts +0 -82
  780. package/lib.esm/crypto/scrypt.d.ts.map +0 -1
  781. package/lib.esm/crypto/scrypt.js +0 -99
  782. package/lib.esm/crypto/scrypt.js.map +0 -1
  783. package/lib.esm/crypto/sha2.d.ts +0 -47
  784. package/lib.esm/crypto/sha2.d.ts.map +0 -1
  785. package/lib.esm/crypto/sha2.js +0 -71
  786. package/lib.esm/crypto/sha2.js.map +0 -1
  787. package/lib.esm/crypto/signature.d.ts +0 -145
  788. package/lib.esm/crypto/signature.d.ts.map +0 -1
  789. package/lib.esm/crypto/signature.js +0 -300
  790. package/lib.esm/crypto/signature.js.map +0 -1
  791. package/lib.esm/crypto/signing-key.d.ts +0 -63
  792. package/lib.esm/crypto/signing-key.d.ts.map +0 -1
  793. package/lib.esm/crypto/signing-key.js +0 -97
  794. package/lib.esm/crypto/signing-key.js.map +0 -1
  795. package/lib.esm/hash/authorization.d.ts +0 -18
  796. package/lib.esm/hash/authorization.d.ts.map +0 -1
  797. package/lib.esm/hash/authorization.js +0 -25
  798. package/lib.esm/hash/authorization.js.map +0 -1
  799. package/lib.esm/hash/id.d.ts +0 -13
  800. package/lib.esm/hash/id.d.ts.map +0 -1
  801. package/lib.esm/hash/id.js +0 -17
  802. package/lib.esm/hash/id.js.map +0 -1
  803. package/lib.esm/hash/index.d.ts +0 -15
  804. package/lib.esm/hash/index.d.ts.map +0 -1
  805. package/lib.esm/hash/index.js +0 -13
  806. package/lib.esm/hash/index.js.map +0 -1
  807. package/lib.esm/hash/message.d.ts +0 -36
  808. package/lib.esm/hash/message.d.ts.map +0 -1
  809. package/lib.esm/hash/message.js +0 -51
  810. package/lib.esm/hash/message.js.map +0 -1
  811. package/lib.esm/hash/namehash.d.ts +0 -20
  812. package/lib.esm/hash/namehash.d.ts.map +0 -1
  813. package/lib.esm/hash/namehash.js +0 -84
  814. package/lib.esm/hash/namehash.js.map +0 -1
  815. package/lib.esm/hash/solidity.d.ts +0 -31
  816. package/lib.esm/hash/solidity.d.ts.map +0 -1
  817. package/lib.esm/hash/solidity.js +0 -103
  818. package/lib.esm/hash/solidity.js.map +0 -1
  819. package/lib.esm/hash/typed-data.d.ts +0 -150
  820. package/lib.esm/hash/typed-data.d.ts.map +0 -1
  821. package/lib.esm/hash/typed-data.js +0 -519
  822. package/lib.esm/hash/typed-data.js.map +0 -1
  823. package/lib.esm/index.d.ts +0 -11
  824. package/lib.esm/index.d.ts.map +0 -1
  825. package/lib.esm/index.js +0 -11
  826. package/lib.esm/index.js.map +0 -1
  827. package/lib.esm/package.json +0 -12
  828. package/lib.esm/providers/abstract-provider.d.ts +0 -451
  829. package/lib.esm/providers/abstract-provider.d.ts.map +0 -1
  830. package/lib.esm/providers/abstract-provider.js +0 -1404
  831. package/lib.esm/providers/abstract-provider.js.map +0 -1
  832. package/lib.esm/providers/abstract-signer.d.ts +0 -69
  833. package/lib.esm/providers/abstract-signer.d.ts.map +0 -1
  834. package/lib.esm/providers/abstract-signer.js +0 -244
  835. package/lib.esm/providers/abstract-signer.js.map +0 -1
  836. package/lib.esm/providers/community.d.ts +0 -29
  837. package/lib.esm/providers/community.d.ts.map +0 -1
  838. package/lib.esm/providers/community.js +0 -36
  839. package/lib.esm/providers/community.js.map +0 -1
  840. package/lib.esm/providers/contracts.d.ts +0 -36
  841. package/lib.esm/providers/contracts.d.ts.map +0 -1
  842. package/lib.esm/providers/contracts.js +0 -2
  843. package/lib.esm/providers/contracts.js.map +0 -1
  844. package/lib.esm/providers/default-provider.d.ts +0 -41
  845. package/lib.esm/providers/default-provider.d.ts.map +0 -1
  846. package/lib.esm/providers/default-provider.js +0 -88
  847. package/lib.esm/providers/default-provider.js.map +0 -1
  848. package/lib.esm/providers/ens-resolver.d.ts +0 -147
  849. package/lib.esm/providers/ens-resolver.d.ts.map +0 -1
  850. package/lib.esm/providers/ens-resolver.js +0 -496
  851. package/lib.esm/providers/ens-resolver.js.map +0 -1
  852. package/lib.esm/providers/format.d.ts +0 -15
  853. package/lib.esm/providers/format.d.ts.map +0 -1
  854. package/lib.esm/providers/format.js +0 -283
  855. package/lib.esm/providers/format.js.map +0 -1
  856. package/lib.esm/providers/formatting.d.ts +0 -318
  857. package/lib.esm/providers/formatting.d.ts.map +0 -1
  858. package/lib.esm/providers/formatting.js +0 -9
  859. package/lib.esm/providers/formatting.js.map +0 -1
  860. package/lib.esm/providers/index.d.ts +0 -41
  861. package/lib.esm/providers/index.d.ts.map +0 -1
  862. package/lib.esm/providers/index.js +0 -31
  863. package/lib.esm/providers/index.js.map +0 -1
  864. package/lib.esm/providers/network.d.ts +0 -99
  865. package/lib.esm/providers/network.d.ts.map +0 -1
  866. package/lib.esm/providers/network.js +0 -265
  867. package/lib.esm/providers/network.js.map +0 -1
  868. package/lib.esm/providers/pagination.d.ts +0 -6
  869. package/lib.esm/providers/pagination.d.ts.map +0 -1
  870. package/lib.esm/providers/pagination.js +0 -2
  871. package/lib.esm/providers/pagination.js.map +0 -1
  872. package/lib.esm/providers/plugin-fallback.d.ts +0 -13
  873. package/lib.esm/providers/plugin-fallback.d.ts.map +0 -1
  874. package/lib.esm/providers/plugin-fallback.js +0 -26
  875. package/lib.esm/providers/plugin-fallback.js.map +0 -1
  876. package/lib.esm/providers/plugins-network.d.ts +0 -170
  877. package/lib.esm/providers/plugins-network.d.ts.map +0 -1
  878. package/lib.esm/providers/plugins-network.js +0 -208
  879. package/lib.esm/providers/plugins-network.js.map +0 -1
  880. package/lib.esm/providers/provider-browser.d.ts +0 -108
  881. package/lib.esm/providers/provider-browser.d.ts.map +0 -1
  882. package/lib.esm/providers/provider-browser.js +0 -200
  883. package/lib.esm/providers/provider-browser.js.map +0 -1
  884. package/lib.esm/providers/provider-fallback.d.ts +0 -115
  885. package/lib.esm/providers/provider-fallback.d.ts.map +0 -1
  886. package/lib.esm/providers/provider-fallback.js +0 -620
  887. package/lib.esm/providers/provider-fallback.js.map +0 -1
  888. package/lib.esm/providers/provider-ipcsocket-browser.d.ts +0 -3
  889. package/lib.esm/providers/provider-ipcsocket-browser.d.ts.map +0 -1
  890. package/lib.esm/providers/provider-ipcsocket-browser.js +0 -3
  891. package/lib.esm/providers/provider-ipcsocket-browser.js.map +0 -1
  892. package/lib.esm/providers/provider-ipcsocket.d.ts +0 -21
  893. package/lib.esm/providers/provider-ipcsocket.d.ts.map +0 -1
  894. package/lib.esm/providers/provider-ipcsocket.js +0 -68
  895. package/lib.esm/providers/provider-ipcsocket.js.map +0 -1
  896. package/lib.esm/providers/provider-jsonrpc.d.ts +0 -361
  897. package/lib.esm/providers/provider-jsonrpc.d.ts.map +0 -1
  898. package/lib.esm/providers/provider-jsonrpc.js +0 -973
  899. package/lib.esm/providers/provider-jsonrpc.js.map +0 -1
  900. package/lib.esm/providers/provider-socket.d.ts +0 -113
  901. package/lib.esm/providers/provider-socket.d.ts.map +0 -1
  902. package/lib.esm/providers/provider-socket.js +0 -301
  903. package/lib.esm/providers/provider-socket.js.map +0 -1
  904. package/lib.esm/providers/provider-websocket.d.ts +0 -37
  905. package/lib.esm/providers/provider-websocket.d.ts.map +0 -1
  906. package/lib.esm/providers/provider-websocket.js +0 -76
  907. package/lib.esm/providers/provider-websocket.js.map +0 -1
  908. package/lib.esm/providers/provider.d.ts +0 -1223
  909. package/lib.esm/providers/provider.d.ts.map +0 -1
  910. package/lib.esm/providers/provider.js +0 -1312
  911. package/lib.esm/providers/provider.js.map +0 -1
  912. package/lib.esm/providers/signer-noncemanager.d.ts +0 -38
  913. package/lib.esm/providers/signer-noncemanager.d.ts.map +0 -1
  914. package/lib.esm/providers/signer-noncemanager.js +0 -74
  915. package/lib.esm/providers/signer-noncemanager.js.map +0 -1
  916. package/lib.esm/providers/signer.d.ts +0 -131
  917. package/lib.esm/providers/signer.d.ts.map +0 -1
  918. package/lib.esm/providers/signer.js +0 -2
  919. package/lib.esm/providers/signer.js.map +0 -1
  920. package/lib.esm/providers/subscriber-connection.d.ts +0 -25
  921. package/lib.esm/providers/subscriber-connection.d.ts.map +0 -1
  922. package/lib.esm/providers/subscriber-connection.js +0 -52
  923. package/lib.esm/providers/subscriber-connection.js.map +0 -1
  924. package/lib.esm/providers/subscriber-filterid.d.ts +0 -64
  925. package/lib.esm/providers/subscriber-filterid.d.ts.map +0 -1
  926. package/lib.esm/providers/subscriber-filterid.js +0 -174
  927. package/lib.esm/providers/subscriber-filterid.js.map +0 -1
  928. package/lib.esm/providers/subscriber-polling.d.ts +0 -100
  929. package/lib.esm/providers/subscriber-polling.d.ts.map +0 -1
  930. package/lib.esm/providers/subscriber-polling.js +0 -293
  931. package/lib.esm/providers/subscriber-polling.js.map +0 -1
  932. package/lib.esm/providers/ws-browser.d.ts +0 -3
  933. package/lib.esm/providers/ws-browser.d.ts.map +0 -1
  934. package/lib.esm/providers/ws-browser.js +0 -16
  935. package/lib.esm/providers/ws-browser.js.map +0 -1
  936. package/lib.esm/providers/ws.d.ts +0 -2
  937. package/lib.esm/providers/ws.d.ts.map +0 -1
  938. package/lib.esm/providers/ws.js +0 -2
  939. package/lib.esm/providers/ws.js.map +0 -1
  940. package/lib.esm/quantumcoin.d.ts +0 -24
  941. package/lib.esm/quantumcoin.d.ts.map +0 -1
  942. package/lib.esm/quantumcoin.js +0 -22
  943. package/lib.esm/quantumcoin.js.map +0 -1
  944. package/lib.esm/transaction/accesslist.d.ts +0 -6
  945. package/lib.esm/transaction/accesslist.d.ts.map +0 -1
  946. package/lib.esm/transaction/accesslist.js +0 -37
  947. package/lib.esm/transaction/accesslist.js.map +0 -1
  948. package/lib.esm/transaction/address.d.ts +0 -15
  949. package/lib.esm/transaction/address.d.ts.map +0 -1
  950. package/lib.esm/transaction/address.js +0 -34
  951. package/lib.esm/transaction/address.js.map +0 -1
  952. package/lib.esm/transaction/authorization.d.ts +0 -3
  953. package/lib.esm/transaction/authorization.d.ts.map +0 -1
  954. package/lib.esm/transaction/authorization.js +0 -12
  955. package/lib.esm/transaction/authorization.js.map +0 -1
  956. package/lib.esm/transaction/index.d.ts +0 -40
  957. package/lib.esm/transaction/index.d.ts.map +0 -1
  958. package/lib.esm/transaction/index.js +0 -11
  959. package/lib.esm/transaction/index.js.map +0 -1
  960. package/lib.esm/transaction/transaction.d.ts +0 -400
  961. package/lib.esm/transaction/transaction.d.ts.map +0 -1
  962. package/lib.esm/transaction/transaction.js +0 -1144
  963. package/lib.esm/transaction/transaction.js.map +0 -1
  964. package/lib.esm/utils/base58.d.ts +0 -23
  965. package/lib.esm/utils/base58.d.ts.map +0 -1
  966. package/lib.esm/utils/base58.js +0 -63
  967. package/lib.esm/utils/base58.js.map +0 -1
  968. package/lib.esm/utils/base64-browser.d.ts +0 -4
  969. package/lib.esm/utils/base64-browser.d.ts.map +0 -1
  970. package/lib.esm/utils/base64-browser.js +0 -19
  971. package/lib.esm/utils/base64-browser.js.map +0 -1
  972. package/lib.esm/utils/base64.d.ts +0 -40
  973. package/lib.esm/utils/base64.d.ts.map +0 -1
  974. package/lib.esm/utils/base64.js +0 -53
  975. package/lib.esm/utils/base64.js.map +0 -1
  976. package/lib.esm/utils/data.d.ts +0 -93
  977. package/lib.esm/utils/data.d.ts.map +0 -1
  978. package/lib.esm/utils/data.js +0 -170
  979. package/lib.esm/utils/data.js.map +0 -1
  980. package/lib.esm/utils/errors.d.ts +0 -512
  981. package/lib.esm/utils/errors.d.ts.map +0 -1
  982. package/lib.esm/utils/errors.js +0 -224
  983. package/lib.esm/utils/errors.js.map +0 -1
  984. package/lib.esm/utils/events.d.ts +0 -77
  985. package/lib.esm/utils/events.d.ts.map +0 -1
  986. package/lib.esm/utils/events.js +0 -42
  987. package/lib.esm/utils/events.js.map +0 -1
  988. package/lib.esm/utils/fetch.d.ts +0 -363
  989. package/lib.esm/utils/fetch.d.ts.map +0 -1
  990. package/lib.esm/utils/fetch.js +0 -852
  991. package/lib.esm/utils/fetch.js.map +0 -1
  992. package/lib.esm/utils/fixednumber.d.ts +0 -252
  993. package/lib.esm/utils/fixednumber.d.ts.map +0 -1
  994. package/lib.esm/utils/fixednumber.js +0 -526
  995. package/lib.esm/utils/fixednumber.js.map +0 -1
  996. package/lib.esm/utils/geturl-browser.d.ts +0 -4
  997. package/lib.esm/utils/geturl-browser.d.ts.map +0 -1
  998. package/lib.esm/utils/geturl-browser.js +0 -62
  999. package/lib.esm/utils/geturl-browser.js.map +0 -1
  1000. package/lib.esm/utils/geturl.d.ts +0 -10
  1001. package/lib.esm/utils/geturl.d.ts.map +0 -1
  1002. package/lib.esm/utils/geturl.js +0 -114
  1003. package/lib.esm/utils/geturl.js.map +0 -1
  1004. package/lib.esm/utils/index.d.ts +0 -30
  1005. package/lib.esm/utils/index.d.ts.map +0 -1
  1006. package/lib.esm/utils/index.js +0 -22
  1007. package/lib.esm/utils/index.js.map +0 -1
  1008. package/lib.esm/utils/maths.d.ts +0 -66
  1009. package/lib.esm/utils/maths.d.ts.map +0 -1
  1010. package/lib.esm/utils/maths.js +0 -215
  1011. package/lib.esm/utils/maths.js.map +0 -1
  1012. package/lib.esm/utils/properties.d.ts +0 -23
  1013. package/lib.esm/utils/properties.d.ts.map +0 -1
  1014. package/lib.esm/utils/properties.js +0 -54
  1015. package/lib.esm/utils/properties.js.map +0 -1
  1016. package/lib.esm/utils/rlp-decode.d.ts +0 -6
  1017. package/lib.esm/utils/rlp-decode.d.ts.map +0 -1
  1018. package/lib.esm/utils/rlp-decode.js +0 -79
  1019. package/lib.esm/utils/rlp-decode.js.map +0 -1
  1020. package/lib.esm/utils/rlp-encode.d.ts +0 -6
  1021. package/lib.esm/utils/rlp-encode.d.ts.map +0 -1
  1022. package/lib.esm/utils/rlp-encode.js +0 -49
  1023. package/lib.esm/utils/rlp-encode.js.map +0 -1
  1024. package/lib.esm/utils/rlp.d.ts +0 -17
  1025. package/lib.esm/utils/rlp.d.ts.map +0 -1
  1026. package/lib.esm/utils/rlp.js +0 -9
  1027. package/lib.esm/utils/rlp.js.map +0 -1
  1028. package/lib.esm/utils/units.d.ts +0 -24
  1029. package/lib.esm/utils/units.d.ts.map +0 -1
  1030. package/lib.esm/utils/units.js +0 -83
  1031. package/lib.esm/utils/units.js.map +0 -1
  1032. package/lib.esm/utils/utf8.d.ts +0 -96
  1033. package/lib.esm/utils/utf8.d.ts.map +0 -1
  1034. package/lib.esm/utils/utf8.js +0 -221
  1035. package/lib.esm/utils/utf8.js.map +0 -1
  1036. package/lib.esm/utils/uuid.d.ts +0 -8
  1037. package/lib.esm/utils/uuid.d.ts.map +0 -1
  1038. package/lib.esm/utils/uuid.js +0 -30
  1039. package/lib.esm/utils/uuid.js.map +0 -1
  1040. package/lib.esm/wallet/base-wallet.d.ts +0 -57
  1041. package/lib.esm/wallet/base-wallet.d.ts.map +0 -1
  1042. package/lib.esm/wallet/base-wallet.js +0 -123
  1043. package/lib.esm/wallet/base-wallet.js.map +0 -1
  1044. package/lib.esm/wallet/index.d.ts +0 -23
  1045. package/lib.esm/wallet/index.d.ts.map +0 -1
  1046. package/lib.esm/wallet/index.js +0 -22
  1047. package/lib.esm/wallet/index.js.map +0 -1
  1048. package/lib.esm/wallet/json-keystore.d.ts +0 -40
  1049. package/lib.esm/wallet/json-keystore.d.ts.map +0 -1
  1050. package/lib.esm/wallet/json-keystore.js +0 -84
  1051. package/lib.esm/wallet/json-keystore.js.map +0 -1
  1052. package/lib.esm/wallet/utils.d.ts +0 -8
  1053. package/lib.esm/wallet/utils.d.ts.map +0 -1
  1054. package/lib.esm/wallet/utils.js +0 -142
  1055. package/lib.esm/wallet/utils.js.map +0 -1
  1056. package/lib.esm/wallet/wallet.d.ts +0 -62
  1057. package/lib.esm/wallet/wallet.d.ts.map +0 -1
  1058. package/lib.esm/wallet/wallet.js +0 -105
  1059. package/lib.esm/wallet/wallet.js.map +0 -1
  1060. package/lib.esm/wordlists/bit-reader.d.ts +0 -5
  1061. package/lib.esm/wordlists/bit-reader.d.ts.map +0 -1
  1062. package/lib.esm/wordlists/bit-reader.js +0 -32
  1063. package/lib.esm/wordlists/bit-reader.js.map +0 -1
  1064. package/lib.esm/wordlists/decode-owl.d.ts +0 -9
  1065. package/lib.esm/wordlists/decode-owl.d.ts.map +0 -1
  1066. package/lib.esm/wordlists/decode-owl.js +0 -55
  1067. package/lib.esm/wordlists/decode-owl.js.map +0 -1
  1068. package/lib.esm/wordlists/decode-owla.d.ts +0 -5
  1069. package/lib.esm/wordlists/decode-owla.d.ts.map +0 -1
  1070. package/lib.esm/wordlists/decode-owla.js +0 -28
  1071. package/lib.esm/wordlists/decode-owla.js.map +0 -1
  1072. package/lib.esm/wordlists/generation/encode-latin.d.ts +0 -25
  1073. package/lib.esm/wordlists/generation/encode-latin.d.ts.map +0 -1
  1074. package/lib.esm/wordlists/generation/encode-latin.js +0 -344
  1075. package/lib.esm/wordlists/generation/encode-latin.js.map +0 -1
  1076. package/lib.esm/wordlists/index.d.ts +0 -25
  1077. package/lib.esm/wordlists/index.d.ts.map +0 -1
  1078. package/lib.esm/wordlists/index.js +0 -25
  1079. package/lib.esm/wordlists/index.js.map +0 -1
  1080. package/lib.esm/wordlists/lang-cz.d.ts +0 -23
  1081. package/lib.esm/wordlists/lang-cz.d.ts.map +0 -1
  1082. package/lib.esm/wordlists/lang-cz.js +0 -31
  1083. package/lib.esm/wordlists/lang-cz.js.map +0 -1
  1084. package/lib.esm/wordlists/lang-en.d.ts +0 -23
  1085. package/lib.esm/wordlists/lang-en.d.ts.map +0 -1
  1086. package/lib.esm/wordlists/lang-en.js +0 -31
  1087. package/lib.esm/wordlists/lang-en.js.map +0 -1
  1088. package/lib.esm/wordlists/lang-es.d.ts +0 -23
  1089. package/lib.esm/wordlists/lang-es.d.ts.map +0 -1
  1090. package/lib.esm/wordlists/lang-es.js +0 -32
  1091. package/lib.esm/wordlists/lang-es.js.map +0 -1
  1092. package/lib.esm/wordlists/lang-fr.d.ts +0 -23
  1093. package/lib.esm/wordlists/lang-fr.d.ts.map +0 -1
  1094. package/lib.esm/wordlists/lang-fr.js +0 -32
  1095. package/lib.esm/wordlists/lang-fr.js.map +0 -1
  1096. package/lib.esm/wordlists/lang-it.d.ts +0 -23
  1097. package/lib.esm/wordlists/lang-it.d.ts.map +0 -1
  1098. package/lib.esm/wordlists/lang-it.js +0 -31
  1099. package/lib.esm/wordlists/lang-it.js.map +0 -1
  1100. package/lib.esm/wordlists/lang-ja.d.ts +0 -27
  1101. package/lib.esm/wordlists/lang-ja.d.ts.map +0 -1
  1102. package/lib.esm/wordlists/lang-ja.js +0 -154
  1103. package/lib.esm/wordlists/lang-ja.js.map +0 -1
  1104. package/lib.esm/wordlists/lang-ko.d.ts +0 -25
  1105. package/lib.esm/wordlists/lang-ko.d.ts.map +0 -1
  1106. package/lib.esm/wordlists/lang-ko.js +0 -89
  1107. package/lib.esm/wordlists/lang-ko.js.map +0 -1
  1108. package/lib.esm/wordlists/lang-pt.d.ts +0 -23
  1109. package/lib.esm/wordlists/lang-pt.d.ts.map +0 -1
  1110. package/lib.esm/wordlists/lang-pt.js +0 -31
  1111. package/lib.esm/wordlists/lang-pt.js.map +0 -1
  1112. package/lib.esm/wordlists/lang-zh.d.ts +0 -32
  1113. package/lib.esm/wordlists/lang-zh.d.ts.map +0 -1
  1114. package/lib.esm/wordlists/lang-zh.js +0 -92
  1115. package/lib.esm/wordlists/lang-zh.js.map +0 -1
  1116. package/lib.esm/wordlists/wordlist-owl.d.ts +0 -32
  1117. package/lib.esm/wordlists/wordlist-owl.d.ts.map +0 -1
  1118. package/lib.esm/wordlists/wordlist-owl.js +0 -66
  1119. package/lib.esm/wordlists/wordlist-owl.js.map +0 -1
  1120. package/lib.esm/wordlists/wordlist-owla.d.ts +0 -30
  1121. package/lib.esm/wordlists/wordlist-owla.d.ts.map +0 -1
  1122. package/lib.esm/wordlists/wordlist-owla.js +0 -36
  1123. package/lib.esm/wordlists/wordlist-owla.js.map +0 -1
  1124. package/lib.esm/wordlists/wordlist.d.ts +0 -47
  1125. package/lib.esm/wordlists/wordlist.d.ts.map +0 -1
  1126. package/lib.esm/wordlists/wordlist.js +0 -42
  1127. package/lib.esm/wordlists/wordlist.js.map +0 -1
  1128. package/lib.esm/wordlists/wordlists-browser.d.ts +0 -3
  1129. package/lib.esm/wordlists/wordlists-browser.d.ts.map +0 -1
  1130. package/lib.esm/wordlists/wordlists-browser.js +0 -5
  1131. package/lib.esm/wordlists/wordlists-browser.js.map +0 -1
  1132. package/lib.esm/wordlists/wordlists-extra.d.ts +0 -9
  1133. package/lib.esm/wordlists/wordlists-extra.d.ts.map +0 -1
  1134. package/lib.esm/wordlists/wordlists-extra.js +0 -9
  1135. package/lib.esm/wordlists/wordlists-extra.js.map +0 -1
  1136. package/lib.esm/wordlists/wordlists.d.ts +0 -16
  1137. package/lib.esm/wordlists/wordlists.d.ts.map +0 -1
  1138. package/lib.esm/wordlists/wordlists.js +0 -35
  1139. package/lib.esm/wordlists/wordlists.js.map +0 -1
  1140. package/rollup.config.mjs +0 -50
  1141. package/src.ts/_version.ts +0 -6
  1142. package/src.ts/abi/abi-coder.ts +0 -237
  1143. package/src.ts/abi/bytes32.ts +0 -45
  1144. package/src.ts/abi/coders/abstract-coder.ts +0 -541
  1145. package/src.ts/abi/coders/address.ts +0 -36
  1146. package/src.ts/abi/coders/anonymous.ts +0 -29
  1147. package/src.ts/abi/coders/array.ts +0 -199
  1148. package/src.ts/abi/coders/boolean.ts +0 -27
  1149. package/src.ts/abi/coders/bytes.ts +0 -43
  1150. package/src.ts/abi/coders/fixed-bytes.ts +0 -37
  1151. package/src.ts/abi/coders/null.ts +0 -28
  1152. package/src.ts/abi/coders/number.ts +0 -63
  1153. package/src.ts/abi/coders/string.ts +0 -29
  1154. package/src.ts/abi/coders/tuple.ts +0 -69
  1155. package/src.ts/abi/fragments.ts +0 -1617
  1156. package/src.ts/abi/index.ts +0 -41
  1157. package/src.ts/abi/interface.ts +0 -1271
  1158. package/src.ts/abi/typed.ts +0 -796
  1159. package/src.ts/address/address.ts +0 -148
  1160. package/src.ts/address/checks.ts +0 -123
  1161. package/src.ts/address/contract-address.ts +0 -80
  1162. package/src.ts/address/index.ts +0 -57
  1163. package/src.ts/constants/addresses.ts +0 -8
  1164. package/src.ts/constants/hashes.ts +0 -7
  1165. package/src.ts/constants/index.ts +0 -16
  1166. package/src.ts/constants/numbers.ts +0 -35
  1167. package/src.ts/constants/strings.ts +0 -16
  1168. package/src.ts/contract/contract.ts +0 -1120
  1169. package/src.ts/contract/factory.ts +0 -143
  1170. package/src.ts/contract/index.ts +0 -31
  1171. package/src.ts/contract/types.ts +0 -236
  1172. package/src.ts/contract/wrappers.ts +0 -225
  1173. package/src.ts/crypto/crypto-browser.ts +0 -64
  1174. package/src.ts/crypto/crypto.ts +0 -4
  1175. package/src.ts/crypto/hmac.ts +0 -51
  1176. package/src.ts/crypto/index.ts +0 -59
  1177. package/src.ts/crypto/keccak.ts +0 -54
  1178. package/src.ts/crypto/pbkdf2.ts +0 -55
  1179. package/src.ts/crypto/random.ts +0 -36
  1180. package/src.ts/crypto/ripemd160.ts +0 -43
  1181. package/src.ts/crypto/scrypt.ts +0 -114
  1182. package/src.ts/crypto/sha2.ts +0 -78
  1183. package/src.ts/crypto/signature.ts +0 -349
  1184. package/src.ts/crypto/signing-key.ts +0 -123
  1185. package/src.ts/hash/authorization.ts +0 -38
  1186. package/src.ts/hash/id.ts +0 -17
  1187. package/src.ts/hash/index.ts +0 -18
  1188. package/src.ts/hash/message.ts +0 -51
  1189. package/src.ts/hash/namehash.ts +0 -101
  1190. package/src.ts/hash/solidity.ts +0 -117
  1191. package/src.ts/hash/typed-data.ts +0 -658
  1192. package/src.ts/index.ts +0 -12
  1193. package/src.ts/providers/abstract-provider.ts +0 -1761
  1194. package/src.ts/providers/abstract-signer.ts +0 -314
  1195. package/src.ts/providers/community.ts +0 -49
  1196. package/src.ts/providers/contracts.ts +0 -42
  1197. package/src.ts/providers/default-provider.ts +0 -96
  1198. package/src.ts/providers/ens-resolver.ts +0 -606
  1199. package/src.ts/providers/format.ts +0 -320
  1200. package/src.ts/providers/formatting.ts +0 -418
  1201. package/src.ts/providers/index.ts +0 -125
  1202. package/src.ts/providers/network.ts +0 -327
  1203. package/src.ts/providers/pagination.ts +0 -8
  1204. package/src.ts/providers/plugin-fallback.ts +0 -35
  1205. package/src.ts/providers/plugins-network.ts +0 -281
  1206. package/src.ts/providers/provider-browser.ts +0 -334
  1207. package/src.ts/providers/provider-fallback.ts +0 -801
  1208. package/src.ts/providers/provider-ipcsocket-browser.ts +0 -3
  1209. package/src.ts/providers/provider-ipcsocket.ts +0 -81
  1210. package/src.ts/providers/provider-jsonrpc.ts +0 -1335
  1211. package/src.ts/providers/provider-socket.ts +0 -352
  1212. package/src.ts/providers/provider-websocket.ts +0 -103
  1213. package/src.ts/providers/provider.ts +0 -2136
  1214. package/src.ts/providers/signer-noncemanager.ts +0 -98
  1215. package/src.ts/providers/signer.ts +0 -166
  1216. package/src.ts/providers/subscriber-connection.ts +0 -74
  1217. package/src.ts/providers/subscriber-filterid.ts +0 -199
  1218. package/src.ts/providers/subscriber-polling.ts +0 -321
  1219. package/src.ts/providers/ws-browser.ts +0 -11
  1220. package/src.ts/providers/ws.ts +0 -3
  1221. package/src.ts/quantumcoin.ts +0 -219
  1222. package/src.ts/thirdparty.d.ts +0 -16
  1223. package/src.ts/transaction/accesslist.ts +0 -43
  1224. package/src.ts/transaction/address.ts +0 -35
  1225. package/src.ts/transaction/authorization.ts +0 -14
  1226. package/src.ts/transaction/index.ts +0 -51
  1227. package/src.ts/transaction/transaction.ts +0 -1379
  1228. package/src.ts/utils/base58.ts +0 -73
  1229. package/src.ts/utils/base64-browser.ts +0 -25
  1230. package/src.ts/utils/base64.ts +0 -56
  1231. package/src.ts/utils/data.ts +0 -199
  1232. package/src.ts/utils/errors.ts +0 -793
  1233. package/src.ts/utils/events.ts +0 -105
  1234. package/src.ts/utils/fetch.ts +0 -970
  1235. package/src.ts/utils/fixednumber.ts +0 -643
  1236. package/src.ts/utils/geturl-browser.ts +0 -81
  1237. package/src.ts/utils/geturl.ts +0 -134
  1238. package/src.ts/utils/index.ts +0 -95
  1239. package/src.ts/utils/maths.ts +0 -240
  1240. package/src.ts/utils/properties.ts +0 -60
  1241. package/src.ts/utils/rlp-decode.ts +0 -104
  1242. package/src.ts/utils/rlp-encode.ts +0 -64
  1243. package/src.ts/utils/rlp.ts +0 -20
  1244. package/src.ts/utils/test.txt +0 -0
  1245. package/src.ts/utils/units.ts +0 -91
  1246. package/src.ts/utils/utf8.ts +0 -325
  1247. package/src.ts/utils/uuid.ts +0 -36
  1248. package/src.ts/wallet/base-wallet.ts +0 -160
  1249. package/src.ts/wallet/index.ts +0 -32
  1250. package/src.ts/wallet/json-keystore.ts +0 -108
  1251. package/src.ts/wallet/utils.ts +0 -147
  1252. package/src.ts/wallet/wallet.ts +0 -138
  1253. package/src.ts/wordlists/bit-reader.ts +0 -35
  1254. package/src.ts/wordlists/decode-owl.ts +0 -58
  1255. package/src.ts/wordlists/decode-owla.ts +0 -33
  1256. package/src.ts/wordlists/generation/encode-latin.ts +0 -370
  1257. package/src.ts/wordlists/index.ts +0 -26
  1258. package/src.ts/wordlists/lang-cz.ts +0 -33
  1259. package/src.ts/wordlists/lang-en.ts +0 -33
  1260. package/src.ts/wordlists/lang-es.ts +0 -35
  1261. package/src.ts/wordlists/lang-fr.ts +0 -34
  1262. package/src.ts/wordlists/lang-it.ts +0 -33
  1263. package/src.ts/wordlists/lang-ja.ts +0 -181
  1264. package/src.ts/wordlists/lang-ko.ts +0 -104
  1265. package/src.ts/wordlists/lang-pt.ts +0 -34
  1266. package/src.ts/wordlists/lang-zh.ts +0 -112
  1267. package/src.ts/wordlists/wordlist-owl.ts +0 -77
  1268. package/src.ts/wordlists/wordlist-owla.ts +0 -41
  1269. package/src.ts/wordlists/wordlist.ts +0 -59
  1270. package/src.ts/wordlists/wordlists-browser.ts +0 -8
  1271. package/src.ts/wordlists/wordlists-extra.ts +0 -9
  1272. package/src.ts/wordlists/wordlists.ts +0 -38
@@ -1,1404 +0,0 @@
1
- /**
2
- * The available providers should suffice for most developers purposes,
3
- * but the [[AbstractProvider]] class has many features which enable
4
- * sub-classing it for specific purposes.
5
- *
6
- * @_section: api/providers/abstract-provider: Subclassing Provider [abstract-provider]
7
- */
8
- // @TODO
9
- // Event coalescence
10
- // When we register an event with an async value (e.g. address is a Signer
11
- // or ENS name), we need to add it immeidately for the Event API, but also
12
- // need time to resolve the address. Upon resolving the address, we need to
13
- // migrate the listener to the static event. We also need to maintain a map
14
- // of Signer/ENS name to address so we can sync respond to listenerCount.
15
- import { getAddress, resolveAddress } from "../address/index.js";
16
- import { ZeroAddress } from "../constants/index.js";
17
- import { Contract } from "../contract/index.js";
18
- import { namehash } from "../hash/index.js";
19
- import { Transaction } from "../transaction/index.js";
20
- import { concat, dataLength, dataSlice, hexlify, isHexString, getBigInt, getBytes, getNumber, isCallException, isError, makeError, assert, assertArgument, FetchRequest, toBeArray, toQuantity, defineProperties, EventPayload, resolveProperties, toUtf8String } from "../utils/index.js";
21
- import { EnsResolver } from "./ens-resolver.js";
22
- import { formatBlock, formatLog, formatTransactionReceipt, formatTransactionResponse } from "./format.js";
23
- import { Network } from "./network.js";
24
- import { copyRequest, Block, FeeData, Log, TransactionReceipt, TransactionResponse } from "./provider.js";
25
- import { PollingBlockSubscriber, PollingBlockTagSubscriber, PollingEventSubscriber, PollingOrphanSubscriber, PollingTransactionSubscriber } from "./subscriber-polling.js";
26
- // Constants
27
- const BN_2 = BigInt(2);
28
- const MAX_CCIP_REDIRECTS = 10;
29
- function isPromise(value) {
30
- return (value && typeof (value.then) === "function");
31
- }
32
- function getTag(prefix, value) {
33
- return prefix + ":" + JSON.stringify(value, (k, v) => {
34
- if (v == null) {
35
- return "null";
36
- }
37
- if (typeof (v) === "bigint") {
38
- return `bigint:${v.toString()}`;
39
- }
40
- if (typeof (v) === "string") {
41
- return v.toLowerCase();
42
- }
43
- // Sort object keys
44
- if (typeof (v) === "object" && !Array.isArray(v)) {
45
- const keys = Object.keys(v);
46
- keys.sort();
47
- return keys.reduce((accum, key) => {
48
- accum[key] = v[key];
49
- return accum;
50
- }, {});
51
- }
52
- return v;
53
- });
54
- }
55
- /**
56
- * An **UnmanagedSubscriber** is useful for events which do not require
57
- * any additional management, such as ``"debug"`` which only requires
58
- * emit in synchronous event loop triggered calls.
59
- */
60
- export class UnmanagedSubscriber {
61
- /**
62
- * The name fof the event.
63
- */
64
- name;
65
- /**
66
- * Create a new UnmanagedSubscriber with %%name%%.
67
- */
68
- constructor(name) { defineProperties(this, { name }); }
69
- start() { }
70
- stop() { }
71
- pause(dropWhilePaused) { }
72
- resume() { }
73
- }
74
- function copy(value) {
75
- return JSON.parse(JSON.stringify(value));
76
- }
77
- function concisify(items) {
78
- items = Array.from((new Set(items)).values());
79
- items.sort();
80
- return items;
81
- }
82
- async function getSubscription(_event, provider) {
83
- if (_event == null) {
84
- throw new Error("invalid event");
85
- }
86
- // Normalize topic array info an EventFilter
87
- if (Array.isArray(_event)) {
88
- _event = { topics: _event };
89
- }
90
- if (typeof (_event) === "string") {
91
- switch (_event) {
92
- case "block":
93
- case "debug":
94
- case "error":
95
- case "finalized":
96
- case "network":
97
- case "pending":
98
- case "safe": {
99
- return { type: _event, tag: _event };
100
- }
101
- }
102
- }
103
- if (isHexString(_event, 32)) {
104
- const hash = _event.toLowerCase();
105
- return { type: "transaction", tag: getTag("tx", { hash }), hash };
106
- }
107
- if (_event.orphan) {
108
- const event = _event;
109
- // @TODO: Should lowercase and whatnot things here instead of copy...
110
- return { type: "orphan", tag: getTag("orphan", event), filter: copy(event) };
111
- }
112
- if ((_event.address || _event.topics)) {
113
- const event = _event;
114
- const filter = {
115
- topics: ((event.topics || []).map((t) => {
116
- if (t == null) {
117
- return null;
118
- }
119
- if (Array.isArray(t)) {
120
- return concisify(t.map((t) => t.toLowerCase()));
121
- }
122
- return t.toLowerCase();
123
- }))
124
- };
125
- if (event.address) {
126
- const addresses = [];
127
- const promises = [];
128
- const addAddress = (addr) => {
129
- if (isHexString(addr)) {
130
- addresses.push(addr);
131
- }
132
- else {
133
- promises.push((async () => {
134
- addresses.push(await resolveAddress(addr, provider));
135
- })());
136
- }
137
- };
138
- if (Array.isArray(event.address)) {
139
- event.address.forEach(addAddress);
140
- }
141
- else {
142
- addAddress(event.address);
143
- }
144
- if (promises.length) {
145
- await Promise.all(promises);
146
- }
147
- filter.address = concisify(addresses.map((a) => a.toLowerCase()));
148
- }
149
- return { filter, tag: getTag("event", filter), type: "event" };
150
- }
151
- assertArgument(false, "unknown ProviderEvent", "event", _event);
152
- }
153
- function getTime() { return (new Date()).getTime(); }
154
- const defaultOptions = {
155
- cacheTimeout: 250,
156
- pollingInterval: 4000
157
- };
158
- /**
159
- * An **AbstractProvider** provides a base class for other sub-classes to
160
- * implement the [[Provider]] API by normalizing input arguments and
161
- * formatting output results as well as tracking events for consistent
162
- * behaviour on an eventually-consistent network.
163
- */
164
- export class AbstractProvider {
165
- #subs;
166
- #plugins;
167
- // null=unpaused, true=paused+dropWhilePaused, false=paused
168
- #pausedState;
169
- #destroyed;
170
- #networkPromise;
171
- #anyNetwork;
172
- #performCache;
173
- // The most recent block number if running an event or -1 if no "block" event
174
- #lastBlockNumber;
175
- #nextTimer;
176
- #timers;
177
- #disableCcipRead;
178
- #options;
179
- /**
180
- * Create a new **AbstractProvider** connected to %%network%%, or
181
- * use the various network detection capabilities to discover the
182
- * [[Network]] if necessary.
183
- */
184
- constructor(_network, options) {
185
- this.#options = Object.assign({}, defaultOptions, options || {});
186
- if (_network === "any") {
187
- this.#anyNetwork = true;
188
- this.#networkPromise = null;
189
- }
190
- else if (_network) {
191
- const network = Network.from(_network);
192
- this.#anyNetwork = false;
193
- this.#networkPromise = Promise.resolve(network);
194
- setTimeout(() => { this.emit("network", network, null); }, 0);
195
- }
196
- else {
197
- this.#anyNetwork = false;
198
- this.#networkPromise = null;
199
- }
200
- this.#lastBlockNumber = -1;
201
- this.#performCache = new Map();
202
- this.#subs = new Map();
203
- this.#plugins = new Map();
204
- this.#pausedState = null;
205
- this.#destroyed = false;
206
- this.#nextTimer = 1;
207
- this.#timers = new Map();
208
- this.#disableCcipRead = false;
209
- }
210
- get pollingInterval() { return this.#options.pollingInterval; }
211
- /**
212
- * Returns ``this``, to allow an **AbstractProvider** to implement
213
- * the [[ContractRunner]] interface.
214
- */
215
- get provider() { return this; }
216
- /**
217
- * Returns all the registered plug-ins.
218
- */
219
- get plugins() {
220
- return Array.from(this.#plugins.values());
221
- }
222
- /**
223
- * Attach a new plug-in.
224
- */
225
- attachPlugin(plugin) {
226
- if (this.#plugins.get(plugin.name)) {
227
- throw new Error(`cannot replace existing plugin: ${plugin.name} `);
228
- }
229
- this.#plugins.set(plugin.name, plugin.connect(this));
230
- return this;
231
- }
232
- /**
233
- * Get a plugin by name.
234
- */
235
- getPlugin(name) {
236
- return (this.#plugins.get(name)) || null;
237
- }
238
- /**
239
- * Prevent any CCIP-read operation, regardless of whether requested
240
- * in a [[call]] using ``enableCcipRead``.
241
- */
242
- get disableCcipRead() { return this.#disableCcipRead; }
243
- set disableCcipRead(value) { this.#disableCcipRead = !!value; }
244
- // Shares multiple identical requests made during the same 250ms
245
- async #perform(req) {
246
- const timeout = this.#options.cacheTimeout;
247
- // Caching disabled
248
- if (timeout < 0) {
249
- return await this._perform(req);
250
- }
251
- // Create a tag
252
- const tag = getTag(req.method, req);
253
- let perform = this.#performCache.get(tag);
254
- if (!perform) {
255
- perform = this._perform(req);
256
- this.#performCache.set(tag, perform);
257
- setTimeout(() => {
258
- if (this.#performCache.get(tag) === perform) {
259
- this.#performCache.delete(tag);
260
- }
261
- }, timeout);
262
- }
263
- return await perform;
264
- }
265
- /**
266
- * Resolves to the data for executing the CCIP-read operations.
267
- */
268
- async ccipReadFetch(tx, calldata, urls) {
269
- if (this.disableCcipRead || urls.length === 0 || tx.to == null) {
270
- return null;
271
- }
272
- const sender = tx.to.toLowerCase();
273
- const data = calldata.toLowerCase();
274
- const errorMessages = [];
275
- for (let i = 0; i < urls.length; i++) {
276
- const url = urls[i];
277
- // URL expansion
278
- const href = url.replace("{sender}", sender).replace("{data}", data);
279
- // If no {data} is present, use POST; otherwise GET
280
- //const json: string | null = (url.indexOf("{data}") >= 0) ? null: JSON.stringify({ data, sender });
281
- //const result = await fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {
282
- // value.status = response.statusCode;
283
- // return value;
284
- //});
285
- const request = new FetchRequest(href);
286
- if (url.indexOf("{data}") === -1) {
287
- request.body = { data, sender };
288
- }
289
- this.emit("debug", { action: "sendCcipReadFetchRequest", request, index: i, urls });
290
- let errorMessage = "unknown error";
291
- // Fetch the resource...
292
- let resp;
293
- try {
294
- resp = await request.send();
295
- }
296
- catch (error) {
297
- // ...low-level fetch error (missing host, bad SSL, etc.),
298
- // so try next URL
299
- errorMessages.push(error.message);
300
- this.emit("debug", { action: "receiveCcipReadFetchError", request, result: { error } });
301
- continue;
302
- }
303
- try {
304
- const result = resp.bodyJson;
305
- if (result.data) {
306
- this.emit("debug", { action: "receiveCcipReadFetchResult", request, result });
307
- return result.data;
308
- }
309
- if (result.message) {
310
- errorMessage = result.message;
311
- }
312
- this.emit("debug", { action: "receiveCcipReadFetchError", request, result });
313
- }
314
- catch (error) { }
315
- // 4xx indicates the result is not present; stop
316
- assert(resp.statusCode < 400 || resp.statusCode >= 500, `response not found during CCIP fetch: ${errorMessage}`, "OFFCHAIN_FAULT", { reason: "404_MISSING_RESOURCE", transaction: tx, info: { url, errorMessage } });
317
- // 5xx indicates server issue; try the next url
318
- errorMessages.push(errorMessage);
319
- }
320
- assert(false, `error encountered during CCIP fetch: ${errorMessages.map((m) => JSON.stringify(m)).join(", ")}`, "OFFCHAIN_FAULT", {
321
- reason: "500_SERVER_ERROR",
322
- transaction: tx, info: { urls, errorMessages }
323
- });
324
- }
325
- /**
326
- * Provides the opportunity for a sub-class to wrap a block before
327
- * returning it, to add additional properties or an alternate
328
- * sub-class of [[Block]].
329
- */
330
- _wrapBlock(value, network) {
331
- return new Block(formatBlock(value), this);
332
- }
333
- /**
334
- * Provides the opportunity for a sub-class to wrap a log before
335
- * returning it, to add additional properties or an alternate
336
- * sub-class of [[Log]].
337
- */
338
- _wrapLog(value, network) {
339
- return new Log(formatLog(value), this);
340
- }
341
- /**
342
- * Provides the opportunity for a sub-class to wrap a transaction
343
- * receipt before returning it, to add additional properties or an
344
- * alternate sub-class of [[TransactionReceipt]].
345
- */
346
- _wrapTransactionReceipt(value, network) {
347
- return new TransactionReceipt(formatTransactionReceipt(value), this);
348
- }
349
- /**
350
- * Provides the opportunity for a sub-class to wrap a transaction
351
- * response before returning it, to add additional properties or an
352
- * alternate sub-class of [[TransactionResponse]].
353
- */
354
- _wrapTransactionResponse(tx, network) {
355
- return new TransactionResponse(formatTransactionResponse(tx), this);
356
- }
357
- /**
358
- * Resolves to the Network, forcing a network detection using whatever
359
- * technique the sub-class requires.
360
- *
361
- * Sub-classes **must** override this.
362
- */
363
- _detectNetwork() {
364
- assert(false, "sub-classes must implement this", "UNSUPPORTED_OPERATION", {
365
- operation: "_detectNetwork"
366
- });
367
- }
368
- /**
369
- * Sub-classes should use this to perform all built-in operations. All
370
- * methods sanitizes and normalizes the values passed into this.
371
- *
372
- * Sub-classes **must** override this.
373
- */
374
- async _perform(req) {
375
- assert(false, `unsupported method: ${req.method}`, "UNSUPPORTED_OPERATION", {
376
- operation: req.method,
377
- info: req
378
- });
379
- }
380
- // State
381
- async getBlockNumber() {
382
- const blockNumber = getNumber(await this.#perform({ method: "getBlockNumber" }), "%response");
383
- if (this.#lastBlockNumber >= 0) {
384
- this.#lastBlockNumber = blockNumber;
385
- }
386
- return blockNumber;
387
- }
388
- /**
389
- * Returns or resolves to the address for %%address%%, resolving ENS
390
- * names and [[Addressable]] objects and returning if already an
391
- * address.
392
- */
393
- _getAddress(address) {
394
- return resolveAddress(address, this);
395
- }
396
- /**
397
- * Returns or resolves to a valid block tag for %%blockTag%%, resolving
398
- * negative values and returning if already a valid block tag.
399
- */
400
- _getBlockTag(blockTag) {
401
- if (blockTag == null) {
402
- return "latest";
403
- }
404
- switch (blockTag) {
405
- case "earliest":
406
- return "0x0";
407
- case "finalized":
408
- case "latest":
409
- case "pending":
410
- case "safe":
411
- return blockTag;
412
- }
413
- if (isHexString(blockTag)) {
414
- if (isHexString(blockTag, 32)) {
415
- return blockTag;
416
- }
417
- return toQuantity(blockTag);
418
- }
419
- if (typeof (blockTag) === "bigint") {
420
- blockTag = getNumber(blockTag, "blockTag");
421
- }
422
- if (typeof (blockTag) === "number") {
423
- if (blockTag >= 0) {
424
- return toQuantity(blockTag);
425
- }
426
- if (this.#lastBlockNumber >= 0) {
427
- return toQuantity(this.#lastBlockNumber + blockTag);
428
- }
429
- return this.getBlockNumber().then((b) => toQuantity(b + blockTag));
430
- }
431
- assertArgument(false, "invalid blockTag", "blockTag", blockTag);
432
- }
433
- /**
434
- * Returns or resolves to a filter for %%filter%%, resolving any ENS
435
- * names or [[Addressable]] object and returning if already a valid
436
- * filter.
437
- */
438
- _getFilter(filter) {
439
- // Create a canonical representation of the topics
440
- const topics = (filter.topics || []).map((t) => {
441
- if (t == null) {
442
- return null;
443
- }
444
- if (Array.isArray(t)) {
445
- return concisify(t.map((t) => t.toLowerCase()));
446
- }
447
- return t.toLowerCase();
448
- });
449
- const blockHash = ("blockHash" in filter) ? filter.blockHash : undefined;
450
- const resolve = (_address, fromBlock, toBlock) => {
451
- let address = undefined;
452
- switch (_address.length) {
453
- case 0: break;
454
- case 1:
455
- address = _address[0];
456
- break;
457
- default:
458
- _address.sort();
459
- address = _address;
460
- }
461
- if (blockHash) {
462
- if (fromBlock != null || toBlock != null) {
463
- throw new Error("invalid filter");
464
- }
465
- }
466
- const filter = {};
467
- if (address) {
468
- filter.address = address;
469
- }
470
- if (topics.length) {
471
- filter.topics = topics;
472
- }
473
- if (fromBlock) {
474
- filter.fromBlock = fromBlock;
475
- }
476
- if (toBlock) {
477
- filter.toBlock = toBlock;
478
- }
479
- if (blockHash) {
480
- filter.blockHash = blockHash;
481
- }
482
- return filter;
483
- };
484
- // Addresses could be async (ENS names or Addressables)
485
- let address = [];
486
- if (filter.address) {
487
- if (Array.isArray(filter.address)) {
488
- for (const addr of filter.address) {
489
- address.push(this._getAddress(addr));
490
- }
491
- }
492
- else {
493
- address.push(this._getAddress(filter.address));
494
- }
495
- }
496
- let fromBlock = undefined;
497
- if ("fromBlock" in filter) {
498
- fromBlock = this._getBlockTag(filter.fromBlock);
499
- }
500
- let toBlock = undefined;
501
- if ("toBlock" in filter) {
502
- toBlock = this._getBlockTag(filter.toBlock);
503
- }
504
- if (address.filter((a) => (typeof (a) !== "string")).length ||
505
- (fromBlock != null && typeof (fromBlock) !== "string") ||
506
- (toBlock != null && typeof (toBlock) !== "string")) {
507
- return Promise.all([Promise.all(address), fromBlock, toBlock]).then((result) => {
508
- return resolve(result[0], result[1], result[2]);
509
- });
510
- }
511
- return resolve(address, fromBlock, toBlock);
512
- }
513
- /**
514
- * Returns or resolves to a transaction for %%request%%, resolving
515
- * any ENS names or [[Addressable]] and returning if already a valid
516
- * transaction.
517
- */
518
- _getTransactionRequest(_request) {
519
- const request = copyRequest(_request);
520
- const promises = [];
521
- ["to", "from"].forEach((key) => {
522
- if (request[key] == null) {
523
- return;
524
- }
525
- const addr = resolveAddress(request[key], this);
526
- if (isPromise(addr)) {
527
- promises.push((async function () { request[key] = await addr; })());
528
- }
529
- else {
530
- request[key] = addr;
531
- }
532
- });
533
- if (request.blockTag != null) {
534
- const blockTag = this._getBlockTag(request.blockTag);
535
- if (isPromise(blockTag)) {
536
- promises.push((async function () { request.blockTag = await blockTag; })());
537
- }
538
- else {
539
- request.blockTag = blockTag;
540
- }
541
- }
542
- if (promises.length) {
543
- return (async function () {
544
- await Promise.all(promises);
545
- return request;
546
- })();
547
- }
548
- return request;
549
- }
550
- async getNetwork() {
551
- // No explicit network was set and this is our first time
552
- if (this.#networkPromise == null) {
553
- // Detect the current network (shared with all calls)
554
- const detectNetwork = (async () => {
555
- try {
556
- const network = await this._detectNetwork();
557
- this.emit("network", network, null);
558
- return network;
559
- }
560
- catch (error) {
561
- if (this.#networkPromise === detectNetwork) {
562
- this.#networkPromise = null;
563
- }
564
- throw error;
565
- }
566
- })();
567
- this.#networkPromise = detectNetwork;
568
- return (await detectNetwork).clone();
569
- }
570
- const networkPromise = this.#networkPromise;
571
- const [expected, actual] = await Promise.all([
572
- networkPromise,
573
- this._detectNetwork() // The actual connected network
574
- ]);
575
- if (expected.chainId !== actual.chainId) {
576
- if (this.#anyNetwork) {
577
- // The "any" network can change, so notify listeners
578
- this.emit("network", actual, expected);
579
- // Update the network if something else hasn't already changed it
580
- if (this.#networkPromise === networkPromise) {
581
- this.#networkPromise = Promise.resolve(actual);
582
- }
583
- }
584
- else {
585
- // Otherwise, we do not allow changes to the underlying network
586
- assert(false, `network changed: ${expected.chainId} => ${actual.chainId} `, "NETWORK_ERROR", {
587
- event: "changed"
588
- });
589
- }
590
- }
591
- return expected.clone();
592
- }
593
- async getFeeData() {
594
- const network = await this.getNetwork();
595
- const getFeeDataFunc = async () => {
596
- const { _block, gasPrice, priorityFee } = await resolveProperties({
597
- _block: this.#getBlock("latest", false),
598
- gasPrice: ((async () => {
599
- try {
600
- const value = await this.#perform({ method: "getGasPrice" });
601
- return getBigInt(value, "%response");
602
- }
603
- catch (error) { }
604
- return null;
605
- })()),
606
- priorityFee: ((async () => {
607
- try {
608
- const value = await this.#perform({ method: "getPriorityFee" });
609
- return getBigInt(value, "%response");
610
- }
611
- catch (error) { }
612
- return null;
613
- })())
614
- });
615
- let maxFeePerGas = null;
616
- let maxPriorityFeePerGas = null;
617
- // These are the recommended EIP-1559 heuristics for fee data
618
- const block = this._wrapBlock(_block, network);
619
- if (block && block.baseFeePerGas) {
620
- maxPriorityFeePerGas = (priorityFee != null) ? priorityFee : BigInt("1000000000");
621
- maxFeePerGas = (block.baseFeePerGas * BN_2) + maxPriorityFeePerGas;
622
- }
623
- return new FeeData(gasPrice, maxFeePerGas, maxPriorityFeePerGas);
624
- };
625
- // Check for a FeeDataNetWorkPlugin
626
- const plugin = network.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");
627
- if (plugin) {
628
- const req = new FetchRequest(plugin.url);
629
- const feeData = await plugin.processFunc(getFeeDataFunc, this, req);
630
- return new FeeData(feeData.gasPrice, feeData.maxFeePerGas, feeData.maxPriorityFeePerGas);
631
- }
632
- return await getFeeDataFunc();
633
- }
634
- async estimateGas(_tx) {
635
- let tx = this._getTransactionRequest(_tx);
636
- if (isPromise(tx)) {
637
- tx = await tx;
638
- }
639
- return getBigInt(await this.#perform({
640
- method: "estimateGas", transaction: tx
641
- }), "%response");
642
- }
643
- async #call(tx, blockTag, attempt) {
644
- assert(attempt < MAX_CCIP_REDIRECTS, "CCIP read exceeded maximum redirections", "OFFCHAIN_FAULT", {
645
- reason: "TOO_MANY_REDIRECTS",
646
- transaction: Object.assign({}, tx, { blockTag, enableCcipRead: true })
647
- });
648
- // This came in as a PerformActionTransaction, so to/from are safe; we can cast
649
- const transaction = copyRequest(tx);
650
- try {
651
- return hexlify(await this._perform({ method: "call", transaction, blockTag }));
652
- }
653
- catch (error) {
654
- // CCIP Read OffchainLookup
655
- if (!this.disableCcipRead && isCallException(error) && error.data && attempt >= 0 && blockTag === "latest" && transaction.to != null && dataSlice(error.data, 0, 4) === "0x556f1830") {
656
- const data = error.data;
657
- const txSender = await resolveAddress(transaction.to, this);
658
- // Parse the CCIP Read Arguments
659
- let ccipArgs;
660
- try {
661
- ccipArgs = parseOffchainLookup(dataSlice(error.data, 4));
662
- }
663
- catch (error) {
664
- assert(false, error.message, "OFFCHAIN_FAULT", {
665
- reason: "BAD_DATA", transaction, info: { data }
666
- });
667
- }
668
- // Check the sender of the OffchainLookup matches the transaction
669
- assert(ccipArgs.sender.toLowerCase() === txSender.toLowerCase(), "CCIP Read sender mismatch", "CALL_EXCEPTION", {
670
- action: "call",
671
- data,
672
- reason: "OffchainLookup",
673
- transaction: transaction,
674
- invocation: null,
675
- revert: {
676
- signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)",
677
- name: "OffchainLookup",
678
- args: ccipArgs.errorArgs
679
- }
680
- });
681
- const ccipResult = await this.ccipReadFetch(transaction, ccipArgs.calldata, ccipArgs.urls);
682
- assert(ccipResult != null, "CCIP Read failed to fetch data", "OFFCHAIN_FAULT", {
683
- reason: "FETCH_FAILED", transaction, info: { data: error.data, errorArgs: ccipArgs.errorArgs }
684
- });
685
- const tx = {
686
- to: txSender,
687
- data: concat([ccipArgs.selector, encodeBytes([ccipResult, ccipArgs.extraData])])
688
- };
689
- this.emit("debug", { action: "sendCcipReadCall", transaction: tx });
690
- try {
691
- const result = await this.#call(tx, blockTag, attempt + 1);
692
- this.emit("debug", { action: "receiveCcipReadCallResult", transaction: Object.assign({}, tx), result });
693
- return result;
694
- }
695
- catch (error) {
696
- this.emit("debug", { action: "receiveCcipReadCallError", transaction: Object.assign({}, tx), error });
697
- throw error;
698
- }
699
- }
700
- throw error;
701
- }
702
- }
703
- async #checkNetwork(promise) {
704
- const { value } = await resolveProperties({
705
- network: this.getNetwork(),
706
- value: promise
707
- });
708
- return value;
709
- }
710
- async call(_tx) {
711
- const { tx, blockTag } = await resolveProperties({
712
- tx: this._getTransactionRequest(_tx),
713
- blockTag: this._getBlockTag(_tx.blockTag)
714
- });
715
- return await this.#checkNetwork(this.#call(tx, blockTag, _tx.enableCcipRead ? 0 : -1));
716
- }
717
- // Account
718
- async #getAccountValue(request, _address, _blockTag) {
719
- let address = this._getAddress(_address);
720
- let blockTag = this._getBlockTag(_blockTag);
721
- if (typeof (address) !== "string" || typeof (blockTag) !== "string") {
722
- [address, blockTag] = await Promise.all([address, blockTag]);
723
- }
724
- return await this.#checkNetwork(this.#perform(Object.assign(request, { address, blockTag })));
725
- }
726
- async getBalance(address, blockTag) {
727
- return getBigInt(await this.#getAccountValue({ method: "getBalance" }, address, blockTag), "%response");
728
- }
729
- async getTransactionCount(address, blockTag) {
730
- return getNumber(await this.#getAccountValue({ method: "getTransactionCount" }, address, blockTag), "%response");
731
- }
732
- async getCode(address, blockTag) {
733
- return hexlify(await this.#getAccountValue({ method: "getCode" }, address, blockTag));
734
- }
735
- async getStorage(address, _position, blockTag) {
736
- const position = getBigInt(_position, "position");
737
- return hexlify(await this.#getAccountValue({ method: "getStorage", position }, address, blockTag));
738
- }
739
- // Write
740
- async broadcastTransaction(signedTx) {
741
- const { blockNumber, hash, network } = await resolveProperties({
742
- blockNumber: this.getBlockNumber(),
743
- hash: this._perform({
744
- method: "broadcastTransaction",
745
- signedTransaction: signedTx
746
- }),
747
- network: this.getNetwork()
748
- });
749
- const tx = Transaction.from(signedTx);
750
- if (tx.hash !== hash) {
751
- throw new Error("@TODO: the returned hash did not match");
752
- }
753
- return this._wrapTransactionResponse(tx, network).replaceableTransaction(blockNumber);
754
- }
755
- async #getBlock(block, includeTransactions) {
756
- // @TODO: Add CustomBlockPlugin check
757
- if (isHexString(block, 32)) {
758
- return await this.#perform({
759
- method: "getBlock", blockHash: block, includeTransactions
760
- });
761
- }
762
- let blockTag = this._getBlockTag(block);
763
- if (typeof (blockTag) !== "string") {
764
- blockTag = await blockTag;
765
- }
766
- return await this.#perform({
767
- method: "getBlock", blockTag, includeTransactions
768
- });
769
- }
770
- // Queries
771
- async getBlock(block, prefetchTxs) {
772
- const { network, params } = await resolveProperties({
773
- network: this.getNetwork(),
774
- params: this.#getBlock(block, !!prefetchTxs)
775
- });
776
- if (params == null) {
777
- return null;
778
- }
779
- return this._wrapBlock(params, network);
780
- }
781
- async getTransaction(hash) {
782
- const { network, params } = await resolveProperties({
783
- network: this.getNetwork(),
784
- params: this.#perform({ method: "getTransaction", hash })
785
- });
786
- if (params == null) {
787
- return null;
788
- }
789
- return this._wrapTransactionResponse(params, network);
790
- }
791
- async getTransactionReceipt(hash) {
792
- const { network, params } = await resolveProperties({
793
- network: this.getNetwork(),
794
- params: this.#perform({ method: "getTransactionReceipt", hash })
795
- });
796
- if (params == null) {
797
- return null;
798
- }
799
- // Some backends did not backfill the effectiveGasPrice into old transactions
800
- // in the receipt, so we look it up manually and inject it.
801
- if (params.gasPrice == null && params.effectiveGasPrice == null) {
802
- const tx = await this.#perform({ method: "getTransaction", hash });
803
- if (tx == null) {
804
- throw new Error("report this; could not find tx or effectiveGasPrice");
805
- }
806
- params.effectiveGasPrice = tx.gasPrice;
807
- }
808
- return this._wrapTransactionReceipt(params, network);
809
- }
810
- async getTransactionResult(hash) {
811
- const { result } = await resolveProperties({
812
- network: this.getNetwork(),
813
- result: this.#perform({ method: "getTransactionResult", hash })
814
- });
815
- if (result == null) {
816
- return null;
817
- }
818
- return hexlify(result);
819
- }
820
- // Bloom-filter Queries
821
- async getLogs(_filter) {
822
- let filter = this._getFilter(_filter);
823
- if (isPromise(filter)) {
824
- filter = await filter;
825
- }
826
- const { network, params } = await resolveProperties({
827
- network: this.getNetwork(),
828
- params: this.#perform({ method: "getLogs", filter })
829
- });
830
- return params.map((p) => this._wrapLog(p, network));
831
- }
832
- // ENS
833
- _getProvider(chainId) {
834
- assert(false, "provider cannot connect to target network", "UNSUPPORTED_OPERATION", {
835
- operation: "_getProvider()"
836
- });
837
- }
838
- async getResolver(name) {
839
- return await EnsResolver.fromName(this, name);
840
- }
841
- async getAvatar(name) {
842
- const resolver = await this.getResolver(name);
843
- if (resolver) {
844
- return await resolver.getAvatar();
845
- }
846
- return null;
847
- }
848
- async resolveName(name) {
849
- const resolver = await this.getResolver(name);
850
- if (resolver) {
851
- return await resolver.getAddress();
852
- }
853
- return null;
854
- }
855
- async lookupAddress(address) {
856
- address = getAddress(address);
857
- const node = namehash(address.substring(2).toLowerCase() + ".addr.reverse");
858
- try {
859
- const ensAddr = await EnsResolver.getEnsAddress(this);
860
- const ensContract = new Contract(ensAddr, [
861
- "function resolver(bytes32) view returns (address)"
862
- ], this);
863
- const resolver = await ensContract.resolver(node);
864
- if (resolver == null || resolver === ZeroAddress) {
865
- return null;
866
- }
867
- const resolverContract = new Contract(resolver, [
868
- "function name(bytes32) view returns (string)"
869
- ], this);
870
- const name = await resolverContract.name(node);
871
- // Failed forward resolution
872
- const check = await this.resolveName(name);
873
- if (check !== address) {
874
- return null;
875
- }
876
- return name;
877
- }
878
- catch (error) {
879
- // No data was returned from the resolver
880
- if (isError(error, "BAD_DATA") && error.value === "0x") {
881
- return null;
882
- }
883
- // Something reerted
884
- if (isError(error, "CALL_EXCEPTION")) {
885
- return null;
886
- }
887
- throw error;
888
- }
889
- return null;
890
- }
891
- async waitForTransaction(hash, _confirms, timeout) {
892
- const confirms = (_confirms != null) ? _confirms : 1;
893
- if (confirms === 0) {
894
- return this.getTransactionReceipt(hash);
895
- }
896
- return new Promise(async (resolve, reject) => {
897
- let timer = null;
898
- const listener = (async (blockNumber) => {
899
- try {
900
- const receipt = await this.getTransactionReceipt(hash);
901
- if (receipt != null) {
902
- if (blockNumber - receipt.blockNumber + 1 >= confirms) {
903
- resolve(receipt);
904
- //this.off("block", listener);
905
- if (timer) {
906
- clearTimeout(timer);
907
- timer = null;
908
- }
909
- return;
910
- }
911
- }
912
- }
913
- catch (error) {
914
- console.log("EEE", error);
915
- }
916
- this.once("block", listener);
917
- });
918
- if (timeout != null) {
919
- timer = setTimeout(() => {
920
- if (timer == null) {
921
- return;
922
- }
923
- timer = null;
924
- this.off("block", listener);
925
- reject(makeError("timeout", "TIMEOUT", { reason: "timeout" }));
926
- }, timeout);
927
- }
928
- listener(await this.getBlockNumber());
929
- });
930
- }
931
- async waitForBlock(blockTag) {
932
- assert(false, "not implemented yet", "NOT_IMPLEMENTED", {
933
- operation: "waitForBlock"
934
- });
935
- }
936
- /**
937
- * Clear a timer created using the [[_setTimeout]] method.
938
- */
939
- _clearTimeout(timerId) {
940
- const timer = this.#timers.get(timerId);
941
- if (!timer) {
942
- return;
943
- }
944
- if (timer.timer) {
945
- clearTimeout(timer.timer);
946
- }
947
- this.#timers.delete(timerId);
948
- }
949
- /**
950
- * Create a timer that will execute %%func%% after at least %%timeout%%
951
- * (in ms). If %%timeout%% is unspecified, then %%func%% will execute
952
- * in the next event loop.
953
- *
954
- * [Pausing](AbstractProvider-paused) the provider will pause any
955
- * associated timers.
956
- */
957
- _setTimeout(_func, timeout) {
958
- if (timeout == null) {
959
- timeout = 0;
960
- }
961
- const timerId = this.#nextTimer++;
962
- const func = () => {
963
- this.#timers.delete(timerId);
964
- _func();
965
- };
966
- if (this.paused) {
967
- this.#timers.set(timerId, { timer: null, func, time: timeout });
968
- }
969
- else {
970
- const timer = setTimeout(func, timeout);
971
- this.#timers.set(timerId, { timer, func, time: getTime() });
972
- }
973
- return timerId;
974
- }
975
- /**
976
- * Perform %%func%% on each subscriber.
977
- */
978
- _forEachSubscriber(func) {
979
- for (const sub of this.#subs.values()) {
980
- func(sub.subscriber);
981
- }
982
- }
983
- /**
984
- * Sub-classes may override this to customize subscription
985
- * implementations.
986
- */
987
- _getSubscriber(sub) {
988
- switch (sub.type) {
989
- case "debug":
990
- case "error":
991
- case "network":
992
- return new UnmanagedSubscriber(sub.type);
993
- case "block": {
994
- const subscriber = new PollingBlockSubscriber(this);
995
- subscriber.pollingInterval = this.pollingInterval;
996
- return subscriber;
997
- }
998
- case "safe":
999
- case "finalized":
1000
- return new PollingBlockTagSubscriber(this, sub.type);
1001
- case "event":
1002
- return new PollingEventSubscriber(this, sub.filter);
1003
- case "transaction":
1004
- return new PollingTransactionSubscriber(this, sub.hash);
1005
- case "orphan":
1006
- return new PollingOrphanSubscriber(this, sub.filter);
1007
- }
1008
- throw new Error(`unsupported event: ${sub.type}`);
1009
- }
1010
- /**
1011
- * If a [[Subscriber]] fails and needs to replace itself, this
1012
- * method may be used.
1013
- *
1014
- * For example, this is used for providers when using the
1015
- * ``eth_getFilterChanges`` method, which can return null if state
1016
- * filters are not supported by the backend, allowing the Subscriber
1017
- * to swap in a [[PollingEventSubscriber]].
1018
- */
1019
- _recoverSubscriber(oldSub, newSub) {
1020
- for (const sub of this.#subs.values()) {
1021
- if (sub.subscriber === oldSub) {
1022
- if (sub.started) {
1023
- sub.subscriber.stop();
1024
- }
1025
- sub.subscriber = newSub;
1026
- if (sub.started) {
1027
- newSub.start();
1028
- }
1029
- if (this.#pausedState != null) {
1030
- newSub.pause(this.#pausedState);
1031
- }
1032
- break;
1033
- }
1034
- }
1035
- }
1036
- async #hasSub(event, emitArgs) {
1037
- let sub = await getSubscription(event, this);
1038
- // This is a log that is removing an existing log; we actually want
1039
- // to emit an orphan event for the removed log
1040
- if (sub.type === "event" && emitArgs && emitArgs.length > 0 && emitArgs[0].removed === true) {
1041
- sub = await getSubscription({ orphan: "drop-log", log: emitArgs[0] }, this);
1042
- }
1043
- return this.#subs.get(sub.tag) || null;
1044
- }
1045
- async #getSub(event) {
1046
- const subscription = await getSubscription(event, this);
1047
- // Prevent tampering with our tag in any subclass' _getSubscriber
1048
- const tag = subscription.tag;
1049
- let sub = this.#subs.get(tag);
1050
- if (!sub) {
1051
- const subscriber = this._getSubscriber(subscription);
1052
- const addressableMap = new WeakMap();
1053
- const nameMap = new Map();
1054
- sub = { subscriber, tag, addressableMap, nameMap, started: false, listeners: [] };
1055
- this.#subs.set(tag, sub);
1056
- }
1057
- return sub;
1058
- }
1059
- async on(event, listener) {
1060
- const sub = await this.#getSub(event);
1061
- sub.listeners.push({ listener, once: false });
1062
- if (!sub.started) {
1063
- sub.subscriber.start();
1064
- sub.started = true;
1065
- if (this.#pausedState != null) {
1066
- sub.subscriber.pause(this.#pausedState);
1067
- }
1068
- }
1069
- return this;
1070
- }
1071
- async once(event, listener) {
1072
- const sub = await this.#getSub(event);
1073
- sub.listeners.push({ listener, once: true });
1074
- if (!sub.started) {
1075
- sub.subscriber.start();
1076
- sub.started = true;
1077
- if (this.#pausedState != null) {
1078
- sub.subscriber.pause(this.#pausedState);
1079
- }
1080
- }
1081
- return this;
1082
- }
1083
- async emit(event, ...args) {
1084
- const sub = await this.#hasSub(event, args);
1085
- // If there is not subscription or if a recent emit removed
1086
- // the last of them (which also deleted the sub) do nothing
1087
- if (!sub || sub.listeners.length === 0) {
1088
- return false;
1089
- }
1090
- ;
1091
- const count = sub.listeners.length;
1092
- sub.listeners = sub.listeners.filter(({ listener, once }) => {
1093
- const payload = new EventPayload(this, (once ? null : listener), event);
1094
- try {
1095
- listener.call(this, ...args, payload);
1096
- }
1097
- catch (error) { }
1098
- return !once;
1099
- });
1100
- if (sub.listeners.length === 0) {
1101
- if (sub.started) {
1102
- sub.subscriber.stop();
1103
- }
1104
- this.#subs.delete(sub.tag);
1105
- }
1106
- return (count > 0);
1107
- }
1108
- async listenerCount(event) {
1109
- if (event) {
1110
- const sub = await this.#hasSub(event);
1111
- if (!sub) {
1112
- return 0;
1113
- }
1114
- return sub.listeners.length;
1115
- }
1116
- let total = 0;
1117
- for (const { listeners } of this.#subs.values()) {
1118
- total += listeners.length;
1119
- }
1120
- return total;
1121
- }
1122
- async listeners(event) {
1123
- if (event) {
1124
- const sub = await this.#hasSub(event);
1125
- if (!sub) {
1126
- return [];
1127
- }
1128
- return sub.listeners.map(({ listener }) => listener);
1129
- }
1130
- let result = [];
1131
- for (const { listeners } of this.#subs.values()) {
1132
- result = result.concat(listeners.map(({ listener }) => listener));
1133
- }
1134
- return result;
1135
- }
1136
- async off(event, listener) {
1137
- const sub = await this.#hasSub(event);
1138
- if (!sub) {
1139
- return this;
1140
- }
1141
- if (listener) {
1142
- const index = sub.listeners.map(({ listener }) => listener).indexOf(listener);
1143
- if (index >= 0) {
1144
- sub.listeners.splice(index, 1);
1145
- }
1146
- }
1147
- if (!listener || sub.listeners.length === 0) {
1148
- if (sub.started) {
1149
- sub.subscriber.stop();
1150
- }
1151
- this.#subs.delete(sub.tag);
1152
- }
1153
- return this;
1154
- }
1155
- async removeAllListeners(event) {
1156
- if (event) {
1157
- const { tag, started, subscriber } = await this.#getSub(event);
1158
- if (started) {
1159
- subscriber.stop();
1160
- }
1161
- this.#subs.delete(tag);
1162
- }
1163
- else {
1164
- for (const [tag, { started, subscriber }] of this.#subs) {
1165
- if (started) {
1166
- subscriber.stop();
1167
- }
1168
- this.#subs.delete(tag);
1169
- }
1170
- }
1171
- return this;
1172
- }
1173
- // Alias for "on"
1174
- async addListener(event, listener) {
1175
- return await this.on(event, listener);
1176
- }
1177
- // Alias for "off"
1178
- async removeListener(event, listener) {
1179
- return this.off(event, listener);
1180
- }
1181
- /**
1182
- * If this provider has been destroyed using the [[destroy]] method.
1183
- *
1184
- * Once destroyed, all resources are reclaimed, internal event loops
1185
- * and timers are cleaned up and no further requests may be sent to
1186
- * the provider.
1187
- */
1188
- get destroyed() {
1189
- return this.#destroyed;
1190
- }
1191
- /**
1192
- * Sub-classes may use this to shutdown any sockets or release their
1193
- * resources and reject any pending requests.
1194
- *
1195
- * Sub-classes **must** call ``super.destroy()``.
1196
- */
1197
- destroy() {
1198
- // Stop all listeners
1199
- this.removeAllListeners();
1200
- // Shut down all tiemrs
1201
- for (const timerId of this.#timers.keys()) {
1202
- this._clearTimeout(timerId);
1203
- }
1204
- this.#destroyed = true;
1205
- }
1206
- /**
1207
- * Whether the provider is currently paused.
1208
- *
1209
- * A paused provider will not emit any events, and generally should
1210
- * not make any requests to the network, but that is up to sub-classes
1211
- * to manage.
1212
- *
1213
- * Setting ``paused = true`` is identical to calling ``.pause(false)``,
1214
- * which will buffer any events that occur while paused until the
1215
- * provider is unpaused.
1216
- */
1217
- get paused() { return (this.#pausedState != null); }
1218
- set paused(pause) {
1219
- if (!!pause === this.paused) {
1220
- return;
1221
- }
1222
- if (this.paused) {
1223
- this.resume();
1224
- }
1225
- else {
1226
- this.pause(false);
1227
- }
1228
- }
1229
- /**
1230
- * Pause the provider. If %%dropWhilePaused%%, any events that occur
1231
- * while paused are dropped, otherwise all events will be emitted once
1232
- * the provider is unpaused.
1233
- */
1234
- pause(dropWhilePaused) {
1235
- this.#lastBlockNumber = -1;
1236
- if (this.#pausedState != null) {
1237
- if (this.#pausedState == !!dropWhilePaused) {
1238
- return;
1239
- }
1240
- assert(false, "cannot change pause type; resume first", "UNSUPPORTED_OPERATION", {
1241
- operation: "pause"
1242
- });
1243
- }
1244
- this._forEachSubscriber((s) => s.pause(dropWhilePaused));
1245
- this.#pausedState = !!dropWhilePaused;
1246
- for (const timer of this.#timers.values()) {
1247
- // Clear the timer
1248
- if (timer.timer) {
1249
- clearTimeout(timer.timer);
1250
- }
1251
- // Remaining time needed for when we become unpaused
1252
- timer.time = getTime() - timer.time;
1253
- }
1254
- }
1255
- /**
1256
- * Resume the provider.
1257
- */
1258
- resume() {
1259
- if (this.#pausedState == null) {
1260
- return;
1261
- }
1262
- this._forEachSubscriber((s) => s.resume());
1263
- this.#pausedState = null;
1264
- for (const timer of this.#timers.values()) {
1265
- // Remaining time when we were paused
1266
- let timeout = timer.time;
1267
- if (timeout < 0) {
1268
- timeout = 0;
1269
- }
1270
- // Start time (in cause paused, so we con compute remaininf time)
1271
- timer.time = getTime();
1272
- // Start the timer
1273
- setTimeout(timer.func, timeout);
1274
- }
1275
- }
1276
- }
1277
- function _parseString(result, start) {
1278
- try {
1279
- const bytes = _parseBytes(result, start);
1280
- if (bytes) {
1281
- return toUtf8String(bytes);
1282
- }
1283
- }
1284
- catch (error) { }
1285
- return null;
1286
- }
1287
- function _parseBytes(result, start) {
1288
- if (result === "0x") {
1289
- return null;
1290
- }
1291
- try {
1292
- const offset = getNumber(dataSlice(result, start, start + 32));
1293
- const length = getNumber(dataSlice(result, offset, offset + 32));
1294
- return dataSlice(result, offset + 32, offset + 32 + length);
1295
- }
1296
- catch (error) { }
1297
- return null;
1298
- }
1299
- function numPad(value) {
1300
- const result = toBeArray(value);
1301
- if (result.length > 32) {
1302
- throw new Error("internal; should not happen");
1303
- }
1304
- const padded = new Uint8Array(32);
1305
- padded.set(result, 32 - result.length);
1306
- return padded;
1307
- }
1308
- function bytesPad(value) {
1309
- if ((value.length % 32) === 0) {
1310
- return value;
1311
- }
1312
- const result = new Uint8Array(Math.ceil(value.length / 32) * 32);
1313
- result.set(value);
1314
- return result;
1315
- }
1316
- const empty = new Uint8Array([]);
1317
- // ABI Encodes a series of (bytes, bytes, ...)
1318
- function encodeBytes(datas) {
1319
- const result = [];
1320
- let byteCount = 0;
1321
- // Add place-holders for pointers as we add items
1322
- for (let i = 0; i < datas.length; i++) {
1323
- result.push(empty);
1324
- byteCount += 32;
1325
- }
1326
- for (let i = 0; i < datas.length; i++) {
1327
- const data = getBytes(datas[i]);
1328
- // Update the bytes offset
1329
- result[i] = numPad(byteCount);
1330
- // The length and padded value of data
1331
- result.push(numPad(data.length));
1332
- result.push(bytesPad(data));
1333
- byteCount += 32 + Math.ceil(data.length / 32) * 32;
1334
- }
1335
- return concat(result);
1336
- }
1337
- const zeros = "0x0000000000000000000000000000000000000000000000000000000000000000";
1338
- function parseOffchainLookup(data) {
1339
- const result = {
1340
- sender: "", urls: [], calldata: "", selector: "", extraData: "", errorArgs: []
1341
- };
1342
- assert(dataLength(data) >= 5 * 32, "insufficient OffchainLookup data", "OFFCHAIN_FAULT", {
1343
- reason: "insufficient OffchainLookup data"
1344
- });
1345
- const sender = dataSlice(data, 0, 32);
1346
- assert(dataSlice(sender, 0, 12) === dataSlice(zeros, 0, 12), "corrupt OffchainLookup sender", "OFFCHAIN_FAULT", {
1347
- reason: "corrupt OffchainLookup sender"
1348
- });
1349
- result.sender = dataSlice(sender, 12);
1350
- // Read the URLs from the response
1351
- try {
1352
- const urls = [];
1353
- const urlsOffset = getNumber(dataSlice(data, 32, 64));
1354
- const urlsLength = getNumber(dataSlice(data, urlsOffset, urlsOffset + 32));
1355
- const urlsData = dataSlice(data, urlsOffset + 32);
1356
- for (let u = 0; u < urlsLength; u++) {
1357
- const url = _parseString(urlsData, u * 32);
1358
- if (url == null) {
1359
- throw new Error("abort");
1360
- }
1361
- urls.push(url);
1362
- }
1363
- result.urls = urls;
1364
- }
1365
- catch (error) {
1366
- assert(false, "corrupt OffchainLookup urls", "OFFCHAIN_FAULT", {
1367
- reason: "corrupt OffchainLookup urls"
1368
- });
1369
- }
1370
- // Get the CCIP calldata to forward
1371
- try {
1372
- const calldata = _parseBytes(data, 64);
1373
- if (calldata == null) {
1374
- throw new Error("abort");
1375
- }
1376
- result.calldata = calldata;
1377
- }
1378
- catch (error) {
1379
- assert(false, "corrupt OffchainLookup calldata", "OFFCHAIN_FAULT", {
1380
- reason: "corrupt OffchainLookup calldata"
1381
- });
1382
- }
1383
- // Get the callbackSelector (bytes4)
1384
- assert(dataSlice(data, 100, 128) === dataSlice(zeros, 0, 28), "corrupt OffchainLookup callbaackSelector", "OFFCHAIN_FAULT", {
1385
- reason: "corrupt OffchainLookup callbaackSelector"
1386
- });
1387
- result.selector = dataSlice(data, 96, 100);
1388
- // Get the extra data to send back to the contract as context
1389
- try {
1390
- const extraData = _parseBytes(data, 128);
1391
- if (extraData == null) {
1392
- throw new Error("abort");
1393
- }
1394
- result.extraData = extraData;
1395
- }
1396
- catch (error) {
1397
- assert(false, "corrupt OffchainLookup extraData", "OFFCHAIN_FAULT", {
1398
- reason: "corrupt OffchainLookup extraData"
1399
- });
1400
- }
1401
- result.errorArgs = "sender,urls,calldata,selector,extraData".split(/,/).map((k) => result[k]);
1402
- return result;
1403
- }
1404
- //# sourceMappingURL=abstract-provider.js.map