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,39 @@
1
+ import { getTimeToNextL2Output, } from './getTimeToNextL2Output.js';
2
+ /**
3
+ * Returns the time until the withdrawal transaction is ready to prove. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
4
+ *
5
+ * - Docs: https://viem.sh/op-stack/actions/getTimeToProve.html
6
+ *
7
+ * @param client - Client to use
8
+ * @param parameters - {@link GetTimeToNextL2OutputParameters}
9
+ * @returns Time until prove step is ready. {@link GetTimeToNextL2OutputReturnType}
10
+ *
11
+ * @example
12
+ * import { createPublicClient, http } from 'viem'
13
+ * import { getBlockNumber } from 'viem/actions'
14
+ * import { mainnet, optimism } from 'viem/chains'
15
+ * import { getTimeToProve } from 'viem/op-stack'
16
+ *
17
+ * const publicClientL1 = createPublicClient({
18
+ * chain: mainnet,
19
+ * transport: http(),
20
+ * })
21
+ * const publicClientL2 = createPublicClient({
22
+ * chain: optimism,
23
+ * transport: http(),
24
+ * })
25
+ *
26
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
27
+ * const { period, seconds, timestamp } = await getTimeToProve(publicClientL1, {
28
+ * receipt,
29
+ * targetChain: optimism
30
+ * })
31
+ */
32
+ export async function getTimeToProve(client, parameters) {
33
+ const { receipt } = parameters;
34
+ return getTimeToNextL2Output(client, {
35
+ ...parameters,
36
+ l2BlockNumber: receipt.blockNumber,
37
+ });
38
+ }
39
+ //# sourceMappingURL=getTimeToProve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTimeToProve.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/getTimeToProve.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,qBAAqB,GACtB,MAAM,4BAA4B,CAAA;AAkBnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAKlC,MAAyC,EACzC,UAA0D;IAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,OAAO,qBAAqB,CAAC,MAAM,EAAE;QACnC,GAAG,UAAU;QACb,aAAa,EAAE,OAAO,CAAC,WAAW;KACnC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { readContract, } from '../../../actions/public/readContract.js';
2
+ import { ContractFunctionRevertedError } from '../../../errors/contract.js';
3
+ import { portalAbi } from '../abis.js';
4
+ import { ReceiptContainsNoWithdrawalsError } from '../errors/withdrawal.js';
5
+ import { getWithdrawals, } from '../utils/getWithdrawals.js';
6
+ import { getL2Output } from './getL2Output.js';
7
+ import { getTimeToFinalize, } from './getTimeToFinalize.js';
8
+ /**
9
+ * Returns the current status of a withdrawal. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
10
+ *
11
+ * - Docs: https://viem.sh/op-stack/actions/getWithdrawalStatus.html
12
+ *
13
+ * @param client - Client to use
14
+ * @param parameters - {@link GetWithdrawalStatusParameters}
15
+ * @returns Status of the withdrawal. {@link GetWithdrawalStatusReturnType}
16
+ *
17
+ * @example
18
+ * import { createPublicClient, http } from 'viem'
19
+ * import { getBlockNumber } from 'viem/actions'
20
+ * import { mainnet, optimism } from 'viem/chains'
21
+ * import { getWithdrawalStatus } from 'viem/op-stack'
22
+ *
23
+ * const publicClientL1 = createPublicClient({
24
+ * chain: mainnet,
25
+ * transport: http(),
26
+ * })
27
+ * const publicClientL2 = createPublicClient({
28
+ * chain: optimism,
29
+ * transport: http(),
30
+ * })
31
+ *
32
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
33
+ * const status = await getWithdrawalStatus(publicClientL1, {
34
+ * receipt,
35
+ * targetChain: optimism
36
+ * })
37
+ */
38
+ export async function getWithdrawalStatus(client, parameters) {
39
+ const { chain = client.chain, receipt, targetChain } = parameters;
40
+ const portalAddress = (() => {
41
+ if (parameters.portalAddress)
42
+ return parameters.portalAddress;
43
+ if (chain)
44
+ return targetChain.contracts.portal[chain.id].address;
45
+ return Object.values(targetChain.contracts.portal)[0].address;
46
+ })();
47
+ const [withdrawal] = getWithdrawals(receipt);
48
+ if (!withdrawal)
49
+ throw new ReceiptContainsNoWithdrawalsError({
50
+ hash: receipt.transactionHash,
51
+ });
52
+ const [outputResult, proveResult, finalizedResult, timeToFinalizeResult] = await Promise.allSettled([
53
+ getL2Output(client, {
54
+ ...parameters,
55
+ l2BlockNumber: receipt.blockNumber,
56
+ }),
57
+ readContract(client, {
58
+ abi: portalAbi,
59
+ address: portalAddress,
60
+ functionName: 'provenWithdrawals',
61
+ args: [withdrawal.withdrawalHash],
62
+ }),
63
+ readContract(client, {
64
+ abi: portalAbi,
65
+ address: portalAddress,
66
+ functionName: 'finalizedWithdrawals',
67
+ args: [withdrawal.withdrawalHash],
68
+ }),
69
+ getTimeToFinalize(client, {
70
+ ...parameters,
71
+ withdrawalHash: withdrawal.withdrawalHash,
72
+ }),
73
+ ]);
74
+ // If the L2 Output is not processed yet (ie. the actions throws), this means
75
+ // that the withdrawal is not ready to prove.
76
+ if (outputResult.status === 'rejected') {
77
+ const error = outputResult.reason;
78
+ if (error.cause instanceof ContractFunctionRevertedError &&
79
+ error.cause.data?.args?.[0] ===
80
+ 'L2OutputOracle: cannot get output for a block that has not been proposed')
81
+ return 'waiting-to-prove';
82
+ throw error;
83
+ }
84
+ if (proveResult.status === 'rejected')
85
+ throw proveResult.reason;
86
+ if (finalizedResult.status === 'rejected')
87
+ throw finalizedResult.reason;
88
+ if (timeToFinalizeResult.status === 'rejected')
89
+ throw timeToFinalizeResult.reason;
90
+ const [_, proveTimestamp] = proveResult.value;
91
+ if (!proveTimestamp)
92
+ return 'ready-to-prove';
93
+ const finalized = finalizedResult.value;
94
+ if (finalized)
95
+ return 'finalized';
96
+ const { seconds } = timeToFinalizeResult.value;
97
+ return seconds > 0 ? 'waiting-to-finalize' : 'ready-to-finalize';
98
+ }
99
+ //# sourceMappingURL=getWithdrawalStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWithdrawalStatus.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/getWithdrawalStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,GACb,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAS3E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAE3E,OAAO,EAEL,cAAc,GACf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAEL,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAuB/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAKvC,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAEjE,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAE5C,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,iCAAiC,CAAC;YAC1C,IAAI,EAAE,OAAO,CAAC,eAAe;SAC9B,CAAC,CAAA;IAEJ,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,CAAC,GACtE,MAAM,OAAO,CAAC,UAAU,CAAC;QACvB,WAAW,CAAC,MAAM,EAAE;YAClB,GAAG,UAAU;YACb,aAAa,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC;QACF,YAAY,CAAC,MAAM,EAAE;YACnB,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;SAClC,CAAC;QACF,YAAY,CAAC,MAAM,EAAE;YACnB,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,sBAAsB;YACpC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;SAClC,CAAC;QACF,iBAAiB,CAAC,MAAM,EAAE;YACxB,GAAG,UAAU;YACb,cAAc,EAAE,UAAU,CAAC,cAAc;SAC1C,CAAC;KACH,CAAC,CAAA;IAEJ,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,MAA8B,CAAA;QACzD,IACE,KAAK,CAAC,KAAK,YAAY,6BAA6B;YACpD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,0EAA0E;YAE5E,OAAO,kBAAkB,CAAA;QAC3B,MAAM,KAAK,CAAA;IACb,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU;QAAE,MAAM,WAAW,CAAC,MAAM,CAAA;IAC/D,IAAI,eAAe,CAAC,MAAM,KAAK,UAAU;QAAE,MAAM,eAAe,CAAC,MAAM,CAAA;IACvE,IAAI,oBAAoB,CAAC,MAAM,KAAK,UAAU;QAC5C,MAAM,oBAAoB,CAAC,MAAM,CAAA;IAEnC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,WAAW,CAAC,KAAK,CAAA;IAC7C,IAAI,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAA;IAE5C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAA;IACvC,IAAI,SAAS;QAAE,OAAO,WAAW,CAAA;IAEjC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAA;IAC9C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAA;AAClE,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { writeContract, } from '../../../actions/wallet/writeContract.js';
2
+ import { l2ToL1MessagePasserAbi } from '../abis.js';
3
+ import { contracts } from '../contracts.js';
4
+ import { estimateInitiateWithdrawalGas, } from './estimateInitiateWithdrawalGas.js';
5
+ /**
6
+ * Initiates a [withdrawal](https://community.optimism.io/docs/protocol/withdrawal-flow/#withdrawal-initiating-transaction) on an L2 to the L1.
7
+ *
8
+ * Internally performs a contract write to the [`initiateWithdrawal` function](https://github.com/ethereum-optimism/optimism/blob/283f0aa2e3358ced30ff7cbd4028c0c0c3faa140/packages/contracts-bedrock/src/L2/L2ToL1MessagePasser.sol#L73)
9
+ * on the [Optimism L2ToL1MessagePasser predeploy contract](https://github.com/ethereum-optimism/optimism/blob/283f0aa2e3358ced30ff7cbd4028c0c0c3faa140/packages/contracts-bedrock/src/L2/L2ToL1MessagePasser.sol).
10
+ *
11
+ * - Docs: https://viem.sh/op-stack/actions/initiateWithdrawal.html
12
+ *
13
+ * @param client - Client to use
14
+ * @param parameters - {@link InitiateWithdrawalParameters}
15
+ * @returns The L2 transaction hash. {@link InitiateWithdrawalReturnType}
16
+ *
17
+ * @example
18
+ * import { createWalletClient, custom, parseEther } from 'viem'
19
+ * import { base, mainnet } from 'viem/chains'
20
+ * import { initiateWithdrawal } from 'viem/op-stack'
21
+ *
22
+ * const client = createWalletClient({
23
+ * chain: mainnet,
24
+ * transport: custom(window.ethereum),
25
+ * })
26
+ *
27
+ * const hash = await initiateWithdrawal(client, {
28
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
29
+ * args: {
30
+ * gas: 21_000n,
31
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
32
+ * value: parseEther('1'),
33
+ * },
34
+ * })
35
+ *
36
+ * @example
37
+ * // Account Hoisting
38
+ * import { createWalletClient, http } from 'viem'
39
+ * import { privateKeyToAccount } from 'viem/accounts'
40
+ * import { base, mainnet } from 'viem/chains'
41
+ * import { initiateWithdrawal } from 'viem/op-stack'
42
+ *
43
+ * const client = createWalletClient({
44
+ * account: privateKeyToAccount('0x…'),
45
+ * chain: mainnet,
46
+ * transport: http(),
47
+ * })
48
+ *
49
+ * const hash = await initiateWithdrawal(client, {
50
+ * request: {
51
+ * gas: 21_000n,
52
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
53
+ * value: parseEther('1'),
54
+ * },
55
+ * })
56
+ */
57
+ export async function initiateWithdrawal(client, parameters) {
58
+ const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { data = '0x', gas: l1Gas, to, value }, } = parameters;
59
+ const gas_ = typeof gas !== 'number' && gas !== null
60
+ ? await estimateInitiateWithdrawalGas(client, parameters)
61
+ : undefined;
62
+ return writeContract(client, {
63
+ account: account,
64
+ abi: l2ToL1MessagePasserAbi,
65
+ address: contracts.l2ToL1MessagePasser.address,
66
+ chain,
67
+ functionName: 'initiateWithdrawal',
68
+ args: [to, l1Gas, data],
69
+ gas: gas_,
70
+ maxFeePerGas,
71
+ maxPriorityFeePerGas,
72
+ nonce,
73
+ value,
74
+ });
75
+ }
76
+ //# sourceMappingURL=initiateWithdrawal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiateWithdrawal.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/initiateWithdrawal.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,aAAa,GACd,MAAM,0CAA0C,CAAA;AAajD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAGL,6BAA6B,GAC9B,MAAM,oCAAoC,CAAA;AAoC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAKtC,MAAyC,EACzC,UAAuE;IAEvE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAChD,GAAG,UAAU,CAAA;IAEd,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QACrC,CAAC,CAAC,MAAM,6BAA6B,CACjC,MAAM,EACN,UAAqD,CACtD;QACH,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,aAAa,CAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,sBAAsB;QAC3B,OAAO,EAAE,SAAS,CAAC,mBAAmB,CAAC,OAAO;QAC9C,KAAK;QACL,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QACvB,GAAG,EAAE,IAAI;QACT,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,KAAK;KACmC,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { writeContract, } from '../../../actions/wallet/writeContract.js';
2
+ import { portalAbi } from '../abis.js';
3
+ import { estimateProveWithdrawalGas, } from './estimateProveWithdrawalGas.js';
4
+ /**
5
+ * Proves a withdrawal that occurred on an L2. Used in the Withdrawal flow.
6
+ *
7
+ * - Docs: https://viem.sh/op-stack/actions/proveWithdrawal.html
8
+ *
9
+ * @param client - Client to use
10
+ * @param parameters - {@link ProveWithdrawalParameters}
11
+ * @returns The prove transaction hash. {@link ProveWithdrawalReturnType}
12
+ *
13
+ * @example
14
+ * import { createWalletClient, http } from 'viem'
15
+ * import { mainnet, optimism } from 'viem/chains'
16
+ * import { proveWithdrawal } from 'viem/op-stack'
17
+ *
18
+ * const walletClientL1 = createWalletClient({
19
+ * chain: mainnet,
20
+ * transport: http(),
21
+ * })
22
+ *
23
+ * const request = await proveWithdrawal(walletClientL1, {
24
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
25
+ * l2OutputIndex: 4529n,
26
+ * outputRootProof: { ... },
27
+ * targetChain: optimism,
28
+ * withdrawalProof: [ ... ],
29
+ * withdrawal: { ... },
30
+ * })
31
+ */
32
+ export async function proveWithdrawal(client, parameters) {
33
+ const { account, chain = client.chain, gas, l2OutputIndex, maxFeePerGas, maxPriorityFeePerGas, nonce, outputRootProof, targetChain, withdrawalProof, withdrawal, } = parameters;
34
+ const portalAddress = (() => {
35
+ if (parameters.portalAddress)
36
+ return parameters.portalAddress;
37
+ if (chain)
38
+ return targetChain.contracts.portal[chain.id].address;
39
+ return Object.values(targetChain.contracts.portal)[0].address;
40
+ })();
41
+ const gas_ = typeof gas !== 'number' && gas !== null
42
+ ? await estimateProveWithdrawalGas(client, parameters)
43
+ : undefined;
44
+ return writeContract(client, {
45
+ account,
46
+ abi: portalAbi,
47
+ address: portalAddress,
48
+ chain,
49
+ functionName: 'proveWithdrawalTransaction',
50
+ args: [withdrawal, l2OutputIndex, outputRootProof, withdrawalProof],
51
+ gas: gas_,
52
+ maxFeePerGas,
53
+ maxPriorityFeePerGas,
54
+ nonce,
55
+ });
56
+ }
57
+ //# sourceMappingURL=proveWithdrawal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proveWithdrawal.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/proveWithdrawal.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,GACd,MAAM,0CAA0C,CAAA;AAajD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAGL,0BAA0B,GAC3B,MAAM,iCAAiC,CAAA;AAmDxC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAKnC,MAAyC,EACzC,UAAoE;IAEpE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,GACX,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QACrC,CAAC,CAAC,MAAM,0BAA0B,CAC9B,MAAM,EACN,UAAkD,CACnD;QACH,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,aAAa,CAAC,MAAM,EAAE;QAC3B,OAAO;QACP,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,aAAa;QACtB,KAAK;QACL,YAAY,EAAE,4BAA4B;QAC1C,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;QACnE,GAAG,EAAE,IAAI;QACT,YAAY;QACZ,oBAAoB;QACpB,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { ContractFunctionRevertedError } from '../../../errors/contract.js';
2
+ import { poll } from '../../../utils/poll.js';
3
+ import { getL2Output, } from './getL2Output.js';
4
+ import { getTimeToNextL2Output, } from './getTimeToNextL2Output.js';
5
+ /**
6
+ * Waits for the next L2 output (after the provided block number) to be submitted.
7
+ *
8
+ * - Docs: https://viem.sh/op-stack/actions/waitForNextL2Output.html
9
+ *
10
+ * @param client - Client to use
11
+ * @param parameters - {@link WaitForNextL2OutputParameters}
12
+ * @returns The L2 transaction hash. {@link WaitForNextL2OutputReturnType}
13
+ *
14
+ * @example
15
+ * import { createPublicClient, http } from 'viem'
16
+ * import { getBlockNumber } from 'viem/actions'
17
+ * import { mainnet, optimism } from 'viem/chains'
18
+ * import { waitForNextL2Output } from 'viem/op-stack'
19
+ *
20
+ * const publicClientL1 = createPublicClient({
21
+ * chain: mainnet,
22
+ * transport: http(),
23
+ * })
24
+ * const publicClientL2 = createPublicClient({
25
+ * chain: optimism,
26
+ * transport: http(),
27
+ * })
28
+ *
29
+ * const l2BlockNumber = await getBlockNumber(publicClientL2)
30
+ * await waitForNextL2Output(publicClientL1, {
31
+ * l2BlockNumber,
32
+ * targetChain: optimism
33
+ * })
34
+ */
35
+ export async function waitForNextL2Output(client, parameters) {
36
+ const { pollingInterval = client.pollingInterval } = parameters;
37
+ const { seconds } = await getTimeToNextL2Output(client, parameters);
38
+ return new Promise((resolve, reject) => {
39
+ poll(async ({ unpoll }) => {
40
+ try {
41
+ const output = await getL2Output(client, parameters);
42
+ unpoll();
43
+ resolve(output);
44
+ }
45
+ catch (e) {
46
+ const error = e;
47
+ if (!(error.cause instanceof ContractFunctionRevertedError)) {
48
+ unpoll();
49
+ reject(e);
50
+ }
51
+ }
52
+ }, {
53
+ interval: pollingInterval,
54
+ initialWaitTime: async () => seconds * 1000,
55
+ });
56
+ });
57
+ }
58
+ //# sourceMappingURL=waitForNextL2Output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForNextL2Output.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitForNextL2Output.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAQ3E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE7C,OAAO,EAGL,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,qBAAqB,GACtB,MAAM,4BAA4B,CAAA;AA0BnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAKvC,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,UAAU,CAAA;IAE/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAEnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CACF,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBACpD,MAAM,EAAE,CAAA;gBACR,OAAO,CAAC,MAAM,CAAC,CAAA;YACjB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAAyB,CAAA;gBACvC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,6BAA6B,CAAC,EAAE,CAAC;oBAC5D,MAAM,EAAE,CAAA;oBACR,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC,EACD;YACE,QAAQ,EAAE,eAAe;YACzB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI;SAC5C,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { wait } from '../../../utils/wait.js';
2
+ import { getTimeToFinalize, } from './getTimeToFinalize.js';
3
+ /**
4
+ * Waits until the withdrawal transaction can be finalized. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
5
+ *
6
+ * - Docs: https://viem.sh/op-stack/actions/waitToFinalize.html
7
+ *
8
+ * @param client - Client to use
9
+ * @param parameters - {@link WaitToFinalizeParameters}
10
+ *
11
+ * @example
12
+ * import { createPublicClient, http } from 'viem'
13
+ * import { getBlockNumber } from 'viem/actions'
14
+ * import { mainnet, optimism } from 'viem/chains'
15
+ * import { waitToFinalize } from 'viem/op-stack'
16
+ *
17
+ * const publicClientL1 = createPublicClient({
18
+ * chain: mainnet,
19
+ * transport: http(),
20
+ * })
21
+ * const publicClientL2 = createPublicClient({
22
+ * chain: optimism,
23
+ * transport: http(),
24
+ * })
25
+ *
26
+ * const receipt = await getTransactionReceipt(publicClientL2, {
27
+ * hash: '0x9a2f4283636ddeb9ac32382961b22c177c9e86dd3b283735c154f897b1a7ff4a',
28
+ * })
29
+ *
30
+ * const [withdrawal] = getWithdrawals(receipt)
31
+ *
32
+ * await waitToFinalize(publicClientL1, {
33
+ * withdrawalHash: withdrawal.withdrawalHash,
34
+ * targetChain: optimism
35
+ * })
36
+ */
37
+ export async function waitToFinalize(client, parameters) {
38
+ const { seconds } = await getTimeToFinalize(client, parameters);
39
+ await wait(seconds * 1000);
40
+ }
41
+ //# sourceMappingURL=waitToFinalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitToFinalize.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitToFinalize.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAGL,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAS/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAKlC,MAAyC,EACzC,UAA0D;IAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC/D,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { ReceiptContainsNoWithdrawalsError } from '../errors/withdrawal.js';
2
+ import { getWithdrawals, } from '../utils/getWithdrawals.js';
3
+ import { waitForNextL2Output, } from './waitForNextL2Output.js';
4
+ /**
5
+ * Waits until the L2 withdrawal transaction is ready to be proved. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
6
+ *
7
+ * - Docs: https://viem.sh/op-stack/actions/waitToProve.html
8
+ *
9
+ * @param client - Client to use
10
+ * @param parameters - {@link WaitToProveParameters}
11
+ * @returns The L2 output and withdrawal message. {@link WaitToProveReturnType}
12
+ *
13
+ * @example
14
+ * import { createPublicClient, http } from 'viem'
15
+ * import { getBlockNumber } from 'viem/actions'
16
+ * import { mainnet, optimism } from 'viem/chains'
17
+ * import { waitToProve } from 'viem/op-stack'
18
+ *
19
+ * const publicClientL1 = createPublicClient({
20
+ * chain: mainnet,
21
+ * transport: http(),
22
+ * })
23
+ * const publicClientL2 = createPublicClient({
24
+ * chain: optimism,
25
+ * transport: http(),
26
+ * })
27
+ *
28
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
29
+ * await waitToProve(publicClientL1, {
30
+ * receipt,
31
+ * targetChain: optimism
32
+ * })
33
+ */
34
+ export async function waitToProve(client, parameters) {
35
+ const { receipt } = parameters;
36
+ const [withdrawal] = getWithdrawals(receipt);
37
+ if (!withdrawal)
38
+ throw new ReceiptContainsNoWithdrawalsError({
39
+ hash: receipt.transactionHash,
40
+ });
41
+ const output = await waitForNextL2Output(client, {
42
+ ...parameters,
43
+ l2BlockNumber: receipt.blockNumber,
44
+ });
45
+ return { output, withdrawal };
46
+ }
47
+ //# sourceMappingURL=waitToProve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitToProve.js","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitToProve.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAG3E,OAAO,EAEL,cAAc,GACf,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAwBjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAK/B,MAAyC,EACzC,UAAuD;IAEvD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAE5C,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,iCAAiC,CAAC;YAC1C,IAAI,EAAE,OAAO,CAAC,eAAe;SAC9B,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;QAC/C,GAAG,UAAU;QACb,aAAa,EAAE,OAAO,CAAC,WAAW;KACnC,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;AAC/B,CAAC"}
@@ -4,6 +4,8 @@ export { baseSepolia } from '../definitions/baseSepolia.js';
4
4
  export { optimism } from '../definitions/optimism.js';
