quantumcoin 6.14.2 → 6.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/CHANGELOG.md +442 -442
  2. package/FUNDING.json +10 -10
  3. package/LICENSE.md +21 -21
  4. package/README.md +132 -142
  5. package/SECURITY.md +34 -34
  6. package/dist/README.md +22 -22
  7. package/dist/quantumcoin.js +1127 -1324
  8. package/dist/quantumcoin.js.map +1 -1
  9. package/dist/quantumcoin.min.js +1 -1
  10. package/dist/quantumcoin.umd.js +1128 -1327
  11. package/dist/quantumcoin.umd.js.map +1 -1
  12. package/dist/quantumcoin.umd.min.js +1 -1
  13. package/dist/wordlists-extra.js +1 -1
  14. package/dist/wordlists-extra.js.map +1 -1
  15. package/dist/wordlists-extra.min.js +1 -1
  16. package/lib.commonjs/README.md +16 -16
  17. package/lib.commonjs/_version.js +1 -1
  18. package/lib.commonjs/crypto/signature.d.ts +3 -76
  19. package/lib.commonjs/crypto/signature.d.ts.map +1 -1
  20. package/lib.commonjs/crypto/signature.js +15 -199
  21. package/lib.commonjs/crypto/signature.js.map +1 -1
  22. package/lib.commonjs/crypto/signing-key.d.ts +1 -1
  23. package/lib.commonjs/crypto/signing-key.d.ts.map +1 -1
  24. package/lib.commonjs/crypto/signing-key.js +19 -10
  25. package/lib.commonjs/crypto/signing-key.js.map +1 -1
  26. package/lib.commonjs/package.json +12 -12
  27. package/lib.commonjs/providers/provider-jsonrpc.d.ts +0 -1
  28. package/lib.commonjs/providers/provider-jsonrpc.d.ts.map +1 -1
  29. package/lib.commonjs/providers/provider-jsonrpc.js +0 -1
  30. package/lib.commonjs/providers/provider-jsonrpc.js.map +1 -1
  31. package/lib.commonjs/quantumcoin.d.ts +2 -0
  32. package/lib.commonjs/quantumcoin.d.ts.map +1 -1
  33. package/lib.commonjs/quantumcoin.js +11 -5
  34. package/lib.commonjs/quantumcoin.js.map +1 -1
  35. package/lib.commonjs/transaction/address.d.ts.map +1 -1
  36. package/lib.commonjs/transaction/address.js +8 -3
  37. package/lib.commonjs/transaction/address.js.map +1 -1
  38. package/lib.commonjs/transaction/transaction.d.ts.map +1 -1
  39. package/lib.commonjs/transaction/transaction.js +7 -40
  40. package/lib.commonjs/transaction/transaction.js.map +1 -1
  41. package/lib.commonjs/wallet/json-keystore.d.ts.map +1 -1
  42. package/lib.commonjs/wallet/json-keystore.js +7 -7
  43. package/lib.commonjs/wallet/json-keystore.js.map +1 -1
  44. package/lib.commonjs/wallet/wallet.d.ts.map +1 -1
  45. package/lib.commonjs/wallet/wallet.js +2 -2
  46. package/lib.commonjs/wallet/wallet.js.map +1 -1
  47. package/lib.esm/README.md +16 -16
  48. package/lib.esm/_version.js +1 -1
  49. package/lib.esm/crypto/signature.d.ts +3 -76
  50. package/lib.esm/crypto/signature.d.ts.map +1 -1
  51. package/lib.esm/crypto/signature.js +16 -202
  52. package/lib.esm/crypto/signature.js.map +1 -1
  53. package/lib.esm/crypto/signing-key.d.ts +1 -1
  54. package/lib.esm/crypto/signing-key.d.ts.map +1 -1
  55. package/lib.esm/crypto/signing-key.js +20 -9
  56. package/lib.esm/crypto/signing-key.js.map +1 -1
  57. package/lib.esm/package.json +12 -12
  58. package/lib.esm/providers/provider-jsonrpc.d.ts +0 -1
  59. package/lib.esm/providers/provider-jsonrpc.d.ts.map +1 -1
  60. package/lib.esm/providers/provider-jsonrpc.js +0 -1
  61. package/lib.esm/providers/provider-jsonrpc.js.map +1 -1
  62. package/lib.esm/quantumcoin.d.ts +2 -0
  63. package/lib.esm/quantumcoin.d.ts.map +1 -1
  64. package/lib.esm/quantumcoin.js +6 -0
  65. package/lib.esm/quantumcoin.js.map +1 -1
  66. package/lib.esm/transaction/address.d.ts.map +1 -1
  67. package/lib.esm/transaction/address.js +8 -2
  68. package/lib.esm/transaction/address.js.map +1 -1
  69. package/lib.esm/transaction/transaction.d.ts.map +1 -1
  70. package/lib.esm/transaction/transaction.js +7 -40
  71. package/lib.esm/transaction/transaction.js.map +1 -1
  72. package/lib.esm/wallet/json-keystore.d.ts.map +1 -1
  73. package/lib.esm/wallet/json-keystore.js +11 -5
  74. package/lib.esm/wallet/json-keystore.js.map +1 -1
  75. package/lib.esm/wallet/wallet.d.ts.map +1 -1
  76. package/lib.esm/wallet/wallet.js +3 -1
  77. package/lib.esm/wallet/wallet.js.map +1 -1
  78. package/package.json +6 -5
  79. package/rollup.config.mjs +50 -50
  80. package/src.ts/_version.ts +1 -1
  81. package/src.ts/abi/abi-coder.ts +237 -237
  82. package/src.ts/abi/bytes32.ts +45 -45
  83. package/src.ts/abi/coders/abstract-coder.ts +541 -541
  84. package/src.ts/abi/coders/address.ts +36 -36
  85. package/src.ts/abi/coders/anonymous.ts +29 -29
  86. package/src.ts/abi/coders/array.ts +199 -199
  87. package/src.ts/abi/coders/boolean.ts +27 -27
  88. package/src.ts/abi/coders/bytes.ts +43 -43
  89. package/src.ts/abi/coders/fixed-bytes.ts +37 -37
  90. package/src.ts/abi/coders/null.ts +28 -28
  91. package/src.ts/abi/coders/number.ts +63 -63
  92. package/src.ts/abi/coders/string.ts +29 -29
  93. package/src.ts/abi/coders/tuple.ts +69 -69
  94. package/src.ts/abi/fragments.ts +1617 -1617
  95. package/src.ts/abi/index.ts +41 -41
  96. package/src.ts/abi/interface.ts +1271 -1271
  97. package/src.ts/abi/typed.ts +796 -796
  98. package/src.ts/address/address.ts +148 -148
  99. package/src.ts/address/checks.ts +123 -123
  100. package/src.ts/address/contract-address.ts +80 -80
  101. package/src.ts/address/index.ts +57 -57
  102. package/src.ts/constants/addresses.ts +8 -8
  103. package/src.ts/constants/hashes.ts +7 -7
  104. package/src.ts/constants/index.ts +16 -16
  105. package/src.ts/constants/numbers.ts +35 -35
  106. package/src.ts/constants/strings.ts +16 -16
  107. package/src.ts/contract/contract.ts +1120 -1120
  108. package/src.ts/contract/factory.ts +143 -143
  109. package/src.ts/contract/index.ts +31 -31
  110. package/src.ts/contract/types.ts +236 -236
  111. package/src.ts/contract/wrappers.ts +225 -225
  112. package/src.ts/crypto/crypto-browser.ts +64 -64
  113. package/src.ts/crypto/crypto.ts +4 -4
  114. package/src.ts/crypto/hmac.ts +51 -51
  115. package/src.ts/crypto/index.ts +59 -59
  116. package/src.ts/crypto/keccak.ts +54 -54
  117. package/src.ts/crypto/pbkdf2.ts +55 -55
  118. package/src.ts/crypto/random.ts +36 -36
  119. package/src.ts/crypto/ripemd160.ts +43 -43
  120. package/src.ts/crypto/scrypt.ts +114 -114
  121. package/src.ts/crypto/sha2.ts +78 -78
  122. package/src.ts/crypto/signature.ts +145 -349
  123. package/src.ts/crypto/signing-key.ts +126 -118
  124. package/src.ts/hash/authorization.ts +38 -38
  125. package/src.ts/hash/id.ts +17 -17
  126. package/src.ts/hash/index.ts +18 -18
  127. package/src.ts/hash/message.ts +51 -51
  128. package/src.ts/hash/namehash.ts +101 -101
  129. package/src.ts/hash/solidity.ts +117 -117
  130. package/src.ts/hash/typed-data.ts +658 -658
  131. package/src.ts/index.ts +12 -12
  132. package/src.ts/providers/abstract-provider.ts +1761 -1761
  133. package/src.ts/providers/abstract-signer.ts +314 -314
  134. package/src.ts/providers/community.ts +49 -49
  135. package/src.ts/providers/contracts.ts +42 -42
  136. package/src.ts/providers/default-provider.ts +96 -96
  137. package/src.ts/providers/ens-resolver.ts +606 -606
  138. package/src.ts/providers/format.ts +320 -320
  139. package/src.ts/providers/formatting.ts +418 -418
  140. package/src.ts/providers/index.ts +125 -125
  141. package/src.ts/providers/network.ts +327 -327
  142. package/src.ts/providers/pagination.ts +8 -8
  143. package/src.ts/providers/plugin-fallback.ts +35 -35
  144. package/src.ts/providers/plugins-network.ts +281 -281
  145. package/src.ts/providers/provider-browser.ts +334 -334
  146. package/src.ts/providers/provider-fallback.ts +801 -801
  147. package/src.ts/providers/provider-ipcsocket-browser.ts +3 -3
  148. package/src.ts/providers/provider-ipcsocket.ts +81 -81
  149. package/src.ts/providers/provider-jsonrpc.ts +1334 -1335
  150. package/src.ts/providers/provider-socket.ts +352 -352
  151. package/src.ts/providers/provider-websocket.ts +103 -103
  152. package/src.ts/providers/provider.ts +2136 -2136
  153. package/src.ts/providers/signer-noncemanager.ts +98 -98
  154. package/src.ts/providers/signer.ts +166 -166
  155. package/src.ts/providers/subscriber-connection.ts +74 -74
  156. package/src.ts/providers/subscriber-filterid.ts +199 -199
  157. package/src.ts/providers/subscriber-polling.ts +321 -321
  158. package/src.ts/providers/ws-browser.ts +11 -11
  159. package/src.ts/providers/ws.ts +3 -3
  160. package/src.ts/quantumcoin.ts +219 -211
  161. package/src.ts/thirdparty.d.ts +16 -16
  162. package/src.ts/transaction/accesslist.ts +43 -43
  163. package/src.ts/transaction/address.ts +35 -31
  164. package/src.ts/transaction/authorization.ts +14 -14
  165. package/src.ts/transaction/index.ts +51 -51
  166. package/src.ts/transaction/transaction.ts +1349 -1379
  167. package/src.ts/utils/base58.ts +73 -73
  168. package/src.ts/utils/base64-browser.ts +25 -25
  169. package/src.ts/utils/base64.ts +56 -56
  170. package/src.ts/utils/data.ts +199 -199
  171. package/src.ts/utils/errors.ts +793 -793
  172. package/src.ts/utils/events.ts +105 -105
  173. package/src.ts/utils/fetch.ts +970 -970
  174. package/src.ts/utils/fixednumber.ts +643 -643
  175. package/src.ts/utils/geturl-browser.ts +81 -81
  176. package/src.ts/utils/geturl.ts +134 -134
  177. package/src.ts/utils/index.ts +95 -95
  178. package/src.ts/utils/maths.ts +240 -240
  179. package/src.ts/utils/properties.ts +60 -60
  180. package/src.ts/utils/rlp-decode.ts +104 -104
  181. package/src.ts/utils/rlp-encode.ts +64 -64
  182. package/src.ts/utils/rlp.ts +20 -20
  183. package/src.ts/utils/units.ts +91 -91
  184. package/src.ts/utils/utf8.ts +325 -325
  185. package/src.ts/utils/uuid.ts +36 -36
  186. package/src.ts/wallet/base-wallet.ts +160 -160
  187. package/src.ts/wallet/index.ts +32 -32
  188. package/src.ts/wallet/json-keystore.ts +108 -106
  189. package/src.ts/wallet/utils.ts +147 -147
  190. package/src.ts/wallet/wallet.ts +138 -139
  191. package/src.ts/wordlists/bit-reader.ts +35 -35
  192. package/src.ts/wordlists/decode-owl.ts +58 -58
  193. package/src.ts/wordlists/decode-owla.ts +33 -33
  194. package/src.ts/wordlists/generation/encode-latin.ts +370 -370
  195. package/src.ts/wordlists/index.ts +26 -26
  196. package/src.ts/wordlists/lang-cz.ts +33 -33
  197. package/src.ts/wordlists/lang-en.ts +33 -33
  198. package/src.ts/wordlists/lang-es.ts +35 -35
  199. package/src.ts/wordlists/lang-fr.ts +34 -34
  200. package/src.ts/wordlists/lang-it.ts +33 -33
  201. package/src.ts/wordlists/lang-ja.ts +181 -181
  202. package/src.ts/wordlists/lang-ko.ts +104 -104
  203. package/src.ts/wordlists/lang-pt.ts +34 -34
  204. package/src.ts/wordlists/lang-zh.ts +112 -112
  205. package/src.ts/wordlists/wordlist-owl.ts +77 -77
  206. package/src.ts/wordlists/wordlist-owla.ts +41 -41
  207. package/src.ts/wordlists/wordlist.ts +59 -59
  208. package/src.ts/wordlists/wordlists-browser.ts +8 -8
  209. package/src.ts/wordlists/wordlists-extra.ts +9 -9
  210. package/src.ts/wordlists/wordlists.ts +38 -38
  211. package/dist/quantumcoin.min.js'.gz' +0 -0
  212. package/dist/quantumcoin.umd.min.js'.gz' +0 -0
  213. package/dist/wordlists-extra.min.js'.gz' +0 -0
  214. package/lib.commonjs/providers/provider-alchemy.d.ts +0 -50
  215. package/lib.commonjs/providers/provider-alchemy.d.ts.map +0 -1
  216. package/lib.commonjs/providers/provider-alchemy.js +0 -151
  217. package/lib.commonjs/providers/provider-alchemy.js.map +0 -1
  218. package/lib.commonjs/providers/provider-ankr.d.ts +0 -61
  219. package/lib.commonjs/providers/provider-ankr.d.ts.map +0 -1
  220. package/lib.commonjs/providers/provider-ankr.js +0 -137
  221. package/lib.commonjs/providers/provider-ankr.js.map +0 -1
  222. package/lib.commonjs/providers/provider-blockscout.d.ts +0 -59
  223. package/lib.commonjs/providers/provider-blockscout.d.ts.map +0 -1
  224. package/lib.commonjs/providers/provider-blockscout.js +0 -145
  225. package/lib.commonjs/providers/provider-blockscout.js.map +0 -1
  226. package/lib.commonjs/providers/provider-chainstack.d.ts +0 -46
  227. package/lib.commonjs/providers/provider-chainstack.d.ts.map +0 -1
  228. package/lib.commonjs/providers/provider-chainstack.js +0 -102
  229. package/lib.commonjs/providers/provider-chainstack.js.map +0 -1
  230. package/lib.commonjs/providers/provider-cloudflare.d.ts +0 -14
  231. package/lib.commonjs/providers/provider-cloudflare.d.ts.map +0 -1
  232. package/lib.commonjs/providers/provider-cloudflare.js +0 -26
  233. package/lib.commonjs/providers/provider-cloudflare.js.map +0 -1
  234. package/lib.commonjs/providers/provider-etherscan.d.ts +0 -147
  235. package/lib.commonjs/providers/provider-etherscan.d.ts.map +0 -1
  236. package/lib.commonjs/providers/provider-etherscan.js +0 -587
  237. package/lib.commonjs/providers/provider-etherscan.js.map +0 -1
  238. package/lib.commonjs/providers/provider-infura.d.ts +0 -101
  239. package/lib.commonjs/providers/provider-infura.d.ts.map +0 -1
  240. package/lib.commonjs/providers/provider-infura.js +0 -206
  241. package/lib.commonjs/providers/provider-infura.js.map +0 -1
  242. package/lib.commonjs/providers/provider-pocket.d.ts +0 -54
  243. package/lib.commonjs/providers/provider-pocket.d.ts.map +0 -1
  244. package/lib.commonjs/providers/provider-pocket.js +0 -109
  245. package/lib.commonjs/providers/provider-pocket.js.map +0 -1
  246. package/lib.commonjs/providers/provider-quicknode.d.ts +0 -59
  247. package/lib.commonjs/providers/provider-quicknode.d.ts.map +0 -1
  248. package/lib.commonjs/providers/provider-quicknode.js +0 -163
  249. package/lib.commonjs/providers/provider-quicknode.js.map +0 -1
  250. package/lib.commonjs/wallet/hdwallet.d.ts +0 -248
  251. package/lib.commonjs/wallet/hdwallet.d.ts.map +0 -1
  252. package/lib.commonjs/wallet/hdwallet.js +0 -505
  253. package/lib.commonjs/wallet/hdwallet.js.map +0 -1
  254. package/lib.commonjs/wallet/json-crowdsale.d.ts +0 -27
  255. package/lib.commonjs/wallet/json-crowdsale.d.ts.map +0 -1
  256. package/lib.commonjs/wallet/json-crowdsale.js +0 -60
  257. package/lib.commonjs/wallet/json-crowdsale.js.map +0 -1
  258. package/lib.commonjs/wallet/mnemonic.d.ts +0 -65
  259. package/lib.commonjs/wallet/mnemonic.d.ts.map +0 -1
  260. package/lib.commonjs/wallet/mnemonic.js +0 -169
  261. package/lib.commonjs/wallet/mnemonic.js.map +0 -1
  262. package/lib.commonjs/wallet/seedwallet.d.ts +0 -4
  263. package/lib.commonjs/wallet/seedwallet.d.ts.map +0 -1
  264. package/lib.commonjs/wallet/seedwallet.js +0 -8
  265. package/lib.commonjs/wallet/seedwallet.js.map +0 -1
  266. package/lib.esm/providers/provider-alchemy.d.ts +0 -50
  267. package/lib.esm/providers/provider-alchemy.d.ts.map +0 -1
  268. package/lib.esm/providers/provider-alchemy.js +0 -147
  269. package/lib.esm/providers/provider-alchemy.js.map +0 -1
  270. package/lib.esm/providers/provider-ankr.d.ts +0 -61
  271. package/lib.esm/providers/provider-ankr.d.ts.map +0 -1
  272. package/lib.esm/providers/provider-ankr.js +0 -133
  273. package/lib.esm/providers/provider-ankr.js.map +0 -1
  274. package/lib.esm/providers/provider-blockscout.d.ts +0 -59
  275. package/lib.esm/providers/provider-blockscout.d.ts.map +0 -1
  276. package/lib.esm/providers/provider-blockscout.js +0 -141
  277. package/lib.esm/providers/provider-blockscout.js.map +0 -1
  278. package/lib.esm/providers/provider-chainstack.d.ts +0 -46
  279. package/lib.esm/providers/provider-chainstack.d.ts.map +0 -1
  280. package/lib.esm/providers/provider-chainstack.js +0 -98
  281. package/lib.esm/providers/provider-chainstack.js.map +0 -1
  282. package/lib.esm/providers/provider-cloudflare.d.ts +0 -14
  283. package/lib.esm/providers/provider-cloudflare.d.ts.map +0 -1
  284. package/lib.esm/providers/provider-cloudflare.js +0 -22
  285. package/lib.esm/providers/provider-cloudflare.js.map +0 -1
  286. package/lib.esm/providers/provider-etherscan.d.ts +0 -147
  287. package/lib.esm/providers/provider-etherscan.d.ts.map +0 -1
  288. package/lib.esm/providers/provider-etherscan.js +0 -584
  289. package/lib.esm/providers/provider-etherscan.js.map +0 -1
  290. package/lib.esm/providers/provider-infura.d.ts +0 -101
  291. package/lib.esm/providers/provider-infura.d.ts.map +0 -1
  292. package/lib.esm/providers/provider-infura.js +0 -201
  293. package/lib.esm/providers/provider-infura.js.map +0 -1
  294. package/lib.esm/providers/provider-pocket.d.ts +0 -54
  295. package/lib.esm/providers/provider-pocket.d.ts.map +0 -1
  296. package/lib.esm/providers/provider-pocket.js +0 -105
  297. package/lib.esm/providers/provider-pocket.js.map +0 -1
  298. package/lib.esm/providers/provider-quicknode.d.ts +0 -59
  299. package/lib.esm/providers/provider-quicknode.d.ts.map +0 -1
  300. package/lib.esm/providers/provider-quicknode.js +0 -159
  301. package/lib.esm/providers/provider-quicknode.js.map +0 -1
  302. package/lib.esm/wallet/hdwallet.d.ts +0 -248
  303. package/lib.esm/wallet/hdwallet.d.ts.map +0 -1
  304. package/lib.esm/wallet/hdwallet.js +0 -498
  305. package/lib.esm/wallet/hdwallet.js.map +0 -1
  306. package/lib.esm/wallet/json-crowdsale.d.ts +0 -27
  307. package/lib.esm/wallet/json-crowdsale.d.ts.map +0 -1
  308. package/lib.esm/wallet/json-crowdsale.js +0 -55
  309. package/lib.esm/wallet/json-crowdsale.js.map +0 -1
  310. package/lib.esm/wallet/mnemonic.d.ts +0 -65
  311. package/lib.esm/wallet/mnemonic.d.ts.map +0 -1
  312. package/lib.esm/wallet/mnemonic.js +0 -165
  313. package/lib.esm/wallet/mnemonic.js.map +0 -1
  314. package/lib.esm/wallet/seedwallet.d.ts +0 -4
  315. package/lib.esm/wallet/seedwallet.d.ts.map +0 -1
  316. package/lib.esm/wallet/seedwallet.js +0 -4
  317. package/lib.esm/wallet/seedwallet.js.map +0 -1
