superstack-wallet-sdk 0.4.2

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 (623) hide show
  1. package/README.md +114 -0
  2. package/dist/esm/_virtual/_commonjsHelpers.js +2 -0
  3. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/esm/_virtual/_polyfill-node.buffer.js +2 -0
  5. package/dist/esm/_virtual/_polyfill-node.buffer.js.map +1 -0
  6. package/dist/esm/_virtual/index.js +2 -0
  7. package/dist/esm/_virtual/index.js.map +1 -0
  8. package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +2 -0
  9. package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -0
  10. package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +2 -0
  11. package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
  12. package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +2 -0
  13. package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
  14. package/dist/esm/node_modules/@noble/hashes/esm/_md.js +2 -0
  15. package/dist/esm/node_modules/@noble/hashes/esm/_md.js.map +1 -0
  16. package/dist/esm/node_modules/@noble/hashes/esm/_u64.js +2 -0
  17. package/dist/esm/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
  18. package/dist/esm/node_modules/@noble/hashes/esm/crypto.js +2 -0
  19. package/dist/esm/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
  20. package/dist/esm/node_modules/@noble/hashes/esm/hmac.js +2 -0
  21. package/dist/esm/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
  22. package/dist/esm/node_modules/@noble/hashes/esm/sha2.js +2 -0
  23. package/dist/esm/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
  24. package/dist/esm/node_modules/@noble/hashes/esm/sha256.js +2 -0
  25. package/dist/esm/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
  26. package/dist/esm/node_modules/@noble/hashes/esm/sha3.js +2 -0
  27. package/dist/esm/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
  28. package/dist/esm/node_modules/@noble/hashes/esm/utils.js +4 -0
  29. package/dist/esm/node_modules/@noble/hashes/esm/utils.js.map +1 -0
  30. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/adapter.js +2 -0
  31. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/adapter.js.map +1 -0
  32. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/errors.js +2 -0
  33. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/errors.js.map +1 -0
  34. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/signer.js +2 -0
  35. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/signer.js.map +1 -0
  36. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/transaction.js +2 -0
  37. package/dist/esm/node_modules/@solana/wallet-adapter-base/lib/esm/transaction.js.map +1 -0
  38. package/dist/esm/node_modules/abitype/dist/esm/errors.js +2 -0
  39. package/dist/esm/node_modules/abitype/dist/esm/errors.js.map +1 -0
  40. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/abiItem.js +2 -0
  41. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/abiItem.js.map +1 -0
  42. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js +2 -0
  43. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js.map +1 -0
  44. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/signature.js +2 -0
  45. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/signature.js.map +1 -0
  46. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js +2 -0
  47. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js.map +1 -0
  48. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/struct.js +2 -0
  49. package/dist/esm/node_modules/abitype/dist/esm/human-readable/errors/struct.js.map +1 -0
  50. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiItem.js +2 -0
  51. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiItem.js.map +1 -0
  52. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiParameter.js +2 -0
  53. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiParameter.js.map +1 -0
  54. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiParameters.js +2 -0
  55. package/dist/esm/node_modules/abitype/dist/esm/human-readable/formatAbiParameters.js.map +1 -0
  56. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbi.js +2 -0
  57. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbi.js.map +1 -0
  58. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbiItem.js +2 -0
  59. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbiItem.js.map +1 -0
  60. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js +2 -0
  61. package/dist/esm/node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js.map +1 -0
  62. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/cache.js +2 -0
  63. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/cache.js.map +1 -0
  64. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/signatures.js +2 -0
  65. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/signatures.js.map +1 -0
  66. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/structs.js +2 -0
  67. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/structs.js.map +1 -0
  68. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/utils.js +2 -0
  69. package/dist/esm/node_modules/abitype/dist/esm/human-readable/runtime/utils.js.map +1 -0
  70. package/dist/esm/node_modules/abitype/dist/esm/regex.js +2 -0
  71. package/dist/esm/node_modules/abitype/dist/esm/regex.js.map +1 -0
  72. package/dist/esm/node_modules/abitype/dist/esm/version.js +2 -0
  73. package/dist/esm/node_modules/abitype/dist/esm/version.js.map +1 -0
  74. package/dist/esm/node_modules/ethers/lib.esm/_version.js +2 -0
  75. package/dist/esm/node_modules/ethers/lib.esm/_version.js.map +1 -0
  76. package/dist/esm/node_modules/ethers/lib.esm/utils/data.js +2 -0
  77. package/dist/esm/node_modules/ethers/lib.esm/utils/data.js.map +1 -0
  78. package/dist/esm/node_modules/ethers/lib.esm/utils/errors.js +2 -0
  79. package/dist/esm/node_modules/ethers/lib.esm/utils/errors.js.map +1 -0
  80. package/dist/esm/node_modules/ethers/lib.esm/utils/fixednumber.js +2 -0
  81. package/dist/esm/node_modules/ethers/lib.esm/utils/fixednumber.js.map +1 -0
  82. package/dist/esm/node_modules/ethers/lib.esm/utils/maths.js +2 -0
  83. package/dist/esm/node_modules/ethers/lib.esm/utils/maths.js.map +1 -0
  84. package/dist/esm/node_modules/ethers/lib.esm/utils/properties.js +2 -0
  85. package/dist/esm/node_modules/ethers/lib.esm/utils/properties.js.map +1 -0
  86. package/dist/esm/node_modules/ethers/lib.esm/utils/units.js +2 -0
  87. package/dist/esm/node_modules/ethers/lib.esm/utils/units.js.map +1 -0
  88. package/dist/esm/node_modules/eventemitter3/index.js +2 -0
  89. package/dist/esm/node_modules/eventemitter3/index.js.map +1 -0
  90. package/dist/esm/node_modules/eventemitter3/index2.js +2 -0
  91. package/dist/esm/node_modules/eventemitter3/index2.js.map +1 -0
  92. package/dist/esm/node_modules/ox/_esm/core/AbiConstructor.js +2 -0
  93. package/dist/esm/node_modules/ox/_esm/core/AbiConstructor.js.map +1 -0
  94. package/dist/esm/node_modules/ox/_esm/core/AbiFunction.js +2 -0
  95. package/dist/esm/node_modules/ox/_esm/core/AbiFunction.js.map +1 -0
  96. package/dist/esm/node_modules/ox/_esm/core/AbiItem.js +2 -0
  97. package/dist/esm/node_modules/ox/_esm/core/AbiItem.js.map +1 -0
  98. package/dist/esm/node_modules/ox/_esm/core/AbiParameters.js +2 -0
  99. package/dist/esm/node_modules/ox/_esm/core/AbiParameters.js.map +1 -0
  100. package/dist/esm/node_modules/ox/_esm/core/Address.js +2 -0
  101. package/dist/esm/node_modules/ox/_esm/core/Address.js.map +1 -0
  102. package/dist/esm/node_modules/ox/_esm/core/Authorization.js +2 -0
  103. package/dist/esm/node_modules/ox/_esm/core/Authorization.js.map +1 -0
  104. package/dist/esm/node_modules/ox/_esm/core/BlockOverrides.js +2 -0
  105. package/dist/esm/node_modules/ox/_esm/core/BlockOverrides.js.map +1 -0
  106. package/dist/esm/node_modules/ox/_esm/core/Bytes.js +2 -0
  107. package/dist/esm/node_modules/ox/_esm/core/Bytes.js.map +1 -0
  108. package/dist/esm/node_modules/ox/_esm/core/Caches.js +2 -0
  109. package/dist/esm/node_modules/ox/_esm/core/Caches.js.map +1 -0
  110. package/dist/esm/node_modules/ox/_esm/core/Errors.js +2 -0
  111. package/dist/esm/node_modules/ox/_esm/core/Errors.js.map +1 -0
  112. package/dist/esm/node_modules/ox/_esm/core/Hash.js +2 -0
  113. package/dist/esm/node_modules/ox/_esm/core/Hash.js.map +1 -0
  114. package/dist/esm/node_modules/ox/_esm/core/Hex.js +2 -0
  115. package/dist/esm/node_modules/ox/_esm/core/Hex.js.map +1 -0
  116. package/dist/esm/node_modules/ox/_esm/core/Json.js +2 -0
  117. package/dist/esm/node_modules/ox/_esm/core/Json.js.map +1 -0
  118. package/dist/esm/node_modules/ox/_esm/core/Signature.js +2 -0
  119. package/dist/esm/node_modules/ox/_esm/core/Signature.js.map +1 -0
  120. package/dist/esm/node_modules/ox/_esm/core/Solidity.js +2 -0
  121. package/dist/esm/node_modules/ox/_esm/core/Solidity.js.map +1 -0
  122. package/dist/esm/node_modules/ox/_esm/core/Withdrawal.js +2 -0
  123. package/dist/esm/node_modules/ox/_esm/core/Withdrawal.js.map +1 -0
  124. package/dist/esm/node_modules/ox/_esm/core/internal/abiItem.js +2 -0
  125. package/dist/esm/node_modules/ox/_esm/core/internal/abiItem.js.map +1 -0
  126. package/dist/esm/node_modules/ox/_esm/core/internal/abiParameters.js +2 -0
  127. package/dist/esm/node_modules/ox/_esm/core/internal/abiParameters.js.map +1 -0
  128. package/dist/esm/node_modules/ox/_esm/core/internal/bytes.js +2 -0
  129. package/dist/esm/node_modules/ox/_esm/core/internal/bytes.js.map +1 -0
  130. package/dist/esm/node_modules/ox/_esm/core/internal/cursor.js +2 -0
  131. package/dist/esm/node_modules/ox/_esm/core/internal/cursor.js.map +1 -0
  132. package/dist/esm/node_modules/ox/_esm/core/internal/errors.js +2 -0
  133. package/dist/esm/node_modules/ox/_esm/core/internal/errors.js.map +1 -0
  134. package/dist/esm/node_modules/ox/_esm/core/internal/hex.js +2 -0
  135. package/dist/esm/node_modules/ox/_esm/core/internal/hex.js.map +1 -0
  136. package/dist/esm/node_modules/ox/_esm/core/internal/lru.js +2 -0
  137. package/dist/esm/node_modules/ox/_esm/core/internal/lru.js.map +1 -0
  138. package/dist/esm/node_modules/ox/_esm/core/version.js +2 -0
  139. package/dist/esm/node_modules/ox/_esm/core/version.js.map +1 -0
  140. package/dist/esm/node_modules/ox/_esm/erc6492/SignatureErc6492.js +2 -0
  141. package/dist/esm/node_modules/ox/_esm/erc6492/SignatureErc6492.js.map +1 -0
  142. package/dist/esm/node_modules/ox/_esm/erc8010/SignatureErc8010.js +2 -0
  143. package/dist/esm/node_modules/ox/_esm/erc8010/SignatureErc8010.js.map +1 -0
  144. package/dist/esm/node_modules/styled-components/dist/styled-components.browser.esm.js +2 -0
  145. package/dist/esm/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -0
  146. package/dist/esm/node_modules/stylis/src/Enum.js +2 -0
  147. package/dist/esm/node_modules/stylis/src/Enum.js.map +1 -0
  148. package/dist/esm/node_modules/stylis/src/Middleware.js +2 -0
  149. package/dist/esm/node_modules/stylis/src/Middleware.js.map +1 -0
  150. package/dist/esm/node_modules/stylis/src/Parser.js +2 -0
  151. package/dist/esm/node_modules/stylis/src/Parser.js.map +1 -0
  152. package/dist/esm/node_modules/stylis/src/Prefixer.js +2 -0
  153. package/dist/esm/node_modules/stylis/src/Prefixer.js.map +1 -0
  154. package/dist/esm/node_modules/stylis/src/Serializer.js +2 -0
  155. package/dist/esm/node_modules/stylis/src/Serializer.js.map +1 -0
  156. package/dist/esm/node_modules/stylis/src/Tokenizer.js +2 -0
  157. package/dist/esm/node_modules/stylis/src/Tokenizer.js.map +1 -0
  158. package/dist/esm/node_modules/stylis/src/Utility.js +2 -0
  159. package/dist/esm/node_modules/stylis/src/Utility.js.map +1 -0
  160. package/dist/esm/node_modules/tslib/tslib.es6.js +2 -0
  161. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
  162. package/dist/esm/node_modules/viem/_esm/accounts/utils/parseAccount.js +2 -0
  163. package/dist/esm/node_modules/viem/_esm/accounts/utils/parseAccount.js.map +1 -0
  164. package/dist/esm/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js +2 -0
  165. package/dist/esm/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js.map +1 -0
  166. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsAddress.js +2 -0
  167. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsAddress.js.map +1 -0
  168. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsAvatar.js +2 -0
  169. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsAvatar.js.map +1 -0
  170. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsName.js +2 -0
  171. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsName.js.map +1 -0
  172. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsResolver.js +2 -0
  173. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsResolver.js.map +1 -0
  174. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsText.js +2 -0
  175. package/dist/esm/node_modules/viem/_esm/actions/ens/getEnsText.js.map +1 -0
  176. package/dist/esm/node_modules/viem/_esm/actions/public/call.js +2 -0
  177. package/dist/esm/node_modules/viem/_esm/actions/public/call.js.map +1 -0
  178. package/dist/esm/node_modules/viem/_esm/actions/public/createAccessList.js +2 -0
  179. package/dist/esm/node_modules/viem/_esm/actions/public/createAccessList.js.map +1 -0
  180. package/dist/esm/node_modules/viem/_esm/actions/public/createBlockFilter.js +2 -0
  181. package/dist/esm/node_modules/viem/_esm/actions/public/createBlockFilter.js.map +1 -0
  182. package/dist/esm/node_modules/viem/_esm/actions/public/createContractEventFilter.js +2 -0
  183. package/dist/esm/node_modules/viem/_esm/actions/public/createContractEventFilter.js.map +1 -0
  184. package/dist/esm/node_modules/viem/_esm/actions/public/createEventFilter.js +2 -0
  185. package/dist/esm/node_modules/viem/_esm/actions/public/createEventFilter.js.map +1 -0
  186. package/dist/esm/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js +2 -0
  187. package/dist/esm/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js.map +1 -0
  188. package/dist/esm/node_modules/viem/_esm/actions/public/estimateContractGas.js +2 -0
  189. package/dist/esm/node_modules/viem/_esm/actions/public/estimateContractGas.js.map +1 -0
  190. package/dist/esm/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js +2 -0
  191. package/dist/esm/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js.map +1 -0
  192. package/dist/esm/node_modules/viem/_esm/actions/public/estimateGas.js +2 -0
  193. package/dist/esm/node_modules/viem/_esm/actions/public/estimateGas.js.map +1 -0
  194. package/dist/esm/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js +2 -0
  195. package/dist/esm/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js.map +1 -0
  196. package/dist/esm/node_modules/viem/_esm/actions/public/getBalance.js +2 -0
  197. package/dist/esm/node_modules/viem/_esm/actions/public/getBalance.js.map +1 -0
  198. package/dist/esm/node_modules/viem/_esm/actions/public/getBlobBaseFee.js +2 -0
  199. package/dist/esm/node_modules/viem/_esm/actions/public/getBlobBaseFee.js.map +1 -0
  200. package/dist/esm/node_modules/viem/_esm/actions/public/getBlock.js +2 -0
  201. package/dist/esm/node_modules/viem/_esm/actions/public/getBlock.js.map +1 -0
  202. package/dist/esm/node_modules/viem/_esm/actions/public/getBlockNumber.js +2 -0
  203. package/dist/esm/node_modules/viem/_esm/actions/public/getBlockNumber.js.map +1 -0
  204. package/dist/esm/node_modules/viem/_esm/actions/public/getBlockTransactionCount.js +2 -0
  205. package/dist/esm/node_modules/viem/_esm/actions/public/getBlockTransactionCount.js.map +1 -0
  206. package/dist/esm/node_modules/viem/_esm/actions/public/getChainId.js +2 -0
  207. package/dist/esm/node_modules/viem/_esm/actions/public/getChainId.js.map +1 -0
  208. package/dist/esm/node_modules/viem/_esm/actions/public/getCode.js +2 -0
  209. package/dist/esm/node_modules/viem/_esm/actions/public/getCode.js.map +1 -0
  210. package/dist/esm/node_modules/viem/_esm/actions/public/getContractEvents.js +2 -0
  211. package/dist/esm/node_modules/viem/_esm/actions/public/getContractEvents.js.map +1 -0
  212. package/dist/esm/node_modules/viem/_esm/actions/public/getEip712Domain.js +2 -0
  213. package/dist/esm/node_modules/viem/_esm/actions/public/getEip712Domain.js.map +1 -0
  214. package/dist/esm/node_modules/viem/_esm/actions/public/getFeeHistory.js +2 -0
  215. package/dist/esm/node_modules/viem/_esm/actions/public/getFeeHistory.js.map +1 -0
  216. package/dist/esm/node_modules/viem/_esm/actions/public/getFilterChanges.js +2 -0
  217. package/dist/esm/node_modules/viem/_esm/actions/public/getFilterChanges.js.map +1 -0
  218. package/dist/esm/node_modules/viem/_esm/actions/public/getFilterLogs.js +2 -0
  219. package/dist/esm/node_modules/viem/_esm/actions/public/getFilterLogs.js.map +1 -0
  220. package/dist/esm/node_modules/viem/_esm/actions/public/getGasPrice.js +2 -0
  221. package/dist/esm/node_modules/viem/_esm/actions/public/getGasPrice.js.map +1 -0
  222. package/dist/esm/node_modules/viem/_esm/actions/public/getLogs.js +2 -0
  223. package/dist/esm/node_modules/viem/_esm/actions/public/getLogs.js.map +1 -0
  224. package/dist/esm/node_modules/viem/_esm/actions/public/getProof.js +2 -0
  225. package/dist/esm/node_modules/viem/_esm/actions/public/getProof.js.map +1 -0
  226. package/dist/esm/node_modules/viem/_esm/actions/public/getStorageAt.js +2 -0
  227. package/dist/esm/node_modules/viem/_esm/actions/public/getStorageAt.js.map +1 -0
  228. package/dist/esm/node_modules/viem/_esm/actions/public/getTransaction.js +2 -0
  229. package/dist/esm/node_modules/viem/_esm/actions/public/getTransaction.js.map +1 -0
  230. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionConfirmations.js +2 -0
  231. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionConfirmations.js.map +1 -0
  232. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionCount.js +2 -0
  233. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionCount.js.map +1 -0
  234. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionReceipt.js +2 -0
  235. package/dist/esm/node_modules/viem/_esm/actions/public/getTransactionReceipt.js.map +1 -0
  236. package/dist/esm/node_modules/viem/_esm/actions/public/multicall.js +2 -0
  237. package/dist/esm/node_modules/viem/_esm/actions/public/multicall.js.map +1 -0
  238. package/dist/esm/node_modules/viem/_esm/actions/public/readContract.js +2 -0
  239. package/dist/esm/node_modules/viem/_esm/actions/public/readContract.js.map +1 -0
  240. package/dist/esm/node_modules/viem/_esm/actions/public/simulateBlocks.js +2 -0
  241. package/dist/esm/node_modules/viem/_esm/actions/public/simulateBlocks.js.map +1 -0
  242. package/dist/esm/node_modules/viem/_esm/actions/public/simulateCalls.js +2 -0
  243. package/dist/esm/node_modules/viem/_esm/actions/public/simulateCalls.js.map +1 -0
  244. package/dist/esm/node_modules/viem/_esm/actions/public/simulateContract.js +2 -0
  245. package/dist/esm/node_modules/viem/_esm/actions/public/simulateContract.js.map +1 -0
  246. package/dist/esm/node_modules/viem/_esm/actions/public/uninstallFilter.js +2 -0
  247. package/dist/esm/node_modules/viem/_esm/actions/public/uninstallFilter.js.map +1 -0
  248. package/dist/esm/node_modules/viem/_esm/actions/public/verifyHash.js +2 -0
  249. package/dist/esm/node_modules/viem/_esm/actions/public/verifyHash.js.map +1 -0
  250. package/dist/esm/node_modules/viem/_esm/actions/public/verifyMessage.js +2 -0
  251. package/dist/esm/node_modules/viem/_esm/actions/public/verifyMessage.js.map +1 -0
  252. package/dist/esm/node_modules/viem/_esm/actions/public/verifyTypedData.js +2 -0
  253. package/dist/esm/node_modules/viem/_esm/actions/public/verifyTypedData.js.map +1 -0
  254. package/dist/esm/node_modules/viem/_esm/actions/public/waitForTransactionReceipt.js +2 -0
  255. package/dist/esm/node_modules/viem/_esm/actions/public/waitForTransactionReceipt.js.map +1 -0
  256. package/dist/esm/node_modules/viem/_esm/actions/public/watchBlockNumber.js +2 -0
  257. package/dist/esm/node_modules/viem/_esm/actions/public/watchBlockNumber.js.map +1 -0
  258. package/dist/esm/node_modules/viem/_esm/actions/public/watchBlocks.js +2 -0
  259. package/dist/esm/node_modules/viem/_esm/actions/public/watchBlocks.js.map +1 -0
  260. package/dist/esm/node_modules/viem/_esm/actions/public/watchContractEvent.js +2 -0
  261. package/dist/esm/node_modules/viem/_esm/actions/public/watchContractEvent.js.map +1 -0
  262. package/dist/esm/node_modules/viem/_esm/actions/public/watchEvent.js +2 -0
  263. package/dist/esm/node_modules/viem/_esm/actions/public/watchEvent.js.map +1 -0
  264. package/dist/esm/node_modules/viem/_esm/actions/public/watchPendingTransactions.js +2 -0
  265. package/dist/esm/node_modules/viem/_esm/actions/public/watchPendingTransactions.js.map +1 -0
  266. package/dist/esm/node_modules/viem/_esm/actions/siwe/verifySiweMessage.js +2 -0
  267. package/dist/esm/node_modules/viem/_esm/actions/siwe/verifySiweMessage.js.map +1 -0
  268. package/dist/esm/node_modules/viem/_esm/actions/wallet/prepareTransactionRequest.js +2 -0
  269. package/dist/esm/node_modules/viem/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -0
  270. package/dist/esm/node_modules/viem/_esm/actions/wallet/sendRawTransaction.js +2 -0
  271. package/dist/esm/node_modules/viem/_esm/actions/wallet/sendRawTransaction.js.map +1 -0
  272. package/dist/esm/node_modules/viem/_esm/clients/createClient.js +2 -0
  273. package/dist/esm/node_modules/viem/_esm/clients/createClient.js.map +1 -0
  274. package/dist/esm/node_modules/viem/_esm/clients/createPublicClient.js +2 -0
  275. package/dist/esm/node_modules/viem/_esm/clients/createPublicClient.js.map +1 -0
  276. package/dist/esm/node_modules/viem/_esm/clients/decorators/public.js +2 -0
  277. package/dist/esm/node_modules/viem/_esm/clients/decorators/public.js.map +1 -0
  278. package/dist/esm/node_modules/viem/_esm/clients/transports/createTransport.js +2 -0
  279. package/dist/esm/node_modules/viem/_esm/clients/transports/createTransport.js.map +1 -0
  280. package/dist/esm/node_modules/viem/_esm/clients/transports/http.js +2 -0
  281. package/dist/esm/node_modules/viem/_esm/clients/transports/http.js.map +1 -0
  282. package/dist/esm/node_modules/viem/_esm/constants/abis.js +2 -0
  283. package/dist/esm/node_modules/viem/_esm/constants/abis.js.map +1 -0
  284. package/dist/esm/node_modules/viem/_esm/constants/address.js +2 -0
  285. package/dist/esm/node_modules/viem/_esm/constants/address.js.map +1 -0
  286. package/dist/esm/node_modules/viem/_esm/constants/blob.js +2 -0
  287. package/dist/esm/node_modules/viem/_esm/constants/blob.js.map +1 -0
  288. package/dist/esm/node_modules/viem/_esm/constants/contract.js +2 -0
  289. package/dist/esm/node_modules/viem/_esm/constants/contract.js.map +1 -0
  290. package/dist/esm/node_modules/viem/_esm/constants/contracts.js +2 -0
  291. package/dist/esm/node_modules/viem/_esm/constants/contracts.js.map +1 -0
  292. package/dist/esm/node_modules/viem/_esm/constants/number.js +2 -0
  293. package/dist/esm/node_modules/viem/_esm/constants/number.js.map +1 -0
  294. package/dist/esm/node_modules/viem/_esm/constants/solidity.js +2 -0
  295. package/dist/esm/node_modules/viem/_esm/constants/solidity.js.map +1 -0
  296. package/dist/esm/node_modules/viem/_esm/constants/strings.js +2 -0
  297. package/dist/esm/node_modules/viem/_esm/constants/strings.js.map +1 -0
  298. package/dist/esm/node_modules/viem/_esm/constants/unit.js +2 -0
  299. package/dist/esm/node_modules/viem/_esm/constants/unit.js.map +1 -0
  300. package/dist/esm/node_modules/viem/_esm/errors/abi.js +2 -0
  301. package/dist/esm/node_modules/viem/_esm/errors/abi.js.map +1 -0
  302. package/dist/esm/node_modules/viem/_esm/errors/address.js +2 -0
  303. package/dist/esm/node_modules/viem/_esm/errors/address.js.map +1 -0
  304. package/dist/esm/node_modules/viem/_esm/errors/base.js +2 -0
  305. package/dist/esm/node_modules/viem/_esm/errors/base.js.map +1 -0
  306. package/dist/esm/node_modules/viem/_esm/errors/blob.js +2 -0
  307. package/dist/esm/node_modules/viem/_esm/errors/blob.js.map +1 -0
  308. package/dist/esm/node_modules/viem/_esm/errors/block.js +2 -0
  309. package/dist/esm/node_modules/viem/_esm/errors/block.js.map +1 -0
  310. package/dist/esm/node_modules/viem/_esm/errors/ccip.js +2 -0
  311. package/dist/esm/node_modules/viem/_esm/errors/ccip.js.map +1 -0
  312. package/dist/esm/node_modules/viem/_esm/errors/chain.js +2 -0
  313. package/dist/esm/node_modules/viem/_esm/errors/chain.js.map +1 -0
  314. package/dist/esm/node_modules/viem/_esm/errors/contract.js +2 -0
  315. package/dist/esm/node_modules/viem/_esm/errors/contract.js.map +1 -0
  316. package/dist/esm/node_modules/viem/_esm/errors/cursor.js +2 -0
  317. package/dist/esm/node_modules/viem/_esm/errors/cursor.js.map +1 -0
  318. package/dist/esm/node_modules/viem/_esm/errors/data.js +2 -0
  319. package/dist/esm/node_modules/viem/_esm/errors/data.js.map +1 -0
  320. package/dist/esm/node_modules/viem/_esm/errors/eip712.js +2 -0
  321. package/dist/esm/node_modules/viem/_esm/errors/eip712.js.map +1 -0
  322. package/dist/esm/node_modules/viem/_esm/errors/encoding.js +2 -0
  323. package/dist/esm/node_modules/viem/_esm/errors/encoding.js.map +1 -0
  324. package/dist/esm/node_modules/viem/_esm/errors/ens.js +2 -0
  325. package/dist/esm/node_modules/viem/_esm/errors/ens.js.map +1 -0
  326. package/dist/esm/node_modules/viem/_esm/errors/estimateGas.js +2 -0
  327. package/dist/esm/node_modules/viem/_esm/errors/estimateGas.js.map +1 -0
  328. package/dist/esm/node_modules/viem/_esm/errors/fee.js +2 -0
  329. package/dist/esm/node_modules/viem/_esm/errors/fee.js.map +1 -0
  330. package/dist/esm/node_modules/viem/_esm/errors/log.js +2 -0
  331. package/dist/esm/node_modules/viem/_esm/errors/log.js.map +1 -0
  332. package/dist/esm/node_modules/viem/_esm/errors/node.js +2 -0
  333. package/dist/esm/node_modules/viem/_esm/errors/node.js.map +1 -0
  334. package/dist/esm/node_modules/viem/_esm/errors/request.js +2 -0
  335. package/dist/esm/node_modules/viem/_esm/errors/request.js.map +1 -0
  336. package/dist/esm/node_modules/viem/_esm/errors/rpc.js +2 -0
  337. package/dist/esm/node_modules/viem/_esm/errors/rpc.js.map +1 -0
  338. package/dist/esm/node_modules/viem/_esm/errors/stateOverride.js +2 -0
  339. package/dist/esm/node_modules/viem/_esm/errors/stateOverride.js.map +1 -0
  340. package/dist/esm/node_modules/viem/_esm/errors/transaction.js +2 -0
  341. package/dist/esm/node_modules/viem/_esm/errors/transaction.js.map +1 -0
  342. package/dist/esm/node_modules/viem/_esm/errors/transport.js +2 -0
  343. package/dist/esm/node_modules/viem/_esm/errors/transport.js.map +1 -0
  344. package/dist/esm/node_modules/viem/_esm/errors/typedData.js +2 -0
  345. package/dist/esm/node_modules/viem/_esm/errors/typedData.js.map +1 -0
  346. package/dist/esm/node_modules/viem/_esm/errors/utils.js +2 -0
  347. package/dist/esm/node_modules/viem/_esm/errors/utils.js.map +1 -0
  348. package/dist/esm/node_modules/viem/_esm/errors/version.js +2 -0
  349. package/dist/esm/node_modules/viem/_esm/errors/version.js.map +1 -0
  350. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeAbiParameters.js +2 -0
  351. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeAbiParameters.js.map +1 -0
  352. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeErrorResult.js +2 -0
  353. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeErrorResult.js.map +1 -0
  354. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeEventLog.js +2 -0
  355. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeEventLog.js.map +1 -0
  356. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeFunctionData.js +2 -0
  357. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeFunctionData.js.map +1 -0
  358. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeFunctionResult.js +2 -0
  359. package/dist/esm/node_modules/viem/_esm/utils/abi/decodeFunctionResult.js.map +1 -0
  360. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeAbiParameters.js +2 -0
  361. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeAbiParameters.js.map +1 -0
  362. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeDeployData.js +2 -0
  363. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeDeployData.js.map +1 -0
  364. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeErrorResult.js +2 -0
  365. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeErrorResult.js.map +1 -0
  366. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeEventTopics.js +2 -0
  367. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeEventTopics.js.map +1 -0
  368. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeFunctionData.js +2 -0
  369. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeFunctionData.js.map +1 -0
  370. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeFunctionResult.js +2 -0
  371. package/dist/esm/node_modules/viem/_esm/utils/abi/encodeFunctionResult.js.map +1 -0
  372. package/dist/esm/node_modules/viem/_esm/utils/abi/formatAbiItem.js +2 -0
  373. package/dist/esm/node_modules/viem/_esm/utils/abi/formatAbiItem.js.map +1 -0
  374. package/dist/esm/node_modules/viem/_esm/utils/abi/formatAbiItemWithArgs.js +2 -0
  375. package/dist/esm/node_modules/viem/_esm/utils/abi/formatAbiItemWithArgs.js.map +1 -0
  376. package/dist/esm/node_modules/viem/_esm/utils/abi/getAbiItem.js +2 -0
  377. package/dist/esm/node_modules/viem/_esm/utils/abi/getAbiItem.js.map +1 -0
  378. package/dist/esm/node_modules/viem/_esm/utils/abi/parseEventLogs.js +2 -0
  379. package/dist/esm/node_modules/viem/_esm/utils/abi/parseEventLogs.js.map +1 -0
  380. package/dist/esm/node_modules/viem/_esm/utils/abi/prepareEncodeFunctionData.js +2 -0
  381. package/dist/esm/node_modules/viem/_esm/utils/abi/prepareEncodeFunctionData.js.map +1 -0
  382. package/dist/esm/node_modules/viem/_esm/utils/address/getAddress.js +2 -0
  383. package/dist/esm/node_modules/viem/_esm/utils/address/getAddress.js.map +1 -0
  384. package/dist/esm/node_modules/viem/_esm/utils/address/isAddress.js +2 -0
  385. package/dist/esm/node_modules/viem/_esm/utils/address/isAddress.js.map +1 -0
  386. package/dist/esm/node_modules/viem/_esm/utils/address/isAddressEqual.js +2 -0
  387. package/dist/esm/node_modules/viem/_esm/utils/address/isAddressEqual.js.map +1 -0
  388. package/dist/esm/node_modules/viem/_esm/utils/authorization/hashAuthorization.js +2 -0
  389. package/dist/esm/node_modules/viem/_esm/utils/authorization/hashAuthorization.js.map +1 -0
  390. package/dist/esm/node_modules/viem/_esm/utils/authorization/recoverAuthorizationAddress.js +2 -0
  391. package/dist/esm/node_modules/viem/_esm/utils/authorization/recoverAuthorizationAddress.js.map +1 -0
  392. package/dist/esm/node_modules/viem/_esm/utils/authorization/verifyAuthorization.js +2 -0
  393. package/dist/esm/node_modules/viem/_esm/utils/authorization/verifyAuthorization.js.map +1 -0
  394. package/dist/esm/node_modules/viem/_esm/utils/blob/blobsToCommitments.js +2 -0
  395. package/dist/esm/node_modules/viem/_esm/utils/blob/blobsToCommitments.js.map +1 -0
  396. package/dist/esm/node_modules/viem/_esm/utils/blob/blobsToProofs.js +2 -0
  397. package/dist/esm/node_modules/viem/_esm/utils/blob/blobsToProofs.js.map +1 -0
  398. package/dist/esm/node_modules/viem/_esm/utils/blob/commitmentToVersionedHash.js +2 -0
  399. package/dist/esm/node_modules/viem/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
  400. package/dist/esm/node_modules/viem/_esm/utils/blob/commitmentsToVersionedHashes.js +2 -0
  401. package/dist/esm/node_modules/viem/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  402. package/dist/esm/node_modules/viem/_esm/utils/blob/toBlobSidecars.js +2 -0
  403. package/dist/esm/node_modules/viem/_esm/utils/blob/toBlobSidecars.js.map +1 -0
  404. package/dist/esm/node_modules/viem/_esm/utils/blob/toBlobs.js +2 -0
  405. package/dist/esm/node_modules/viem/_esm/utils/blob/toBlobs.js.map +1 -0
  406. package/dist/esm/node_modules/viem/_esm/utils/buildRequest.js +2 -0
  407. package/dist/esm/node_modules/viem/_esm/utils/buildRequest.js.map +1 -0
  408. package/dist/esm/node_modules/viem/_esm/utils/ccip.js +2 -0
  409. package/dist/esm/node_modules/viem/_esm/utils/ccip.js.map +1 -0
  410. package/dist/esm/node_modules/viem/_esm/utils/chain/getChainContractAddress.js +2 -0
  411. package/dist/esm/node_modules/viem/_esm/utils/chain/getChainContractAddress.js.map +1 -0
  412. package/dist/esm/node_modules/viem/_esm/utils/cursor.js +2 -0
  413. package/dist/esm/node_modules/viem/_esm/utils/cursor.js.map +1 -0
  414. package/dist/esm/node_modules/viem/_esm/utils/data/concat.js +2 -0
  415. package/dist/esm/node_modules/viem/_esm/utils/data/concat.js.map +1 -0
  416. package/dist/esm/node_modules/viem/_esm/utils/data/isHex.js +2 -0
  417. package/dist/esm/node_modules/viem/_esm/utils/data/isHex.js.map +1 -0
  418. package/dist/esm/node_modules/viem/_esm/utils/data/pad.js +2 -0
  419. package/dist/esm/node_modules/viem/_esm/utils/data/pad.js.map +1 -0
  420. package/dist/esm/node_modules/viem/_esm/utils/data/size.js +2 -0
  421. package/dist/esm/node_modules/viem/_esm/utils/data/size.js.map +1 -0
  422. package/dist/esm/node_modules/viem/_esm/utils/data/slice.js +2 -0
  423. package/dist/esm/node_modules/viem/_esm/utils/data/slice.js.map +1 -0
  424. package/dist/esm/node_modules/viem/_esm/utils/data/trim.js +2 -0
  425. package/dist/esm/node_modules/viem/_esm/utils/data/trim.js.map +1 -0
  426. package/dist/esm/node_modules/viem/_esm/utils/encoding/fromBytes.js +2 -0
  427. package/dist/esm/node_modules/viem/_esm/utils/encoding/fromBytes.js.map +1 -0
  428. package/dist/esm/node_modules/viem/_esm/utils/encoding/fromHex.js +2 -0
  429. package/dist/esm/node_modules/viem/_esm/utils/encoding/fromHex.js.map +1 -0
  430. package/dist/esm/node_modules/viem/_esm/utils/encoding/toBytes.js +2 -0
  431. package/dist/esm/node_modules/viem/_esm/utils/encoding/toBytes.js.map +1 -0
  432. package/dist/esm/node_modules/viem/_esm/utils/encoding/toHex.js +2 -0
  433. package/dist/esm/node_modules/viem/_esm/utils/encoding/toHex.js.map +1 -0
  434. package/dist/esm/node_modules/viem/_esm/utils/encoding/toRlp.js +2 -0
  435. package/dist/esm/node_modules/viem/_esm/utils/encoding/toRlp.js.map +1 -0
  436. package/dist/esm/node_modules/viem/_esm/utils/ens/avatar/parseAvatarRecord.js +2 -0
  437. package/dist/esm/node_modules/viem/_esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -0
  438. package/dist/esm/node_modules/viem/_esm/utils/ens/avatar/utils.js +2 -0
  439. package/dist/esm/node_modules/viem/_esm/utils/ens/avatar/utils.js.map +1 -0
  440. package/dist/esm/node_modules/viem/_esm/utils/ens/encodeLabelhash.js +2 -0
  441. package/dist/esm/node_modules/viem/_esm/utils/ens/encodeLabelhash.js.map +1 -0
  442. package/dist/esm/node_modules/viem/_esm/utils/ens/encodedLabelToLabelhash.js +2 -0
  443. package/dist/esm/node_modules/viem/_esm/utils/ens/encodedLabelToLabelhash.js.map +1 -0
  444. package/dist/esm/node_modules/viem/_esm/utils/ens/errors.js +2 -0
  445. package/dist/esm/node_modules/viem/_esm/utils/ens/errors.js.map +1 -0
  446. package/dist/esm/node_modules/viem/_esm/utils/ens/labelhash.js +2 -0
  447. package/dist/esm/node_modules/viem/_esm/utils/ens/labelhash.js.map +1 -0
  448. package/dist/esm/node_modules/viem/_esm/utils/ens/localBatchGatewayRequest.js +2 -0
  449. package/dist/esm/node_modules/viem/_esm/utils/ens/localBatchGatewayRequest.js.map +1 -0
  450. package/dist/esm/node_modules/viem/_esm/utils/ens/namehash.js +2 -0
  451. package/dist/esm/node_modules/viem/_esm/utils/ens/namehash.js.map +1 -0
  452. package/dist/esm/node_modules/viem/_esm/utils/ens/packetToBytes.js +2 -0
  453. package/dist/esm/node_modules/viem/_esm/utils/ens/packetToBytes.js.map +1 -0
  454. package/dist/esm/node_modules/viem/_esm/utils/errors/getCallError.js +2 -0
  455. package/dist/esm/node_modules/viem/_esm/utils/errors/getCallError.js.map +1 -0
  456. package/dist/esm/node_modules/viem/_esm/utils/errors/getContractError.js +2 -0
  457. package/dist/esm/node_modules/viem/_esm/utils/errors/getContractError.js.map +1 -0
  458. package/dist/esm/node_modules/viem/_esm/utils/errors/getEstimateGasError.js +2 -0
  459. package/dist/esm/node_modules/viem/_esm/utils/errors/getEstimateGasError.js.map +1 -0
  460. package/dist/esm/node_modules/viem/_esm/utils/errors/getNodeError.js +2 -0
  461. package/dist/esm/node_modules/viem/_esm/utils/errors/getNodeError.js.map +1 -0
  462. package/dist/esm/node_modules/viem/_esm/utils/filters/createFilterRequestScope.js +2 -0
  463. package/dist/esm/node_modules/viem/_esm/utils/filters/createFilterRequestScope.js.map +1 -0
  464. package/dist/esm/node_modules/viem/_esm/utils/formatters/block.js +2 -0
  465. package/dist/esm/node_modules/viem/_esm/utils/formatters/block.js.map +1 -0
  466. package/dist/esm/node_modules/viem/_esm/utils/formatters/extract.js +2 -0
  467. package/dist/esm/node_modules/viem/_esm/utils/formatters/extract.js.map +1 -0
  468. package/dist/esm/node_modules/viem/_esm/utils/formatters/feeHistory.js +2 -0
  469. package/dist/esm/node_modules/viem/_esm/utils/formatters/feeHistory.js.map +1 -0
  470. package/dist/esm/node_modules/viem/_esm/utils/formatters/log.js +2 -0
  471. package/dist/esm/node_modules/viem/_esm/utils/formatters/log.js.map +1 -0
  472. package/dist/esm/node_modules/viem/_esm/utils/formatters/proof.js +2 -0
  473. package/dist/esm/node_modules/viem/_esm/utils/formatters/proof.js.map +1 -0
  474. package/dist/esm/node_modules/viem/_esm/utils/formatters/transaction.js +2 -0
  475. package/dist/esm/node_modules/viem/_esm/utils/formatters/transaction.js.map +1 -0
  476. package/dist/esm/node_modules/viem/_esm/utils/formatters/transactionReceipt.js +2 -0
  477. package/dist/esm/node_modules/viem/_esm/utils/formatters/transactionReceipt.js.map +1 -0
  478. package/dist/esm/node_modules/viem/_esm/utils/formatters/transactionRequest.js +2 -0
  479. package/dist/esm/node_modules/viem/_esm/utils/formatters/transactionRequest.js.map +1 -0
  480. package/dist/esm/node_modules/viem/_esm/utils/getAction.js +2 -0
  481. package/dist/esm/node_modules/viem/_esm/utils/getAction.js.map +1 -0
  482. package/dist/esm/node_modules/viem/_esm/utils/hash/hashSignature.js +2 -0
  483. package/dist/esm/node_modules/viem/_esm/utils/hash/hashSignature.js.map +1 -0
  484. package/dist/esm/node_modules/viem/_esm/utils/hash/keccak256.js +2 -0
  485. package/dist/esm/node_modules/viem/_esm/utils/hash/keccak256.js.map +1 -0
  486. package/dist/esm/node_modules/viem/_esm/utils/hash/normalizeSignature.js +2 -0
  487. package/dist/esm/node_modules/viem/_esm/utils/hash/normalizeSignature.js.map +1 -0
  488. package/dist/esm/node_modules/viem/_esm/utils/hash/sha256.js +2 -0
  489. package/dist/esm/node_modules/viem/_esm/utils/hash/sha256.js.map +1 -0
  490. package/dist/esm/node_modules/viem/_esm/utils/hash/toEventSelector.js +2 -0
  491. package/dist/esm/node_modules/viem/_esm/utils/hash/toEventSelector.js.map +1 -0
  492. package/dist/esm/node_modules/viem/_esm/utils/hash/toFunctionSelector.js +2 -0
  493. package/dist/esm/node_modules/viem/_esm/utils/hash/toFunctionSelector.js.map +1 -0
  494. package/dist/esm/node_modules/viem/_esm/utils/hash/toSignature.js +2 -0
  495. package/dist/esm/node_modules/viem/_esm/utils/hash/toSignature.js.map +1 -0
  496. package/dist/esm/node_modules/viem/_esm/utils/hash/toSignatureHash.js +2 -0
  497. package/dist/esm/node_modules/viem/_esm/utils/hash/toSignatureHash.js.map +1 -0
  498. package/dist/esm/node_modules/viem/_esm/utils/lru.js +2 -0
  499. package/dist/esm/node_modules/viem/_esm/utils/lru.js.map +1 -0
  500. package/dist/esm/node_modules/viem/_esm/utils/observe.js +2 -0
  501. package/dist/esm/node_modules/viem/_esm/utils/observe.js.map +1 -0
  502. package/dist/esm/node_modules/viem/_esm/utils/poll.js +2 -0
  503. package/dist/esm/node_modules/viem/_esm/utils/poll.js.map +1 -0
  504. package/dist/esm/node_modules/viem/_esm/utils/promise/createBatchScheduler.js +2 -0
  505. package/dist/esm/node_modules/viem/_esm/utils/promise/createBatchScheduler.js.map +1 -0
  506. package/dist/esm/node_modules/viem/_esm/utils/promise/withCache.js +2 -0
  507. package/dist/esm/node_modules/viem/_esm/utils/promise/withCache.js.map +1 -0
  508. package/dist/esm/node_modules/viem/_esm/utils/promise/withDedupe.js +2 -0
  509. package/dist/esm/node_modules/viem/_esm/utils/promise/withDedupe.js.map +1 -0
  510. package/dist/esm/node_modules/viem/_esm/utils/promise/withResolvers.js +2 -0
  511. package/dist/esm/node_modules/viem/_esm/utils/promise/withResolvers.js.map +1 -0
  512. package/dist/esm/node_modules/viem/_esm/utils/promise/withRetry.js +2 -0
  513. package/dist/esm/node_modules/viem/_esm/utils/promise/withRetry.js.map +1 -0
  514. package/dist/esm/node_modules/viem/_esm/utils/promise/withTimeout.js +2 -0
  515. package/dist/esm/node_modules/viem/_esm/utils/promise/withTimeout.js.map +1 -0
  516. package/dist/esm/node_modules/viem/_esm/utils/regex.js +2 -0
  517. package/dist/esm/node_modules/viem/_esm/utils/regex.js.map +1 -0
  518. package/dist/esm/node_modules/viem/_esm/utils/rpc/http.js +2 -0
  519. package/dist/esm/node_modules/viem/_esm/utils/rpc/http.js.map +1 -0
  520. package/dist/esm/node_modules/viem/_esm/utils/rpc/id.js +2 -0
  521. package/dist/esm/node_modules/viem/_esm/utils/rpc/id.js.map +1 -0
  522. package/dist/esm/node_modules/viem/_esm/utils/signature/hashMessage.js +2 -0
  523. package/dist/esm/node_modules/viem/_esm/utils/signature/hashMessage.js.map +1 -0
  524. package/dist/esm/node_modules/viem/_esm/utils/signature/hashTypedData.js +2 -0
  525. package/dist/esm/node_modules/viem/_esm/utils/signature/hashTypedData.js.map +1 -0
  526. package/dist/esm/node_modules/viem/_esm/utils/signature/recoverAddress.js +2 -0
  527. package/dist/esm/node_modules/viem/_esm/utils/signature/recoverAddress.js.map +1 -0
  528. package/dist/esm/node_modules/viem/_esm/utils/signature/recoverPublicKey.js +2 -0
  529. package/dist/esm/node_modules/viem/_esm/utils/signature/recoverPublicKey.js.map +1 -0
  530. package/dist/esm/node_modules/viem/_esm/utils/signature/serializeSignature.js +2 -0
  531. package/dist/esm/node_modules/viem/_esm/utils/signature/serializeSignature.js.map +1 -0
  532. package/dist/esm/node_modules/viem/_esm/utils/signature/toPrefixedMessage.js +2 -0
  533. package/dist/esm/node_modules/viem/_esm/utils/signature/toPrefixedMessage.js.map +1 -0
  534. package/dist/esm/node_modules/viem/_esm/utils/siwe/parseSiweMessage.js +2 -0
  535. package/dist/esm/node_modules/viem/_esm/utils/siwe/parseSiweMessage.js.map +1 -0
  536. package/dist/esm/node_modules/viem/_esm/utils/siwe/validateSiweMessage.js +2 -0
  537. package/dist/esm/node_modules/viem/_esm/utils/siwe/validateSiweMessage.js.map +1 -0
  538. package/dist/esm/node_modules/viem/_esm/utils/stateOverride.js +2 -0
  539. package/dist/esm/node_modules/viem/_esm/utils/stateOverride.js.map +1 -0
  540. package/dist/esm/node_modules/viem/_esm/utils/stringify.js +2 -0
  541. package/dist/esm/node_modules/viem/_esm/utils/stringify.js.map +1 -0
  542. package/dist/esm/node_modules/viem/_esm/utils/transaction/assertRequest.js +2 -0
  543. package/dist/esm/node_modules/viem/_esm/utils/transaction/assertRequest.js.map +1 -0
  544. package/dist/esm/node_modules/viem/_esm/utils/transaction/getTransactionType.js +2 -0
  545. package/dist/esm/node_modules/viem/_esm/utils/transaction/getTransactionType.js.map +1 -0
  546. package/dist/esm/node_modules/viem/_esm/utils/typedData.js +2 -0
  547. package/dist/esm/node_modules/viem/_esm/utils/typedData.js.map +1 -0
  548. package/dist/esm/node_modules/viem/_esm/utils/uid.js +2 -0
  549. package/dist/esm/node_modules/viem/_esm/utils/uid.js.map +1 -0
  550. package/dist/esm/node_modules/viem/_esm/utils/unit/formatEther.js +2 -0
  551. package/dist/esm/node_modules/viem/_esm/utils/unit/formatEther.js.map +1 -0
  552. package/dist/esm/node_modules/viem/_esm/utils/unit/formatGwei.js +2 -0
  553. package/dist/esm/node_modules/viem/_esm/utils/unit/formatGwei.js.map +1 -0
  554. package/dist/esm/node_modules/viem/_esm/utils/unit/formatUnits.js +2 -0
  555. package/dist/esm/node_modules/viem/_esm/utils/unit/formatUnits.js.map +1 -0
  556. package/dist/esm/node_modules/viem/_esm/utils/wait.js +2 -0
  557. package/dist/esm/node_modules/viem/_esm/utils/wait.js.map +1 -0
  558. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/_shortw_utils.js +3 -0
  559. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/_shortw_utils.js.map +1 -0
  560. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/curve.js +3 -0
  561. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/curve.js.map +1 -0
  562. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/modular.js +4 -0
  563. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/modular.js.map +1 -0
  564. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/utils.js +3 -0
  565. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/utils.js.map +1 -0
  566. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/weierstrass.js +4 -0
  567. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +1 -0
  568. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/secp256k1.js +3 -0
  569. package/dist/esm/node_modules/viem/node_modules/@noble/curves/esm/secp256k1.js.map +1 -0
  570. package/dist/esm/src/LoginModal.js +2 -0
  571. package/dist/esm/src/LoginModal.js.map +1 -0
  572. package/dist/esm/src/LoginModal.styles.js +286 -0
  573. package/dist/esm/src/LoginModal.styles.js.map +1 -0
  574. package/dist/esm/src/adapters/phantom.js +2 -0
  575. package/dist/esm/src/adapters/phantom.js.map +1 -0
  576. package/dist/esm/src/client.js +2 -0
  577. package/dist/esm/src/client.js.map +1 -0
  578. package/dist/esm/src/coinbase.js +2 -0
  579. package/dist/esm/src/coinbase.js.map +1 -0
  580. package/dist/esm/src/context.js +2 -0
  581. package/dist/esm/src/context.js.map +1 -0
  582. package/dist/esm/src/hooks.js +2 -0
  583. package/dist/esm/src/hooks.js.map +1 -0
  584. package/dist/esm/src/index.js +2 -0
  585. package/dist/esm/src/index.js.map +1 -0
  586. package/dist/esm/src/modal.js +2 -0
  587. package/dist/esm/src/modal.js.map +1 -0
  588. package/dist/esm/src/polyfills.js +2 -0
  589. package/dist/esm/src/polyfills.js.map +1 -0
  590. package/dist/esm/src/storage.js +2 -0
  591. package/dist/esm/src/storage.js.map +1 -0
  592. package/dist/esm/src/styles/index.js +2 -0
  593. package/dist/esm/src/styles/index.js.map +1 -0
  594. package/dist/esm/src/styles/theme.js +2 -0
  595. package/dist/esm/src/styles/theme.js.map +1 -0
  596. package/dist/esm/src/types.js +2 -0
  597. package/dist/esm/src/types.js.map +1 -0
  598. package/dist/esm/src/utils/coinbaseUtils.js +2 -0
  599. package/dist/esm/src/utils/coinbaseUtils.js.map +1 -0
  600. package/dist/esm/src/utils/oauth.js +2 -0
  601. package/dist/esm/src/utils/oauth.js.map +1 -0
  602. package/dist/esm/types/LoginModal.d.ts +3 -0
  603. package/dist/esm/types/LoginModal.styles.d.ts +29 -0
  604. package/dist/esm/types/adapters/phantom.d.ts +30 -0
  605. package/dist/esm/types/client.d.ts +170 -0
  606. package/dist/esm/types/coinbase.d.ts +3 -0
  607. package/dist/esm/types/context.d.ts +28 -0
  608. package/dist/esm/types/hooks.d.ts +56 -0
  609. package/dist/esm/types/index.d.ts +8 -0
  610. package/dist/esm/types/modal.d.ts +20 -0
  611. package/dist/esm/types/polyfills.d.ts +1 -0
  612. package/dist/esm/types/storage.d.ts +9 -0
  613. package/dist/esm/types/styles/globalStyles.d.ts +2 -0
  614. package/dist/esm/types/styles/index.d.ts +2 -0
  615. package/dist/esm/types/styles/theme.d.ts +103 -0
  616. package/dist/esm/types/types.d.ts +132 -0
  617. package/dist/esm/types/utils/coinbaseUtils.d.ts +9 -0
  618. package/dist/esm/types/utils/oauth.d.ts +21 -0
  619. package/dist/esm/types/utils/twitter.d.ts +35 -0
  620. package/dist/index.cjs +296 -0
  621. package/dist/index.cjs.map +1 -0
  622. package/dist/index.d.ts +530 -0
  623. package/package.json +97 -0
