ox 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Abi/package.json +6 -0
- package/Abi.ts +163 -0
- package/AbiConstructor/package.json +6 -0
- package/AbiConstructor.ts +413 -0
- package/AbiError/package.json +6 -0
- package/AbiError.ts +719 -0
- package/AbiEvent/package.json +6 -0
- package/AbiEvent.ts +1284 -0
- package/AbiFunction/package.json +6 -0
- package/AbiFunction.ts +813 -0
- package/AbiItem/package.json +6 -0
- package/AbiItem.ts +779 -0
- package/AbiParameters/package.json +6 -0
- package/AbiParameters.ts +712 -0
- package/AccessList/package.json +6 -0
- package/AccessList.ts +124 -0
- package/AccountProof/package.json +6 -0
- package/AccountProof.ts +35 -0
- package/Address/package.json +6 -0
- package/Address.ts +359 -0
- package/AesGcm/package.json +6 -0
- package/AesGcm.ts +220 -0
- package/Authorization/package.json +6 -0
- package/Authorization.ts +639 -0
- package/Base58/package.json +6 -0
- package/Base58.ts +180 -0
- package/Base64/package.json +6 -0
- package/Base64.ts +333 -0
- package/Blobs/package.json +6 -0
- package/Blobs.ts +982 -0
- package/Block/package.json +6 -0
- package/Block.ts +317 -0
- package/Bloom/package.json +6 -0
- package/Bloom.ts +80 -0
- package/Bls/package.json +6 -0
- package/Bls.ts +496 -0
- package/BlsPoint/package.json +6 -0
- package/BlsPoint.ts +232 -0
- package/Bytes/package.json +6 -0
- package/Bytes.ts +963 -0
- package/CHANGELOG.md +7 -0
- package/Caches/package.json +6 -0
- package/Caches.ts +21 -0
- package/ContractAddress/package.json +6 -0
- package/ContractAddress.ts +181 -0
- package/Ens/package.json +6 -0
- package/Ens.ts +116 -0
- package/Errors/package.json +6 -0
- package/Errors.ts +95 -0
- package/Fee/package.json +6 -0
- package/Fee.ts +57 -0
- package/Filter/package.json +6 -0
- package/Filter.ts +144 -0
- package/Hash/package.json +6 -0
- package/Hash.ts +210 -0
- package/HdKey/package.json +6 -0
- package/HdKey.ts +175 -0
- package/Hex/package.json +6 -0
- package/Hex.ts +1040 -0
- package/Json/package.json +6 -0
- package/Json.ts +84 -0
- package/Kzg/package.json +6 -0
- package/Kzg.ts +51 -0
- package/LICENSE +21 -0
- package/Log/package.json +6 -0
- package/Log.ts +248 -0
- package/Mnemonic/package.json +6 -0
- package/Mnemonic.ts +249 -0
- package/P256/package.json +6 -0
- package/P256.ts +230 -0
- package/PersonalMessage/package.json +6 -0
- package/PersonalMessage.ts +70 -0
- package/Provider/package.json +6 -0
- package/Provider.ts +354 -0
- package/PublicKey/package.json +6 -0
- package/PublicKey.ts +545 -0
- package/README.md +75 -26
- package/Rlp/package.json +6 -0
- package/Rlp.ts +390 -0
- package/RpcRequest/package.json +6 -0
- package/RpcRequest.ts +192 -0
- package/RpcResponse/package.json +6 -0
- package/RpcResponse.ts +389 -0
- package/RpcSchema/package.json +6 -0
- package/RpcSchema.ts +273 -0
- package/RpcTransport/package.json +6 -0
- package/RpcTransport.ts +198 -0
- package/Secp256k1/package.json +6 -0
- package/Secp256k1.ts +304 -0
- package/Signature/package.json +6 -0
- package/Signature.ts +909 -0
- package/Siwe/package.json +6 -0
- package/Siwe.ts +516 -0
- package/Solidity/package.json +6 -0
- package/Solidity.ts +109 -0
- package/Transaction/package.json +6 -0
- package/Transaction.ts +429 -0
- package/TransactionEnvelope/package.json +6 -0
- package/TransactionEnvelope.ts +205 -0
- package/TransactionEnvelopeEip1559/package.json +6 -0
- package/TransactionEnvelopeEip1559.ts +656 -0
- package/TransactionEnvelopeEip2930/package.json +6 -0
- package/TransactionEnvelopeEip2930.ts +624 -0
- package/TransactionEnvelopeEip4844/package.json +6 -0
- package/TransactionEnvelopeEip4844.ts +764 -0
- package/TransactionEnvelopeEip7702/package.json +6 -0
- package/TransactionEnvelopeEip7702.ts +639 -0
- package/TransactionEnvelopeLegacy/package.json +6 -0
- package/TransactionEnvelopeLegacy.ts +674 -0
- package/TransactionReceipt/package.json +6 -0
- package/TransactionReceipt.ts +341 -0
- package/TransactionRequest/package.json +6 -0
- package/TransactionRequest.ts +151 -0
- package/TypedData/package.json +6 -0
- package/TypedData.ts +931 -0
- package/ValidatorData/package.json +6 -0
- package/ValidatorData.ts +87 -0
- package/Value/package.json +6 -0
- package/Value.ts +242 -0
- package/WebAuthnP256/package.json +6 -0
- package/WebAuthnP256.ts +803 -0
- package/WebCryptoP256/package.json +6 -0
- package/WebCryptoP256.ts +190 -0
- package/Withdrawal/package.json +6 -0
- package/Withdrawal.ts +95 -0
- package/_cjs/Abi.js +17 -0
- package/_cjs/Abi.js.map +1 -0
- package/_cjs/AbiConstructor.js +42 -0
- package/_cjs/AbiConstructor.js.map +1 -0
- package/_cjs/AbiError.js +98 -0
- package/_cjs/AbiError.js.map +1 -0
- package/_cjs/AbiEvent.js +338 -0
- package/_cjs/AbiEvent.js.map +1 -0
- package/_cjs/AbiFunction.js +85 -0
- package/_cjs/AbiFunction.js.map +1 -0
- package/_cjs/AbiItem.js +180 -0
- package/_cjs/AbiItem.js.map +1 -0
- package/_cjs/AbiParameters.js +229 -0
- package/_cjs/AbiParameters.js.map +1 -0
- package/_cjs/AccessList.js +51 -0
- package/_cjs/AccessList.js.map +1 -0
- package/_cjs/AccountProof.js +3 -0
- package/_cjs/AccountProof.js.map +1 -0
- package/_cjs/Address.js +121 -0
- package/_cjs/Address.js.map +1 -0
- package/_cjs/AesGcm.js +55 -0
- package/_cjs/AesGcm.js.map +1 -0
- package/_cjs/Authorization.js +99 -0
- package/_cjs/Authorization.js.map +1 -0
- package/_cjs/Base58.js +52 -0
- package/_cjs/Base58.js.map +1 -0
- package/_cjs/Base64.js +76 -0
- package/_cjs/Base64.js.map +1 -0
- package/_cjs/Blobs.js +255 -0
- package/_cjs/Blobs.js.map +1 -0
- package/_cjs/Block.js +87 -0
- package/_cjs/Block.js.map +1 -0
- package/_cjs/Bloom.js +23 -0
- package/_cjs/Bloom.js.map +1 -0
- package/_cjs/Bls.js +79 -0
- package/_cjs/Bls.js.map +1 -0
- package/_cjs/BlsPoint.js +32 -0
- package/_cjs/BlsPoint.js.map +1 -0
- package/_cjs/Bytes.js +279 -0
- package/_cjs/Bytes.js.map +1 -0
- package/_cjs/Caches.js +14 -0
- package/_cjs/Caches.js.map +1 -0
- package/_cjs/ContractAddress.js +39 -0
- package/_cjs/ContractAddress.js.map +1 -0
- package/_cjs/Ens.js +37 -0
- package/_cjs/Ens.js.map +1 -0
- package/_cjs/Errors.js +99 -0
- package/_cjs/Errors.js.map +1 -0
- package/_cjs/Fee.js +3 -0
- package/_cjs/Fee.js.map +1 -0
- package/_cjs/Filter.js +43 -0
- package/_cjs/Filter.js.map +1 -0
- package/_cjs/Hash.js +40 -0
- package/_cjs/Hash.js.map +1 -0
- package/_cjs/HdKey.js +30 -0
- package/_cjs/HdKey.js.map +1 -0
- package/_cjs/Hex.js +324 -0
- package/_cjs/Hex.js.map +1 -0
- package/_cjs/Json.js +25 -0
- package/_cjs/Json.js.map +1 -0
- package/_cjs/Kzg.js +14 -0
- package/_cjs/Kzg.js.map +1 -0
- package/_cjs/Log.js +35 -0
- package/_cjs/Log.js.map +1 -0
- package/_cjs/Mnemonic.js +56 -0
- package/_cjs/Mnemonic.js.map +1 -0
- package/_cjs/P256.js +52 -0
- package/_cjs/P256.js.map +1 -0
- package/_cjs/PersonalMessage.js +16 -0
- package/_cjs/PersonalMessage.js.map +1 -0
- package/_cjs/Provider.js +90 -0
- package/_cjs/Provider.js.map +1 -0
- package/_cjs/PublicKey.js +192 -0
- package/_cjs/PublicKey.js.map +1 -0
- package/_cjs/Rlp.js +179 -0
- package/_cjs/Rlp.js.map +1 -0
- package/_cjs/RpcRequest.js +27 -0
- package/_cjs/RpcRequest.js.map +1 -0
- package/_cjs/RpcResponse.js +368 -0
- package/_cjs/RpcResponse.js.map +1 -0
- package/_cjs/RpcSchema.js +7 -0
- package/_cjs/RpcSchema.js.map +1 -0
- package/_cjs/RpcTransport.js +95 -0
- package/_cjs/RpcTransport.js.map +1 -0
- package/_cjs/Secp256k1.js +57 -0
- package/_cjs/Secp256k1.js.map +1 -0
- package/_cjs/Signature.js +305 -0
- package/_cjs/Signature.js.map +1 -0
- package/_cjs/Siwe.js +231 -0
- package/_cjs/Siwe.js.map +1 -0
- package/_cjs/Solidity.js +104 -0
- package/_cjs/Solidity.js.map +1 -0
- package/_cjs/Transaction.js +106 -0
- package/_cjs/Transaction.js.map +1 -0
- package/_cjs/TransactionEnvelope.js +80 -0
- package/_cjs/TransactionEnvelope.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip1559.js +182 -0
- package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip2930.js +166 -0
- package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip4844.js +224 -0
- package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip7702.js +156 -0
- package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
- package/_cjs/TransactionEnvelopeLegacy.js +221 -0
- package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
- package/_cjs/TransactionReceipt.js +76 -0
- package/_cjs/TransactionReceipt.js.map +1 -0
- package/_cjs/TransactionRequest.js +51 -0
- package/_cjs/TransactionRequest.js.map +1 -0
- package/_cjs/TypedData.js +318 -0
- package/_cjs/TypedData.js.map +1 -0
- package/_cjs/ValidatorData.js +16 -0
- package/_cjs/ValidatorData.js.map +1 -0
- package/_cjs/Value.js +96 -0
- package/_cjs/Value.js.map +1 -0
- package/_cjs/WebAuthnP256.js +245 -0
- package/_cjs/WebAuthnP256.js.map +1 -0
- package/_cjs/WebCryptoP256.js +46 -0
- package/_cjs/WebCryptoP256.js.map +1 -0
- package/_cjs/Withdrawal.js +24 -0
- package/_cjs/Withdrawal.js.map +1 -0
- package/_cjs/index.js +66 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/internal/abi.js +11 -0
- package/_cjs/internal/abi.js.map +1 -0
- package/_cjs/internal/abiConstructor.js +3 -0
- package/_cjs/internal/abiConstructor.js.map +1 -0
- package/_cjs/internal/abiError.js +3 -0
- package/_cjs/internal/abiError.js.map +1 -0
- package/_cjs/internal/abiEvent.js +3 -0
- package/_cjs/internal/abiEvent.js.map +1 -0
- package/_cjs/internal/abiFunction.js +3 -0
- package/_cjs/internal/abiFunction.js.map +1 -0
- package/_cjs/internal/abiItem.js +110 -0
- package/_cjs/internal/abiItem.js.map +1 -0
- package/_cjs/internal/abiParameters.js +376 -0
- package/_cjs/internal/abiParameters.js.map +1 -0
- package/_cjs/internal/base58.js +89 -0
- package/_cjs/internal/base58.js.map +1 -0
- package/_cjs/internal/bytes.js +88 -0
- package/_cjs/internal/bytes.js.map +1 -0
- package/_cjs/internal/cursor.js +210 -0
- package/_cjs/internal/cursor.js.map +1 -0
- package/_cjs/internal/ens.js +43 -0
- package/_cjs/internal/ens.js.map +1 -0
- package/_cjs/internal/errors.js +28 -0
- package/_cjs/internal/errors.js.map +1 -0
- package/_cjs/internal/hdKey.js +19 -0
- package/_cjs/internal/hdKey.js.map +1 -0
- package/_cjs/internal/hex.js +66 -0
- package/_cjs/internal/hex.js.map +1 -0
- package/_cjs/internal/lru.js +34 -0
- package/_cjs/internal/lru.js.map +1 -0
- package/_cjs/internal/mnemonic/wordlists.js +24 -0
- package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
- package/_cjs/internal/promise.js +49 -0
- package/_cjs/internal/promise.js.map +1 -0
- package/_cjs/internal/register.js +3 -0
- package/_cjs/internal/register.js.map +1 -0
- package/_cjs/internal/rpcSchema.js +3 -0
- package/_cjs/internal/rpcSchema.js.map +1 -0
- package/_cjs/internal/rpcSchemas/eth.js +3 -0
- package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
- package/_cjs/internal/rpcSchemas/wallet.js +3 -0
- package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
- package/_cjs/internal/rpcTransport.js +19 -0
- package/_cjs/internal/rpcTransport.js.map +1 -0
- package/_cjs/internal/types.js +3 -0
- package/_cjs/internal/types.js.map +1 -0
- package/_cjs/internal/uid.js +17 -0
- package/_cjs/internal/uid.js.map +1 -0
- package/_cjs/internal/webauthn.js +28 -0
- package/_cjs/internal/webauthn.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/trusted-setups/Paths.js +6 -0
- package/_cjs/trusted-setups/Paths.js.map +1 -0
- package/_cjs/trusted-setups/index.js +5 -0
- package/_cjs/trusted-setups/index.js.map +1 -0
- package/_cjs/trusted-setups/internal/paths.js +11 -0
- package/_cjs/trusted-setups/internal/paths.js.map +1 -0
- package/_cjs/version.js +5 -0
- package/_cjs/version.js.map +1 -0
- package/_cjs/window/index.js +3 -0
- package/_cjs/window/index.js.map +1 -0
- package/_esm/Abi.js +19 -0
- package/_esm/Abi.js.map +1 -0
- package/_esm/AbiConstructor.js +102 -0
- package/_esm/AbiConstructor.js.map +1 -0
- package/_esm/AbiError.js +364 -0
- package/_esm/AbiError.js.map +1 -0
- package/_esm/AbiEvent.js +1038 -0
- package/_esm/AbiEvent.js.map +1 -0
- package/_esm/AbiFunction.js +549 -0
- package/_esm/AbiFunction.js.map +1 -0
- package/_esm/AbiItem.js +574 -0
- package/_esm/AbiItem.js.map +1 -0
- package/_esm/AbiParameters.js +543 -0
- package/_esm/AbiParameters.js.map +1 -0
- package/_esm/AccessList.js +105 -0
- package/_esm/AccessList.js.map +1 -0
- package/_esm/AccountProof.js +2 -0
- package/_esm/AccountProof.js.map +1 -0
- package/_esm/Address.js +268 -0
- package/_esm/Address.js.map +1 -0
- package/_esm/AesGcm.js +124 -0
- package/_esm/AesGcm.js.map +1 -0
- package/_esm/Authorization.js +441 -0
- package/_esm/Authorization.js.map +1 -0
- package/_esm/Base58.js +142 -0
- package/_esm/Base58.js.map +1 -0
- package/_esm/Base64.js +236 -0
- package/_esm/Base64.js.map +1 -0
- package/_esm/Blobs.js +624 -0
- package/_esm/Blobs.js.map +1 -0
- package/_esm/Block.js +177 -0
- package/_esm/Block.js.map +1 -0
- package/_esm/Bloom.js +57 -0
- package/_esm/Bloom.js.map +1 -0
- package/_esm/Bls.js +141 -0
- package/_esm/Bls.js.map +1 -0
- package/_esm/BlsPoint.js +59 -0
- package/_esm/BlsPoint.js.map +1 -0
- package/_esm/Bytes.js +719 -0
- package/_esm/Bytes.js.map +1 -0
- package/_esm/Caches.js +19 -0
- package/_esm/Caches.js.map +1 -0
- package/_esm/ContractAddress.js +110 -0
- package/_esm/ContractAddress.js.map +1 -0
- package/_esm/Ens.js +84 -0
- package/_esm/Ens.js.map +1 -0
- package/_esm/Errors.js +105 -0
- package/_esm/Errors.js.map +1 -0
- package/_esm/Fee.js +2 -0
- package/_esm/Fee.js.map +1 -0
- package/_esm/Filter.js +100 -0
- package/_esm/Filter.js.map +1 -0
- package/_esm/Hash.js +126 -0
- package/_esm/Hash.js.map +1 -0
- package/_esm/HdKey.js +107 -0
- package/_esm/HdKey.js.map +1 -0
- package/_esm/Hex.js +763 -0
- package/_esm/Hex.js.map +1 -0
- package/_esm/Json.js +62 -0
- package/_esm/Json.js.map +1 -0
- package/_esm/Kzg.js +30 -0
- package/_esm/Kzg.js.map +1 -0
- package/_esm/Log.js +181 -0
- package/_esm/Log.js.map +1 -0
- package/_esm/Mnemonic.js +154 -0
- package/_esm/Mnemonic.js.map +1 -0
- package/_esm/P256.js +131 -0
- package/_esm/P256.js.map +1 -0
- package/_esm/PersonalMessage.js +46 -0
- package/_esm/PersonalMessage.js.map +1 -0
- package/_esm/Provider.js +122 -0
- package/_esm/Provider.js.map +1 -0
- package/_esm/PublicKey.js +395 -0
- package/_esm/PublicKey.js.map +1 -0
- package/_esm/Rlp.js +267 -0
- package/_esm/Rlp.js.map +1 -0
- package/_esm/RpcRequest.js +131 -0
- package/_esm/RpcRequest.js.map +1 -0
- package/_esm/RpcResponse.js +457 -0
- package/_esm/RpcResponse.js.map +1 -0
- package/_esm/RpcSchema.js +46 -0
- package/_esm/RpcSchema.js.map +1 -0
- package/_esm/RpcTransport.js +110 -0
- package/_esm/RpcTransport.js.map +1 -0
- package/_esm/Secp256k1.js +173 -0
- package/_esm/Secp256k1.js.map +1 -0
- package/_esm/Signature.js +696 -0
- package/_esm/Signature.js.map +1 -0
- package/_esm/Siwe.js +374 -0
- package/_esm/Siwe.js.map +1 -0
- package/_esm/Solidity.js +104 -0
- package/_esm/Solidity.js.map +1 -0
- package/_esm/Transaction.js +176 -0
- package/_esm/Transaction.js.map +1 -0
- package/_esm/TransactionEnvelope.js +139 -0
- package/_esm/TransactionEnvelope.js.map +1 -0
- package/_esm/TransactionEnvelopeEip1559.js +455 -0
- package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
- package/_esm/TransactionEnvelopeEip2930.js +439 -0
- package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
- package/_esm/TransactionEnvelopeEip4844.js +542 -0
- package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
- package/_esm/TransactionEnvelopeEip7702.js +442 -0
- package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
- package/_esm/TransactionEnvelopeLegacy.js +495 -0
- package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
- package/_esm/TransactionReceipt.js +229 -0
- package/_esm/TransactionReceipt.js.map +1 -0
- package/_esm/TransactionRequest.js +89 -0
- package/_esm/TransactionRequest.js.map +1 -0
- package/_esm/TypedData.js +635 -0
- package/_esm/TypedData.js.map +1 -0
- package/_esm/ValidatorData.js +52 -0
- package/_esm/ValidatorData.js.map +1 -0
- package/_esm/Value.js +196 -0
- package/_esm/Value.js.map +1 -0
- package/_esm/WebAuthnP256.js +471 -0
- package/_esm/WebAuthnP256.js.map +1 -0
- package/_esm/WebCryptoP256.js +116 -0
- package/_esm/WebCryptoP256.js.map +1 -0
- package/_esm/Withdrawal.js +72 -0
- package/_esm/Withdrawal.js.map +1 -0
- package/_esm/index.js +3366 -0
- package/_esm/index.js.map +1 -0
- package/_esm/internal/abi.js +9 -0
- package/_esm/internal/abi.js.map +1 -0
- package/_esm/internal/abiConstructor.js +2 -0
- package/_esm/internal/abiConstructor.js.map +1 -0
- package/_esm/internal/abiError.js +2 -0
- package/_esm/internal/abiError.js.map +1 -0
- package/_esm/internal/abiEvent.js +2 -0
- package/_esm/internal/abiEvent.js.map +1 -0
- package/_esm/internal/abiFunction.js +2 -0
- package/_esm/internal/abiFunction.js.map +1 -0
- package/_esm/internal/abiItem.js +122 -0
- package/_esm/internal/abiItem.js.map +1 -0
- package/_esm/internal/abiParameters.js +419 -0
- package/_esm/internal/abiParameters.js.map +1 -0
- package/_esm/internal/base58.js +91 -0
- package/_esm/internal/base58.js.map +1 -0
- package/_esm/internal/bytes.js +86 -0
- package/_esm/internal/bytes.js.map +1 -0
- package/_esm/internal/cursor.js +207 -0
- package/_esm/internal/cursor.js.map +1 -0
- package/_esm/internal/ens.js +47 -0
- package/_esm/internal/ens.js.map +1 -0
- package/_esm/internal/errors.js +26 -0
- package/_esm/internal/errors.js.map +1 -0
- package/_esm/internal/hdKey.js +17 -0
- package/_esm/internal/hdKey.js.map +1 -0
- package/_esm/internal/hex.js +64 -0
- package/_esm/internal/hex.js.map +1 -0
- package/_esm/internal/lru.js +36 -0
- package/_esm/internal/lru.js.map +1 -0
- package/_esm/internal/mnemonic/wordlists.js +11 -0
- package/_esm/internal/mnemonic/wordlists.js.map +1 -0
- package/_esm/internal/promise.js +52 -0
- package/_esm/internal/promise.js.map +1 -0
- package/_esm/internal/register.js +2 -0
- package/_esm/internal/register.js.map +1 -0
- package/_esm/internal/rpcSchema.js +2 -0
- package/_esm/internal/rpcSchema.js.map +1 -0
- package/_esm/internal/rpcSchemas/eth.js +2 -0
- package/_esm/internal/rpcSchemas/eth.js.map +1 -0
- package/_esm/internal/rpcSchemas/wallet.js +2 -0
- package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
- package/_esm/internal/rpcTransport.js +20 -0
- package/_esm/internal/rpcTransport.js.map +1 -0
- package/_esm/internal/types.js +2 -0
- package/_esm/internal/types.js.map +1 -0
- package/_esm/internal/uid.js +15 -0
- package/_esm/internal/uid.js.map +1 -0
- package/_esm/internal/webauthn.js +35 -0
- package/_esm/internal/webauthn.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/trusted-setups/Paths.js +3 -0
- package/_esm/trusted-setups/Paths.js.map +1 -0
- package/_esm/trusted-setups/index.js +2 -0
- package/_esm/trusted-setups/index.js.map +1 -0
- package/_esm/trusted-setups/internal/paths.js +12 -0
- package/_esm/trusted-setups/internal/paths.js.map +1 -0
- package/_esm/version.js +3 -0
- package/_esm/version.js.map +1 -0
- package/_esm/window/index.js +2 -0
- package/_esm/window/index.js.map +1 -0
- package/_test/Abi.test-d/package.json +6 -0
- package/_test/AbiConstructor.test-d/package.json +6 -0
- package/_test/AbiError.test-d/package.json +6 -0
- package/_test/AbiEvent.snap-d/package.json +6 -0
- package/_test/AbiEvent.snap-d.ts +329 -0
- package/_test/AbiFunction.snap-d/package.json +6 -0
- package/_test/AbiFunction.snap-d.ts +262 -0
- package/_test/AbiItem.snap-d/package.json +6 -0
- package/_test/AbiItem.snap-d.ts +131 -0
- package/_test/AbiParameters.bench/package.json +6 -0
- package/_test/AbiParameters.snap-d/package.json +6 -0
- package/_test/AbiParameters.snap-d.ts +66 -0
- package/_test/Address.bench/package.json +6 -0
- package/_test/Base58.bench/package.json +6 -0
- package/_test/Hex.bench/package.json +6 -0
- package/_test/Hex.test-d/package.json +6 -0
- package/_test/PublicKey.test-d/package.json +6 -0
- package/_test/Rlp.bench/package.json +6 -0
- package/_test/Rlp.test-d/package.json +6 -0
- package/_test/Signature.snap-d/package.json +6 -0
- package/_test/Signature.snap-d.ts +96 -0
- package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
- package/_test/TypedData.test-d/package.json +6 -0
- package/_types/Abi.d.ts +137 -0
- package/_types/Abi.d.ts.map +1 -0
- package/_types/AbiConstructor.d.ts +305 -0
- package/_types/AbiConstructor.d.ts.map +1 -0
- package/_types/AbiError.d.ts +522 -0
- package/_types/AbiError.d.ts.map +1 -0
- package/_types/AbiEvent.d.ts +892 -0
- package/_types/AbiEvent.d.ts.map +1 -0
- package/_types/AbiFunction.d.ts +602 -0
- package/_types/AbiFunction.d.ts.map +1 -0
- package/_types/AbiItem.d.ts +544 -0
- package/_types/AbiItem.d.ts.map +1 -0
- package/_types/AbiParameters.d.ts +466 -0
- package/_types/AbiParameters.d.ts.map +1 -0
- package/_types/AccessList.d.ts +83 -0
- package/_types/AccessList.d.ts.map +1 -0
- package/_types/AccountProof.d.ts +32 -0
- package/_types/AccountProof.d.ts.map +1 -0
- package/_types/Address.d.ts +244 -0
- package/_types/Address.d.ts.map +1 -0
- package/_types/AesGcm.d.ts +116 -0
- package/_types/AesGcm.d.ts.map +1 -0
- package/_types/Authorization.d.ts +461 -0
- package/_types/Authorization.d.ts.map +1 -0
- package/_types/Base58.d.ts +131 -0
- package/_types/Base58.d.ts.map +1 -0
- package/_types/Base64.d.ts +244 -0
- package/_types/Base64.d.ts.map +1 -0
- package/_types/Blobs.d.ts +556 -0
- package/_types/Blobs.d.ts.map +1 -0
- package/_types/Block.d.ts +190 -0
- package/_types/Block.d.ts.map +1 -0
- package/_types/Bloom.d.ts +54 -0
- package/_types/Bloom.d.ts.map +1 -0
- package/_types/Bls.d.ts +365 -0
- package/_types/Bls.d.ts.map +1 -0
- package/_types/BlsPoint.d.ts +187 -0
- package/_types/BlsPoint.d.ts.map +1 -0
- package/_types/Bytes.d.ts +674 -0
- package/_types/Bytes.d.ts.map +1 -0
- package/_types/Caches.d.ts +13 -0
- package/_types/Caches.d.ts.map +1 -0
- package/_types/ContractAddress.d.ts +115 -0
- package/_types/ContractAddress.d.ts.map +1 -0
- package/_types/Ens.d.ts +72 -0
- package/_types/Ens.d.ts.map +1 -0
- package/_types/Errors.d.ts +33 -0
- package/_types/Errors.d.ts.map +1 -0
- package/_types/Fee.d.ts +41 -0
- package/_types/Fee.d.ts.map +1 -0
- package/_types/Filter.d.ts +100 -0
- package/_types/Filter.d.ts.map +1 -0
- package/_types/Hash.d.ts +135 -0
- package/_types/Hash.d.ts.map +1 -0
- package/_types/HdKey.d.ts +146 -0
- package/_types/HdKey.d.ts.map +1 -0
- package/_types/Hex.d.ts +711 -0
- package/_types/Hex.d.ts.map +1 -0
- package/_types/Json.d.ts +53 -0
- package/_types/Json.d.ts.map +1 -0
- package/_types/Kzg.d.ts +42 -0
- package/_types/Kzg.d.ts.map +1 -0
- package/_types/Log.d.ts +194 -0
- package/_types/Log.d.ts.map +1 -0
- package/_types/Mnemonic.d.ts +176 -0
- package/_types/Mnemonic.d.ts.map +1 -0
- package/_types/P256.d.ts +207 -0
- package/_types/P256.d.ts.map +1 -0
- package/_types/PersonalMessage.d.ts +49 -0
- package/_types/PersonalMessage.d.ts.map +1 -0
- package/_types/Provider.d.ts +268 -0
- package/_types/Provider.d.ts.map +1 -0
- package/_types/PublicKey.d.ts +327 -0
- package/_types/PublicKey.d.ts.map +1 -0
- package/_types/Rlp.d.ts +153 -0
- package/_types/Rlp.d.ts.map +1 -0
- package/_types/RpcRequest.d.ts +144 -0
- package/_types/RpcRequest.d.ts.map +1 -0
- package/_types/RpcResponse.d.ts +266 -0
- package/_types/RpcResponse.d.ts.map +1 -0
- package/_types/RpcSchema.d.ts +248 -0
- package/_types/RpcSchema.d.ts.map +1 -0
- package/_types/RpcTransport.d.ts +65 -0
- package/_types/RpcTransport.d.ts.map +1 -0
- package/_types/Secp256k1.d.ts +277 -0
- package/_types/Secp256k1.d.ts.map +1 -0
- package/_types/Signature.d.ts +601 -0
- package/_types/Signature.d.ts.map +1 -0
- package/_types/Siwe.d.ts +249 -0
- package/_types/Siwe.d.ts.map +1 -0
- package/_types/Solidity.d.ts +100 -0
- package/_types/Solidity.d.ts.map +1 -0
- package/_types/Transaction.d.ts +235 -0
- package/_types/Transaction.d.ts.map +1 -0
- package/_types/TransactionEnvelope.d.ts +141 -0
- package/_types/TransactionEnvelope.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
- package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
- package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
- package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
- package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
- package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
- package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
- package/_types/TransactionReceipt.d.ts +271 -0
- package/_types/TransactionReceipt.d.ts.map +1 -0
- package/_types/TransactionRequest.d.ts +92 -0
- package/_types/TransactionRequest.d.ts.map +1 -0
- package/_types/TypedData.d.ts +496 -0
- package/_types/TypedData.d.ts.map +1 -0
- package/_types/ValidatorData.d.ts +64 -0
- package/_types/ValidatorData.d.ts.map +1 -0
- package/_types/Value.d.ts +159 -0
- package/_types/Value.d.ts.map +1 -0
- package/_types/WebAuthnP256.d.ts +445 -0
- package/_types/WebAuthnP256.d.ts.map +1 -0
- package/_types/WebCryptoP256.d.ts +119 -0
- package/_types/WebCryptoP256.d.ts.map +1 -0
- package/_types/Withdrawal.d.ts +74 -0
- package/_types/Withdrawal.d.ts.map +1 -0
- package/_types/index.d.ts +3367 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/internal/abi.d.ts +4 -0
- package/_types/internal/abi.d.ts.map +1 -0
- package/_types/internal/abiConstructor.d.ts +11 -0
- package/_types/internal/abiConstructor.d.ts.map +1 -0
- package/_types/internal/abiError.d.ts +11 -0
- package/_types/internal/abiError.d.ts.map +1 -0
- package/_types/internal/abiEvent.d.ts +60 -0
- package/_types/internal/abiEvent.d.ts.map +1 -0
- package/_types/internal/abiFunction.d.ts +11 -0
- package/_types/internal/abiFunction.d.ts.map +1 -0
- package/_types/internal/abiItem.d.ts +100 -0
- package/_types/internal/abiItem.d.ts.map +1 -0
- package/_types/internal/abiParameters.d.ts +169 -0
- package/_types/internal/abiParameters.d.ts.map +1 -0
- package/_types/internal/base58.d.ts +17 -0
- package/_types/internal/base58.d.ts.map +1 -0
- package/_types/internal/bytes.d.ts +52 -0
- package/_types/internal/bytes.d.ts.map +1 -0
- package/_types/internal/cursor.d.ts +70 -0
- package/_types/internal/cursor.d.ts.map +1 -0
- package/_types/internal/ens.d.ts +23 -0
- package/_types/internal/ens.d.ts.map +1 -0
- package/_types/internal/errors.d.ts +7 -0
- package/_types/internal/errors.d.ts.map +1 -0
- package/_types/internal/hdKey.d.ts +10 -0
- package/_types/internal/hdKey.d.ts.map +1 -0
- package/_types/internal/hex.d.ts +39 -0
- package/_types/internal/hex.d.ts.map +1 -0
- package/_types/internal/lru.d.ts +13 -0
- package/_types/internal/lru.d.ts.map +1 -0
- package/_types/internal/mnemonic/wordlists.d.ts +11 -0
- package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
- package/_types/internal/promise.d.ts +27 -0
- package/_types/internal/promise.d.ts.map +1 -0
- package/_types/internal/register.d.ts +13 -0
- package/_types/internal/register.d.ts.map +1 -0
- package/_types/internal/rpcSchema.d.ts +12 -0
- package/_types/internal/rpcSchema.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/eth.d.ts +718 -0
- package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
- package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
- package/_types/internal/rpcTransport.d.ts +38 -0
- package/_types/internal/rpcTransport.d.ts.map +1 -0
- package/_types/internal/types.d.ts +284 -0
- package/_types/internal/types.d.ts.map +1 -0
- package/_types/internal/uid.d.ts +3 -0
- package/_types/internal/uid.d.ts.map +1 -0
- package/_types/internal/webauthn.d.ts +127 -0
- package/_types/internal/webauthn.d.ts.map +1 -0
- package/_types/trusted-setups/Paths.d.ts +2 -0
- package/_types/trusted-setups/Paths.d.ts.map +1 -0
- package/_types/trusted-setups/index.d.ts +2 -0
- package/_types/trusted-setups/index.d.ts.map +1 -0
- package/_types/trusted-setups/internal/paths.d.ts +3 -0
- package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
- package/_types/version.d.ts +3 -0
- package/_types/version.d.ts.map +1 -0
- package/_types/window/index.d.ts +7 -0
- package/_types/window/index.d.ts.map +1 -0
- package/index.ts +3427 -0
- package/internal/abi.ts +11 -0
- package/internal/abiConstructor.ts +32 -0
- package/internal/abiError.ts +30 -0
- package/internal/abiEvent.ts +154 -0
- package/internal/abiFunction.ts +32 -0
- package/internal/abiItem.ts +593 -0
- package/internal/abiParameters.ts +741 -0
- package/internal/base58.ts +106 -0
- package/internal/bytes.ts +152 -0
- package/internal/cursor.ts +252 -0
- package/internal/ens.ts +64 -0
- package/internal/errors.ts +26 -0
- package/internal/hdKey.ts +25 -0
- package/internal/hex.ts +123 -0
- package/internal/lru.ts +34 -0
- package/internal/mnemonic/wordlists.ts +10 -0
- package/internal/promise.ts +66 -0
- package/internal/register.ts +15 -0
- package/internal/rpcSchema.ts +20 -0
- package/internal/rpcSchemas/eth.ts +727 -0
- package/internal/rpcSchemas/wallet.ts +428 -0
- package/internal/rpcTransport.ts +74 -0
- package/internal/types.ts +414 -0
- package/internal/uid.ts +15 -0
- package/internal/webauthn.ts +198 -0
- package/package.json +500 -20
- package/trusted-setups/Paths/package.json +6 -0
- package/trusted-setups/Paths.ts +3 -0
- package/trusted-setups/index.ts +1 -0
- package/trusted-setups/internal/paths.ts +13 -0
- package/trusted-setups/internal/setups/mainnet.json +8265 -0
- package/trusted-setups/internal/setups/mainnet.txt +4163 -0
- package/trusted-setups/package.json +6 -0
- package/tsdoc.json +4 -0
- package/version/package.json +6 -0
- package/version.ts +2 -0
- package/window/index.ts +7 -0
- package/window/package.json +6 -0
- package/cl/ansiesc.js +0 -25
- package/cl/deps.js +0 -7
- package/cl/editor.js +0 -141
- package/cl/index.html +0 -19
- package/cl/ox.js +0 -44
- package/cl/socket.io.js +0 -1922
- package/cl/style.css +0 -37
- package/srv/deps.js +0 -88
- package/srv/httpSrv.js +0 -82
- package/srv/ox.js +0 -44
- package/srv/remoteXtermReq.js +0 -70
package/Transaction.ts
ADDED
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import type * as AccessList from './AccessList.js'
|
|
2
|
+
import type * as Address from './Address.js'
|
|
3
|
+
import * as Authorization from './Authorization.js'
|
|
4
|
+
import type * as Errors from './Errors.js'
|
|
5
|
+
import * as Hex from './Hex.js'
|
|
6
|
+
import * as Signature from './Signature.js'
|
|
7
|
+
import type { Compute, UnionCompute } from './internal/types.js'
|
|
8
|
+
import type { OneOf } from './internal/types.js'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
12
|
+
*/
|
|
13
|
+
export type Transaction<
|
|
14
|
+
pending extends boolean = false,
|
|
15
|
+
bigintType = bigint,
|
|
16
|
+
numberType = number,
|
|
17
|
+
> = UnionCompute<
|
|
18
|
+
OneOf<
|
|
19
|
+
| Legacy<pending, bigintType, numberType>
|
|
20
|
+
| Eip1559<pending, bigintType, numberType>
|
|
21
|
+
| Eip2930<pending, bigintType, numberType>
|
|
22
|
+
| Eip4844<pending, bigintType, numberType>
|
|
23
|
+
| Eip7702<pending, bigintType, numberType>
|
|
24
|
+
| (Base & { type: Hex.Hex })
|
|
25
|
+
>
|
|
26
|
+
>
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* An RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
30
|
+
*/
|
|
31
|
+
export type Rpc<pending extends boolean = false> = UnionCompute<
|
|
32
|
+
OneOf<
|
|
33
|
+
| LegacyRpc<pending>
|
|
34
|
+
| Eip1559Rpc<pending>
|
|
35
|
+
| Eip2930Rpc<pending>
|
|
36
|
+
| Eip4844Rpc<pending>
|
|
37
|
+
| Eip7702Rpc<pending>
|
|
38
|
+
| (BaseRpc & { type: Hex.Hex })
|
|
39
|
+
>
|
|
40
|
+
>
|
|
41
|
+
|
|
42
|
+
/** Base properties of a Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
43
|
+
export type Base<
|
|
44
|
+
type extends string = string,
|
|
45
|
+
pending extends boolean = false,
|
|
46
|
+
bigintType = bigint,
|
|
47
|
+
numberType = number,
|
|
48
|
+
> = Compute<{
|
|
49
|
+
/** Hash of the block that contains this transaction, or `null` if pending. */
|
|
50
|
+
blockHash: pending extends true ? null : Hex.Hex
|
|
51
|
+
/** Number of block containing this transaction or `null` if pending */
|
|
52
|
+
blockNumber: pending extends true ? null : bigintType
|
|
53
|
+
/** Chain ID that this transaction is valid on. */
|
|
54
|
+
chainId: numberType
|
|
55
|
+
/** @alias `input` Added for TransactionEnvelope - Transaction compatibility. */
|
|
56
|
+
data?: Hex.Hex | undefined
|
|
57
|
+
/** Sender of this transaction */
|
|
58
|
+
from: Address.Address
|
|
59
|
+
/** Hash of this transaction */
|
|
60
|
+
hash: Hex.Hex
|
|
61
|
+
/** Contract code or a hashed method call with encoded args */
|
|
62
|
+
input: Hex.Hex
|
|
63
|
+
/** Gas provided for transaction execution */
|
|
64
|
+
gas: bigintType
|
|
65
|
+
/** Unique number identifying this transaction */
|
|
66
|
+
nonce: bigintType
|
|
67
|
+
/** Transaction recipient. `null` if the transaction is a contract creation. */
|
|
68
|
+
to: Address.Address | null
|
|
69
|
+
/** Index of this transaction in the block or `null` if pending */
|
|
70
|
+
transactionIndex: pending extends true ? null : numberType
|
|
71
|
+
/** Transaction type */
|
|
72
|
+
type: type
|
|
73
|
+
/** Value in wei sent with this transaction */
|
|
74
|
+
value: bigintType
|
|
75
|
+
/** ECDSA signature r. */
|
|
76
|
+
r: bigintType
|
|
77
|
+
/** ECDSA signature s. */
|
|
78
|
+
s: bigintType
|
|
79
|
+
/** ECDSA signature yParity. */
|
|
80
|
+
yParity: numberType
|
|
81
|
+
/** @deprecated ECDSA signature v (for backwards compatibility). */
|
|
82
|
+
v?: numberType | undefined
|
|
83
|
+
}>
|
|
84
|
+
|
|
85
|
+
/** Base properties of an RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
86
|
+
export type BaseRpc<
|
|
87
|
+
type extends string = string,
|
|
88
|
+
pending extends boolean = false,
|
|
89
|
+
> = Base<type, pending, Hex.Hex, Hex.Hex>
|
|
90
|
+
|
|
91
|
+
/** An [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
92
|
+
export type Eip1559<
|
|
93
|
+
pending extends boolean = false,
|
|
94
|
+
bigintType = bigint,
|
|
95
|
+
numberType = number,
|
|
96
|
+
type extends string = 'eip1559',
|
|
97
|
+
> = Compute<
|
|
98
|
+
Base<type, pending, bigintType, numberType> & {
|
|
99
|
+
/** EIP-2930 Access List. */
|
|
100
|
+
accessList: AccessList.AccessList
|
|
101
|
+
/** Effective gas price paid by the sender in wei. */
|
|
102
|
+
gasPrice?: bigintType | undefined
|
|
103
|
+
/** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
|
|
104
|
+
maxFeePerGas: bigintType
|
|
105
|
+
/** Max priority fee per gas (in wei). */
|
|
106
|
+
maxPriorityFeePerGas: bigintType
|
|
107
|
+
}
|
|
108
|
+
>
|
|
109
|
+
|
|
110
|
+
/** An [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
111
|
+
export type Eip1559Rpc<pending extends boolean = false> = Compute<
|
|
112
|
+
Eip1559<pending, Hex.Hex, Hex.Hex, ToRpcType['eip1559']>
|
|
113
|
+
>
|
|
114
|
+
|
|
115
|
+
/** An [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
116
|
+
export type Eip2930<
|
|
117
|
+
pending extends boolean = false,
|
|
118
|
+
bigintType = bigint,
|
|
119
|
+
numberType = number,
|
|
120
|
+
type extends string = 'eip2930',
|
|
121
|
+
> = Compute<
|
|
122
|
+
Base<type, pending, bigintType, numberType> & {
|
|
123
|
+
/** EIP-2930 Access List. */
|
|
124
|
+
accessList: AccessList.AccessList
|
|
125
|
+
/** The gas price willing to be paid by the sender (in wei). */
|
|
126
|
+
gasPrice: bigintType
|
|
127
|
+
}
|
|
128
|
+
>
|
|
129
|
+
|
|
130
|
+
/** An RPC [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
131
|
+
export type Eip2930Rpc<pending extends boolean = false> = Compute<
|
|
132
|
+
Eip2930<pending, Hex.Hex, Hex.Hex, ToRpcType['eip2930']>
|
|
133
|
+
>
|
|
134
|
+
|
|
135
|
+
/** An [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
136
|
+
export type Eip4844<
|
|
137
|
+
pending extends boolean = false,
|
|
138
|
+
bigintType = bigint,
|
|
139
|
+
numberType = number,
|
|
140
|
+
type extends string = 'eip4844',
|
|
141
|
+
> = Compute<
|
|
142
|
+
Base<type, pending, bigintType, numberType> & {
|
|
143
|
+
/** EIP-2930 Access List. */
|
|
144
|
+
accessList: AccessList.AccessList
|
|
145
|
+
/** List of versioned blob hashes associated with the transaction's blobs. */
|
|
146
|
+
blobVersionedHashes: readonly Hex.Hex[]
|
|
147
|
+
/** Total fee per blob gas in wei. */
|
|
148
|
+
maxFeePerBlobGas: bigintType
|
|
149
|
+
/** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
|
|
150
|
+
maxFeePerGas: bigintType
|
|
151
|
+
/** Max priority fee per gas (in wei). */
|
|
152
|
+
maxPriorityFeePerGas: bigintType
|
|
153
|
+
}
|
|
154
|
+
>
|
|
155
|
+
|
|
156
|
+
/** An RPC [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
157
|
+
export type Eip4844Rpc<pending extends boolean = false> = Compute<
|
|
158
|
+
Eip4844<pending, Hex.Hex, Hex.Hex, ToRpcType['eip4844']>
|
|
159
|
+
>
|
|
160
|
+
|
|
161
|
+
/** An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
162
|
+
export type Eip7702<
|
|
163
|
+
pending extends boolean = false,
|
|
164
|
+
bigintType = bigint,
|
|
165
|
+
numberType = number,
|
|
166
|
+
type extends string = 'eip7702',
|
|
167
|
+
> = Compute<
|
|
168
|
+
Base<type, pending, bigintType, numberType> & {
|
|
169
|
+
/** EIP-2930 Access List. */
|
|
170
|
+
accessList: AccessList.AccessList
|
|
171
|
+
/** EIP-7702 Authorization list for the transaction. */
|
|
172
|
+
authorizationList: Authorization.ListSigned<bigintType, numberType>
|
|
173
|
+
/** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
|
|
174
|
+
maxFeePerGas: bigintType
|
|
175
|
+
/** Max priority fee per gas (in wei). */
|
|
176
|
+
maxPriorityFeePerGas: bigintType
|
|
177
|
+
}
|
|
178
|
+
>
|
|
179
|
+
|
|
180
|
+
/** An RPC [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
181
|
+
export type Eip7702Rpc<pending extends boolean = false> = Compute<
|
|
182
|
+
Eip7702<pending, Hex.Hex, Hex.Hex, ToRpcType['eip7702']>
|
|
183
|
+
>
|
|
184
|
+
|
|
185
|
+
/** An legacy Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
186
|
+
export type Legacy<
|
|
187
|
+
pending extends boolean = false,
|
|
188
|
+
bigintType = bigint,
|
|
189
|
+
numberType = number,
|
|
190
|
+
type extends string = 'legacy',
|
|
191
|
+
> = Compute<
|
|
192
|
+
Omit<
|
|
193
|
+
Base<type, pending, bigintType, numberType>,
|
|
194
|
+
'chainId' | 'v' | 'yParity'
|
|
195
|
+
> & {
|
|
196
|
+
chainId?: numberType | undefined
|
|
197
|
+
/** The gas price willing to be paid by the sender (in wei). */
|
|
198
|
+
gasPrice: bigintType
|
|
199
|
+
/** ECDSA signature v. */
|
|
200
|
+
v: numberType
|
|
201
|
+
/** ECDSA signature yParity. */
|
|
202
|
+
yParity?: numberType | undefined
|
|
203
|
+
}
|
|
204
|
+
>
|
|
205
|
+
|
|
206
|
+
/** A legacy RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
|
|
207
|
+
export type LegacyRpc<pending extends boolean = false> = Compute<
|
|
208
|
+
Legacy<pending, Hex.Hex, Hex.Hex, ToRpcType['legacy']>
|
|
209
|
+
>
|
|
210
|
+
|
|
211
|
+
/** Type to RPC Type mapping. */
|
|
212
|
+
export const toRpcType = {
|
|
213
|
+
legacy: '0x0',
|
|
214
|
+
eip2930: '0x1',
|
|
215
|
+
eip1559: '0x2',
|
|
216
|
+
eip4844: '0x3',
|
|
217
|
+
eip7702: '0x4',
|
|
218
|
+
} as const
|
|
219
|
+
|
|
220
|
+
/** Type to RPC Type mapping. */
|
|
221
|
+
export type ToRpcType = typeof toRpcType & {
|
|
222
|
+
[type: string]: `0x${string}`
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/** RPC Type to Type mapping. */
|
|
226
|
+
export const fromRpcType = {
|
|
227
|
+
'0x0': 'legacy',
|
|
228
|
+
'0x1': 'eip2930',
|
|
229
|
+
'0x2': 'eip1559',
|
|
230
|
+
'0x3': 'eip4844',
|
|
231
|
+
'0x4': 'eip7702',
|
|
232
|
+
} as const
|
|
233
|
+
|
|
234
|
+
/** RPC Type to Type mapping. */
|
|
235
|
+
|
|
236
|
+
export type FromRpcType = typeof fromRpcType & {
|
|
237
|
+
[type: `0x${string}`]: string
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Converts an {@link ox#Transaction.Rpc} to an {@link ox#Transaction.Transaction}.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```ts twoslash
|
|
245
|
+
* import { Transaction } from 'ox'
|
|
246
|
+
*
|
|
247
|
+
* const transaction = Transaction.fromRpc({
|
|
248
|
+
* hash: '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0',
|
|
249
|
+
* nonce: '0x357',
|
|
250
|
+
* blockHash:
|
|
251
|
+
* '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b',
|
|
252
|
+
* blockNumber: '0x12f296f',
|
|
253
|
+
* transactionIndex: '0x2',
|
|
254
|
+
* from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6',
|
|
255
|
+
* to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad',
|
|
256
|
+
* value: '0x9b6e64a8ec60000',
|
|
257
|
+
* gas: '0x43f5d',
|
|
258
|
+
* maxFeePerGas: '0x2ca6ae494',
|
|
259
|
+
* maxPriorityFeePerGas: '0x41cc3c0',
|
|
260
|
+
* input:
|
|
261
|
+
* '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006643504700000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec60000000000000000000000000000000000000000000000000000019124bb5ae978c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b8000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000190240001b9872b',
|
|
262
|
+
* r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
|
|
263
|
+
* s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
|
|
264
|
+
* yParity: '0x0',
|
|
265
|
+
* chainId: '0x1',
|
|
266
|
+
* accessList: [],
|
|
267
|
+
* type: '0x2',
|
|
268
|
+
* })
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @param transaction - The RPC transaction to convert.
|
|
272
|
+
* @returns An instantiated {@link ox#Transaction.Transaction}.
|
|
273
|
+
*/
|
|
274
|
+
export function fromRpc<
|
|
275
|
+
const transaction extends Rpc | null,
|
|
276
|
+
pending extends boolean = false,
|
|
277
|
+
>(
|
|
278
|
+
transaction: transaction | Rpc<pending> | null,
|
|
279
|
+
_options: fromRpc.Options<pending> = {},
|
|
280
|
+
): transaction extends Rpc<pending> ? Transaction<pending> : null {
|
|
281
|
+
if (!transaction) return null as never
|
|
282
|
+
|
|
283
|
+
const signature = Signature.extract(transaction)
|
|
284
|
+
|
|
285
|
+
const transaction_ = {
|
|
286
|
+
...transaction,
|
|
287
|
+
...signature,
|
|
288
|
+
} as unknown as Transaction<boolean>
|
|
289
|
+
|
|
290
|
+
transaction_.blockNumber = transaction.blockNumber
|
|
291
|
+
? BigInt(transaction.blockNumber)
|
|
292
|
+
: null
|
|
293
|
+
transaction_.data = transaction.input
|
|
294
|
+
transaction_.gas = BigInt(transaction.gas ?? 0n)
|
|
295
|
+
transaction_.nonce = BigInt(transaction.nonce ?? 0n)
|
|
296
|
+
transaction_.transactionIndex = transaction.transactionIndex
|
|
297
|
+
? Number(transaction.transactionIndex)
|
|
298
|
+
: null
|
|
299
|
+
transaction_.value = BigInt(transaction.value ?? 0n)
|
|
300
|
+
|
|
301
|
+
if (transaction.authorizationList)
|
|
302
|
+
transaction_.authorizationList = Authorization.fromRpcList(
|
|
303
|
+
transaction.authorizationList,
|
|
304
|
+
)
|
|
305
|
+
if (transaction.chainId) transaction_.chainId = Number(transaction.chainId)
|
|
306
|
+
if (transaction.gasPrice) transaction_.gasPrice = BigInt(transaction.gasPrice)
|
|
307
|
+
if (transaction.maxFeePerBlobGas)
|
|
308
|
+
transaction_.maxFeePerBlobGas = BigInt(transaction.maxFeePerBlobGas)
|
|
309
|
+
if (transaction.maxFeePerGas)
|
|
310
|
+
transaction_.maxFeePerGas = BigInt(transaction.maxFeePerGas)
|
|
311
|
+
if (transaction.maxPriorityFeePerGas)
|
|
312
|
+
transaction_.maxPriorityFeePerGas = BigInt(transaction.maxPriorityFeePerGas)
|
|
313
|
+
if (transaction.type)
|
|
314
|
+
transaction_.type =
|
|
315
|
+
(fromRpcType as any)[transaction.type] ?? transaction.type
|
|
316
|
+
if (signature) transaction_.v = Signature.yParityToV(signature.yParity)
|
|
317
|
+
|
|
318
|
+
return transaction_ as never
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export declare namespace fromRpc {
|
|
322
|
+
type Options<pending extends boolean = false> = {
|
|
323
|
+
pending?: pending | boolean | undefined
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
fromRpc.parseError = (error: unknown) =>
|
|
330
|
+
/* v8 ignore next */
|
|
331
|
+
error as fromRpc.ErrorType
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Converts an {@link ox#Transaction.Transaction} to an {@link ox#Transaction.Rpc}.
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```ts twoslash
|
|
338
|
+
* import { Transaction } from 'ox'
|
|
339
|
+
*
|
|
340
|
+
* const transaction = Transaction.toRpc({
|
|
341
|
+
* accessList: [],
|
|
342
|
+
* blockHash:
|
|
343
|
+
* '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b',
|
|
344
|
+
* blockNumber: 19868015n,
|
|
345
|
+
* chainId: 1,
|
|
346
|
+
* from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6',
|
|
347
|
+
* gas: 278365n,
|
|
348
|
+
* hash: '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0',
|
|
349
|
+
* input:
|
|
350
|
+
* '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006643504700000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec60000000000000000000000000000000000000000000000000000019124bb5ae978c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b8000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000190240001b9872b',
|
|
351
|
+
* maxFeePerGas: 11985937556n,
|
|
352
|
+
* maxPriorityFeePerGas: 68993984n,
|
|
353
|
+
* nonce: 855n,
|
|
354
|
+
* r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
|
|
355
|
+
* s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
|
|
356
|
+
* to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad',
|
|
357
|
+
* transactionIndex: 2,
|
|
358
|
+
* type: 'eip1559',
|
|
359
|
+
* v: 27,
|
|
360
|
+
* value: 700000000000000000n,
|
|
361
|
+
* yParity: 0,
|
|
362
|
+
* })
|
|
363
|
+
* ```
|
|
364
|
+
*
|
|
365
|
+
* @param transaction - The transaction to convert.
|
|
366
|
+
* @returns An RPC-formatted transaction.
|
|
367
|
+
*/
|
|
368
|
+
export function toRpc<pending extends boolean = false>(
|
|
369
|
+
transaction: Transaction<pending>,
|
|
370
|
+
_options?: toRpc.Options<pending>,
|
|
371
|
+
): Rpc<pending> {
|
|
372
|
+
const rpc = {} as Rpc<boolean>
|
|
373
|
+
|
|
374
|
+
rpc.blockHash = transaction.blockHash
|
|
375
|
+
rpc.blockNumber =
|
|
376
|
+
typeof transaction.blockNumber === 'bigint'
|
|
377
|
+
? Hex.fromNumber(transaction.blockNumber)
|
|
378
|
+
: null
|
|
379
|
+
rpc.from = transaction.from
|
|
380
|
+
rpc.gas = Hex.fromNumber(transaction.gas ?? 0n)
|
|
381
|
+
rpc.hash = transaction.hash
|
|
382
|
+
rpc.input = transaction.input
|
|
383
|
+
rpc.nonce = Hex.fromNumber(transaction.nonce ?? 0n)
|
|
384
|
+
rpc.to = transaction.to
|
|
385
|
+
rpc.transactionIndex = transaction.transactionIndex
|
|
386
|
+
? Hex.fromNumber(transaction.transactionIndex)
|
|
387
|
+
: null
|
|
388
|
+
rpc.type = (toRpcType as any)[transaction.type] ?? transaction.type
|
|
389
|
+
rpc.value = Hex.fromNumber(transaction.value ?? 0n)
|
|
390
|
+
|
|
391
|
+
if (transaction.accessList) rpc.accessList = transaction.accessList
|
|
392
|
+
if (transaction.authorizationList)
|
|
393
|
+
rpc.authorizationList = Authorization.toRpcList(
|
|
394
|
+
transaction.authorizationList,
|
|
395
|
+
)
|
|
396
|
+
if (transaction.blobVersionedHashes)
|
|
397
|
+
rpc.blobVersionedHashes = transaction.blobVersionedHashes
|
|
398
|
+
if (transaction.chainId) rpc.chainId = Hex.fromNumber(transaction.chainId)
|
|
399
|
+
if (typeof transaction.gasPrice === 'bigint')
|
|
400
|
+
rpc.gasPrice = Hex.fromNumber(transaction.gasPrice)
|
|
401
|
+
if (typeof transaction.maxFeePerBlobGas === 'bigint')
|
|
402
|
+
rpc.maxFeePerBlobGas = Hex.fromNumber(transaction.maxFeePerBlobGas)
|
|
403
|
+
if (typeof transaction.maxFeePerGas === 'bigint')
|
|
404
|
+
rpc.maxFeePerGas = Hex.fromNumber(transaction.maxFeePerGas)
|
|
405
|
+
if (typeof transaction.maxPriorityFeePerGas === 'bigint')
|
|
406
|
+
rpc.maxPriorityFeePerGas = Hex.fromNumber(transaction.maxPriorityFeePerGas)
|
|
407
|
+
if (typeof transaction.r === 'bigint')
|
|
408
|
+
rpc.r = Hex.fromNumber(transaction.r, { size: 32 })
|
|
409
|
+
if (typeof transaction.s === 'bigint')
|
|
410
|
+
rpc.s = Hex.fromNumber(transaction.s, { size: 32 })
|
|
411
|
+
if (typeof transaction.v === 'number')
|
|
412
|
+
rpc.v = Hex.fromNumber(transaction.v, { size: 1 })
|
|
413
|
+
if (typeof transaction.yParity === 'number')
|
|
414
|
+
rpc.yParity = transaction.yParity === 0 ? '0x0' : '0x1'
|
|
415
|
+
|
|
416
|
+
return rpc as Rpc<pending>
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
export declare namespace toRpc {
|
|
420
|
+
type Options<pending extends boolean = false> = {
|
|
421
|
+
pending?: pending | boolean | undefined
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
toRpc.parseError = (error: unknown) =>
|
|
428
|
+
/* v8 ignore next */
|
|
429
|
+
error as toRpc.ErrorType
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import type * as Address from './Address.js'
|
|
2
|
+
import * as Errors from './Errors.js'
|
|
3
|
+
import type * as Hex from './Hex.js'
|
|
4
|
+
import * as Value from './Value.js'
|
|
5
|
+
import type { Compute } from './internal/types.js'
|
|
6
|
+
|
|
7
|
+
/** Base type for a Transaction Envelope. Transaction Envelopes inherit this type. */
|
|
8
|
+
export type Base<
|
|
9
|
+
type extends string = string,
|
|
10
|
+
signed extends boolean = boolean,
|
|
11
|
+
bigintType = bigint,
|
|
12
|
+
numberType = number,
|
|
13
|
+
> = Compute<
|
|
14
|
+
{
|
|
15
|
+
/** EIP-155 Chain ID. */
|
|
16
|
+
chainId: numberType
|
|
17
|
+
/** Contract code or a hashed method call with encoded args */
|
|
18
|
+
data?: Hex.Hex | undefined
|
|
19
|
+
/** @alias `data` – added for TransactionEnvelope - Transaction compatibility. */
|
|
20
|
+
input?: Hex.Hex | undefined
|
|
21
|
+
/** Sender of the transaction. */
|
|
22
|
+
from?: Address.Address | undefined
|
|
23
|
+
/** Gas provided for transaction execution */
|
|
24
|
+
gas?: bigintType | undefined
|
|
25
|
+
/** Unique number identifying this transaction */
|
|
26
|
+
nonce?: bigintType | undefined
|
|
27
|
+
/** Transaction recipient */
|
|
28
|
+
to?: Address.Address | null | undefined
|
|
29
|
+
/** Transaction type */
|
|
30
|
+
type: type
|
|
31
|
+
/** Value in wei sent with this transaction */
|
|
32
|
+
value?: bigintType | undefined
|
|
33
|
+
/** ECDSA signature r. */
|
|
34
|
+
r?: bigintType | undefined
|
|
35
|
+
/** ECDSA signature s. */
|
|
36
|
+
s?: bigintType | undefined
|
|
37
|
+
/** ECDSA signature yParity. */
|
|
38
|
+
yParity?: numberType | undefined
|
|
39
|
+
/** @deprecated ECDSA signature v (for backwards compatibility). */
|
|
40
|
+
v?: numberType | undefined
|
|
41
|
+
} & (signed extends true ? { r: bigintType; s: bigintType } : {})
|
|
42
|
+
>
|
|
43
|
+
|
|
44
|
+
/** RPC representation of a {@link ox#(TransactionEnvelope:namespace).Base}. */
|
|
45
|
+
export type BaseRpc<
|
|
46
|
+
type extends string = string,
|
|
47
|
+
signed extends boolean = boolean,
|
|
48
|
+
> = Base<type, signed, Hex.Hex, Hex.Hex>
|
|
49
|
+
|
|
50
|
+
/** Signed representation of a {@link ox#(TransactionEnvelope:namespace).Base}. */
|
|
51
|
+
export type BaseSigned<type extends string = string> = Base<type, true>
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Thrown when a fee cap is too high.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts twoslash
|
|
58
|
+
* import { TransactionEnvelopeEip1559 } from 'ox'
|
|
59
|
+
*
|
|
60
|
+
* TransactionEnvelopeEip1559.assert({
|
|
61
|
+
* maxFeePerGas: 2n ** 256n - 1n + 1n,
|
|
62
|
+
* chainId: 1,
|
|
63
|
+
* })
|
|
64
|
+
* // @error: TransactionEnvelope.FeeCapTooHighError: The fee cap (`maxFeePerGas`/`maxPriorityFeePerGas` = 115792089237316195423570985008687907853269984665640564039457584007913.129639936 gwei) cannot be higher than the maximum allowed value (2^256-1).
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export class FeeCapTooHighError extends Errors.BaseError {
|
|
68
|
+
override readonly name = 'TransactionEnvelope.FeeCapTooHighError'
|
|
69
|
+
constructor({
|
|
70
|
+
feeCap,
|
|
71
|
+
}: {
|
|
72
|
+
feeCap?: bigint | undefined
|
|
73
|
+
} = {}) {
|
|
74
|
+
super(
|
|
75
|
+
`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${
|
|
76
|
+
feeCap ? ` = ${Value.formatGwei(feeCap)} gwei` : ''
|
|
77
|
+
}) cannot be higher than the maximum allowed value (2^256-1).`,
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Thrown when a gas price is too high.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts twoslash
|
|
87
|
+
* import { TransactionEnvelopeLegacy } from 'ox'
|
|
88
|
+
*
|
|
89
|
+
* TransactionEnvelopeLegacy.assert({
|
|
90
|
+
* gasPrice: 2n ** 256n - 1n + 1n,
|
|
91
|
+
* chainId: 1,
|
|
92
|
+
* })
|
|
93
|
+
* // @error: TransactionEnvelope.GasPriceTooHighError: The gas price (`gasPrice` = 115792089237316195423570985008687907853269984665640564039457584007913.129639936 gwei) cannot be higher than the maximum allowed value (2^256-1).
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export class GasPriceTooHighError extends Errors.BaseError {
|
|
97
|
+
override readonly name = 'TransactionEnvelope.GasPriceTooHighError'
|
|
98
|
+
constructor({
|
|
99
|
+
gasPrice,
|
|
100
|
+
}: {
|
|
101
|
+
gasPrice?: bigint | undefined
|
|
102
|
+
} = {}) {
|
|
103
|
+
super(
|
|
104
|
+
`The gas price (\`gasPrice\`${
|
|
105
|
+
gasPrice ? ` = ${Value.formatGwei(gasPrice)} gwei` : ''
|
|
106
|
+
}) cannot be higher than the maximum allowed value (2^256-1).`,
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Thrown when a chain ID is invalid.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts twoslash
|
|
116
|
+
* import { TransactionEnvelopeEip1559 } from 'ox'
|
|
117
|
+
*
|
|
118
|
+
* TransactionEnvelopeEip1559.assert({ chainId: 0 })
|
|
119
|
+
* // @error: TransactionEnvelope.InvalidChainIdError: Chain ID "0" is invalid.
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export class InvalidChainIdError extends Errors.BaseError {
|
|
123
|
+
override readonly name = 'TransactionEnvelope.InvalidChainIdError'
|
|
124
|
+
constructor({ chainId }: { chainId?: number | undefined }) {
|
|
125
|
+
super(
|
|
126
|
+
typeof chainId !== 'undefined'
|
|
127
|
+
? `Chain ID "${chainId}" is invalid.`
|
|
128
|
+
: 'Chain ID is invalid.',
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Thrown when a serialized transaction is invalid.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts twoslash
|
|
138
|
+
* import { TransactionEnvelopeEip1559 } from 'ox'
|
|
139
|
+
*
|
|
140
|
+
* TransactionEnvelopeEip1559.deserialize('0x02c0')
|
|
141
|
+
* // @error: TransactionEnvelope.InvalidSerializedError: Invalid serialized transaction of type "eip1559" was provided.
|
|
142
|
+
* // @error: Serialized Transaction: "0x02c0"
|
|
143
|
+
* // @error: Missing Attributes: chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export class InvalidSerializedError extends Errors.BaseError {
|
|
147
|
+
override readonly name = 'TransactionEnvelope.InvalidSerializedError'
|
|
148
|
+
constructor({
|
|
149
|
+
attributes,
|
|
150
|
+
serialized,
|
|
151
|
+
type,
|
|
152
|
+
}: {
|
|
153
|
+
attributes: Record<string, unknown>
|
|
154
|
+
serialized: Hex.Hex
|
|
155
|
+
type: string
|
|
156
|
+
}) {
|
|
157
|
+
const missing = Object.entries(attributes)
|
|
158
|
+
.map(([key, value]) => (typeof value === 'undefined' ? key : undefined))
|
|
159
|
+
.filter(Boolean)
|
|
160
|
+
super(`Invalid serialized transaction of type "${type}" was provided.`, {
|
|
161
|
+
metaMessages: [
|
|
162
|
+
`Serialized Transaction: "${serialized}"`,
|
|
163
|
+
missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',
|
|
164
|
+
].filter(Boolean),
|
|
165
|
+
})
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Thrown when a tip is higher than a fee cap.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```ts twoslash
|
|
174
|
+
* import { TransactionEnvelopeEip1559 } from 'ox'
|
|
175
|
+
*
|
|
176
|
+
* TransactionEnvelopeEip1559.assert({
|
|
177
|
+
* chainId: 1,
|
|
178
|
+
* maxFeePerGas: 10n,
|
|
179
|
+
* maxPriorityFeePerGas: 11n,
|
|
180
|
+
* })
|
|
181
|
+
* // @error: TransactionEnvelope.TipAboveFeeCapError: The provided tip (`maxPriorityFeePerGas` = 11 gwei) cannot be higher than the fee cap (`maxFeePerGas` = 10 gwei).
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export class TipAboveFeeCapError extends Errors.BaseError {
|
|
185
|
+
override readonly name = 'TransactionEnvelope.TipAboveFeeCapError'
|
|
186
|
+
constructor({
|
|
187
|
+
maxPriorityFeePerGas,
|
|
188
|
+
maxFeePerGas,
|
|
189
|
+
}: {
|
|
190
|
+
maxPriorityFeePerGas?: bigint | undefined
|
|
191
|
+
maxFeePerGas?: bigint | undefined
|
|
192
|
+
} = {}) {
|
|
193
|
+
super(
|
|
194
|
+
[
|
|
195
|
+
`The provided tip (\`maxPriorityFeePerGas\`${
|
|
196
|
+
maxPriorityFeePerGas
|
|
197
|
+
? ` = ${Value.formatGwei(maxPriorityFeePerGas)} gwei`
|
|
198
|
+
: ''
|
|
199
|
+
}) cannot be higher than the fee cap (\`maxFeePerGas\`${
|
|
200
|
+
maxFeePerGas ? ` = ${Value.formatGwei(maxFeePerGas)} gwei` : ''
|
|
201
|
+
}).`,
|
|
202
|
+
].join('\n'),
|
|
203
|
+
)
|
|
204
|
+
}
|
|
205
|
+
}
|