viem 2.0.0-beta.9 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +9 -3
  3. package/_cjs/actions/ens/getEnsName.js +4 -2
  4. package/_cjs/actions/ens/getEnsName.js.map +1 -1
  5. package/_cjs/actions/index.js +16 -2
  6. package/_cjs/actions/index.js.map +1 -1
  7. package/_cjs/actions/public/getFilterChanges.js +3 -2
  8. package/_cjs/actions/public/getFilterChanges.js.map +1 -1
  9. package/_cjs/actions/public/getFilterLogs.js +3 -2
  10. package/_cjs/actions/public/getFilterLogs.js.map +1 -1
  11. package/_cjs/actions/public/getLogs.js +3 -2
  12. package/_cjs/actions/public/getLogs.js.map +1 -1
  13. package/_cjs/actions/public/verifyTypedData.js +2 -1
  14. package/_cjs/actions/public/verifyTypedData.js.map +1 -1
  15. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  16. package/_cjs/chains/celo/formatters.js +0 -10
  17. package/_cjs/chains/celo/formatters.js.map +1 -1
  18. package/_cjs/chains/definitions/arbitrumSepolia.js +4 -0
  19. package/_cjs/chains/definitions/arbitrumSepolia.js.map +1 -1
  20. package/_cjs/chains/definitions/astar.js +0 -1
  21. package/_cjs/chains/definitions/astar.js.map +1 -1
  22. package/_cjs/chains/definitions/astarZkatana.js +0 -6
  23. package/_cjs/chains/definitions/astarZkatana.js.map +1 -1
  24. package/_cjs/chains/definitions/base.js +5 -0
  25. package/_cjs/chains/definitions/base.js.map +1 -1
  26. package/_cjs/chains/definitions/baseGoerli.js +5 -0
  27. package/_cjs/chains/definitions/baseGoerli.js.map +1 -1
  28. package/_cjs/chains/definitions/baseSepolia.js +5 -3
  29. package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
  30. package/_cjs/chains/definitions/bscTestnet.js +0 -1
  31. package/_cjs/chains/definitions/bscTestnet.js.map +1 -1
  32. package/_cjs/chains/definitions/confluxESpaceTestnet.js +0 -4
  33. package/_cjs/chains/definitions/confluxESpaceTestnet.js.map +1 -1
  34. package/_cjs/chains/definitions/fantomSonicTestnet.js +25 -0
  35. package/_cjs/chains/definitions/fantomSonicTestnet.js.map +1 -0
  36. package/_cjs/chains/definitions/kava.js +0 -1
  37. package/_cjs/chains/definitions/kava.js.map +1 -1
  38. package/_cjs/chains/definitions/kavaTestnet.js +0 -1
  39. package/_cjs/chains/definitions/kavaTestnet.js.map +1 -1
  40. package/_cjs/chains/definitions/klaytnBaobab.js +0 -1
  41. package/_cjs/chains/definitions/klaytnBaobab.js.map +1 -1
  42. package/_cjs/chains/definitions/lukso.js +0 -4
  43. package/_cjs/chains/definitions/lukso.js.map +1 -1
  44. package/_cjs/chains/definitions/manta.js +0 -1
  45. package/_cjs/chains/definitions/manta.js.map +1 -1
  46. package/_cjs/chains/definitions/mantaTestnet.js +0 -1
  47. package/_cjs/chains/definitions/mantaTestnet.js.map +1 -1
  48. package/_cjs/chains/definitions/neonMainnet.js +0 -3
  49. package/_cjs/chains/definitions/neonMainnet.js.map +1 -1
  50. package/_cjs/chains/definitions/optimism.js +5 -0
  51. package/_cjs/chains/definitions/optimism.js.map +1 -1
  52. package/_cjs/chains/definitions/optimismGoerli.js +5 -0
  53. package/_cjs/chains/definitions/optimismGoerli.js.map +1 -1
  54. package/_cjs/chains/definitions/optimismSepolia.js +5 -0
  55. package/_cjs/chains/definitions/optimismSepolia.js.map +1 -1
  56. package/_cjs/chains/definitions/pgn.js +12 -3
  57. package/_cjs/chains/definitions/pgn.js.map +1 -1
  58. package/_cjs/chains/definitions/pgnTestnet.js +7 -3
  59. package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
  60. package/_cjs/chains/definitions/rootstock.js +0 -1
  61. package/_cjs/chains/definitions/rootstock.js.map +1 -1
  62. package/_cjs/chains/definitions/sapphire.js +0 -4
  63. package/_cjs/chains/definitions/sapphire.js.map +1 -1
  64. package/_cjs/chains/definitions/sapphireTestnet.js +0 -4
  65. package/_cjs/chains/definitions/sapphireTestnet.js.map +1 -1
  66. package/_cjs/chains/definitions/shibarium.js +0 -3
  67. package/_cjs/chains/definitions/shibarium.js.map +1 -1
  68. package/_cjs/chains/definitions/shimmer.js +0 -3
  69. package/_cjs/chains/definitions/shimmer.js.map +1 -1
  70. package/_cjs/chains/definitions/shimmerTestnet.js +0 -3
  71. package/_cjs/chains/definitions/shimmerTestnet.js.map +1 -1
  72. package/_cjs/chains/definitions/taikoJolnir.js +2 -2
  73. package/_cjs/chains/definitions/taikoJolnir.js.map +1 -1
  74. package/_cjs/chains/definitions/tenet.js +0 -1
  75. package/_cjs/chains/definitions/tenet.js.map +1 -1
  76. package/_cjs/chains/definitions/zilliqa.js +23 -0
  77. package/_cjs/chains/definitions/zilliqa.js.map +1 -0
  78. package/_cjs/chains/definitions/zilliqaTestnet.js +23 -0
  79. package/_cjs/chains/definitions/zilliqaTestnet.js.map +1 -0
  80. package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js +31 -0
  81. package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
  82. package/_cjs/chains/definitions/zkSyncTestnet.js.map +1 -1
  83. package/_cjs/chains/definitions/zora.js +5 -0
  84. package/_cjs/chains/definitions/zora.js.map +1 -1
  85. package/_cjs/chains/definitions/zoraSepolia.js +5 -4
  86. package/_cjs/chains/definitions/zoraSepolia.js.map +1 -1
  87. package/_cjs/chains/index.js +12 -4
  88. package/_cjs/chains/index.js.map +1 -1
  89. package/_cjs/chains/opStack/abis.js +366 -1
  90. package/_cjs/chains/opStack/abis.js.map +1 -1
  91. package/_cjs/chains/opStack/actions/buildDepositTransaction.js +1 -1
  92. package/_cjs/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
  93. package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js +29 -0
  94. package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
  95. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js +39 -0
  96. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
  97. package/_cjs/chains/opStack/actions/depositTransaction.js +11 -6
  98. package/_cjs/chains/opStack/actions/depositTransaction.js.map +1 -1
  99. package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js +37 -0
  100. package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
  101. package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +29 -0
  102. package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
  103. package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js +24 -0
  104. package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
  105. package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js +29 -0
  106. package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
  107. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +33 -0
  108. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
  109. package/_cjs/chains/opStack/actions/getL2Output.js +30 -0
  110. package/_cjs/chains/opStack/actions/getL2Output.js.map +1 -0
  111. package/_cjs/chains/opStack/actions/getTimeToFinalize.js +46 -0
  112. package/_cjs/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
  113. package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js +63 -0
  114. package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
  115. package/_cjs/chains/opStack/actions/getTimeToProve.js +13 -0
  116. package/_cjs/chains/opStack/actions/getTimeToProve.js.map +1 -0
  117. package/_cjs/chains/opStack/actions/getWithdrawalStatus.js +71 -0
  118. package/_cjs/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
  119. package/_cjs/chains/opStack/actions/initiateWithdrawal.js +28 -0
  120. package/_cjs/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
  121. package/_cjs/chains/opStack/actions/proveWithdrawal.js +33 -0
  122. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -0
  123. package/_cjs/chains/opStack/actions/waitForNextL2Output.js +32 -0
  124. package/_cjs/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
  125. package/_cjs/chains/opStack/actions/waitToFinalize.js +11 -0
  126. package/_cjs/chains/opStack/actions/waitToFinalize.js.map +1 -0
  127. package/_cjs/chains/opStack/actions/waitToProve.js +21 -0
  128. package/_cjs/chains/opStack/actions/waitToProve.js.map +1 -0
  129. package/_cjs/chains/opStack/chains.js +5 -1
  130. package/_cjs/chains/opStack/chains.js.map +1 -1
  131. package/_cjs/chains/opStack/decorators/publicL1.js +35 -0
  132. package/_cjs/chains/opStack/decorators/publicL1.js.map +1 -0
  133. package/_cjs/chains/opStack/decorators/publicL2.js +5 -1
  134. package/_cjs/chains/opStack/decorators/publicL2.js.map +1 -1
  135. package/_cjs/chains/opStack/decorators/walletL1.js +4 -0
  136. package/_cjs/chains/opStack/decorators/walletL1.js.map +1 -1
  137. package/_cjs/chains/opStack/decorators/walletL2.js +13 -0
  138. package/_cjs/chains/opStack/decorators/walletL2.js.map +1 -0
  139. package/_cjs/chains/opStack/errors/withdrawal.js +17 -0
  140. package/_cjs/chains/opStack/errors/withdrawal.js.map +1 -0
  141. package/_cjs/chains/opStack/index.js +43 -15
  142. package/_cjs/chains/opStack/index.js.map +1 -1
  143. package/_cjs/chains/opStack/types/deposit.js +3 -0
  144. package/_cjs/chains/opStack/types/deposit.js.map +1 -0
  145. package/_cjs/chains/opStack/types/withdrawal.js +3 -0
  146. package/_cjs/chains/opStack/types/withdrawal.js.map +1 -0
  147. package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js +14 -0
  148. package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
  149. package/_cjs/chains/opStack/utils/getL2TransactionHash.js +2 -2
  150. package/_cjs/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
  151. package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js +11 -0
  152. package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
  153. package/_cjs/chains/opStack/utils/getWithdrawals.js +10 -0
  154. package/_cjs/chains/opStack/utils/getWithdrawals.js.map +1 -0
  155. package/_cjs/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +4 -4
  156. package/_cjs/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
  157. package/_cjs/errors/abi.js +21 -1
  158. package/_cjs/errors/abi.js.map +1 -1
  159. package/_cjs/errors/version.js +1 -1
  160. package/_cjs/errors/version.js.map +1 -1
  161. package/_cjs/index.js +10 -2
  162. package/_cjs/index.js.map +1 -1
  163. package/_cjs/utils/abi/getAbiItem.js +46 -3
  164. package/_cjs/utils/abi/getAbiItem.js.map +1 -1
  165. package/_cjs/utils/hash/ripemd160.js +16 -0
  166. package/_cjs/utils/hash/ripemd160.js.map +1 -0
  167. package/_cjs/utils/hash/sha256.js +16 -0
  168. package/_cjs/utils/hash/sha256.js.map +1 -0
  169. package/_cjs/utils/index.js +5 -1
  170. package/_cjs/utils/index.js.map +1 -1
  171. package/_esm/actions/ens/getEnsName.js +4 -2
  172. package/_esm/actions/ens/getEnsName.js.map +1 -1
  173. package/_esm/actions/index.js +7 -0
  174. package/_esm/actions/index.js.map +1 -1
  175. package/_esm/actions/public/getFilterChanges.js +3 -2
  176. package/_esm/actions/public/getFilterChanges.js.map +1 -1
  177. package/_esm/actions/public/getFilterLogs.js +3 -2
  178. package/_esm/actions/public/getFilterLogs.js.map +1 -1
  179. package/_esm/actions/public/getLogs.js +3 -2
  180. package/_esm/actions/public/getLogs.js.map +1 -1
  181. package/_esm/actions/public/verifyTypedData.js +2 -1
  182. package/_esm/actions/public/verifyTypedData.js.map +1 -1
  183. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  184. package/_esm/chains/celo/formatters.js +0 -10
  185. package/_esm/chains/celo/formatters.js.map +1 -1
  186. package/_esm/chains/definitions/arbitrumSepolia.js +4 -0
  187. package/_esm/chains/definitions/arbitrumSepolia.js.map +1 -1
  188. package/_esm/chains/definitions/astar.js +0 -1
  189. package/_esm/chains/definitions/astar.js.map +1 -1
  190. package/_esm/chains/definitions/astarZkatana.js +0 -6
  191. package/_esm/chains/definitions/astarZkatana.js.map +1 -1
  192. package/_esm/chains/definitions/base.js +5 -0
  193. package/_esm/chains/definitions/base.js.map +1 -1
  194. package/_esm/chains/definitions/baseGoerli.js +5 -0
  195. package/_esm/chains/definitions/baseGoerli.js.map +1 -1
  196. package/_esm/chains/definitions/baseSepolia.js +5 -3
  197. package/_esm/chains/definitions/baseSepolia.js.map +1 -1
  198. package/_esm/chains/definitions/bscTestnet.js +0 -1
  199. package/_esm/chains/definitions/bscTestnet.js.map +1 -1
  200. package/_esm/chains/definitions/confluxESpaceTestnet.js +0 -4
  201. package/_esm/chains/definitions/confluxESpaceTestnet.js.map +1 -1
  202. package/_esm/chains/definitions/fantomSonicTestnet.js +22 -0
  203. package/_esm/chains/definitions/fantomSonicTestnet.js.map +1 -0
  204. package/_esm/chains/definitions/kava.js +0 -1
  205. package/_esm/chains/definitions/kava.js.map +1 -1
  206. package/_esm/chains/definitions/kavaTestnet.js +0 -1
  207. package/_esm/chains/definitions/kavaTestnet.js.map +1 -1
  208. package/_esm/chains/definitions/klaytnBaobab.js +0 -1
  209. package/_esm/chains/definitions/klaytnBaobab.js.map +1 -1
  210. package/_esm/chains/definitions/lukso.js +0 -4
  211. package/_esm/chains/definitions/lukso.js.map +1 -1
  212. package/_esm/chains/definitions/manta.js +0 -1
  213. package/_esm/chains/definitions/manta.js.map +1 -1
  214. package/_esm/chains/definitions/mantaTestnet.js +0 -1
  215. package/_esm/chains/definitions/mantaTestnet.js.map +1 -1
  216. package/_esm/chains/definitions/neonMainnet.js +0 -3
  217. package/_esm/chains/definitions/neonMainnet.js.map +1 -1
  218. package/_esm/chains/definitions/optimism.js +5 -0
  219. package/_esm/chains/definitions/optimism.js.map +1 -1
  220. package/_esm/chains/definitions/optimismGoerli.js +5 -0
  221. package/_esm/chains/definitions/optimismGoerli.js.map +1 -1
  222. package/_esm/chains/definitions/optimismSepolia.js +5 -0
  223. package/_esm/chains/definitions/optimismSepolia.js.map +1 -1
  224. package/_esm/chains/definitions/pgn.js +12 -3
  225. package/_esm/chains/definitions/pgn.js.map +1 -1
  226. package/_esm/chains/definitions/pgnTestnet.js +7 -3
  227. package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
  228. package/_esm/chains/definitions/rootstock.js +0 -1
  229. package/_esm/chains/definitions/rootstock.js.map +1 -1
  230. package/_esm/chains/definitions/sapphire.js +0 -4
  231. package/_esm/chains/definitions/sapphire.js.map +1 -1
  232. package/_esm/chains/definitions/sapphireTestnet.js +0 -4
  233. package/_esm/chains/definitions/sapphireTestnet.js.map +1 -1
  234. package/_esm/chains/definitions/shibarium.js +0 -3
  235. package/_esm/chains/definitions/shibarium.js.map +1 -1
  236. package/_esm/chains/definitions/shimmer.js +0 -3
  237. package/_esm/chains/definitions/shimmer.js.map +1 -1
  238. package/_esm/chains/definitions/shimmerTestnet.js +0 -3
  239. package/_esm/chains/definitions/shimmerTestnet.js.map +1 -1
  240. package/_esm/chains/definitions/taikoJolnir.js +2 -2
  241. package/_esm/chains/definitions/taikoJolnir.js.map +1 -1
  242. package/_esm/chains/definitions/tenet.js +0 -1
  243. package/_esm/chains/definitions/tenet.js.map +1 -1
  244. package/_esm/chains/definitions/zilliqa.js +20 -0
  245. package/_esm/chains/definitions/zilliqa.js.map +1 -0
  246. package/_esm/chains/definitions/zilliqaTestnet.js +20 -0
  247. package/_esm/chains/definitions/zilliqaTestnet.js.map +1 -0
  248. package/_esm/chains/definitions/zkSyncSepoliaTestnet.js +28 -0
  249. package/_esm/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
  250. package/_esm/chains/definitions/zkSyncTestnet.js +1 -0
  251. package/_esm/chains/definitions/zkSyncTestnet.js.map +1 -1
  252. package/_esm/chains/definitions/zora.js +5 -0
  253. package/_esm/chains/definitions/zora.js.map +1 -1
  254. package/_esm/chains/definitions/zoraSepolia.js +5 -4
  255. package/_esm/chains/definitions/zoraSepolia.js.map +1 -1
  256. package/_esm/chains/index.js +4 -0
  257. package/_esm/chains/index.js.map +1 -1
  258. package/_esm/chains/opStack/abis.js +365 -0
  259. package/_esm/chains/opStack/abis.js.map +1 -1
  260. package/_esm/chains/opStack/actions/buildDepositTransaction.js +2 -2
  261. package/_esm/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
  262. package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js +50 -0
  263. package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
  264. package/_esm/chains/opStack/actions/buildProveWithdrawal.js +59 -0
  265. package/_esm/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
  266. package/_esm/chains/opStack/actions/depositTransaction.js +17 -14
  267. package/_esm/chains/opStack/actions/depositTransaction.js.map +1 -1
  268. package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js +62 -0
  269. package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
  270. package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +50 -0
  271. package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
  272. package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js +48 -0
  273. package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
  274. package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js +53 -0
  275. package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
  276. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +53 -0
  277. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
  278. package/_esm/chains/opStack/actions/getL2Output.js +50 -0
  279. package/_esm/chains/opStack/actions/getL2Output.js.map +1 -0
  280. package/_esm/chains/opStack/actions/getTimeToFinalize.js +77 -0
  281. package/_esm/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
  282. package/_esm/chains/opStack/actions/getTimeToNextL2Output.js +91 -0
  283. package/_esm/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
  284. package/_esm/chains/opStack/actions/getTimeToProve.js +39 -0
  285. package/_esm/chains/opStack/actions/getTimeToProve.js.map +1 -0
  286. package/_esm/chains/opStack/actions/getWithdrawalStatus.js +99 -0
  287. package/_esm/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
  288. package/_esm/chains/opStack/actions/initiateWithdrawal.js +76 -0
  289. package/_esm/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
  290. package/_esm/chains/opStack/actions/proveWithdrawal.js +57 -0
  291. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -0
  292. package/_esm/chains/opStack/actions/waitForNextL2Output.js +58 -0
  293. package/_esm/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
  294. package/_esm/chains/opStack/actions/waitToFinalize.js +41 -0
  295. package/_esm/chains/opStack/actions/waitToFinalize.js.map +1 -0
  296. package/_esm/chains/opStack/actions/waitToProve.js +47 -0
  297. package/_esm/chains/opStack/actions/waitToProve.js.map +1 -0
  298. package/_esm/chains/opStack/chains.js +2 -0
  299. package/_esm/chains/opStack/chains.js.map +1 -1
  300. package/_esm/chains/opStack/decorators/publicL1.js +31 -0
  301. package/_esm/chains/opStack/decorators/publicL1.js.map +1 -0
  302. package/_esm/chains/opStack/decorators/publicL2.js +5 -1
  303. package/_esm/chains/opStack/decorators/publicL2.js.map +1 -1
  304. package/_esm/chains/opStack/decorators/walletL1.js +4 -0
  305. package/_esm/chains/opStack/decorators/walletL1.js.map +1 -1
  306. package/_esm/chains/opStack/decorators/walletL2.js +9 -0
  307. package/_esm/chains/opStack/decorators/walletL2.js.map +1 -0
  308. package/_esm/chains/opStack/errors/withdrawal.js +13 -0
  309. package/_esm/chains/opStack/errors/withdrawal.js.map +1 -0
  310. package/_esm/chains/opStack/index.js +21 -3
  311. package/_esm/chains/opStack/index.js.map +1 -1
  312. package/_esm/chains/opStack/types/deposit.js +2 -0
  313. package/_esm/chains/opStack/types/deposit.js.map +1 -0
  314. package/_esm/chains/opStack/types/withdrawal.js +2 -0
  315. package/_esm/chains/opStack/types/withdrawal.js.map +1 -0
  316. package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js +10 -0
  317. package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
  318. package/_esm/chains/opStack/utils/getL2TransactionHash.js +2 -2
  319. package/_esm/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
  320. package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js +7 -0
  321. package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
  322. package/_esm/chains/opStack/utils/getWithdrawals.js +6 -0
  323. package/_esm/chains/opStack/utils/getWithdrawals.js.map +1 -0
  324. package/_esm/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +2 -2
  325. package/_esm/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
  326. package/_esm/errors/abi.js +19 -0
  327. package/_esm/errors/abi.js.map +1 -1
  328. package/_esm/errors/version.js +1 -1
  329. package/_esm/errors/version.js.map +1 -1
  330. package/_esm/index.js +4 -0
  331. package/_esm/index.js.map +1 -1
  332. package/_esm/utils/abi/getAbiItem.js +46 -2
  333. package/_esm/utils/abi/getAbiItem.js.map +1 -1
  334. package/_esm/utils/hash/ripemd160.js +12 -0
  335. package/_esm/utils/hash/ripemd160.js.map +1 -0
  336. package/_esm/utils/hash/sha256.js +12 -0
  337. package/_esm/utils/hash/sha256.js.map +1 -0
  338. package/_esm/utils/index.js +2 -0
  339. package/_esm/utils/index.js.map +1 -1
  340. package/_types/actions/ens/getEnsName.d.ts.map +1 -1
  341. package/_types/actions/index.d.ts +7 -0
  342. package/_types/actions/index.d.ts.map +1 -1
  343. package/_types/actions/public/getFilterChanges.d.ts.map +1 -1
  344. package/_types/actions/public/verifyTypedData.d.ts +2 -4
  345. package/_types/actions/public/verifyTypedData.d.ts.map +1 -1
  346. package/_types/actions/wallet/prepareTransactionRequest.d.ts +5 -5
  347. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  348. package/_types/chains/celo/chainConfig.d.ts +97 -120
  349. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  350. package/_types/chains/celo/formatters.d.ts +98 -121
  351. package/_types/chains/celo/formatters.d.ts.map +1 -1
  352. package/_types/chains/celo/index.d.ts +1 -1
  353. package/_types/chains/celo/index.d.ts.map +1 -1
  354. package/_types/chains/celo/types.d.ts +2 -14
  355. package/_types/chains/celo/types.d.ts.map +1 -1
  356. package/_types/chains/definitions/arbitrumSepolia.d.ts +4 -0
  357. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  358. package/_types/chains/definitions/astar.d.ts +0 -3
  359. package/_types/chains/definitions/astar.d.ts.map +1 -1
  360. package/_types/chains/definitions/astarZkatana.d.ts +0 -3
  361. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
  362. package/_types/chains/definitions/base.d.ts +80 -75
  363. package/_types/chains/definitions/base.d.ts.map +1 -1
  364. package/_types/chains/definitions/baseGoerli.d.ts +80 -75
  365. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  366. package/_types/chains/definitions/baseSepolia.d.ts +80 -78
  367. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  368. package/_types/chains/definitions/bscTestnet.d.ts +0 -3
  369. package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
  370. package/_types/chains/definitions/celo.d.ts +97 -120
  371. package/_types/chains/definitions/celo.d.ts.map +1 -1
  372. package/_types/chains/definitions/celoAlfajores.d.ts +97 -120
  373. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  374. package/_types/chains/definitions/celoCannoli.d.ts +97 -120
  375. package/_types/chains/definitions/celoCannoli.d.ts.map +1 -1
  376. package/_types/chains/definitions/confluxESpaceTestnet.d.ts +0 -4
  377. package/_types/chains/definitions/confluxESpaceTestnet.d.ts.map +1 -1
  378. package/_types/chains/definitions/fantomSonicTestnet.d.ts +35 -0
  379. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -0
  380. package/_types/chains/definitions/kava.d.ts +0 -3
  381. package/_types/chains/definitions/kava.d.ts.map +1 -1
  382. package/_types/chains/definitions/kavaTestnet.d.ts +0 -3
  383. package/_types/chains/definitions/kavaTestnet.d.ts.map +1 -1
  384. package/_types/chains/definitions/klaytnBaobab.d.ts +0 -3
  385. package/_types/chains/definitions/klaytnBaobab.d.ts.map +1 -1
  386. package/_types/chains/definitions/lukso.d.ts +0 -4
  387. package/_types/chains/definitions/lukso.d.ts.map +1 -1
  388. package/_types/chains/definitions/manta.d.ts +0 -3
  389. package/_types/chains/definitions/manta.d.ts.map +1 -1
  390. package/_types/chains/definitions/mantaTestnet.d.ts +0 -3
  391. package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
  392. package/_types/chains/definitions/neonMainnet.d.ts +0 -3
  393. package/_types/chains/definitions/neonMainnet.d.ts.map +1 -1
  394. package/_types/chains/definitions/optimism.d.ts +80 -75
  395. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  396. package/_types/chains/definitions/optimismGoerli.d.ts +80 -75
  397. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  398. package/_types/chains/definitions/optimismSepolia.d.ts +80 -75
  399. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  400. package/_types/chains/definitions/pgn.d.ts +85 -78
  401. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  402. package/_types/chains/definitions/pgnTestnet.d.ts +80 -78
  403. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  404. package/_types/chains/definitions/rootstock.d.ts +0 -3
  405. package/_types/chains/definitions/rootstock.d.ts.map +1 -1
  406. package/_types/chains/definitions/sapphire.d.ts +0 -4
  407. package/_types/chains/definitions/sapphire.d.ts.map +1 -1
  408. package/_types/chains/definitions/sapphireTestnet.d.ts +0 -4
  409. package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
  410. package/_types/chains/definitions/shibarium.d.ts +0 -3
  411. package/_types/chains/definitions/shibarium.d.ts.map +1 -1
  412. package/_types/chains/definitions/shimmer.d.ts +0 -3
  413. package/_types/chains/definitions/shimmer.d.ts.map +1 -1
  414. package/_types/chains/definitions/shimmerTestnet.d.ts +0 -3
  415. package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
  416. package/_types/chains/definitions/taikoJolnir.d.ts +2 -2
  417. package/_types/chains/definitions/tenet.d.ts +0 -3
  418. package/_types/chains/definitions/tenet.d.ts.map +1 -1
  419. package/_types/chains/definitions/zilliqa.d.ts +35 -0
  420. package/_types/chains/definitions/zilliqa.d.ts.map +1 -0
  421. package/_types/chains/definitions/zilliqaTestnet.d.ts +35 -0
  422. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -0
  423. package/_types/chains/definitions/zkSync.d.ts +9 -9
  424. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +529 -0
  425. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -0
  426. package/_types/chains/definitions/zkSyncTestnet.d.ts +10 -9
  427. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  428. package/_types/chains/definitions/zora.d.ts +80 -75
  429. package/_types/chains/definitions/zora.d.ts.map +1 -1
  430. package/_types/chains/definitions/zoraSepolia.d.ts +80 -79
  431. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  432. package/_types/chains/definitions/zoraTestnet.d.ts +75 -75
  433. package/_types/chains/index.d.ts +5 -1
  434. package/_types/chains/index.d.ts.map +1 -1
  435. package/_types/chains/opStack/abis.d.ts +457 -0
  436. package/_types/chains/opStack/abis.d.ts.map +1 -1
  437. package/_types/chains/opStack/actions/buildDepositTransaction.d.ts +5 -3
  438. package/_types/chains/opStack/actions/buildDepositTransaction.d.ts.map +1 -1
  439. package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts +50 -0
  440. package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts.map +1 -0
  441. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts +48 -0
  442. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts.map +1 -0
  443. package/_types/chains/opStack/actions/depositTransaction.d.ts +18 -34
  444. package/_types/chains/opStack/actions/depositTransaction.d.ts.map +1 -1
  445. package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts +50 -0
  446. package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts.map +1 -0
  447. package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts +45 -0
  448. package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts.map +1 -0
  449. package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts +51 -0
  450. package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts.map +1 -0
  451. package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts +63 -0
  452. package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts.map +1 -0
  453. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts +49 -0
  454. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -0
  455. package/_types/chains/opStack/actions/getL2Output.d.ts +44 -0
  456. package/_types/chains/opStack/actions/getL2Output.d.ts.map +1 -0
  457. package/_types/chains/opStack/actions/getTimeToFinalize.d.ts +57 -0
  458. package/_types/chains/opStack/actions/getTimeToFinalize.d.ts.map +1 -0
  459. package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts +61 -0
  460. package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts.map +1 -0
  461. package/_types/chains/opStack/actions/getTimeToProve.d.ts +50 -0
  462. package/_types/chains/opStack/actions/getTimeToProve.d.ts.map +1 -0
  463. package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts +48 -0
  464. package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts.map +1 -0
  465. package/_types/chains/opStack/actions/initiateWithdrawal.d.ts +77 -0
  466. package/_types/chains/opStack/actions/initiateWithdrawal.d.ts.map +1 -0
  467. package/_types/chains/opStack/actions/proveWithdrawal.d.ts +67 -0
  468. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -0
  469. package/_types/chains/opStack/actions/waitForNextL2Output.d.ts +55 -0
  470. package/_types/chains/opStack/actions/waitForNextL2Output.d.ts.map +1 -0
  471. package/_types/chains/opStack/actions/waitToFinalize.d.ts +45 -0
  472. package/_types/chains/opStack/actions/waitToFinalize.d.ts.map +1 -0
  473. package/_types/chains/opStack/actions/waitToProve.d.ts +55 -0
  474. package/_types/chains/opStack/actions/waitToProve.d.ts.map +1 -0
  475. package/_types/chains/opStack/chainConfig.d.ts +74 -74
  476. package/_types/chains/opStack/chains.d.ts +2 -0
  477. package/_types/chains/opStack/chains.d.ts.map +1 -1
  478. package/_types/chains/opStack/decorators/publicL1.d.ts +386 -0
  479. package/_types/chains/opStack/decorators/publicL1.d.ts.map +1 -0
  480. package/_types/chains/opStack/decorators/publicL2.d.ts +82 -26
  481. package/_types/chains/opStack/decorators/publicL2.d.ts.map +1 -1
  482. package/_types/chains/opStack/decorators/walletL1.d.ts +57 -2
  483. package/_types/chains/opStack/decorators/walletL1.d.ts.map +1 -1
  484. package/_types/chains/opStack/decorators/walletL2.d.ts +62 -0
  485. package/_types/chains/opStack/decorators/walletL2.d.ts.map +1 -0
  486. package/_types/chains/opStack/errors/withdrawal.d.ts +12 -0
  487. package/_types/chains/opStack/errors/withdrawal.d.ts.map +1 -0
  488. package/_types/chains/opStack/formatters.d.ts +74 -74
  489. package/_types/chains/opStack/index.d.ts +21 -3
  490. package/_types/chains/opStack/index.d.ts.map +1 -1
  491. package/_types/chains/opStack/types/deposit.d.ts +25 -0
  492. package/_types/chains/opStack/types/deposit.d.ts.map +1 -0
  493. package/_types/chains/opStack/types/withdrawal.d.ts +22 -0
  494. package/_types/chains/opStack/types/withdrawal.d.ts.map +1 -0
  495. package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts +137 -0
  496. package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts.map +1 -0
  497. package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts +11 -0
  498. package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts.map +1 -0
  499. package/_types/chains/opStack/utils/getWithdrawals.d.ts +12 -0
  500. package/_types/chains/opStack/utils/getWithdrawals.d.ts.map +1 -0
  501. package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts +15 -0
  502. package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts.map +1 -0
  503. package/_types/chains/zksync/chainConfig.d.ts +9 -9
  504. package/_types/chains/zksync/formatters.d.ts +9 -9
  505. package/_types/clients/decorators/public.d.ts +2 -2
  506. package/_types/clients/decorators/public.d.ts.map +1 -1
  507. package/_types/clients/decorators/wallet.d.ts +2 -2
  508. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  509. package/_types/errors/abi.d.ts +14 -1
  510. package/_types/errors/abi.d.ts.map +1 -1
  511. package/_types/errors/version.d.ts +1 -1
  512. package/_types/errors/version.d.ts.map +1 -1
  513. package/_types/index.d.ts +15 -1
  514. package/_types/index.d.ts.map +1 -1
  515. package/_types/types/account.d.ts +1 -1
  516. package/_types/types/account.d.ts.map +1 -1
  517. package/_types/types/eip1193.d.ts +12 -0
  518. package/_types/types/eip1193.d.ts.map +1 -1
  519. package/_types/utils/abi/getAbiItem.d.ts +2 -1
  520. package/_types/utils/abi/getAbiItem.d.ts.map +1 -1
  521. package/_types/utils/formatters/transaction.d.ts +1 -1
  522. package/_types/utils/formatters/transactionRequest.d.ts +1 -1
  523. package/_types/utils/hash/ripemd160.d.ts +11 -0
  524. package/_types/utils/hash/ripemd160.d.ts.map +1 -0
  525. package/_types/utils/hash/sha256.d.ts +11 -0
  526. package/_types/utils/hash/sha256.d.ts.map +1 -0
  527. package/_types/utils/index.d.ts +2 -0
  528. package/_types/utils/index.d.ts.map +1 -1
  529. package/actions/ens/getEnsName.ts +3 -2
  530. package/actions/index.ts +31 -0
  531. package/actions/public/getFilterChanges.ts +3 -5
  532. package/actions/public/getFilterLogs.ts +3 -3
  533. package/actions/public/getLogs.ts +3 -3
  534. package/actions/public/verifyTypedData.ts +13 -8
  535. package/actions/wallet/prepareTransactionRequest.ts +16 -9
  536. package/chains/celo/formatters.ts +0 -14
  537. package/chains/celo/index.ts +0 -4
  538. package/chains/celo/types.ts +0 -18
  539. package/chains/definitions/arbitrumSepolia.ts +4 -0
  540. package/chains/definitions/astar.ts +0 -1
  541. package/chains/definitions/astarZkatana.ts +0 -6
  542. package/chains/definitions/base.ts +5 -0
  543. package/chains/definitions/baseGoerli.ts +5 -0
  544. package/chains/definitions/baseSepolia.ts +5 -3
  545. package/chains/definitions/bscTestnet.ts +0 -1
  546. package/chains/definitions/confluxESpaceTestnet.ts +0 -4
  547. package/chains/definitions/fantomSonicTestnet.ts +22 -0
  548. package/chains/definitions/kava.ts +0 -1
  549. package/chains/definitions/kavaTestnet.ts +0 -1
  550. package/chains/definitions/klaytnBaobab.ts +0 -1
  551. package/chains/definitions/lukso.ts +0 -4
  552. package/chains/definitions/manta.ts +0 -1
  553. package/chains/definitions/mantaTestnet.ts +0 -1
  554. package/chains/definitions/neonMainnet.ts +0 -3
  555. package/chains/definitions/optimism.ts +5 -0
  556. package/chains/definitions/optimismGoerli.ts +5 -0
  557. package/chains/definitions/optimismSepolia.ts +5 -0
  558. package/chains/definitions/pgn.ts +13 -3
  559. package/chains/definitions/pgnTestnet.ts +8 -3
  560. package/chains/definitions/rootstock.ts +0 -1
  561. package/chains/definitions/sapphire.ts +0 -4
  562. package/chains/definitions/sapphireTestnet.ts +0 -4
  563. package/chains/definitions/shibarium.ts +0 -3
  564. package/chains/definitions/shimmer.ts +0 -3
  565. package/chains/definitions/shimmerTestnet.ts +0 -3
  566. package/chains/definitions/taikoJolnir.ts +2 -2
  567. package/chains/definitions/tenet.ts +0 -1
  568. package/chains/definitions/zilliqa.ts +20 -0
  569. package/chains/definitions/zilliqaTestnet.ts +20 -0
  570. package/chains/definitions/zkSyncSepoliaTestnet.ts +28 -0
  571. package/chains/definitions/zkSyncTestnet.ts +1 -0
  572. package/chains/definitions/zora.ts +5 -0
  573. package/chains/definitions/zoraSepolia.ts +5 -4
  574. package/chains/index.ts +9 -0
  575. package/chains/opStack/abis.ts +367 -0
  576. package/chains/opStack/actions/buildDepositTransaction.ts +11 -6
  577. package/chains/opStack/actions/buildInitiateWithdrawal.ts +118 -0
  578. package/chains/opStack/actions/buildProveWithdrawal.ts +149 -0
  579. package/chains/opStack/actions/depositTransaction.ts +50 -44
  580. package/chains/opStack/actions/estimateDepositTransactionGas.ts +138 -0
  581. package/chains/opStack/actions/estimateFinalizeWithdrawalGas.ts +118 -0
  582. package/chains/opStack/actions/estimateInitiateWithdrawalGas.ts +118 -0
  583. package/chains/opStack/actions/estimateProveWithdrawalGas.ts +139 -0
  584. package/chains/opStack/actions/finalizeWithdrawal.ts +130 -0
  585. package/chains/opStack/actions/getL2Output.ts +89 -0
  586. package/chains/opStack/actions/getTimeToFinalize.ts +122 -0
  587. package/chains/opStack/actions/getTimeToNextL2Output.ts +162 -0
  588. package/chains/opStack/actions/getTimeToProve.ts +79 -0
  589. package/chains/opStack/actions/getWithdrawalStatus.ts +152 -0
  590. package/chains/opStack/actions/initiateWithdrawal.ts +153 -0
  591. package/chains/opStack/actions/proveWithdrawal.ts +151 -0
  592. package/chains/opStack/actions/waitForNextL2Output.ts +111 -0
  593. package/chains/opStack/actions/waitToFinalize.ts +64 -0
  594. package/chains/opStack/actions/waitToProve.ts +99 -0
  595. package/chains/opStack/chains.ts +2 -0
  596. package/chains/opStack/decorators/publicL1.ts +514 -0
  597. package/chains/opStack/decorators/publicL2.ts +129 -37
  598. package/chains/opStack/decorators/walletL1.ts +71 -2
  599. package/chains/opStack/decorators/walletL2.ts +84 -0
  600. package/chains/opStack/errors/withdrawal.ts +15 -0
  601. package/chains/opStack/index.ts +112 -21
  602. package/chains/opStack/types/deposit.ts +28 -0
  603. package/chains/opStack/types/withdrawal.ts +23 -0
  604. package/chains/opStack/utils/extractWithdrawalMessageLogs.ts +36 -0
  605. package/chains/opStack/utils/getL2TransactionHash.ts +2 -2
  606. package/chains/opStack/utils/getWithdrawalHashStorageSlot.ts +29 -0
  607. package/chains/opStack/utils/getWithdrawals.ts +25 -0
  608. package/chains/opStack/utils/{fromOpaqueData.ts → opaqueDataToDepositData.ts} +9 -4
  609. package/clients/decorators/public.ts +2 -2
  610. package/clients/decorators/wallet.ts +2 -2
  611. package/errors/abi.ts +22 -1
  612. package/errors/version.ts +1 -1
  613. package/index.ts +40 -0
  614. package/package.json +1 -1
  615. package/types/account.ts +1 -1
  616. package/types/eip1193.ts +12 -0
  617. package/utils/abi/getAbiItem.ts +71 -2
  618. package/utils/hash/ripemd160.ts +31 -0
  619. package/utils/hash/sha256.ts +31 -0
  620. package/utils/index.ts +2 -0
  621. package/_cjs/chains/opStack/utils/fromOpaqueData.js.map +0 -1
  622. package/_esm/chains/opStack/utils/fromOpaqueData.js.map +0 -1
  623. package/_types/chains/opStack/utils/fromOpaqueData.d.ts +0 -15
  624. package/_types/chains/opStack/utils/fromOpaqueData.d.ts.map +0 -1
  625. package/chains/celo/package.json +0 -6
  626. package/chains/opStack/package.json +0 -6
  627. package/chains/zksync/package.json +0 -6
