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
@@ -0,0 +1,27 @@
|
|
1
|
+
import { bytesToHex } from '../encoding/toHex.js';
|
2
|
+
import { sha256 } from '../hash/sha256.js';
|
3
|
+
/**
|
4
|
+
* Transform a commitment to it's versioned hash.
|
5
|
+
*
|
6
|
+
* @example
|
7
|
+
* ```ts
|
8
|
+
* import {
|
9
|
+
* blobsToCommitments,
|
10
|
+
* commitmentToVersionedHash,
|
11
|
+
* toBlobs
|
12
|
+
* } from 'viem'
|
13
|
+
* import { kzg } from './kzg'
|
14
|
+
*
|
15
|
+
* const blobs = toBlobs({ data: '0x1234' })
|
16
|
+
* const [commitment] = blobsToCommitments({ blobs, kzg })
|
17
|
+
* const versionedHash = commitmentToVersionedHash({ commitment })
|
18
|
+
* ```
|
19
|
+
*/
|
20
|
+
export function commitmentToVersionedHash(parameters) {
|
21
|
+
const { commitment, version = 1 } = parameters;
|
22
|
+
const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes');
|
23
|
+
const versionedHash = sha256(commitment, 'bytes');
|
24
|
+
versionedHash.set([version], 0);
|
25
|
+
return (to === 'bytes' ? versionedHash : bytesToHex(versionedHash));
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=commitmentToVersionedHash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commitmentToVersionedHash.js","sourceRoot":"","sources":["../../../utils/blob/commitmentToVersionedHash.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAwB,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAyBhE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAMvC,UAA+D;IAE/D,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,OAAO,CACL,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAChB,CAAA;AAC9C,CAAC"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';
|
2
|
+
/**
|
3
|
+
* Transform a list of commitments to their versioned hashes.
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* import {
|
8
|
+
* blobsToCommitments,
|
9
|
+
* commitmentsToVersionedHashes,
|
10
|
+
* toBlobs
|
11
|
+
* } from 'viem'
|
12
|
+
* import { kzg } from './kzg'
|
13
|
+
*
|
14
|
+
* const blobs = toBlobs({ data: '0x1234' })
|
15
|
+
* const commitments = blobsToCommitments({ blobs, kzg })
|
16
|
+
* const versionedHashes = commitmentsToVersionedHashes({ commitments })
|
17
|
+
* ```
|
18
|
+
*/
|
19
|
+
export function commitmentsToVersionedHashes(parameters) {
|
20
|
+
const { commitments, version } = parameters;
|
21
|
+
const to = parameters.to ?? (typeof commitments[0] === 'string' ? 'hex' : 'bytes');
|
22
|
+
const hashes = [];
|
23
|
+
for (const commitment of commitments) {
|
24
|
+
hashes.push(commitmentToVersionedHash({
|
25
|
+
commitment,
|
26
|
+
to,
|
27
|
+
version,
|
28
|
+
}));
|
29
|
+
}
|
30
|
+
return hashes;
|
31
|
+
}
|
32
|
+
//# sourceMappingURL=commitmentsToVersionedHashes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commitmentsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/commitmentsToVersionedHashes.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAwBvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,4BAA4B,CAM1C,UAAmE;IAEnE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE3C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAoD,CAAA;AAC7D,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { createCursor } from '../cursor.js';
|
2
|
+
import { hexToBytes } from '../encoding/toBytes.js';
|
3
|
+
import { bytesToHex } from '../encoding/toHex.js';
|
4
|
+
export function fromBlobs(parameters) {
|
5
|
+
const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');
|
6
|
+
const blobs = (typeof parameters.blobs[0] === 'string'
|
7
|
+
? parameters.blobs.map((x) => hexToBytes(x))
|
8
|
+
: parameters.blobs);
|
9
|
+
const length = blobs.reduce((length, blob) => length + blob.length, 0);
|
10
|
+
const data = createCursor(new Uint8Array(length));
|
11
|
+
let active = true;
|
12
|
+
for (const blob of blobs) {
|
13
|
+
const cursor = createCursor(blob);
|
14
|
+
while (active && cursor.position < blob.length) {
|
15
|
+
// First byte will be a zero 0x00 byte – we can skip.
|
16
|
+
cursor.incrementPosition(1);
|
17
|
+
let consume = 31;
|
18
|
+
if (blob.length - cursor.position < 31)
|
19
|
+
consume = blob.length - cursor.position;
|
20
|
+
const bytes = cursor.readBytes(consume);
|
21
|
+
for (const byte of bytes) {
|
22
|
+
if (byte === 0x80) {
|
23
|
+
active = false;
|
24
|
+
break;
|
25
|
+
}
|
26
|
+
data.pushByte(byte);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
const trimmedData = data.bytes.slice(0, data.position);
|
31
|
+
return (to === 'hex' ? bytesToHex(trimmedData) : trimmedData);
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=fromBlobs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fromBlobs.js","sourceRoot":"","sources":["../../../utils/blob/fromBlobs.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAyB3E,MAAM,UAAU,SAAS,CAKvB,UAA0C;IAC1C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,qDAAqD;YACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE3B,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;gBACpC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,MAAM,GAAG,KAAK,CAAA;oBACd,MAAK;gBACP,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,OAAO,CACL,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1B,CAAA;AAC9B,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';
|
2
|
+
/**
|
3
|
+
* Transforms a list of sidecars to their versioned hashes.
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* import { toBlobSidecars, sidecarsToVersionedHashes, stringToHex } from 'viem'
|
8
|
+
*
|
9
|
+
* const sidecars = toBlobSidecars({ data: stringToHex('hello world') })
|
10
|
+
* const versionedHashes = sidecarsToVersionedHashes({ sidecars })
|
11
|
+
* ```
|
12
|
+
*/
|
13
|
+
export function sidecarsToVersionedHashes(parameters) {
|
14
|
+
const { sidecars, version } = parameters;
|
15
|
+
const to = parameters.to ?? (typeof sidecars[0].blob === 'string' ? 'hex' : 'bytes');
|
16
|
+
const hashes = [];
|
17
|
+
for (const { commitment } of sidecars) {
|
18
|
+
hashes.push(commitmentToVersionedHash({
|
19
|
+
commitment,
|
20
|
+
to,
|
21
|
+
version,
|
22
|
+
}));
|
23
|
+
}
|
24
|
+
return hashes;
|
25
|
+
}
|
26
|
+
//# sourceMappingURL=sidecarsToVersionedHashes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sidecarsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/sidecarsToVersionedHashes.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAwBvC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAMvC,UAA6D;IAE7D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAExC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAiD,CAAA;AAC1D,CAAC"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import { blobsToCommitments, } from './blobsToCommitments.js';
|
2
|
+
import { blobsToProofs } from './blobsToProofs.js';
|
3
|
+
import { toBlobs } from './toBlobs.js';
|
4
|
+
/**
|
5
|
+
* Transforms arbitrary data (or blobs, commitments, & proofs) into a sidecar array.
|
6
|
+
*
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { toBlobSidecars, stringToHex } from 'viem'
|
10
|
+
*
|
11
|
+
* const sidecars = toBlobSidecars({ data: stringToHex('hello world') })
|
12
|
+
* ```
|
13
|
+
*
|
14
|
+
* @example
|
15
|
+
* ```ts
|
16
|
+
* import {
|
17
|
+
* blobsToCommitments,
|
18
|
+
* toBlobs,
|
19
|
+
* blobsToProofs,
|
20
|
+
* toBlobSidecars,
|
21
|
+
* stringToHex
|
22
|
+
* } from 'viem'
|
23
|
+
*
|
24
|
+
* const blobs = toBlobs({ data: stringToHex('hello world') })
|
25
|
+
* const commitments = blobsToCommitments({ blobs, kzg })
|
26
|
+
* const proofs = blobsToProofs({ blobs, commitments, kzg })
|
27
|
+
*
|
28
|
+
* const sidecars = toBlobSidecars({ blobs, commitments, proofs })
|
29
|
+
* ```
|
30
|
+
*/
|
31
|
+
export function toBlobSidecars(parameters) {
|
32
|
+
const { data, kzg, to } = parameters;
|
33
|
+
const blobs = parameters.blobs ?? toBlobs({ data: data, to });
|
34
|
+
const commitments = parameters.commitments ?? blobsToCommitments({ blobs, kzg: kzg, to });
|
35
|
+
const proofs = parameters.proofs ?? blobsToProofs({ blobs, commitments, kzg: kzg, to });
|
36
|
+
const sidecars = [];
|
37
|
+
for (let i = 0; i < blobs.length; i++)
|
38
|
+
sidecars.push({
|
39
|
+
blob: blobs[i],
|
40
|
+
commitment: commitments[i],
|
41
|
+
proof: proofs[i],
|
42
|
+
});
|
43
|
+
return sidecars;
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=toBlobSidecars.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"toBlobSidecars.js","sourceRoot":"","sources":["../../../utils/blob/toBlobSidecars.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAA+B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAyB,OAAO,EAAE,MAAM,cAAc,CAAA;AA4C7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAS5B,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAE3E,MAAM,QAAQ,GAAiB,EAAE,CAAA;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACjB,CAAC,CAAA;IAEJ,OAAO,QAAwC,CAAA;AACjD,CAAC"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { bytesPerBlob, bytesPerFieldElement, fieldElementsPerBlob, maxBytesPerTransaction, } from '../../constants/blob.js';
|
2
|
+
import { BlobSizeTooLargeError, EmptyBlobError, } from '../../errors/blob.js';
|
3
|
+
import { createCursor } from '../cursor.js';
|
4
|
+
import { size } from '../data/size.js';
|
5
|
+
import { hexToBytes } from '../encoding/toBytes.js';
|
6
|
+
import { bytesToHex } from '../encoding/toHex.js';
|
7
|
+
/**
|
8
|
+
* Transforms arbitrary data to blobs.
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* ```ts
|
12
|
+
* import { toBlobs, stringToHex } from 'viem'
|
13
|
+
*
|
14
|
+
* const blobs = toBlobs({ data: stringToHex('hello world') })
|
15
|
+
* ```
|
16
|
+
*/
|
17
|
+
export function toBlobs(parameters) {
|
18
|
+
const to = parameters.to ?? (typeof parameters.data === 'string' ? 'hex' : 'bytes');
|
19
|
+
const data = (typeof parameters.data === 'string'
|
20
|
+
? hexToBytes(parameters.data)
|
21
|
+
: parameters.data);
|
22
|
+
const size_ = size(data);
|
23
|
+
if (!size_)
|
24
|
+
throw new EmptyBlobError();
|
25
|
+
if (size_ > maxBytesPerTransaction)
|
26
|
+
throw new BlobSizeTooLargeError({
|
27
|
+
maxSize: maxBytesPerTransaction,
|
28
|
+
size: size_,
|
29
|
+
});
|
30
|
+
const blobs = [];
|
31
|
+
let active = true;
|
32
|
+
let position = 0;
|
33
|
+
while (active) {
|
34
|
+
const blob = createCursor(new Uint8Array(bytesPerBlob));
|
35
|
+
let size = 0;
|
36
|
+
while (size < fieldElementsPerBlob) {
|
37
|
+
const bytes = data.slice(position, position + (bytesPerFieldElement - 1));
|
38
|
+
// Push a zero byte so the field element doesn't overflow the BLS modulus.
|
39
|
+
blob.pushByte(0x00);
|
40
|
+
// Push the current segment of data bytes.
|
41
|
+
blob.pushBytes(bytes);
|
42
|
+
// If we detect that the current segment of data bytes is less than 31 bytes,
|
43
|
+
// we can stop processing and push a terminator byte to indicate the end of the blob.
|
44
|
+
if (bytes.length < 31) {
|
45
|
+
blob.pushByte(0x80);
|
46
|
+
active = false;
|
47
|
+
break;
|
48
|
+
}
|
49
|
+
size++;
|
50
|
+
position += 31;
|
51
|
+
}
|
52
|
+
blobs.push(blob);
|
53
|
+
}
|
54
|
+
return (to === 'bytes'
|
55
|
+
? blobs.map((x) => x.bytes)
|
56
|
+
: blobs.map((x) => bytesToHex(x.bytes)));
|
57
|
+
}
|
58
|
+
//# sourceMappingURL=toBlobs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"toBlobs.js","sourceRoot":"","sources":["../../../utils/blob/toBlobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,qBAAqB,EAErB,cAAc,GAEf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAsB,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AA0B3E;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAKrB,UAAuC;IACvC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,IAAI,GAAG,CACX,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QACjC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CACP,CAAA;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,cAAc,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,sBAAsB;QAChC,MAAM,IAAI,qBAAqB,CAAC;YAC9B,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,EAAE,CAAA;IAEhB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;QAEvD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,GAAG,oBAAoB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAA;YAEzE,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEnB,0CAA0C;YAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAErB,6EAA6E;YAC7E,qFAAqF;YACrF,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnB,MAAM,GAAG,KAAK,CAAA;gBACd,MAAK;YACP,CAAC;YAED,IAAI,EAAE,CAAA;YACN,QAAQ,IAAI,EAAE,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,CACL,EAAE,KAAK,OAAO;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACjB,CAAA;AAC5B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"toRlp.js","sourceRoot":"","sources":["../../../utils/encoding/toRlp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAGL,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAA4B,UAAU,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,EAA4B,UAAU,EAAE,MAAM,YAAY,CAAA;AAqBjE,MAAM,UAAU,KAAK,CACnB,KAAsD,EACtD,KAA0B,KAAK;IAE/B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAExB,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAwB,CAAA;IACxE,OAAO,MAAM,CAAC,KAA4B,CAAA;AAC5C,CAAC;AAID,MAAM,UAAU,UAAU,CACxB,KAAgC,EAChC,KAA0B,OAAO;IAEjC,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACzB,CAAC;AAID,MAAM,UAAU,QAAQ,CACtB,GAAwB,EACxB,KAA0B,KAAK;IAE/B,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,YAAY,CACnB,KAAsD;IAEtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,OAAO,iBAAiB,CAAC,
|
1
|
+
{"version":3,"file":"toRlp.js","sourceRoot":"","sources":["../../../utils/encoding/toRlp.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { numberToHex } from '../encoding/toHex.js';
|
1
|
+
import { bytesToHex, numberToHex } from '../encoding/toHex.js';
|
2
2
|
import { defineFormatter } from './formatter.js';
|
3
3
|
export const rpcTransactionType = {
|
4
4
|
legacy: '0x0',
|
@@ -6,31 +6,28 @@ export const rpcTransactionType = {
|
|
6
6
|
eip1559: '0x2',
|
7
7
|
eip4844: '0x3',
|
8
8
|
};
|
9
|
-
export function formatTransactionRequest(
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
type
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
? numberToHex(transactionRequest.value)
|
32
|
-
: undefined,
|
33
|
-
};
|
9
|
+
export function formatTransactionRequest(request) {
|
10
|
+
const rpcRequest = { ...request };
|
11
|
+
if (typeof request.blobs !== 'undefined' &&
|
12
|
+
typeof request.blobs[0] !== 'string')
|
13
|
+
rpcRequest.blobs = request.blobs.map((x) => bytesToHex(x));
|
14
|
+
if (typeof request.gas !== 'undefined')
|
15
|
+
rpcRequest.gas = numberToHex(request.gas);
|
16
|
+
if (typeof request.gasPrice !== 'undefined')
|
17
|
+
rpcRequest.gasPrice = numberToHex(request.gasPrice);
|
18
|
+
if (typeof request.maxFeePerBlobGas !== 'undefined')
|
19
|
+
rpcRequest.maxFeePerBlobGas = numberToHex(request.maxFeePerBlobGas);
|
20
|
+
if (typeof request.maxFeePerGas !== 'undefined')
|
21
|
+
rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas);
|
22
|
+
if (typeof request.maxPriorityFeePerGas !== 'undefined')
|
23
|
+
rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas);
|
24
|
+
if (typeof request.nonce !== 'undefined')
|
25
|
+
rpcRequest.nonce = numberToHex(request.nonce);
|
26
|
+
if (typeof request.type !== 'undefined')
|
27
|
+
rpcRequest.type = rpcTransactionType[request.type];
|
28
|
+
if (typeof request.value !== 'undefined')
|
29
|
+
rpcRequest.value = numberToHex(request.value);
|
30
|
+
return rpcRequest;
|
34
31
|
}
|
35
32
|
export const defineTransactionRequest = /*#__PURE__*/ defineFormatter('transactionRequest', formatTransactionRequest);
|
36
33
|
//# sourceMappingURL=transactionRequest.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../utils/formatters/transactionRequest.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAU/E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACN,CAAA;AAIV,MAAM,UAAU,wBAAwB,CAAC,OAAoC;IAC3E,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAA2B,CAAA;IAE1D,IACE,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAEpC,UAAU,CAAC,KAAK,GAAI,OAAO,CAAC,KAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;QACpC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;QACzC,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,WAAW;QACjD,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrE,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW;QAC7C,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAK,WAAW;QACrD,UAAU,CAAC,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC7E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;QACrC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,UAAU,CAAA;AACnB,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* Defines a KZG interface.
|
3
|
+
*
|
4
|
+
* @example
|
5
|
+
* ```ts
|
6
|
+
* import * as cKzg from 'c-kzg'
|
7
|
+
* import { defineKzg } from 'viem'
|
8
|
+
* import { mainnetTrustedSetupPath } from 'viem/node'
|
9
|
+
*
|
10
|
+
* cKzg.loadTrustedSetup(mainnetTrustedSetupPath)
|
11
|
+
*
|
12
|
+
* const kzg = defineKzg(cKzg)
|
13
|
+
* ```
|
14
|
+
*/
|
15
|
+
export function defineKzg({ blobToKzgCommitment, computeBlobKzgProof, }) {
|
16
|
+
return {
|
17
|
+
blobToKzgCommitment,
|
18
|
+
computeBlobKzgProof,
|
19
|
+
};
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=defineKzg.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"defineKzg.js","sourceRoot":"","sources":["../../../utils/kzg/defineKzg.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,mBAAmB,EACnB,mBAAmB,GACC;IACpB,OAAO;QACL,mBAAmB;QACnB,mBAAmB;KACpB,CAAA;AACH,CAAC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { defineKzg, } from './defineKzg.js';
|
2
|
+
/**
|
3
|
+
* Sets up and returns a KZG interface.
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* import * as cKzg from 'c-kzg'
|
8
|
+
* import { setupKzg } from 'viem'
|
9
|
+
* import { mainnetTrustedSetupPath } from 'viem/node'
|
10
|
+
*
|
11
|
+
* const kzg = setupKzg(cKzg, mainnetTrustedSetupPath)
|
12
|
+
* ```
|
13
|
+
*/
|
14
|
+
export function setupKzg(parameters, path) {
|
15
|
+
try {
|
16
|
+
parameters.loadTrustedSetup(path);
|
17
|
+
}
|
18
|
+
catch (e) {
|
19
|
+
const error = e;
|
20
|
+
if (!error.message.includes('trusted setup is already loaded'))
|
21
|
+
throw error;
|
22
|
+
}
|
23
|
+
return defineKzg(parameters);
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=setupKzg.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"setupKzg.js","sourceRoot":"","sources":["../../../utils/kzg/setupKzg.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,GACV,MAAM,gBAAgB,CAAA;AAQvB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CACtB,UAA8B,EAC9B,IAAY;IAEZ,IAAI,CAAC;QACH,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAAE,MAAM,KAAK,CAAA;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,CAAA;AAC9B,CAAC"}
|
@@ -19,10 +19,10 @@ import { bytesToHex } from '../encoding/toHex.js';
|
|
19
19
|
*/
|
20
20
|
export function compactSignatureToSignature({ r, yParityAndS, }) {
|
21
21
|
const yParityAndS_bytes = hexToBytes(yParityAndS);
|
22
|
-
const
|
22
|
+
const yParity = yParityAndS_bytes[0] & 0x80 ? 1 : 0;
|
23
23
|
const s = yParityAndS_bytes;
|
24
|
-
if (
|
24
|
+
if (yParity === 1)
|
25
25
|
s[0] &= 0x7f;
|
26
|
-
return { r, s: bytesToHex(s),
|
26
|
+
return { r, s: bytesToHex(s), yParity };
|
27
27
|
}
|
28
28
|
//# sourceMappingURL=compactSignatureToSignature.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compactSignatureToSignature.js","sourceRoot":"","sources":["../../../utils/signature/compactSignatureToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAO3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,CAAC,EACD,WAAW,GACM;IACjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,
|
1
|
+
{"version":3,"file":"compactSignatureToSignature.js","sourceRoot":"","sources":["../../../utils/signature/compactSignatureToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAO3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,CAAC,EACD,WAAW,GACM;IACjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,iBAAiB,CAAA;IAC3B,IAAI,OAAO,KAAK,CAAC;QAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC"}
|
@@ -13,6 +13,11 @@ import { numberToHex, } from '../../utils/encoding/toHex.js';
|
|
13
13
|
export function hexToSignature(signatureHex) {
|
14
14
|
const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130));
|
15
15
|
const v = BigInt(`0x${signatureHex.slice(130)}`);
|
16
|
-
return {
|
16
|
+
return {
|
17
|
+
r: numberToHex(r, { size: 32 }),
|
18
|
+
s: numberToHex(s, { size: 32 }),
|
19
|
+
v,
|
20
|
+
yParity: v === 28n ? 1 : 0,
|
21
|
+
};
|
17
22
|
}
|
18
23
|
//# sourceMappingURL=hexToSignature.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hexToSignature.js","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AAItC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,YAAiB;IAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,
|
1
|
+
{"version":3,"file":"hexToSignature.js","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AAItC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,YAAiB;IAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO;QACL,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3B,CAAA;AACH,CAAC"}
|
@@ -9,7 +9,7 @@ import { bytesToHex, hexToBytes, } from '../index.js';
|
|
9
9
|
* signatureToCompactSignature({
|
10
10
|
* r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
|
11
11
|
* s: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
|
12
|
-
*
|
12
|
+
* yParity: 0
|
13
13
|
* })
|
14
14
|
* // {
|
15
15
|
* // r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
|
@@ -17,10 +17,10 @@ import { bytesToHex, hexToBytes, } from '../index.js';
|
|
17
17
|
* // }
|
18
18
|
*/
|
19
19
|
export function signatureToCompactSignature(signature) {
|
20
|
-
const { r, s, v } = signature;
|
21
|
-
const
|
20
|
+
const { r, s, v, yParity } = signature;
|
21
|
+
const yParity_ = Number(yParity ?? v - 27n);
|
22
22
|
let yParityAndS = s;
|
23
|
-
if (
|
23
|
+
if (yParity_ === 1) {
|
24
24
|
const bytes = hexToBytes(s);
|
25
25
|
bytes[0] |= 0x80;
|
26
26
|
yParityAndS = bytesToHex(bytes);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signatureToCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/signatureToCompactSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAA;AAOpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"signatureToCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/signatureToCompactSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAA;AAOpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,CAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAChB,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;AAC3B,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { secp256k1 } from '@noble/curves/secp256k1';
|
2
2
|
import { hexToBigInt, } from '../../utils/encoding/fromHex.js';
|
3
|
-
import {
|
3
|
+
import {} from '../../utils/encoding/toHex.js';
|
4
4
|
/**
|
5
5
|
* @description Converts a signature into hex format.
|
6
6
|
*
|
@@ -11,11 +11,18 @@ import { toHex } from '../../utils/encoding/toHex.js';
|
|
11
11
|
* signatureToHex({
|
12
12
|
* r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
|
13
13
|
* s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
|
14
|
-
*
|
14
|
+
* yParity: 1
|
15
15
|
* })
|
16
16
|
* // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
|
17
17
|
*/
|
18
|
-
export function signatureToHex({ r, s, v }) {
|
19
|
-
|
18
|
+
export function signatureToHex({ r, s, v, yParity }) {
|
19
|
+
const vHex = (() => {
|
20
|
+
if (v === 27n || yParity === 0)
|
21
|
+
return '1b';
|
22
|
+
if (v === 28n || yParity === 1)
|
23
|
+
return '1c';
|
24
|
+
throw new Error('Invalid v value');
|
25
|
+
})();
|
26
|
+
return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).toCompactHex()}${vHex}`;
|
20
27
|
}
|
21
28
|
//# sourceMappingURL=signatureToHex.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAuB,
|
1
|
+
{"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAuB,MAAM,+BAA+B,CAAA;AAOnE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAa;IAC5D,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,KAAK,IAAI,SAAS,CAAC,SAAS,CACjC,WAAW,CAAC,CAAC,CAAC,EACd,WAAW,CAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAA;AAC3B,CAAC"}
|
@@ -1,8 +1,32 @@
|
|
1
|
+
import { versionedHashVersionKzg } from '../../constants/kzg.js';
|
1
2
|
import { InvalidAddressError, } from '../../errors/address.js';
|
2
3
|
import { BaseError } from '../../errors/base.js';
|
4
|
+
import { EmptyBlobError, InvalidVersionedHashSizeError, InvalidVersionedHashVersionError, } from '../../errors/blob.js';
|
3
5
|
import { InvalidChainIdError, } from '../../errors/chain.js';
|
4
6
|
import { FeeCapTooHighError, TipAboveFeeCapError, } from '../../errors/node.js';
|
5
7
|
import { isAddress } from '../address/isAddress.js';
|
8
|
+
import { size } from '../data/size.js';
|
9
|
+
import { slice } from '../data/slice.js';
|
10
|
+
import { hexToNumber } from '../encoding/fromHex.js';
|
11
|
+
export function assertTransactionEIP4844(transaction) {
|
12
|
+
const { blobVersionedHashes } = transaction;
|
13
|
+
if (blobVersionedHashes) {
|
14
|
+
if (blobVersionedHashes.length === 0)
|
15
|
+
throw new EmptyBlobError();
|
16
|
+
for (const hash of blobVersionedHashes) {
|
17
|
+
const size_ = size(hash);
|
18
|
+
const version = hexToNumber(slice(hash, 0, 1));
|
19
|
+
if (size_ !== 32)
|
20
|
+
throw new InvalidVersionedHashSizeError({ hash, size: size_ });
|
21
|
+
if (version !== versionedHashVersionKzg)
|
22
|
+
throw new InvalidVersionedHashVersionError({
|
23
|
+
hash,
|
24
|
+
version,
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
assertTransactionEIP1559(transaction);
|
29
|
+
}
|
6
30
|
export function assertTransactionEIP1559(transaction) {
|
7
31
|
const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;
|
8
32
|
if (chainId <= 0)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"assertTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,kBAAkB,EAElB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"assertTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,8 @@ import { sliceHex } from '../data/slice.js';
|
|
3
3
|
import { hexToNumber } from '../encoding/fromHex.js';
|
4
4
|
export function getSerializedTransactionType(serializedTransaction) {
|
5
5
|
const serializedType = sliceHex(serializedTransaction, 0, 1);
|
6
|
+
if (serializedType === '0x03')
|
7
|
+
return 'eip4844';
|
6
8
|
if (serializedType === '0x02')
|
7
9
|
return 'eip1559';
|
8
10
|
if (serializedType === '0x01')
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getSerializedTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,GAEtC,MAAM,6BAA6B,CAAA;
|
1
|
+
{"version":3,"file":"getSerializedTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,GAEtC,MAAM,6BAA6B,CAAA;AAapC,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAA6B,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA8B/E,MAAM,UAAU,4BAA4B,CAG1C,qBAA4C;IAE5C,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,IAAI,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI;QAChE,OAAO,QAA+D,CAAA;IAExE,MAAM,IAAI,qCAAqC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;AACrE,CAAC"}
|
@@ -2,9 +2,15 @@ import { InvalidSerializableTransactionError, } from '../../errors/transaction.j
|
|
2
2
|
export function getTransactionType(transaction) {
|
3
3
|
if (transaction.type)
|
4
4
|
return transaction.type;
|
5
|
+
if (typeof transaction.blobs !== 'undefined' ||
|
6
|
+
typeof transaction.blobVersionedHashes !== 'undefined' ||
|
7
|
+
typeof transaction.maxFeePerBlobGas !== 'undefined' ||
|
8
|
+
typeof transaction.sidecars !== 'undefined')
|
9
|
+
return 'eip4844';
|
5
10
|
if (typeof transaction.maxFeePerGas !== 'undefined' ||
|
6
|
-
typeof transaction.maxPriorityFeePerGas !== 'undefined')
|
11
|
+
typeof transaction.maxPriorityFeePerGas !== 'undefined') {
|
7
12
|
return 'eip1559';
|
13
|
+
}
|
8
14
|
if (typeof transaction.gasPrice !== 'undefined') {
|
9
15
|
if (typeof transaction.accessList !== 'undefined')
|
10
16
|
return 'eip2930';
|