viem 2.18.8 → 2.19.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +34 -0
- package/README.md +1 -1
- package/_cjs/account-abstraction/errors/bundler.js +36 -216
- package/_cjs/account-abstraction/errors/bundler.js.map +1 -1
- package/_cjs/account-abstraction/errors/userOperation.js +5 -26
- package/_cjs/account-abstraction/errors/userOperation.js.map +1 -1
- package/_cjs/accounts/index.js +3 -1
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/privateKeyToAccount.js +4 -0
- package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
- package/_cjs/accounts/toAccount.js +1 -0
- package/_cjs/accounts/toAccount.js.map +1 -1
- package/_cjs/accounts/utils/signAuthorization.js +22 -0
- package/_cjs/accounts/utils/signAuthorization.js.map +1 -0
- package/_cjs/actions/public/estimateGas.js +48 -10
- package/_cjs/actions/public/estimateGas.js.map +1 -1
- package/_cjs/actions/public/simulateContract.js.map +1 -1
- package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_cjs/actions/wallet/sendTransaction.js +21 -3
- package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/_cjs/actions/wallet/writeContract.js.map +1 -1
- package/_cjs/chains/definitions/abstractTestnet.js +2 -0
- package/_cjs/chains/definitions/abstractTestnet.js.map +1 -1
- package/_cjs/chains/definitions/{zkSync.js → zksync.js} +6 -5
- package/_cjs/chains/definitions/{zkSync.js.map → zksync.js.map} +1 -1
- package/_cjs/chains/definitions/{zkSyncInMemoryNode.js → zksyncInMemoryNode.js} +4 -4
- package/_cjs/chains/definitions/{zkSyncInMemoryNode.js.map → zksyncInMemoryNode.js.map} +1 -1
- package/_cjs/chains/definitions/{zkSyncLocalNode.js → zksyncLocalNode.js} +4 -4
- package/_cjs/chains/definitions/{zkSyncLocalNode.js.map → zksyncLocalNode.js.map} +1 -1
- package/_cjs/chains/definitions/{zkSyncSepoliaTestnet.js → zksyncSepoliaTestnet.js} +7 -5
- package/_cjs/chains/definitions/zksyncSepoliaTestnet.js.map +1 -0
- package/_cjs/chains/index.js +13 -11
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/errors/abi.js +32 -163
- package/_cjs/errors/abi.js.map +1 -1
- package/_cjs/errors/account.js +2 -12
- package/_cjs/errors/account.js.map +1 -1
- package/_cjs/errors/address.js +1 -6
- package/_cjs/errors/address.js.map +1 -1
- package/_cjs/errors/base.js +29 -18
- package/_cjs/errors/base.js.map +1 -1
- package/_cjs/errors/blob.js +4 -25
- package/_cjs/errors/blob.js.map +1 -1
- package/_cjs/errors/block.js +1 -7
- package/_cjs/errors/block.js.map +1 -1
- package/_cjs/errors/ccip.js +3 -18
- package/_cjs/errors/ccip.js.map +1 -1
- package/_cjs/errors/chain.js +7 -31
- package/_cjs/errors/chain.js.map +1 -1
- package/_cjs/errors/contract.js +6 -37
- package/_cjs/errors/contract.js.map +1 -1
- package/_cjs/errors/cursor.js +4 -20
- package/_cjs/errors/cursor.js.map +1 -1
- package/_cjs/errors/data.js +3 -21
- package/_cjs/errors/data.js.map +1 -1
- package/_cjs/errors/eip712.js +1 -6
- package/_cjs/errors/eip712.js.map +1 -1
- package/_cjs/errors/encoding.js +6 -34
- package/_cjs/errors/encoding.js.map +1 -1
- package/_cjs/errors/ens.js +5 -26
- package/_cjs/errors/ens.js.map +1 -1
- package/_cjs/errors/estimateGas.js +1 -6
- package/_cjs/errors/estimateGas.js.map +1 -1
- package/_cjs/errors/fee.js +5 -19
- package/_cjs/errors/fee.js.map +1 -1
- package/_cjs/errors/log.js +2 -6
- package/_cjs/errors/log.js.map +1 -1
- package/_cjs/errors/node.js +12 -75
- package/_cjs/errors/node.js.map +1 -1
- package/_cjs/errors/request.js +5 -30
- package/_cjs/errors/request.js.map +1 -1
- package/_cjs/errors/rpc.js +22 -122
- package/_cjs/errors/rpc.js.map +1 -1
- package/_cjs/errors/siwe.js +1 -7
- package/_cjs/errors/siwe.js.map +1 -1
- package/_cjs/errors/stateOverride.js +4 -12
- package/_cjs/errors/stateOverride.js.map +1 -1
- package/_cjs/errors/transaction.js +15 -63
- package/_cjs/errors/transaction.js.map +1 -1
- package/_cjs/errors/transport.js +1 -0
- package/_cjs/errors/transport.js.map +1 -1
- package/_cjs/errors/utils.js +1 -4
- package/_cjs/errors/utils.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/experimental/eip5792/decorators/eip5792.js +2 -2
- package/_cjs/experimental/eip5792/decorators/eip5792.js.map +1 -1
- package/_cjs/experimental/eip7702/actions/signAuthorization.js +41 -0
- package/_cjs/experimental/eip7702/actions/signAuthorization.js.map +1 -0
- package/_cjs/experimental/eip7702/decorators/eip7702.js +12 -0
- package/_cjs/experimental/eip7702/decorators/eip7702.js.map +1 -0
- package/_cjs/experimental/eip7702/types/authorization.js +3 -0
- package/_cjs/experimental/eip7702/types/authorization.js.map +1 -0
- package/_cjs/experimental/eip7702/types/rpc.js +3 -0
- package/_cjs/experimental/eip7702/types/rpc.js.map +1 -0
- package/_cjs/experimental/eip7702/utils/hashAuthorization.js +23 -0
- package/_cjs/experimental/eip7702/utils/hashAuthorization.js.map +1 -0
- package/_cjs/experimental/eip7702/utils/recoverAuthorizationAddress.js +13 -0
- package/_cjs/experimental/eip7702/utils/recoverAuthorizationAddress.js.map +1 -0
- package/_cjs/experimental/eip7702/utils/serializeAuthorizationList.js +21 -0
- package/_cjs/experimental/eip7702/utils/serializeAuthorizationList.js.map +1 -0
- package/_cjs/experimental/eip7702/utils/verifyAuthorization.js +13 -0
- package/_cjs/experimental/eip7702/utils/verifyAuthorization.js.map +1 -0
- package/_cjs/experimental/erc7715/decorators/erc7715.js +2 -2
- package/_cjs/experimental/erc7715/decorators/erc7715.js.map +1 -1
- package/_cjs/experimental/index.js +22 -8
- package/_cjs/experimental/index.js.map +1 -1
- package/_cjs/index.js +7 -6
- package/_cjs/index.js.map +1 -1
- package/_cjs/op-stack/errors/withdrawal.js +2 -14
- package/_cjs/op-stack/errors/withdrawal.js.map +1 -1
- package/_cjs/utils/formatters/transaction.js +19 -0
- package/_cjs/utils/formatters/transaction.js.map +1 -1
- package/_cjs/utils/formatters/transactionRequest.js +19 -0
- package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
- package/_cjs/utils/transaction/assertTransaction.js +15 -3
- package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
- package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
- package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
- package/_cjs/utils/transaction/getTransactionType.js +2 -0
- package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
- package/_cjs/utils/transaction/parseTransaction.js +70 -0
- package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
- package/_cjs/utils/transaction/serializeTransaction.js +25 -0
- package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
- package/_cjs/zksync/chains.js +9 -7
- package/_cjs/zksync/chains.js.map +1 -1
- package/_cjs/zksync/errors/bytecode.js +3 -21
- package/_cjs/zksync/errors/bytecode.js.map +1 -1
- package/_cjs/zksync/errors/token-is-eth.js +1 -7
- package/_cjs/zksync/errors/token-is-eth.js.map +1 -1
- package/_cjs/zksync/errors/transaction.js +1 -7
- package/_cjs/zksync/errors/transaction.js.map +1 -1
- package/_cjs/zksync/index.js +9 -4
- package/_cjs/zksync/index.js.map +1 -1
- package/_cjs/zksync/utils/getEip712Domain.js +1 -1
- package/_cjs/zksync/utils/isEip712Transaction.js.map +1 -1
- package/_esm/account-abstraction/errors/bundler.js +36 -216
- package/_esm/account-abstraction/errors/bundler.js.map +1 -1
- package/_esm/account-abstraction/errors/userOperation.js +5 -26
- package/_esm/account-abstraction/errors/userOperation.js.map +1 -1
- package/_esm/accounts/index.js +1 -0
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/privateKeyToAccount.js +4 -0
- package/_esm/accounts/privateKeyToAccount.js.map +1 -1
- package/_esm/accounts/toAccount.js +1 -0
- package/_esm/accounts/toAccount.js.map +1 -1
- package/_esm/accounts/utils/signAuthorization.js +22 -0
- package/_esm/accounts/utils/signAuthorization.js.map +1 -0
- package/_esm/actions/public/estimateGas.js +55 -10
- package/_esm/actions/public/estimateGas.js.map +1 -1
- package/_esm/actions/public/simulateContract.js.map +1 -1
- package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_esm/actions/wallet/sendTransaction.js +25 -3
- package/_esm/actions/wallet/sendTransaction.js.map +1 -1
- package/_esm/actions/wallet/writeContract.js.map +1 -1
- package/_esm/chains/definitions/abstractTestnet.js +2 -0
- package/_esm/chains/definitions/abstractTestnet.js.map +1 -1
- package/_esm/chains/definitions/{zkSync.js → zksync.js} +5 -4
- package/_esm/chains/definitions/{zkSync.js.map → zksync.js.map} +1 -1
- package/_esm/chains/definitions/{zkSyncInMemoryNode.js → zksyncInMemoryNode.js} +3 -3
- package/_esm/chains/definitions/{zkSyncInMemoryNode.js.map → zksyncInMemoryNode.js.map} +1 -1
- package/_esm/chains/definitions/{zkSyncLocalNode.js → zksyncLocalNode.js} +3 -3
- package/_esm/chains/definitions/{zkSyncLocalNode.js.map → zksyncLocalNode.js.map} +1 -1
- package/_esm/chains/definitions/{zkSyncSepoliaTestnet.js → zksyncSepoliaTestnet.js} +6 -4
- package/_esm/chains/definitions/{zkSyncSepoliaTestnet.js.map → zksyncSepoliaTestnet.js.map} +1 -1
- package/_esm/chains/index.js +12 -5
- package/_esm/chains/index.js.map +1 -1
- package/_esm/errors/abi.js +32 -163
- package/_esm/errors/abi.js.map +1 -1
- package/_esm/errors/account.js +2 -12
- package/_esm/errors/account.js.map +1 -1
- package/_esm/errors/address.js +1 -6
- package/_esm/errors/address.js.map +1 -1
- package/_esm/errors/base.js +27 -17
- package/_esm/errors/base.js.map +1 -1
- package/_esm/errors/blob.js +4 -25
- package/_esm/errors/blob.js.map +1 -1
- package/_esm/errors/block.js +1 -7
- package/_esm/errors/block.js.map +1 -1
- package/_esm/errors/ccip.js +3 -18
- package/_esm/errors/ccip.js.map +1 -1
- package/_esm/errors/chain.js +7 -31
- package/_esm/errors/chain.js.map +1 -1
- package/_esm/errors/contract.js +6 -37
- package/_esm/errors/contract.js.map +1 -1
- package/_esm/errors/cursor.js +4 -20
- package/_esm/errors/cursor.js.map +1 -1
- package/_esm/errors/data.js +3 -21
- package/_esm/errors/data.js.map +1 -1
- package/_esm/errors/eip712.js +1 -6
- package/_esm/errors/eip712.js.map +1 -1
- package/_esm/errors/encoding.js +6 -34
- package/_esm/errors/encoding.js.map +1 -1
- package/_esm/errors/ens.js +5 -26
- package/_esm/errors/ens.js.map +1 -1
- package/_esm/errors/estimateGas.js +1 -6
- package/_esm/errors/estimateGas.js.map +1 -1
- package/_esm/errors/fee.js +5 -19
- package/_esm/errors/fee.js.map +1 -1
- package/_esm/errors/log.js +2 -6
- package/_esm/errors/log.js.map +1 -1
- package/_esm/errors/node.js +12 -75
- package/_esm/errors/node.js.map +1 -1
- package/_esm/errors/request.js +5 -30
- package/_esm/errors/request.js.map +1 -1
- package/_esm/errors/rpc.js +22 -122
- package/_esm/errors/rpc.js.map +1 -1
- package/_esm/errors/siwe.js +1 -7
- package/_esm/errors/siwe.js.map +1 -1
- package/_esm/errors/stateOverride.js +4 -12
- package/_esm/errors/stateOverride.js.map +1 -1
- package/_esm/errors/transaction.js +15 -63
- package/_esm/errors/transaction.js.map +1 -1
- package/_esm/errors/transport.js +1 -0
- package/_esm/errors/transport.js.map +1 -1
- package/_esm/errors/utils.js +0 -2
- package/_esm/errors/utils.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/experimental/eip5792/decorators/eip5792.js +3 -3
- package/_esm/experimental/eip5792/decorators/eip5792.js.map +1 -1
- package/_esm/experimental/eip7702/actions/signAuthorization.js +80 -0
- package/_esm/experimental/eip7702/actions/signAuthorization.js.map +1 -0
- package/_esm/experimental/eip7702/decorators/eip7702.js +24 -0
- package/_esm/experimental/eip7702/decorators/eip7702.js.map +1 -0
- package/_esm/experimental/eip7702/types/authorization.js +2 -0
- package/_esm/experimental/eip7702/types/authorization.js.map +1 -0
- package/_esm/experimental/eip7702/types/rpc.js +2 -0
- package/_esm/experimental/eip7702/types/rpc.js.map +1 -0
- package/_esm/experimental/eip7702/utils/hashAuthorization.js +23 -0
- package/_esm/experimental/eip7702/utils/hashAuthorization.js.map +1 -0
- package/_esm/experimental/eip7702/utils/recoverAuthorizationAddress.js +10 -0
- package/_esm/experimental/eip7702/utils/recoverAuthorizationAddress.js.map +1 -0
- package/_esm/experimental/eip7702/utils/serializeAuthorizationList.js +21 -0
- package/_esm/experimental/eip7702/utils/serializeAuthorizationList.js.map +1 -0
- package/_esm/experimental/eip7702/utils/verifyAuthorization.js +18 -0
- package/_esm/experimental/eip7702/utils/verifyAuthorization.js.map +1 -0
- package/_esm/experimental/erc7715/decorators/erc7715.js +3 -3
- package/_esm/experimental/erc7715/decorators/erc7715.js.map +1 -1
- package/_esm/experimental/index.js +16 -4
- package/_esm/experimental/index.js.map +1 -1
- package/_esm/index.js +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/op-stack/errors/withdrawal.js +2 -14
- package/_esm/op-stack/errors/withdrawal.js.map +1 -1
- package/_esm/utils/formatters/transaction.js +20 -0
- package/_esm/utils/formatters/transaction.js.map +1 -1
- package/_esm/utils/formatters/transactionRequest.js +20 -0
- package/_esm/utils/formatters/transactionRequest.js.map +1 -1
- package/_esm/utils/transaction/assertTransaction.js +14 -3
- package/_esm/utils/transaction/assertTransaction.js.map +1 -1
- package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
- package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
- package/_esm/utils/transaction/getTransactionType.js +2 -0
- package/_esm/utils/transaction/getTransactionType.js.map +1 -1
- package/_esm/utils/transaction/parseTransaction.js +71 -1
- package/_esm/utils/transaction/parseTransaction.js.map +1 -1
- package/_esm/utils/transaction/serializeTransaction.js +26 -1
- package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/_esm/zksync/actions/deployContract.js +1 -1
- package/_esm/zksync/actions/sendEip712Transaction.js +4 -4
- package/_esm/zksync/actions/sendTransaction.js +4 -4
- package/_esm/zksync/actions/signEip712Transaction.js +4 -4
- package/_esm/zksync/actions/signTransaction.js +4 -4
- package/_esm/zksync/chains.js +4 -3
- package/_esm/zksync/chains.js.map +1 -1
- package/_esm/zksync/errors/bytecode.js +3 -21
- package/_esm/zksync/errors/bytecode.js.map +1 -1
- package/_esm/zksync/errors/token-is-eth.js +1 -7
- package/_esm/zksync/errors/token-is-eth.js.map +1 -1
- package/_esm/zksync/errors/transaction.js +1 -7
- package/_esm/zksync/errors/transaction.js.map +1 -1
- package/_esm/zksync/index.js +9 -1
- package/_esm/zksync/index.js.map +1 -1
- package/_esm/zksync/utils/getEip712Domain.js +1 -1
- package/_esm/zksync/utils/isEip712Transaction.js.map +1 -1
- package/_types/account-abstraction/errors/bundler.d.ts +0 -36
- package/_types/account-abstraction/errors/bundler.d.ts.map +1 -1
- package/_types/account-abstraction/errors/userOperation.d.ts +0 -4
- package/_types/account-abstraction/errors/userOperation.d.ts.map +1 -1
- package/_types/accounts/index.d.ts +1 -0
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
- package/_types/accounts/toAccount.d.ts.map +1 -1
- package/_types/accounts/types.d.ts +7 -3
- package/_types/accounts/types.d.ts.map +1 -1
- package/_types/accounts/utils/signAuthorization.d.ts +20 -0
- package/_types/accounts/utils/signAuthorization.d.ts.map +1 -0
- package/_types/actions/public/estimateGas.d.ts +2 -1
- package/_types/actions/public/estimateGas.d.ts.map +1 -1
- package/_types/actions/public/simulateContract.d.ts +18 -6
- package/_types/actions/public/simulateContract.d.ts.map +1 -1
- package/_types/actions/wallet/prepareTransactionRequest.d.ts +2 -2
- package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransaction.d.ts +2 -1
- package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/writeContract.d.ts +3 -2
- package/_types/actions/wallet/writeContract.d.ts.map +1 -1
- package/_types/celo/chainConfig.d.ts +144 -20
- package/_types/celo/chainConfig.d.ts.map +1 -1
- package/_types/celo/formatters.d.ts +72 -10
- package/_types/celo/formatters.d.ts.map +1 -1
- package/_types/celo/serializers.d.ts +1 -1
- package/_types/celo/serializers.d.ts.map +1 -1
- package/_types/chains/definitions/abstractTestnet.d.ts +373 -3
- package/_types/chains/definitions/abstractTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/ancient8.d.ts +32 -0
- package/_types/chains/definitions/ancient8.d.ts.map +1 -1
- package/_types/chains/definitions/ancient8Sepolia.d.ts +32 -0
- package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts +32 -0
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/baseGoerli.d.ts +32 -0
- package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/baseSepolia.d.ts +32 -0
- package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/celo.d.ts +144 -20
- package/_types/chains/definitions/celo.d.ts.map +1 -1
- package/_types/chains/definitions/celoAlfajores.d.ts +144 -20
- package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
- package/_types/chains/definitions/dchain.d.ts +32 -0
- package/_types/chains/definitions/dchain.d.ts.map +1 -1
- package/_types/chains/definitions/dchainTestnet.d.ts +32 -0
- package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/fraxtal.d.ts +32 -0
- package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
- package/_types/chains/definitions/fraxtalTestnet.d.ts +32 -0
- package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/funkiMainnet.d.ts +32 -0
- package/_types/chains/definitions/funkiMainnet.d.ts.map +1 -1
- package/_types/chains/definitions/funkiSepolia.d.ts +32 -0
- package/_types/chains/definitions/funkiSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/lisk.d.ts +32 -0
- package/_types/chains/definitions/lisk.d.ts.map +1 -1
- package/_types/chains/definitions/liskSepolia.d.ts +32 -0
- package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/metalL2.d.ts +32 -0
- package/_types/chains/definitions/metalL2.d.ts.map +1 -1
- package/_types/chains/definitions/modeTestnet.d.ts +32 -0
- package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/optimism.d.ts +32 -0
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/optimismGoerli.d.ts +32 -0
- package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/optimismSepolia.d.ts +32 -0
- package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/pgn.d.ts +32 -0
- package/_types/chains/definitions/pgn.d.ts.map +1 -1
- package/_types/chains/definitions/pgnTestnet.d.ts +32 -0
- package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/playfiAlbireo.d.ts +64 -10
- package/_types/chains/definitions/playfiAlbireo.d.ts.map +1 -1
- package/_types/chains/definitions/rss3.d.ts +32 -0
- package/_types/chains/definitions/rss3.d.ts.map +1 -1
- package/_types/chains/definitions/rss3Sepolia.d.ts +32 -0
- package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -1
- package/_types/chains/definitions/{zkSync.d.ts → zksync.d.ts} +69 -14
- package/_types/chains/definitions/{zkSync.d.ts.map → zksync.d.ts.map} +1 -1
- package/_types/chains/definitions/{zkSyncInMemoryNode.d.ts → zksyncInMemoryNode.d.ts} +67 -13
- package/_types/chains/definitions/{zkSyncInMemoryNode.d.ts.map → zksyncInMemoryNode.d.ts.map} +1 -1
- package/_types/chains/definitions/{zkSyncLocalNode.d.ts → zksyncLocalNode.d.ts} +67 -13
- package/_types/chains/definitions/{zkSyncLocalNode.d.ts.map → zksyncLocalNode.d.ts.map} +1 -1
- package/_types/chains/definitions/{zkSyncSepoliaTestnet.d.ts → zksyncSepoliaTestnet.d.ts} +70 -14
- package/_types/chains/definitions/{zkSyncSepoliaTestnet.d.ts.map → zksyncSepoliaTestnet.d.ts.map} +1 -1
- package/_types/chains/definitions/zora.d.ts +32 -0
- package/_types/chains/definitions/zora.d.ts.map +1 -1
- package/_types/chains/definitions/zoraSepolia.d.ts +32 -0
- package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/zoraTestnet.d.ts +32 -0
- package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
- package/_types/chains/index.d.ts +77 -10
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/errors/abi.d.ts +0 -26
- package/_types/errors/abi.d.ts.map +1 -1
- package/_types/errors/account.d.ts +0 -2
- package/_types/errors/account.d.ts.map +1 -1
- package/_types/errors/address.d.ts +0 -1
- package/_types/errors/address.d.ts.map +1 -1
- package/_types/errors/base.d.ts +7 -1
- package/_types/errors/base.d.ts.map +1 -1
- package/_types/errors/blob.d.ts +0 -4
- package/_types/errors/blob.d.ts.map +1 -1
- package/_types/errors/block.d.ts +0 -1
- package/_types/errors/block.d.ts.map +1 -1
- package/_types/errors/ccip.d.ts +0 -3
- package/_types/errors/ccip.d.ts.map +1 -1
- package/_types/errors/chain.d.ts +0 -5
- package/_types/errors/chain.d.ts.map +1 -1
- package/_types/errors/contract.d.ts +0 -6
- package/_types/errors/contract.d.ts.map +1 -1
- package/_types/errors/cursor.d.ts +0 -3
- package/_types/errors/cursor.d.ts.map +1 -1
- package/_types/errors/data.d.ts +0 -3
- package/_types/errors/data.d.ts.map +1 -1
- package/_types/errors/eip712.d.ts +0 -1
- package/_types/errors/eip712.d.ts.map +1 -1
- package/_types/errors/encoding.d.ts +0 -5
- package/_types/errors/encoding.d.ts.map +1 -1
- package/_types/errors/ens.d.ts +0 -4
- package/_types/errors/ens.d.ts.map +1 -1
- package/_types/errors/estimateGas.d.ts +0 -1
- package/_types/errors/estimateGas.d.ts.map +1 -1
- package/_types/errors/fee.d.ts +0 -3
- package/_types/errors/fee.d.ts.map +1 -1
- package/_types/errors/log.d.ts +0 -1
- package/_types/errors/log.d.ts.map +1 -1
- package/_types/errors/node.d.ts +0 -12
- package/_types/errors/node.d.ts.map +1 -1
- package/_types/errors/request.d.ts +0 -5
- package/_types/errors/request.d.ts.map +1 -1
- package/_types/errors/rpc.d.ts +2 -22
- package/_types/errors/rpc.d.ts.map +1 -1
- package/_types/errors/siwe.d.ts +0 -1
- package/_types/errors/siwe.d.ts.map +1 -1
- package/_types/errors/stateOverride.d.ts +0 -2
- package/_types/errors/stateOverride.d.ts.map +1 -1
- package/_types/errors/transaction.d.ts +0 -10
- package/_types/errors/transaction.d.ts.map +1 -1
- package/_types/errors/transport.d.ts.map +1 -1
- package/_types/errors/utils.d.ts +0 -1
- package/_types/errors/utils.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/experimental/eip5792/decorators/eip5792.d.ts +12 -12
- package/_types/experimental/eip5792/decorators/eip5792.d.ts.map +1 -1
- package/_types/experimental/eip7702/actions/signAuthorization.d.ts +59 -0
- package/_types/experimental/eip7702/actions/signAuthorization.d.ts.map +1 -0
- package/_types/experimental/eip7702/decorators/eip7702.d.ts +69 -0
- package/_types/experimental/eip7702/decorators/eip7702.d.ts.map +1 -0
- package/_types/experimental/eip7702/types/authorization.d.ts +24 -0
- package/_types/experimental/eip7702/types/authorization.d.ts.map +1 -0
- package/_types/experimental/eip7702/types/rpc.d.ts +12 -0
- package/_types/experimental/eip7702/types/rpc.d.ts.map +1 -0
- package/_types/experimental/eip7702/utils/hashAuthorization.d.ts +21 -0
- package/_types/experimental/eip7702/utils/hashAuthorization.d.ts.map +1 -0
- package/_types/experimental/eip7702/utils/recoverAuthorizationAddress.d.ts +26 -0
- package/_types/experimental/eip7702/utils/recoverAuthorizationAddress.d.ts.map +1 -0
- package/_types/experimental/eip7702/utils/serializeAuthorizationList.d.ts +6 -0
- package/_types/experimental/eip7702/utils/serializeAuthorizationList.d.ts.map +1 -0
- package/_types/experimental/eip7702/utils/verifyAuthorization.d.ts +21 -0
- package/_types/experimental/eip7702/utils/verifyAuthorization.d.ts.map +1 -0
- package/_types/experimental/erc7715/decorators/erc7715.d.ts +6 -6
- package/_types/experimental/erc7715/decorators/erc7715.d.ts.map +1 -1
- package/_types/experimental/index.d.ts +20 -4
- package/_types/experimental/index.d.ts.map +1 -1
- package/_types/index.d.ts +3 -3
- package/_types/index.d.ts.map +1 -1
- package/_types/op-stack/chainConfig.d.ts +32 -0
- package/_types/op-stack/chainConfig.d.ts.map +1 -1
- package/_types/op-stack/errors/withdrawal.d.ts +0 -2
- package/_types/op-stack/errors/withdrawal.d.ts.map +1 -1
- package/_types/op-stack/formatters.d.ts +32 -0
- package/_types/op-stack/formatters.d.ts.map +1 -1
- package/_types/op-stack/serializers.d.ts +1 -1
- package/_types/op-stack/serializers.d.ts.map +1 -1
- package/_types/types/rpc.d.ts +9 -4
- package/_types/types/rpc.d.ts.map +1 -1
- package/_types/types/transaction.d.ts +50 -36
- package/_types/types/transaction.d.ts.map +1 -1
- package/_types/types/utils.d.ts +0 -14
- package/_types/types/utils.d.ts.map +1 -1
- package/_types/utils/formatters/transaction.d.ts +2 -1
- package/_types/utils/formatters/transaction.d.ts.map +1 -1
- package/_types/utils/formatters/transactionRequest.d.ts +2 -1
- package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
- package/_types/utils/index.d.ts +1 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/signature/hashMessage.d.ts +2 -2
- package/_types/utils/signature/hashMessage.d.ts.map +1 -1
- package/_types/utils/transaction/assertTransaction.d.ts +3 -1
- package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
- package/_types/utils/transaction/getSerializedTransactionType.d.ts +2 -2
- package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
- package/_types/utils/transaction/getTransactionType.d.ts +12 -5
- package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
- package/_types/utils/transaction/parseTransaction.d.ts +6 -4
- package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
- package/_types/utils/transaction/serializeTransaction.d.ts +4 -2
- package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
- package/_types/zksync/actions/deployContract.d.ts +1 -1
- package/_types/zksync/actions/estimateFee.d.ts +4 -4
- package/_types/zksync/actions/estimateGasL1ToL2.d.ts +2 -2
- package/_types/zksync/actions/getAllBalances.d.ts +2 -2
- package/_types/zksync/actions/getBaseTokenL1Address.d.ts +2 -2
- package/_types/zksync/actions/getBlockDetails.d.ts +5 -5
- package/_types/zksync/actions/getBridgehubContractAddress.d.ts +2 -2
- package/_types/zksync/actions/getDefaultBridgeAddresses.d.ts +2 -2
- package/_types/zksync/actions/getL1BatchBlockRange.d.ts +2 -2
- package/_types/zksync/actions/getL1BatchDetails.d.ts +5 -5
- package/_types/zksync/actions/getL1BatchNumber.d.ts +2 -2
- package/_types/zksync/actions/getL1ChainId.d.ts +2 -2
- package/_types/zksync/actions/getLogProof.d.ts +2 -2
- package/_types/zksync/actions/getMainContractAddress.d.ts +2 -2
- package/_types/zksync/actions/getRawBlockTransactions.d.ts +6 -6
- package/_types/zksync/actions/getTestnetPaymasterAddress.d.ts +2 -2
- package/_types/zksync/actions/getTransactionDetails.d.ts +4 -4
- package/_types/zksync/actions/sendEip712Transaction.d.ts +4 -4
- package/_types/zksync/actions/sendTransaction.d.ts +4 -4
- package/_types/zksync/actions/signEip712Transaction.d.ts +4 -4
- package/_types/zksync/actions/signTransaction.d.ts +4 -4
- package/_types/zksync/chainConfig.d.ts +65 -11
- package/_types/zksync/chainConfig.d.ts.map +1 -1
- package/_types/zksync/chains.d.ts +4 -3
- package/_types/zksync/chains.d.ts.map +1 -1
- package/_types/zksync/decorators/eip712.d.ts +13 -13
- package/_types/zksync/decorators/publicL2.d.ts +37 -37
- package/_types/zksync/errors/bytecode.d.ts +0 -3
- package/_types/zksync/errors/bytecode.d.ts.map +1 -1
- package/_types/zksync/errors/token-is-eth.d.ts +0 -1
- package/_types/zksync/errors/token-is-eth.d.ts.map +1 -1
- package/_types/zksync/errors/transaction.d.ts +0 -1
- package/_types/zksync/errors/transaction.d.ts.map +1 -1
- package/_types/zksync/formatters.d.ts +75 -21
- package/_types/zksync/formatters.d.ts.map +1 -1
- package/_types/zksync/index.d.ts +77 -7
- package/_types/zksync/index.d.ts.map +1 -1
- package/_types/zksync/serializers.d.ts +2 -2
- package/_types/zksync/serializers.d.ts.map +1 -1
- package/_types/zksync/types/block.d.ts +6 -6
- package/_types/zksync/types/chain.d.ts +2 -2
- package/_types/zksync/types/eip1193.d.ts +8 -8
- package/_types/zksync/types/eip712.d.ts +3 -3
- package/_types/zksync/types/fee.d.ts +2 -2
- package/_types/zksync/types/log.d.ts +4 -4
- package/_types/zksync/types/transaction.d.ts +31 -31
- package/_types/zksync/utils/assertEip712Request.d.ts +2 -2
- package/_types/zksync/utils/assertEip712Transaction.d.ts +2 -2
- package/_types/zksync/utils/getEip712Domain.d.ts +2 -2
- package/_types/zksync/utils/isEip712Transaction.d.ts +3 -3
- package/_types/zksync/utils/isEip712Transaction.d.ts.map +1 -1
- package/account-abstraction/errors/bundler.ts +36 -48
- package/account-abstraction/errors/userOperation.ts +6 -6
- package/accounts/index.ts +6 -0
- package/accounts/privateKeyToAccount.ts +4 -0
- package/accounts/toAccount.ts +1 -0
- package/accounts/types.ts +11 -3
- package/accounts/utils/signAuthorization.ts +63 -0
- package/actions/public/estimateGas.ts +74 -11
- package/actions/public/simulateContract.ts +48 -14
- package/actions/wallet/prepareTransactionRequest.ts +3 -1
- package/actions/wallet/sendTransaction.ts +33 -4
- package/actions/wallet/writeContract.ts +5 -3
- package/chains/definitions/abstractTestnet.ts +2 -0
- package/chains/definitions/{zkSync.ts → zksync.ts} +4 -3
- package/chains/definitions/{zkSyncInMemoryNode.ts → zksyncInMemoryNode.ts} +2 -2
- package/chains/definitions/{zkSyncLocalNode.ts → zksyncLocalNode.ts} +2 -2
- package/chains/definitions/{zkSyncSepoliaTestnet.ts → zksyncSepoliaTestnet.ts} +5 -3
- package/chains/index.ts +113 -34
- package/errors/abi.ts +37 -37
- package/errors/account.ts +2 -2
- package/errors/address.ts +1 -1
- package/errors/base.ts +41 -22
- package/errors/blob.ts +4 -5
- package/errors/block.ts +1 -2
- package/errors/ccip.ts +3 -3
- package/errors/chain.ts +9 -10
- package/errors/contract.ts +6 -10
- package/errors/cursor.ts +5 -4
- package/errors/data.ts +3 -3
- package/errors/eip712.ts +1 -1
- package/errors/encoding.ts +7 -5
- package/errors/ens.ts +6 -5
- package/errors/estimateGas.ts +1 -2
- package/errors/fee.ts +7 -5
- package/errors/log.ts +3 -2
- package/errors/node.ts +12 -17
- package/errors/request.ts +5 -10
- package/errors/rpc.ts +29 -26
- package/errors/siwe.ts +1 -2
- package/errors/stateOverride.ts +6 -4
- package/errors/transaction.ts +19 -19
- package/errors/transport.ts +1 -0
- package/errors/utils.ts +0 -3
- package/errors/version.ts +1 -1
- package/experimental/eip5792/decorators/eip5792.ts +13 -13
- package/experimental/eip7702/actions/signAuthorization.ts +136 -0
- package/experimental/eip7702/decorators/eip7702.ts +86 -0
- package/experimental/eip7702/types/authorization.ts +30 -0
- package/experimental/eip7702/types/rpc.ts +12 -0
- package/experimental/eip7702/utils/hashAuthorization.ts +60 -0
- package/experimental/eip7702/utils/recoverAuthorizationAddress.ts +61 -0
- package/experimental/eip7702/utils/serializeAuthorizationList.ts +33 -0
- package/experimental/eip7702/utils/verifyAuthorization.ts +52 -0
- package/experimental/erc7715/decorators/erc7715.ts +7 -7
- package/experimental/index.ts +72 -18
- package/index.ts +29 -4
- package/op-stack/errors/withdrawal.ts +2 -3
- package/package.json +1 -1
- package/types/rpc.ts +21 -1
- package/types/transaction.ts +103 -54
- package/types/utils.ts +0 -15
- package/utils/formatters/transaction.ts +32 -0
- package/utils/formatters/transactionRequest.ts +31 -0
- package/utils/index.ts +1 -1
- package/utils/signature/hashMessage.ts +2 -2
- package/utils/transaction/assertTransaction.ts +24 -12
- package/utils/transaction/getSerializedTransactionType.ts +7 -0
- package/utils/transaction/getTransactionType.ts +95 -60
- package/utils/transaction/parseTransaction.ts +127 -0
- package/utils/transaction/serializeTransaction.ts +66 -0
- package/zksync/actions/deployContract.ts +1 -1
- package/zksync/actions/estimateFee.ts +4 -4
- package/zksync/actions/estimateGasL1ToL2.ts +2 -2
- package/zksync/actions/getAllBalances.ts +2 -2
- package/zksync/actions/getBaseTokenL1Address.ts +2 -2
- package/zksync/actions/getBlockDetails.ts +6 -6
- package/zksync/actions/getBridgehubContractAddress.ts +2 -2
- package/zksync/actions/getDefaultBridgeAddresses.ts +2 -2
- package/zksync/actions/getL1BatchBlockRange.ts +2 -2
- package/zksync/actions/getL1BatchDetails.ts +6 -6
- package/zksync/actions/getL1BatchNumber.ts +2 -2
- package/zksync/actions/getL1ChainId.ts +2 -2
- package/zksync/actions/getLogProof.ts +2 -2
- package/zksync/actions/getMainContractAddress.ts +2 -2
- package/zksync/actions/getRawBlockTransactions.ts +6 -6
- package/zksync/actions/getTestnetPaymasterAddress.ts +2 -2
- package/zksync/actions/getTransactionDetails.ts +4 -4
- package/zksync/actions/sendEip712Transaction.ts +4 -4
- package/zksync/actions/sendTransaction.ts +4 -4
- package/zksync/actions/signEip712Transaction.ts +4 -4
- package/zksync/actions/signTransaction.ts +4 -4
- package/zksync/chains.ts +4 -3
- package/zksync/decorators/eip712.ts +13 -13
- package/zksync/decorators/publicL2.ts +37 -37
- package/zksync/errors/bytecode.ts +3 -3
- package/zksync/errors/token-is-eth.ts +1 -2
- package/zksync/errors/transaction.ts +1 -2
- package/zksync/formatters.ts +22 -22
- package/zksync/index.ts +111 -32
- package/zksync/serializers.ts +7 -7
- package/zksync/types/block.ts +9 -9
- package/zksync/types/chain.ts +5 -5
- package/zksync/types/eip1193.ts +8 -8
- package/zksync/types/eip712.ts +3 -3
- package/zksync/types/fee.ts +2 -2
- package/zksync/types/log.ts +4 -4
- package/zksync/types/transaction.ts +45 -45
- package/zksync/utils/assertEip712Request.ts +2 -2
- package/zksync/utils/assertEip712Transaction.ts +4 -4
- package/zksync/utils/getEip712Domain.ts +9 -9
- package/zksync/utils/isEip712Transaction.ts +8 -3
- package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +0 -1
- package/_cjs/chains/definitions/zkSyncTestnet.js +0 -31
- package/_cjs/chains/definitions/zkSyncTestnet.js.map +0 -1
- package/_esm/chains/definitions/zkSyncTestnet.js +0 -29
- package/_esm/chains/definitions/zkSyncTestnet.js.map +0 -1
- package/_types/chains/definitions/zkSyncTestnet.d.ts +0 -351
- package/_types/chains/definitions/zkSyncTestnet.d.ts.map +0 -1
- package/chains/definitions/zkSyncTestnet.ts +0 -29
package/types/transaction.ts
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
import type { Address } from 'abitype'
|
2
2
|
|
3
|
+
import type {
|
4
|
+
AuthorizationList,
|
5
|
+
SignedAuthorizationList,
|
6
|
+
} from '../experimental/eip7702/types/authorization.js'
|
3
7
|
import type { BlobSidecar } from './eip4844.js'
|
4
8
|
import type {
|
5
9
|
FeeValuesEIP1559,
|
@@ -28,6 +32,7 @@ export type TransactionType =
|
|
28
32
|
| 'eip1559'
|
29
33
|
| 'eip2930'
|
30
34
|
| 'eip4844'
|
35
|
+
| 'eip7702'
|
31
36
|
| (string & {})
|
32
37
|
|
33
38
|
export type TransactionReceipt<
|
@@ -117,6 +122,7 @@ export type TransactionLegacy<
|
|
117
122
|
> = Omit<TransactionBase<quantity, index, isPending>, 'yParity'> & {
|
118
123
|
/** EIP-2930 Access List. */
|
119
124
|
accessList?: undefined
|
125
|
+
authorizationList?: undefined
|
120
126
|
blobVersionedHashes?: undefined
|
121
127
|
/** Chain ID that this transaction is valid on. */
|
122
128
|
chainId?: index | undefined
|
@@ -132,6 +138,7 @@ export type TransactionEIP2930<
|
|
132
138
|
> = TransactionBase<quantity, index, isPending> & {
|
133
139
|
/** EIP-2930 Access List. */
|
134
140
|
accessList: AccessList
|
141
|
+
authorizationList?: undefined
|
135
142
|
blobVersionedHashes?: undefined
|
136
143
|
/** Chain ID that this transaction is valid on. */
|
137
144
|
chainId: index
|
@@ -146,6 +153,7 @@ export type TransactionEIP1559<
|
|
146
153
|
> = TransactionBase<quantity, index, isPending> & {
|
147
154
|
/** EIP-2930 Access List. */
|
148
155
|
accessList: AccessList
|
156
|
+
authorizationList?: undefined
|
149
157
|
blobVersionedHashes?: undefined
|
150
158
|
/** Chain ID that this transaction is valid on. */
|
151
159
|
chainId: index
|
@@ -160,6 +168,7 @@ export type TransactionEIP4844<
|
|
160
168
|
> = TransactionBase<quantity, index, isPending> & {
|
161
169
|
/** EIP-2930 Access List. */
|
162
170
|
accessList: AccessList
|
171
|
+
authorizationList?: undefined
|
163
172
|
/** List of versioned blob hashes associated with the transaction's blobs. */
|
164
173
|
blobVersionedHashes: readonly Hex[]
|
165
174
|
/** Chain ID that this transaction is valid on. */
|
@@ -167,6 +176,22 @@ export type TransactionEIP4844<
|
|
167
176
|
type: type
|
168
177
|
} & FeeValuesEIP4844<quantity>
|
169
178
|
|
179
|
+
export type TransactionEIP7702<
|
180
|
+
quantity = bigint,
|
181
|
+
index = number,
|
182
|
+
isPending extends boolean = boolean,
|
183
|
+
type = 'eip7702',
|
184
|
+
> = TransactionBase<quantity, index, isPending> & {
|
185
|
+
/** EIP-2930 Access List. */
|
186
|
+
accessList: AccessList
|
187
|
+
/** Authorization list for the transaction. */
|
188
|
+
authorizationList: SignedAuthorizationList
|
189
|
+
blobVersionedHashes?: undefined
|
190
|
+
/** Chain ID that this transaction is valid on. */
|
191
|
+
chainId: index
|
192
|
+
type: type
|
193
|
+
} & FeeValuesEIP1559<quantity>
|
194
|
+
|
170
195
|
export type Transaction<
|
171
196
|
quantity = bigint,
|
172
197
|
index = number,
|
@@ -176,13 +201,18 @@ export type Transaction<
|
|
176
201
|
| TransactionEIP2930<quantity, index, isPending>
|
177
202
|
| TransactionEIP1559<quantity, index, isPending>
|
178
203
|
| TransactionEIP4844<quantity, index, isPending>
|
204
|
+
| TransactionEIP7702<quantity, index, isPending>
|
179
205
|
>
|
180
206
|
|
181
207
|
////////////////////////////////////////////////////////////////////////////////////////////
|
182
208
|
// Request
|
183
209
|
////////////////////////////////////////////////////////////////////////////////////////////
|
184
210
|
|
185
|
-
export type TransactionRequestBase<
|
211
|
+
export type TransactionRequestBase<
|
212
|
+
quantity = bigint,
|
213
|
+
index = number,
|
214
|
+
type = string,
|
215
|
+
> = {
|
186
216
|
/** Contract code or a hashed method call with encoded args */
|
187
217
|
data?: Hex | undefined
|
188
218
|
/** Transaction sender */
|
@@ -193,6 +223,8 @@ export type TransactionRequestBase<quantity = bigint, index = number> = {
|
|
193
223
|
nonce?: index | undefined
|
194
224
|
/** Transaction recipient */
|
195
225
|
to?: Address | null | undefined
|
226
|
+
/** Transaction type */
|
227
|
+
type?: type | undefined
|
196
228
|
/** Value in wei sent with this transaction */
|
197
229
|
value?: quantity | undefined
|
198
230
|
}
|
@@ -201,52 +233,57 @@ export type TransactionRequestLegacy<
|
|
201
233
|
quantity = bigint,
|
202
234
|
index = number,
|
203
235
|
type = 'legacy',
|
204
|
-
> = TransactionRequestBase<quantity, index> &
|
205
|
-
|
206
|
-
blobs?: undefined
|
207
|
-
type?: type | undefined
|
208
|
-
} & ExactPartial<FeeValuesLegacy<quantity>>
|
236
|
+
> = TransactionRequestBase<quantity, index, type> &
|
237
|
+
ExactPartial<FeeValuesLegacy<quantity>>
|
209
238
|
|
210
239
|
export type TransactionRequestEIP2930<
|
211
240
|
quantity = bigint,
|
212
241
|
index = number,
|
213
242
|
type = 'eip2930',
|
214
|
-
> = TransactionRequestBase<quantity, index> &
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
} & ExactPartial<FeeValuesLegacy<quantity>>
|
243
|
+
> = TransactionRequestBase<quantity, index, type> &
|
244
|
+
ExactPartial<FeeValuesLegacy<quantity>> & {
|
245
|
+
accessList?: AccessList | undefined
|
246
|
+
}
|
219
247
|
|
220
248
|
export type TransactionRequestEIP1559<
|
221
249
|
quantity = bigint,
|
222
250
|
index = number,
|
223
251
|
type = 'eip1559',
|
224
|
-
> = TransactionRequestBase<quantity, index> &
|
252
|
+
> = TransactionRequestBase<quantity, index, type> &
|
225
253
|
ExactPartial<FeeValuesEIP1559<quantity>> & {
|
226
254
|
accessList?: AccessList | undefined
|
227
|
-
blobs?: undefined
|
228
|
-
type?: type | undefined
|
229
255
|
}
|
230
256
|
|
231
257
|
export type TransactionRequestEIP4844<
|
232
258
|
quantity = bigint,
|
233
259
|
index = number,
|
234
260
|
type = 'eip4844',
|
235
|
-
> = RequiredBy<TransactionRequestBase<quantity, index>, 'to'> &
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
}
|
261
|
+
> = RequiredBy<TransactionRequestBase<quantity, index, type>, 'to'> &
|
262
|
+
RequiredBy<ExactPartial<FeeValuesEIP4844<quantity>>, 'maxFeePerBlobGas'> & {
|
263
|
+
accessList?: AccessList | undefined
|
264
|
+
/** The blobs associated with this transaction. */
|
265
|
+
blobs: readonly Hex[] | readonly ByteArray[]
|
266
|
+
blobVersionedHashes?: readonly Hex[] | undefined
|
267
|
+
kzg?: Kzg | undefined
|
268
|
+
sidecars?: readonly BlobSidecar<Hex>[] | undefined
|
269
|
+
}
|
270
|
+
|
271
|
+
export type TransactionRequestEIP7702<
|
272
|
+
quantity = bigint,
|
273
|
+
index = number,
|
274
|
+
type = 'eip7702',
|
275
|
+
> = TransactionRequestBase<quantity, index, type> &
|
276
|
+
ExactPartial<FeeValuesEIP1559<quantity>> & {
|
277
|
+
accessList?: AccessList | undefined
|
278
|
+
authorizationList: AuthorizationList<index, boolean>
|
279
|
+
}
|
244
280
|
|
245
281
|
export type TransactionRequest<quantity = bigint, index = number> = OneOf<
|
246
282
|
| TransactionRequestLegacy<quantity, index>
|
247
283
|
| TransactionRequestEIP2930<quantity, index>
|
248
284
|
| TransactionRequestEIP1559<quantity, index>
|
249
285
|
| TransactionRequestEIP4844<quantity, index>
|
286
|
+
| TransactionRequestEIP7702<quantity, index>
|
250
287
|
>
|
251
288
|
|
252
289
|
export type TransactionRequestGeneric<
|
@@ -270,6 +307,7 @@ export type TransactionRequestGeneric<
|
|
270
307
|
export type TransactionSerializedEIP1559 = `0x02${string}`
|
271
308
|
export type TransactionSerializedEIP2930 = `0x01${string}`
|
272
309
|
export type TransactionSerializedEIP4844 = `0x03${string}`
|
310
|
+
export type TransactionSerializedEIP7702 = `0x04${string}`
|
273
311
|
export type TransactionSerializedLegacy = Branded<`0x${string}`, 'legacy'>
|
274
312
|
export type TransactionSerializedGeneric = `0x${string}`
|
275
313
|
export type TransactionSerialized<
|
@@ -278,6 +316,7 @@ export type TransactionSerialized<
|
|
278
316
|
| (type extends 'eip1559' ? TransactionSerializedEIP1559 : never)
|
279
317
|
| (type extends 'eip2930' ? TransactionSerializedEIP2930 : never)
|
280
318
|
| (type extends 'eip4844' ? TransactionSerializedEIP4844 : never)
|
319
|
+
| (type extends 'eip7702' ? TransactionSerializedEIP7702 : never)
|
281
320
|
| (type extends 'legacy' ? TransactionSerializedLegacy : never),
|
282
321
|
> = IsNever<result> extends true ? TransactionSerializedGeneric : result
|
283
322
|
|
@@ -290,49 +329,45 @@ export type TransactionSerializableBase<
|
|
290
329
|
export type TransactionSerializableLegacy<
|
291
330
|
quantity = bigint,
|
292
331
|
index = number,
|
293
|
-
> = TransactionSerializableBase<quantity, index> &
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
type?: 'legacy' | undefined
|
299
|
-
} & ExactPartial<FeeValuesLegacy<quantity>>
|
332
|
+
> = TransactionSerializableBase<quantity, index> &
|
333
|
+
ExactPartial<FeeValuesLegacy<quantity>> & {
|
334
|
+
chainId?: number | undefined
|
335
|
+
type?: 'legacy' | undefined
|
336
|
+
}
|
300
337
|
|
301
338
|
export type TransactionSerializableEIP2930<
|
302
339
|
quantity = bigint,
|
303
340
|
index = number,
|
304
|
-
> = TransactionSerializableBase<quantity, index> &
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
} & ExactPartial<FeeValuesLegacy<quantity>>
|
341
|
+
> = TransactionSerializableBase<quantity, index> &
|
342
|
+
ExactPartial<FeeValuesLegacy<quantity>> & {
|
343
|
+
accessList?: AccessList | undefined
|
344
|
+
chainId: number
|
345
|
+
type?: 'eip2930' | undefined
|
346
|
+
yParity?: number | undefined
|
347
|
+
}
|
312
348
|
|
313
349
|
export type TransactionSerializableEIP1559<
|
314
350
|
quantity = bigint,
|
315
351
|
index = number,
|
316
|
-
> = TransactionSerializableBase<quantity, index> &
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
} & ExactPartial<FeeValuesEIP1559<quantity>>
|
352
|
+
> = TransactionSerializableBase<quantity, index> &
|
353
|
+
ExactPartial<FeeValuesEIP1559<quantity>> & {
|
354
|
+
accessList?: AccessList | undefined
|
355
|
+
chainId: number
|
356
|
+
type?: 'eip1559' | undefined
|
357
|
+
yParity?: number | undefined
|
358
|
+
}
|
324
359
|
|
325
360
|
export type TransactionSerializableEIP4844<
|
326
361
|
quantity = bigint,
|
327
362
|
index = number,
|
328
|
-
> = TransactionSerializableBase<quantity, index> &
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
OneOf<
|
363
|
+
> = TransactionSerializableBase<quantity, index> &
|
364
|
+
ExactPartial<FeeValuesEIP4844<quantity>> & {
|
365
|
+
accessList?: AccessList | undefined
|
366
|
+
chainId: number
|
367
|
+
sidecars?: readonly BlobSidecar<Hex>[] | false | undefined
|
368
|
+
type?: 'eip4844' | undefined
|
369
|
+
yParity?: number | undefined
|
370
|
+
} & OneOf<
|
336
371
|
| {
|
337
372
|
blobs?: readonly Hex[] | readonly ByteArray[] | undefined
|
338
373
|
blobVersionedHashes: readonly Hex[]
|
@@ -344,11 +379,24 @@ export type TransactionSerializableEIP4844<
|
|
344
379
|
}
|
345
380
|
>
|
346
381
|
|
382
|
+
export type TransactionSerializableEIP7702<
|
383
|
+
quantity = bigint,
|
384
|
+
index = number,
|
385
|
+
> = TransactionSerializableBase<quantity, index> &
|
386
|
+
ExactPartial<FeeValuesEIP1559<quantity>> & {
|
387
|
+
accessList?: AccessList | undefined
|
388
|
+
authorizationList: SignedAuthorizationList
|
389
|
+
chainId: number
|
390
|
+
type?: 'eip7702' | undefined
|
391
|
+
yParity?: number | undefined
|
392
|
+
}
|
393
|
+
|
347
394
|
export type TransactionSerializable<quantity = bigint, index = number> = OneOf<
|
348
395
|
| TransactionSerializableLegacy<quantity, index>
|
349
396
|
| TransactionSerializableEIP2930<quantity, index>
|
350
397
|
| TransactionSerializableEIP1559<quantity, index>
|
351
398
|
| TransactionSerializableEIP4844<quantity, index>
|
399
|
+
| TransactionSerializableEIP7702<quantity, index>
|
352
400
|
>
|
353
401
|
|
354
402
|
export type TransactionSerializableGeneric<
|
@@ -356,6 +404,7 @@ export type TransactionSerializableGeneric<
|
|
356
404
|
index = number,
|
357
405
|
> = TransactionSerializableBase<quantity, index> & {
|
358
406
|
accessList?: AccessList | undefined
|
407
|
+
authorizationList?: AuthorizationList<index, boolean> | undefined
|
359
408
|
blobs?: readonly Hex[] | readonly ByteArray[] | undefined
|
360
409
|
blobVersionedHashes?: readonly Hex[] | undefined
|
361
410
|
chainId?: number | undefined
|
package/types/utils.ts
CHANGED
@@ -62,21 +62,6 @@ export type Mutable<type extends object> = {
|
|
62
62
|
-readonly [key in keyof type]: type[key]
|
63
63
|
}
|
64
64
|
|
65
|
-
/**
|
66
|
-
* @description Returns type {@link T} if it is an opaque type of {@link U}
|
67
|
-
* @param T - Type to check
|
68
|
-
* @param U - Type to against
|
69
|
-
*
|
70
|
-
* @example
|
71
|
-
* type Result = Opaque<string, 'foo'>
|
72
|
-
* // ^? never
|
73
|
-
*
|
74
|
-
* @example
|
75
|
-
* type Result = Opaque<string, string>
|
76
|
-
* // ^? string
|
77
|
-
*/
|
78
|
-
export type Opaque<T, U> = IsNarrowable<T, U> extends true ? T : never
|
79
|
-
|
80
65
|
/**
|
81
66
|
* @description Evaluates boolean "or" condition for {@link T} properties.
|
82
67
|
* @param T - Type to check
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import type { ErrorType } from '../../errors/utils.js'
|
2
|
+
import type { SignedAuthorizationList } from '../../experimental/eip7702/types/authorization.js'
|
3
|
+
import type { RpcAuthorizationList } from '../../experimental/eip7702/types/rpc.js'
|
2
4
|
import type { BlockTag } from '../../types/block.js'
|
3
5
|
import type { Chain } from '../../types/chain.js'
|
4
6
|
import type {
|
@@ -39,6 +41,7 @@ export const transactionType = {
|
|
39
41
|
'0x1': 'eip2930',
|
40
42
|
'0x2': 'eip1559',
|
41
43
|
'0x3': 'eip4844',
|
44
|
+
'0x4': 'eip7702',
|
42
45
|
} as const satisfies Record<Hex, TransactionType>
|
43
46
|
|
44
47
|
export type FormatTransactionErrorType = ErrorType
|
@@ -75,6 +78,11 @@ export function formatTransaction(transaction: ExactPartial<RpcTransaction>) {
|
|
75
78
|
v: transaction.v ? BigInt(transaction.v) : undefined,
|
76
79
|
} as Transaction
|
77
80
|
|
81
|
+
if (transaction.authorizationList)
|
82
|
+
transaction_.authorizationList = formatAuthorizationList(
|
83
|
+
transaction.authorizationList,
|
84
|
+
)
|
85
|
+
|
78
86
|
transaction_.yParity = (() => {
|
79
87
|
// If `yParity` is provided, we will use it.
|
80
88
|
if (transaction.yParity) return Number(transaction.yParity)
|
@@ -113,3 +121,27 @@ export const defineTransaction = /*#__PURE__*/ defineFormatter(
|
|
113
121
|
'transaction',
|
114
122
|
formatTransaction,
|
115
123
|
)
|
124
|
+
|
125
|
+
//////////////////////////////////////////////////////////////////////////////
|
126
|
+
|
127
|
+
function formatAuthorizationList(
|
128
|
+
authorizationList: RpcAuthorizationList,
|
129
|
+
): SignedAuthorizationList {
|
130
|
+
return authorizationList.map(
|
131
|
+
(authorization) =>
|
132
|
+
({
|
133
|
+
contractAddress: (authorization as any).address,
|
134
|
+
r: authorization.r,
|
135
|
+
s: authorization.s,
|
136
|
+
chainId: Number(authorization.chainId),
|
137
|
+
nonce: Number(authorization.nonce),
|
138
|
+
...(typeof authorization.yParity !== 'undefined'
|
139
|
+
? { yParity: Number(authorization.yParity) }
|
140
|
+
: {}),
|
141
|
+
...(typeof authorization.v !== 'undefined' &&
|
142
|
+
typeof authorization.yParity === 'undefined'
|
143
|
+
? { v: Number(authorization.v) }
|
144
|
+
: {}),
|
145
|
+
}) as any,
|
146
|
+
) as SignedAuthorizationList
|
147
|
+
}
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import type { ErrorType } from '../../errors/utils.js'
|
2
|
+
import type { AuthorizationList } from '../../experimental/eip7702/types/authorization.js'
|
3
|
+
import type { RpcAuthorizationList } from '../../experimental/eip7702/types/rpc.js'
|
2
4
|
import type {
|
3
5
|
Chain,
|
4
6
|
ExtractChainFormatterParameters,
|
@@ -23,6 +25,7 @@ export const rpcTransactionType = {
|
|
23
25
|
eip2930: '0x1',
|
24
26
|
eip1559: '0x2',
|
25
27
|
eip4844: '0x3',
|
28
|
+
eip7702: '0x4',
|
26
29
|
} as const
|
27
30
|
|
28
31
|
export type FormatTransactionRequestErrorType = ErrorType
|
@@ -32,6 +35,10 @@ export function formatTransactionRequest(
|
|
32
35
|
) {
|
33
36
|
const rpcRequest = {} as RpcTransactionRequest
|
34
37
|
|
38
|
+
if (typeof request.authorizationList !== 'undefined')
|
39
|
+
rpcRequest.authorizationList = formatAuthorizationList(
|
40
|
+
request.authorizationList,
|
41
|
+
)
|
35
42
|
if (typeof request.accessList !== 'undefined')
|
36
43
|
rpcRequest.accessList = request.accessList
|
37
44
|
if (typeof request.blobVersionedHashes !== 'undefined')
|
@@ -74,3 +81,27 @@ export const defineTransactionRequest = /*#__PURE__*/ defineFormatter(
|
|
74
81
|
'transactionRequest',
|
75
82
|
formatTransactionRequest,
|
76
83
|
)
|
84
|
+
|
85
|
+
//////////////////////////////////////////////////////////////////////////////
|
86
|
+
|
87
|
+
function formatAuthorizationList(
|
88
|
+
authorizationList: AuthorizationList<number, boolean>,
|
89
|
+
): RpcAuthorizationList {
|
90
|
+
return authorizationList.map(
|
91
|
+
(authorization) =>
|
92
|
+
({
|
93
|
+
address: authorization.contractAddress,
|
94
|
+
r: authorization.r,
|
95
|
+
s: authorization.s,
|
96
|
+
chainId: numberToHex(authorization.chainId),
|
97
|
+
nonce: numberToHex(authorization.nonce),
|
98
|
+
...(typeof authorization.yParity !== 'undefined'
|
99
|
+
? { yParity: numberToHex(authorization.yParity) }
|
100
|
+
: {}),
|
101
|
+
...(typeof authorization.v !== 'undefined' &&
|
102
|
+
typeof authorization.yParity === 'undefined'
|
103
|
+
? { v: numberToHex(authorization.v) }
|
104
|
+
: {}),
|
105
|
+
}) as any,
|
106
|
+
) as RpcAuthorizationList
|
107
|
+
}
|
package/utils/index.ts
CHANGED
@@ -5,7 +5,7 @@ import { toPrefixedMessage } from './toPrefixedMessage.js'
|
|
5
5
|
|
6
6
|
type To = 'hex' | 'bytes'
|
7
7
|
|
8
|
-
export type
|
8
|
+
export type HashMessageReturnType<to extends To> =
|
9
9
|
| (to extends 'bytes' ? ByteArray : never)
|
10
10
|
| (to extends 'hex' ? Hex : never)
|
11
11
|
|
@@ -14,6 +14,6 @@ export type HashMessageErrorType = Keccak256ErrorType | ErrorType
|
|
14
14
|
export function hashMessage<to extends To = 'hex'>(
|
15
15
|
message: SignableMessage,
|
16
16
|
to_?: to | undefined,
|
17
|
-
):
|
17
|
+
): HashMessageReturnType<to> {
|
18
18
|
return keccak256(toPrefixedMessage(message), to_)
|
19
19
|
}
|
@@ -27,6 +27,7 @@ import type {
|
|
27
27
|
TransactionSerializableEIP1559,
|
28
28
|
TransactionSerializableEIP2930,
|
29
29
|
TransactionSerializableEIP4844,
|
30
|
+
TransactionSerializableEIP7702,
|
30
31
|
TransactionSerializableLegacy,
|
31
32
|
} from '../../types/transaction.js'
|
32
33
|
import { type IsAddressErrorType, isAddress } from '../address/isAddress.js'
|
@@ -34,6 +35,27 @@ import { size } from '../data/size.js'
|
|
34
35
|
import { slice } from '../data/slice.js'
|
35
36
|
import { hexToNumber } from '../encoding/fromHex.js'
|
36
37
|
|
38
|
+
export type AssertTransactionEIP7702ErrorType =
|
39
|
+
| AssertTransactionEIP1559ErrorType
|
40
|
+
| InvalidAddressErrorType
|
41
|
+
| InvalidChainIdErrorType
|
42
|
+
| ErrorType
|
43
|
+
|
44
|
+
export function assertTransactionEIP7702(
|
45
|
+
transaction: TransactionSerializableEIP7702,
|
46
|
+
) {
|
47
|
+
const { authorizationList } = transaction
|
48
|
+
if (authorizationList) {
|
49
|
+
for (const authorization of authorizationList) {
|
50
|
+
const { contractAddress, chainId } = authorization
|
51
|
+
if (!isAddress(contractAddress))
|
52
|
+
throw new InvalidAddressError({ address: contractAddress })
|
53
|
+
if (chainId <= 0) throw new InvalidChainIdError({ chainId })
|
54
|
+
}
|
55
|
+
}
|
56
|
+
assertTransactionEIP1559(transaction as {} as TransactionSerializableEIP1559)
|
57
|
+
}
|
58
|
+
|
37
59
|
export type AssertTransactionEIP4844ErrorType =
|
38
60
|
| AssertTransactionEIP1559ErrorType
|
39
61
|
| EmptyBlobErrorType
|
@@ -121,14 +143,8 @@ export type AssertTransactionLegacyErrorType =
|
|
121
143
|
export function assertTransactionLegacy(
|
122
144
|
transaction: TransactionSerializableLegacy,
|
123
145
|
) {
|
124
|
-
const {
|
125
|
-
|
126
|
-
maxPriorityFeePerGas,
|
127
|
-
gasPrice,
|
128
|
-
maxFeePerGas,
|
129
|
-
to,
|
130
|
-
accessList,
|
131
|
-
} = transaction
|
146
|
+
const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } =
|
147
|
+
transaction
|
132
148
|
if (to && !isAddress(to)) throw new InvalidAddressError({ address: to })
|
133
149
|
if (typeof chainId !== 'undefined' && chainId <= 0)
|
134
150
|
throw new InvalidChainIdError({ chainId })
|
@@ -138,8 +154,4 @@ export function assertTransactionLegacy(
|
|
138
154
|
)
|
139
155
|
if (gasPrice && gasPrice > 2n ** 256n - 1n)
|
140
156
|
throw new FeeCapTooHighError({ maxFeePerGas: gasPrice })
|
141
|
-
if (accessList)
|
142
|
-
throw new BaseError(
|
143
|
-
'`accessList` is not a valid Legacy Transaction attribute.',
|
144
|
-
)
|
145
157
|
}
|
@@ -9,6 +9,7 @@ import type {
|
|
9
9
|
TransactionSerializedEIP1559,
|
10
10
|
TransactionSerializedEIP2930,
|
11
11
|
TransactionSerializedEIP4844,
|
12
|
+
TransactionSerializedEIP7702,
|
12
13
|
TransactionSerializedGeneric,
|
13
14
|
TransactionSerializedLegacy,
|
14
15
|
TransactionType,
|
@@ -30,6 +31,9 @@ export type GetSerializedTransactionType<
|
|
30
31
|
| (serializedTransaction extends TransactionSerializedEIP4844
|
31
32
|
? 'eip4844'
|
32
33
|
: never)
|
34
|
+
| (serializedTransaction extends TransactionSerializedEIP7702
|
35
|
+
? 'eip7702'
|
36
|
+
: never)
|
33
37
|
| (serializedTransaction extends TransactionSerializedLegacy
|
34
38
|
? 'legacy'
|
35
39
|
: never),
|
@@ -52,6 +56,9 @@ export function getSerializedTransactionType<
|
|
52
56
|
): GetSerializedTransactionType<serializedTransaction> {
|
53
57
|
const serializedType = sliceHex(serializedTransaction, 0, 1)
|
54
58
|
|
59
|
+
if (serializedType === '0x04')
|
60
|
+
return 'eip7702' as GetSerializedTransactionType<serializedTransaction>
|
61
|
+
|
55
62
|
if (serializedType === '0x03')
|
56
63
|
return 'eip4844' as GetSerializedTransactionType<serializedTransaction>
|
57
64
|
|