viem 0.0.0-w-20230802141753 → 0.0.0-w-20230810155401

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 (226) hide show
  1. package/chains/utils/package.json +5 -0
  2. package/dist/cjs/accounts/index.js +5 -1
  3. package/dist/cjs/accounts/index.js.map +1 -1
  4. package/dist/cjs/accounts/utils/privateKeyToAddress.js +12 -0
  5. package/dist/cjs/accounts/utils/privateKeyToAddress.js.map +1 -0
  6. package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
  7. package/dist/cjs/actions/public/estimateContractGas.js +1 -1
  8. package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
  9. package/dist/cjs/actions/public/estimateGas.js +3 -1
  10. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  11. package/dist/cjs/actions/public/watchContractEvent.js +134 -67
  12. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  13. package/dist/cjs/actions/public/watchEvent.js +136 -62
  14. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  15. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  16. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  17. package/dist/cjs/chains/{formatters/celo.js → celo/formatters.js} +1 -1
  18. package/dist/cjs/chains/celo/formatters.js.map +1 -0
  19. package/dist/cjs/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  20. package/dist/cjs/chains/celo/serializers.js.map +1 -0
  21. package/dist/cjs/{types/formatter.js → chains/celo/types.js} +1 -1
  22. package/dist/cjs/chains/celo/types.js.map +1 -0
  23. package/dist/cjs/chains/index.js +30 -15
  24. package/dist/cjs/chains/index.js.map +1 -1
  25. package/dist/cjs/chains/optimism/fees.js +7 -0
  26. package/dist/cjs/chains/optimism/fees.js.map +1 -0
  27. package/dist/cjs/chains/{formatters/optimism.js → optimism/formatters.js} +13 -1
  28. package/dist/cjs/chains/optimism/formatters.js.map +1 -0
  29. package/dist/cjs/{types/serializer.js → chains/optimism/types.js} +1 -1
  30. package/dist/cjs/chains/optimism/types.js.map +1 -0
  31. package/dist/cjs/chains/utils.js +11 -0
  32. package/dist/cjs/chains/utils.js.map +1 -0
  33. package/dist/cjs/errors/node.js +1 -1
  34. package/dist/cjs/errors/node.js.map +1 -1
  35. package/dist/cjs/errors/version.js +1 -1
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/utils/abi/encodeAbiParameters.js +11 -14
  38. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  39. package/dist/cjs/utils/chain.js +5 -3
  40. package/dist/cjs/utils/chain.js.map +1 -1
  41. package/dist/cjs/utils/formatters/block.js.map +1 -1
  42. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  43. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  44. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  45. package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
  46. package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
  47. package/dist/cjs/utils/hash/hashFunction.js +3 -2
  48. package/dist/cjs/utils/hash/hashFunction.js.map +1 -1
  49. package/dist/cjs/utils/transaction/prepareRequest.js +19 -12
  50. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  51. package/dist/esm/accounts/index.js +2 -0
  52. package/dist/esm/accounts/index.js.map +1 -1
  53. package/dist/esm/accounts/utils/privateKeyToAddress.js +15 -0
  54. package/dist/esm/accounts/utils/privateKeyToAddress.js.map +1 -0
  55. package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
  56. package/dist/esm/actions/public/estimateContractGas.js +1 -1
  57. package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
  58. package/dist/esm/actions/public/estimateGas.js +4 -2
  59. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  60. package/dist/esm/actions/public/watchContractEvent.js +145 -76
  61. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  62. package/dist/esm/actions/public/watchEvent.js +146 -70
  63. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  64. package/dist/esm/actions/wallet/sendTransaction.js +1 -1
  65. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  66. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  67. package/dist/esm/chains/{formatters/celo.js → celo/formatters.js} +2 -2
  68. package/dist/esm/chains/celo/formatters.js.map +1 -0
  69. package/dist/esm/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  70. package/dist/esm/chains/celo/serializers.js.map +1 -0
  71. package/dist/esm/chains/celo/types.js +2 -0
  72. package/dist/esm/chains/celo/types.js.map +1 -0
  73. package/dist/esm/chains/index.js +22 -7
  74. package/dist/esm/chains/index.js.map +1 -1
  75. package/dist/esm/chains/optimism/fees.js +4 -0
  76. package/dist/esm/chains/optimism/fees.js.map +1 -0
  77. package/dist/esm/chains/{formatters/optimism.js → optimism/formatters.js} +15 -2
  78. package/dist/esm/chains/optimism/formatters.js.map +1 -0
  79. package/dist/esm/chains/optimism/types.js +2 -0
  80. package/dist/esm/chains/optimism/types.js.map +1 -0
  81. package/dist/esm/chains/utils.js +4 -0
  82. package/dist/esm/chains/utils.js.map +1 -0
  83. package/dist/esm/errors/node.js +1 -1
  84. package/dist/esm/errors/node.js.map +1 -1
  85. package/dist/esm/errors/version.js +1 -1
  86. package/dist/esm/index.js.map +1 -1
  87. package/dist/esm/utils/abi/encodeAbiParameters.js +13 -14
  88. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  89. package/dist/esm/utils/chain.js +5 -3
  90. package/dist/esm/utils/chain.js.map +1 -1
  91. package/dist/esm/utils/formatters/block.js.map +1 -1
  92. package/dist/esm/utils/formatters/extract.js.map +1 -1
  93. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  94. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  95. package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
  96. package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
  97. package/dist/esm/utils/hash/hashFunction.js +3 -2
  98. package/dist/esm/utils/hash/hashFunction.js.map +1 -1
  99. package/dist/esm/utils/transaction/prepareRequest.js +20 -13
  100. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  101. package/dist/types/accounts/index.d.ts +2 -0
  102. package/dist/types/accounts/index.d.ts.map +1 -1
  103. package/dist/types/accounts/utils/privateKeyToAddress.d.ts +11 -0
  104. package/dist/types/accounts/utils/privateKeyToAddress.d.ts.map +1 -0
  105. package/dist/types/accounts/utils/signTransaction.d.ts +2 -2
  106. package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
  107. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  108. package/dist/types/actions/public/getTransactionReceipt.d.ts +1 -1
  109. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  110. package/dist/types/actions/public/simulateContract.d.ts +2 -2
  111. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  112. package/dist/types/actions/public/watchContractEvent.d.ts +32 -6
  113. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  114. package/dist/types/actions/public/watchEvent.d.ts +32 -9
  115. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  116. package/dist/types/actions/wallet/deployContract.d.ts +1 -1
  117. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  118. package/dist/types/actions/wallet/sendTransaction.d.ts +2 -2
  119. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  120. package/dist/types/actions/wallet/writeContract.d.ts +4 -2
  121. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  122. package/dist/types/chains/{formatters/celo.d.ts → celo/formatters.d.ts} +26 -85
  123. package/dist/types/chains/celo/formatters.d.ts.map +1 -0
  124. package/dist/types/chains/{serializers/celo.d.ts → celo/serializers.d.ts} +4 -4
  125. package/dist/types/chains/celo/serializers.d.ts.map +1 -0
  126. package/dist/types/chains/celo/types.d.ts +60 -0
  127. package/dist/types/chains/celo/types.d.ts.map +1 -0
  128. package/dist/types/chains/index.d.ts +2527 -2754
  129. package/dist/types/chains/index.d.ts.map +1 -1
  130. package/dist/types/chains/optimism/fees.d.ts +4 -0
  131. package/dist/types/chains/optimism/fees.d.ts.map +1 -0
  132. package/dist/types/chains/{formatters/optimism.d.ts → optimism/formatters.d.ts} +77 -54
  133. package/dist/types/chains/optimism/formatters.d.ts.map +1 -0
  134. package/dist/types/chains/optimism/types.d.ts +53 -0
  135. package/dist/types/chains/optimism/types.d.ts.map +1 -0
  136. package/dist/types/chains/utils.d.ts +6 -0
  137. package/dist/types/chains/utils.d.ts.map +1 -0
  138. package/dist/types/clients/decorators/public.d.ts +1 -1
  139. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  140. package/dist/types/errors/node.d.ts.map +1 -1
  141. package/dist/types/errors/version.d.ts +1 -1
  142. package/dist/types/index.d.ts +13 -3
  143. package/dist/types/index.d.ts.map +1 -1
  144. package/dist/types/types/chain.d.ts +52 -8
  145. package/dist/types/types/chain.d.ts.map +1 -1
  146. package/dist/types/types/rpc.d.ts +1 -1
  147. package/dist/types/types/rpc.d.ts.map +1 -1
  148. package/dist/types/types/utils.d.ts +10 -0
  149. package/dist/types/types/utils.d.ts.map +1 -1
  150. package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
  151. package/dist/types/utils/chain.d.ts +3 -6
  152. package/dist/types/utils/chain.d.ts.map +1 -1
  153. package/dist/types/utils/formatters/block.d.ts +7 -3
  154. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  155. package/dist/types/utils/formatters/extract.d.ts +2 -2
  156. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  157. package/dist/types/utils/formatters/formatter.d.ts +1 -1
  158. package/dist/types/utils/formatters/transaction.d.ts +8 -4
  159. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  160. package/dist/types/utils/formatters/transactionReceipt.d.ts +3 -4
  161. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  162. package/dist/types/utils/formatters/transactionRequest.d.ts +4 -5
  163. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  164. package/dist/types/utils/hash/hashFunction.d.ts +1 -1
  165. package/dist/types/utils/hash/hashFunction.d.ts.map +1 -1
  166. package/dist/types/utils/transaction/prepareRequest.d.ts +6 -11
  167. package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
  168. package/package.json +8 -2
  169. package/src/accounts/index.ts +6 -0
  170. package/src/accounts/utils/privateKeyToAddress.ts +20 -0
  171. package/src/accounts/utils/signTransaction.ts +2 -2
  172. package/src/actions/public/estimateContractGas.ts +1 -1
  173. package/src/actions/public/estimateGas.ts +11 -2
  174. package/src/actions/public/simulateContract.ts +2 -2
  175. package/src/actions/public/watchContractEvent.ts +201 -87
  176. package/src/actions/public/watchEvent.ts +230 -109
  177. package/src/actions/wallet/deployContract.ts +1 -1
  178. package/src/actions/wallet/sendTransaction.ts +9 -6
  179. package/src/actions/wallet/writeContract.ts +11 -7
  180. package/src/chains/{formatters/celo.ts → celo/formatters.ts} +29 -48
  181. package/src/chains/{serializers/celo.ts → celo/serializers.ts} +5 -5
  182. package/src/chains/celo/types.ts +111 -0
  183. package/src/chains/index.ts +22 -7
  184. package/src/chains/optimism/fees.ts +5 -0
  185. package/src/chains/optimism/formatters.ts +74 -0
  186. package/src/chains/optimism/types.ts +102 -0
  187. package/src/chains/utils.ts +41 -0
  188. package/src/clients/decorators/public.ts +3 -3
  189. package/src/errors/node.ts +2 -1
  190. package/src/errors/version.ts +1 -1
  191. package/src/index.ts +24 -8
  192. package/src/types/chain.ts +91 -14
  193. package/src/types/rpc.ts +2 -6
  194. package/src/types/utils.ts +11 -0
  195. package/src/utils/abi/encodeAbiParameters.ts +14 -17
  196. package/src/utils/chain.ts +21 -10
  197. package/src/utils/formatters/block.ts +8 -6
  198. package/src/utils/formatters/extract.ts +2 -2
  199. package/src/utils/formatters/formatter.ts +2 -2
  200. package/src/utils/formatters/transaction.ts +8 -6
  201. package/src/utils/formatters/transactionReceipt.ts +9 -3
  202. package/src/utils/formatters/transactionRequest.ts +9 -3
  203. package/src/utils/hash/hashFunction.ts +3 -2
  204. package/src/utils/transaction/prepareRequest.ts +55 -30
  205. package/dist/cjs/chains/formatters/celo.js.map +0 -1
  206. package/dist/cjs/chains/formatters/optimism.js.map +0 -1
  207. package/dist/cjs/chains/serializers/celo.js.map +0 -1
  208. package/dist/cjs/types/formatter.js.map +0 -1
  209. package/dist/cjs/types/serializer.js.map +0 -1
  210. package/dist/esm/chains/formatters/celo.js.map +0 -1
  211. package/dist/esm/chains/formatters/optimism.js.map +0 -1
  212. package/dist/esm/chains/serializers/celo.js.map +0 -1
  213. package/dist/esm/types/formatter.js +0 -2
  214. package/dist/esm/types/formatter.js.map +0 -1
  215. package/dist/esm/types/serializer.js +0 -2
  216. package/dist/esm/types/serializer.js.map +0 -1
  217. package/dist/types/chains/formatters/celo.d.ts.map +0 -1
  218. package/dist/types/chains/formatters/optimism.d.ts.map +0 -1
  219. package/dist/types/chains/serializers/celo.d.ts.map +0 -1
  220. package/dist/types/types/formatter.d.ts +0 -17
  221. package/dist/types/types/formatter.d.ts.map +0 -1
  222. package/dist/types/types/serializer.d.ts +0 -7
  223. package/dist/types/types/serializer.d.ts.map +0 -1
  224. package/src/chains/formatters/optimism.ts +0 -91
  225. package/src/types/formatter.ts +0 -42
  226. package/src/types/serializer.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accounts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAW1C,OAAO,EAA4C,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAGL,WAAW,GACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accounts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAW1C,OAAO,EAA4C,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAGL,WAAW,GACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,eAAe,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAGL,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { secp256k1 } from '@noble/curves/secp256k1';