5
5
  export { optimismGoerli } from '../definitions/optimismGoerli.js';
6
6
  export { optimismSepolia } from '../definitions/optimismSepolia.js';
7
+ export { pgn } from '../definitions/pgn.js';
8
+ export { pgnTestnet } from '../definitions/pgnTestnet.js';
7
9
  export { zora } from '../definitions/zora.js';
8
10
  export { zoraSepolia } from '../definitions/zoraSepolia.js';
9
11
  export { zoraTestnet } from '../definitions/zoraTestnet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../chains/opStack/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA"}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../chains/opStack/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { buildInitiateWithdrawal, } from '../actions/buildInitiateWithdrawal.js';
2
+ import { estimateDepositTransactionGas, } from '../actions/estimateDepositTransactionGas.js';
3
+ import { estimateFinalizeWithdrawalGas, } from '../actions/estimateFinalizeWithdrawalGas.js';
4
+ import { estimateProveWithdrawalGas, } from '../actions/estimateProveWithdrawalGas.js';
5
+ import { getL2Output, } from '../actions/getL2Output.js';
6
+ import { getTimeToFinalize, } from '../actions/getTimeToFinalize.js';
7
+ import { getTimeToNextL2Output, } from '../actions/getTimeToNextL2Output.js';
8
+ import { getTimeToProve, } from '../actions/getTimeToProve.js';
9
+ import { getWithdrawalStatus, } from '../actions/getWithdrawalStatus.js';
10
+ import { waitForNextL2Output, } from '../actions/waitForNextL2Output.js';
11
+ import { waitToFinalize, } from '../actions/waitToFinalize.js';
12
+ import { waitToProve, } from '../actions/waitToProve.js';
13
+ export function publicActionsL1() {
14
+ return (client) => {
15
+ return {
16
+ buildInitiateWithdrawal: (args) => buildInitiateWithdrawal(client, args),
17
+ estimateDepositTransactionGas: (args) => estimateDepositTransactionGas(client, args),
18
+ estimateFinalizeWithdrawalGas: (args) => estimateFinalizeWithdrawalGas(client, args),
19
+ estimateProveWithdrawalGas: (args) => estimateProveWithdrawalGas(client, args),
20
+ getL2Output: (args) => getL2Output(client, args),
21
+ getTimeToFinalize: (args) => getTimeToFinalize(client, args),
22
+ getTimeToNextL2Output: (args) => getTimeToNextL2Output(client, args),
23
+ getTimeToProve: (args) => getTimeToProve(client, args),
24
+ getWithdrawalStatus: (args) => getWithdrawalStatus(client, args),
25
+ waitForNextL2Output: (args) => waitForNextL2Output(client, args),
26
+ waitToFinalize: (args) => waitToFinalize(client, args),
27
+ waitToProve: (args) => waitToProve(client, args),
28
+ };
29
+ };
30
+ }
31
+ //# sourceMappingURL=publicL1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicL1.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/publicL1.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,uBAAuB,GACxB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGL,6BAA6B,GAC9B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,6BAA6B,GAC9B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,0BAA0B,GAC3B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAGL,iBAAiB,GAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAGL,mBAAmB,GACpB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAGL,mBAAmB,GACpB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAGL,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAGL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAualC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxE,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACnC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;YAChD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YACpE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;YACtD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;YAChE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;YAChE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;YACtD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;SACjD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { buildDepositTransaction, } from '../actions/buildDepositTransaction.js';
2
+ import { buildProveWithdrawal, } from '../actions/buildProveWithdrawal.js';
2
3
  import { estimateContractL1Fee, } from '../actions/estimateContractL1Fee.js';
