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

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 (457) hide show
  1. package/CHANGELOG.md +44 -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/wallet/prepareTransactionRequest.js.map +1 -1
  8. package/_cjs/chains/definitions/arbitrumSepolia.js +4 -0
  9. package/_cjs/chains/definitions/arbitrumSepolia.js.map +1 -1
  10. package/_cjs/chains/definitions/base.js +5 -0
  11. package/_cjs/chains/definitions/base.js.map +1 -1
  12. package/_cjs/chains/definitions/baseGoerli.js +5 -0
  13. package/_cjs/chains/definitions/baseGoerli.js.map +1 -1
  14. package/_cjs/chains/definitions/baseSepolia.js +5 -0
  15. package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
  16. package/_cjs/chains/definitions/fantomSonicTestnet.js +26 -0
  17. package/_cjs/chains/definitions/fantomSonicTestnet.js.map +1 -0
  18. package/_cjs/chains/definitions/optimism.js +5 -0
  19. package/_cjs/chains/definitions/optimism.js.map +1 -1
  20. package/_cjs/chains/definitions/optimismGoerli.js +5 -0
  21. package/_cjs/chains/definitions/optimismGoerli.js.map +1 -1
  22. package/_cjs/chains/definitions/optimismSepolia.js +5 -0
  23. package/_cjs/chains/definitions/optimismSepolia.js.map +1 -1
  24. package/_cjs/chains/definitions/pgn.js +12 -0
  25. package/_cjs/chains/definitions/pgn.js.map +1 -1
  26. package/_cjs/chains/definitions/pgnTestnet.js +7 -0
  27. package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
  28. package/_cjs/chains/definitions/zilliqa.js +26 -0
  29. package/_cjs/chains/definitions/zilliqa.js.map +1 -0
  30. package/_cjs/chains/definitions/zilliqaTestnet.js +26 -0
  31. package/_cjs/chains/definitions/zilliqaTestnet.js.map +1 -0
  32. package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js +35 -0
  33. package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
  34. package/_cjs/chains/definitions/zkSyncTestnet.js +4 -0
  35. package/_cjs/chains/definitions/zkSyncTestnet.js.map +1 -1
  36. package/_cjs/chains/definitions/zora.js +5 -0
  37. package/_cjs/chains/definitions/zora.js.map +1 -1
  38. package/_cjs/chains/definitions/zoraSepolia.js +5 -0
  39. package/_cjs/chains/definitions/zoraSepolia.js.map +1 -1
  40. package/_cjs/chains/index.js +12 -4
  41. package/_cjs/chains/index.js.map +1 -1
  42. package/_cjs/chains/opStack/abis.js +366 -1
  43. package/_cjs/chains/opStack/abis.js.map +1 -1
  44. package/_cjs/chains/opStack/actions/buildDepositTransaction.js +1 -1
  45. package/_cjs/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
  46. package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js +29 -0
  47. package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
  48. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js +39 -0
  49. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
  50. package/_cjs/chains/opStack/actions/depositTransaction.js +11 -6
  51. package/_cjs/chains/opStack/actions/depositTransaction.js.map +1 -1
  52. package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js +37 -0
  53. package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
  54. package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +29 -0
  55. package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
  56. package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js +24 -0
  57. package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
  58. package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js +29 -0
  59. package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
  60. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +33 -0
  61. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
  62. package/_cjs/chains/opStack/actions/getL2Output.js +30 -0
  63. package/_cjs/chains/opStack/actions/getL2Output.js.map +1 -0
  64. package/_cjs/chains/opStack/actions/getTimeToFinalize.js +46 -0
  65. package/_cjs/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
  66. package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js +63 -0
  67. package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
  68. package/_cjs/chains/opStack/actions/getTimeToProve.js +13 -0
  69. package/_cjs/chains/opStack/actions/getTimeToProve.js.map +1 -0
  70. package/_cjs/chains/opStack/actions/getWithdrawalStatus.js +71 -0
  71. package/_cjs/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
  72. package/_cjs/chains/opStack/actions/initiateWithdrawal.js +28 -0
  73. package/_cjs/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
  74. package/_cjs/chains/opStack/actions/proveWithdrawal.js +33 -0
  75. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -0
  76. package/_cjs/chains/opStack/actions/waitForNextL2Output.js +32 -0
  77. package/_cjs/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
  78. package/_cjs/chains/opStack/actions/waitToFinalize.js +11 -0
  79. package/_cjs/chains/opStack/actions/waitToFinalize.js.map +1 -0
  80. package/_cjs/chains/opStack/actions/waitToProve.js +21 -0
  81. package/_cjs/chains/opStack/actions/waitToProve.js.map +1 -0
  82. package/_cjs/chains/opStack/chains.js +5 -1
  83. package/_cjs/chains/opStack/chains.js.map +1 -1
  84. package/_cjs/chains/opStack/decorators/publicL1.js +35 -0
  85. package/_cjs/chains/opStack/decorators/publicL1.js.map +1 -0
  86. package/_cjs/chains/opStack/decorators/publicL2.js +5 -1
  87. package/_cjs/chains/opStack/decorators/publicL2.js.map +1 -1
  88. package/_cjs/chains/opStack/decorators/walletL1.js +4 -0
  89. package/_cjs/chains/opStack/decorators/walletL1.js.map +1 -1
  90. package/_cjs/chains/opStack/decorators/walletL2.js +13 -0
  91. package/_cjs/chains/opStack/decorators/walletL2.js.map +1 -0
  92. package/_cjs/chains/opStack/errors/withdrawal.js +17 -0
  93. package/_cjs/chains/opStack/errors/withdrawal.js.map +1 -0
  94. package/_cjs/chains/opStack/index.js +43 -15
  95. package/_cjs/chains/opStack/index.js.map +1 -1
  96. package/_cjs/chains/opStack/types/deposit.js +3 -0
  97. package/_cjs/chains/opStack/types/deposit.js.map +1 -0
  98. package/_cjs/chains/opStack/types/withdrawal.js +3 -0
  99. package/_cjs/chains/opStack/types/withdrawal.js.map +1 -0
  100. package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js +14 -0
  101. package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
  102. package/_cjs/chains/opStack/utils/getL2TransactionHash.js +2 -2
  103. package/_cjs/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
  104. package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js +11 -0
  105. package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
  106. package/_cjs/chains/opStack/utils/getWithdrawals.js +10 -0
  107. package/_cjs/chains/opStack/utils/getWithdrawals.js.map +1 -0
  108. package/_cjs/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +4 -4
  109. package/_cjs/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
  110. package/_cjs/errors/abi.js +21 -1
  111. package/_cjs/errors/abi.js.map +1 -1
  112. package/_cjs/errors/version.js +1 -1
  113. package/_cjs/errors/version.js.map +1 -1
  114. package/_cjs/index.js +10 -2
  115. package/_cjs/index.js.map +1 -1
  116. package/_cjs/utils/abi/getAbiItem.js +46 -3
  117. package/_cjs/utils/abi/getAbiItem.js.map +1 -1
  118. package/_cjs/utils/hash/ripemd160.js +16 -0
  119. package/_cjs/utils/hash/ripemd160.js.map +1 -0
  120. package/_cjs/utils/hash/sha256.js +16 -0
  121. package/_cjs/utils/hash/sha256.js.map +1 -0
  122. package/_cjs/utils/index.js +5 -1
  123. package/_cjs/utils/index.js.map +1 -1
  124. package/_esm/actions/ens/getEnsName.js +4 -2
  125. package/_esm/actions/ens/getEnsName.js.map +1 -1
  126. package/_esm/actions/index.js +7 -0
  127. package/_esm/actions/index.js.map +1 -1
  128. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  129. package/_esm/chains/definitions/arbitrumSepolia.js +4 -0
  130. package/_esm/chains/definitions/arbitrumSepolia.js.map +1 -1
  131. package/_esm/chains/definitions/base.js +5 -0
  132. package/_esm/chains/definitions/base.js.map +1 -1
  133. package/_esm/chains/definitions/baseGoerli.js +5 -0
  134. package/_esm/chains/definitions/baseGoerli.js.map +1 -1
  135. package/_esm/chains/definitions/baseSepolia.js +5 -0
  136. package/_esm/chains/definitions/baseSepolia.js.map +1 -1
  137. package/_esm/chains/definitions/fantomSonicTestnet.js +23 -0
  138. package/_esm/chains/definitions/fantomSonicTestnet.js.map +1 -0
  139. package/_esm/chains/definitions/optimism.js +5 -0
  140. package/_esm/chains/definitions/optimism.js.map +1 -1
  141. package/_esm/chains/definitions/optimismGoerli.js +5 -0
  142. package/_esm/chains/definitions/optimismGoerli.js.map +1 -1
  143. package/_esm/chains/definitions/optimismSepolia.js +5 -0
  144. package/_esm/chains/definitions/optimismSepolia.js.map +1 -1
  145. package/_esm/chains/definitions/pgn.js +12 -0
  146. package/_esm/chains/definitions/pgn.js.map +1 -1
  147. package/_esm/chains/definitions/pgnTestnet.js +7 -0
  148. package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
  149. package/_esm/chains/definitions/zilliqa.js +23 -0
  150. package/_esm/chains/definitions/zilliqa.js.map +1 -0
  151. package/_esm/chains/definitions/zilliqaTestnet.js +23 -0
  152. package/_esm/chains/definitions/zilliqaTestnet.js.map +1 -0
  153. package/_esm/chains/definitions/zkSyncSepoliaTestnet.js +32 -0
  154. package/_esm/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
  155. package/_esm/chains/definitions/zkSyncTestnet.js +5 -0
  156. package/_esm/chains/definitions/zkSyncTestnet.js.map +1 -1
  157. package/_esm/chains/definitions/zora.js +5 -0
  158. package/_esm/chains/definitions/zora.js.map +1 -1
  159. package/_esm/chains/definitions/zoraSepolia.js +5 -0
  160. package/_esm/chains/definitions/zoraSepolia.js.map +1 -1
  161. package/_esm/chains/index.js +4 -0
  162. package/_esm/chains/index.js.map +1 -1
  163. package/_esm/chains/opStack/abis.js +365 -0
  164. package/_esm/chains/opStack/abis.js.map +1 -1
  165. package/_esm/chains/opStack/actions/buildDepositTransaction.js +2 -2
  166. package/_esm/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
  167. package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js +50 -0
  168. package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
  169. package/_esm/chains/opStack/actions/buildProveWithdrawal.js +59 -0
  170. package/_esm/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
  171. package/_esm/chains/opStack/actions/depositTransaction.js +17 -14
  172. package/_esm/chains/opStack/actions/depositTransaction.js.map +1 -1
  173. package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js +62 -0
  174. package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
  175. package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +50 -0
  176. package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
  177. package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js +48 -0
  178. package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
  179. package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js +53 -0
  180. package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
  181. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +53 -0
  182. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
  183. package/_esm/chains/opStack/actions/getL2Output.js +50 -0
  184. package/_esm/chains/opStack/actions/getL2Output.js.map +1 -0
  185. package/_esm/chains/opStack/actions/getTimeToFinalize.js +77 -0
  186. package/_esm/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
  187. package/_esm/chains/opStack/actions/getTimeToNextL2Output.js +91 -0
  188. package/_esm/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
  189. package/_esm/chains/opStack/actions/getTimeToProve.js +39 -0
  190. package/_esm/chains/opStack/actions/getTimeToProve.js.map +1 -0
  191. package/_esm/chains/opStack/actions/getWithdrawalStatus.js +99 -0
  192. package/_esm/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
  193. package/_esm/chains/opStack/actions/initiateWithdrawal.js +76 -0
  194. package/_esm/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
  195. package/_esm/chains/opStack/actions/proveWithdrawal.js +57 -0
  196. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -0
  197. package/_esm/chains/opStack/actions/waitForNextL2Output.js +58 -0
  198. package/_esm/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
  199. package/_esm/chains/opStack/actions/waitToFinalize.js +41 -0
  200. package/_esm/chains/opStack/actions/waitToFinalize.js.map +1 -0
  201. package/_esm/chains/opStack/actions/waitToProve.js +47 -0
  202. package/_esm/chains/opStack/actions/waitToProve.js.map +1 -0
  203. package/_esm/chains/opStack/chains.js +2 -0
  204. package/_esm/chains/opStack/chains.js.map +1 -1
  205. package/_esm/chains/opStack/decorators/publicL1.js +31 -0
  206. package/_esm/chains/opStack/decorators/publicL1.js.map +1 -0
  207. package/_esm/chains/opStack/decorators/publicL2.js +5 -1
  208. package/_esm/chains/opStack/decorators/publicL2.js.map +1 -1
  209. package/_esm/chains/opStack/decorators/walletL1.js +4 -0
  210. package/_esm/chains/opStack/decorators/walletL1.js.map +1 -1
  211. package/_esm/chains/opStack/decorators/walletL2.js +9 -0
  212. package/_esm/chains/opStack/decorators/walletL2.js.map +1 -0
  213. package/_esm/chains/opStack/errors/withdrawal.js +13 -0
  214. package/_esm/chains/opStack/errors/withdrawal.js.map +1 -0
  215. package/_esm/chains/opStack/index.js +21 -3
  216. package/_esm/chains/opStack/index.js.map +1 -1
  217. package/_esm/chains/opStack/types/deposit.js +2 -0
  218. package/_esm/chains/opStack/types/deposit.js.map +1 -0
  219. package/_esm/chains/opStack/types/withdrawal.js +2 -0
  220. package/_esm/chains/opStack/types/withdrawal.js.map +1 -0
  221. package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js +10 -0
  222. package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
  223. package/_esm/chains/opStack/utils/getL2TransactionHash.js +2 -2
  224. package/_esm/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
  225. package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js +7 -0
  226. package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
  227. package/_esm/chains/opStack/utils/getWithdrawals.js +6 -0
  228. package/_esm/chains/opStack/utils/getWithdrawals.js.map +1 -0
  229. package/_esm/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +2 -2
  230. package/_esm/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
  231. package/_esm/errors/abi.js +19 -0
  232. package/_esm/errors/abi.js.map +1 -1
  233. package/_esm/errors/version.js +1 -1
  234. package/_esm/errors/version.js.map +1 -1
  235. package/_esm/index.js +4 -0
  236. package/_esm/index.js.map +1 -1
  237. package/_esm/utils/abi/getAbiItem.js +46 -2
  238. package/_esm/utils/abi/getAbiItem.js.map +1 -1
  239. package/_esm/utils/hash/ripemd160.js +12 -0
  240. package/_esm/utils/hash/ripemd160.js.map +1 -0
  241. package/_esm/utils/hash/sha256.js +12 -0
  242. package/_esm/utils/hash/sha256.js.map +1 -0
  243. package/_esm/utils/index.js +2 -0
  244. package/_esm/utils/index.js.map +1 -1
  245. package/_types/actions/ens/getEnsName.d.ts.map +1 -1
  246. package/_types/actions/index.d.ts +7 -0
  247. package/_types/actions/index.d.ts.map +1 -1
  248. package/_types/actions/wallet/prepareTransactionRequest.d.ts +5 -5
  249. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  250. package/_types/chains/celo/chainConfig.d.ts +180 -180
  251. package/_types/chains/celo/formatters.d.ts +180 -180
  252. package/_types/chains/definitions/arbitrumSepolia.d.ts +4 -0
  253. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  254. package/_types/chains/definitions/base.d.ts +142 -137
  255. package/_types/chains/definitions/base.d.ts.map +1 -1
  256. package/_types/chains/definitions/baseGoerli.d.ts +142 -137
  257. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  258. package/_types/chains/definitions/baseSepolia.d.ts +142 -137
  259. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  260. package/_types/chains/definitions/celo.d.ts +180 -180
  261. package/_types/chains/definitions/celoAlfajores.d.ts +180 -180
  262. package/_types/chains/definitions/celoCannoli.d.ts +180 -180
  263. package/_types/chains/definitions/fantomSonicTestnet.d.ts +38 -0
  264. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -0
  265. package/_types/chains/definitions/optimism.d.ts +142 -137
  266. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  267. package/_types/chains/definitions/optimismGoerli.d.ts +142 -137
  268. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  269. package/_types/chains/definitions/optimismSepolia.d.ts +142 -137
  270. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  271. package/_types/chains/definitions/pgn.d.ts +147 -137
  272. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  273. package/_types/chains/definitions/pgnTestnet.d.ts +142 -137
  274. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  275. package/_types/chains/definitions/zilliqa.d.ts +38 -0
  276. package/_types/chains/definitions/zilliqa.d.ts.map +1 -0
  277. package/_types/chains/definitions/zilliqaTestnet.d.ts +38 -0
  278. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -0
  279. package/_types/chains/definitions/zkSync.d.ts +24 -24
  280. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +533 -0
  281. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -0
  282. package/_types/chains/definitions/zkSyncTestnet.d.ts +29 -24
  283. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  284. package/_types/chains/definitions/zora.d.ts +142 -137
  285. package/_types/chains/definitions/zora.d.ts.map +1 -1
  286. package/_types/chains/definitions/zoraSepolia.d.ts +142 -137
  287. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  288. package/_types/chains/definitions/zoraTestnet.d.ts +137 -137
  289. package/_types/chains/index.d.ts +5 -1
  290. package/_types/chains/index.d.ts.map +1 -1
  291. package/_types/chains/opStack/abis.d.ts +457 -0
  292. package/_types/chains/opStack/abis.d.ts.map +1 -1
  293. package/_types/chains/opStack/actions/buildDepositTransaction.d.ts +5 -3
  294. package/_types/chains/opStack/actions/buildDepositTransaction.d.ts.map +1 -1
  295. package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts +50 -0
  296. package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts.map +1 -0
  297. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts +48 -0
  298. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts.map +1 -0
  299. package/_types/chains/opStack/actions/depositTransaction.d.ts +18 -34
  300. package/_types/chains/opStack/actions/depositTransaction.d.ts.map +1 -1
  301. package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts +50 -0
  302. package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts.map +1 -0
  303. package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts +45 -0
  304. package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts.map +1 -0
  305. package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts +51 -0
  306. package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts.map +1 -0
  307. package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts +63 -0
  308. package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts.map +1 -0
  309. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts +49 -0
  310. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -0
  311. package/_types/chains/opStack/actions/getL2Output.d.ts +44 -0
  312. package/_types/chains/opStack/actions/getL2Output.d.ts.map +1 -0
  313. package/_types/chains/opStack/actions/getTimeToFinalize.d.ts +57 -0
  314. package/_types/chains/opStack/actions/getTimeToFinalize.d.ts.map +1 -0
  315. package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts +61 -0
  316. package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts.map +1 -0
  317. package/_types/chains/opStack/actions/getTimeToProve.d.ts +50 -0
  318. package/_types/chains/opStack/actions/getTimeToProve.d.ts.map +1 -0
  319. package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts +48 -0
  320. package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts.map +1 -0
  321. package/_types/chains/opStack/actions/initiateWithdrawal.d.ts +77 -0
  322. package/_types/chains/opStack/actions/initiateWithdrawal.d.ts.map +1 -0
  323. package/_types/chains/opStack/actions/proveWithdrawal.d.ts +67 -0
  324. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -0
  325. package/_types/chains/opStack/actions/waitForNextL2Output.d.ts +55 -0
  326. package/_types/chains/opStack/actions/waitForNextL2Output.d.ts.map +1 -0
  327. package/_types/chains/opStack/actions/waitToFinalize.d.ts +45 -0
  328. package/_types/chains/opStack/actions/waitToFinalize.d.ts.map +1 -0
  329. package/_types/chains/opStack/actions/waitToProve.d.ts +55 -0
  330. package/_types/chains/opStack/actions/waitToProve.d.ts.map +1 -0
  331. package/_types/chains/opStack/chainConfig.d.ts +136 -136
  332. package/_types/chains/opStack/chains.d.ts +2 -0
  333. package/_types/chains/opStack/chains.d.ts.map +1 -1
  334. package/_types/chains/opStack/decorators/publicL1.d.ts +386 -0
  335. package/_types/chains/opStack/decorators/publicL1.d.ts.map +1 -0
  336. package/_types/chains/opStack/decorators/publicL2.d.ts +82 -26
  337. package/_types/chains/opStack/decorators/publicL2.d.ts.map +1 -1
  338. package/_types/chains/opStack/decorators/walletL1.d.ts +57 -2
  339. package/_types/chains/opStack/decorators/walletL1.d.ts.map +1 -1
  340. package/_types/chains/opStack/decorators/walletL2.d.ts +62 -0
  341. package/_types/chains/opStack/decorators/walletL2.d.ts.map +1 -0
  342. package/_types/chains/opStack/errors/withdrawal.d.ts +12 -0
  343. package/_types/chains/opStack/errors/withdrawal.d.ts.map +1 -0
  344. package/_types/chains/opStack/formatters.d.ts +136 -136
  345. package/_types/chains/opStack/index.d.ts +21 -3
  346. package/_types/chains/opStack/index.d.ts.map +1 -1
  347. package/_types/chains/opStack/types/deposit.d.ts +25 -0
  348. package/_types/chains/opStack/types/deposit.d.ts.map +1 -0
  349. package/_types/chains/opStack/types/withdrawal.d.ts +22 -0
  350. package/_types/chains/opStack/types/withdrawal.d.ts.map +1 -0
  351. package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts +137 -0
  352. package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts.map +1 -0
  353. package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts +11 -0
  354. package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts.map +1 -0
  355. package/_types/chains/opStack/utils/getWithdrawals.d.ts +12 -0
  356. package/_types/chains/opStack/utils/getWithdrawals.d.ts.map +1 -0
  357. package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts +15 -0
  358. package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts.map +1 -0
  359. package/_types/chains/zksync/chainConfig.d.ts +24 -24
  360. package/_types/chains/zksync/formatters.d.ts +24 -24
  361. package/_types/clients/decorators/public.d.ts +2 -2
  362. package/_types/clients/decorators/public.d.ts.map +1 -1
  363. package/_types/clients/decorators/wallet.d.ts +2 -2
  364. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  365. package/_types/errors/abi.d.ts +14 -1
  366. package/_types/errors/abi.d.ts.map +1 -1
  367. package/_types/errors/version.d.ts +1 -1
  368. package/_types/errors/version.d.ts.map +1 -1
  369. package/_types/index.d.ts +15 -1
  370. package/_types/index.d.ts.map +1 -1
  371. package/_types/types/account.d.ts +1 -1
  372. package/_types/types/account.d.ts.map +1 -1
  373. package/_types/types/eip1193.d.ts +12 -0
  374. package/_types/types/eip1193.d.ts.map +1 -1
  375. package/_types/utils/abi/getAbiItem.d.ts +2 -1
  376. package/_types/utils/abi/getAbiItem.d.ts.map +1 -1
  377. package/_types/utils/formatters/transaction.d.ts +1 -1
  378. package/_types/utils/formatters/transactionRequest.d.ts +1 -1
  379. package/_types/utils/hash/ripemd160.d.ts +11 -0
  380. package/_types/utils/hash/ripemd160.d.ts.map +1 -0
  381. package/_types/utils/hash/sha256.d.ts +11 -0
  382. package/_types/utils/hash/sha256.d.ts.map +1 -0
  383. package/_types/utils/index.d.ts +2 -0
  384. package/_types/utils/index.d.ts.map +1 -1
  385. package/actions/ens/getEnsName.ts +3 -2
  386. package/actions/index.ts +31 -0
  387. package/actions/wallet/prepareTransactionRequest.ts +16 -9
  388. package/chains/definitions/arbitrumSepolia.ts +4 -0
  389. package/chains/definitions/base.ts +5 -0
  390. package/chains/definitions/baseGoerli.ts +5 -0
  391. package/chains/definitions/baseSepolia.ts +5 -0
  392. package/chains/definitions/fantomSonicTestnet.ts +23 -0
  393. package/chains/definitions/optimism.ts +5 -0
  394. package/chains/definitions/optimismGoerli.ts +5 -0
  395. package/chains/definitions/optimismSepolia.ts +5 -0
  396. package/chains/definitions/pgn.ts +13 -0
  397. package/chains/definitions/pgnTestnet.ts +8 -0
  398. package/chains/definitions/zilliqa.ts +23 -0
  399. package/chains/definitions/zilliqaTestnet.ts +23 -0
  400. package/chains/definitions/zkSyncSepoliaTestnet.ts +32 -0
  401. package/chains/definitions/zkSyncTestnet.ts +5 -0
  402. package/chains/definitions/zora.ts +5 -0
  403. package/chains/definitions/zoraSepolia.ts +5 -0
  404. package/chains/index.ts +9 -0
  405. package/chains/opStack/abis.ts +367 -0
  406. package/chains/opStack/actions/buildDepositTransaction.ts +11 -6
  407. package/chains/opStack/actions/buildInitiateWithdrawal.ts +118 -0
  408. package/chains/opStack/actions/buildProveWithdrawal.ts +149 -0
  409. package/chains/opStack/actions/depositTransaction.ts +50 -44
  410. package/chains/opStack/actions/estimateDepositTransactionGas.ts +138 -0
  411. package/chains/opStack/actions/estimateFinalizeWithdrawalGas.ts +118 -0
  412. package/chains/opStack/actions/estimateInitiateWithdrawalGas.ts +118 -0
  413. package/chains/opStack/actions/estimateProveWithdrawalGas.ts +139 -0
  414. package/chains/opStack/actions/finalizeWithdrawal.ts +130 -0
  415. package/chains/opStack/actions/getL2Output.ts +89 -0
  416. package/chains/opStack/actions/getTimeToFinalize.ts +122 -0
  417. package/chains/opStack/actions/getTimeToNextL2Output.ts +162 -0
  418. package/chains/opStack/actions/getTimeToProve.ts +79 -0
  419. package/chains/opStack/actions/getWithdrawalStatus.ts +152 -0
  420. package/chains/opStack/actions/initiateWithdrawal.ts +153 -0
  421. package/chains/opStack/actions/proveWithdrawal.ts +151 -0
  422. package/chains/opStack/actions/waitForNextL2Output.ts +111 -0
  423. package/chains/opStack/actions/waitToFinalize.ts +64 -0
  424. package/chains/opStack/actions/waitToProve.ts +99 -0
  425. package/chains/opStack/chains.ts +2 -0
  426. package/chains/opStack/decorators/publicL1.ts +514 -0
  427. package/chains/opStack/decorators/publicL2.ts +129 -37
  428. package/chains/opStack/decorators/walletL1.ts +71 -2
  429. package/chains/opStack/decorators/walletL2.ts +84 -0
  430. package/chains/opStack/errors/withdrawal.ts +15 -0
  431. package/chains/opStack/index.ts +112 -21
  432. package/chains/opStack/types/deposit.ts +28 -0
  433. package/chains/opStack/types/withdrawal.ts +23 -0
  434. package/chains/opStack/utils/extractWithdrawalMessageLogs.ts +36 -0
  435. package/chains/opStack/utils/getL2TransactionHash.ts +2 -2
  436. package/chains/opStack/utils/getWithdrawalHashStorageSlot.ts +29 -0
  437. package/chains/opStack/utils/getWithdrawals.ts +25 -0
  438. package/chains/opStack/utils/{fromOpaqueData.ts → opaqueDataToDepositData.ts} +9 -4
  439. package/clients/decorators/public.ts +2 -2
  440. package/clients/decorators/wallet.ts +2 -2
  441. package/errors/abi.ts +22 -1
  442. package/errors/version.ts +1 -1
  443. package/index.ts +40 -0
  444. package/package.json +1 -1
  445. package/types/account.ts +1 -1
  446. package/types/eip1193.ts +12 -0
  447. package/utils/abi/getAbiItem.ts +71 -2
  448. package/utils/hash/ripemd160.ts +31 -0
  449. package/utils/hash/sha256.ts +31 -0
  450. package/utils/index.ts +2 -0
  451. package/_cjs/chains/opStack/utils/fromOpaqueData.js.map +0 -1
  452. package/_esm/chains/opStack/utils/fromOpaqueData.js.map +0 -1
  453. package/_types/chains/opStack/utils/fromOpaqueData.d.ts +0 -15
  454. package/_types/chains/opStack/utils/fromOpaqueData.d.ts.map +0 -1
  455. package/chains/celo/package.json +0 -6
  456. package/chains/opStack/package.json +0 -6
  457. package/chains/zksync/package.json +0 -6