2
+ import { bytesToHex } from '../../utils/encoding/toHex.js';
3
+ import { publicKeyToAddress } from './publicKeyToAddress.js';
4
+ /**
5
+ * @description Converts an ECDSA private key to an address.
6
+ *
7
+ * @param privateKey The private key to convert.
8
+ *
9
+ * @returns The address.
10
+ */
11
+ export function privateKeyToAddress(privateKey) {
12
+ const publicKey = bytesToHex(secp256k1.getPublicKey(privateKey.slice(2), false));
13
+ return publicKeyToAddress(publicKey);
14
+ }
15
+ //# sourceMappingURL=privateKeyToAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privateKeyToAddress.js","sourceRoot":"","sources":["../../../../src/accounts/utils/privateKeyToAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAe;IACjD,MAAM,SAAS,GAAG,UAAU,CAC1B,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CACnD,CAAA;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../src/accounts/utils/signTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAEzD,OAAO,EAEL,oBAAoB,GACrB,MAAM,iDAAiD,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAehC,MAAM,CAAC,KAAK,UAAU,eAAe,CAEnC,EACA,UAAU,EACV,WAAW,EACX,UAAU,GAAG,oBAAoB,GACa;IAG9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,UAAU;KACX,CAAC,CAAA;IACF,OAAO,UAAU,CACf,WAAW,EACX,SAAS,CAC6C,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../src/accounts/utils/signTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAEzD,OAAO,EAEL,oBAAoB,GACrB,MAAM,iDAAiD,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAehC,MAAM,CAAC,KAAK,UAAU,eAAe,CAEnC,EACA,UAAU,EACV,WAAW,EACX,UAAU,GAAG,oBAAoB,GACmB;IAGpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,UAAU;KACX,CAAC,CAAA;IACF,OAAO,UAAU,CACf,WAAW,EACX,SAAS,CAC6C,CAAA;AAC1D,CAAC"}
@@ -49,7 +49,7 @@ export async function estimateContractGas(client, { abi, address, args, function
49
49
  abi: abi,
50
50
  address,
51
51
  args,
52
- docsPath: '/docs/contract/simulateContract',
52
+ docsPath: '/docs/contract/estimateContractGas',
53
53
  functionName,
54
54
  sender: account?.address,
55
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"estimateContractGas.js","sourceRoot":"","sources":["../../../../src/actions/public/estimateContractGas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAOnE,OAAO,EAEL,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAA8B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAmB1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAMvC,MAA2C,EAC3C,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,OAAO,EAC2D;IAEvE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmD,CAAC,CAAA;IAClE,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YACpC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SACiC,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAA;KACX;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,MAAM,gBAAgB,CAAC,GAAgB,EAAE;YACvC,GAAG,EAAE,GAAU;YACf,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,iCAAiC;YAC3C,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;KACH;AACH,CAAC"}
1
+ {"version":3,"file":"estimateContractGas.js","sourceRoot":"","sources":["../../../../src/actions/public/estimateContractGas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAOnE,OAAO,EAEL,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAA8B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAmB1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAMvC,MAA2C,EAC3C,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,OAAO,EAC2D;IAEvE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmD,CAAC,CAAA;IAClE,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YACpC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SACiC,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAA;KACX;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,MAAM,gBAAgB,CAAC,GAAgB,EAAE;YACvC,GAAG,EAAE,GAAU;YACf,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,oCAAoC;YAC9C,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -5,7 +5,7 @@ import { getEstimateGasError } from '../../utils/errors/getEstimateGasError.js';
5
5
  import { extract } from '../../utils/formatters/extract.js';
6
6
  import { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';
7
7
  import { assertRequest, } from '../../utils/transaction/assertRequest.js';
8
- import { prepareRequest } from '../../utils/transaction/prepareRequest.js';
8
+ import { prepareRequest, } from '../../utils/transaction/prepareRequest.js';
9
9
  /**
10
10
  * Estimates the gas necessary to complete a transaction without submitting it to the network.
11
11
  *
@@ -39,7 +39,9 @@ export async function estimateGas(client, args) {
39
39
  });
40
40
  const account = parseAccount(account_);
41
41
  try {
42
- const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = account.type === 'local' ? await prepareRequest(client, args) : args;
42
+ const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = account.type === 'local'
43
+ ? (await prepareRequest(client, args))
44
+ : args;
43
45
  const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;
44
46
  const block = blockNumberHex || blockTag;
45
47
  assertRequest(args);
@@ -1 +1 @@
1
- {"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../../../src/actions/public/estimateGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAO9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAEL,wBAAwB,GACzB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAEL,aAAa,GACd,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AA6B1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAA2C,EAC3C,IAA6C;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAA;IAC/C,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI;QACF,MAAM,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,EAAE,EACF,KAAK,EACL,GAAG,IAAI,EACR,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAExE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACzE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,aAAa,CAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM;YACpD,wBAAwB,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC;YACrB,gFAAgF;YAChF,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,UAAU;YACV,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,EAAE;YACF,KAAK;SACgB,CAAC,CAAA;QAExB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;KACvB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,mBAAmB,CAAC,GAAgB,EAAE;YAC1C,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;KACH;AACH,CAAC"}
1
+ {"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../../../src/actions/public/estimateGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAO9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAEL,wBAAwB,GACzB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAEL,aAAa,GACd,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEL,cAAc,GACf,MAAM,2CAA2C,CAAA;AA6BlD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAA2C,EAC3C,IAA6C;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAA;IAC/C,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI;QACF,MAAM,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,EAAE,EACF,KAAK,EACL,GAAG,IAAI,EACR,GACC,OAAO,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAE,CAAC,MAAM,cAAc,CACpB,MAAM,EACN,IAAgC,CACjC,CAA2B;YAC9B,CAAC,CAAC,IAAI,CAAA;QAEV,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACzE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,aAAa,CAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM;YACpD,wBAAwB,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC;YACrB,gFAAgF;YAChF,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,UAAU;YACV,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,EAAE;YACF,KAAK;SACgB,CAAC,CAAA;QAExB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;KACvB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,mBAAmB,CAAC,GAAgB,EAAE;YAC1C,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -2,7 +2,8 @@ import { getAbiItem, } from '../../utils/abi/getAbiItem.js';
2
2
  import { observe } from '../../utils/observe.js';
3
3
  import { poll } from '../../utils/poll.js';
4
4
  import { stringify } from '../../utils/stringify.js';
5
- import { InvalidInputRpcError } from '../../index.js';
5
+ import { DecodeLogDataMismatch } from '../../errors/abi.js';
6
+ import { DecodeLogTopicsMismatch, InvalidInputRpcError, decodeEventLog, encodeEventTopics, formatLog, } from '../../index.js';
6
7
  import { createContractEventFilter, } from './createContractEventFilter.js';
7
8
  import { getBlockNumber } from './getBlockNumber.js';
8
9
  import { getFilterChanges } from './getFilterChanges.js';
@@ -38,89 +39,157 @@ import { uninstallFilter } from './uninstallFilter.js';
38
39
  * onLogs: (logs) => console.log(logs),
39
40
  * })
40
41
  */
41
- export function watchContractEvent(client, { abi, address, args, batch = true, eventName, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {
42
- const observerId = stringify([
43
- 'watchContractEvent',
44
- address,
45
- args,
46
- batch,
47
- client.uid,
48
- eventName,
49
- pollingInterval,
50
- ]);
51
- const strict = strict_ ?? false;
52
- return observe(observerId, { onLogs, onError }, (emit) => {
53
- let previousBlockNumber;
54
- let filter;
55
- let initialized = false;
56
- const unwatch = poll(async () => {
57
- if (!initialized) {
58
- try {
59
- filter = (await createContractEventFilter(client, {
60
- abi,
61
- address,
62
- args,
63
- eventName,
64
- strict,
65
- }));
66
- }
67
- catch { }
68
- initialized = true;
69
- return;
70
- }
71
- try {
72
- let logs;
73
- if (filter) {
74
- logs = await getFilterChanges(client, { filter });
75
- }
76
- else {
77
- // If the filter doesn't exist, we will fall back to use `getLogs`.
78
- // The fall back exists because some RPC Providers do not support filters.
79
- // Fetch the block number to use for `getLogs`.
80
- const blockNumber = await getBlockNumber(client);
81
- // If the block number has changed, we will need to fetch the logs.
82
- // If the block number doesn't exist, we are yet to reach the first poll interval,
83
- // so do not emit any logs.
84
- if (previousBlockNumber && previousBlockNumber !== blockNumber) {
85
- logs = await getLogs(client, {
42
+ export function watchContractEvent(client, { abi, address, args, batch = true, eventName, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, }) {
43
+ const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';
44
+ const pollContractEvent = () => {
45
+ const observerId = stringify([
46
+ 'watchContractEvent',
47
+ address,
48
+ args,
49
+ batch,
50
+ client.uid,
51
+ eventName,
52
+ pollingInterval,
53
+ ]);
54
+ const strict = strict_ ?? false;
55
+ return observe(observerId, { onLogs, onError }, (emit) => {
56
+ let previousBlockNumber;
57
+ let filter;
58
+ let initialized = false;
59
+ const unwatch = poll(async () => {
60
+ if (!initialized) {
61
+ try {
62
+ filter = (await createContractEventFilter(client, {
63
+ abi,
86
64
  address,
87
65
  args,
88
- fromBlock: previousBlockNumber + 1n,
89
- toBlock: blockNumber,
90
- event: getAbiItem({
91
- abi,
92
- name: eventName,
93
- }),
94
- });
66
+ eventName,
67
+ strict,
68
+ }));
69
+ }
70
+ catch { }
71
+ initialized = true;
72
+ return;
73
+ }
74
+ try {
75
+ let logs;
76
+ if (filter) {
77
+ logs = await getFilterChanges(client, { filter });
95
78
  }
96
79
  else {
97
- logs = [];
80
+ // If the filter doesn't exist, we will fall back to use `getLogs`.
81
+ // The fall back exists because some RPC Providers do not support filters.
82
+ // Fetch the block number to use for `getLogs`.
83
+ const blockNumber = await getBlockNumber(client);
84
+ // If the block number has changed, we will need to fetch the logs.
85
+ // If the block number doesn't exist, we are yet to reach the first poll interval,
86
+ // so do not emit any logs.
87
+ if (previousBlockNumber && previousBlockNumber !== blockNumber) {
88
+ logs = await getLogs(client, {
89
+ address,
90
+ args,
91
+ fromBlock: previousBlockNumber + 1n,
92
+ toBlock: blockNumber,
93
+ event: getAbiItem({
94
+ abi,
95
+ name: eventName,
96
+ }),
97
+ });
98
+ }
99
+ else {
100
+ logs = [];
101
+ }
102
+ previousBlockNumber = blockNumber;
98
103
  }
99
- previousBlockNumber = blockNumber;
104
+ if (logs.length === 0)
105
+ return;
106
+ if (batch)
107
+ emit.onLogs(logs);
108
+ else
109
+ logs.forEach((log) => emit.onLogs([log]));
100
110
  }
101
- if (logs.length === 0)
102
- return;
103
- if (batch)
104
- emit.onLogs(logs);
105
- else
106
- logs.forEach((log) => emit.onLogs([log]));
111
+ catch (err) {
112
+ // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.
113
+ // Reinitalize the filter when this occurs
114
+ if (filter && err instanceof InvalidInputRpcError)
115
+ initialized = false;
116
+ emit.onError?.(err);
117
+ }
118
+ }, {
119
+ emitOnBegin: true,
120
+ interval: pollingInterval,
121
+ });
122
+ return async () => {
123
+ if (filter)
124
+ await uninstallFilter(client, { filter });
125
+ unwatch();
126
+ };
127
+ });
128
+ };
129
+ const subscribeContractEvent = () => {
130
+ let active = true;
131
+ let unsubscribe = () => (active = false);
132
+ (async () => {
133
+ try {
134
+ const topics = eventName
135
+ ? encodeEventTopics({
136
+ abi: abi,
137
+ eventName: eventName,
138
+ args,
139
+ })
140
+ : [];
141
+ const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({
142
+ params: ['logs', { address, topics }],
143
+ onData(data) {
144
+ if (!active)
145
+ return;
146
+ const log = data.result;
147
+ try {
148
+ const { eventName, args } = decodeEventLog({
149
+ abi: abi,
150
+ data: log.data,
151
+ topics: log.topics,
152
+ strict: strict_,
153
+ });
154
+ const formatted = formatLog(log, {
155
+ args,
156
+ eventName: eventName,
157
+ });
158
+ onLogs([formatted]);
159
+ }
160
+ catch (err) {
161
+ let eventName;
162
+ let isUnnamed;
163
+ if (err instanceof DecodeLogDataMismatch ||
164
+ err instanceof DecodeLogTopicsMismatch) {
165
+ // If strict mode is on, and log data/topics do not match event definition, skip.
166
+ if (strict_)
167
+ return;
168
+ eventName = err.abiItem.name;
169
+ isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));
170
+ }
171
+ // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).
172
+ const formatted = formatLog(log, {
173
+ args: isUnnamed ? [] : {},
174
+ eventName,
175
+ });
176
+ onLogs([formatted]);
177
+ }
178
+ },
179
+ onError(error) {
180
+ onError?.(error);
181
+ },
182
+ });
183
+ unsubscribe = unsubscribe_;
184
+ if (!active)
185
+ unsubscribe();
107
186
  }
108
187
  catch (err) {
109
- // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.
110
- // Reinitalize the filter when this occurs
111
- if (filter && err instanceof InvalidInputRpcError)
112
- initialized = false;
113
- emit.onError?.(err);
188
+ onError?.(err);
114
189
  }
115
- }, {
116
- emitOnBegin: true,
117
- interval: pollingInterval,
118
- });
119
- return async () => {
120
- if (filter)
121
- await uninstallFilter(client, { filter });
122
- unwatch();
123
- };
124
- });
190
+ })();
191
+ return unsubscribe;
192
+ };
193
+ return enablePolling ? pollContractEvent() : subscribeContractEvent();
125
194
  }
126
195
  //# sourceMappingURL=watchContractEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchContractEvent.js","sourceRoot":"","sources":["../../../../src/actions/public/watchContractEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchContractEvent.js","sourceRoot":"","sources":["../../../../src/actions/public/watchContractEvent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { observe } from '../../utils/observe.js';
2
2
  import { poll } from '../../utils/poll.js';
3
3
  import { stringify } from '../../utils/stringify.js';
4
+ import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';
4
5
  import { InvalidInputRpcError } from '../../errors/rpc.js';
6
+ import { decodeEventLog, encodeEventTopics, formatLog, } from '../../utils/index.js';
5
7
  import { createEventFilter, } from './createEventFilter.js';
6
8
  import { getBlockNumber } from './getBlockNumber.js';
7
9
  import { getFilterChanges } from './getFilterChanges.js';
@@ -39,87 +41,161 @@ import { uninstallFilter } from './uninstallFilter.js';
39
41
  * onLogs: (logs) => console.log(logs),
40
42
  * })
41
43
  */
42
- export function watchEvent(client, { address, args, batch = true, event, events, onError, onLogs, pollingInterval = client.pollingInterval, strict: strict_, }) {
43
- const observerId = stringify([
44
- 'watchEvent',
45
- address,
46
- args,
47
- batch,
48
- client.uid,
49
- event,
50
- pollingInterval,
51
- ]);
44
+ export function watchEvent(client, { address, args, batch = true, event, events, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, }) {
45
+ const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';
52
46
  const strict = strict_ ?? false;
53
- return observe(observerId, { onLogs, onError }, (emit) => {
54
- let previousBlockNumber;
55
- let filter;
56
- let initialized = false;
57
- const unwatch = poll(async () => {
58
- if (!initialized) {
59
- try {
60
- filter = (await createEventFilter(client, {
61
- address,
62
- args,
63
- event: event,
64
- events,
65
- strict,
66
- }));
67
- }
68
- catch { }
69
- initialized = true;
70
- return;
71
- }
72
- try {
73
- let logs;
74
- if (filter) {
75
- logs = await getFilterChanges(client, { filter });
76
- }
77
- else {
78
- // If the filter doesn't exist, we will fall back to use `getLogs`.
79
- // The fall back exists because some RPC Providers do not support filters.
80
- // Fetch the block number to use for `getLogs`.
81
- const blockNumber = await getBlockNumber(client);
82
- // If the block number has changed, we will need to fetch the logs.
83
- // If the block number doesn't exist, we are yet to reach the first poll interval,
84
- // so do not emit any logs.
85
- if (previousBlockNumber && previousBlockNumber !== blockNumber) {
86
- logs = await getLogs(client, {
47
+ const pollEvent = () => {
48
+ const observerId = stringify([
49
+ 'watchEvent',
50
+ address,
51
+ args,
52
+ batch,
53
+ client.uid,
54
+ event,
55
+ pollingInterval,
56
+ ]);
57
+ return observe(observerId, { onLogs, onError }, (emit) => {
58
+ let previousBlockNumber;
59
+ let filter;
60
+ let initialized = false;
61
+ const unwatch = poll(async () => {
62
+ if (!initialized) {
63
+ try {
64
+ filter = (await createEventFilter(client, {
87
65
  address,
88
66
  args,
89
67
  event: event,
90
68
  events,
91
- fromBlock: previousBlockNumber + 1n,
92
- toBlock: blockNumber,
93
- });
69
+ strict,
70
+ }));
71
+ }
72
+ catch { }
73
+ initialized = true;
74
+ return;
75
+ }
76
+ try {
77
+ let logs;
78
+ if (filter) {
79
+ logs = await getFilterChanges(client, { filter });
94
80
  }
95
81
  else {
96
- logs = [];
82
+ // If the filter doesn't exist, we will fall back to use `getLogs`.
83
+ // The fall back exists because some RPC Providers do not support filters.
84
+ // Fetch the block number to use for `getLogs`.
85
+ const blockNumber = await getBlockNumber(client);
86
+ // If the block number has changed, we will need to fetch the logs.
87
+ // If the block number doesn't exist, we are yet to reach the first poll interval,
88
+ // so do not emit any logs.
89
+ if (previousBlockNumber && previousBlockNumber !== blockNumber) {
90
+ logs = await getLogs(client, {
91
+ address,
92
+ args,
93
+ event: event,
94
+ events,
95
+ fromBlock: previousBlockNumber + 1n,
96
+ toBlock: blockNumber,
97
+ });
98
+ }
99
+ else {
100
+ logs = [];
101
+ }
102
+ previousBlockNumber = blockNumber;
97
103
  }
98
- previousBlockNumber = blockNumber;
104
+ if (logs.length === 0)
105
+ return;
106
+ if (batch)
107
+ emit.onLogs(logs);
108
+ else
109
+ logs.forEach((log) => emit.onLogs([log]));
99
110
  }
100
- if (logs.length === 0)
101
- return;
102
- if (batch)
103
- emit.onLogs(logs);
104
- else
105
- logs.forEach((log) => emit.onLogs([log]));
111
+ catch (err) {
112
+ // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.
113
+ // Reinitalize the filter when this occurs
114
+ if (filter && err instanceof InvalidInputRpcError)
115
+ initialized = false;
116
+ emit.onError?.(err);
117
+ }
118
+ }, {
119
+ emitOnBegin: true,
120
+ interval: pollingInterval,
121
+ });
122
+ return async () => {
123
+ if (filter)
124
+ await uninstallFilter(client, { filter });
125
+ unwatch();
126
+ };
127
+ });
128
+ };
129
+ const subscribeEvent = () => {
130
+ let active = true;
131
+ let unsubscribe = () => (active = false);
132
+ (async () => {
133
+ try {
134
+ const events_ = events ?? (event ? [event] : undefined);
135
+ let topics = [];
136
+ if (events_) {
137
+ topics = [
138
+ events_.flatMap((event) => encodeEventTopics({
139
+ abi: [event],
140
+ eventName: event.name,
141
+ args,
142
+ })),
143
+ ];
144
+ if (event)
145
+ topics = topics[0];
146
+ }
147
+ const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({
148
+ params: ['logs', { address, topics }],
149
+ onData(data) {
150
+ if (!active)
151
+ return;
152
+ const log = data.result;
153
+ try {
154
+ const { eventName, args } = decodeEventLog({
155
+ abi: events_,
156
+ data: log.data,
157
+ topics: log.topics,
158
+ strict,
159
+ });
160
+ const formatted = formatLog(log, {
161
+ args,
162
+ eventName: eventName,
163
+ });
164
+ onLogs([formatted]);
165
+ }
166
+ catch (err) {
167
+ let eventName;
168
+ let isUnnamed;
169
+ if (err instanceof DecodeLogDataMismatch ||
170
+ err instanceof DecodeLogTopicsMismatch) {
171
+ // If strict mode is on, and log data/topics do not match event definition, skip.
172
+ if (strict_)
173
+ return;
174
+ eventName = err.abiItem.name;
175
+ isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));
176
+ }
177
+ // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).
178
+ const formatted = formatLog(log, {
179
+ args: isUnnamed ? [] : {},
180
+ eventName,
181
+ });
182
+ onLogs([formatted]);
183
+ }
184
+ },
185
+ onError(error) {
186
+ onError?.(error);
187
+ },
188
+ });
189
+ unsubscribe = unsubscribe_;
190
+ if (!active)
191
+ unsubscribe();
106
192
  }
107
193
  catch (err) {
108
- // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.
109
- // Reinitalize the filter when this occurs
110
- if (filter && err instanceof InvalidInputRpcError)
111
- initialized = false;
112
- emit.onError?.(err);
194
+ onError?.(err);
113
195
  }
114
- }, {
115
- emitOnBegin: true,
116
- interval: pollingInterval,
117
- });
118
- return async () => {
119
- if (filter)
120
- await uninstallFilter(client, { filter });
121
- unwatch();
122
- };
123
- });
196
+ })();
197
+ return unsubscribe;
198
+ };
199
+ return enablePolling ? pollEvent() : subscribeEvent();
124
200
  }
125
201
  //# sourceMappingURL=watchEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchEvent.js","sourceRoot":"","sources":["../../../../src/actions/public/watchEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchEvent.js","sourceRoot":"","sources":["../../../../src/actions/public/watchEvent.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { assertCurrentChain } from '../../utils/chain.js';
4
4
  import { getTransactionError } from '../../utils/errors/getTransactionError.js';
5
5
  import { extract } from '../../utils/formatters/extract.js';
6
6
  import { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';
7
- import { assertRequest } from '../../utils/transaction/assertRequest.js';
7
+ import { assertRequest, } from '../../utils/transaction/assertRequest.js';
8
8
  import { prepareRequest } from '../../utils/transaction/prepareRequest.js';
9
9
  import { getChainId } from '../public/getChainId.js';
10
10
  /**