3
4
  import { estimateContractL1Gas, } from '../actions/estimateContractL1Gas.js';
4
5
  import { estimateContractTotalFee, } from '../actions/estimateContractTotalFee.js';
5
6
  import { estimateContractTotalGas, } from '../actions/estimateContractTotalGas.js';
7
+ import { estimateInitiateWithdrawalGas, } from '../actions/estimateInitiateWithdrawalGas.js';
6
8
  import { estimateL1Fee, } from '../actions/estimateL1Fee.js';
7
9
  import { estimateL1Gas, } from '../actions/estimateL1Gas.js';
8
10
  import { estimateTotalFee, } from '../actions/estimateTotalFee.js';
@@ -10,15 +12,17 @@ import { estimateTotalGas, } from '../actions/estimateTotalGas.js';
10
12
  export function publicActionsL2() {
11
13
  return (client) => {
12
14
  return {
15
+ buildDepositTransaction: (args) => buildDepositTransaction(client, args),
16
+ buildProveWithdrawal: (args) => buildProveWithdrawal(client, args),
13
17
  estimateContractL1Fee: (args) => estimateContractL1Fee(client, args),
14
18
  estimateContractL1Gas: (args) => estimateContractL1Gas(client, args),
15
19
  estimateContractTotalFee: (args) => estimateContractTotalFee(client, args),
16
20
  estimateContractTotalGas: (args) => estimateContractTotalGas(client, args),
21
+ estimateInitiateWithdrawalGas: (args) => estimateInitiateWithdrawalGas(client, args),
17
22
  estimateL1Fee: (args) => estimateL1Fee(client, args),
18
23
  estimateL1Gas: (args) => estimateL1Gas(client, args),
19
24
  estimateTotalFee: (args) => estimateTotalFee(client, args),
20
25
  estimateTotalGas: (args) => estimateTotalGas(client, args),
21
- buildDepositTransaction: (args) => buildDepositTransaction(client, args),
22
26
  };
23
27
  };
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"publicL2.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/publicL2.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,uBAAuB,GACxB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,aAAa,GACd,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAGL,aAAa,GACd,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAGL,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAGL,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AAgTvC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YACpE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YACpE,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1D,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1D,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC;SACzE,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"publicL2.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/publicL2.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,uBAAuB,GACxB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGL,oBAAoB,GACrB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,6BAA6B,GAC9B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,aAAa,GACd,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAGL,aAAa,GACd,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAGL,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAGL,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AA+XvC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC;YAClE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YACpE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YACpE,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;YACxC,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;YACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1D,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;SAC3D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import { depositTransaction, } from '../actions/depositTransaction.js';
2
+ import { finalizeWithdrawal, } from '../actions/finalizeWithdrawal.js';
3
+ import { proveWithdrawal, } from '../actions/proveWithdrawal.js';
2
4
  export function walletActionsL1() {
3
5
  return (client) => {
4
6
  return {
5
7
  depositTransaction: (args) => depositTransaction(client, args),
8
+ finalizeWithdrawal: (args) => finalizeWithdrawal(client, args),
9
+ proveWithdrawal: (args) => proveWithdrawal(client, args),
6
10
  };
7
11
  };
8
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"walletL1.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/walletL1.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AAiEzC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;SAC/D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"walletL1.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/walletL1.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGL,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGL,eAAe,GAChB,MAAM,+BAA+B,CAAA;AA0HtC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC9D,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC9D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;SACzD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { initiateWithdrawal, } from '../actions/initiateWithdrawal.js';
2
+ export function walletActionsL2() {
3
+ return (client) => {
4
+ return {
5
+ initiateWithdrawal: (args) => initiateWithdrawal(client, args),
6
+ };
7
+ };
8
+ }
9
+ //# sourceMappingURL=walletL2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletL2.js","sourceRoot":"","sources":["../../../../chains/opStack/decorators/walletL2.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AA+DzC,MAAM,UAAU,eAAe;IAC7B,OAAO,CAKL,MAA4C,EACT,EAAE;QACrC,OAAO;YACL,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;SAC/D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseError } from '../../../errors/base.js';
2
+ export class ReceiptContainsNoWithdrawalsError extends BaseError {
3
+ constructor({ hash }) {
4
+ super(`The provided transaction receipt with hash "${hash}" contains no withdrawals.`);
5
+ Object.defineProperty(this, "name", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: 'ReceiptContainsNoWithdrawalsError'
10
+ });
11
+ }
12
+ }
13
+ //# sourceMappingURL=withdrawal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../../chains/opStack/errors/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOnD,MAAM,OAAO,iCAAkC,SAAQ,SAAS;IAE9D,YAAY,EAAE,IAAI,EAAiB;QACjC,KAAK,CACH,+CAA+C,IAAI,4BAA4B,CAChF,CAAA;QAJM;;;;mBAAO,mCAAmC;WAAA;IAKnD,CAAC;CACF"}