eteres 0.0.1-security → 6.7.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.

Potentially problematic release.


This version of eteres might be problematic. Click here for more details.

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