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.
- package/CHANGELOG.md +44 -0
- package/README.md +9 -3
- package/_cjs/actions/ens/getEnsName.js +4 -2
- package/_cjs/actions/ens/getEnsName.js.map +1 -1
- package/_cjs/actions/index.js +16 -2
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_cjs/chains/definitions/arbitrumSepolia.js +4 -0
- package/_cjs/chains/definitions/arbitrumSepolia.js.map +1 -1
- package/_cjs/chains/definitions/base.js +5 -0
- package/_cjs/chains/definitions/base.js.map +1 -1
- package/_cjs/chains/definitions/baseGoerli.js +5 -0
- package/_cjs/chains/definitions/baseGoerli.js.map +1 -1
- package/_cjs/chains/definitions/baseSepolia.js +5 -0
- package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
- package/_cjs/chains/definitions/fantomSonicTestnet.js +26 -0
- package/_cjs/chains/definitions/fantomSonicTestnet.js.map +1 -0
- package/_cjs/chains/definitions/optimism.js +5 -0
- package/_cjs/chains/definitions/optimism.js.map +1 -1
- package/_cjs/chains/definitions/optimismGoerli.js +5 -0
- package/_cjs/chains/definitions/optimismGoerli.js.map +1 -1
- package/_cjs/chains/definitions/optimismSepolia.js +5 -0
- package/_cjs/chains/definitions/optimismSepolia.js.map +1 -1
- package/_cjs/chains/definitions/pgn.js +12 -0
- package/_cjs/chains/definitions/pgn.js.map +1 -1
- package/_cjs/chains/definitions/pgnTestnet.js +7 -0
- package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
- package/_cjs/chains/definitions/zilliqa.js +26 -0
- package/_cjs/chains/definitions/zilliqa.js.map +1 -0
- package/_cjs/chains/definitions/zilliqaTestnet.js +26 -0
- package/_cjs/chains/definitions/zilliqaTestnet.js.map +1 -0
- package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js +35 -0
- package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
- package/_cjs/chains/definitions/zkSyncTestnet.js +4 -0
- package/_cjs/chains/definitions/zkSyncTestnet.js.map +1 -1
- package/_cjs/chains/definitions/zora.js +5 -0
- package/_cjs/chains/definitions/zora.js.map +1 -1
- package/_cjs/chains/definitions/zoraSepolia.js +5 -0
- package/_cjs/chains/definitions/zoraSepolia.js.map +1 -1
- package/_cjs/chains/index.js +12 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/chains/opStack/abis.js +366 -1
- package/_cjs/chains/opStack/abis.js.map +1 -1
- package/_cjs/chains/opStack/actions/buildDepositTransaction.js +1 -1
- package/_cjs/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
- package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js +29 -0
- package/_cjs/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
- package/_cjs/chains/opStack/actions/buildProveWithdrawal.js +39 -0
- package/_cjs/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
- package/_cjs/chains/opStack/actions/depositTransaction.js +11 -6
- package/_cjs/chains/opStack/actions/depositTransaction.js.map +1 -1
- package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js +37 -0
- package/_cjs/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
- package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +29 -0
- package/_cjs/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
- package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js +24 -0
- package/_cjs/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
- package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js +29 -0
- package/_cjs/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
- package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +33 -0
- package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
- package/_cjs/chains/opStack/actions/getL2Output.js +30 -0
- package/_cjs/chains/opStack/actions/getL2Output.js.map +1 -0
- package/_cjs/chains/opStack/actions/getTimeToFinalize.js +46 -0
- package/_cjs/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
- package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js +63 -0
- package/_cjs/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
- package/_cjs/chains/opStack/actions/getTimeToProve.js +13 -0
- package/_cjs/chains/opStack/actions/getTimeToProve.js.map +1 -0
- package/_cjs/chains/opStack/actions/getWithdrawalStatus.js +71 -0
- package/_cjs/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
- package/_cjs/chains/opStack/actions/initiateWithdrawal.js +28 -0
- package/_cjs/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
- package/_cjs/chains/opStack/actions/proveWithdrawal.js +33 -0
- package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -0
- package/_cjs/chains/opStack/actions/waitForNextL2Output.js +32 -0
- package/_cjs/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
- package/_cjs/chains/opStack/actions/waitToFinalize.js +11 -0
- package/_cjs/chains/opStack/actions/waitToFinalize.js.map +1 -0
- package/_cjs/chains/opStack/actions/waitToProve.js +21 -0
- package/_cjs/chains/opStack/actions/waitToProve.js.map +1 -0
- package/_cjs/chains/opStack/chains.js +5 -1
- package/_cjs/chains/opStack/chains.js.map +1 -1
- package/_cjs/chains/opStack/decorators/publicL1.js +35 -0
- package/_cjs/chains/opStack/decorators/publicL1.js.map +1 -0
- package/_cjs/chains/opStack/decorators/publicL2.js +5 -1
- package/_cjs/chains/opStack/decorators/publicL2.js.map +1 -1
- package/_cjs/chains/opStack/decorators/walletL1.js +4 -0
- package/_cjs/chains/opStack/decorators/walletL1.js.map +1 -1
- package/_cjs/chains/opStack/decorators/walletL2.js +13 -0
- package/_cjs/chains/opStack/decorators/walletL2.js.map +1 -0
- package/_cjs/chains/opStack/errors/withdrawal.js +17 -0
- package/_cjs/chains/opStack/errors/withdrawal.js.map +1 -0
- package/_cjs/chains/opStack/index.js +43 -15
- package/_cjs/chains/opStack/index.js.map +1 -1
- package/_cjs/chains/opStack/types/deposit.js +3 -0
- package/_cjs/chains/opStack/types/deposit.js.map +1 -0
- package/_cjs/chains/opStack/types/withdrawal.js +3 -0
- package/_cjs/chains/opStack/types/withdrawal.js.map +1 -0
- package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js +14 -0
- package/_cjs/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
- package/_cjs/chains/opStack/utils/getL2TransactionHash.js +2 -2
- package/_cjs/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
- package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js +11 -0
- package/_cjs/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
- package/_cjs/chains/opStack/utils/getWithdrawals.js +10 -0
- package/_cjs/chains/opStack/utils/getWithdrawals.js.map +1 -0
- package/_cjs/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +4 -4
- package/_cjs/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
- package/_cjs/errors/abi.js +21 -1
- package/_cjs/errors/abi.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/index.js +10 -2
- package/_cjs/index.js.map +1 -1
- package/_cjs/utils/abi/getAbiItem.js +46 -3
- package/_cjs/utils/abi/getAbiItem.js.map +1 -1
- package/_cjs/utils/hash/ripemd160.js +16 -0
- package/_cjs/utils/hash/ripemd160.js.map +1 -0
- package/_cjs/utils/hash/sha256.js +16 -0
- package/_cjs/utils/hash/sha256.js.map +1 -0
- package/_cjs/utils/index.js +5 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_esm/actions/ens/getEnsName.js +4 -2
- package/_esm/actions/ens/getEnsName.js.map +1 -1
- package/_esm/actions/index.js +7 -0
- package/_esm/actions/index.js.map +1 -1
- package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_esm/chains/definitions/arbitrumSepolia.js +4 -0
- package/_esm/chains/definitions/arbitrumSepolia.js.map +1 -1
- package/_esm/chains/definitions/base.js +5 -0
- package/_esm/chains/definitions/base.js.map +1 -1
- package/_esm/chains/definitions/baseGoerli.js +5 -0
- package/_esm/chains/definitions/baseGoerli.js.map +1 -1
- package/_esm/chains/definitions/baseSepolia.js +5 -0
- package/_esm/chains/definitions/baseSepolia.js.map +1 -1
- package/_esm/chains/definitions/fantomSonicTestnet.js +23 -0
- package/_esm/chains/definitions/fantomSonicTestnet.js.map +1 -0
- package/_esm/chains/definitions/optimism.js +5 -0
- package/_esm/chains/definitions/optimism.js.map +1 -1
- package/_esm/chains/definitions/optimismGoerli.js +5 -0
- package/_esm/chains/definitions/optimismGoerli.js.map +1 -1
- package/_esm/chains/definitions/optimismSepolia.js +5 -0
- package/_esm/chains/definitions/optimismSepolia.js.map +1 -1
- package/_esm/chains/definitions/pgn.js +12 -0
- package/_esm/chains/definitions/pgn.js.map +1 -1
- package/_esm/chains/definitions/pgnTestnet.js +7 -0
- package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
- package/_esm/chains/definitions/zilliqa.js +23 -0
- package/_esm/chains/definitions/zilliqa.js.map +1 -0
- package/_esm/chains/definitions/zilliqaTestnet.js +23 -0
- package/_esm/chains/definitions/zilliqaTestnet.js.map +1 -0
- package/_esm/chains/definitions/zkSyncSepoliaTestnet.js +32 -0
- package/_esm/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -0
- package/_esm/chains/definitions/zkSyncTestnet.js +5 -0
- package/_esm/chains/definitions/zkSyncTestnet.js.map +1 -1
- package/_esm/chains/definitions/zora.js +5 -0
- package/_esm/chains/definitions/zora.js.map +1 -1
- package/_esm/chains/definitions/zoraSepolia.js +5 -0
- package/_esm/chains/definitions/zoraSepolia.js.map +1 -1
- package/_esm/chains/index.js +4 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/chains/opStack/abis.js +365 -0
- package/_esm/chains/opStack/abis.js.map +1 -1
- package/_esm/chains/opStack/actions/buildDepositTransaction.js +2 -2
- package/_esm/chains/opStack/actions/buildDepositTransaction.js.map +1 -1
- package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js +50 -0
- package/_esm/chains/opStack/actions/buildInitiateWithdrawal.js.map +1 -0
- package/_esm/chains/opStack/actions/buildProveWithdrawal.js +59 -0
- package/_esm/chains/opStack/actions/buildProveWithdrawal.js.map +1 -0
- package/_esm/chains/opStack/actions/depositTransaction.js +17 -14
- package/_esm/chains/opStack/actions/depositTransaction.js.map +1 -1
- package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js +62 -0
- package/_esm/chains/opStack/actions/estimateDepositTransactionGas.js.map +1 -0
- package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js +50 -0
- package/_esm/chains/opStack/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
- package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js +48 -0
- package/_esm/chains/opStack/actions/estimateInitiateWithdrawalGas.js.map +1 -0
- package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js +53 -0
- package/_esm/chains/opStack/actions/estimateProveWithdrawalGas.js.map +1 -0
- package/_esm/chains/opStack/actions/finalizeWithdrawal.js +53 -0
- package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -0
- package/_esm/chains/opStack/actions/getL2Output.js +50 -0
- package/_esm/chains/opStack/actions/getL2Output.js.map +1 -0
- package/_esm/chains/opStack/actions/getTimeToFinalize.js +77 -0
- package/_esm/chains/opStack/actions/getTimeToFinalize.js.map +1 -0
- package/_esm/chains/opStack/actions/getTimeToNextL2Output.js +91 -0
- package/_esm/chains/opStack/actions/getTimeToNextL2Output.js.map +1 -0
- package/_esm/chains/opStack/actions/getTimeToProve.js +39 -0
- package/_esm/chains/opStack/actions/getTimeToProve.js.map +1 -0
- package/_esm/chains/opStack/actions/getWithdrawalStatus.js +99 -0
- package/_esm/chains/opStack/actions/getWithdrawalStatus.js.map +1 -0
- package/_esm/chains/opStack/actions/initiateWithdrawal.js +76 -0
- package/_esm/chains/opStack/actions/initiateWithdrawal.js.map +1 -0
- package/_esm/chains/opStack/actions/proveWithdrawal.js +57 -0
- package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -0
- package/_esm/chains/opStack/actions/waitForNextL2Output.js +58 -0
- package/_esm/chains/opStack/actions/waitForNextL2Output.js.map +1 -0
- package/_esm/chains/opStack/actions/waitToFinalize.js +41 -0
- package/_esm/chains/opStack/actions/waitToFinalize.js.map +1 -0
- package/_esm/chains/opStack/actions/waitToProve.js +47 -0
- package/_esm/chains/opStack/actions/waitToProve.js.map +1 -0
- package/_esm/chains/opStack/chains.js +2 -0
- package/_esm/chains/opStack/chains.js.map +1 -1
- package/_esm/chains/opStack/decorators/publicL1.js +31 -0
- package/_esm/chains/opStack/decorators/publicL1.js.map +1 -0
- package/_esm/chains/opStack/decorators/publicL2.js +5 -1
- package/_esm/chains/opStack/decorators/publicL2.js.map +1 -1
- package/_esm/chains/opStack/decorators/walletL1.js +4 -0
- package/_esm/chains/opStack/decorators/walletL1.js.map +1 -1
- package/_esm/chains/opStack/decorators/walletL2.js +9 -0
- package/_esm/chains/opStack/decorators/walletL2.js.map +1 -0
- package/_esm/chains/opStack/errors/withdrawal.js +13 -0
- package/_esm/chains/opStack/errors/withdrawal.js.map +1 -0
- package/_esm/chains/opStack/index.js +21 -3
- package/_esm/chains/opStack/index.js.map +1 -1
- package/_esm/chains/opStack/types/deposit.js +2 -0
- package/_esm/chains/opStack/types/deposit.js.map +1 -0
- package/_esm/chains/opStack/types/withdrawal.js +2 -0
- package/_esm/chains/opStack/types/withdrawal.js.map +1 -0
- package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js +10 -0
- package/_esm/chains/opStack/utils/extractWithdrawalMessageLogs.js.map +1 -0
- package/_esm/chains/opStack/utils/getL2TransactionHash.js +2 -2
- package/_esm/chains/opStack/utils/getL2TransactionHash.js.map +1 -1
- package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js +7 -0
- package/_esm/chains/opStack/utils/getWithdrawalHashStorageSlot.js.map +1 -0
- package/_esm/chains/opStack/utils/getWithdrawals.js +6 -0
- package/_esm/chains/opStack/utils/getWithdrawals.js.map +1 -0
- package/_esm/chains/opStack/utils/{fromOpaqueData.js → opaqueDataToDepositData.js} +2 -2
- package/_esm/chains/opStack/utils/opaqueDataToDepositData.js.map +1 -0
- package/_esm/errors/abi.js +19 -0
- package/_esm/errors/abi.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/index.js +4 -0
- package/_esm/index.js.map +1 -1
- package/_esm/utils/abi/getAbiItem.js +46 -2
- package/_esm/utils/abi/getAbiItem.js.map +1 -1
- package/_esm/utils/hash/ripemd160.js +12 -0
- package/_esm/utils/hash/ripemd160.js.map +1 -0
- package/_esm/utils/hash/sha256.js +12 -0
- package/_esm/utils/hash/sha256.js.map +1 -0
- package/_esm/utils/index.js +2 -0
- package/_esm/utils/index.js.map +1 -1
- package/_types/actions/ens/getEnsName.d.ts.map +1 -1
- package/_types/actions/index.d.ts +7 -0
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/actions/wallet/prepareTransactionRequest.d.ts +5 -5
- package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
- package/_types/chains/celo/chainConfig.d.ts +180 -180
- package/_types/chains/celo/formatters.d.ts +180 -180
- package/_types/chains/definitions/arbitrumSepolia.d.ts +4 -0
- package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts +142 -137
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/baseGoerli.d.ts +142 -137
- package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/baseSepolia.d.ts +142 -137
- package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/celo.d.ts +180 -180
- package/_types/chains/definitions/celoAlfajores.d.ts +180 -180
- package/_types/chains/definitions/celoCannoli.d.ts +180 -180
- package/_types/chains/definitions/fantomSonicTestnet.d.ts +38 -0
- package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/optimism.d.ts +142 -137
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/optimismGoerli.d.ts +142 -137
- package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/optimismSepolia.d.ts +142 -137
- package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/pgn.d.ts +147 -137
- package/_types/chains/definitions/pgn.d.ts.map +1 -1
- package/_types/chains/definitions/pgnTestnet.d.ts +142 -137
- package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zilliqa.d.ts +38 -0
- package/_types/chains/definitions/zilliqa.d.ts.map +1 -0
- package/_types/chains/definitions/zilliqaTestnet.d.ts +38 -0
- package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/zkSync.d.ts +24 -24
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +533 -0
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/zkSyncTestnet.d.ts +29 -24
- package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zora.d.ts +142 -137
- package/_types/chains/definitions/zora.d.ts.map +1 -1
- package/_types/chains/definitions/zoraSepolia.d.ts +142 -137
- package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/zoraTestnet.d.ts +137 -137
- package/_types/chains/index.d.ts +5 -1
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/chains/opStack/abis.d.ts +457 -0
- package/_types/chains/opStack/abis.d.ts.map +1 -1
- package/_types/chains/opStack/actions/buildDepositTransaction.d.ts +5 -3
- package/_types/chains/opStack/actions/buildDepositTransaction.d.ts.map +1 -1
- package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts +50 -0
- package/_types/chains/opStack/actions/buildInitiateWithdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts +48 -0
- package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/actions/depositTransaction.d.ts +18 -34
- package/_types/chains/opStack/actions/depositTransaction.d.ts.map +1 -1
- package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts +50 -0
- package/_types/chains/opStack/actions/estimateDepositTransactionGas.d.ts.map +1 -0
- package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts +45 -0
- package/_types/chains/opStack/actions/estimateFinalizeWithdrawalGas.d.ts.map +1 -0
- package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts +51 -0
- package/_types/chains/opStack/actions/estimateInitiateWithdrawalGas.d.ts.map +1 -0
- package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts +63 -0
- package/_types/chains/opStack/actions/estimateProveWithdrawalGas.d.ts.map +1 -0
- package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts +49 -0
- package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/actions/getL2Output.d.ts +44 -0
- package/_types/chains/opStack/actions/getL2Output.d.ts.map +1 -0
- package/_types/chains/opStack/actions/getTimeToFinalize.d.ts +57 -0
- package/_types/chains/opStack/actions/getTimeToFinalize.d.ts.map +1 -0
- package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts +61 -0
- package/_types/chains/opStack/actions/getTimeToNextL2Output.d.ts.map +1 -0
- package/_types/chains/opStack/actions/getTimeToProve.d.ts +50 -0
- package/_types/chains/opStack/actions/getTimeToProve.d.ts.map +1 -0
- package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts +48 -0
- package/_types/chains/opStack/actions/getWithdrawalStatus.d.ts.map +1 -0
- package/_types/chains/opStack/actions/initiateWithdrawal.d.ts +77 -0
- package/_types/chains/opStack/actions/initiateWithdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/actions/proveWithdrawal.d.ts +67 -0
- package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/actions/waitForNextL2Output.d.ts +55 -0
- package/_types/chains/opStack/actions/waitForNextL2Output.d.ts.map +1 -0
- package/_types/chains/opStack/actions/waitToFinalize.d.ts +45 -0
- package/_types/chains/opStack/actions/waitToFinalize.d.ts.map +1 -0
- package/_types/chains/opStack/actions/waitToProve.d.ts +55 -0
- package/_types/chains/opStack/actions/waitToProve.d.ts.map +1 -0
- package/_types/chains/opStack/chainConfig.d.ts +136 -136
- package/_types/chains/opStack/chains.d.ts +2 -0
- package/_types/chains/opStack/chains.d.ts.map +1 -1
- package/_types/chains/opStack/decorators/publicL1.d.ts +386 -0
- package/_types/chains/opStack/decorators/publicL1.d.ts.map +1 -0
- package/_types/chains/opStack/decorators/publicL2.d.ts +82 -26
- package/_types/chains/opStack/decorators/publicL2.d.ts.map +1 -1
- package/_types/chains/opStack/decorators/walletL1.d.ts +57 -2
- package/_types/chains/opStack/decorators/walletL1.d.ts.map +1 -1
- package/_types/chains/opStack/decorators/walletL2.d.ts +62 -0
- package/_types/chains/opStack/decorators/walletL2.d.ts.map +1 -0
- package/_types/chains/opStack/errors/withdrawal.d.ts +12 -0
- package/_types/chains/opStack/errors/withdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/formatters.d.ts +136 -136
- package/_types/chains/opStack/index.d.ts +21 -3
- package/_types/chains/opStack/index.d.ts.map +1 -1
- package/_types/chains/opStack/types/deposit.d.ts +25 -0
- package/_types/chains/opStack/types/deposit.d.ts.map +1 -0
- package/_types/chains/opStack/types/withdrawal.d.ts +22 -0
- package/_types/chains/opStack/types/withdrawal.d.ts.map +1 -0
- package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts +137 -0
- package/_types/chains/opStack/utils/extractWithdrawalMessageLogs.d.ts.map +1 -0
- package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts +11 -0
- package/_types/chains/opStack/utils/getWithdrawalHashStorageSlot.d.ts.map +1 -0
- package/_types/chains/opStack/utils/getWithdrawals.d.ts +12 -0
- package/_types/chains/opStack/utils/getWithdrawals.d.ts.map +1 -0
- package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts +15 -0
- package/_types/chains/opStack/utils/opaqueDataToDepositData.d.ts.map +1 -0
- package/_types/chains/zksync/chainConfig.d.ts +24 -24
- package/_types/chains/zksync/formatters.d.ts +24 -24
- package/_types/clients/decorators/public.d.ts +2 -2
- package/_types/clients/decorators/public.d.ts.map +1 -1
- package/_types/clients/decorators/wallet.d.ts +2 -2
- package/_types/clients/decorators/wallet.d.ts.map +1 -1
- package/_types/errors/abi.d.ts +14 -1
- package/_types/errors/abi.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/errors/version.d.ts.map +1 -1
- package/_types/index.d.ts +15 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/types/account.d.ts +1 -1
- package/_types/types/account.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +12 -0
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/utils/abi/getAbiItem.d.ts +2 -1
- package/_types/utils/abi/getAbiItem.d.ts.map +1 -1
- package/_types/utils/formatters/transaction.d.ts +1 -1
- package/_types/utils/formatters/transactionRequest.d.ts +1 -1
- package/_types/utils/hash/ripemd160.d.ts +11 -0
- package/_types/utils/hash/ripemd160.d.ts.map +1 -0
- package/_types/utils/hash/sha256.d.ts +11 -0
- package/_types/utils/hash/sha256.d.ts.map +1 -0
- package/_types/utils/index.d.ts +2 -0
- package/_types/utils/index.d.ts.map +1 -1
- package/actions/ens/getEnsName.ts +3 -2
- package/actions/index.ts +31 -0
- package/actions/wallet/prepareTransactionRequest.ts +16 -9
- package/chains/definitions/arbitrumSepolia.ts +4 -0
- package/chains/definitions/base.ts +5 -0
- package/chains/definitions/baseGoerli.ts +5 -0
- package/chains/definitions/baseSepolia.ts +5 -0
- package/chains/definitions/fantomSonicTestnet.ts +23 -0
- package/chains/definitions/optimism.ts +5 -0
- package/chains/definitions/optimismGoerli.ts +5 -0
- package/chains/definitions/optimismSepolia.ts +5 -0
- package/chains/definitions/pgn.ts +13 -0
- package/chains/definitions/pgnTestnet.ts +8 -0
- package/chains/definitions/zilliqa.ts +23 -0
- package/chains/definitions/zilliqaTestnet.ts +23 -0
- package/chains/definitions/zkSyncSepoliaTestnet.ts +32 -0
- package/chains/definitions/zkSyncTestnet.ts +5 -0
- package/chains/definitions/zora.ts +5 -0
- package/chains/definitions/zoraSepolia.ts +5 -0
- package/chains/index.ts +9 -0
- package/chains/opStack/abis.ts +367 -0
- package/chains/opStack/actions/buildDepositTransaction.ts +11 -6
- package/chains/opStack/actions/buildInitiateWithdrawal.ts +118 -0
- package/chains/opStack/actions/buildProveWithdrawal.ts +149 -0
- package/chains/opStack/actions/depositTransaction.ts +50 -44
- package/chains/opStack/actions/estimateDepositTransactionGas.ts +138 -0
- package/chains/opStack/actions/estimateFinalizeWithdrawalGas.ts +118 -0
- package/chains/opStack/actions/estimateInitiateWithdrawalGas.ts +118 -0
- package/chains/opStack/actions/estimateProveWithdrawalGas.ts +139 -0
- package/chains/opStack/actions/finalizeWithdrawal.ts +130 -0
- package/chains/opStack/actions/getL2Output.ts +89 -0
- package/chains/opStack/actions/getTimeToFinalize.ts +122 -0
- package/chains/opStack/actions/getTimeToNextL2Output.ts +162 -0
- package/chains/opStack/actions/getTimeToProve.ts +79 -0
- package/chains/opStack/actions/getWithdrawalStatus.ts +152 -0
- package/chains/opStack/actions/initiateWithdrawal.ts +153 -0
- package/chains/opStack/actions/proveWithdrawal.ts +151 -0
- package/chains/opStack/actions/waitForNextL2Output.ts +111 -0
- package/chains/opStack/actions/waitToFinalize.ts +64 -0
- package/chains/opStack/actions/waitToProve.ts +99 -0
- package/chains/opStack/chains.ts +2 -0
- package/chains/opStack/decorators/publicL1.ts +514 -0
- package/chains/opStack/decorators/publicL2.ts +129 -37
- package/chains/opStack/decorators/walletL1.ts +71 -2
- package/chains/opStack/decorators/walletL2.ts +84 -0
- package/chains/opStack/errors/withdrawal.ts +15 -0
- package/chains/opStack/index.ts +112 -21
- package/chains/opStack/types/deposit.ts +28 -0
- package/chains/opStack/types/withdrawal.ts +23 -0
- package/chains/opStack/utils/extractWithdrawalMessageLogs.ts +36 -0
- package/chains/opStack/utils/getL2TransactionHash.ts +2 -2
- package/chains/opStack/utils/getWithdrawalHashStorageSlot.ts +29 -0
- package/chains/opStack/utils/getWithdrawals.ts +25 -0
- package/chains/opStack/utils/{fromOpaqueData.ts → opaqueDataToDepositData.ts} +9 -4
- package/clients/decorators/public.ts +2 -2
- package/clients/decorators/wallet.ts +2 -2
- package/errors/abi.ts +22 -1
- package/errors/version.ts +1 -1
- package/index.ts +40 -0
- package/package.json +1 -1
- package/types/account.ts +1 -1
- package/types/eip1193.ts +12 -0
- package/utils/abi/getAbiItem.ts +71 -2
- package/utils/hash/ripemd160.ts +31 -0
- package/utils/hash/sha256.ts +31 -0
- package/utils/index.ts +2 -0
- package/_cjs/chains/opStack/utils/fromOpaqueData.js.map +0 -1
- package/_esm/chains/opStack/utils/fromOpaqueData.js.map +0 -1
- package/_types/chains/opStack/utils/fromOpaqueData.d.ts +0 -15
- package/_types/chains/opStack/utils/fromOpaqueData.d.ts.map +0 -1
- package/chains/celo/package.json +0 -6
- package/chains/opStack/package.json +0 -6
- 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"}
|