@@ -0,0 +1,50 @@
1
+ import type { Client } from '../../../clients/createClient.js';
2
+ import type { Transport } from '../../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../../errors/utils.js';
4
+ import type { Account } from '../../../types/account.js';
5
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
6
+ import type { TransactionReceipt } from '../../../types/transaction.js';
7
+ import type { GetContractAddressParameter } from '../types/contract.js';
8
+ import { type GetTimeToNextL2OutputErrorType, type GetTimeToNextL2OutputParameters, type GetTimeToNextL2OutputReturnType } from './getTimeToNextL2Output.js';
9
+ export type GetTimeToProveParameters<chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = GetChainParameter<chain, chainOverride> & GetContractAddressParameter<_derivedChain, 'l2OutputOracle'> & {
10
+ /**
11
+ * The buffer to account for discrepencies between non-deterministic time intervals.
12
+ * @default 1.1
13
+ */
14
+ intervalBuffer?: GetTimeToNextL2OutputParameters['intervalBuffer'];
15
+ receipt: TransactionReceipt;
16
+ };
17
+ export type GetTimeToProveReturnType = GetTimeToNextL2OutputReturnType;
18
+ export type GetTimeToProveErrorType = GetTimeToNextL2OutputErrorType | ErrorType;
19
+ /**
20
+ * Returns the time until the withdrawal transaction is ready to prove. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
21
+ *
22
+ * - Docs: https://viem.sh/op-stack/actions/getTimeToProve.html
23
+ *
24
+ * @param client - Client to use
25
+ * @param parameters - {@link GetTimeToNextL2OutputParameters}
26
+ * @returns Time until prove step is ready. {@link GetTimeToNextL2OutputReturnType}
27
+ *
28
+ * @example
29
+ * import { createPublicClient, http } from 'viem'
30
+ * import { getBlockNumber } from 'viem/actions'
31
+ * import { mainnet, optimism } from 'viem/chains'
32
+ * import { getTimeToProve } from 'viem/op-stack'
33
+ *
34
+ * const publicClientL1 = createPublicClient({
35
+ * chain: mainnet,
36
+ * transport: http(),
37
+ * })
38
+ * const publicClientL2 = createPublicClient({
39
+ * chain: optimism,
40
+ * transport: http(),
41
+ * })
42
+ *
43
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
44
+ * const { period, seconds, timestamp } = await getTimeToProve(publicClientL1, {
45
+ * receipt,
46
+ * targetChain: optimism
47
+ * })
48
+ */
49
+ export declare function getTimeToProve<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: GetTimeToProveParameters<chain, chainOverride>): Promise<GetTimeToProveReturnType>;
50
+ //# sourceMappingURL=getTimeToProve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTimeToProve.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/getTimeToProve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EAErC,MAAM,4BAA4B,CAAA;AAEnC,MAAM,MAAM,wBAAwB,CAClC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzC,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,CAAA;IAClE,OAAO,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AACH,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,MAAM,MAAM,uBAAuB,GAAG,8BAA8B,GAAG,SAAS,CAAA;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,cAAc,CAClC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,wBAAwB,CAAC,CAOnC"}
@@ -0,0 +1,48 @@
1
+ import { type ReadContractErrorType } from '../../../actions/public/readContract.js';
2
+ import type { Client } from '../../../clients/createClient.js';
3
+ import type { Transport } from '../../../clients/transports/createTransport.js';
4
+ import type { ErrorType } from '../../../errors/utils.js';
5
+ import type { Account } from '../../../types/account.js';
6
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
7
+ import type { TransactionReceipt } from '../../../types/transaction.js';
8
+ import type { GetContractAddressParameter } from '../types/contract.js';
9
+ import { type GetWithdrawalsErrorType } from '../utils/getWithdrawals.js';
10
+ import { type GetL2OutputErrorType } from './getL2Output.js';
11
+ import { type GetTimeToFinalizeErrorType } from './getTimeToFinalize.js';
12
+ export type GetWithdrawalStatusParameters<chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = GetChainParameter<chain, chainOverride> & GetContractAddressParameter<_derivedChain, 'l2OutputOracle' | 'portal'> & {
13
+ receipt: TransactionReceipt;
14
+ };
15
+ export type GetWithdrawalStatusReturnType = 'waiting-to-prove' | 'ready-to-prove' | 'waiting-to-finalize' | 'ready-to-finalize' | 'finalized';
16
+ export type GetWithdrawalStatusErrorType = GetL2OutputErrorType | GetTimeToFinalizeErrorType | GetWithdrawalsErrorType | ReadContractErrorType | ErrorType;
17
+ /**
18
+ * Returns the current status of a withdrawal. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
19
+ *
20
+ * - Docs: https://viem.sh/op-stack/actions/getWithdrawalStatus.html
21
+ *
22
+ * @param client - Client to use
23
+ * @param parameters - {@link GetWithdrawalStatusParameters}
24
+ * @returns Status of the withdrawal. {@link GetWithdrawalStatusReturnType}
25
+ *
26
+ * @example
27
+ * import { createPublicClient, http } from 'viem'
28
+ * import { getBlockNumber } from 'viem/actions'
29
+ * import { mainnet, optimism } from 'viem/chains'
30
+ * import { getWithdrawalStatus } from 'viem/op-stack'
31
+ *
32
+ * const publicClientL1 = createPublicClient({
33
+ * chain: mainnet,
34
+ * transport: http(),
35
+ * })
36
+ * const publicClientL2 = createPublicClient({
37
+ * chain: optimism,
38
+ * transport: http(),
39
+ * })
40
+ *
41
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
42
+ * const status = await getWithdrawalStatus(publicClientL1, {
43
+ * receipt,
44
+ * targetChain: optimism
45
+ * })
46
+ */
47
+ export declare function getWithdrawalStatus<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: GetWithdrawalStatusParameters<chain, chainOverride>): Promise<GetWithdrawalStatusReturnType>;
48
+ //# sourceMappingURL=getWithdrawalStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWithdrawalStatus.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/getWithdrawalStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAGvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,kBAAkB,CAAA;AACzE,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,6BAA6B,CACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzC,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,GAAG,QAAQ,CAAC,GAAG;IACxE,OAAO,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AACH,MAAM,MAAM,6BAA6B,GACrC,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,GACrB,mBAAmB,GACnB,WAAW,CAAA;AACf,MAAM,MAAM,4BAA4B,GACpC,oBAAoB,GACpB,0BAA0B,GAC1B,uBAAuB,GACvB,qBAAqB,GACrB,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,6BAA6B,CAAC,KAAK,EAAE,aAAa,CAAC,GAC9D,OAAO,CAAC,6BAA6B,CAAC,CAiExC"}
@@ -0,0 +1,77 @@
1
+ import type { Address } from 'abitype';
2
+ import { type WriteContractErrorType } from '../../../actions/wallet/writeContract.js';
3
+ import type { Client } from '../../../clients/createClient.js';
4
+ import type { Transport } from '../../../clients/transports/createTransport.js';
5
+ import type { ErrorType } from '../../../errors/utils.js';
6
+ import type { Account, GetAccountParameter } from '../../../types/account.js';
7
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
8
+ import type { Hash } from '../../../types/misc.js';
9
+ import type { UnionEvaluate, UnionOmit } from '../../../types/utils.js';
10
+ import type { FormattedTransactionRequest } from '../../../utils/formatters/transactionRequest.js';
11
+ import type { WithdrawalRequest } from '../types/withdrawal.js';
12
+ import { type EstimateInitiateWithdrawalGasErrorType } from './estimateInitiateWithdrawalGas.js';
13
+ export type InitiateWithdrawalParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = UnionEvaluate<UnionOmit<FormattedTransactionRequest<_derivedChain>, 'accessList' | 'data' | 'from' | 'gas' | 'gasPrice' | 'to' | 'type' | 'value'>> & GetAccountParameter<account, Account | Address> & GetChainParameter<chain, chainOverride> & {
14
+ /**
15
+ * Gas limit for transaction execution on the L2.
16
+ * `null` to skip gas estimation & defer calculation to signer.
17
+ */
18
+ gas?: bigint | null;
19
+ /** Withdrawal request. Supplied to the L2ToL1MessagePasser `initiateWithdrawal` method. */
20
+ request: WithdrawalRequest;
21
+ };
22
+ export type InitiateWithdrawalReturnType = Hash;
23
+ export type InitiateWithdrawalErrorType = EstimateInitiateWithdrawalGasErrorType | WriteContractErrorType | ErrorType;
24
+ /**
25
+ * Initiates a [withdrawal](https://community.optimism.io/docs/protocol/withdrawal-flow/#withdrawal-initiating-transaction) on an L2 to the L1.
26
+ *
27
+ * 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)
28
+ * on the [Optimism L2ToL1MessagePasser predeploy contract](https://github.com/ethereum-optimism/optimism/blob/283f0aa2e3358ced30ff7cbd4028c0c0c3faa140/packages/contracts-bedrock/src/L2/L2ToL1MessagePasser.sol).
29
+ *
30
+ * - Docs: https://viem.sh/op-stack/actions/initiateWithdrawal.html
31
+ *
32
+ * @param client - Client to use
33
+ * @param parameters - {@link InitiateWithdrawalParameters}
34
+ * @returns The L2 transaction hash. {@link InitiateWithdrawalReturnType}
35
+ *
36
+ * @example
37
+ * import { createWalletClient, custom, parseEther } from 'viem'
38
+ * import { base, mainnet } from 'viem/chains'
39
+ * import { initiateWithdrawal } from 'viem/op-stack'
40
+ *
41
+ * const client = createWalletClient({
42
+ * chain: mainnet,
43
+ * transport: custom(window.ethereum),
44
+ * })
45
+ *
46
+ * const hash = await initiateWithdrawal(client, {
47
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
48
+ * args: {
49
+ * gas: 21_000n,
50
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
51
+ * value: parseEther('1'),
52
+ * },
53
+ * })
54
+ *
55
+ * @example
56
+ * // Account Hoisting
57
+ * import { createWalletClient, http } from 'viem'
58
+ * import { privateKeyToAccount } from 'viem/accounts'
59
+ * import { base, mainnet } from 'viem/chains'
60
+ * import { initiateWithdrawal } from 'viem/op-stack'
61
+ *
62
+ * const client = createWalletClient({
63
+ * account: privateKeyToAccount('0x…'),
64
+ * chain: mainnet,
65
+ * transport: http(),
66
+ * })
67
+ *
68
+ * const hash = await initiateWithdrawal(client, {
69
+ * request: {
70
+ * gas: 21_000n,
71
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
72
+ * value: parseEther('1'),
73
+ * },
74
+ * })
75
+ */
76
+ export declare function initiateWithdrawal<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: InitiateWithdrawalParameters<chain, account, chainOverride>): Promise<`0x${string}`>;
77
+ //# sourceMappingURL=initiateWithdrawal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiateWithdrawal.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/initiateWithdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAA;AAGlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EACL,KAAK,sCAAsC,EAG5C,MAAM,oCAAoC,CAAA;AAE3C,MAAM,MAAM,4BAA4B,CACtC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,aAAa,CACf,SAAS,CACP,2BAA2B,CAAC,aAAa,CAAC,EACxC,YAAY,GACZ,MAAM,GACN,MAAM,GACN,KAAK,GACL,UAAU,GACV,IAAI,GACJ,MAAM,GACN,OAAO,CACV,CACF,GACC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAC/C,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG;IACxC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,2FAA2F;IAC3F,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAA;AAC/C,MAAM,MAAM,2BAA2B,GACnC,sCAAsC,GACtC,sBAAsB,GACtB,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,0BAiCxE"}
@@ -0,0 +1,67 @@
1
+ import type { Address } from 'abitype';
2
+ import { type WriteContractErrorType } from '../../../actions/wallet/writeContract.js';
3
+ import type { Client } from '../../../clients/createClient.js';
4
+ import type { Transport } from '../../../clients/transports/createTransport.js';
5
+ import type { ErrorType } from '../../../errors/utils.js';
6
+ import type { Account, GetAccountParameter } from '../../../types/account.js';
7
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
8
+ import type { Hash, Hex } from '../../../types/misc.js';
9
+ import type { UnionEvaluate, UnionOmit } from '../../../types/utils.js';
10
+ import type { FormattedTransactionRequest } from '../../../utils/formatters/transactionRequest.js';
11
+ import type { GetContractAddressParameter } from '../types/contract.js';
12
+ import { type EstimateProveWithdrawalGasErrorType } from './estimateProveWithdrawalGas.js';
13
+ export type ProveWithdrawalParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = UnionEvaluate<UnionOmit<FormattedTransactionRequest<_derivedChain>, 'accessList' | 'data' | 'from' | 'gas' | 'gasPrice' | 'to' | 'type' | 'value'>> & GetAccountParameter<account, Account | Address> & GetChainParameter<chain, chainOverride> & GetContractAddressParameter<_derivedChain, 'portal'> & {
14
+ /**
15
+ * Gas limit for transaction execution on the L1.
16
+ * `null` to skip gas estimation & defer calculation to signer.
17
+ */
18
+ gas?: bigint | null;
19
+ l2OutputIndex: bigint;
20
+ outputRootProof: {
21
+ version: Hex;
22
+ stateRoot: Hex;
23
+ messagePasserStorageRoot: Hex;
24
+ latestBlockhash: Hex;
25
+ };
26
+ withdrawalProof: readonly Hex[];
27
+ withdrawal: {
28
+ data: Hex;
29
+ gasLimit: bigint;
30
+ nonce: bigint;
31
+ sender: Address;
32
+ target: Address;
33
+ value: bigint;
34
+ };
35
+ };
36
+ export type ProveWithdrawalReturnType = Hash;
37
+ export type ProveWithdrawalErrorType = EstimateProveWithdrawalGasErrorType | WriteContractErrorType | ErrorType;
38
+ /**
39
+ * Proves a withdrawal that occurred on an L2. Used in the Withdrawal flow.
40
+ *
41
+ * - Docs: https://viem.sh/op-stack/actions/proveWithdrawal.html
42
+ *
43
+ * @param client - Client to use
44
+ * @param parameters - {@link ProveWithdrawalParameters}
45
+ * @returns The prove transaction hash. {@link ProveWithdrawalReturnType}
46
+ *
47
+ * @example
48
+ * import { createWalletClient, http } from 'viem'
49
+ * import { mainnet, optimism } from 'viem/chains'
50
+ * import { proveWithdrawal } from 'viem/op-stack'
51
+ *
52
+ * const walletClientL1 = createWalletClient({
53
+ * chain: mainnet,
54
+ * transport: http(),
55
+ * })
56
+ *
57
+ * const request = await proveWithdrawal(walletClientL1, {
58
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
59
+ * l2OutputIndex: 4529n,
60
+ * outputRootProof: { ... },
61
+ * targetChain: optimism,
62
+ * withdrawalProof: [ ... ],
63
+ * withdrawal: { ... },
64
+ * })
65
+ */
66
+ export declare function proveWithdrawal<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: ProveWithdrawalParameters<chain, account, chainOverride>): Promise<ProveWithdrawalReturnType>;
67
+ //# sourceMappingURL=proveWithdrawal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proveWithdrawal.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/proveWithdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAA;AAElG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,KAAK,mCAAmC,EAGzC,MAAM,iCAAiC,CAAA;AAExC,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,aAAa,CACf,SAAS,CACP,2BAA2B,CAAC,aAAa,CAAC,EACxC,YAAY,GACZ,MAAM,GACN,MAAM,GACN,KAAK,GACL,UAAU,GACV,IAAI,GACJ,MAAM,GACN,OAAO,CACV,CACF,GACC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAC/C,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACvC,2BAA2B,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG;IACrD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE;QACf,OAAO,EAAE,GAAG,CAAA;QACZ,SAAS,EAAE,GAAG,CAAA;QACd,wBAAwB,EAAE,GAAG,CAAA;QAC7B,eAAe,EAAE,GAAG,CAAA;KACrB,CAAA;IACD,eAAe,EAAE,SAAS,GAAG,EAAE,CAAA;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,GAAG,CAAA;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,OAAO,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAC5C,MAAM,MAAM,wBAAwB,GAChC,mCAAmC,GACnC,sBAAsB,GACtB,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,eAAe,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,GACnE,OAAO,CAAC,yBAAyB,CAAC,CAyCpC"}
@@ -0,0 +1,55 @@
1
+ import type { Client } from '../../../clients/createClient.js';
2
+ import type { Transport } from '../../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../../errors/utils.js';
4
+ import type { Account } from '../../../types/account.js';
5
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
6
+ import type { GetContractAddressParameter } from '../types/contract.js';
7
+ import { type GetL2OutputErrorType, type GetL2OutputReturnType } from './getL2Output.js';
8
+ import { type GetTimeToNextL2OutputErrorType, type GetTimeToNextL2OutputParameters } from './getTimeToNextL2Output.js';
9
+ export type WaitForNextL2OutputParameters<chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = GetChainParameter<chain, chainOverride> & GetContractAddressParameter<_derivedChain, 'l2OutputOracle'> & {
10
+ /**
11
+ * The buffer to account for discrepencies between non-deterministic time intervals.
12
+ * @default 1.1
13
+ */
14
+ intervalBuffer?: GetTimeToNextL2OutputParameters['intervalBuffer'];
15
+ l2BlockNumber: bigint;
16
+ /**
17
+ * Polling frequency (in ms). Defaults to Client's pollingInterval config.
18
+ * @default client.pollingInterval
19
+ */
20
+ pollingInterval?: number;
21
+ };
22
+ export type WaitForNextL2OutputReturnType = GetL2OutputReturnType;
23
+ export type WaitForNextL2OutputErrorType = GetL2OutputErrorType | GetTimeToNextL2OutputErrorType | ErrorType;
24
+ /**
25
+ * Waits for the next L2 output (after the provided block number) to be submitted.
26
+ *
27
+ * - Docs: https://viem.sh/op-stack/actions/waitForNextL2Output.html
28
+ *
29
+ * @param client - Client to use
30
+ * @param parameters - {@link WaitForNextL2OutputParameters}
31
+ * @returns The L2 transaction hash. {@link WaitForNextL2OutputReturnType}
32
+ *
33
+ * @example
34
+ * import { createPublicClient, http } from 'viem'
35
+ * import { getBlockNumber } from 'viem/actions'
36
+ * import { mainnet, optimism } from 'viem/chains'
37
+ * import { waitForNextL2Output } from 'viem/op-stack'
38
+ *
39
+ * const publicClientL1 = createPublicClient({
40
+ * chain: mainnet,
41
+ * transport: http(),
42
+ * })
43
+ * const publicClientL2 = createPublicClient({
44
+ * chain: optimism,
45
+ * transport: http(),
46
+ * })
47
+ *
48
+ * const l2BlockNumber = await getBlockNumber(publicClientL2)
49
+ * await waitForNextL2Output(publicClientL1, {
50
+ * l2BlockNumber,
51
+ * targetChain: optimism
52
+ * })
53
+ */
54
+ export declare function waitForNextL2Output<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: WaitForNextL2OutputParameters<chain, chainOverride>): Promise<WaitForNextL2OutputReturnType>;
55
+ //# sourceMappingURL=waitForNextL2Output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForNextL2Output.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitForNextL2Output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EAErC,MAAM,4BAA4B,CAAA;AAEnC,MAAM,MAAM,6BAA6B,CACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzC,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,CAAA;IAClE,aAAa,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AACH,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,CAAA;AACjE,MAAM,MAAM,4BAA4B,GACpC,oBAAoB,GACpB,8BAA8B,GAC9B,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,6BAA6B,CAAC,KAAK,EAAE,aAAa,CAAC,GAC9D,OAAO,CAAC,6BAA6B,CAAC,CA0BxC"}
@@ -0,0 +1,45 @@
1
+ import type { Client } from '../../../clients/createClient.js';
2
+ import type { Transport } from '../../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../../errors/utils.js';
4
+ import type { Account } from '../../../types/account.js';
5
+ import type { Chain } from '../../../types/chain.js';
6
+ import { type GetTimeToFinalizeErrorType, type GetTimeToFinalizeParameters } from './getTimeToFinalize.js';
7
+ export type WaitToFinalizeParameters<chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined> = GetTimeToFinalizeParameters<chain, chainOverride>;
8
+ export type WaitToFinalizeReturnType = void;
9
+ export type WaitToFinalizeErrorType = GetTimeToFinalizeErrorType | ErrorType;
10
+ /**
11
+ * Waits until the withdrawal transaction can be finalized. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
12
+ *
13
+ * - Docs: https://viem.sh/op-stack/actions/waitToFinalize.html
14
+ *
15
+ * @param client - Client to use
16
+ * @param parameters - {@link WaitToFinalizeParameters}
17
+ *
18
+ * @example
19
+ * import { createPublicClient, http } from 'viem'
20
+ * import { getBlockNumber } from 'viem/actions'
21
+ * import { mainnet, optimism } from 'viem/chains'
22
+ * import { waitToFinalize } from 'viem/op-stack'
23
+ *
24
+ * const publicClientL1 = createPublicClient({
25
+ * chain: mainnet,
26
+ * transport: http(),
27
+ * })
28
+ * const publicClientL2 = createPublicClient({
29
+ * chain: optimism,
30
+ * transport: http(),
31
+ * })
32
+ *
33
+ * const receipt = await getTransactionReceipt(publicClientL2, {
34
+ * hash: '0x9a2f4283636ddeb9ac32382961b22c177c9e86dd3b283735c154f897b1a7ff4a',
35
+ * })
36
+ *
37
+ * const [withdrawal] = getWithdrawals(receipt)
38
+ *
39
+ * await waitToFinalize(publicClientL1, {
40
+ * withdrawalHash: withdrawal.withdrawalHash,
41
+ * targetChain: optimism
42
+ * })
43
+ */
44
+ export declare function waitToFinalize<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: WaitToFinalizeParameters<chain, chainOverride>): Promise<WaitToFinalizeReturnType>;
45
+ //# sourceMappingURL=waitToFinalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitToFinalize.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitToFinalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,wBAAwB,CAClC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACzD,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;AACrD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAAG,SAAS,CAAA;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,cAAc,CAClC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzD,OAAO,CAAC,wBAAwB,CAAC,CAGnC"}
@@ -0,0 +1,55 @@
1
+ import type { Client } from '../../../clients/createClient.js';
2
+ import type { Transport } from '../../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../../errors/utils.js';
4
+ import type { Account } from '../../../types/account.js';
5
+ import type { Chain, DeriveChain, GetChainParameter } from '../../../types/chain.js';
6
+ import type { TransactionReceipt } from '../../../types/transaction.js';
7
+ import type { GetContractAddressParameter } from '../types/contract.js';
8
+ import type { Withdrawal } from '../types/withdrawal.js';
9
+ import { type GetWithdrawalsErrorType } from '../utils/getWithdrawals.js';
10
+ import { type WaitForNextL2OutputErrorType, type WaitForNextL2OutputReturnType } from './waitForNextL2Output.js';
11
+ export type WaitToProveParameters<chain extends Chain | undefined = Chain | undefined, chainOverride extends Chain | undefined = Chain | undefined, _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = GetChainParameter<chain, chainOverride> & GetContractAddressParameter<_derivedChain, 'l2OutputOracle'> & {
12
+ receipt: TransactionReceipt;
13
+ /**
14
+ * Polling frequency (in ms). Defaults to Client's pollingInterval config.
15
+ * @default client.pollingInterval
16
+ */
17
+ pollingInterval?: number;
18
+ };
19
+ export type WaitToProveReturnType = {
20
+ withdrawal: Withdrawal;
21
+ output: WaitForNextL2OutputReturnType;
22
+ };
23
+ export type WaitToProveErrorType = GetWithdrawalsErrorType | WaitForNextL2OutputErrorType | ErrorType;
24
+ /**
25
+ * Waits until the L2 withdrawal transaction is ready to be proved. Used for the [Withdrawal](/op-stack/guides/withdrawals.html) flow.
26
+ *
27
+ * - Docs: https://viem.sh/op-stack/actions/waitToProve.html
28
+ *
29
+ * @param client - Client to use
30
+ * @param parameters - {@link WaitToProveParameters}
31
+ * @returns The L2 output and withdrawal message. {@link WaitToProveReturnType}
32
+ *
33
+ * @example
34
+ * import { createPublicClient, http } from 'viem'
35
+ * import { getBlockNumber } from 'viem/actions'
36
+ * import { mainnet, optimism } from 'viem/chains'
37
+ * import { waitToProve } from 'viem/op-stack'
38
+ *
39
+ * const publicClientL1 = createPublicClient({
40
+ * chain: mainnet,
41
+ * transport: http(),
42
+ * })
43
+ * const publicClientL2 = createPublicClient({
44
+ * chain: optimism,
45
+ * transport: http(),
46
+ * })
47
+ *
48
+ * const receipt = await getTransactionReceipt(publicClientL2, { hash: '0x...' })
49
+ * await waitToProve(publicClientL1, {
50
+ * receipt,
51
+ * targetChain: optimism
52
+ * })
53
+ */
54
+ export declare function waitToProve<chain extends Chain | undefined, account extends Account | undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: WaitToProveParameters<chain, chainOverride>): Promise<WaitToProveReturnType>;
55
+ //# sourceMappingURL=waitToProve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitToProve.d.ts","sourceRoot":"","sources":["../../../../chains/opStack/actions/waitToProve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAEnC,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAC3D,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,IACzE,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,GACzC,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG;IAC7D,OAAO,EAAE,kBAAkB,CAAA;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,6BAA6B,CAAA;CACtC,CAAA;AACD,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAC/B,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,EACnC,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,GACtD,OAAO,CAAC,qBAAqB,CAAC,CAgBhC"}