viem 2.7.22 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/_cjs/accounts/utils/sign.js +1 -0
- package/_cjs/accounts/utils/sign.js.map +1 -1
- package/_cjs/accounts/utils/signTransaction.js +11 -2
- package/_cjs/accounts/utils/signTransaction.js.map +1 -1
- package/_cjs/actions/index.js +4 -2
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/actions/public/call.js +3 -1
- package/_cjs/actions/public/call.js.map +1 -1
- package/_cjs/actions/public/estimateGas.js +3 -1
- package/_cjs/actions/public/estimateGas.js.map +1 -1
- package/_cjs/actions/public/getBlobBaseFee.js +11 -0
- package/_cjs/actions/public/getBlobBaseFee.js.map +1 -0
- package/_cjs/actions/public/watchBlockNumber.js +34 -26
- package/_cjs/actions/public/watchBlockNumber.js.map +1 -1
- package/_cjs/actions/wallet/prepareTransactionRequest.js +11 -2
- package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_cjs/actions/wallet/sendRawTransaction.js.map +1 -1
- package/_cjs/actions/wallet/sendTransaction.js +13 -11
- package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/_cjs/actions/wallet/signTransaction.js +7 -6
- package/_cjs/actions/wallet/signTransaction.js.map +1 -1
- package/_cjs/chains/celo/serializers.js +10 -15
- package/_cjs/chains/celo/serializers.js.map +1 -1
- package/_cjs/chains/definitions/plumeTestnet.js +30 -0
- package/_cjs/chains/definitions/plumeTestnet.js.map +1 -0
- package/_cjs/chains/definitions/rss3.js +49 -0
- package/_cjs/chains/definitions/rss3.js.map +1 -0
- package/_cjs/chains/definitions/rss3Sepolia.js +50 -0
- package/_cjs/chains/definitions/rss3Sepolia.js.map +1 -0
- package/_cjs/chains/index.js +9 -3
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/chains/opStack/actions/estimateL1Fee.js +1 -10
- package/_cjs/chains/opStack/actions/estimateL1Fee.js.map +1 -1
- package/_cjs/chains/opStack/actions/estimateL1Gas.js +1 -10
- package/_cjs/chains/opStack/actions/estimateL1Gas.js.map +1 -1
- package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +1 -1
- package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
- package/_cjs/chains/opStack/actions/proveWithdrawal.js +1 -1
- package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -1
- package/_cjs/chains/opStack/serializers.js +3 -3
- package/_cjs/chains/opStack/serializers.js.map +1 -1
- package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -1
- package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -1
- package/_cjs/chains/zksync/serializers.js +6 -6
- package/_cjs/chains/zksync/serializers.js.map +1 -1
- package/_cjs/clients/decorators/public.js.map +1 -1
- package/_cjs/clients/decorators/wallet.js.map +1 -1
- package/_cjs/constants/blob.js +11 -0
- package/_cjs/constants/blob.js.map +1 -0
- package/_cjs/constants/kzg.js +7 -0
- package/_cjs/constants/kzg.js.map +1 -0
- package/_cjs/errors/blob.js +63 -0
- package/_cjs/errors/blob.js.map +1 -0
- package/_cjs/errors/transaction.js +1 -0
- package/_cjs/errors/transaction.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/index.js +22 -2
- package/_cjs/index.js.map +1 -1
- package/_cjs/node/index.js +3 -1
- package/_cjs/node/index.js.map +1 -1
- package/_cjs/node/trustedSetups.js +7 -0
- package/_cjs/node/trustedSetups.js.map +1 -0
- package/_cjs/types/eip4844.js +3 -0
- package/_cjs/types/eip4844.js.map +1 -0
- package/_cjs/types/kzg.js +3 -0
- package/_cjs/types/kzg.js.map +1 -0
- package/_cjs/utils/blob/blobsToCommitments.js +20 -0
- package/_cjs/utils/blob/blobsToCommitments.js.map +1 -0
- package/_cjs/utils/blob/blobsToProofs.js +26 -0
- package/_cjs/utils/blob/blobsToProofs.js.map +1 -0
- package/_cjs/utils/blob/commitmentToVersionedHash.js +14 -0
- package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -0
- package/_cjs/utils/blob/commitmentsToVersionedHashes.js +19 -0
- package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
- package/_cjs/utils/blob/fromBlobs.js +36 -0
- package/_cjs/utils/blob/fromBlobs.js.map +1 -0
- package/_cjs/utils/blob/sidecarsToVersionedHashes.js +19 -0
- package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
- package/_cjs/utils/blob/toBlobSidecars.js +22 -0
- package/_cjs/utils/blob/toBlobSidecars.js.map +1 -0
- package/_cjs/utils/blob/toBlobs.js +48 -0
- package/_cjs/utils/blob/toBlobs.js.map +1 -0
- package/_cjs/utils/encoding/toRlp.js.map +1 -1
- package/_cjs/utils/formatters/transaction.js.map +1 -1
- package/_cjs/utils/formatters/transactionRequest.js +22 -25
- package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
- package/_cjs/utils/kzg/defineKzg.js +11 -0
- package/_cjs/utils/kzg/defineKzg.js.map +1 -0
- package/_cjs/utils/kzg/setupKzg.js +17 -0
- package/_cjs/utils/kzg/setupKzg.js.map +1 -0
- package/_cjs/utils/signature/compactSignatureToSignature.js +3 -3
- package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
- package/_cjs/utils/signature/hexToSignature.js +6 -1
- package/_cjs/utils/signature/hexToSignature.js.map +1 -1
- package/_cjs/utils/signature/signatureToCompactSignature.js +3 -3
- package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
- package/_cjs/utils/signature/signatureToHex.js +9 -3
- package/_cjs/utils/signature/signatureToHex.js.map +1 -1
- package/_cjs/utils/transaction/assertTransaction.js +26 -1
- 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 +7 -1
- package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
- package/_cjs/utils/transaction/parseTransaction.js +73 -0
- package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
- package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
- package/_cjs/utils/transaction/serializeTransaction.js +84 -21
- package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
- package/_esm/accounts/utils/sign.js +1 -0
- package/_esm/accounts/utils/sign.js.map +1 -1
- package/_esm/accounts/utils/signTransaction.js +13 -2
- package/_esm/accounts/utils/signTransaction.js.map +1 -1
- package/_esm/actions/index.js +1 -0
- package/_esm/actions/index.js.map +1 -1
- package/_esm/actions/public/call.js +3 -1
- package/_esm/actions/public/call.js.map +1 -1
- package/_esm/actions/public/estimateGas.js +3 -1
- package/_esm/actions/public/estimateGas.js.map +1 -1
- package/_esm/actions/public/getBlobBaseFee.js +27 -0
- package/_esm/actions/public/getBlobBaseFee.js.map +1 -0
- package/_esm/actions/public/watchBlockNumber.js +34 -26
- package/_esm/actions/public/watchBlockNumber.js.map +1 -1
- package/_esm/actions/wallet/prepareTransactionRequest.js +12 -2
- package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_esm/actions/wallet/sendRawTransaction.js.map +1 -1
- package/_esm/actions/wallet/sendTransaction.js +13 -11
- package/_esm/actions/wallet/sendTransaction.js.map +1 -1
- package/_esm/actions/wallet/signTransaction.js +6 -5
- package/_esm/actions/wallet/signTransaction.js.map +1 -1
- package/_esm/chains/celo/serializers.js +10 -17
- package/_esm/chains/celo/serializers.js.map +1 -1
- package/_esm/chains/definitions/plumeTestnet.js +27 -0
- package/_esm/chains/definitions/plumeTestnet.js.map +1 -0
- package/_esm/chains/definitions/rss3.js +46 -0
- package/_esm/chains/definitions/rss3.js.map +1 -0
- package/_esm/chains/definitions/rss3Sepolia.js +47 -0
- package/_esm/chains/definitions/rss3Sepolia.js.map +1 -0
- package/_esm/chains/index.js +3 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/chains/opStack/actions/estimateL1Fee.js +1 -10
- package/_esm/chains/opStack/actions/estimateL1Fee.js.map +1 -1
- package/_esm/chains/opStack/actions/estimateL1Gas.js +1 -10
- package/_esm/chains/opStack/actions/estimateL1Gas.js.map +1 -1
- package/_esm/chains/opStack/actions/finalizeWithdrawal.js +1 -1
- package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
- package/_esm/chains/opStack/actions/proveWithdrawal.js +1 -1
- package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -1
- package/_esm/chains/opStack/serializers.js +2 -2
- package/_esm/chains/opStack/serializers.js.map +1 -1
- package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -1
- package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -1
- package/_esm/chains/zksync/serializers.js +6 -6
- package/_esm/chains/zksync/serializers.js.map +1 -1
- package/_esm/clients/decorators/public.js.map +1 -1
- package/_esm/clients/decorators/wallet.js.map +1 -1
- package/_esm/constants/blob.js +16 -0
- package/_esm/constants/blob.js.map +1 -0
- package/_esm/constants/kzg.js +7 -0
- package/_esm/constants/kzg.js.map +1 -0
- package/_esm/errors/blob.js +56 -0
- package/_esm/errors/blob.js.map +1 -0
- package/_esm/errors/transaction.js +1 -0
- package/_esm/errors/transaction.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/index.js +10 -0
- package/_esm/index.js.map +1 -1
- package/_esm/node/index.js +1 -0
- package/_esm/node/index.js.map +1 -1
- package/_esm/node/trustedSetups.js +4 -0
- package/_esm/node/trustedSetups.js.map +1 -0
- package/_esm/types/eip4844.js +2 -0
- package/_esm/types/eip4844.js.map +1 -0
- package/_esm/types/kzg.js +2 -0
- package/_esm/types/kzg.js.map +1 -0
- package/_esm/utils/blob/blobsToCommitments.js +28 -0
- package/_esm/utils/blob/blobsToCommitments.js.map +1 -0
- package/_esm/utils/blob/blobsToProofs.js +38 -0
- package/_esm/utils/blob/blobsToProofs.js.map +1 -0
- package/_esm/utils/blob/commitmentToVersionedHash.js +27 -0
- package/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
- package/_esm/utils/blob/commitmentsToVersionedHashes.js +32 -0
- package/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
- package/_esm/utils/blob/fromBlobs.js +33 -0
- package/_esm/utils/blob/fromBlobs.js.map +1 -0
- package/_esm/utils/blob/sidecarsToVersionedHashes.js +26 -0
- package/_esm/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
- package/_esm/utils/blob/toBlobSidecars.js +45 -0
- package/_esm/utils/blob/toBlobSidecars.js.map +1 -0
- package/_esm/utils/blob/toBlobs.js +58 -0
- package/_esm/utils/blob/toBlobs.js.map +1 -0
- package/_esm/utils/encoding/toRlp.js.map +1 -1
- package/_esm/utils/formatters/transaction.js.map +1 -1
- package/_esm/utils/formatters/transactionRequest.js +23 -26
- package/_esm/utils/formatters/transactionRequest.js.map +1 -1
- package/_esm/utils/kzg/defineKzg.js +21 -0
- package/_esm/utils/kzg/defineKzg.js.map +1 -0
- package/_esm/utils/kzg/setupKzg.js +25 -0
- package/_esm/utils/kzg/setupKzg.js.map +1 -0
- package/_esm/utils/signature/compactSignatureToSignature.js +3 -3
- package/_esm/utils/signature/compactSignatureToSignature.js.map +1 -1
- package/_esm/utils/signature/hexToSignature.js +6 -1
- package/_esm/utils/signature/hexToSignature.js.map +1 -1
- package/_esm/utils/signature/signatureToCompactSignature.js +4 -4
- package/_esm/utils/signature/signatureToCompactSignature.js.map +1 -1
- package/_esm/utils/signature/signatureToHex.js +11 -4
- package/_esm/utils/signature/signatureToHex.js.map +1 -1
- package/_esm/utils/transaction/assertTransaction.js +24 -0
- 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 +7 -1
- package/_esm/utils/transaction/getTransactionType.js.map +1 -1
- package/_esm/utils/transaction/parseTransaction.js +74 -1
- package/_esm/utils/transaction/parseTransaction.js.map +1 -1
- package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
- package/_esm/utils/transaction/serializeTransaction.js +85 -22
- package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/_types/accounts/types.d.ts +3 -3
- package/_types/accounts/types.d.ts.map +1 -1
- package/_types/accounts/utils/sign.d.ts.map +1 -1
- package/_types/accounts/utils/signTransaction.d.ts +5 -5
- package/_types/accounts/utils/signTransaction.d.ts.map +1 -1
- package/_types/actions/index.d.ts +1 -0
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/actions/public/call.d.ts.map +1 -1
- package/_types/actions/public/estimateGas.d.ts.map +1 -1
- package/_types/actions/public/getBlobBaseFee.d.ts +30 -0
- package/_types/actions/public/getBlobBaseFee.d.ts.map +1 -0
- package/_types/actions/public/watchBlockNumber.d.ts.map +1 -1
- package/_types/actions/wallet/prepareTransactionRequest.d.ts +27 -8
- package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
- package/_types/actions/wallet/sendRawTransaction.d.ts +3 -5
- package/_types/actions/wallet/sendRawTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransaction.d.ts +4 -2
- package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/signTransaction.d.ts +5 -2
- package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
- package/_types/chains/celo/chainConfig.d.ts +1282 -376
- package/_types/chains/celo/chainConfig.d.ts.map +1 -1
- package/_types/chains/celo/formatters.d.ts +1282 -376
- package/_types/chains/celo/formatters.d.ts.map +1 -1
- package/_types/chains/celo/serializers.d.ts +3 -4
- package/_types/chains/celo/serializers.d.ts.map +1 -1
- package/_types/chains/celo/types.d.ts +3 -8
- package/_types/chains/celo/types.d.ts.map +1 -1
- package/_types/chains/definitions/ancient8.d.ts +452 -188
- package/_types/chains/definitions/ancient8.d.ts.map +1 -1
- package/_types/chains/definitions/ancient8Sepolia.d.ts +452 -188
- package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts +452 -188
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/baseGoerli.d.ts +452 -188
- package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/baseSepolia.d.ts +452 -188
- package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/celo.d.ts +1282 -376
- package/_types/chains/definitions/celo.d.ts.map +1 -1
- package/_types/chains/definitions/celoAlfajores.d.ts +1282 -376
- package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
- package/_types/chains/definitions/fraxtal.d.ts +452 -188
- package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
- package/_types/chains/definitions/fraxtalTestnet.d.ts +452 -188
- package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/liskSepolia.d.ts +452 -188
- package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/optimism.d.ts +452 -188
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/optimismGoerli.d.ts +452 -188
- package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/optimismSepolia.d.ts +452 -188
- package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/pgn.d.ts +451 -187
- package/_types/chains/definitions/pgn.d.ts.map +1 -1
- package/_types/chains/definitions/pgnTestnet.d.ts +451 -187
- package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/plumeTestnet.d.ts +37 -0
- package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/rss3.d.ts +1080 -0
- package/_types/chains/definitions/rss3.d.ts.map +1 -0
- package/_types/chains/definitions/rss3Sepolia.d.ts +1080 -0
- package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -0
- package/_types/chains/definitions/zkSync.d.ts +692 -32
- package/_types/chains/definitions/zkSync.d.ts.map +1 -1
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +692 -32
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zkSyncTestnet.d.ts +692 -32
- package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zora.d.ts +452 -188
- package/_types/chains/definitions/zora.d.ts.map +1 -1
- package/_types/chains/definitions/zoraSepolia.d.ts +452 -188
- package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/zoraTestnet.d.ts +452 -188
- package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
- package/_types/chains/index.d.ts +4 -1
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/chains/opStack/actions/estimateL1Fee.d.ts.map +1 -1
- package/_types/chains/opStack/actions/estimateL1Gas.d.ts.map +1 -1
- package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -1
- package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -1
- package/_types/chains/opStack/chainConfig.d.ts +452 -188
- package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
- package/_types/chains/opStack/formatters.d.ts +451 -187
- package/_types/chains/opStack/formatters.d.ts.map +1 -1
- package/_types/chains/opStack/serializers.d.ts +4 -3
- package/_types/chains/opStack/serializers.d.ts.map +1 -1
- package/_types/chains/opStack/types/transaction.d.ts +4 -8
- package/_types/chains/opStack/types/transaction.d.ts.map +1 -1
- package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -1
- package/_types/chains/zksync/chainConfig.d.ts +692 -32
- package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
- package/_types/chains/zksync/formatters.d.ts +692 -32
- package/_types/chains/zksync/formatters.d.ts.map +1 -1
- package/_types/chains/zksync/serializers.d.ts +3 -3
- package/_types/chains/zksync/serializers.d.ts.map +1 -1
- package/_types/chains/zksync/types/chain.d.ts +2 -2
- package/_types/chains/zksync/types/chain.d.ts.map +1 -1
- package/_types/chains/zksync/types/eip712.d.ts +2 -2
- package/_types/chains/zksync/types/eip712.d.ts.map +1 -1
- 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 +4 -4
- package/_types/clients/decorators/wallet.d.ts.map +1 -1
- package/_types/constants/blob.d.ts +11 -0
- package/_types/constants/blob.d.ts.map +1 -0
- package/_types/constants/kzg.d.ts +6 -0
- package/_types/constants/kzg.d.ts.map +1 -0
- package/_types/errors/blob.d.ts +40 -0
- package/_types/errors/blob.d.ts.map +1 -0
- package/_types/errors/transaction.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 +11 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/node/index.d.ts +1 -0
- package/_types/node/index.d.ts.map +1 -1
- package/_types/node/trustedSetups.d.ts +3 -0
- package/_types/node/trustedSetups.d.ts.map +1 -0
- package/_types/types/account.d.ts +3 -3
- package/_types/types/account.d.ts.map +1 -1
- package/_types/types/chain.d.ts +2 -2
- package/_types/types/chain.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +3 -3
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/types/eip4844.d.ts +11 -0
- package/_types/types/eip4844.d.ts.map +1 -0
- package/_types/types/fee.d.ts +2 -2
- package/_types/types/fee.d.ts.map +1 -1
- package/_types/types/kzg.d.ts +24 -0
- package/_types/types/kzg.d.ts.map +1 -0
- package/_types/types/misc.d.ts +15 -1
- package/_types/types/misc.d.ts.map +1 -1
- package/_types/types/rpc.d.ts +4 -4
- package/_types/types/rpc.d.ts.map +1 -1
- package/_types/types/transaction.d.ts +44 -9
- package/_types/types/transaction.d.ts.map +1 -1
- package/_types/types/utils.d.ts +38 -2
- package/_types/types/utils.d.ts.map +1 -1
- package/_types/utils/blob/blobsToCommitments.d.ts +31 -0
- package/_types/utils/blob/blobsToCommitments.d.ts.map +1 -0
- package/_types/utils/blob/blobsToProofs.d.ts +37 -0
- package/_types/utils/blob/blobsToProofs.d.ts.map +1 -0
- package/_types/utils/blob/commitmentToVersionedHash.d.ts +35 -0
- package/_types/utils/blob/commitmentToVersionedHash.d.ts.map +1 -0
- package/_types/utils/blob/commitmentsToVersionedHashes.d.ts +34 -0
- package/_types/utils/blob/commitmentsToVersionedHashes.d.ts.map +1 -0
- package/_types/utils/blob/fromBlobs.d.ts +16 -0
- package/_types/utils/blob/fromBlobs.d.ts.map +1 -0
- package/_types/utils/blob/sidecarsToVersionedHashes.d.ts +29 -0
- package/_types/utils/blob/sidecarsToVersionedHashes.d.ts.map +1 -0
- package/_types/utils/blob/toBlobSidecars.d.ts +57 -0
- package/_types/utils/blob/toBlobSidecars.d.ts.map +1 -0
- package/_types/utils/blob/toBlobs.d.ts +28 -0
- package/_types/utils/blob/toBlobs.d.ts.map +1 -0
- package/_types/utils/encoding/toRlp.d.ts +1 -1
- package/_types/utils/encoding/toRlp.d.ts.map +1 -1
- package/_types/utils/formatters/transaction.d.ts +25 -25
- package/_types/utils/formatters/transaction.d.ts.map +1 -1
- package/_types/utils/formatters/transactionRequest.d.ts +227 -3
- package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
- package/_types/utils/kzg/defineKzg.d.ts +21 -0
- package/_types/utils/kzg/defineKzg.d.ts.map +1 -0
- package/_types/utils/kzg/setupKzg.d.ts +21 -0
- package/_types/utils/kzg/setupKzg.d.ts.map +1 -0
- package/_types/utils/signature/hexToSignature.d.ts.map +1 -1
- package/_types/utils/signature/signatureToCompactSignature.d.ts +1 -1
- package/_types/utils/signature/signatureToHex.d.ts +2 -2
- package/_types/utils/signature/signatureToHex.d.ts.map +1 -1
- package/_types/utils/transaction/assertTransaction.d.ts +4 -1
- package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
- package/_types/utils/transaction/getSerializedTransactionType.d.ts +5 -3
- package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
- package/_types/utils/transaction/getTransactionType.d.ts +34 -3
- package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
- package/_types/utils/transaction/parseTransaction.d.ts +7 -5
- package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
- package/_types/utils/transaction/serializeTransaction.d.ts +13 -6
- package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
- package/accounts/types.ts +9 -5
- package/accounts/utils/sign.ts +1 -0
- package/accounts/utils/signTransaction.ts +37 -22
- package/actions/index.ts +5 -0
- package/actions/public/call.ts +4 -0
- package/actions/public/estimateGas.ts +4 -0
- package/actions/public/getBlobBaseFee.ts +42 -0
- package/actions/public/watchBlockNumber.ts +33 -23
- package/actions/wallet/prepareTransactionRequest.ts +134 -61
- package/actions/wallet/sendRawTransaction.ts +3 -5
- package/actions/wallet/sendTransaction.ts +41 -31
- package/actions/wallet/signTransaction.ts +34 -18
- package/chains/celo/serializers.ts +12 -25
- package/chains/celo/types.ts +5 -10
- package/chains/definitions/plumeTestnet.ts +28 -0
- package/chains/definitions/rss3.ts +47 -0
- package/chains/definitions/rss3Sepolia.ts +48 -0
- package/chains/index.ts +3 -1
- package/chains/opStack/actions/estimateL1Fee.ts +12 -16
- package/chains/opStack/actions/estimateL1Gas.ts +12 -16
- package/chains/opStack/actions/finalizeWithdrawal.ts +3 -2
- package/chains/opStack/actions/proveWithdrawal.ts +3 -2
- package/chains/opStack/serializers.ts +5 -5
- package/chains/opStack/types/transaction.ts +9 -11
- package/chains/zksync/actions/sendTransaction.ts +2 -1
- package/chains/zksync/actions/signEip712Transaction.ts +2 -2
- package/chains/zksync/serializers.ts +14 -10
- package/chains/zksync/types/chain.ts +4 -7
- package/chains/zksync/types/eip712.ts +2 -2
- package/clients/decorators/public.ts +8 -4
- package/clients/decorators/wallet.ts +14 -6
- package/constants/blob.ts +21 -0
- package/constants/kzg.ts +9 -0
- package/errors/blob.ts +67 -0
- package/errors/transaction.ts +1 -0
- package/errors/version.ts +1 -1
- package/index.ts +64 -0
- package/node/index.ts +2 -0
- package/node/trustedSetups.ts +11 -0
- package/package.json +1 -1
- package/trusted-setups/mainnet.json +8265 -0
- package/trusted-setups/minimal.json +8265 -0
- package/types/account.ts +3 -3
- package/types/chain.ts +3 -1
- package/types/eip1193.ts +3 -3
- package/types/eip4844.ts +12 -0
- package/types/fee.ts +3 -2
- package/types/kzg.ts +32 -0
- package/types/misc.ts +20 -1
- package/types/rpc.ts +11 -6
- package/types/transaction.ts +75 -17
- package/types/utils.ts +49 -1
- package/utils/blob/blobsToCommitments.ts +69 -0
- package/utils/blob/blobsToProofs.ts +93 -0
- package/utils/blob/commitmentToVersionedHash.ts +62 -0
- package/utils/blob/commitmentsToVersionedHashes.ts +71 -0
- package/utils/blob/fromBlobs.ts +73 -0
- package/utils/blob/sidecarsToVersionedHashes.ts +66 -0
- package/utils/blob/toBlobSidecars.ts +109 -0
- package/utils/blob/toBlobs.ts +113 -0
- package/utils/encoding/toRlp.ts +2 -2
- package/utils/formatters/transaction.ts +3 -2
- package/utils/formatters/transactionRequest.ts +28 -35
- package/utils/kzg/defineKzg.ts +30 -0
- package/utils/kzg/setupKzg.ts +38 -0
- package/utils/signature/compactSignatureToSignature.ts +3 -3
- package/utils/signature/hexToSignature.ts +6 -1
- package/utils/signature/signatureToCompactSignature.ts +4 -4
- package/utils/signature/signatureToHex.ts +9 -4
- package/utils/transaction/assertTransaction.ts +41 -0
- package/utils/transaction/getSerializedTransactionType.ts +34 -11
- package/utils/transaction/getTransactionType.ts +109 -26
- package/utils/transaction/parseTransaction.ts +128 -8
- package/utils/transaction/serializeAccessList.ts +1 -1
- package/utils/transaction/serializeTransaction.ts +172 -39
@@ -28,12 +28,25 @@ import {
|
|
28
28
|
Eip1559FeesNotSupportedError,
|
29
29
|
MaxFeePerGasTooLowError,
|
30
30
|
} from '../../errors/fee.js'
|
31
|
-
import type { Block } from '../../index.js'
|
31
|
+
import type { Block, GetTransactionType } from '../../index.js'
|
32
32
|
import type { DeriveAccount, GetAccountParameter } from '../../types/account.js'
|
33
33
|
import type { Chain, DeriveChain } from '../../types/chain.js'
|
34
34
|
import type { GetChainParameter } from '../../types/chain.js'
|
35
|
-
import type {
|
36
|
-
import type {
|
35
|
+
import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
|
36
|
+
import type {
|
37
|
+
TransactionRequest,
|
38
|
+
TransactionRequestEIP1559,
|
39
|
+
TransactionRequestEIP2930,
|
40
|
+
TransactionRequestEIP4844,
|
41
|
+
TransactionRequestLegacy,
|
42
|
+
TransactionSerializable,
|
43
|
+
} from '../../types/transaction.js'
|
44
|
+
import type {
|
45
|
+
IsNever,
|
46
|
+
Prettify,
|
47
|
+
UnionOmit,
|
48
|
+
UnionRequiredBy,
|
49
|
+
} from '../../types/utils.js'
|
37
50
|
import type { FormattedTransactionRequest } from '../../utils/formatters/transactionRequest.js'
|
38
51
|
import { getAction } from '../../utils/getAction.js'
|
39
52
|
import type {
|
@@ -42,60 +55,117 @@ import type {
|
|
42
55
|
} from '../../utils/transaction/assertRequest.js'
|
43
56
|
import { assertRequest } from '../../utils/transaction/assertRequest.js'
|
44
57
|
import { getTransactionType } from '../../utils/transaction/getTransactionType.js'
|
58
|
+
import { getChainId } from '../public/getChainId.js'
|
45
59
|
|
46
60
|
export type PrepareTransactionRequestParameterType =
|
61
|
+
| 'chainId'
|
47
62
|
| 'fees'
|
48
63
|
| 'gas'
|
49
64
|
| 'nonce'
|
50
65
|
| 'type'
|
51
66
|
type ParameterTypeToParameters<
|
52
|
-
|
53
|
-
> =
|
67
|
+
parameterType extends PrepareTransactionRequestParameterType,
|
68
|
+
> = parameterType extends 'fees'
|
54
69
|
? 'maxFeePerGas' | 'maxPriorityFeePerGas' | 'gasPrice'
|
55
|
-
:
|
70
|
+
: parameterType
|
71
|
+
|
72
|
+
export type PrepareTransactionRequestRequest<
|
73
|
+
chain extends Chain | undefined = Chain | undefined,
|
74
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
75
|
+
///
|
76
|
+
_derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
|
77
|
+
> = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
|
78
|
+
GetTransactionRequestKzgParameter & {
|
79
|
+
parameters?: PrepareTransactionRequestParameterType[]
|
80
|
+
}
|
56
81
|
|
57
82
|
export type PrepareTransactionRequestParameters<
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
83
|
+
chain extends Chain | undefined = Chain | undefined,
|
84
|
+
account extends Account | undefined = Account | undefined,
|
85
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
86
|
+
accountOverride extends Account | Address | undefined =
|
87
|
+
| Account
|
88
|
+
| Address
|
89
|
+
| undefined,
|
90
|
+
request extends PrepareTransactionRequestRequest<
|
91
|
+
chain,
|
92
|
+
chainOverride
|
93
|
+
> = PrepareTransactionRequestRequest<chain, chainOverride>,
|
94
|
+
> = request &
|
95
|
+
GetAccountParameter<account, accountOverride, false> &
|
96
|
+
GetChainParameter<chain, chainOverride> &
|
97
|
+
GetTransactionRequestKzgParameter<request> & { chainId?: number }
|
98
|
+
|
99
|
+
export type PrepareTransactionRequestReturnType_<
|
100
|
+
chain extends Chain | undefined = Chain | undefined,
|
101
|
+
account extends Account | undefined = Account | undefined,
|
102
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
103
|
+
accountOverride extends Account | Address | undefined =
|
62
104
|
| Account
|
63
105
|
| Address
|
64
106
|
| undefined,
|
65
|
-
TParameterType extends
|
66
|
-
PrepareTransactionRequestParameterType = PrepareTransactionRequestParameterType,
|
67
107
|
///
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
108
|
+
_derivedAccount extends Account | Address | undefined = DeriveAccount<
|
109
|
+
account,
|
110
|
+
accountOverride
|
111
|
+
>,
|
112
|
+
_derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
|
113
|
+
> = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
|
114
|
+
GetChainParameter<chain, chainOverride> &
|
115
|
+
(_derivedAccount extends Account
|
116
|
+
? { account: _derivedAccount; from: Address }
|
117
|
+
: { account?: undefined; from?: undefined })
|
74
118
|
|
75
119
|
export type PrepareTransactionRequestReturnType<
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
120
|
+
chain extends Chain | undefined = Chain | undefined,
|
121
|
+
account extends Account | undefined = Account | undefined,
|
122
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
123
|
+
accountOverride extends Account | Address | undefined =
|
80
124
|
| Account
|
81
125
|
| Address
|
82
126
|
| undefined,
|
83
|
-
|
84
|
-
|
127
|
+
request extends PrepareTransactionRequestRequest<
|
128
|
+
chain,
|
129
|
+
chainOverride
|
130
|
+
> = PrepareTransactionRequestRequest<chain, chainOverride>,
|
85
131
|
///
|
86
|
-
|
87
|
-
|
88
|
-
|
132
|
+
_derivedAccount extends Account | Address | undefined = DeriveAccount<
|
133
|
+
account,
|
134
|
+
accountOverride
|
89
135
|
>,
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
136
|
+
_derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
|
137
|
+
_transactionType = request['type'] extends string
|
138
|
+
? request['type']
|
139
|
+
: GetTransactionType<request> extends 'legacy'
|
140
|
+
? unknown
|
141
|
+
: GetTransactionType<request>,
|
142
|
+
_transactionRequest extends TransactionRequest =
|
143
|
+
| (_transactionType extends 'legacy' ? TransactionRequestLegacy : never)
|
144
|
+
| (_transactionType extends 'eip1559' ? TransactionRequestEIP1559 : never)
|
145
|
+
| (_transactionType extends 'eip2930' ? TransactionRequestEIP2930 : never)
|
146
|
+
| (_transactionType extends 'eip4844' ? TransactionRequestEIP4844 : never),
|
147
|
+
> = Prettify<
|
148
|
+
UnionRequiredBy<
|
149
|
+
Extract<
|
150
|
+
UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
|
151
|
+
(_derivedChain extends Chain
|
152
|
+
? { chain: _derivedChain }
|
153
|
+
: { chain?: undefined }) &
|
154
|
+
(_derivedAccount extends Account
|
155
|
+
? { account: _derivedAccount; from: Address }
|
156
|
+
: { account?: undefined; from?: undefined }),
|
157
|
+
IsNever<_transactionRequest> extends true
|
158
|
+
? unknown
|
159
|
+
: Partial<_transactionRequest>
|
160
|
+
> & { chainId?: number },
|
161
|
+
ParameterTypeToParameters<
|
162
|
+
request['parameters'] extends PrepareTransactionRequestParameterType[]
|
163
|
+
? request['parameters'][number]
|
164
|
+
: PrepareTransactionRequestParameterType
|
165
|
+
>
|
166
|
+
> &
|
167
|
+
(unknown extends request['kzg'] ? {} : Pick<request, 'kzg'>)
|
168
|
+
>
|
99
169
|
|
100
170
|
export type PrepareTransactionRequestErrorType =
|
101
171
|
| AccountNotFoundErrorType
|
@@ -147,35 +217,36 @@ export type PrepareTransactionRequestErrorType =
|
|
147
217
|
* })
|
148
218
|
*/
|
149
219
|
export async function prepareTransactionRequest<
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
220
|
+
chain extends Chain | undefined,
|
221
|
+
account extends Account | undefined,
|
222
|
+
const request extends PrepareTransactionRequestRequest<chain, chainOverride>,
|
223
|
+
accountOverride extends Account | Address | undefined = undefined,
|
224
|
+
chainOverride extends Chain | undefined = undefined,
|
155
225
|
>(
|
156
|
-
client: Client<Transport,
|
226
|
+
client: Client<Transport, chain, account>,
|
157
227
|
args: PrepareTransactionRequestParameters<
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
228
|
+
chain,
|
229
|
+
account,
|
230
|
+
chainOverride,
|
231
|
+
accountOverride,
|
232
|
+
request
|
163
233
|
>,
|
164
234
|
): Promise<
|
165
235
|
PrepareTransactionRequestReturnType<
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
236
|
+
chain,
|
237
|
+
account,
|
238
|
+
chainOverride,
|
239
|
+
accountOverride,
|
240
|
+
request
|
171
241
|
>
|
172
242
|
> {
|
173
243
|
const {
|
174
244
|
account: account_ = client.account,
|
175
245
|
chain,
|
246
|
+
chainId,
|
176
247
|
gas,
|
177
248
|
nonce,
|
178
|
-
parameters = ['fees', 'gas', 'nonce', 'type'],
|
249
|
+
parameters = ['chainId', 'fees', 'gas', 'nonce', 'type'],
|
179
250
|
type,
|
180
251
|
} = args
|
181
252
|
const account = account_ ? parseAccount(account_) : undefined
|
@@ -188,6 +259,12 @@ export async function prepareTransactionRequest<
|
|
188
259
|
|
189
260
|
const request = { ...args, ...(account ? { from: account?.address } : {}) }
|
190
261
|
|
262
|
+
if (parameters.includes('chainId')) {
|
263
|
+
if (chain) request.chainId = chain.id
|
264
|
+
else if (typeof chainId !== 'undefined') request.chainId = chainId
|
265
|
+
else request.chainId = await getAction(client, getChainId, 'getChainId')({})
|
266
|
+
}
|
267
|
+
|
191
268
|
if (parameters.includes('nonce') && typeof nonce === 'undefined' && account)
|
192
269
|
request.nonce = await getAction(
|
193
270
|
client,
|
@@ -214,7 +291,9 @@ export async function prepareTransactionRequest<
|
|
214
291
|
}
|
215
292
|
|
216
293
|
if (parameters.includes('fees')) {
|
217
|
-
|
294
|
+
// TODO(4844): derive blob base fees once https://github.com/ethereum/execution-apis/pull/486 is merged.
|
295
|
+
|
296
|
+
if (request.type === 'eip1559' || request.type === 'eip4844') {
|
218
297
|
// EIP-1559 fees
|
219
298
|
const { maxFeePerGas, maxPriorityFeePerGas } =
|
220
299
|
await internal_estimateFeesPerGas(client, {
|
@@ -271,11 +350,5 @@ export async function prepareTransactionRequest<
|
|
271
350
|
|
272
351
|
delete request.parameters
|
273
352
|
|
274
|
-
return request as
|
275
|
-
TChain,
|
276
|
-
TAccount,
|
277
|
-
TChainOverride,
|
278
|
-
TAccountOverride,
|
279
|
-
TParameterType
|
280
|
-
>
|
353
|
+
return request as any
|
281
354
|
}
|
@@ -3,14 +3,12 @@ import type { Transport } from '../../clients/transports/createTransport.js'
|
|
3
3
|
import type { ErrorType } from '../../errors/utils.js'
|
4
4
|
import type { Chain } from '../../types/chain.js'
|
5
5
|
import type { Hash } from '../../types/misc.js'
|
6
|
-
import type {
|
6
|
+
import type { TransactionSerializedGeneric } from '../../types/transaction.js'
|
7
7
|
import type { RequestErrorType } from '../../utils/buildRequest.js'
|
8
8
|
|
9
9
|
export type SendRawTransactionParameters = {
|
10
|
-
/**
|
11
|
-
|
12
|
-
*/
|
13
|
-
serializedTransaction: TransactionSerialized
|
10
|
+
/** The signed serialized tranasction. */
|
11
|
+
serializedTransaction: TransactionSerializedGeneric
|
14
12
|
}
|
15
13
|
|
16
14
|
export type SendRawTransactionReturnType = Hash
|
@@ -12,11 +12,9 @@ import type { ErrorType } from '../../errors/utils.js'
|
|
12
12
|
import type { GetAccountParameter } from '../../types/account.js'
|
13
13
|
import type { Chain, DeriveChain } from '../../types/chain.js'
|
14
14
|
import type { GetChainParameter } from '../../types/chain.js'
|
15
|
+
import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
|
15
16
|
import type { Hash } from '../../types/misc.js'
|
16
|
-
import type {
|
17
|
-
TransactionRequest,
|
18
|
-
TransactionSerializable,
|
19
|
-
} from '../../types/transaction.js'
|
17
|
+
import type { TransactionRequest } from '../../types/transaction.js'
|
20
18
|
import type { UnionOmit } from '../../types/utils.js'
|
21
19
|
import type { RequestErrorType } from '../../utils/buildRequest.js'
|
22
20
|
import {
|
@@ -48,15 +46,26 @@ import {
|
|
48
46
|
sendRawTransaction,
|
49
47
|
} from './sendRawTransaction.js'
|
50
48
|
|
51
|
-
export type
|
52
|
-
|
53
|
-
|
54
|
-
TChainOverride extends Chain | undefined = Chain | undefined,
|
49
|
+
export type SendTransactionRequest<
|
50
|
+
chain extends Chain | undefined = Chain | undefined,
|
51
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
55
52
|
///
|
56
|
-
|
57
|
-
> = UnionOmit<FormattedTransactionRequest<
|
58
|
-
|
59
|
-
|
53
|
+
_derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
|
54
|
+
> = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
|
55
|
+
GetTransactionRequestKzgParameter
|
56
|
+
|
57
|
+
export type SendTransactionParameters<
|
58
|
+
chain extends Chain | undefined = Chain | undefined,
|
59
|
+
account extends Account | undefined = Account | undefined,
|
60
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
61
|
+
request extends SendTransactionRequest<
|
62
|
+
chain,
|
63
|
+
chainOverride
|
64
|
+
> = SendTransactionRequest<chain, chainOverride>,
|
65
|
+
> = request &
|
66
|
+
GetAccountParameter<account> &
|
67
|
+
GetChainParameter<chain, chainOverride> &
|
68
|
+
GetTransactionRequestKzgParameter<request>
|
60
69
|
|
61
70
|
export type SendTransactionReturnType = Hash
|
62
71
|
|
@@ -119,27 +128,30 @@ export type SendTransactionErrorType =
|
|
119
128
|
* })
|
120
129
|
*/
|
121
130
|
export async function sendTransaction<
|
122
|
-
|
123
|
-
|
124
|
-
|
131
|
+
chain extends Chain | undefined,
|
132
|
+
account extends Account | undefined,
|
133
|
+
const request extends SendTransactionRequest<chain, chainOverride>,
|
134
|
+
chainOverride extends Chain | undefined = undefined,
|
125
135
|
>(
|
126
|
-
client: Client<Transport,
|
127
|
-
|
136
|
+
client: Client<Transport, chain, account>,
|
137
|
+
parameters: SendTransactionParameters<chain, account, chainOverride, request>,
|
128
138
|
): Promise<SendTransactionReturnType> {
|
129
139
|
const {
|
130
140
|
account: account_ = client.account,
|
131
141
|
chain = client.chain,
|
132
142
|
accessList,
|
143
|
+
blobs,
|
133
144
|
data,
|
134
145
|
gas,
|
135
146
|
gasPrice,
|
147
|
+
maxFeePerBlobGas,
|
136
148
|
maxFeePerGas,
|
137
149
|
maxPriorityFeePerGas,
|
138
150
|
nonce,
|
139
151
|
to,
|
140
152
|
value,
|
141
153
|
...rest
|
142
|
-
} =
|
154
|
+
} = parameters
|
143
155
|
|
144
156
|
if (!account_)
|
145
157
|
throw new AccountNotFoundError({
|
@@ -148,7 +160,7 @@ export async function sendTransaction<
|
|
148
160
|
const account = parseAccount(account_)
|
149
161
|
|
150
162
|
try {
|
151
|
-
assertRequest(
|
163
|
+
assertRequest(parameters as AssertRequestParameters)
|
152
164
|
|
153
165
|
let chainId: number | undefined
|
154
166
|
if (chain !== null) {
|
@@ -168,10 +180,13 @@ export async function sendTransaction<
|
|
168
180
|
)({
|
169
181
|
account,
|
170
182
|
accessList,
|
183
|
+
blobs,
|
171
184
|
chain,
|
185
|
+
chainId,
|
172
186
|
data,
|
173
187
|
gas,
|
174
188
|
gasPrice,
|
189
|
+
maxFeePerBlobGas,
|
175
190
|
maxFeePerGas,
|
176
191
|
maxPriorityFeePerGas,
|
177
192
|
nonce,
|
@@ -180,17 +195,10 @@ export async function sendTransaction<
|
|
180
195
|
...rest,
|
181
196
|
} as any)
|
182
197
|
|
183
|
-
if (!chainId)
|
184
|
-
chainId = await getAction(client, getChainId, 'getChainId')({})
|
185
|
-
|
186
198
|
const serializer = chain?.serializers?.transaction
|
187
|
-
const serializedTransaction = (await account.signTransaction(
|
188
|
-
|
189
|
-
|
190
|
-
chainId,
|
191
|
-
} as TransactionSerializable,
|
192
|
-
{ serializer },
|
193
|
-
)) as Hash
|
199
|
+
const serializedTransaction = (await account.signTransaction(request, {
|
200
|
+
serializer,
|
201
|
+
})) as Hash
|
194
202
|
return await getAction(
|
195
203
|
client,
|
196
204
|
sendRawTransaction,
|
@@ -207,10 +215,12 @@ export async function sendTransaction<
|
|
207
215
|
// Pick out extra data that might exist on the chain's transaction request type.
|
208
216
|
...extract(rest, { format: chainFormat }),
|
209
217
|
accessList,
|
218
|
+
blobs,
|
210
219
|
data,
|
211
220
|
from: account.address,
|
212
221
|
gas,
|
213
222
|
gasPrice,
|
223
|
+
maxFeePerBlobGas,
|
214
224
|
maxFeePerGas,
|
215
225
|
maxPriorityFeePerGas,
|
216
226
|
nonce,
|
@@ -226,9 +236,9 @@ export async function sendTransaction<
|
|
226
236
|
)
|
227
237
|
} catch (err) {
|
228
238
|
throw getTransactionError(err as BaseError, {
|
229
|
-
...
|
239
|
+
...parameters,
|
230
240
|
account,
|
231
|
-
chain:
|
241
|
+
chain: parameters.chain || undefined,
|
232
242
|
})
|
233
243
|
}
|
234
244
|
}
|
@@ -14,6 +14,7 @@ import type {
|
|
14
14
|
DeriveChain,
|
15
15
|
GetChainParameter,
|
16
16
|
} from '../../types/chain.js'
|
17
|
+
import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
|
17
18
|
import { type RpcTransactionRequest } from '../../types/rpc.js'
|
18
19
|
import type {
|
19
20
|
TransactionRequest,
|
@@ -26,28 +27,38 @@ import {
|
|
26
27
|
type AssertCurrentChainErrorType,
|
27
28
|
assertCurrentChain,
|
28
29
|
} from '../../utils/chain/assertCurrentChain.js'
|
30
|
+
import { numberToHex } from '../../utils/encoding/toHex.js'
|
29
31
|
import type { NumberToHexErrorType } from '../../utils/encoding/toHex.js'
|
30
32
|
import {
|
31
33
|
type FormattedTransactionRequest,
|
32
34
|
formatTransactionRequest,
|
33
35
|
} from '../../utils/formatters/transactionRequest.js'
|
34
36
|
import { getAction } from '../../utils/getAction.js'
|
35
|
-
import { numberToHex } from '../../utils/index.js'
|
36
37
|
import {
|
37
38
|
type AssertRequestErrorType,
|
38
39
|
assertRequest,
|
39
40
|
} from '../../utils/transaction/assertRequest.js'
|
40
41
|
import { type GetChainIdErrorType, getChainId } from '../public/getChainId.js'
|
41
42
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
TChainOverride extends Chain | undefined = Chain | undefined,
|
43
|
+
type SignTransactionRequest<
|
44
|
+
chain extends Chain | undefined = Chain | undefined,
|
45
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
46
46
|
///
|
47
|
-
|
48
|
-
> = UnionOmit<FormattedTransactionRequest<
|
49
|
-
|
50
|
-
|
47
|
+
_derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
|
48
|
+
> = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'>
|
49
|
+
|
50
|
+
export type SignTransactionParameters<
|
51
|
+
chain extends Chain | undefined,
|
52
|
+
account extends Account | undefined,
|
53
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
54
|
+
request extends SignTransactionRequest<
|
55
|
+
chain,
|
56
|
+
chainOverride
|
57
|
+
> = SignTransactionRequest<chain, chainOverride>,
|
58
|
+
> = request &
|
59
|
+
GetAccountParameter<account> &
|
60
|
+
GetChainParameter<chain, chainOverride> &
|
61
|
+
GetTransactionRequestKzgParameter<request>
|
51
62
|
|
52
63
|
export type SignTransactionReturnType = TransactionSerialized
|
53
64
|
|
@@ -105,18 +116,22 @@ export type SignTransactionErrorType =
|
|
105
116
|
* })
|
106
117
|
*/
|
107
118
|
export async function signTransaction<
|
108
|
-
|
109
|
-
|
110
|
-
|
119
|
+
chain extends Chain | undefined,
|
120
|
+
account extends Account | undefined,
|
121
|
+
chainOverride extends Chain | undefined = undefined,
|
122
|
+
const request extends SignTransactionRequest<
|
123
|
+
chain,
|
124
|
+
chainOverride
|
125
|
+
> = SignTransactionRequest<chain, chainOverride>,
|
111
126
|
>(
|
112
|
-
client: Client<Transport,
|
113
|
-
|
127
|
+
client: Client<Transport, chain, account>,
|
128
|
+
parameters: SignTransactionParameters<chain, account, chainOverride, request>,
|
114
129
|
): Promise<SignTransactionReturnType> {
|
115
130
|
const {
|
116
131
|
account: account_ = client.account,
|
117
132
|
chain = client.chain,
|
118
133
|
...transaction
|
119
|
-
} =
|
134
|
+
} = parameters
|
120
135
|
|
121
136
|
if (!account_)
|
122
137
|
throw new AccountNotFoundError({
|
@@ -126,7 +141,7 @@ export async function signTransaction<
|
|
126
141
|
|
127
142
|
assertRequest({
|
128
143
|
account,
|
129
|
-
...
|
144
|
+
...parameters,
|
130
145
|
})
|
131
146
|
|
132
147
|
const chainId = await getAction(client, getChainId, 'getChainId')({})
|
@@ -140,14 +155,15 @@ export async function signTransaction<
|
|
140
155
|
const format =
|
141
156
|
formatters?.transactionRequest?.format || formatTransactionRequest
|
142
157
|
|
143
|
-
if (account.type === 'local')
|
158
|
+
if (account.type === 'local') {
|
144
159
|
return account.signTransaction(
|
145
160
|
{
|
146
161
|
...transaction,
|
147
162
|
chainId,
|
148
|
-
} as
|
163
|
+
} as TransactionSerializable,
|
149
164
|
{ serializer: client.chain?.serializers?.transaction },
|
150
165
|
) as Promise<SignTransactionReturnType>
|
166
|
+
}
|
151
167
|
|
152
168
|
return await client.request(
|
153
169
|
{
|
@@ -4,16 +4,14 @@ import { InvalidChainIdError } from '../../errors/chain.js'
|
|
4
4
|
import { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js'
|
5
5
|
import type { ChainSerializers } from '../../types/chain.js'
|
6
6
|
import type { Signature } from '../../types/misc.js'
|
7
|
-
import type { TransactionSerializable } from '../../types/transaction.js'
|
8
7
|
import { isAddress } from '../../utils/address/isAddress.js'
|
9
8
|
import { concatHex } from '../../utils/data/concat.js'
|
10
|
-
import { trim } from '../../utils/data/trim.js'
|
11
9
|
import { toHex } from '../../utils/encoding/toHex.js'
|
12
10
|
import { toRlp } from '../../utils/encoding/toRlp.js'
|
13
11
|
import { serializeAccessList } from '../../utils/transaction/serializeAccessList.js'
|
14
12
|
import {
|
15
|
-
type SerializeTransactionFn,
|
16
13
|
serializeTransaction as serializeTransaction_,
|
14
|
+
toYParitySignatureArray,
|
17
15
|
} from '../../utils/transaction/serializeTransaction.js'
|
18
16
|
import type {
|
19
17
|
CeloTransactionSerializable,
|
@@ -24,12 +22,15 @@ import type {
|
|
24
22
|
} from './types.js'
|
25
23
|
import { isCIP42, isCIP64, isEmpty, isPresent } from './utils.js'
|
26
24
|
|
27
|
-
export
|
28
|
-
CeloTransactionSerializable
|
29
|
-
|
30
|
-
|
31
|
-
if (
|
32
|
-
|
25
|
+
export function serializeTransaction(
|
26
|
+
transaction: CeloTransactionSerializable,
|
27
|
+
signature?: Signature,
|
28
|
+
) {
|
29
|
+
if (isCIP64(transaction))
|
30
|
+
return serializeTransactionCIP64(transaction, signature)
|
31
|
+
if (isCIP42(transaction))
|
32
|
+
return serializeTransactionCIP42(transaction, signature)
|
33
|
+
return serializeTransaction_(transaction, signature)
|
33
34
|
}
|
34
35
|
|
35
36
|
export const serializers = {
|
@@ -78,16 +79,9 @@ function serializeTransactionCIP42(
|
|
78
79
|
value ? toHex(value) : '0x',
|
79
80
|
data ?? '0x',
|
80
81
|
serializeAccessList(accessList),
|
82
|
+
...toYParitySignatureArray(transaction, signature),
|
81
83
|
]
|
82
84
|
|
83
|
-
if (signature) {
|
84
|
-
serializedTransaction.push(
|
85
|
-
signature.v === 27n ? '0x' : toHex(1), // yParity
|
86
|
-
trim(signature.r),
|
87
|
-
trim(signature.s),
|
88
|
-
)
|
89
|
-
}
|
90
|
-
|
91
85
|
return concatHex([
|
92
86
|
'0x7c',
|
93
87
|
toRlp(serializedTransaction),
|
@@ -123,16 +117,9 @@ function serializeTransactionCIP64(
|
|
123
117
|
data ?? '0x',
|
124
118
|
serializeAccessList(accessList),
|
125
119
|
feeCurrency!,
|
120
|
+
...toYParitySignatureArray(transaction, signature),
|
126
121
|
]
|
127
122
|
|
128
|
-
if (signature) {
|
129
|
-
serializedTransaction.push(
|
130
|
-
signature.v === 27n ? '0x' : toHex(1), // yParity
|
131
|
-
trim(signature.r),
|
132
|
-
trim(signature.s),
|
133
|
-
)
|
134
|
-
}
|
135
|
-
|
136
123
|
return concatHex([
|
137
124
|
'0x7b',
|
138
125
|
toRlp(serializedTransaction),
|
package/chains/celo/types.ts
CHANGED
@@ -21,7 +21,7 @@ import type {
|
|
21
21
|
TransactionSerializableBase,
|
22
22
|
TransactionSerialized,
|
23
23
|
} from '../../types/transaction.js'
|
24
|
-
import type { NeverBy } from '../../types/utils.js'
|
24
|
+
import type { NeverBy, OneOf } from '../../types/utils.js'
|
25
25
|
|
26
26
|
type CeloBlockExclude =
|
27
27
|
| 'difficulty'
|
@@ -89,13 +89,14 @@ export type CeloTransactionRequest =
|
|
89
89
|
| TransactionRequestCIP42
|
90
90
|
| TransactionRequestCIP64
|
91
91
|
|
92
|
-
export type CeloTransactionSerializable =
|
92
|
+
export type CeloTransactionSerializable = OneOf<
|
93
|
+
| TransactionSerializable
|
93
94
|
| TransactionSerializableCIP42
|
94
95
|
| TransactionSerializableCIP64
|
95
|
-
|
96
|
+
>
|
96
97
|
|
97
98
|
export type CeloTransactionSerialized<
|
98
|
-
TType extends CeloTransactionType =
|
99
|
+
TType extends CeloTransactionType = CeloTransactionType,
|
99
100
|
> =
|
100
101
|
| TransactionSerialized<TType>
|
101
102
|
| TransactionSerializedCIP42
|
@@ -240,11 +241,5 @@ export type TransactionSerializableCIP64<
|
|
240
241
|
type?: 'cip64'
|
241
242
|
}
|
242
243
|
|
243
|
-
export type CeloTransactionSerializableBase = TransactionSerializable & {
|
244
|
-
feeCurrency?: undefined
|
245
|
-
gatewayFee?: undefined
|
246
|
-
gatewayFeeRecipient?: undefined
|
247
|
-
}
|
248
|
-
|
249
244
|
export type TransactionSerializedCIP42 = `0x7c${string}`
|
250
245
|
export type TransactionSerializedCIP64 = `0x7b${string}`
|