@@ -0,0 +1,514 @@
1
+ import type { Address } from 'abitype'
2
+ import type { Client } from '../../../clients/createClient.js'
3
+ import type { Transport } from '../../../clients/transports/createTransport.js'
4
+ import type { Account } from '../../../types/account.js'
5
+ import type { Chain } from '../../../types/chain.js'
6
+ import {
7
+ type BuildInitiateWithdrawalParameters,
8
+ type BuildInitiateWithdrawalReturnType,
9
+ buildInitiateWithdrawal,
10
+ } from '../actions/buildInitiateWithdrawal.js'
11
+ import {
12
+ type EstimateDepositTransactionGasParameters,
13
+ type EstimateDepositTransactionGasReturnType,
14
+ estimateDepositTransactionGas,
15
+ } from '../actions/estimateDepositTransactionGas.js'
16
+ import {
17
+ type EstimateFinalizeWithdrawalGasParameters,
18
+ type EstimateFinalizeWithdrawalGasReturnType,
19
+ estimateFinalizeWithdrawalGas,
20
+ } from '../actions/estimateFinalizeWithdrawalGas.js'
21
+ import {
22
+ type EstimateProveWithdrawalGasParameters,
23
+ type EstimateProveWithdrawalGasReturnType,
24
+ estimateProveWithdrawalGas,
25
+ } from '../actions/estimateProveWithdrawalGas.js'
26
+ import {
27
+ type GetL2OutputParameters,
28
+ type GetL2OutputReturnType,
29
+ getL2Output,
30
+ } from '../actions/getL2Output.js'
31
+ import {
32
+ type GetTimeToFinalizeParameters,
33
+ type GetTimeToFinalizeReturnType,
34
+ getTimeToFinalize,
35
+ } from '../actions/getTimeToFinalize.js'
36
+ import {
37
+ type GetTimeToNextL2OutputParameters,
38
+ type GetTimeToNextL2OutputReturnType,
39
+ getTimeToNextL2Output,
40
+ } from '../actions/getTimeToNextL2Output.js'
41
+ import {
42
+ type GetTimeToProveParameters,
43
+ type GetTimeToProveReturnType,
44
+ getTimeToProve,
45
+ } from '../actions/getTimeToProve.js'
46
+ import {
47
+ type GetWithdrawalStatusParameters,
48
+ type GetWithdrawalStatusReturnType,
49
+ getWithdrawalStatus,
50
+ } from '../actions/getWithdrawalStatus.js'
51
+ import {
52
+ type WaitForNextL2OutputParameters,
53
+ type WaitForNextL2OutputReturnType,
54
+ waitForNextL2Output,
55
+ } from '../actions/waitForNextL2Output.js'
56
+ import {
57
+ type WaitToFinalizeParameters,
58
+ type WaitToFinalizeReturnType,
59
+ waitToFinalize,
60
+ } from '../actions/waitToFinalize.js'
61
+ import {
62
+ type WaitToProveParameters,
63
+ type WaitToProveReturnType,
64
+ waitToProve,
65
+ } from '../actions/waitToProve.js'
66
+
67
+ export type PublicActionsL1<
68
+ chain extends Chain | undefined = Chain | undefined,
69
+ account extends Account | undefined = Account | undefined,
70
+ > = {
71
+ /**
72
+ * Prepares parameters for a [deposit transaction](https://github.com/ethereum-optimism/optimism/blob/develop/specs/deposits.md) to be initiated on an L1.
73
+ *
74
+ * - Docs: https://viem.sh/op-stack/actions/buildInitiateWithdrawal.html
75
+ *
76
+ * @param client - Client to use
77
+ * @param parameters - {@link BuildInitiateWithdrawalParameters}
78
+ * @returns Parameters for `depositTransaction`. {@link DepositTransactionReturnType}
79
+ *
80
+ * @example
81
+ * import { createWalletClient, http, parseEther } from 'viem'
82
+ * import { base } from 'viem/chains'
83
+ * import { publicActionsL1 } from 'viem/op-stack'
84
+ *
85
+ * const client = createWalletClient({
86
+ * chain: base,
87
+ * transport: http(),
88
+ * }).extend(publicActionsL1())
89
+ *
90
+ * const args = await client.buildInitiateWithdrawal({
91
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
92
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
93
+ * value: parseEther('1'),
94
+ * })
95
+ */
96
+ buildInitiateWithdrawal: <
97
+ chainOverride extends Chain | undefined = undefined,
98
+ accountOverride extends Account | Address | undefined = undefined,
99
+ >(
100
+ parameters: BuildInitiateWithdrawalParameters<
101
+ chain,
102
+ account,
103
+ chainOverride,
104
+ accountOverride
105
+ >,
106
+ ) => Promise<BuildInitiateWithdrawalReturnType<account, accountOverride>>
107
+ /**
108
+ * Estimates gas required to initiate a [deposit transaction](https://github.com/ethereum-optimism/optimism/blob/develop/specs/deposits.md) on an L1, which executes a transaction on L2.
109
+ *
110
+ * - Docs: https://viem.sh/op-stack/actions/estimateDepositTransactionGas.html
111
+ *
112
+ * @param client - Client to use
113
+ * @param parameters - {@link EstimateDepositTransactionGasParameters}
114
+ * @returns The L1 transaction hash. {@link EstimateDepositTransactionGasReturnType}
115
+ *
116
+ * @example
117
+ * import { createPublicClient, custom, parseEther } from 'viem'
118
+ * import { base, mainnet } from 'viem/chains'
119
+ * import { publicActionsL1 } from 'viem/op-stack'
120
+ *
121
+ * const client = createPublicClient({
122
+ * chain: mainnet,
123
+ * transport: custom(window.ethereum),
124
+ * }).extend(publicActionsL1())
125
+ *
126
+ * const gas = await client.estimateDepositTransactionGas({
127
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
128
+ * args: {
129
+ * gas: 21_000n,
130
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
131
+ * value: parseEther('1'),
132
+ * },
133
+ * targetChain: base,
134
+ * })
135
+ */
136
+ estimateDepositTransactionGas: <
137
+ chainOverride extends Chain | undefined = undefined,
138
+ >(
139
+ parameters: EstimateDepositTransactionGasParameters<
140
+ chain,
141
+ account,
142
+ chainOverride
143
+ >,
144
+ ) => Promise<EstimateDepositTransactionGasReturnType>
145
+ /**
146
+ * Estimates gas required to prove a withdrawal that occurred on an L2.
147
+ *
148
+ * - Docs: https://viem.sh/op-stack/actions/estimateProveWithdrawalGas.html
149
+ *
150
+ * @param client - Client to use
151
+ * @param parameters - {@link EstimateProveWithdrawalGasParameters}
152
+ * @returns Estimated gas. {@link EstimateProveWithdrawalGasReturnType}
153
+ *
154
+ * @example
155
+ * import { createPublicClient, http, parseEther } from 'viem'
156
+ * import { base, mainnet } from 'viem/chains'
157
+ * import { publicActionsL1 } from 'viem/op-stack'
158
+ *
159
+ * const client = createPublicClient({
160
+ * chain: mainnet,
161
+ * transport: http(),
162
+ * }).extend(publicActionsL1())
163
+ *
164
+ * const gas = await client.estimateProveWithdrawalGas({
165
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
166
+ * l2OutputIndex: 4529n,
167
+ * outputRootProof: { ... },
168
+ * targetChain: optimism,
169
+ * withdrawalProof: [ ... ],
170
+ * withdrawal: { ... },
171
+ * })
172
+ */
173
+ estimateProveWithdrawalGas: <
174
+ chainOverride extends Chain | undefined = undefined,
175
+ >(
176
+ parameters: EstimateProveWithdrawalGasParameters<
177
+ chain,
178
+ account,
179
+ chainOverride
180
+ >,
181
+ ) => Promise<EstimateProveWithdrawalGasReturnType>
182
+ /**
183
+ * Estimates gas required to finalize a withdrawal that occurred on an L2.
184
+ *
185
+ * - Docs: https://viem.sh/op-stack/actions/estimateFinalizeWithdrawalGas.html
186
+ *
187
+ * @param client - Client to use
188
+ * @param parameters - {@link EstimateFinalizeWithdrawalGasParameters}
189
+ * @returns Estimated gas. {@link EstimateFinalizeWithdrawalGasReturnType}
190
+ *
191
+ * @example
192
+ * import { createPublicClient, http, parseEther } from 'viem'
193
+ * import { base, mainnet } from 'viem/chains'
194
+ * import { publicActionsL1 } from 'viem/op-stack'
195
+ *
196
+ * const client = createPublicClient({
197
+ * chain: mainnet,
198
+ * transport: http(),
199
+ * }).extend(publicActionsL1())
200
+ *
201
+ * const gas = await client.estimateFinalizeWithdrawalGas({
202
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
203
+ * targetChain: optimism,
204
+ * withdrawal: { ... },
205
+ * })
206
+ */
207
+ estimateFinalizeWithdrawalGas: <
208
+ chainOverride extends Chain | undefined = undefined,
209
+ >(
210
+ parameters: EstimateFinalizeWithdrawalGasParameters<
211
+ chain,
212
+ account,
213
+ chainOverride
214
+ >,
215
+ ) => Promise<EstimateFinalizeWithdrawalGasReturnType>
216
+ /**
217
+ * Retrieves the first L2 output proposal that occurred after a provided block number. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
218
+ *
219
+ * - Docs: https://viem.sh/op-stack/actions/getL2Output.html
220
+ *
221
+ * @param client - Client to use
222
+ * @param parameters - {@link GetL2OutputParameters}
223
+ * @returns The L2 output. {@link GetL2OutputReturnType}
224
+ *
225
+ * @example
226
+ * import { createPublicClient, http } from 'viem'
227
+ * import { mainnet, optimism } from 'viem/chains'
228
+ * import { publicActionsL1 } from 'viem/op-stack'
229
+ *
230
+ * const publicClientL1 = createPublicClient({
231
+ * chain: mainnet,
232
+ * transport: http(),
233
+ * }).extend(publicActionsL1())
234
+ *
235
+ * const output = await publicClientL1.getL2Output({
236
+ * l2BlockNumber: 69420n,
237
+ * targetChain: optimism
238
+ * })
239
+ */
240
+ getL2Output: <chainOverride extends Chain | undefined = undefined>(
241
+ parameters: GetL2OutputParameters<chain, chainOverride>,
242
+ ) => Promise<GetL2OutputReturnType>
243
+ /**
244
+ * Returns the time until the withdrawal transaction can be finalized. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
245
+ *
246
+ * - Docs: https://viem.sh/op-stack/actions/getTimeToFinalize.html
247
+ *
248
+ * @param client - Client to use
249
+ * @param parameters - {@link GetTimeToFinalizeParameters}
250
+ * @returns Time until finalize. {@link GetTimeToFinalizeReturnType}
251
+ *
252
+ * @example
253
+ * import { createPublicClient, http } from 'viem'
254
+ * import { getBlockNumber } from 'viem/actions'
255
+ * import { mainnet, optimism } from 'viem/chains'
256
+ * import { publicActionsL1 } from 'viem/op-stack'
257
+ *
258
+ * const publicClientL1 = createPublicClient({
259
+ * chain: mainnet,
260
+ * transport: http(),
261
+ * }).extend(publicActionsL1())
262
+ * const publicClientL2 = createPublicClient({
263
+ * chain: optimism,
264
+ * transport: http(),
265
+ * })
266
+ *
267
+ * const receipt = await publicClientL2.getTransactionReceipt({
268
+ * hash: '0x9a2f4283636ddeb9ac32382961b22c177c9e86dd3b283735c154f897b1a7ff4a',
269
+ * })
270
+ *
271
+ * const [withdrawal] = getWithdrawals(receipt)
272
+ *
273
+ * const { seconds } = await publicClientL1.getTimeToFinalize({
274
+ * withdrawalHash: withdrawal.withdrawalHash,
275
+ * targetChain: optimism
276
+ * })
277
+ */
278
+ getTimeToFinalize: <chainOverride extends Chain | undefined = undefined>(
279
+ parameters: GetTimeToFinalizeParameters<chain, chainOverride>,
280
+ ) => Promise<GetTimeToFinalizeReturnType>
281
+ /**
282
+ * Returns the time until the next L2 output (after a provided block number) is submitted. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
283
+ *
284
+ * - Docs: https://viem.sh/op-stack/actions/getTimeToNextL2Output.html
285
+ *
286
+ * @param client - Client to use
287
+ * @param parameters - {@link GetTimeToNextL2OutputParameters}
288
+ * @returns The L2 transaction hash. {@link GetTimeToNextL2OutputReturnType}
289
+ *
290
+ * @example
291
+ * import { createPublicClient, http } from 'viem'
292
+ * import { mainnet, optimism } from 'viem/chains'
293
+ * import { publicActionsL1 } from 'viem/op-stack'
294
+ *
295
+ * const publicClientL1 = createPublicClient({
296
+ * chain: mainnet,
297
+ * transport: http(),
298
+ * }).extend(publicActionsL1())
299
+ * const publicClientL2 = createPublicClient({
300
+ * chain: optimism,
301
+ * transport: http(),
302
+ * })
303
+ *
304
+ * const l2BlockNumber = await publicClientL2.getBlockNumber()
305
+ * const { seconds } = await publicClientL1.getTimeToNextL2Output({
306
+ * l2BlockNumber,
307
+ * targetChain: optimism
308
+ * })
309
+ */
310
+ getTimeToNextL2Output: <chainOverride extends Chain | undefined = undefined>(
311
+ parameters: GetTimeToNextL2OutputParameters<chain, chainOverride>,
312
+ ) => Promise<GetTimeToNextL2OutputReturnType>
313
+ /**
314
+ * Returns the time until the withdrawal transaction can be finalized. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
315
+ *
316
+ * - Docs: https://viem.sh/op-stack/actions/getTimeToFinalize.html
317
+ *
318
+ * @param client - Client to use
319
+ * @param parameters - {@link GetTimeToFinalizeParameters}
320
+ * @returns Time until finalize. {@link GetTimeToFinalizeReturnType}
321
+ *
322
+ * @example
323
+ * import { createPublicClient, http } from 'viem'
324
+ * import { getBlockNumber } from 'viem/actions'
325
+ * import { mainnet, optimism } from 'viem/chains'
326
+ * import { publicActionsL1 } from 'viem/op-stack'
327
+ *
328
+ * const publicClientL1 = createPublicClient({
329
+ * chain: mainnet,
330
+ * transport: http(),
331
+ * }).extend(publicActionsL1())
332
+ * const publicClientL2 = createPublicClient({
333
+ * chain: optimism,
334
+ * transport: http(),
335
+ * })
336
+ *
337
+ * const receipt = await publicClientL2.getTransactionReceipt({
338
+ * hash: '0x9a2f4283636ddeb9ac32382961b22c177c9e86dd3b283735c154f897b1a7ff4a',
339
+ * })
340
+ *
341
+ * const [withdrawal] = getWithdrawals(receipt)
342
+ *
343
+ * const { seconds } = await publicClientL1.getTimeToFinalize({
344
+ * withdrawalHash: withdrawal.withdrawalHash,
345
+ * targetChain: optimism
346
+ * })
347
+ */
348
+ getTimeToProve: <chainOverride extends Chain | undefined = undefined>(
349
+ parameters: GetTimeToProveParameters<chain, chainOverride>,
350
+ ) => Promise<GetTimeToProveReturnType>
351
+ /**
352
+ * Returns the current status of a withdrawal. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
353
+ *
354
+ * - Docs: https://viem.sh/op-stack/actions/getWithdrawalStatus.html
355
+ *
356
+ * @param client - Client to use
357
+ * @param parameters - {@link GetWithdrawalStatusParameters}
358
+ * @returns Status of the withdrawal. {@link GetWithdrawalStatusReturnType}
359
+ *
360
+ * @example
361
+ * import { createPublicClient, http } from 'viem'
362
+ * import { getBlockNumber } from 'viem/actions'
363
+ * import { mainnet, optimism } from 'viem/chains'
364
+ * import { publicActionsL1 } from 'viem/op-stack'
365
+ *
366
+ * const publicClientL1 = createPublicClient({
367
+ * chain: mainnet,
368
+ * transport: http(),
369
+ * }).extend(publicActionsL1())
370
+ * const publicClientL2 = createPublicClient({
371
+ * chain: optimism,
372
+ * transport: http(),
373
+ * })
374
+ *
375
+ * const receipt = await publicClientL2.getTransactionReceipt({ hash: '0x...' })
376
+ * const status = await publicClientL1.getWithdrawalStatus({
377
+ * receipt,
378
+ * targetChain: optimism
379
+ * })
380
+ */
381
+ getWithdrawalStatus: <chainOverride extends Chain | undefined = undefined>(
382
+ parameters: GetWithdrawalStatusParameters<chain, chainOverride>,
383
+ ) => Promise<GetWithdrawalStatusReturnType>
384
+ /**
385
+ * Waits for the next L2 output (after the provided block number) to be submitted.
386
+ *
387
+ * - Docs: https://viem.sh/op-stack/actions/waitForNextL2Output.html
388
+ *
389
+ * @param client - Client to use
390
+ * @param parameters - {@link WaitForNextL2OutputParameters}
391
+ * @returns The L2 transaction hash. {@link WaitForNextL2OutputReturnType}
392
+ *
393
+ * @example
394
+ * import { createPublicClient, http } from 'viem'
395
+ * import { mainnet, optimism } from 'viem/chains'
396
+ * import { publicActionsL1 } from 'viem/op-stack'
397
+ *
398
+ * const publicClientL1 = createPublicClient({
399
+ * chain: mainnet,
400
+ * transport: http(),
401
+ * }).extend(publicActionsL1())
402
+ * const publicClientL2 = createPublicClient({
403
+ * chain: optimism,
404
+ * transport: http(),
405
+ * })
406
+ *
407
+ * const l2BlockNumber = await getBlockNumber(publicClientL2)
408
+ * await waitForNextL2Output(publicClientL1, {
409
+ * l2BlockNumber,
410
+ * targetChain: optimism
411
+ * })
412
+ */
413
+ waitForNextL2Output: <chainOverride extends Chain | undefined = undefined>(
414
+ parameters: WaitForNextL2OutputParameters<chain, chainOverride>,
415
+ ) => Promise<WaitForNextL2OutputReturnType>
416
+ /**
417
+ * Waits until the withdrawal transaction can be finalized. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
418
+ *
419
+ * - Docs: https://viem.sh/op-stack/actions/waitToFinalize.html
420
+ *
421
+ * @param client - Client to use
422
+ * @param parameters - {@link WaitToFinalizeParameters}
423
+ *
424
+ * @example
425
+ * import { createPublicClient, http } from 'viem'
426
+ * import { getBlockNumber } from 'viem/actions'
427
+ * import { mainnet, optimism } from 'viem/chains'
428
+ * import { publicActionsL1 } from 'viem/op-stack'
429
+ *
430
+ * const publicClientL1 = createPublicClient({
431
+ * chain: mainnet,
432
+ * transport: http(),
433
+ * }).extend(publicActionsL1)
434
+ * const publicClientL2 = createPublicClient({
435
+ * chain: optimism,
436
+ * transport: http(),
437
+ * })
438
+ *
439
+ * const receipt = await getTransactionReceipt(publicClientL2, {
440
+ * hash: '0x9a2f4283636ddeb9ac32382961b22c177c9e86dd3b283735c154f897b1a7ff4a',
441
+ * })
442
+ *
443
+ * const [withdrawal] = getWithdrawals(receipt)
444
+ *
445
+ * await publicClientL1.waitToFinalize({
446
+ * withdrawalHash: withdrawal.withdrawalHash,
447
+ * targetChain: optimism
448
+ * })
449
+ */
450
+ waitToFinalize: <chainOverride extends Chain | undefined = undefined>(
451
+ parameters: WaitToFinalizeParameters<chain, chainOverride>,
452
+ ) => Promise<WaitToFinalizeReturnType>
453
+ /**
454
+ * Waits until the L2 withdrawal transaction is provable. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
455
+ *
456
+ * - Docs: https://viem.sh/op-stack/actions/waitToProve.html
457
+ *
458
+ * @param client - Client to use
459
+ * @param parameters - {@link WaitToProveParameters}
460
+ * @returns The L2 output and withdrawal message. {@link WaitToProveReturnType}
461
+ *
462
+ * @example
463
+ * import { createPublicClient, http } from 'viem'
464
+ * import { getBlockNumber } from 'viem/actions'
465
+ * import { mainnet, optimism } from 'viem/chains'
466
+ * import { publicActionsL1 } from 'viem/op-stack'
467
+ *
468
+ * const publicClientL1 = createPublicClient({
469
+ * chain: mainnet,
470
+ * transport: http(),
471
+ * }).extend(publicActionsL1)
472
+ * const publicClientL2 = createPublicClient({
473
+ * chain: optimism,
474
+ * transport: http(),
475
+ * })
476
+ *
477
+ * const receipt = await publicClientL2.getTransactionReceipt({ hash: '0x...' })
478
+ * await publicClientL1.waitToProve({
479
+ * receipt,
480
+ * targetChain: optimism
481
+ * })
482
+ */
483
+ waitToProve: <chainOverride extends Chain | undefined = undefined>(
484
+ parameters: WaitToProveParameters<chain, chainOverride>,
485
+ ) => Promise<WaitToProveReturnType>
486
+ }
487
+
488
+ export function publicActionsL1() {
489
+ return <
490
+ TTransport extends Transport,
491
+ TChain extends Chain | undefined = Chain | undefined,
492
+ TAccount extends Account | undefined = Account | undefined,
493
+ >(
494
+ client: Client<TTransport, TChain, TAccount>,
495
+ ): PublicActionsL1<TChain, TAccount> => {
496
+ return {
497
+ buildInitiateWithdrawal: (args) => buildInitiateWithdrawal(client, args),
498
+ estimateDepositTransactionGas: (args) =>
499
+ estimateDepositTransactionGas(client, args),
500
+ estimateFinalizeWithdrawalGas: (args) =>
501
+ estimateFinalizeWithdrawalGas(client, args),
502
+ estimateProveWithdrawalGas: (args) =>
503
+ estimateProveWithdrawalGas(client, args),
504
+ getL2Output: (args) => getL2Output(client, args),
505
+ getTimeToFinalize: (args) => getTimeToFinalize(client, args),
506
+ getTimeToNextL2Output: (args) => getTimeToNextL2Output(client, args),
507
+ getTimeToProve: (args) => getTimeToProve(client, args),
508
+ getWithdrawalStatus: (args) => getWithdrawalStatus(client, args),
509
+ waitForNextL2Output: (args) => waitForNextL2Output(client, args),
510
+ waitToFinalize: (args) => waitToFinalize(client, args),
511
+ waitToProve: (args) => waitToProve(client, args),
512
+ }
513
+ }
514
+ }