@@ -0,0 +1,2 @@
1
+ import{decodeFunctionResult as t}from"../../utils/abi/decodeFunctionResult.js";import{encodeFunctionData as a}from"../../utils/abi/encodeFunctionData.js";import{getContractError as o}from"../../utils/errors/getContractError.js";import{getAction as r}from"../../utils/getAction.js";import{call as i}from"./call.js";async function s(s,c){const{abi:n,address:e,args:m,functionName:d,...u}=c,f=a({abi:n,args:m,functionName:d});try{const{data:a}=await r(s,i,"call")({...u,data:f,to:e});return t({abi:n,args:m,functionName:d,data:a||"0x"})}catch(t){throw o(t,{abi:n,address:e,args:m,docsPath:"/docs/contract/readContract",functionName:d})}}export{s as readContract};
2
+ //# sourceMappingURL=readContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readContract.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/readContract.js"],"sourcesContent":["import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError, } from '../../utils/errors/getContractError.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { call } from './call.js';\n/**\n * Calls a read-only function on a contract, and returns the response.\n *\n * - Docs: https://viem.sh/docs/contract/readContract\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts_reading-contracts\n *\n * A \"read-only\" function (constant function) on a Solidity contract is denoted by a `view` or `pure` keyword. They can only read the state of the contract, and cannot make any changes to it. Since read-only methods do not change the state of the contract, they do not require any gas to be executed, and can be called by any user without the need to pay for gas.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public) to call the [`call` action](https://viem.sh/docs/actions/public/call) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData).\n *\n * @param client - Client to use\n * @param parameters - {@link ReadContractParameters}\n * @returns The response from the contract. Type is inferred. {@link ReadContractReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { readContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await readContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * })\n * // 424122n\n */\nexport async function readContract(client, parameters) {\n const { abi, address, args, functionName, ...rest } = parameters;\n const calldata = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await getAction(client, call, 'call')({\n ...rest,\n data: calldata,\n to: address,\n });\n return decodeFunctionResult({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n }\n catch (error) {\n throw getContractError(error, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/readContract',\n functionName,\n });\n }\n}\n//# sourceMappingURL=readContract.js.map"],"names":["async","readContract","client","parameters","abi","address","args","functionName","rest","calldata","encodeFunctionData","data","getAction","call","to","decodeFunctionResult","error","getContractError","docsPath"],"mappings":"0TAoCOA,eAAeC,EAAaC,EAAQC,GACvC,MAAMC,IAAEA,EAAGC,QAAEA,EAAOC,KAAEA,EAAIC,aAAEA,KAAiBC,GAASL,EAChDM,EAAWC,EAAmB,CAChCN,MACAE,OACAC,iBAEJ,IACI,MAAMI,KAAEA,SAAeC,EAAUV,EAAQW,EAAM,OAAxBD,CAAgC,IAChDJ,EACHG,KAAMF,EACNK,GAAIT,IAER,OAAOU,EAAqB,CACxBX,MACAE,OACAC,eACAI,KAAMA,GAAQ,MAEtB,CACA,MAAOK,GACH,MAAMC,EAAiBD,EAAO,CAC1BZ,MACAC,UACAC,OACAY,SAAU,8BACVX,gBAER,CACJ","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{toRpc as r}from"../../../../ox/_esm/core/BlockOverrides.js";import{parseAccount as t}from"../../accounts/utils/parseAccount.js";import{AbiDecodingZeroDataError as s}from"../../errors/abi.js";import{RawContractError as o}from"../../errors/contract.js";import{UnknownNodeError as a}from"../../errors/node.js";import{decodeFunctionResult as e}from"../../utils/abi/decodeFunctionResult.js";import{encodeFunctionData as i}from"../../utils/abi/encodeFunctionData.js";import{concat as c}from"../../utils/data/concat.js";import{numberToHex as n}from"../../utils/encoding/toHex.js";import{getContractError as l}from"../../utils/errors/getContractError.js";import{getNodeError as u}from"../../utils/errors/getNodeError.js";import{formatBlock as m}from"../../utils/formatters/block.js";import{formatLog as f}from"../../utils/formatters/log.js";import{formatTransactionRequest as d}from"../../utils/formatters/transactionRequest.js";import{serializeStateOverride as p}from"../../utils/stateOverride.js";import{assertRequest as b}from"../../utils/transaction/assertRequest.js";async function j(j,v){const{blockNumber:g,blockTag:k=j.experimental_blockTag??"latest",blocks:x,returnFullTransactions:O,traceTransfers:h,validation:w}=v;try{const a=[];for(const s of x){const o=s.blockOverrides?r(s.blockOverrides):void 0,e=s.calls.map(r=>{const s=r,o=s.account?t(s.account):void 0,a=s.abi?i(s):s.data,e={...s,data:s.dataSuffix?c([a||"0x",s.dataSuffix]):a,from:s.from??o?.address};return b(e),d(e)}),n=s.stateOverrides?p(s.stateOverrides):void 0;a.push({blockOverrides:o,calls:e,stateOverrides:n})}const u=("bigint"==typeof g?n(g):void 0)||k;return(await j.request({method:"eth_simulateV1",params:[{blockStateCalls:a,returnFullTransactions:O,traceTransfers:h,validation:w},u]})).map((r,t)=>({...m(r),calls:r.calls.map((r,a)=>{const{abi:i,args:c,functionName:n,to:u}=x[t].calls[a],m=r.error?.data??r.returnData,d=BigInt(r.gasUsed),p=r.logs?.map(r=>f(r)),b="0x1"===r.status?"success":"failure",j=i&&"success"===b&&"0x"!==m?e({abi:i,data:m,functionName:n}):null,v=(()=>{if("success"===b)return;let t;return"0x"===r.error?.data?t=new s:r.error&&(t=new o(r.error)),t?l(t,{abi:i??[],address:u??"0x",args:c,functionName:n??"<unknown>"}):void 0})();return{data:m,gasUsed:d,logs:p,status:b,..."success"===b?{result:j}:{error:v}}})}))}catch(r){const t=r,s=u(t,{});if(s instanceof a)throw t;throw s}}export{j as simulateBlocks};
2
+ //# sourceMappingURL=simulateBlocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulateBlocks.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/simulateBlocks.js"],"sourcesContent":["import * as BlockOverrides from 'ox/BlockOverrides';\nimport { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { AbiDecodingZeroDataError } from '../../errors/abi.js';\nimport { RawContractError } from '../../errors/contract.js';\nimport { UnknownNodeError } from '../../errors/node.js';\nimport { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { concat } from '../../utils/data/concat.js';\nimport { numberToHex, } from '../../utils/encoding/toHex.js';\nimport { getContractError } from '../../utils/errors/getContractError.js';\nimport { getNodeError, } from '../../utils/errors/getNodeError.js';\nimport { formatBlock, } from '../../utils/formatters/block.js';\nimport { formatLog } from '../../utils/formatters/log.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { serializeStateOverride, } from '../../utils/stateOverride.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\n/**\n * Simulates a set of calls on block(s) with optional block and state overrides.\n *\n * @example\n * ```ts\n * import { createClient, http, parseEther } from 'viem'\n * import { simulate } from 'viem/actions'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const result = await simulate(client, {\n * blocks: [{\n * blockOverrides: {\n * number: 69420n,\n * },\n * calls: [{\n * {\n * account: '0x5a0b54d5dc17e482fe8b0bdca5320161b95fb929',\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * {\n * account: '0x5a0b54d5dc17e482fe8b0bdca5320161b95fb929',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * },\n * }],\n * stateOverrides: [{\n * address: '0x5a0b54d5dc17e482fe8b0bdca5320161b95fb929',\n * balance: parseEther('10'),\n * }],\n * }]\n * })\n * ```\n *\n * @param client - Client to use.\n * @param parameters - {@link SimulateBlocksParameters}\n * @returns Simulated blocks. {@link SimulateBlocksReturnType}\n */\nexport async function simulateBlocks(client, parameters) {\n const { blockNumber, blockTag = client.experimental_blockTag ?? 'latest', blocks, returnFullTransactions, traceTransfers, validation, } = parameters;\n try {\n const blockStateCalls = [];\n for (const block of blocks) {\n const blockOverrides = block.blockOverrides\n ? BlockOverrides.toRpc(block.blockOverrides)\n : undefined;\n const calls = block.calls.map((call_) => {\n const call = call_;\n const account = call.account ? parseAccount(call.account) : undefined;\n const data = call.abi ? encodeFunctionData(call) : call.data;\n const request = {\n ...call,\n data: call.dataSuffix\n ? concat([data || '0x', call.dataSuffix])\n : data,\n from: call.from ?? account?.address,\n };\n assertRequest(request);\n return formatTransactionRequest(request);\n });\n const stateOverrides = block.stateOverrides\n ? serializeStateOverride(block.stateOverrides)\n : undefined;\n blockStateCalls.push({\n blockOverrides,\n calls,\n stateOverrides,\n });\n }\n const blockNumberHex = typeof blockNumber === 'bigint' ? numberToHex(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const result = await client.request({\n method: 'eth_simulateV1',\n params: [\n { blockStateCalls, returnFullTransactions, traceTransfers, validation },\n block,\n ],\n });\n return result.map((block, i) => ({\n ...formatBlock(block),\n calls: block.calls.map((call, j) => {\n const { abi, args, functionName, to } = blocks[i].calls[j];\n const data = call.error?.data ?? call.returnData;\n const gasUsed = BigInt(call.gasUsed);\n const logs = call.logs?.map((log) => formatLog(log));\n const status = call.status === '0x1' ? 'success' : 'failure';\n const result = abi && status === 'success' && data !== '0x'\n ? decodeFunctionResult({\n abi,\n data,\n functionName,\n })\n : null;\n const error = (() => {\n if (status === 'success')\n return undefined;\n let error;\n if (call.error?.data === '0x')\n error = new AbiDecodingZeroDataError();\n else if (call.error)\n error = new RawContractError(call.error);\n if (!error)\n return undefined;\n return getContractError(error, {\n abi: (abi ?? []),\n address: to ?? '0x',\n args,\n functionName: functionName ?? '<unknown>',\n });\n })();\n return {\n data,\n gasUsed,\n logs,\n status,\n ...(status === 'success'\n ? {\n result,\n }\n : {\n error,\n }),\n };\n }),\n }));\n }\n catch (e) {\n const cause = e;\n const error = getNodeError(cause, {});\n if (error instanceof UnknownNodeError)\n throw cause;\n throw error;\n }\n}\n//# sourceMappingURL=simulateBlocks.js.map"],"names":["async","simulateBlocks","client","parameters","blockNumber","blockTag","experimental_blockTag","blocks","returnFullTransactions","traceTransfers","validation","blockStateCalls","block","blockOverrides","BlockOverrides.toRpc","undefined","calls","map","call_","call","account","parseAccount","data","abi","encodeFunctionData","request","dataSuffix","concat","from","address","assertRequest","formatTransactionRequest","stateOverrides","serializeStateOverride","push","numberToHex","method","params","i","formatBlock","j","args","functionName","to","error","returnData","gasUsed","BigInt","logs","log","formatLog","status","result","decodeFunctionResult","AbiDecodingZeroDataError","RawContractError","getContractError","e","cause","getNodeError","UnknownNodeError"],"mappings":"+iCA2DOA,eAAeC,EAAeC,EAAQC,GACzC,MAAMC,YAAEA,EAAWC,SAAEA,EAAWH,EAAOI,uBAAyB,SAAQC,OAAEA,EAAMC,uBAAEA,EAAsBC,eAAEA,EAAcC,WAAEA,GAAgBP,EAC1I,IACI,MAAMQ,EAAkB,GACxB,IAAK,MAAMC,KAASL,EAAQ,CACxB,MAAMM,EAAiBD,EAAMC,eACvBC,EAAqBF,EAAMC,qBAC3BE,EACAC,EAAQJ,EAAMI,MAAMC,IAAKC,IAC3B,MAAMC,EAAOD,EACPE,EAAUD,EAAKC,QAAUC,EAAaF,EAAKC,cAAWL,EACtDO,EAAOH,EAAKI,IAAMC,EAAmBL,GAAQA,EAAKG,KAClDG,EAAU,IACTN,EACHG,KAAMH,EAAKO,WACLC,EAAO,CAACL,GAAQ,KAAMH,EAAKO,aAC3BJ,EACNM,KAAMT,EAAKS,MAAQR,GAASS,SAGhC,OADAC,EAAcL,GACPM,EAAyBN,KAE9BO,EAAiBpB,EAAMoB,eACvBC,EAAuBrB,EAAMoB,qBAC7BjB,EACNJ,EAAgBuB,KAAK,CACjBrB,iBACAG,QACAgB,kBAER,CACA,MACMpB,GADwC,iBAAhBR,EAA2B+B,EAAY/B,QAAeW,IACpDV,EAQhC,aAPqBH,EAAOuB,QAAQ,CAChCW,OAAQ,iBACRC,OAAQ,CACJ,CAAE1B,kBAAiBH,yBAAwBC,iBAAgBC,cAC3DE,MAGMK,IAAI,CAACL,EAAO0B,KAAC,IACpBC,EAAY3B,GACfI,MAAOJ,EAAMI,MAAMC,IAAI,CAACE,EAAMqB,KAC1B,MAAMjB,IAAEA,EAAGkB,KAAEA,EAAIC,aAAEA,EAAYC,GAAEA,GAAOpC,EAAO+B,GAAGtB,MAAMwB,GAClDlB,EAAOH,EAAKyB,OAAOtB,MAAQH,EAAK0B,WAChCC,EAAUC,OAAO5B,EAAK2B,SACtBE,EAAO7B,EAAK6B,MAAM/B,IAAKgC,GAAQC,EAAUD,IACzCE,EAAyB,QAAhBhC,EAAKgC,OAAmB,UAAY,UAC7CC,EAAS7B,GAAkB,YAAX4B,GAAiC,OAAT7B,EACxC+B,EAAqB,CACnB9B,MACAD,OACAoB,iBAEF,KACAE,EAAQ,MACV,GAAe,YAAXO,EACA,OACJ,IAAIP,EAKJ,MAJyB,OAArBzB,EAAKyB,OAAOtB,KACZsB,EAAQ,IAAIU,EACPnC,EAAKyB,QACVA,EAAQ,IAAIW,EAAiBpC,EAAKyB,QACjCA,EAEEY,EAAiBZ,EAAO,CAC3BrB,IAAMA,GAAO,GACbM,QAASc,GAAM,KACfF,OACAC,aAAcA,GAAgB,mBANlC,CAQH,EAhBa,GAiBd,MAAO,CACHpB,OACAwB,UACAE,OACAG,YACe,YAAXA,EACE,CACEC,UAEF,CACER,cAKxB,CACA,MAAOa,GACH,MAAMC,EAAQD,EACRb,EAAQe,EAAaD,EAAO,IAClC,GAAId,aAAiBgB,EACjB,MAAMF,EACV,MAAMd,CACV,CACJ","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{encode as s,from as f}from"../../../../ox/_esm/core/AbiConstructor.js";import{encodeData as a,from as e}from"../../../../ox/_esm/core/AbiFunction.js";import{parseAccount as t}from"../../accounts/utils/parseAccount.js";import{zeroAddress as r,ethAddress as c}from"../../constants/address.js";import{deploylessCallViaBytecodeBytecode as n}from"../../constants/contracts.js";import{BaseError as o}from"../../errors/base.js";import{encodeFunctionData as d}from"../../utils/abi/encodeFunctionData.js";import{createAccessList as i}from"./createAccessList.js";import{simulateBlocks as l}from"./simulateBlocks.js";import{hexToBigInt as b}from"../../utils/encoding/fromHex.js";async function u(u,m){const{blockNumber:p,blockTag:g,calls:v,stateOverrides:y,traceAssetChanges:O,traceTransfers:k,validation:j}=m,h=m.account?t(m.account):void 0;if(O&&!h)throw new o("`account` is required when `traceAssetChanges` is true");const N=h?s(f("constructor(bytes, bytes)"),{bytecode:n,args:["0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033",a(e("function getBalance(address)"),[h.address])]}):void 0,w=O?await Promise.all(m.calls.map(async s=>{if(!s.data&&!s.abi)return;const{accessList:f}=await i(u,{account:h.address,...s,data:s.abi?d(s):s.data});return f.map(({address:s,storageKeys:f})=>f.length>0?s:null)})).then(s=>s.flat().filter(Boolean)):[],A=await l(u,{blockNumber:p,blockTag:g,blocks:[...O?[{calls:[{data:N}],stateOverrides:y},{calls:w.map((s,f)=>({abi:[e("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[h.address],to:s,from:r,nonce:f})),stateOverrides:[{address:r,nonce:0}]}]:[],{calls:[...v,{}].map(s=>({...s,from:h?.address})),stateOverrides:y},...O?[{calls:[{data:N}]},{calls:w.map((s,f)=>({abi:[e("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[h.address],to:s,from:r,nonce:f})),stateOverrides:[{address:r,nonce:0}]},{calls:w.map((s,f)=>({to:s,abi:[e("function decimals() returns (uint256)")],functionName:"decimals",from:r,nonce:f})),stateOverrides:[{address:r,nonce:0}]},{calls:w.map((s,f)=>({to:s,abi:[e("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:r,nonce:f})),stateOverrides:[{address:r,nonce:0}]},{calls:w.map((s,f)=>({to:s,abi:[e("function symbol() returns (string)")],functionName:"symbol",from:r,nonce:f})),stateOverrides:[{address:r,nonce:0}]}]:[]],traceTransfers:k,validation:j}),x=O?A[2]:A[0],[T,C,,B,F,H,I,L]=O?A:[],{calls:R,...U}=x,_=R.slice(0,-1)??[],q=[...T?.calls??[],...C?.calls??[]].map(s=>"success"===s.status?b(s.data):null),D=[...B?.calls??[],...F?.calls??[]].map(s=>"success"===s.status?b(s.data):null),E=(H?.calls??[]).map(s=>"success"===s.status?s.result:null),K=(L?.calls??[]).map(s=>"success"===s.status?s.result:null),P=(I?.calls??[]).map(s=>"success"===s.status?s.result:null),z=[];for(const[s,f]of D.entries()){const a=q[s];if("bigint"!=typeof f)continue;if("bigint"!=typeof a)continue;const e=E[s-1],t=K[s-1],r=P[s-1],n=(()=>0===s?{address:c,decimals:18,symbol:"ETH"}:{address:w[s-1],decimals:r||e?Number(e??1):void 0,symbol:t??void 0})();z.some(s=>s.token.address===n.address)||z.push({token:n,value:{pre:a,post:f,diff:f-a}})}return{assetChanges:z,block:U,results:_}}export{u as simulateCalls};
2
+ //# sourceMappingURL=simulateCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulateCalls.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/simulateCalls.js"],"sourcesContent":["import * as AbiConstructor from 'ox/AbiConstructor';\nimport * as AbiFunction from 'ox/AbiFunction';\nimport { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { ethAddress, zeroAddress } from '../../constants/address.js';\nimport { deploylessCallViaBytecodeBytecode } from '../../constants/contracts.js';\nimport { BaseError } from '../../errors/base.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { hexToBigInt } from '../../utils/index.js';\nimport { createAccessList, } from './createAccessList.js';\nimport { simulateBlocks, } from './simulateBlocks.js';\nconst getBalanceCode = '0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033';\n/**\n * Simulates execution of a batch of calls.\n *\n * @param client - Client to use\n * @param parameters - {@link SimulateCallsParameters}\n * @returns Results. {@link SimulateCallsReturnType}\n *\n * @example\n * ```ts\n * import { createPublicClient, http, parseEther } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateCalls } from 'viem/actions'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const result = await simulateCalls(client, {\n * account: '0x5a0b54d5dc17e482fe8b0bdca5320161b95fb929',\n * calls: [{\n * {\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * },\n * ]\n * })\n * ```\n */\nexport async function simulateCalls(client, parameters) {\n const { blockNumber, blockTag, calls, stateOverrides, traceAssetChanges, traceTransfers, validation, } = parameters;\n const account = parameters.account\n ? parseAccount(parameters.account)\n : undefined;\n if (traceAssetChanges && !account)\n throw new BaseError('`account` is required when `traceAssetChanges` is true');\n // Derive bytecode to extract ETH balance via a contract call.\n const getBalanceData = account\n ? AbiConstructor.encode(AbiConstructor.from('constructor(bytes, bytes)'), {\n bytecode: deploylessCallViaBytecodeBytecode,\n args: [\n getBalanceCode,\n AbiFunction.encodeData(AbiFunction.from('function getBalance(address)'), [account.address]),\n ],\n })\n : undefined;\n // Fetch ERC20/721 addresses that were \"touched\" from the calls.\n const assetAddresses = traceAssetChanges\n ? await Promise.all(parameters.calls.map(async (call) => {\n if (!call.data && !call.abi)\n return;\n const { accessList } = await createAccessList(client, {\n account: account.address,\n ...call,\n data: call.abi ? encodeFunctionData(call) : call.data,\n });\n return accessList.map(({ address, storageKeys }) => storageKeys.length > 0 ? address : null);\n })).then((x) => x.flat().filter(Boolean))\n : [];\n const blocks = await simulateBlocks(client, {\n blockNumber,\n blockTag: blockTag,\n blocks: [\n ...(traceAssetChanges\n ? [\n // ETH pre balances\n {\n calls: [{ data: getBalanceData }],\n stateOverrides,\n },\n // Asset pre balances\n {\n calls: assetAddresses.map((address, i) => ({\n abi: [\n AbiFunction.from('function balanceOf(address) returns (uint256)'),\n ],\n functionName: 'balanceOf',\n args: [account.address],\n to: address,\n from: zeroAddress,\n nonce: i,\n })),\n stateOverrides: [\n {\n address: zeroAddress,\n nonce: 0,\n },\n ],\n },\n ]\n : []),\n {\n calls: [...calls, {}].map((call) => ({\n ...call,\n from: account?.address,\n })),\n stateOverrides,\n },\n ...(traceAssetChanges\n ? [\n // ETH post balances\n {\n calls: [{ data: getBalanceData }],\n },\n // Asset post balances\n {\n calls: assetAddresses.map((address, i) => ({\n abi: [\n AbiFunction.from('function balanceOf(address) returns (uint256)'),\n ],\n functionName: 'balanceOf',\n args: [account.address],\n to: address,\n from: zeroAddress,\n nonce: i,\n })),\n stateOverrides: [\n {\n address: zeroAddress,\n nonce: 0,\n },\n ],\n },\n // Decimals\n {\n calls: assetAddresses.map((address, i) => ({\n to: address,\n abi: [\n AbiFunction.from('function decimals() returns (uint256)'),\n ],\n functionName: 'decimals',\n from: zeroAddress,\n nonce: i,\n })),\n stateOverrides: [\n {\n address: zeroAddress,\n nonce: 0,\n },\n ],\n },\n // Token URI\n {\n calls: assetAddresses.map((address, i) => ({\n to: address,\n abi: [\n AbiFunction.from('function tokenURI(uint256) returns (string)'),\n ],\n functionName: 'tokenURI',\n args: [0n],\n from: zeroAddress,\n nonce: i,\n })),\n stateOverrides: [\n {\n address: zeroAddress,\n nonce: 0,\n },\n ],\n },\n // Symbols\n {\n calls: assetAddresses.map((address, i) => ({\n to: address,\n abi: [AbiFunction.from('function symbol() returns (string)')],\n functionName: 'symbol',\n from: zeroAddress,\n nonce: i,\n })),\n stateOverrides: [\n {\n address: zeroAddress,\n nonce: 0,\n },\n ],\n },\n ]\n : []),\n ],\n traceTransfers,\n validation,\n });\n const block_results = traceAssetChanges ? blocks[2] : blocks[0];\n const [block_ethPre, block_assetsPre, , block_ethPost, block_assetsPost, block_decimals, block_tokenURI, block_symbols,] = traceAssetChanges ? blocks : [];\n // Extract call results from the simulation.\n const { calls: block_calls, ...block } = block_results;\n const results = block_calls.slice(0, -1) ?? [];\n // Extract pre-execution ETH and asset balances.\n const ethPre = block_ethPre?.calls ?? [];\n const assetsPre = block_assetsPre?.calls ?? [];\n const balancesPre = [...ethPre, ...assetsPre].map((call) => call.status === 'success' ? hexToBigInt(call.data) : null);\n // Extract post-execution ETH and asset balances.\n const ethPost = block_ethPost?.calls ?? [];\n const assetsPost = block_assetsPost?.calls ?? [];\n const balancesPost = [...ethPost, ...assetsPost].map((call) => call.status === 'success' ? hexToBigInt(call.data) : null);\n // Extract asset symbols & decimals.\n const decimals = (block_decimals?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);\n const symbols = (block_symbols?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);\n const tokenURI = (block_tokenURI?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);\n const changes = [];\n for (const [i, balancePost] of balancesPost.entries()) {\n const balancePre = balancesPre[i];\n if (typeof balancePost !== 'bigint')\n continue;\n if (typeof balancePre !== 'bigint')\n continue;\n const decimals_ = decimals[i - 1];\n const symbol_ = symbols[i - 1];\n const tokenURI_ = tokenURI[i - 1];\n const token = (() => {\n if (i === 0)\n return {\n address: ethAddress,\n decimals: 18,\n symbol: 'ETH',\n };\n return {\n address: assetAddresses[i - 1],\n decimals: tokenURI_ || decimals_ ? Number(decimals_ ?? 1) : undefined,\n symbol: symbol_ ?? undefined,\n };\n })();\n if (changes.some((change) => change.token.address === token.address))\n continue;\n changes.push({\n token,\n value: {\n pre: balancePre,\n post: balancePost,\n diff: balancePost - balancePre,\n },\n });\n }\n return {\n assetChanges: changes,\n block,\n results,\n };\n}\n//# sourceMappingURL=simulateCalls.js.map"],"names":["async","simulateCalls","client","parameters","blockNumber","blockTag","calls","stateOverrides","traceAssetChanges","traceTransfers","validation","account","parseAccount","undefined","BaseError","getBalanceData","AbiConstructor.encode","AbiConstructor.from","bytecode","deploylessCallViaBytecodeBytecode","args","AbiFunction.encodeData","AbiFunction.from","address","assetAddresses","Promise","all","map","call","data","abi","accessList","createAccessList","encodeFunctionData","storageKeys","length","then","x","flat","filter","Boolean","blocks","simulateBlocks","i","functionName","to","from","zeroAddress","nonce","block_results","block_ethPre","block_assetsPre","block_ethPost","block_assetsPost","block_decimals","block_tokenURI","block_symbols","block_calls","block","results","slice","balancesPre","status","hexToBigInt","balancesPost","decimals","result","symbols","tokenURI","changes","balancePost","entries","balancePre","decimals_","symbol_","tokenURI_","token","ethAddress","symbol","Number","some","change","push","value","pre","post","diff","assetChanges"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{parseAccount as t}from"../../accounts/utils/parseAccount.js";import{decodeFunctionResult as a}from"../../utils/abi/decodeFunctionResult.js";import{encodeFunctionData as o}from"../../utils/abi/encodeFunctionData.js";import{getContractError as c}from"../../utils/errors/getContractError.js";import{getAction as r}from"../../utils/getAction.js";import{call as n}from"./call.js";async function s(s,i){const{abi:e,address:u,args:m,dataSuffix:d,functionName:f,...l}=i,p=l.account?t(l.account):s.account,b=o({abi:e,args:m,functionName:f});try{const{data:t}=await r(s,n,"call")({batch:!1,data:`${b}${d?d.replace("0x",""):""}`,to:u,...l,account:p}),o=a({abi:e,args:m,functionName:f,data:t||"0x"});return{result:o,request:{abi:e.filter(t=>"name"in t&&t.name===i.functionName),address:u,args:m,dataSuffix:d,functionName:f,...l,account:p}}}catch(t){throw c(t,{abi:e,address:u,args:m,docsPath:"/docs/contract/simulateContract",functionName:f,sender:p?.address})}}export{s as simulateContract};
2
+ //# sourceMappingURL=simulateContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulateContract.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/simulateContract.js"],"sourcesContent":["import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError, } from '../../utils/errors/getContractError.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { call } from './call.js';\n/**\n * Simulates/validates a contract interaction. This is useful for retrieving **return data** and **revert reasons** of contract write functions.\n *\n * - Docs: https://viem.sh/docs/contract/simulateContract\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts_writing-to-contracts\n *\n * This function does not require gas to execute and _**does not**_ change the state of the blockchain. It is almost identical to [`readContract`](https://viem.sh/docs/contract/readContract), but also supports contract write functions.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public) to call the [`call` action](https://viem.sh/docs/actions/public/call) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData).\n *\n * @param client - Client to use\n * @param parameters - {@link SimulateContractParameters}\n * @returns The simulation result and write request. {@link SimulateContractReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await simulateContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32) view returns (uint32)']),\n * functionName: 'mint',\n * args: ['69420'],\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function simulateContract(client, parameters) {\n const { abi, address, args, dataSuffix, functionName, ...callRequest } = parameters;\n const account = callRequest.account\n ? parseAccount(callRequest.account)\n : client.account;\n const calldata = encodeFunctionData({ abi, args, functionName });\n try {\n const { data } = await getAction(client, call, 'call')({\n batch: false,\n data: `${calldata}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...callRequest,\n account,\n });\n const result = decodeFunctionResult({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n const minimizedAbi = abi.filter((abiItem) => 'name' in abiItem && abiItem.name === parameters.functionName);\n return {\n result,\n request: {\n abi: minimizedAbi,\n address,\n args,\n dataSuffix,\n functionName,\n ...callRequest,\n account,\n },\n };\n }\n catch (error) {\n throw getContractError(error, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\n//# sourceMappingURL=simulateContract.js.map"],"names":["async","simulateContract","client","parameters","abi","address","args","dataSuffix","functionName","callRequest","account","parseAccount","calldata","encodeFunctionData","data","getAction","call","batch","replace","to","result","decodeFunctionResult","request","filter","abiItem","name","error","getContractError","docsPath","sender"],"mappings":"8XAqCOA,eAAeC,EAAiBC,EAAQC,GAC3C,MAAMC,IAAEA,EAAGC,QAAEA,EAAOC,KAAEA,EAAIC,WAAEA,EAAUC,aAAEA,KAAiBC,GAAgBN,EACnEO,EAAUD,EAAYC,QACtBC,EAAaF,EAAYC,SACzBR,EAAOQ,QACPE,EAAWC,EAAmB,CAAET,MAAKE,OAAME,iBACjD,IACI,MAAMM,KAAEA,SAAeC,EAAUb,EAAQc,EAAM,OAAxBD,CAAgC,CACnDE,OAAO,EACPH,KAAM,GAAGF,IAAWL,EAAaA,EAAWW,QAAQ,KAAM,IAAM,KAChEC,GAAId,KACDI,EACHC,YAEEU,EAASC,EAAqB,CAChCjB,MACAE,OACAE,eACAM,KAAMA,GAAQ,OAGlB,MAAO,CACHM,SACAE,QAAS,CACLlB,IAJaA,EAAImB,OAAQC,GAAY,SAAUA,GAAWA,EAAQC,OAAStB,EAAWK,cAKtFH,UACAC,OACAC,aACAC,kBACGC,EACHC,WAGZ,CACA,MAAOgB,GACH,MAAMC,EAAiBD,EAAO,CAC1BtB,MACAC,UACAC,OACAsB,SAAU,kCACVpB,eACAqB,OAAQnB,GAASL,SAEzB,CACJ","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ async function t(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}export{t as uninstallFilter};
2
+ //# sourceMappingURL=uninstallFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstallFilter.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/uninstallFilter.js"],"sourcesContent":["/**\n * Destroys a [`Filter`](https://viem.sh/docs/glossary/types#filter).\n *\n * - Docs: https://viem.sh/docs/actions/public/uninstallFilter\n * - JSON-RPC Methods: [`eth_uninstallFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_uninstallFilter)\n *\n * Destroys a Filter that was created from one of the following Actions:\n * - [`createBlockFilter`](https://viem.sh/docs/actions/public/createBlockFilter)\n * - [`createEventFilter`](https://viem.sh/docs/actions/public/createEventFilter)\n * - [`createPendingTransactionFilter`](https://viem.sh/docs/actions/public/createPendingTransactionFilter)\n *\n * @param client - Client to use\n * @param parameters - {@link UninstallFilterParameters}\n * @returns A boolean indicating if the Filter was successfully uninstalled. {@link UninstallFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter, uninstallFilter } from 'viem/public'\n *\n * const filter = await createPendingTransactionFilter(client)\n * const uninstalled = await uninstallFilter(client, { filter })\n * // true\n */\nexport async function uninstallFilter(_client, { filter }) {\n return filter.request({\n method: 'eth_uninstallFilter',\n params: [filter.id],\n });\n}\n//# sourceMappingURL=uninstallFilter.js.map"],"names":["async","uninstallFilter","_client","filter","request","method","params","id"],"mappings":"AAwBOA,eAAeC,EAAgBC,GAASC,OAAEA,IAC7C,OAAOA,EAAOC,QAAQ,CAClBC,OAAQ,sBACRC,OAAQ,CAACH,EAAOI,KAExB","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{multicall3Abi as r,erc1271Abi as a,erc6492SignatureValidatorAbi as t}from"../../constants/abis.js";import{multicall3Bytecode as s,erc6492SignatureValidatorByteCode as i}from"../../constants/contracts.js";import{CallExecutionError as e,ContractFunctionExecutionError as o}from"../../errors/contract.js";import{encodeDeployData as n}from"../../utils/abi/encodeDeployData.js";import{encodeFunctionData as c}from"../../utils/abi/encodeFunctionData.js";import{getAddress as d}from"../../utils/address/getAddress.js";import{isAddressEqual as u}from"../../utils/address/isAddressEqual.js";import{verifyAuthorization as l}from"../../utils/authorization/verifyAuthorization.js";import{concatHex as m}from"../../utils/data/concat.js";import{isHex as f}from"../../utils/data/isHex.js";import{hexToBool as g}from"../../utils/encoding/fromHex.js";import{bytesToHex as h,numberToHex as b}from"../../utils/encoding/toHex.js";import{getAction as w}from"../../utils/getAction.js";import{recoverAddress as p}from"../../utils/signature/recoverAddress.js";import{serializeSignature as j}from"../../utils/signature/serializeSignature.js";import{call as y}from"./call.js";import{getCode as A}from"./getCode.js";import{readContract as k}from"./readContract.js";import{validate as N,unwrap as x}from"../../../../ox/_esm/erc8010/SignatureErc8010.js";import{validate as z,wrap as D}from"../../../../ox/_esm/erc6492/SignatureErc6492.js";async function S(r,a){const{address:s,hash:o,erc6492VerifierAddress:l=a.universalSignatureVerifierAddress??r.chain?.contracts?.erc6492Verifier?.address,multicallAddress:m=a.multicallAddress??r.chain?.contracts?.multicall3?.address}=a,b=(()=>{const r=a.signature;return f(r)?r:"object"==typeof r&&"r"in r&&"s"in r?j(r):h(r)})();try{return N(b)?await v(r,{...a,multicallAddress:m,signature:b}):await async function(r,a){const{address:s,factory:o,factoryData:d,hash:u,signature:l,verifierAddress:m,...f}=a,h=await(async()=>o||d?z(l)?l:D({data:d,signature:l,to:o}):l)(),b=m?{to:m,data:c({abi:t,functionName:"isValidSig",args:[s,u,h]}),...f}:{data:n({abi:t,args:[s,u,h],bytecode:i}),...f},{data:p}=await w(r,y,"call")(b).catch(r=>{if(r instanceof e)throw new V;throw r});if(g(p??"0x0"))return!0;throw new V}(r,{...a,verifierAddress:l,signature:b})}catch(r){try{if(u(d(s),await p({hash:o,signature:b})))return!0}catch{}if(r instanceof V)return!1;throw r}}async function v(t,i){const{address:e,blockNumber:o,blockTag:n,hash:d,multicallAddress:u}=i,{authorization:f,data:g,signature:h,to:p}=x(i.signature);if(await A(t,{address:e,blockNumber:o,blockTag:n})===m(["0xef0100",f.address]))return await T(t,{address:e,blockNumber:o,blockTag:n,hash:d,signature:h});const j={address:f.address,chainId:Number(f.chainId),nonce:Number(f.nonce),r:b(f.r,{size:32}),s:b(f.s,{size:32}),yParity:f.yParity};if(!await l({address:e,authorization:j}))throw new V;const y=await w(t,k,"readContract")({...u?{address:u}:{code:s},authorizationList:[j],abi:r,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...g?[{allowFailure:!0,target:p??e,callData:g}]:[],{allowFailure:!0,target:e,callData:c({abi:a,functionName:"isValidSignature",args:[d,h]})}]]}),N=y[y.length-1]?.returnData;if(N?.startsWith("0x1626ba7e"))return!0;throw new V}async function T(r,t){const{address:s,blockNumber:i,blockTag:e,hash:n,signature:c}=t;if((await w(r,k,"readContract")({address:s,abi:a,args:[n,c],blockNumber:i,blockTag:e,functionName:"isValidSignature"}).catch(r=>{if(r instanceof o)throw new V;throw r})).startsWith("0x1626ba7e"))return!0;throw new V}class V extends Error{}export{T as verifyErc1271,v as verifyErc8010,S as verifyHash};
2
+ //# sourceMappingURL=verifyHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyHash.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/verifyHash.js"],"sourcesContent":["import { SignatureErc6492 } from 'ox/erc6492';\nimport { SignatureErc8010 } from 'ox/erc8010';\nimport { erc1271Abi, erc6492SignatureValidatorAbi, multicall3Abi, } from '../../constants/abis.js';\nimport { erc6492SignatureValidatorByteCode, multicall3Bytecode, } from '../../constants/contracts.js';\nimport { CallExecutionError, ContractFunctionExecutionError, } from '../../errors/contract.js';\nimport { encodeDeployData, } from '../../utils/abi/encodeDeployData.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getAddress, } from '../../utils/address/getAddress.js';\nimport { isAddressEqual, } from '../../utils/address/isAddressEqual.js';\nimport { verifyAuthorization } from '../../utils/authorization/verifyAuthorization.js';\nimport { concatHex } from '../../utils/data/concat.js';\nimport { isHex } from '../../utils/data/isHex.js';\nimport { hexToBool } from '../../utils/encoding/fromHex.js';\nimport { bytesToHex, numberToHex, } from '../../utils/encoding/toHex.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { recoverAddress, } from '../../utils/signature/recoverAddress.js';\nimport { serializeSignature, } from '../../utils/signature/serializeSignature.js';\nimport { call } from './call.js';\nimport { getCode } from './getCode.js';\nimport { readContract } from './readContract.js';\n/**\n * Verifies a message hash onchain using ERC-6492.\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyHashParameters}\n * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}\n */\nexport async function verifyHash(client, parameters) {\n const { address, hash, erc6492VerifierAddress: verifierAddress = parameters.universalSignatureVerifierAddress ??\n client.chain?.contracts?.erc6492Verifier?.address, multicallAddress = parameters.multicallAddress ??\n client.chain?.contracts?.multicall3?.address, } = parameters;\n const signature = (() => {\n const signature = parameters.signature;\n if (isHex(signature))\n return signature;\n if (typeof signature === 'object' && 'r' in signature && 's' in signature)\n return serializeSignature(signature);\n return bytesToHex(signature);\n })();\n try {\n if (SignatureErc8010.validate(signature))\n return await verifyErc8010(client, {\n ...parameters,\n multicallAddress,\n signature,\n });\n return await verifyErc6492(client, {\n ...parameters,\n verifierAddress,\n signature,\n });\n }\n catch (error) {\n // Fallback attempt to verify the signature via ECDSA recovery.\n try {\n const verified = isAddressEqual(getAddress(address), await recoverAddress({ hash, signature }));\n if (verified)\n return true;\n }\n catch { }\n if (error instanceof VerificationError) {\n // if the execution fails, the signature was not valid and an internal method inside of the validator reverted\n // this can happen for many reasons, for example if signer can not be recovered from the signature\n // or if the signature has no valid format\n return false;\n }\n throw error;\n }\n}\n/** @internal */\nexport async function verifyErc8010(client, parameters) {\n const { address, blockNumber, blockTag, hash, multicallAddress } = parameters;\n const { authorization: authorization_ox, data: initData, signature, to, } = SignatureErc8010.unwrap(parameters.signature);\n // Check if already delegated\n const code = await getCode(client, {\n address,\n blockNumber,\n blockTag,\n });\n // If already delegated, perform standard ERC-1271 verification.\n if (code === concatHex(['0xef0100', authorization_ox.address]))\n return await verifyErc1271(client, {\n address,\n blockNumber,\n blockTag,\n hash,\n signature,\n });\n const authorization = {\n address: authorization_ox.address,\n chainId: Number(authorization_ox.chainId),\n nonce: Number(authorization_ox.nonce),\n r: numberToHex(authorization_ox.r, { size: 32 }),\n s: numberToHex(authorization_ox.s, { size: 32 }),\n yParity: authorization_ox.yParity,\n };\n const valid = await verifyAuthorization({\n address,\n authorization,\n });\n if (!valid)\n throw new VerificationError();\n // Deployless verification.\n const results = await getAction(client, readContract, 'readContract')({\n ...(multicallAddress\n ? { address: multicallAddress }\n : { code: multicall3Bytecode }),\n authorizationList: [authorization],\n abi: multicall3Abi,\n blockNumber,\n blockTag: 'pending',\n functionName: 'aggregate3',\n args: [\n [\n ...(initData\n ? [\n {\n allowFailure: true,\n target: to ?? address,\n callData: initData,\n },\n ]\n : []),\n {\n allowFailure: true,\n target: address,\n callData: encodeFunctionData({\n abi: erc1271Abi,\n functionName: 'isValidSignature',\n args: [hash, signature],\n }),\n },\n ],\n ],\n });\n const data = results[results.length - 1]?.returnData;\n if (data?.startsWith('0x1626ba7e'))\n return true;\n throw new VerificationError();\n}\n/** @internal */\n// biome-ignore lint/correctness/noUnusedVariables: _\nasync function verifyErc6492(client, parameters) {\n const { address, factory, factoryData, hash, signature, verifierAddress, ...rest } = parameters;\n const wrappedSignature = await (async () => {\n // If no `factory` or `factoryData` is provided, it is assumed that the\n // address is not a Smart Account, or the Smart Account is already deployed.\n if (!factory && !factoryData)\n return signature;\n // If the signature is already wrapped, return the signature.\n if (SignatureErc6492.validate(signature))\n return signature;\n // If the Smart Account is not deployed, wrap the signature with a 6492 wrapper\n // to perform counterfactual validation.\n return SignatureErc6492.wrap({\n data: factoryData,\n signature,\n to: factory,\n });\n })();\n const args = verifierAddress\n ? {\n to: verifierAddress,\n data: encodeFunctionData({\n abi: erc6492SignatureValidatorAbi,\n functionName: 'isValidSig',\n args: [address, hash, wrappedSignature],\n }),\n ...rest,\n }\n : {\n data: encodeDeployData({\n abi: erc6492SignatureValidatorAbi,\n args: [address, hash, wrappedSignature],\n bytecode: erc6492SignatureValidatorByteCode,\n }),\n ...rest,\n };\n const { data } = await getAction(client, call, 'call')(args).catch((error) => {\n if (error instanceof CallExecutionError)\n throw new VerificationError();\n throw error;\n });\n if (hexToBool(data ?? '0x0'))\n return true;\n throw new VerificationError();\n}\n/** @internal */\nexport async function verifyErc1271(client, parameters) {\n const { address, blockNumber, blockTag, hash, signature } = parameters;\n const result = await getAction(client, readContract, 'readContract')({\n address,\n abi: erc1271Abi,\n args: [hash, signature],\n blockNumber,\n blockTag,\n functionName: 'isValidSignature',\n }).catch((error) => {\n if (error instanceof ContractFunctionExecutionError)\n throw new VerificationError();\n throw error;\n });\n if (result.startsWith('0x1626ba7e'))\n return true;\n throw new VerificationError();\n}\nclass VerificationError extends Error {\n}\n//# sourceMappingURL=verifyHash.js.map"],"names":["async","verifyHash","client","parameters","address","hash","erc6492VerifierAddress","verifierAddress","universalSignatureVerifierAddress","chain","contracts","erc6492Verifier","multicallAddress","multicall3","signature","isHex","serializeSignature","bytesToHex","SignatureErc8010.validate","verifyErc8010","factory","factoryData","rest","wrappedSignature","SignatureErc6492.validate","SignatureErc6492.wrap","data","to","args","encodeFunctionData","abi","erc6492SignatureValidatorAbi","functionName","encodeDeployData","bytecode","erc6492SignatureValidatorByteCode","getAction","call","catch","error","CallExecutionError","VerificationError","hexToBool","verifyErc6492","isAddressEqual","getAddress","recoverAddress","blockNumber","blockTag","authorization","authorization_ox","initData","SignatureErc8010.unwrap","getCode","concatHex","verifyErc1271","chainId","Number","nonce","r","numberToHex","size","s","yParity","verifyAuthorization","results","readContract","code","multicall3Bytecode","authorizationList","multicall3Abi","allowFailure","target","callData","erc1271Abi","length","returnData","startsWith","ContractFunctionExecutionError","Error"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{hashMessage as a}from"../../utils/signature/hashMessage.js";import{verifyHash as s}from"./verifyHash.js";async function r(r,{address:t,message:e,factory:o,factoryData:f,signature:i,...n}){const c=a(e);return s(r,{address:t,factory:o,factoryData:f,hash:c,signature:i,...n})}export{r as verifyMessage};
2
+ //# sourceMappingURL=verifyMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyMessage.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/verifyMessage.js"],"sourcesContent":["import { hashMessage } from '../../utils/signature/hashMessage.js';\nimport { verifyHash, } from './verifyHash.js';\n/**\n * Verify that a message was signed by the provided address.\n *\n * Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyMessage}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}\n */\nexport async function verifyMessage(client, { address, message, factory, factoryData, signature, ...callRequest }) {\n const hash = hashMessage(message);\n return verifyHash(client, {\n address,\n factory: factory,\n factoryData: factoryData,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyMessage.js.map"],"names":["async","verifyMessage","client","address","message","factory","factoryData","signature","callRequest","hash","hashMessage","verifyHash"],"mappings":"gHAaOA,eAAeC,EAAcC,GAAQC,QAAEA,EAAOC,QAAEA,EAAOC,QAAEA,EAAOC,YAAEA,EAAWC,UAAEA,KAAcC,IAChG,MAAMC,EAAOC,EAAYN,GACzB,OAAOO,EAAWT,EAAQ,CACtBC,UACAE,QAASA,EACTC,YAAaA,EACbG,OACAF,eACGC,GAEX","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{hashTypedData as a}from"../../utils/signature/hashTypedData.js";import{verifyHash as r}from"./verifyHash.js";async function s(s,t){const{address:e,factory:o,factoryData:y,signature:i,message:m,primaryType:n,types:p,domain:f,...c}=t,d=a({message:m,primaryType:n,types:p,domain:f});return r(s,{address:e,factory:o,factoryData:y,hash:d,signature:i,...c})}export{s as verifyTypedData};
2
+ //# sourceMappingURL=verifyTypedData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyTypedData.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/verifyTypedData.js"],"sourcesContent":["import { hashTypedData, } from '../../utils/signature/hashTypedData.js';\nimport { verifyHash, } from './verifyHash.js';\n/**\n * Verify that typed data was signed by the provided address.\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyTypedData}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyTypedDataParameters}\n * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}\n */\nexport async function verifyTypedData(client, parameters) {\n const { address, factory, factoryData, signature, message, primaryType, types, domain, ...callRequest } = parameters;\n const hash = hashTypedData({ message, primaryType, types, domain });\n return verifyHash(client, {\n address,\n factory: factory,\n factoryData: factoryData,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyTypedData.js.map"],"names":["async","verifyTypedData","client","parameters","address","factory","factoryData","signature","message","primaryType","types","domain","callRequest","hash","hashTypedData","verifyHash"],"mappings":"oHAWOA,eAAeC,EAAgBC,EAAQC,GAC1C,MAAMC,QAAEA,EAAOC,QAAEA,EAAOC,YAAEA,EAAWC,UAAEA,EAASC,QAAEA,EAAOC,YAAEA,EAAWC,MAAEA,EAAKC,OAAEA,KAAWC,GAAgBT,EACpGU,EAAOC,EAAc,CAAEN,UAASC,cAAaC,QAAOC,WAC1D,OAAOI,EAAWb,EAAQ,CACtBE,UACAC,QAASA,EACTC,YAAaA,EACbO,OACAN,eACGK,GAEX","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{BlockNotFoundError as e}from"../../errors/block.js";import{WaitForTransactionReceiptTimeoutError as t,TransactionNotFoundError as r,TransactionReceiptNotFoundError as o}from"../../errors/transaction.js";import{getAction as i}from"../../utils/getAction.js";import{observe as n}from"../../utils/observe.js";import{withResolvers as a}from"../../utils/promise/withResolvers.js";import{withRetry as c}from"../../utils/promise/withRetry.js";import{stringify as s}from"../../utils/stringify.js";import{getBlock as l}from"./getBlock.js";import{getTransaction as m}from"./getTransaction.js";import{getTransactionReceipt as u}from"./getTransactionReceipt.js";import{watchBlockNumber as p}from"./watchBlockNumber.js";async function f(f,h){const{checkReplacement:b=!0,confirmations:v=1,hash:d,onReplaced:k,retryCount:y=6,retryDelay:g=({count:e})=>200*(1<<e),timeout:j=18e4}=h,T=s(["waitForTransactionReceipt",f.uid,d]),R=h.pollingInterval?h.pollingInterval:f.chain?.experimental_preconfirmationTime?f.chain.experimental_preconfirmationTime:f.pollingInterval;let w,N,B,I,x,C=!1;const{promise:_,resolve:A,reject:D}=a(),F=j?setTimeout(()=>{x?.(),I?.(),D(new t({hash:d}))},j):void 0;return I=n(T,{onReplaced:k,resolve:A,reject:D},async t=>{if(B=await i(f,u,"getTransactionReceipt")({hash:d}).catch(()=>{}),B&&v<=1)return clearTimeout(F),t.resolve(B),void I?.();x=i(f,p,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:R,async onBlockNumber(n){const a=e=>{clearTimeout(F),x?.(),e(),I?.()};let s=n;if(!C)try{if(B){if(v>1&&(!B.blockNumber||s-B.blockNumber+1n<v))return;return void a(()=>t.resolve(B))}if(b&&!w&&(C=!0,await c(async()=>{w=await i(f,m,"getTransaction")({hash:d}),w.blockNumber&&(s=w.blockNumber)},{delay:g,retryCount:y}),C=!1),B=await i(f,u,"getTransactionReceipt")({hash:d}),v>1&&(!B.blockNumber||s-B.blockNumber+1n<v))return;a(()=>t.resolve(B))}catch(n){if(n instanceof r||n instanceof o){if(!w)return void(C=!1);try{N=w,C=!0;const r=await c(()=>i(f,l,"getBlock")({blockNumber:s,includeTransactions:!0}),{delay:g,retryCount:y,shouldRetry:({error:t})=>t instanceof e});C=!1;const o=r.transactions.find(({from:e,nonce:t})=>e===N.from&&t===N.nonce);if(!o)return;if(B=await i(f,u,"getTransactionReceipt")({hash:o.hash}),v>1&&(!B.blockNumber||s-B.blockNumber+1n<v))return;let n="replaced";o.to===N.to&&o.value===N.value&&o.input===N.input?n="repriced":o.from===o.to&&0n===o.value&&(n="cancelled"),a(()=>{t.onReplaced?.({reason:n,replacedTransaction:N,transaction:o,transactionReceipt:B}),t.resolve(B)})}catch(e){a(()=>t.reject(e))}}else a(()=>t.reject(n))}}})}),_}export{f as waitForTransactionReceipt};
2
+ //# sourceMappingURL=waitForTransactionReceipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForTransactionReceipt.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/waitForTransactionReceipt.js"],"sourcesContent":["import { BlockNotFoundError } from '../../errors/block.js';\nimport { TransactionNotFoundError, TransactionReceiptNotFoundError, WaitForTransactionReceiptTimeoutError, } from '../../errors/transaction.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { withResolvers } from '../../utils/promise/withResolvers.js';\nimport { withRetry, } from '../../utils/promise/withRetry.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlock } from './getBlock.js';\nimport { getTransaction, } from './getTransaction.js';\nimport { getTransactionReceipt, } from './getTransactionReceipt.js';\nimport { watchBlockNumber, } from './watchBlockNumber.js';\n/**\n * Waits for the [Transaction](https://viem.sh/docs/glossary/terms#transaction) to be included on a [Block](https://viem.sh/docs/glossary/terms#block) (one confirmation), and then returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms#transaction-receipt).\n *\n * - Docs: https://viem.sh/docs/actions/public/waitForTransactionReceipt\n * - Example: https://stackblitz.com/github/wevm/viem/tree/main/examples/transactions_sending-transactions\n * - JSON-RPC Methods:\n * - Polls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt) on each block until it has been processed.\n * - If a Transaction has been replaced:\n * - Calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) and extracts the transactions\n * - Checks if one of the Transactions is a replacement\n * - If so, calls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt).\n *\n * The `waitForTransactionReceipt` action additionally supports Replacement detection (e.g. sped up Transactions).\n *\n * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel). Transactions are replaced when they are sent from the same nonce.\n *\n * There are 3 types of Transaction Replacement reasons:\n *\n * - `repriced`: The gas price has been modified (e.g. different `maxFeePerGas`)\n * - `cancelled`: The Transaction has been cancelled (e.g. `value === 0n`)\n * - `replaced`: The Transaction has been replaced (e.g. different `value` or `data`)\n *\n * @param client - Client to use\n * @param parameters - {@link WaitForTransactionReceiptParameters}\n * @returns The transaction receipt. {@link WaitForTransactionReceiptReturnType}\n *\n * @example\n * import { createPublicClient, waitForTransactionReceipt, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionReceipt = await waitForTransactionReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function waitForTransactionReceipt(client, parameters) {\n const { checkReplacement = true, confirmations = 1, hash, onReplaced, retryCount = 6, retryDelay = ({ count }) => ~~(1 << count) * 200, // exponential backoff\n timeout = 180_000, } = parameters;\n const observerId = stringify(['waitForTransactionReceipt', client.uid, hash]);\n const pollingInterval = (() => {\n if (parameters.pollingInterval)\n return parameters.pollingInterval;\n if (client.chain?.experimental_preconfirmationTime)\n return client.chain.experimental_preconfirmationTime;\n return client.pollingInterval;\n })();\n let transaction;\n let replacedTransaction;\n let receipt;\n let retrying = false;\n let _unobserve;\n let _unwatch;\n const { promise, resolve, reject } = withResolvers();\n const timer = timeout\n ? setTimeout(() => {\n _unwatch?.();\n _unobserve?.();\n reject(new WaitForTransactionReceiptTimeoutError({ hash }));\n }, timeout)\n : undefined;\n _unobserve = observe(observerId, { onReplaced, resolve, reject }, async (emit) => {\n receipt = await getAction(client, getTransactionReceipt, 'getTransactionReceipt')({ hash }).catch(() => undefined);\n if (receipt && confirmations <= 1) {\n clearTimeout(timer);\n emit.resolve(receipt);\n _unobserve?.();\n return;\n }\n _unwatch = getAction(client, watchBlockNumber, 'watchBlockNumber')({\n emitMissed: true,\n emitOnBegin: true,\n poll: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n const done = (fn) => {\n clearTimeout(timer);\n _unwatch?.();\n fn();\n _unobserve?.();\n };\n let blockNumber = blockNumber_;\n if (retrying)\n return;\n try {\n // If we already have a valid receipt, let's check if we have enough\n // confirmations. If we do, then we can resolve.\n if (receipt) {\n if (confirmations > 1 &&\n (!receipt.blockNumber ||\n blockNumber - receipt.blockNumber + 1n < confirmations))\n return;\n done(() => emit.resolve(receipt));\n return;\n }\n // Get the transaction to check if it's been replaced.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined transactions.\n if (checkReplacement && !transaction) {\n retrying = true;\n await withRetry(async () => {\n transaction = (await getAction(client, getTransaction, 'getTransaction')({ hash }));\n if (transaction.blockNumber)\n blockNumber = transaction.blockNumber;\n }, {\n delay: retryDelay,\n retryCount,\n });\n retrying = false;\n }\n // Get the receipt to check if it's been processed.\n receipt = await getAction(client, getTransactionReceipt, 'getTransactionReceipt')({ hash });\n // Check if we have enough confirmations. If not, continue polling.\n if (confirmations > 1 &&\n (!receipt.blockNumber ||\n blockNumber - receipt.blockNumber + 1n < confirmations))\n return;\n done(() => emit.resolve(receipt));\n }\n catch (err) {\n // If the receipt is not found, the transaction will be pending.\n // We need to check if it has potentially been replaced.\n if (err instanceof TransactionNotFoundError ||\n err instanceof TransactionReceiptNotFoundError) {\n if (!transaction) {\n retrying = false;\n return;\n }\n try {\n replacedTransaction = transaction;\n // Let's retrieve the transactions from the current block.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined blocks.\n retrying = true;\n const block = await withRetry(() => getAction(client, getBlock, 'getBlock')({\n blockNumber,\n includeTransactions: true,\n }), {\n delay: retryDelay,\n retryCount,\n shouldRetry: ({ error }) => error instanceof BlockNotFoundError,\n });\n retrying = false;\n const replacementTransaction = block.transactions.find(({ from, nonce }) => from === replacedTransaction.from &&\n nonce === replacedTransaction.nonce);\n // If we couldn't find a replacement transaction, continue polling.\n if (!replacementTransaction)\n return;\n // If we found a replacement transaction, return it's receipt.\n receipt = await getAction(client, getTransactionReceipt, 'getTransactionReceipt')({\n hash: replacementTransaction.hash,\n });\n // Check if we have enough confirmations. If not, continue polling.\n if (confirmations > 1 &&\n (!receipt.blockNumber ||\n blockNumber - receipt.blockNumber + 1n < confirmations))\n return;\n let reason = 'replaced';\n if (replacementTransaction.to === replacedTransaction.to &&\n replacementTransaction.value === replacedTransaction.value &&\n replacementTransaction.input === replacedTransaction.input) {\n reason = 'repriced';\n }\n else if (replacementTransaction.from === replacementTransaction.to &&\n replacementTransaction.value === 0n) {\n reason = 'cancelled';\n }\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction,\n transaction: replacementTransaction,\n transactionReceipt: receipt,\n });\n emit.resolve(receipt);\n });\n }\n catch (err_) {\n done(() => emit.reject(err_));\n }\n }\n else {\n done(() => emit.reject(err));\n }\n }\n },\n });\n });\n return promise;\n}\n//# sourceMappingURL=waitForTransactionReceipt.js.map"],"names":["async","waitForTransactionReceipt","client","parameters","checkReplacement","confirmations","hash","onReplaced","retryCount","retryDelay","count","timeout","observerId","stringify","uid","pollingInterval","chain","experimental_preconfirmationTime","transaction","replacedTransaction","receipt","_unobserve","_unwatch","retrying","promise","resolve","reject","withResolvers","timer","setTimeout","WaitForTransactionReceiptTimeoutError","undefined","observe","emit","getAction","getTransactionReceipt","catch","clearTimeout","watchBlockNumber","emitMissed","emitOnBegin","poll","onBlockNumber","blockNumber_","done","fn","blockNumber","withRetry","getTransaction","delay","err","TransactionNotFoundError","TransactionReceiptNotFoundError","block","getBlock","includeTransactions","shouldRetry","error","BlockNotFoundError","replacementTransaction","transactions","find","from","nonce","reason","to","value","input","transactionReceipt","err_"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{hexToBigInt as r}from"../../utils/encoding/fromHex.js";import{getAction as t}from"../../utils/getAction.js";import{observe as o}from"../../utils/observe.js";import{poll as n}from"../../utils/poll.js";import{stringify as e}from"../../utils/stringify.js";import{getBlockNumber as i}from"./getBlockNumber.js";function s(s,{emitOnBegin:c=!1,emitMissed:a=!1,onBlockNumber:l,onError:p,poll:u,pollingInterval:m=s.pollingInterval}){let f;return(void 0!==u?u:"webSocket"!==s.transport.type&&"ipc"!==s.transport.type&&("fallback"!==s.transport.type||"webSocket"!==s.transport.transports[0].config.type&&"ipc"!==s.transport.transports[0].config.type))?(()=>{const r=e(["watchBlockNumber",s.uid,c,a,m]);return o(r,{onBlockNumber:l,onError:p},r=>n(async()=>{try{const o=await t(s,i,"getBlockNumber")({cacheTime:0});if(void 0!==f){if(o===f)return;if(o-f>1&&a)for(let t=f+1n;t<o;t++)r.onBlockNumber(t,f),f=t}(void 0===f||o>f)&&(r.onBlockNumber(o,f),f=o)}catch(t){r.onError?.(t)}},{emitOnBegin:c,interval:m}))})():(()=>{const t=e(["watchBlockNumber",s.uid,c,a]);return o(t,{onBlockNumber:l,onError:p},t=>{let o=!0,n=()=>o=!1;return(async()=>{try{const e=(()=>{if("fallback"===s.transport.type){const r=s.transport.transports.find(r=>"webSocket"===r.config.type||"ipc"===r.config.type);return r?r.value:s.transport}return s.transport})(),{unsubscribe:i}=await e.subscribe({params:["newHeads"],onData(n){if(!o)return;const e=r(n.result?.number);t.onBlockNumber(e,f),f=e},onError(r){t.onError?.(r)}});n=i,o||n()}catch(r){p?.(r)}})(),()=>n()})})()}export{s as watchBlockNumber};
2
+ //# sourceMappingURL=watchBlockNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchBlockNumber.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/watchBlockNumber.js"],"sourcesContent":["import { hexToBigInt } from '../../utils/encoding/fromHex.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlockNumber, } from './getBlockNumber.js';\n/**\n * Watches and returns incoming block numbers.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlockNumber\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/blocks_watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_blockNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlockNumberParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}\n *\n * @example\n * import { createPublicClient, watchBlockNumber, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchBlockNumber(client, {\n * onBlockNumber: (blockNumber) => console.log(blockNumber),\n * })\n */\nexport function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = (() => {\n if (typeof poll_ !== 'undefined')\n return poll_;\n if (client.transport.type === 'webSocket' ||\n client.transport.type === 'ipc')\n return false;\n if (client.transport.type === 'fallback' &&\n (client.transport.transports[0].config.type === 'webSocket' ||\n client.transport.transports[0].config.type === 'ipc'))\n return false;\n return true;\n })();\n let prevBlockNumber;\n const pollBlockNumber = () => {\n const observerId = stringify([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ]);\n return observe(observerId, { onBlockNumber, onError }, (emit) => poll(async () => {\n try {\n const blockNumber = await getAction(client, getBlockNumber, 'getBlockNumber')({ cacheTime: 0 });\n if (prevBlockNumber !== undefined) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (blockNumber === prevBlockNumber)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1n; i < blockNumber; i++) {\n emit.onBlockNumber(i, prevBlockNumber);\n prevBlockNumber = i;\n }\n }\n }\n // If the next block number is greater than the previous,\n // it is not in the past, and we can emit the new block number.\n if (prevBlockNumber === undefined ||\n blockNumber > prevBlockNumber) {\n emit.onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlockNumber = () => {\n const observerId = stringify([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n ]);\n return observe(observerId, { onBlockNumber, onError }, (emit) => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const transport = (() => {\n if (client.transport.type === 'fallback') {\n const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||\n transport.config.type === 'ipc');\n if (!transport)\n return client.transport;\n return transport.value;\n }\n return client.transport;\n })();\n const { unsubscribe: unsubscribe_ } = await transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const blockNumber = hexToBigInt(data.result?.number);\n emit.onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n },\n onError(error) {\n emit.onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return () => unsubscribe();\n });\n };\n return enablePolling ? pollBlockNumber() : subscribeBlockNumber();\n}\n//# sourceMappingURL=watchBlockNumber.js.map"],"names":["watchBlockNumber","client","emitOnBegin","emitMissed","onBlockNumber","onError","poll","poll_","pollingInterval","prevBlockNumber","transport","type","transports","config","observerId","stringify","uid","observe","emit","async","blockNumber","getAction","getBlockNumber","cacheTime","undefined","i","err","interval","pollBlockNumber","active","unsubscribe","find","value","unsubscribe_","subscribe","params","onData","data","hexToBigInt","result","number","error","subscribeBlockNumber"],"mappings":"yTA+BO,SAASA,EAAiBC,GAAQC,YAAEA,GAAc,EAAKC,WAAEA,GAAa,EAAKC,cAAEA,EAAaC,QAAEA,EAASC,KAAMC,EAAKC,gBAAEA,EAAkBP,EAAOO,kBAa9I,IAAIC,EAwFJ,YAnGyB,IAAVF,EACAA,EACmB,cAA1BN,EAAOS,UAAUC,MACS,QAA1BV,EAAOS,UAAUC,OAES,aAA1BV,EAAOS,UAAUC,MAC+B,cAA/CV,EAAOS,UAAUE,WAAW,GAAGC,OAAOF,MACY,QAA/CV,EAAOS,UAAUE,WAAW,GAAGC,OAAOF,OAK1B,MACpB,MAAMG,EAAaC,EAAU,CACzB,mBACAd,EAAOe,IACPd,EACAC,EACAK,IAEJ,OAAOS,EAAQH,EAAY,CAAEV,gBAAeC,WAAYa,GAASZ,EAAKa,UAClE,IACI,MAAMC,QAAoBC,EAAUpB,EAAQqB,EAAgB,iBAAlCD,CAAoD,CAAEE,UAAW,IAC3F,QAAwBC,IAApBf,EAA+B,CAG/B,GAAIW,IAAgBX,EAChB,OAGJ,GAAIW,EAAcX,EAAkB,GAAKN,EACrC,IAAK,IAAIsB,EAAIhB,EAAkB,GAAIgB,EAAIL,EAAaK,IAChDP,EAAKd,cAAcqB,EAAGhB,GACtBA,EAAkBgB,CAG9B,OAGwBD,IAApBf,GACAW,EAAcX,KACdS,EAAKd,cAAcgB,EAAaX,GAChCA,EAAkBW,EAE1B,CACA,MAAOM,GACHR,EAAKb,UAAUqB,EACnB,GACD,CACCxB,cACAyB,SAAUnB,MAiDKoB,GA9CM,MACzB,MAAMd,EAAaC,EAAU,CACzB,mBACAd,EAAOe,IACPd,EACAC,IAEJ,OAAOc,EAAQH,EAAY,CAAEV,gBAAeC,WAAYa,IACpD,IAAIW,GAAS,EACTC,EAAc,IAAOD,GAAS,EAkClC,MAjCA,WACI,IACI,MAAMnB,EAAY,MACd,GAA8B,aAA1BT,EAAOS,UAAUC,KAAqB,CACtC,MAAMD,EAAYT,EAAOS,UAAUE,WAAWmB,KAAMrB,GAAwC,cAA1BA,EAAUG,OAAOF,MACrD,QAA1BD,EAAUG,OAAOF,MACrB,OAAKD,EAEEA,EAAUsB,MADN/B,EAAOS,SAEtB,CACA,OAAOT,EAAOS,SACjB,EATiB,IAUVoB,YAAaG,SAAuBvB,EAAUwB,UAAU,CAC5DC,OAAQ,CAAC,YACT,MAAAC,CAAOC,GACH,IAAKR,EACD,OACJ,MAAMT,EAAckB,EAAYD,EAAKE,QAAQC,QAC7CtB,EAAKd,cAAcgB,EAAaX,GAChCA,EAAkBW,CACtB,EACA,OAAAf,CAAQoC,GACJvB,EAAKb,UAAUoC,EACnB,IAEJX,EAAcG,EACTJ,GACDC,GACR,CACA,MAAOJ,GACHrB,IAAUqB,EACd,CACH,EAhCD,GAiCO,IAAMI,OAGsBY,EAC/C","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{getAction as t}from"../../utils/getAction.js";import{observe as n}from"../../utils/observe.js";import{poll as r}from"../../utils/poll.js";import{stringify as o}from"../../utils/stringify.js";import{getBlock as e}from"./getBlock.js";function c(c,{blockTag:a=c.experimental_blockTag??"latest",emitMissed:l=!1,emitOnBegin:s=!1,onBlock:i,onError:u,includeTransactions:p,poll:b,pollingInterval:m=c.pollingInterval}){const k=void 0!==b?b:"webSocket"!==c.transport.type&&"ipc"!==c.transport.type&&("fallback"!==c.transport.type||"webSocket"!==c.transport.transports[0].config.type&&"ipc"!==c.transport.transports[0].config.type),f=p??!1;let g;return k?(()=>{const p=o(["watchBlocks",c.uid,a,l,s,f,m]);return n(p,{onBlock:i,onError:u},n=>r(async()=>{try{const r=await t(c,e,"getBlock")({blockTag:a,includeTransactions:f});if(null!==r.number&&null!=g?.number){if(r.number===g.number)return;if(r.number-g.number>1&&l)for(let o=g?.number+1n;o<r.number;o++){const r=await t(c,e,"getBlock")({blockNumber:o,includeTransactions:f});n.onBlock(r,g),g=r}}(null==g?.number||"pending"===a&&null==r?.number||null!==r.number&&r.number>g.number)&&(n.onBlock(r,g),g=r)}catch(t){n.onError?.(t)}},{emitOnBegin:s,interval:m}))})():(()=>{let n=!0,r=!0,o=()=>n=!1;return(async()=>{try{s&&t(c,e,"getBlock")({blockTag:a,includeTransactions:f}).then(t=>{n&&r&&(i(t,void 0),r=!1)}).catch(u);const l=(()=>{if("fallback"===c.transport.type){const t=c.transport.transports.find(t=>"webSocket"===t.config.type||"ipc"===t.config.type);return t?t.value:c.transport}return c.transport})(),{unsubscribe:p}=await l.subscribe({params:["newHeads"],async onData(o){if(!n)return;const a=await t(c,e,"getBlock")({blockNumber:o.result?.number,includeTransactions:f}).catch(()=>{});n&&(i(a,g),r=!1,g=a)},onError(t){u?.(t)}});o=p,n||o()}catch(t){u?.(t)}})(),()=>o()})()}export{c as watchBlocks};
2
+ //# sourceMappingURL=watchBlocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchBlocks.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/watchBlocks.js"],"sourcesContent":["import { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlock } from './getBlock.js';\n/**\n * Watches and returns information for incoming blocks.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlocks\n * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/blocks_watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getBlockByNumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlocksParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlocksReturnType}\n *\n * @example\n * import { createPublicClient, watchBlocks, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchBlocks(client, {\n * onBlock: (block) => console.log(block),\n * })\n */\nexport function watchBlocks(client, { blockTag = client.experimental_blockTag ?? 'latest', emitMissed = false, emitOnBegin = false, onBlock, onError, includeTransactions: includeTransactions_, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = (() => {\n if (typeof poll_ !== 'undefined')\n return poll_;\n if (client.transport.type === 'webSocket' ||\n client.transport.type === 'ipc')\n return false;\n if (client.transport.type === 'fallback' &&\n (client.transport.transports[0].config.type === 'webSocket' ||\n client.transport.transports[0].config.type === 'ipc'))\n return false;\n return true;\n })();\n const includeTransactions = includeTransactions_ ?? false;\n let prevBlock;\n const pollBlocks = () => {\n const observerId = stringify([\n 'watchBlocks',\n client.uid,\n blockTag,\n emitMissed,\n emitOnBegin,\n includeTransactions,\n pollingInterval,\n ]);\n return observe(observerId, { onBlock, onError }, (emit) => poll(async () => {\n try {\n const block = await getAction(client, getBlock, 'getBlock')({\n blockTag,\n includeTransactions,\n });\n if (block.number !== null && prevBlock?.number != null) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (block.number === prevBlock.number)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (block.number - prevBlock.number > 1 && emitMissed) {\n for (let i = prevBlock?.number + 1n; i < block.number; i++) {\n const block = (await getAction(client, getBlock, 'getBlock')({\n blockNumber: i,\n includeTransactions,\n }));\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n }\n if (\n // If no previous block exists, emit.\n prevBlock?.number == null ||\n // If the block tag is \"pending\" with no block number, emit.\n (blockTag === 'pending' && block?.number == null) ||\n // If the next block number is greater than the previous block number, emit.\n // We don't want to emit blocks in the past.\n (block.number !== null && block.number > prevBlock.number)) {\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlocks = () => {\n let active = true;\n let emitFetched = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n if (emitOnBegin) {\n getAction(client, getBlock, 'getBlock')({\n blockTag,\n includeTransactions,\n })\n .then((block) => {\n if (!active)\n return;\n if (!emitFetched)\n return;\n onBlock(block, undefined);\n emitFetched = false;\n })\n .catch(onError);\n }\n const transport = (() => {\n if (client.transport.type === 'fallback') {\n const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||\n transport.config.type === 'ipc');\n if (!transport)\n return client.transport;\n return transport.value;\n }\n return client.transport;\n })();\n const { unsubscribe: unsubscribe_ } = await transport.subscribe({\n params: ['newHeads'],\n async onData(data) {\n if (!active)\n return;\n const block = (await getAction(client, getBlock, 'getBlock')({\n blockNumber: data.result?.number,\n includeTransactions,\n }).catch(() => { }));\n if (!active)\n return;\n onBlock(block, prevBlock);\n emitFetched = false;\n prevBlock = block;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return () => unsubscribe();\n };\n return enablePolling ? pollBlocks() : subscribeBlocks();\n}\n//# sourceMappingURL=watchBlocks.js.map"],"names":["watchBlocks","client","blockTag","experimental_blockTag","emitMissed","emitOnBegin","onBlock","onError","includeTransactions","includeTransactions_","poll","poll_","pollingInterval","enablePolling","transport","type","transports","config","prevBlock","observerId","stringify","uid","observe","emit","async","block","getAction","getBlock","number","i","blockNumber","err","interval","pollBlocks","active","emitFetched","unsubscribe","then","undefined","catch","find","value","unsubscribe_","subscribe","params","onData","data","result","error","subscribeBlocks"],"mappings":"+OA8BO,SAASA,EAAYC,GAAQC,SAAEA,EAAWD,EAAOE,uBAAyB,SAAQC,WAAEA,GAAa,EAAKC,YAAEA,GAAc,EAAKC,QAAEA,EAAOC,QAAEA,EAASC,oBAAqBC,EAAsBC,KAAMC,EAAKC,gBAAEA,EAAkBX,EAAOW,kBACnO,MAAMC,OACmB,IAAVF,EACAA,EACmB,cAA1BV,EAAOa,UAAUC,MACS,QAA1Bd,EAAOa,UAAUC,OAES,aAA1Bd,EAAOa,UAAUC,MAC+B,cAA/Cd,EAAOa,UAAUE,WAAW,GAAGC,OAAOF,MACY,QAA/Cd,EAAOa,UAAUE,WAAW,GAAGC,OAAOF,MAI5CP,EAAsBC,IAAwB,EACpD,IAAIS,EAmHJ,OAAOL,EAlHY,MACf,MAAMM,EAAaC,EAAU,CACzB,cACAnB,EAAOoB,IACPnB,EACAE,EACAC,EACAG,EACAI,IAEJ,OAAOU,EAAQH,EAAY,CAAEb,UAASC,WAAYgB,GAASb,EAAKc,UAC5D,IACI,MAAMC,QAAcC,EAAUzB,EAAQ0B,EAAU,WAA5BD,CAAwC,CACxDxB,WACAM,wBAEJ,GAAqB,OAAjBiB,EAAMG,QAAwC,MAArBV,GAAWU,OAAgB,CAGpD,GAAIH,EAAMG,SAAWV,EAAUU,OAC3B,OAGJ,GAAIH,EAAMG,OAASV,EAAUU,OAAS,GAAKxB,EACvC,IAAK,IAAIyB,EAAIX,GAAWU,OAAS,GAAIC,EAAIJ,EAAMG,OAAQC,IAAK,CACxD,MAAMJ,QAAeC,EAAUzB,EAAQ0B,EAAU,WAA5BD,CAAwC,CACzDI,YAAaD,EACbrB,wBAEJe,EAAKjB,QAAQmB,EAAOP,GACpBA,EAAYO,CAChB,CAER,EAGqB,MAArBP,GAAWU,QAEO,YAAb1B,GAA2C,MAAjBuB,GAAOG,QAGhB,OAAjBH,EAAMG,QAAmBH,EAAMG,OAASV,EAAUU,UACnDL,EAAKjB,QAAQmB,EAAOP,GACpBA,EAAYO,EAEpB,CACA,MAAOM,GACHR,EAAKhB,UAAUwB,EACnB,GACD,CACC1B,cACA2B,SAAUpB,MA+DKqB,GA5DC,MACpB,IAAIC,GAAS,EACTC,GAAc,EACdC,EAAc,IAAOF,GAAS,EAuDlC,MAtDA,WACI,IACQ7B,GACAqB,EAAUzB,EAAQ0B,EAAU,WAA5BD,CAAwC,CACpCxB,WACAM,wBAEC6B,KAAMZ,IACFS,GAEAC,IAEL7B,EAAQmB,OAAOa,GACfH,GAAc,KAEbI,MAAMhC,GAEf,MAAMO,EAAY,MACd,GAA8B,aAA1Bb,EAAOa,UAAUC,KAAqB,CACtC,MAAMD,EAAYb,EAAOa,UAAUE,WAAWwB,KAAM1B,GAAwC,cAA1BA,EAAUG,OAAOF,MACrD,QAA1BD,EAAUG,OAAOF,MACrB,OAAKD,EAEEA,EAAU2B,MADNxC,EAAOa,SAEtB,CACA,OAAOb,EAAOa,SACjB,EATiB,IAUVsB,YAAaM,SAAuB5B,EAAU6B,UAAU,CAC5DC,OAAQ,CAAC,YACT,YAAMC,CAAOC,GACT,IAAKZ,EACD,OACJ,MAAMT,QAAeC,EAAUzB,EAAQ0B,EAAU,WAA5BD,CAAwC,CACzDI,YAAagB,EAAKC,QAAQnB,OAC1BpB,wBACD+B,MAAM,QACJL,IAEL5B,EAAQmB,EAAOP,GACfiB,GAAc,EACdjB,EAAYO,EAChB,EACA,OAAAlB,CAAQyC,GACJzC,IAAUyC,EACd,IAEJZ,EAAcM,EACTR,GACDE,GACR,CACA,MAAOL,GACHxB,IAAUwB,EACd,CACH,EArDD,GAsDO,IAAMK,KAEqBa,EAC1C","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{DecodeLogDataMismatch as t,DecodeLogTopicsMismatch as r}from"../../errors/abi.js";import{InvalidInputRpcError as o}from"../../errors/rpc.js";import{decodeEventLog as e}from"../../utils/abi/decodeEventLog.js";import{encodeEventTopics as n}from"../../utils/abi/encodeEventTopics.js";import{formatLog as s}from"../../utils/formatters/log.js";import{getAction as a}from"../../utils/getAction.js";import{observe as i}from"../../utils/observe.js";import{poll as c}from"../../utils/poll.js";import{stringify as l}from"../../utils/stringify.js";import{createContractEventFilter as p}from"./createContractEventFilter.js";import{getBlockNumber as m}from"./getBlockNumber.js";import{getContractEvents as f}from"./getContractEvents.js";import{getFilterChanges as g}from"./getFilterChanges.js";import{uninstallFilter as u}from"./uninstallFilter.js";function b(b,v){const{abi:d,address:y,args:j,batch:E=!0,eventName:k,fromBlock:w,onError:h,onLogs:N,poll:C,pollingInterval:L=b.pollingInterval,strict:B}=v;return(void 0!==C?C:"bigint"==typeof w||"webSocket"!==b.transport.type&&"ipc"!==b.transport.type&&("fallback"!==b.transport.type||"webSocket"!==b.transport.transports[0].config.type&&"ipc"!==b.transport.transports[0].config.type))?(()=>{const t=B??!1,r=l(["watchContractEvent",y,j,E,b.uid,k,L,t,w]);return i(r,{onLogs:N,onError:h},r=>{let e,n;void 0!==w&&(e=w-1n);let s=!1;const i=c(async()=>{if(s)try{let o;if(n)o=await a(b,g,"getFilterChanges")({filter:n});else{const r=await a(b,m,"getBlockNumber")({});o=e&&e<r?await a(b,f,"getContractEvents")({abi:d,address:y,args:j,eventName:k,fromBlock:e+1n,toBlock:r,strict:t}):[],e=r}if(0===o.length)return;if(E)r.onLogs(o);else for(const t of o)r.onLogs([t])}catch(t){n&&t instanceof o&&(s=!1),r.onError?.(t)}else{try{n=await a(b,p,"createContractEventFilter")({abi:d,address:y,args:j,eventName:k,strict:t,fromBlock:w})}catch{}s=!0}},{emitOnBegin:!0,interval:L});return async()=>{n&&await a(b,u,"uninstallFilter")({filter:n}),i()}})})():(()=>{const o=B??!1,a=l(["watchContractEvent",y,j,E,b.uid,k,L,o]);let c=!0,p=()=>c=!1;return i(a,{onLogs:N,onError:h},o=>((async()=>{try{const a=(()=>{if("fallback"===b.transport.type){const t=b.transport.transports.find(t=>"webSocket"===t.config.type||"ipc"===t.config.type);return t?t.value:b.transport}return b.transport})(),i=k?n({abi:d,eventName:k,args:j}):[],{unsubscribe:l}=await a.subscribe({params:["logs",{address:y,topics:i}],onData(n){if(!c)return;const a=n.result;try{const{eventName:t,args:r}=e({abi:d,data:a.data,topics:a.topics,strict:B}),n=s(a,{args:r,eventName:t});o.onLogs([n])}catch(e){let n,i;if(e instanceof t||e instanceof r){if(B)return;n=e.abiItem.name,i=e.abiItem.inputs?.some(t=>!("name"in t&&t.name))}const c=s(a,{args:i?[]:{},eventName:n});o.onLogs([c])}},onError(t){o.onError?.(t)}});p=l,c||p()}catch(t){h?.(t)}})(),()=>p()))})()}export{b as watchContractEvent};
2
+ //# sourceMappingURL=watchContractEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchContractEvent.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/watchContractEvent.js"],"sourcesContent":["import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { InvalidInputRpcError } from '../../errors/rpc.js';\nimport { decodeEventLog } from '../../utils/abi/decodeEventLog.js';\nimport { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js';\nimport { formatLog } from '../../utils/formatters/log.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { createContractEventFilter } from './createContractEventFilter.js';\nimport { getBlockNumber } from './getBlockNumber.js';\nimport { getContractEvents, } from './getContractEvents.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns emitted contract event logs.\n *\n * - Docs: https://viem.sh/docs/contract/watchContractEvent\n *\n * This Action will batch up all the event logs found within the [`pollingInterval`](https://viem.sh/docs/contract/watchContractEvent#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/contract/watchContractEvent#onLogs).\n *\n * `watchContractEvent` will attempt to create an [Event Filter](https://viem.sh/docs/contract/createContractEventFilter) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchContractEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchContractEventParameters}\n * @returns A function that can be invoked to stop watching for new event logs. {@link WatchContractEventReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchContractEvent } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchContractEvent(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['event Transfer(address indexed from, address indexed to, uint256 value)']),\n * eventName: 'Transfer',\n * args: { from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b' },\n * onLogs: (logs) => console.log(logs),\n * })\n */\nexport function watchContractEvent(client, parameters) {\n const { abi, address, args, batch = true, eventName, fromBlock, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, } = parameters;\n const enablePolling = (() => {\n if (typeof poll_ !== 'undefined')\n return poll_;\n if (typeof fromBlock === 'bigint')\n return true;\n if (client.transport.type === 'webSocket' ||\n client.transport.type === 'ipc')\n return false;\n if (client.transport.type === 'fallback' &&\n (client.transport.transports[0].config.type === 'webSocket' ||\n client.transport.transports[0].config.type === 'ipc'))\n return false;\n return true;\n })();\n const pollContractEvent = () => {\n const strict = strict_ ?? false;\n const observerId = stringify([\n 'watchContractEvent',\n address,\n args,\n batch,\n client.uid,\n eventName,\n pollingInterval,\n strict,\n fromBlock,\n ]);\n return observe(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n if (fromBlock !== undefined)\n previousBlockNumber = fromBlock - 1n;\n let filter;\n let initialized = false;\n const unwatch = poll(async () => {\n if (!initialized) {\n try {\n filter = (await getAction(client, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n args: args,\n eventName: eventName,\n strict: strict,\n fromBlock,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await getAction(client, getFilterChanges, 'getFilterChanges')({ filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await getAction(client, getBlockNumber, 'getBlockNumber')({});\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber < blockNumber) {\n logs = await getAction(client, getContractEvents, 'getContractEvents')({\n abi,\n address,\n args,\n eventName,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n strict,\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n for (const log of logs)\n emit.onLogs([log]);\n }\n catch (err) {\n // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.\n // Reinitialize the filter when this occurs\n if (filter && err instanceof InvalidInputRpcError)\n initialized = false;\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await getAction(client, uninstallFilter, 'uninstallFilter')({ filter });\n unwatch();\n };\n });\n };\n const subscribeContractEvent = () => {\n const strict = strict_ ?? false;\n const observerId = stringify([\n 'watchContractEvent',\n address,\n args,\n batch,\n client.uid,\n eventName,\n pollingInterval,\n strict,\n ]);\n let active = true;\n let unsubscribe = () => (active = false);\n return observe(observerId, { onLogs, onError }, (emit) => {\n ;\n (async () => {\n try {\n const transport = (() => {\n if (client.transport.type === 'fallback') {\n const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||\n transport.config.type === 'ipc');\n if (!transport)\n return client.transport;\n return transport.value;\n }\n return client.transport;\n })();\n const topics = eventName\n ? encodeEventTopics({\n abi: abi,\n eventName: eventName,\n args,\n })\n : [];\n const { unsubscribe: unsubscribe_ } = await transport.subscribe({\n params: ['logs', { address, topics }],\n onData(data) {\n if (!active)\n return;\n const log = data.result;\n try {\n const { eventName, args } = decodeEventLog({\n abi: abi,\n data: log.data,\n topics: log.topics,\n strict: strict_,\n });\n const formatted = formatLog(log, {\n args,\n eventName: eventName,\n });\n emit.onLogs([formatted]);\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict_)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n const formatted = formatLog(log, {\n args: isUnnamed ? [] : {},\n eventName,\n });\n emit.onLogs([formatted]);\n }\n },\n onError(error) {\n emit.onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return () => unsubscribe();\n });\n };\n return enablePolling ? pollContractEvent() : subscribeContractEvent();\n}\n//# sourceMappingURL=watchContractEvent.js.map"],"names":["watchContractEvent","client","parameters","abi","address","args","batch","eventName","fromBlock","onError","onLogs","poll","poll_","pollingInterval","strict","strict_","transport","type","transports","config","observerId","stringify","uid","observe","emit","previousBlockNumber","filter","undefined","initialized","unwatch","async","logs","getAction","getFilterChanges","blockNumber","getBlockNumber","getContractEvents","toBlock","length","log","err","InvalidInputRpcError","createContractEventFilter","emitOnBegin","interval","uninstallFilter","pollContractEvent","active","unsubscribe","find","value","topics","encodeEventTopics","unsubscribe_","subscribe","params","onData","data","result","decodeEventLog","formatted","formatLog","isUnnamed","DecodeLogDataMismatch","DecodeLogTopicsMismatch","abiItem","name","inputs","some","x","error","subscribeContractEvent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{DecodeLogDataMismatch as t,DecodeLogTopicsMismatch as r}from"../../errors/abi.js";import{InvalidInputRpcError as e}from"../../errors/rpc.js";import{decodeEventLog as o}from"../../utils/abi/decodeEventLog.js";import{encodeEventTopics as s}from"../../utils/abi/encodeEventTopics.js";import{formatLog as n}from"../../utils/formatters/log.js";import{getAction as i}from"../../utils/getAction.js";import{observe as a}from"../../utils/observe.js";import{poll as c}from"../../utils/poll.js";import{stringify as l}from"../../utils/stringify.js";import{createEventFilter as p}from"./createEventFilter.js";import{getBlockNumber as m}from"./getBlockNumber.js";import{getFilterChanges as f}from"./getFilterChanges.js";import{getLogs as g}from"./getLogs.js";import{uninstallFilter as u}from"./uninstallFilter.js";function v(v,{address:b,args:d,batch:y=!0,event:j,events:k,fromBlock:w,onError:h,onLogs:E,poll:B,pollingInterval:L=v.pollingInterval,strict:F}){const N=void 0!==B?B:"bigint"==typeof w||"webSocket"!==v.transport.type&&"ipc"!==v.transport.type&&("fallback"!==v.transport.type||"webSocket"!==v.transport.transports[0].config.type&&"ipc"!==v.transport.transports[0].config.type),I=F??!1;return N?(()=>{const t=l(["watchEvent",b,d,y,v.uid,j,L,w]);return a(t,{onLogs:E,onError:h},t=>{let r,o;void 0!==w&&(r=w-1n);let s=!1;const n=c(async()=>{if(s)try{let e;if(o)e=await i(v,f,"getFilterChanges")({filter:o});else{const t=await i(v,m,"getBlockNumber")({});e=r&&r!==t?await i(v,g,"getLogs")({address:b,args:d,event:j,events:k,fromBlock:r+1n,toBlock:t}):[],r=t}if(0===e.length)return;if(y)t.onLogs(e);else for(const r of e)t.onLogs([r])}catch(r){o&&r instanceof e&&(s=!1),t.onError?.(r)}else{try{o=await i(v,p,"createEventFilter")({address:b,args:d,event:j,events:k,strict:I,fromBlock:w})}catch{}s=!0}},{emitOnBegin:!0,interval:L});return async()=>{o&&await i(v,u,"uninstallFilter")({filter:o}),n()}})})():(()=>{let e=!0,i=()=>e=!1;return(async()=>{try{const a=(()=>{if("fallback"===v.transport.type){const t=v.transport.transports.find(t=>"webSocket"===t.config.type||"ipc"===t.config.type);return t?t.value:v.transport}return v.transport})(),c=k??(j?[j]:void 0);let l=[];if(c){const t=c.flatMap(t=>s({abi:[t],eventName:t.name,args:d}));l=[t],j&&(l=l[0])}const{unsubscribe:p}=await a.subscribe({params:["logs",{address:b,topics:l}],onData(s){if(!e)return;const i=s.result;try{const{eventName:t,args:r}=o({abi:c??[],data:i.data,topics:i.topics,strict:I}),e=n(i,{args:r,eventName:t});E([e])}catch(e){let o,s;if(e instanceof t||e instanceof r){if(F)return;o=e.abiItem.name,s=e.abiItem.inputs?.some(t=>!("name"in t&&t.name))}const a=n(i,{args:s?[]:{},eventName:o});E([a])}},onError(t){h?.(t)}});i=p,e||i()}catch(t){h?.(t)}})(),()=>i()})()}export{v as watchEvent};
2
+ //# sourceMappingURL=watchEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchEvent.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/watchEvent.js"],"sourcesContent":["import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { InvalidInputRpcError } from '../../errors/rpc.js';\nimport { decodeEventLog } from '../../utils/abi/decodeEventLog.js';\nimport { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js';\nimport { formatLog } from '../../utils/formatters/log.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { createEventFilter, } from './createEventFilter.js';\nimport { getBlockNumber } from './getBlockNumber.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { getLogs } from './getLogs.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns emitted [Event Logs](https://viem.sh/docs/glossary/terms#event-log).\n *\n * - Docs: https://viem.sh/docs/actions/public/watchEvent\n * - JSON-RPC Methods:\n * - **RPC Provider supports `eth_newFilter`:**\n * - Calls [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter) to create a filter (called on initialize).\n * - On a polling interval, it will call [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges).\n * - **RPC Provider does not support `eth_newFilter`:**\n * - Calls [`eth_getLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs) for each block between the polling interval.\n *\n * This Action will batch up all the Event Logs found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchEvent#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/actions/public/watchEvent#onLogs).\n *\n * `watchEvent` will attempt to create an [Event Filter](https://viem.sh/docs/actions/public/createEventFilter) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchEventParameters}\n * @returns A function that can be invoked to stop watching for new Event Logs. {@link WatchEventReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchEvent } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchEvent(client, {\n * onLogs: (logs) => console.log(logs),\n * })\n */\nexport function watchEvent(client, { address, args, batch = true, event, events, fromBlock, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const enablePolling = (() => {\n if (typeof poll_ !== 'undefined')\n return poll_;\n if (typeof fromBlock === 'bigint')\n return true;\n if (client.transport.type === 'webSocket' ||\n client.transport.type === 'ipc')\n return false;\n if (client.transport.type === 'fallback' &&\n (client.transport.transports[0].config.type === 'webSocket' ||\n client.transport.transports[0].config.type === 'ipc'))\n return false;\n return true;\n })();\n const strict = strict_ ?? false;\n const pollEvent = () => {\n const observerId = stringify([\n 'watchEvent',\n address,\n args,\n batch,\n client.uid,\n event,\n pollingInterval,\n fromBlock,\n ]);\n return observe(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n if (fromBlock !== undefined)\n previousBlockNumber = fromBlock - 1n;\n let filter;\n let initialized = false;\n const unwatch = poll(async () => {\n if (!initialized) {\n try {\n filter = (await getAction(client, createEventFilter, 'createEventFilter')({\n address,\n args,\n event: event,\n events,\n strict,\n fromBlock,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await getAction(client, getFilterChanges, 'getFilterChanges')({ filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await getAction(client, getBlockNumber, 'getBlockNumber')({});\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await getAction(client, getLogs, 'getLogs')({\n address,\n args,\n event: event,\n events,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n for (const log of logs)\n emit.onLogs([log]);\n }\n catch (err) {\n // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.\n // Reinitialize the filter when this occurs\n if (filter && err instanceof InvalidInputRpcError)\n initialized = false;\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await getAction(client, uninstallFilter, 'uninstallFilter')({ filter });\n unwatch();\n };\n });\n };\n const subscribeEvent = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const transport = (() => {\n if (client.transport.type === 'fallback') {\n const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||\n transport.config.type === 'ipc');\n if (!transport)\n return client.transport;\n return transport.value;\n }\n return client.transport;\n })();\n const events_ = events ?? (event ? [event] : undefined);\n let topics = [];\n if (events_) {\n const encoded = events_.flatMap((event) => encodeEventTopics({\n abi: [event],\n eventName: event.name,\n args,\n }));\n // TODO: Clean up type casting\n topics = [encoded];\n if (event)\n topics = topics[0];\n }\n const { unsubscribe: unsubscribe_ } = await transport.subscribe({\n params: ['logs', { address, topics }],\n onData(data) {\n if (!active)\n return;\n const log = data.result;\n try {\n const { eventName, args } = decodeEventLog({\n abi: events_ ?? [],\n data: log.data,\n topics: log.topics,\n strict,\n });\n const formatted = formatLog(log, { args, eventName });\n onLogs([formatted]);\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict_)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n const formatted = formatLog(log, {\n args: isUnnamed ? [] : {},\n eventName,\n });\n onLogs([formatted]);\n }\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return () => unsubscribe();\n };\n return enablePolling ? pollEvent() : subscribeEvent();\n}\n//# sourceMappingURL=watchEvent.js.map"],"names":["watchEvent","client","address","args","batch","event","events","fromBlock","onError","onLogs","poll","poll_","pollingInterval","strict","strict_","enablePolling","transport","type","transports","config","observerId","stringify","uid","observe","emit","previousBlockNumber","filter","undefined","initialized","unwatch","async","logs","getAction","getFilterChanges","blockNumber","getBlockNumber","getLogs","toBlock","length","log","err","InvalidInputRpcError","createEventFilter","emitOnBegin","interval","uninstallFilter","pollEvent","active","unsubscribe","find","value","events_","topics","encoded","flatMap","encodeEventTopics","abi","eventName","name","unsubscribe_","subscribe","params","onData","data","result","decodeEventLog","formatted","formatLog","isUnnamed","DecodeLogDataMismatch","DecodeLogTopicsMismatch","abiItem","inputs","some","x","error","subscribeEvent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{getAction as t}from"../../utils/getAction.js";import{observe as r}from"../../utils/observe.js";import{poll as n}from"../../utils/poll.js";import{stringify as o}from"../../utils/stringify.js";import{createPendingTransactionFilter as i}from"./createPendingTransactionFilter.js";import{getFilterChanges as s}from"./getFilterChanges.js";import{uninstallFilter as e}from"./uninstallFilter.js";function a(a,{batch:c=!0,onError:l,onTransactions:p,poll:u,pollingInterval:f=a.pollingInterval}){return(void 0!==u?u:"webSocket"!==a.transport.type&&"ipc"!==a.transport.type)?(()=>{const u=o(["watchPendingTransactions",a.uid,c,f]);return r(u,{onTransactions:p,onError:l},r=>{let o;const l=n(async()=>{try{if(!o)try{return void(o=await t(a,i,"createPendingTransactionFilter")({}))}catch(t){throw l(),t}const n=await t(a,s,"getFilterChanges")({filter:o});if(0===n.length)return;if(c)r.onTransactions(n);else for(const t of n)r.onTransactions([t])}catch(t){r.onError?.(t)}},{emitOnBegin:!0,interval:f});return async()=>{o&&await t(a,e,"uninstallFilter")({filter:o}),l()}})})():(()=>{let t=!0,r=()=>t=!1;return(async()=>{try{const{unsubscribe:n}=await a.transport.subscribe({params:["newPendingTransactions"],onData(r){if(!t)return;const n=r.result;p([n])},onError(t){l?.(t)}});r=n,t||r()}catch(t){l?.(t)}})(),()=>r()})()}export{a as watchPendingTransactions};
2
+ //# sourceMappingURL=watchPendingTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchPendingTransactions.js","sources":["../../../../../../../node_modules/viem/_esm/actions/public/watchPendingTransactions.js"],"sourcesContent":["import { getAction } from '../../utils/getAction.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { createPendingTransactionFilter } from './createPendingTransactionFilter.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns pending transaction hashes.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchPendingTransactions\n * - JSON-RPC Methods:\n * - When `poll: true`\n * - Calls [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) to initialize the filter.\n * - Calls [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getFilterChanges) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newPendingTransactions\"` event.\n *\n * This Action will batch up all the pending transactions found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchPendingTransactions#pollinginterval-optional), and invoke them via [`onTransactions`](https://viem.sh/docs/actions/public/watchPendingTransactions#ontransactions).\n *\n * @param client - Client to use\n * @param parameters - {@link WatchPendingTransactionsParameters}\n * @returns A function that can be invoked to stop watching for new pending transaction hashes. {@link WatchPendingTransactionsReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchPendingTransactions } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = await watchPendingTransactions(client, {\n * onTransactions: (hashes) => console.log(hashes),\n * })\n */\nexport function watchPendingTransactions(client, { batch = true, onError, onTransactions, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined'\n ? poll_\n : client.transport.type !== 'webSocket' && client.transport.type !== 'ipc';\n const pollPendingTransactions = () => {\n const observerId = stringify([\n 'watchPendingTransactions',\n client.uid,\n batch,\n pollingInterval,\n ]);\n return observe(observerId, { onTransactions, onError }, (emit) => {\n let filter;\n const unwatch = poll(async () => {\n try {\n if (!filter) {\n try {\n filter = await getAction(client, createPendingTransactionFilter, 'createPendingTransactionFilter')({});\n return;\n }\n catch (err) {\n unwatch();\n throw err;\n }\n }\n const hashes = await getAction(client, getFilterChanges, 'getFilterChanges')({ filter });\n if (hashes.length === 0)\n return;\n if (batch)\n emit.onTransactions(hashes);\n else\n for (const hash of hashes)\n emit.onTransactions([hash]);\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await getAction(client, uninstallFilter, 'uninstallFilter')({ filter });\n unwatch();\n };\n });\n };\n const subscribePendingTransactions = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newPendingTransactions'],\n onData(data) {\n if (!active)\n return;\n const transaction = data.result;\n onTransactions([transaction]);\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return () => unsubscribe();\n };\n return enablePolling\n ? pollPendingTransactions()\n : subscribePendingTransactions();\n}\n//# sourceMappingURL=watchPendingTransactions.js.map"],"names":["watchPendingTransactions","client","batch","onError","onTransactions","poll","poll_","pollingInterval","transport","type","observerId","stringify","uid","observe","emit","filter","unwatch","async","getAction","createPendingTransactionFilter","err","hashes","getFilterChanges","length","hash","emitOnBegin","interval","uninstallFilter","pollPendingTransactions","active","unsubscribe","unsubscribe_","subscribe","params","onData","data","transaction","result","error","subscribePendingTransactions"],"mappings":"2YAoCO,SAASA,EAAyBC,GAAQC,MAAEA,GAAQ,EAAIC,QAAEA,EAAOC,eAAEA,EAAgBC,KAAMC,EAAKC,gBAAEA,EAAkBN,EAAOM,kBA2E5H,YA1EuC,IAAVD,EACvBA,EAC0B,cAA1BL,EAAOO,UAAUC,MAAkD,QAA1BR,EAAOO,UAAUC,MAChC,MAC5B,MAAMC,EAAaC,EAAU,CACzB,2BACAV,EAAOW,IACPV,EACAK,IAEJ,OAAOM,EAAQH,EAAY,CAAEN,iBAAgBD,WAAYW,IACrD,IAAIC,EACJ,MAAMC,EAAUX,EAAKY,UACjB,IACI,IAAKF,EACD,IAEI,YADAA,QAAeG,EAAUjB,EAAQkB,EAAgC,iCAAlDD,CAAoF,IAEvG,CACA,MAAOE,GAEH,MADAJ,IACMI,CACV,CAEJ,MAAMC,QAAeH,EAAUjB,EAAQqB,EAAkB,mBAApCJ,CAAwD,CAAEH,WAC/E,GAAsB,IAAlBM,EAAOE,OACP,OACJ,GAAIrB,EACAY,EAAKV,eAAeiB,QAEpB,IAAK,MAAMG,KAAQH,EACfP,EAAKV,eAAe,CAACoB,GACjC,CACA,MAAOJ,GACHN,EAAKX,UAAUiB,EACnB,GACD,CACCK,aAAa,EACbC,SAAUnB,IAEd,OAAOU,UACCF,SACMG,EAAUjB,EAAQ0B,EAAiB,kBAAnCT,CAAsD,CAAEH,WAClEC,QAgCNY,GA5B+B,MACjC,IAAIC,GAAS,EACTC,EAAc,IAAOD,GAAS,EAuBlC,MAtBA,WACI,IACI,MAAQC,YAAaC,SAAuB9B,EAAOO,UAAUwB,UAAU,CACnEC,OAAQ,CAAC,0BACT,MAAAC,CAAOC,GACH,IAAKN,EACD,OACJ,MAAMO,EAAcD,EAAKE,OACzBjC,EAAe,CAACgC,GACpB,EACA,OAAAjC,CAAQmC,GACJnC,IAAUmC,EACd,IAEJR,EAAcC,EACTF,GACDC,GACR,CACA,MAAOV,GACHjB,IAAUiB,EACd,CACH,EArBD,GAsBO,IAAMU,KAIXS,EACV","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{hashMessage as s}from"../../utils/signature/hashMessage.js";import{parseSiweMessage as e}from"../../utils/siwe/parseSiweMessage.js";import{validateSiweMessage as r}from"../../utils/siwe/validateSiweMessage.js";import{verifyHash as i}from"../public/verifyHash.js";async function a(a,t){const{address:n,domain:m,message:o,nonce:d,scheme:u,signature:c,time:f=new Date,...g}=t,h=e(o);if(!h.address)return!1;if(!r({address:n,domain:m,message:h,nonce:d,scheme:u,time:f}))return!1;const p=s(o);return i(a,{address:h.address,hash:p,signature:c,...g})}export{a as verifySiweMessage};
2
+ //# sourceMappingURL=verifySiweMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifySiweMessage.js","sources":["../../../../../../../node_modules/viem/_esm/actions/siwe/verifySiweMessage.js"],"sourcesContent":["import { hashMessage } from '../../utils/signature/hashMessage.js';\nimport { parseSiweMessage } from '../../utils/siwe/parseSiweMessage.js';\nimport { validateSiweMessage, } from '../../utils/siwe/validateSiweMessage.js';\nimport { verifyHash, } from '../public/verifyHash.js';\n/**\n * Verifies [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) formatted message was signed.\n *\n * Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).\n *\n * - Docs {@link https://viem.sh/docs/siwe/actions/verifySiweMessage}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifySiweMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifySiweMessageReturnType}\n */\nexport async function verifySiweMessage(client, parameters) {\n const { address, domain, message, nonce, scheme, signature, time = new Date(), ...callRequest } = parameters;\n const parsed = parseSiweMessage(message);\n if (!parsed.address)\n return false;\n const isValid = validateSiweMessage({\n address,\n domain,\n message: parsed,\n nonce,\n scheme,\n time,\n });\n if (!isValid)\n return false;\n const hash = hashMessage(message);\n return verifyHash(client, {\n address: parsed.address,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifySiweMessage.js.map"],"names":["async","verifySiweMessage","client","parameters","address","domain","message","nonce","scheme","signature","time","Date","callRequest","parsed","parseSiweMessage","validateSiweMessage","hash","hashMessage","verifyHash"],"mappings":"8QAeOA,eAAeC,EAAkBC,EAAQC,GAC5C,MAAMC,QAAEA,EAAOC,OAAEA,EAAMC,QAAEA,EAAOC,MAAEA,EAAKC,OAAEA,EAAMC,UAAEA,EAASC,KAAEA,EAAO,IAAIC,QAAWC,GAAgBT,EAC5FU,EAASC,EAAiBR,GAChC,IAAKO,EAAOT,QACR,OAAO,EASX,IARgBW,EAAoB,CAChCX,UACAC,SACAC,QAASO,EACTN,QACAC,SACAE,SAGA,OAAO,EACX,MAAMM,EAAOC,EAAYX,GACzB,OAAOY,EAAWhB,EAAQ,CACtBE,QAASS,EAAOT,QAChBY,OACAP,eACGG,GAEX","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{parseAccount as e}from"../../accounts/utils/parseAccount.js";import{internal_estimateFeesPerGas as s}from"../public/estimateFeesPerGas.js";import{estimateGas as i}from"../public/estimateGas.js";import{getBlock as t}from"../public/getBlock.js";import{getTransactionCount as o}from"../public/getTransactionCount.js";import{MaxFeePerGasTooLowError as a,Eip1559FeesNotSupportedError as r}from"../../errors/fee.js";import{blobsToCommitments as n}from"../../utils/blob/blobsToCommitments.js";import{blobsToProofs as c}from"../../utils/blob/blobsToProofs.js";import{commitmentsToVersionedHashes as m}from"../../utils/blob/commitmentsToVersionedHashes.js";import{toBlobSidecars as d}from"../../utils/blob/toBlobSidecars.js";import{getAction as l}from"../../utils/getAction.js";import{assertRequest as u}from"../../utils/transaction/assertRequest.js";import{getTransactionType as f}from"../../utils/transaction/getTransactionType.js";import{getChainId as b}from"../public/getChainId.js";const p=["blobVersionedHashes","chainId","fees","gas","nonce","type"],g=new Map;async function y(y,P){const{account:h=y.account,blobs:w,chain:G,gas:j,kzg:x,nonce:F,nonceManager:v,parameters:k=p,type:T}=P,I=h?e(h):h,C={...P,...I?{from:I?.address}:{}};let H,V;async function q(){return H||(H=await l(y,t,"getBlock")({blockTag:"latest"}),H)}async function z(){if(V)return V;if(G)return G.id;if(void 0!==P.chainId)return P.chainId;const e=await l(y,b,"getChainId")({});return V=e,V}if(k.includes("nonce")&&void 0===F&&I)if(v){const e=await z();C.nonce=await v.consume({address:I.address,chainId:e,client:y})}else C.nonce=await l(y,o,"getTransactionCount")({address:I.address,blockTag:"pending"});if((k.includes("blobVersionedHashes")||k.includes("sidecars"))&&w&&x){const e=n({blobs:w,kzg:x});if(k.includes("blobVersionedHashes")){const s=m({commitments:e,to:"hex"});C.blobVersionedHashes=s}if(k.includes("sidecars")){const s=c({blobs:w,commitments:e,kzg:x}),i=d({blobs:w,commitments:e,proofs:s,to:"hex"});C.sidecars=i}}if(k.includes("chainId")&&(C.chainId=await z()),(k.includes("fees")||k.includes("type"))&&void 0===T)try{C.type=f(C)}catch{let e=g.get(y.uid);if(void 0===e){const s=await q();e="bigint"==typeof s?.baseFeePerGas,g.set(y.uid,e)}C.type=e?"eip1559":"legacy"}if(k.includes("fees"))if("legacy"!==C.type&&"eip2930"!==C.type){if(void 0===C.maxFeePerGas||void 0===C.maxPriorityFeePerGas){const e=await q(),{maxFeePerGas:i,maxPriorityFeePerGas:t}=await s(y,{block:e,chain:G,request:C});if(void 0===P.maxPriorityFeePerGas&&P.maxFeePerGas&&P.maxFeePerGas<t)throw new a({maxPriorityFeePerGas:t});C.maxPriorityFeePerGas=t,C.maxFeePerGas=i}}else{if(void 0!==P.maxFeePerGas||void 0!==P.maxPriorityFeePerGas)throw new r;if(void 0===P.gasPrice){const e=await q(),{gasPrice:i}=await s(y,{block:e,chain:G,request:C,type:"legacy"});C.gasPrice=i}}return k.includes("gas")&&void 0===j&&(C.gas=await l(y,i,"estimateGas")({...C,account:I?{address:I.address,type:"json-rpc"}:I})),u(C),delete C.parameters,C}export{p as defaultParameters,g as eip1559NetworkCache,y as prepareTransactionRequest};
2
+ //# sourceMappingURL=prepareTransactionRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareTransactionRequest.js","sources":["../../../../../../../node_modules/viem/_esm/actions/wallet/prepareTransactionRequest.js"],"sourcesContent":["import { parseAccount, } from '../../accounts/utils/parseAccount.js';\nimport { internal_estimateFeesPerGas, } from '../../actions/public/estimateFeesPerGas.js';\nimport { estimateGas, } from '../../actions/public/estimateGas.js';\nimport { getBlock as getBlock_, } from '../../actions/public/getBlock.js';\nimport { getTransactionCount, } from '../../actions/public/getTransactionCount.js';\nimport { Eip1559FeesNotSupportedError, MaxFeePerGasTooLowError, } from '../../errors/fee.js';\nimport { blobsToCommitments } from '../../utils/blob/blobsToCommitments.js';\nimport { blobsToProofs } from '../../utils/blob/blobsToProofs.js';\nimport { commitmentsToVersionedHashes } from '../../utils/blob/commitmentsToVersionedHashes.js';\nimport { toBlobSidecars } from '../../utils/blob/toBlobSidecars.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\nimport { getTransactionType, } from '../../utils/transaction/getTransactionType.js';\nimport { getChainId as getChainId_ } from '../public/getChainId.js';\nexport const defaultParameters = [\n 'blobVersionedHashes',\n 'chainId',\n 'fees',\n 'gas',\n 'nonce',\n 'type',\n];\n/** @internal */\nexport const eip1559NetworkCache = /*#__PURE__*/ new Map();\n/**\n * Prepares a transaction request for signing.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/prepareTransactionRequest\n *\n * @param args - {@link PrepareTransactionRequestParameters}\n * @returns The transaction request. {@link PrepareTransactionRequestReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { prepareTransactionRequest } from 'viem/actions'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const request = await prepareTransactionRequest(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { prepareTransactionRequest } from 'viem/actions'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const request = await prepareTransactionRequest(client, {\n * to: '0x0000000000000000000000000000000000000000',\n * value: 1n,\n * })\n */\nexport async function prepareTransactionRequest(client, args) {\n const { account: account_ = client.account, blobs, chain, gas, kzg, nonce, nonceManager, parameters = defaultParameters, type, } = args;\n const account = account_ ? parseAccount(account_) : account_;\n const request = { ...args, ...(account ? { from: account?.address } : {}) };\n let block;\n async function getBlock() {\n if (block)\n return block;\n block = await getAction(client, getBlock_, 'getBlock')({ blockTag: 'latest' });\n return block;\n }\n let chainId;\n async function getChainId() {\n if (chainId)\n return chainId;\n if (chain)\n return chain.id;\n if (typeof args.chainId !== 'undefined')\n return args.chainId;\n const chainId_ = await getAction(client, getChainId_, 'getChainId')({});\n chainId = chainId_;\n return chainId;\n }\n if (parameters.includes('nonce') && typeof nonce === 'undefined' && account) {\n if (nonceManager) {\n const chainId = await getChainId();\n request.nonce = await nonceManager.consume({\n address: account.address,\n chainId,\n client,\n });\n }\n else {\n request.nonce = await getAction(client, getTransactionCount, 'getTransactionCount')({\n address: account.address,\n blockTag: 'pending',\n });\n }\n }\n if ((parameters.includes('blobVersionedHashes') ||\n parameters.includes('sidecars')) &&\n blobs &&\n kzg) {\n const commitments = blobsToCommitments({ blobs, kzg });\n if (parameters.includes('blobVersionedHashes')) {\n const versionedHashes = commitmentsToVersionedHashes({\n commitments,\n to: 'hex',\n });\n request.blobVersionedHashes = versionedHashes;\n }\n if (parameters.includes('sidecars')) {\n const proofs = blobsToProofs({ blobs, commitments, kzg });\n const sidecars = toBlobSidecars({\n blobs,\n commitments,\n proofs,\n to: 'hex',\n });\n request.sidecars = sidecars;\n }\n }\n if (parameters.includes('chainId'))\n request.chainId = await getChainId();\n if ((parameters.includes('fees') || parameters.includes('type')) &&\n typeof type === 'undefined') {\n try {\n request.type = getTransactionType(request);\n }\n catch {\n let isEip1559Network = eip1559NetworkCache.get(client.uid);\n if (typeof isEip1559Network === 'undefined') {\n const block = await getBlock();\n isEip1559Network = typeof block?.baseFeePerGas === 'bigint';\n eip1559NetworkCache.set(client.uid, isEip1559Network);\n }\n request.type = isEip1559Network ? 'eip1559' : 'legacy';\n }\n }\n if (parameters.includes('fees')) {\n // TODO(4844): derive blob base fees once https://github.com/ethereum/execution-apis/pull/486 is merged.\n if (request.type !== 'legacy' && request.type !== 'eip2930') {\n // EIP-1559 fees\n if (typeof request.maxFeePerGas === 'undefined' ||\n typeof request.maxPriorityFeePerGas === 'undefined') {\n const block = await getBlock();\n const { maxFeePerGas, maxPriorityFeePerGas } = await internal_estimateFeesPerGas(client, {\n block: block,\n chain,\n request: request,\n });\n if (typeof args.maxPriorityFeePerGas === 'undefined' &&\n args.maxFeePerGas &&\n args.maxFeePerGas < maxPriorityFeePerGas)\n throw new MaxFeePerGasTooLowError({\n maxPriorityFeePerGas,\n });\n request.maxPriorityFeePerGas = maxPriorityFeePerGas;\n request.maxFeePerGas = maxFeePerGas;\n }\n }\n else {\n // Legacy fees\n if (typeof args.maxFeePerGas !== 'undefined' ||\n typeof args.maxPriorityFeePerGas !== 'undefined')\n throw new Eip1559FeesNotSupportedError();\n if (typeof args.gasPrice === 'undefined') {\n const block = await getBlock();\n const { gasPrice: gasPrice_ } = await internal_estimateFeesPerGas(client, {\n block: block,\n chain,\n request: request,\n type: 'legacy',\n });\n request.gasPrice = gasPrice_;\n }\n }\n }\n if (parameters.includes('gas') && typeof gas === 'undefined')\n request.gas = await getAction(client, estimateGas, 'estimateGas')({\n ...request,\n account: account\n ? { address: account.address, type: 'json-rpc' }\n : account,\n });\n assertRequest(request);\n delete request.parameters;\n return request;\n}\n//# sourceMappingURL=prepareTransactionRequest.js.map"],"names":["defaultParameters","eip1559NetworkCache","Map","async","prepareTransactionRequest","client","args","account","account_","blobs","chain","gas","kzg","nonce","nonceManager","parameters","type","parseAccount","request","from","address","block","chainId","getBlock","getAction","getBlock_","blockTag","getChainId","id","chainId_","getChainId_","includes","consume","getTransactionCount","commitments","blobsToCommitments","versionedHashes","commitmentsToVersionedHashes","to","blobVersionedHashes","proofs","blobsToProofs","sidecars","toBlobSidecars","getTransactionType","isEip1559Network","get","uid","baseFeePerGas","set","maxFeePerGas","maxPriorityFeePerGas","internal_estimateFeesPerGas","MaxFeePerGasTooLowError","Eip1559FeesNotSupportedError","gasPrice","gasPrice_","estimateGas","assertRequest"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ async function e(e,{serializedTransaction:n}){return e.request({method:"eth_sendRawTransaction",params:[n]},{retryCount:0})}export{e as sendRawTransaction};
2
+ //# sourceMappingURL=sendRawTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendRawTransaction.js","sources":["../../../../../../../node_modules/viem/_esm/actions/wallet/sendRawTransaction.js"],"sourcesContent":["/**\n * Sends a **signed** transaction to the network\n *\n * - Docs: https://viem.sh/docs/actions/wallet/sendRawTransaction\n * - JSON-RPC Method: [`eth_sendRawTransaction`](https://ethereum.github.io/execution-apis/api-documentation/)\n *\n * @param client - Client to use\n * @param parameters - {@link SendRawTransactionParameters}\n * @returns The transaction hash. {@link SendRawTransactionReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { sendRawTransaction } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * const hash = await sendRawTransaction(client, {\n * serializedTransaction: '0x02f850018203118080825208808080c080a04012522854168b27e5dc3d5839bab5e6b39e1a0ffd343901ce1622e3d64b48f1a04e00902ae0502c4728cbf12156290df99c3ed7de85b1dbfe20b5c36931733a33'\n * })\n */\nexport async function sendRawTransaction(client, { serializedTransaction }) {\n return client.request({\n method: 'eth_sendRawTransaction',\n params: [serializedTransaction],\n }, { retryCount: 0 });\n}\n//# sourceMappingURL=sendRawTransaction.js.map"],"names":["async","sendRawTransaction","client","serializedTransaction","request","method","params","retryCount"],"mappings":"AAwBOA,eAAeC,EAAmBC,GAAQC,sBAAEA,IAC/C,OAAOD,EAAOE,QAAQ,CAClBC,OAAQ,yBACRC,OAAQ,CAACH,IACV,CAAEI,WAAY,GACrB","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{parseAccount as e}from"../accounts/utils/parseAccount.js";import{uid as t}from"../utils/uid.js";function n(n){const{batch:a,chain:c,ccipRead:i,key:o="base",name:r="Base Client",type:l="base"}=n,s=n.experimental_blockTag??("number"==typeof c?.experimental_preconfirmationTime?"pending":void 0),p=c?.blockTime??12e3,u=Math.min(Math.max(Math.floor(p/2),500),4e3),m=n.pollingInterval??u,b=n.cacheTime??m,d=n.account?e(n.account):void 0,{config:h,request:f,value:g}=n.transport({chain:c,pollingInterval:m}),x={account:d,batch:a,cacheTime:b,ccipRead:i,chain:c,key:o,name:r,pollingInterval:m,request:f,transport:{...h,...g},type:l,uid:t(),...s?{experimental_blockTag:s}:{}};return Object.assign(x,{extend:function e(t){return n=>{const a=n(t);for(const e in x)delete a[e];const c={...t,...a};return Object.assign(c,{extend:e(c)})}}(x)})}export{n as createClient};
2
+ //# sourceMappingURL=createClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClient.js","sources":["../../../../../../node_modules/viem/_esm/clients/createClient.js"],"sourcesContent":["import { parseAccount, } from '../accounts/utils/parseAccount.js';\nimport { uid } from '../utils/uid.js';\nexport function createClient(parameters) {\n const { batch, chain, ccipRead, key = 'base', name = 'Base Client', type = 'base', } = parameters;\n const experimental_blockTag = parameters.experimental_blockTag ??\n (typeof chain?.experimental_preconfirmationTime === 'number'\n ? 'pending'\n : undefined);\n const blockTime = chain?.blockTime ?? 12_000;\n const defaultPollingInterval = Math.min(Math.max(Math.floor(blockTime / 2), 500), 4_000);\n const pollingInterval = parameters.pollingInterval ?? defaultPollingInterval;\n const cacheTime = parameters.cacheTime ?? pollingInterval;\n const account = parameters.account\n ? parseAccount(parameters.account)\n : undefined;\n const { config, request, value } = parameters.transport({\n chain,\n pollingInterval,\n });\n const transport = { ...config, ...value };\n const client = {\n account,\n batch,\n cacheTime,\n ccipRead,\n chain,\n key,\n name,\n pollingInterval,\n request,\n transport,\n type,\n uid: uid(),\n ...(experimental_blockTag ? { experimental_blockTag } : {}),\n };\n function extend(base) {\n return (extendFn) => {\n const extended = extendFn(base);\n for (const key in client)\n delete extended[key];\n const combined = { ...base, ...extended };\n return Object.assign(combined, { extend: extend(combined) });\n };\n }\n return Object.assign(client, { extend: extend(client) });\n}\n/**\n * Defines a typed JSON-RPC schema for the client.\n * Note: This is a runtime noop function.\n */\nexport function rpcSchema() {\n return null;\n}\n//# sourceMappingURL=createClient.js.map"],"names":["createClient","parameters","batch","chain","ccipRead","key","name","type","experimental_blockTag","experimental_preconfirmationTime","undefined","blockTime","defaultPollingInterval","Math","min","max","floor","pollingInterval","cacheTime","account","parseAccount","config","request","value","transport","client","uid","Object","assign","extend","base","extendFn","extended","combined"],"mappings":"uGAEO,SAASA,EAAaC,GACzB,MAAMC,MAAEA,EAAKC,MAAEA,EAAKC,SAAEA,EAAQC,IAAEA,EAAM,OAAMC,KAAEA,EAAO,cAAaC,KAAEA,EAAO,QAAYN,EACjFO,EAAwBP,EAAWO,wBACe,iBAA5CL,GAAOM,iCACT,eACAC,GACJC,EAAYR,GAAOQ,WAAa,KAChCC,EAAyBC,KAAKC,IAAID,KAAKE,IAAIF,KAAKG,MAAML,EAAY,GAAI,KAAM,KAC5EM,EAAkBhB,EAAWgB,iBAAmBL,EAChDM,EAAYjB,EAAWiB,WAAaD,EACpCE,EAAUlB,EAAWkB,QACrBC,EAAanB,EAAWkB,cACxBT,GACAW,OAAEA,EAAMC,QAAEA,EAAOC,MAAEA,GAAUtB,EAAWuB,UAAU,CACpDrB,QACAc,oBAGEQ,EAAS,CACXN,UACAjB,QACAgB,YACAd,WACAD,QACAE,MACAC,OACAW,kBACAK,UACAE,UAXc,IAAKH,KAAWE,GAY9BhB,OACAmB,IAAKA,OACDlB,EAAwB,CAAEA,yBAA0B,IAW5D,OAAOmB,OAAOC,OAAOH,EAAQ,CAAEI,OAT/B,SAASA,EAAOC,GACZ,OAAQC,IACJ,MAAMC,EAAWD,EAASD,GAC1B,IAAK,MAAMzB,KAAOoB,SACPO,EAAS3B,GACpB,MAAM4B,EAAW,IAAKH,KAASE,GAC/B,OAAOL,OAAOC,OAAOK,EAAU,CAAEJ,OAAQA,EAAOI,KAExD,CACuCJ,CAAOJ,IAClD","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{createClient as e}from"./createClient.js";import{publicActions as t}from"./decorators/public.js";function i(i){const{key:n="public",name:r="Public Client"}=i;return e({...i,key:n,name:r,type:"publicClient"}).extend(t)}export{i as createPublicClient};
2
+ //# sourceMappingURL=createPublicClient.js.map