@@ -1,236 +1,236 @@
1
- import type {
2
- EventFragment, FunctionFragment, Result, Typed
3
- } from "../abi/index.js";
4
- import type {
5
- TransactionRequest, PreparedTransactionRequest, TopicFilter
6
- } from "../providers/index.js";
7
-
8
- import type { ContractTransactionResponse } from "./wrappers.js";
9
-
10
-
11
- /**
12
- * The name for an event used for subscribing to Contract events.
13
- *
14
- * **``string``** - An event by name. The event must be non-ambiguous.
15
- * The parameters will be dereferenced when passed into the listener.
16
- *
17
- * [[ContractEvent]] - A filter from the ``contract.filters``, which will
18
- * pass only the EventPayload as a single parameter, which includes a
19
- * ``.signature`` property that can be used to further filter the event.
20
- *
21
- * [[TopicFilter]] - A filter defined using the standard Ethereum API
22
- * which provides the specific topic hash or topic hashes to watch for along
23
- * with any additional values to filter by. This will only pass a single
24
- * parameter to the listener, the EventPayload which will include additional
25
- * details to refine by, such as the event name and signature.
26
- *
27
- * [[DeferredTopicFilter]] - A filter created by calling a [[ContractEvent]]
28
- * with parameters, which will create a filter for a specific event
29
- * signature and dereference each parameter when calling the listener.
30
- */
31
- export type ContractEventName = string | ContractEvent | TopicFilter | DeferredTopicFilter;
32
-
33
- /**
34
- * A Contract with no method constraints.
35
- */
36
- export interface ContractInterface {
37
- [ name: string ]: BaseContractMethod;
38
- };
39
-
40
- /**
41
- * When creating a filter using the ``contract.filters``, this is returned.
42
- */
43
- export interface DeferredTopicFilter {
44
- getTopicFilter(): Promise<TopicFilter>;
45
- fragment: EventFragment;
46
- }
47
-
48
- /**
49
- * When populating a transaction this type is returned.
50
- */
51
- export interface ContractTransaction extends PreparedTransactionRequest {
52
- /**
53
- * The target address.
54
- */
55
- to: string;
56
-
57
- /**
58
- * The transaction data.
59
- */
60
- data: string;
61
-
62
- /**
63
- * The from address, if any.
64
- */
65
- from?: string;
66
- }
67
-
68
- /**
69
- * A deployment transaction for a contract.
70
- */
71
- export interface ContractDeployTransaction extends Omit<ContractTransaction, "to"> { }
72
-
73
- /**
74
- * The overrides for a contract transaction.
75
- */
76
- export interface Overrides extends Omit<TransactionRequest, "to" | "data"> { };
77
-
78
-
79
- /**
80
- * Arguments to a Contract method can always include an additional and
81
- * optional overrides parameter.
82
- *
83
- * @_ignore:
84
- */
85
- export type PostfixOverrides<A extends Array<any>> = A | [ ...A, Overrides ];
86
-
87
- /**
88
- * Arguments to a Contract method can always include an additional and
89
- * optional overrides parameter, and each parameter can optionally be
90
- * [[Typed]].
91
- *
92
- * @_ignore:
93
- */
94
- export type ContractMethodArgs<A extends Array<any>> = PostfixOverrides<{ [ I in keyof A ]-?: A[I] | Typed }>;
95
-
96
- // A = Arguments passed in as a tuple
97
- // R = The result type of the call (i.e. if only one return type,
98
- // the qualified type, otherwise Result)
99
- // D = The type the default call will return (i.e. R for view/pure,
100
- // TransactionResponse otherwise)
101
-
102
- /**
103
- * A Contract method can be called directly, or used in various ways.
104
- */
105
- export interface BaseContractMethod<A extends Array<any> = Array<any>, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> {
106
- (...args: ContractMethodArgs<A>): Promise<D>;
107
-
108
- /**
109
- * The name of the Contract method.
110
- */
111
- name: string;
112
-
113
- /**
114
- * The fragment of the Contract method. This will throw on ambiguous
115
- * method names.
116
- */
117
- fragment: FunctionFragment;
118
-
119
- /**
120
- * Returns the fragment constrained by %%args%%. This can be used to
121
- * resolve ambiguous method names.
122
- */
123
- getFragment(...args: ContractMethodArgs<A>): FunctionFragment;
124
-
125
- /**
126
- * Returns a populated transaction that can be used to perform the
127
- * contract method with %%args%%.
128
- */
129
- populateTransaction(...args: ContractMethodArgs<A>): Promise<ContractTransaction>;
130
-
131
- /**
132
- * Call the contract method with %%args%% and return the value.
133
- *
134
- * If the return value is a single type, it will be dereferenced and
135
- * returned directly, otherwise the full Result will be returned.
136
- */
137
- staticCall(...args: ContractMethodArgs<A>): Promise<R>;
138
-
139
- /**
140
- * Send a transaction for the contract method with %%args%%.
141
- */
142
- send(...args: ContractMethodArgs<A>): Promise<ContractTransactionResponse>;
143
-
144
- /**
145
- * Estimate the gas to send the contract method with %%args%%.
146
- */
147
- estimateGas(...args: ContractMethodArgs<A>): Promise<bigint>;
148
-
149
- /**
150
- * Call the contract method with %%args%% and return the Result
151
- * without any dereferencing.
152
- */
153
- staticCallResult(...args: ContractMethodArgs<A>): Promise<Result>;
154
- }
155
-
156
- /**
157
- * A contract method on a Contract.
158
- */
159
- export interface ContractMethod<
160
- A extends Array<any> = Array<any>,
161
- R = any,
162
- D extends R | ContractTransactionResponse = R | ContractTransactionResponse
163
- > extends BaseContractMethod<A, R, D> { }
164
-
165
- /**
166
- * A pure of view method on a Contract.
167
- */
168
- export interface ConstantContractMethod<
169
- A extends Array<any>,
170
- R = any
171
- > extends ContractMethod<A, R, R> { }
172
-
173
-
174
- /**
175
- * Each argument of an event is nullable (to indicate matching //any//.
176
- *
177
- * @_ignore:
178
- */
179
- export type ContractEventArgs<A extends Array<any>> = { [ I in keyof A ]?: A[I] | Typed | null };
180
-
181
- export interface ContractEvent<A extends Array<any> = Array<any>> {
182
- (...args: ContractEventArgs<A>): DeferredTopicFilter;
183
-
184
- /**
185
- * The name of the Contract event.
186
- */
187
- name: string;
188
-
189
- /**
190
- * The fragment of the Contract event. This will throw on ambiguous
191
- * method names.
192
- */
193
- fragment: EventFragment;
194
-
195
- /**
196
- * Returns the fragment constrained by %%args%%. This can be used to
197
- * resolve ambiguous event names.
198
- */
199
- getFragment(...args: ContractEventArgs<A>): EventFragment;
200
- };
201
-
202
- /**
203
- * A Fallback or Receive function on a Contract.
204
- */
205
- export interface WrappedFallback {
206
- (overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransactionResponse>;
207
-
208
- /**
209
- * Returns a populated transaction that can be used to perform the
210
- * fallback method.
211
- *
212
- * For non-receive fallback, ``data`` may be overridden.
213
- */
214
- populateTransaction(overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransaction>;
215
-
216
- /**
217
- * Call the contract fallback and return the result.
218
- *
219
- * For non-receive fallback, ``data`` may be overridden.
220
- */
221
- staticCall(overrides?: Omit<TransactionRequest, "to">): Promise<string>;
222
-
223
- /**
224
- * Send a transaction to the contract fallback.
225
- *
226
- * For non-receive fallback, ``data`` may be overridden.
227
- */
228
- send(overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransactionResponse>;
229
-
230
- /**
231
- * Estimate the gas to send a transaction to the contract fallback.
232
- *
233
- * For non-receive fallback, ``data`` may be overridden.
234
- */
235
- estimateGas(overrides?: Omit<TransactionRequest, "to">): Promise<bigint>;
236
- }
1
+ import type {
2
+ EventFragment, FunctionFragment, Result, Typed
3
+ } from "../abi/index.js";
4
+ import type {
5
+ TransactionRequest, PreparedTransactionRequest, TopicFilter
6
+ } from "../providers/index.js";
7
+
8
+ import type { ContractTransactionResponse } from "./wrappers.js";
9
+
10
+
11
+ /**
12
+ * The name for an event used for subscribing to Contract events.
13
+ *
14
+ * **``string``** - An event by name. The event must be non-ambiguous.
15
+ * The parameters will be dereferenced when passed into the listener.
16
+ *
17
+ * [[ContractEvent]] - A filter from the ``contract.filters``, which will
18
+ * pass only the EventPayload as a single parameter, which includes a
19
+ * ``.signature`` property that can be used to further filter the event.
20
+ *
21
+ * [[TopicFilter]] - A filter defined using the standard Ethereum API
22
+ * which provides the specific topic hash or topic hashes to watch for along
23
+ * with any additional values to filter by. This will only pass a single
24
+ * parameter to the listener, the EventPayload which will include additional
25
+ * details to refine by, such as the event name and signature.
26
+ *
27
+ * [[DeferredTopicFilter]] - A filter created by calling a [[ContractEvent]]
28
+ * with parameters, which will create a filter for a specific event
29
+ * signature and dereference each parameter when calling the listener.
30
+ */
31
+ export type ContractEventName = string | ContractEvent | TopicFilter | DeferredTopicFilter;
32
+
33
+ /**
34
+ * A Contract with no method constraints.
35
+ */
36
+ export interface ContractInterface {
37
+ [ name: string ]: BaseContractMethod;
38
+ };
39
+
40
+ /**
41
+ * When creating a filter using the ``contract.filters``, this is returned.
42
+ */
43
+ export interface DeferredTopicFilter {
44
+ getTopicFilter(): Promise<TopicFilter>;
45
+ fragment: EventFragment;
46
+ }
47
+
48
+ /**
49
+ * When populating a transaction this type is returned.
50
+ */
51
+ export interface ContractTransaction extends PreparedTransactionRequest {
52
+ /**
53
+ * The target address.
54
+ */
55
+ to: string;
56
+
57
+ /**
58
+ * The transaction data.
59
+ */
60
+ data: string;
61
+
62
+ /**
63
+ * The from address, if any.
64
+ */
65
+ from?: string;
66
+ }
67
+
68
+ /**
69
+ * A deployment transaction for a contract.
70
+ */
71
+ export interface ContractDeployTransaction extends Omit<ContractTransaction, "to"> { }
72
+
73
+ /**
74
+ * The overrides for a contract transaction.
75
+ */
76
+ export interface Overrides extends Omit<TransactionRequest, "to" | "data"> { };
77
+
78
+
79
+ /**
80
+ * Arguments to a Contract method can always include an additional and
81
+ * optional overrides parameter.
82
+ *
83
+ * @_ignore:
84
+ */
85
+ export type PostfixOverrides<A extends Array<any>> = A | [ ...A, Overrides ];
86
+
87
+ /**
88
+ * Arguments to a Contract method can always include an additional and
89
+ * optional overrides parameter, and each parameter can optionally be
90
+ * [[Typed]].
91
+ *
92
+ * @_ignore:
93
+ */
94
+ export type ContractMethodArgs<A extends Array<any>> = PostfixOverrides<{ [ I in keyof A ]-?: A[I] | Typed }>;
95
+
96
+ // A = Arguments passed in as a tuple
97
+ // R = The result type of the call (i.e. if only one return type,
98
+ // the qualified type, otherwise Result)
99
+ // D = The type the default call will return (i.e. R for view/pure,
100
+ // TransactionResponse otherwise)
101
+
102
+ /**
103
+ * A Contract method can be called directly, or used in various ways.
104
+ */
105
+ export interface BaseContractMethod<A extends Array<any> = Array<any>, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> {
106
+ (...args: ContractMethodArgs<A>): Promise<D>;
107
+
108
+ /**
109
+ * The name of the Contract method.
110
+ */
111
+ name: string;
112
+
113
+ /**
114
+ * The fragment of the Contract method. This will throw on ambiguous
115
+ * method names.
116
+ */
117
+ fragment: FunctionFragment;
118
+
119
+ /**
120
+ * Returns the fragment constrained by %%args%%. This can be used to
121
+ * resolve ambiguous method names.
122
+ */
123
+ getFragment(...args: ContractMethodArgs<A>): FunctionFragment;
124
+
125
+ /**
126
+ * Returns a populated transaction that can be used to perform the
127
+ * contract method with %%args%%.
128
+ */
129
+ populateTransaction(...args: ContractMethodArgs<A>): Promise<ContractTransaction>;
130
+
131
+ /**
132
+ * Call the contract method with %%args%% and return the value.
133
+ *
134
+ * If the return value is a single type, it will be dereferenced and
135
+ * returned directly, otherwise the full Result will be returned.
136
+ */
137
+ staticCall(...args: ContractMethodArgs<A>): Promise<R>;
138
+
139
+ /**
140
+ * Send a transaction for the contract method with %%args%%.
141
+ */
142
+ send(...args: ContractMethodArgs<A>): Promise<ContractTransactionResponse>;
143
+
144
+ /**
145
+ * Estimate the gas to send the contract method with %%args%%.
146
+ */
147
+ estimateGas(...args: ContractMethodArgs<A>): Promise<bigint>;
148
+
149
+ /**
150
+ * Call the contract method with %%args%% and return the Result
151
+ * without any dereferencing.
152
+ */
153
+ staticCallResult(...args: ContractMethodArgs<A>): Promise<Result>;
154
+ }
155
+
156
+ /**
157
+ * A contract method on a Contract.
158
+ */
159
+ export interface ContractMethod<
160
+ A extends Array<any> = Array<any>,
161
+ R = any,
162
+ D extends R | ContractTransactionResponse = R | ContractTransactionResponse
163
+ > extends BaseContractMethod<A, R, D> { }
164
+
165
+ /**
166
+ * A pure of view method on a Contract.
167
+ */
168
+ export interface ConstantContractMethod<
169
+ A extends Array<any>,
170
+ R = any
171
+ > extends ContractMethod<A, R, R> { }
172
+
173
+
174
+ /**
175
+ * Each argument of an event is nullable (to indicate matching //any//.
176
+ *
177
+ * @_ignore:
178
+ */
179
+ export type ContractEventArgs<A extends Array<any>> = { [ I in keyof A ]?: A[I] | Typed | null };
180
+
181
+ export interface ContractEvent<A extends Array<any> = Array<any>> {
182
+ (...args: ContractEventArgs<A>): DeferredTopicFilter;
183
+
184
+ /**
185
+ * The name of the Contract event.
186
+ */
187
+ name: string;
188
+
189
+ /**
190
+ * The fragment of the Contract event. This will throw on ambiguous
191
+ * method names.
192
+ */
193
+ fragment: EventFragment;
194
+
195
+ /**
196
+ * Returns the fragment constrained by %%args%%. This can be used to
197
+ * resolve ambiguous event names.
198
+ */
199
+ getFragment(...args: ContractEventArgs<A>): EventFragment;
200
+ };
201
+
202
+ /**
203
+ * A Fallback or Receive function on a Contract.
204
+ */
205
+ export interface WrappedFallback {
206
+ (overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransactionResponse>;
207
+
208
+ /**
209
+ * Returns a populated transaction that can be used to perform the
210
+ * fallback method.
211
+ *
212
+ * For non-receive fallback, ``data`` may be overridden.
213
+ */
214
+ populateTransaction(overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransaction>;
215
+
216
+ /**
217
+ * Call the contract fallback and return the result.
218
+ *
219
+ * For non-receive fallback, ``data`` may be overridden.
220
+ */
221
+ staticCall(overrides?: Omit<TransactionRequest, "to">): Promise<string>;
222
+
223
+ /**
224
+ * Send a transaction to the contract fallback.
225
+ *
226
+ * For non-receive fallback, ``data`` may be overridden.
227
+ */
228
+ send(overrides?: Omit<TransactionRequest, "to">): Promise<ContractTransactionResponse>;
229
+
230
+ /**
231
+ * Estimate the gas to send a transaction to the contract fallback.
232
+ *
233
+ * For non-receive fallback, ``data`` may be overridden.
234
+ */
235
+ estimateGas(overrides?: Omit<TransactionRequest, "to">): Promise<bigint>;
236
+ }