ox 0.0.1 → 0.1.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/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 +13 -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/Abi/package.json
ADDED
package/Abi.ts
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import * as abitype from 'abitype'
|
|
2
|
+
import type * as Errors from './Errors.js'
|
|
3
|
+
import * as internal from './internal/abi.js'
|
|
4
|
+
import type * as AbiItem_internal from './internal/abiItem.js'
|
|
5
|
+
|
|
6
|
+
/** Root type for an ABI. */
|
|
7
|
+
export type Abi = abitype.Abi
|
|
8
|
+
|
|
9
|
+
/** @internal */
|
|
10
|
+
export function format<const abi extends Abi>(abi: abi): format.ReturnType<abi>
|
|
11
|
+
/**
|
|
12
|
+
* Formats an {@link ox#Abi.Abi} into a **Human Readable ABI**.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts twoslash
|
|
16
|
+
* import { Abi } from 'ox'
|
|
17
|
+
*
|
|
18
|
+
* const formatted = Abi.format([{
|
|
19
|
+
* type: 'function',
|
|
20
|
+
* name: 'approve',
|
|
21
|
+
* stateMutability: 'nonpayable',
|
|
22
|
+
* inputs: [
|
|
23
|
+
* {
|
|
24
|
+
* name: 'spender',
|
|
25
|
+
* type: 'address',
|
|
26
|
+
* },
|
|
27
|
+
* {
|
|
28
|
+
* name: 'amount',
|
|
29
|
+
* type: 'uint256',
|
|
30
|
+
* },
|
|
31
|
+
* ],
|
|
32
|
+
* outputs: [{ type: 'bool' }],
|
|
33
|
+
* }])
|
|
34
|
+
*
|
|
35
|
+
* formatted
|
|
36
|
+
* // ^?
|
|
37
|
+
*
|
|
38
|
+
*
|
|
39
|
+
*
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @param abi - The ABI to format.
|
|
43
|
+
* @returns The formatted ABI.
|
|
44
|
+
*/
|
|
45
|
+
export function format(abi: Abi | readonly unknown[]): readonly string[]
|
|
46
|
+
/** @internal */
|
|
47
|
+
export function format(abi: Abi | readonly unknown[]): format.ReturnType {
|
|
48
|
+
return abitype.formatAbi(abi) as never
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export declare namespace format {
|
|
52
|
+
type ReturnType<abi extends Abi | readonly unknown[] = Abi> =
|
|
53
|
+
abitype.FormatAbi<abi>
|
|
54
|
+
|
|
55
|
+
type ErrorType = Errors.GlobalErrorType
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
format.parseError = (error: unknown) =>
|
|
59
|
+
/* v8 ignore next */
|
|
60
|
+
error as format.ErrorType
|
|
61
|
+
|
|
62
|
+
/** @internal */
|
|
63
|
+
export function from<const abi extends Abi | readonly string[]>(
|
|
64
|
+
abi: abi &
|
|
65
|
+
(abi extends readonly string[]
|
|
66
|
+
? AbiItem_internal.Signatures<abi>
|
|
67
|
+
: unknown),
|
|
68
|
+
): from.ReturnType<abi>
|
|
69
|
+
/**
|
|
70
|
+
* Parses an arbitrary **JSON ABI** or **Human Readable ABI** into a typed {@link ox#Abi.Abi}.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ### JSON ABIs
|
|
74
|
+
*
|
|
75
|
+
* ```ts twoslash
|
|
76
|
+
* import { Abi } from 'ox'
|
|
77
|
+
*
|
|
78
|
+
* const abi = Abi.from([{
|
|
79
|
+
* type: 'function',
|
|
80
|
+
* name: 'approve',
|
|
81
|
+
* stateMutability: 'nonpayable',
|
|
82
|
+
* inputs: [
|
|
83
|
+
* {
|
|
84
|
+
* name: 'spender',
|
|
85
|
+
* type: 'address',
|
|
86
|
+
* },
|
|
87
|
+
* {
|
|
88
|
+
* name: 'amount',
|
|
89
|
+
* type: 'uint256',
|
|
90
|
+
* },
|
|
91
|
+
* ],
|
|
92
|
+
* outputs: [{ type: 'bool' }],
|
|
93
|
+
* }])
|
|
94
|
+
*
|
|
95
|
+
* abi
|
|
96
|
+
* //^?
|
|
97
|
+
*
|
|
98
|
+
*
|
|
99
|
+
*
|
|
100
|
+
*
|
|
101
|
+
*
|
|
102
|
+
*
|
|
103
|
+
*
|
|
104
|
+
*
|
|
105
|
+
*
|
|
106
|
+
*
|
|
107
|
+
*
|
|
108
|
+
*
|
|
109
|
+
*
|
|
110
|
+
*
|
|
111
|
+
*
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ### Human Readable ABIs
|
|
116
|
+
*
|
|
117
|
+
* ```ts twoslash
|
|
118
|
+
* import { Abi } from 'ox'
|
|
119
|
+
*
|
|
120
|
+
* const abi = Abi.from([
|
|
121
|
+
* 'function approve(address spender, uint256 amount) returns (bool)'
|
|
122
|
+
* ])
|
|
123
|
+
*
|
|
124
|
+
* abi
|
|
125
|
+
* //^?
|
|
126
|
+
*
|
|
127
|
+
*
|
|
128
|
+
*
|
|
129
|
+
*
|
|
130
|
+
*
|
|
131
|
+
*
|
|
132
|
+
*
|
|
133
|
+
*
|
|
134
|
+
*
|
|
135
|
+
*
|
|
136
|
+
*
|
|
137
|
+
*
|
|
138
|
+
*
|
|
139
|
+
*
|
|
140
|
+
*
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @param abi - The ABI to parse.
|
|
144
|
+
* @returns The typed ABI.
|
|
145
|
+
*/
|
|
146
|
+
export function from(abi: Abi | readonly string[]): Abi
|
|
147
|
+
/** @internal */
|
|
148
|
+
export function from(abi: Abi | readonly string[]): from.ReturnType {
|
|
149
|
+
if (internal.isSignatures(abi)) return abitype.parseAbi(abi)
|
|
150
|
+
return abi
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export declare namespace from {
|
|
154
|
+
type ReturnType<
|
|
155
|
+
abi extends Abi | readonly string[] | readonly unknown[] = Abi,
|
|
156
|
+
> = abi extends readonly string[] ? abitype.ParseAbi<abi> : abi
|
|
157
|
+
|
|
158
|
+
type ErrorType = Errors.GlobalErrorType
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
from.parseError = (error: unknown) =>
|
|
162
|
+
/* v8 ignore next */
|
|
163
|
+
error as from.ErrorType
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import * as abitype from 'abitype'
|
|
2
|
+
import type * as Abi from './Abi.js'
|
|
3
|
+
import * as AbiItem from './AbiItem.js'
|
|
4
|
+
import * as AbiParameters from './AbiParameters.js'
|
|
5
|
+
import type * as Errors from './Errors.js'
|
|
6
|
+
import * as Hex from './Hex.js'
|
|
7
|
+
import type * as internal from './internal/abiConstructor.js'
|
|
8
|
+
import type { IsNarrowable } from './internal/types.js'
|
|
9
|
+
|
|
10
|
+
/** Root type for an {@link ox#AbiItem.AbiItem} with a `constructor` type. */
|
|
11
|
+
export type AbiConstructor = abitype.AbiConstructor
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
export function decode<const abiConstructor extends AbiConstructor>(
|
|
15
|
+
abiConstructor: abiConstructor,
|
|
16
|
+
options: decode.Options,
|
|
17
|
+
): decode.ReturnType<abiConstructor>
|
|
18
|
+
/**
|
|
19
|
+
* ABI-decodes the provided constructor input (`inputs`).
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts twoslash
|
|
23
|
+
* import { AbiConstructor } from 'ox'
|
|
24
|
+
*
|
|
25
|
+
* const constructor = AbiConstructor.from('constructor(address, uint256)')
|
|
26
|
+
*
|
|
27
|
+
* const bytecode = '0x...'
|
|
28
|
+
*
|
|
29
|
+
* const data = AbiConstructor.encode(constructor, {
|
|
30
|
+
* bytecode,
|
|
31
|
+
* args: ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', 123n],
|
|
32
|
+
* })
|
|
33
|
+
*
|
|
34
|
+
* const decoded = AbiConstructor.decode(constructor, { // [!code focus]
|
|
35
|
+
* bytecode, // [!code focus]
|
|
36
|
+
* data, // [!code focus]
|
|
37
|
+
* }) // [!code focus]
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param abiConstructor - The ABI Constructor to decode.
|
|
41
|
+
* @param options - Decoding options.
|
|
42
|
+
* @returns The decoded constructor inputs.
|
|
43
|
+
*/
|
|
44
|
+
export function decode(
|
|
45
|
+
abiConstructor: AbiConstructor,
|
|
46
|
+
options: decode.Options,
|
|
47
|
+
): readonly unknown[] | undefined
|
|
48
|
+
/** @internal */
|
|
49
|
+
export function decode(
|
|
50
|
+
abiConstructor: AbiConstructor,
|
|
51
|
+
options: decode.Options,
|
|
52
|
+
): decode.ReturnType {
|
|
53
|
+
const { bytecode } = options
|
|
54
|
+
if (abiConstructor.inputs.length === 0) return undefined
|
|
55
|
+
const data = options.data.replace(bytecode, '0x') as Hex.Hex
|
|
56
|
+
return AbiParameters.decode(abiConstructor.inputs, data)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export declare namespace decode {
|
|
60
|
+
interface Options {
|
|
61
|
+
/** The bytecode of the contract. */
|
|
62
|
+
bytecode: Hex.Hex
|
|
63
|
+
/** The encoded constructor. */
|
|
64
|
+
data: Hex.Hex
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
type ReturnType<abiConstructor extends AbiConstructor = AbiConstructor> =
|
|
68
|
+
| (abiConstructor['inputs']['length'] extends 0
|
|
69
|
+
? undefined
|
|
70
|
+
: abitype.AbiParametersToPrimitiveTypes<abiConstructor['inputs']>)
|
|
71
|
+
| (IsNarrowable<abiConstructor, AbiConstructor> extends true
|
|
72
|
+
? never
|
|
73
|
+
: undefined)
|
|
74
|
+
|
|
75
|
+
type ErrorType = Errors.GlobalErrorType
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
decode.parseError = (error: unknown) =>
|
|
79
|
+
/* v8 ignore next */
|
|
80
|
+
error as decode.ErrorType
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* ABI-encodes the provided constructor input (`inputs`).
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts twoslash
|
|
87
|
+
* import { AbiConstructor } from 'ox'
|
|
88
|
+
*
|
|
89
|
+
* const constructor = AbiConstructor.from('constructor(address, uint256)')
|
|
90
|
+
*
|
|
91
|
+
* const data = AbiConstructor.encode(constructor, {
|
|
92
|
+
* bytecode: '0x...',
|
|
93
|
+
* args: ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', 123n],
|
|
94
|
+
* })
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ### End-to-end
|
|
99
|
+
*
|
|
100
|
+
* Below is an end-to-end example of using `AbiConstructor.encode` to encode the constructor of a contract and deploy it.
|
|
101
|
+
*
|
|
102
|
+
* ```ts twoslash
|
|
103
|
+
* import 'ox/window'
|
|
104
|
+
* import { AbiConstructor, Hex } from 'ox'
|
|
105
|
+
*
|
|
106
|
+
* // 1. Instantiate the ABI Constructor.
|
|
107
|
+
* const constructor = AbiConstructor.from(
|
|
108
|
+
* 'constructor(address owner, uint256 amount)',
|
|
109
|
+
* )
|
|
110
|
+
*
|
|
111
|
+
* // 2. Encode the ABI Constructor.
|
|
112
|
+
* const data = AbiConstructor.encode(constructor, {
|
|
113
|
+
* bytecode: '0x...',
|
|
114
|
+
* args: ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', 123n],
|
|
115
|
+
* })
|
|
116
|
+
*
|
|
117
|
+
* // 3. Deploy the contract.
|
|
118
|
+
* const hash = await window.ethereum!.request({
|
|
119
|
+
* method: 'eth_sendTransaction',
|
|
120
|
+
* params: [{ data }],
|
|
121
|
+
* })
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* :::note
|
|
125
|
+
*
|
|
126
|
+
* For simplicity, the above example uses `window.ethereum.request`, but you can use any
|
|
127
|
+
* type of JSON-RPC interface.
|
|
128
|
+
*
|
|
129
|
+
* :::
|
|
130
|
+
*
|
|
131
|
+
* @param abiConstructor - The ABI Constructor to encode.
|
|
132
|
+
* @param options - Encoding options.
|
|
133
|
+
* @returns The encoded constructor.
|
|
134
|
+
*/
|
|
135
|
+
export function encode<const abiConstructor extends AbiConstructor>(
|
|
136
|
+
abiConstructor: abiConstructor,
|
|
137
|
+
options: encode.Options<abiConstructor>,
|
|
138
|
+
): encode.ReturnType {
|
|
139
|
+
const { bytecode, args } = options
|
|
140
|
+
return Hex.concat(
|
|
141
|
+
bytecode,
|
|
142
|
+
abiConstructor.inputs?.length && args?.length
|
|
143
|
+
? AbiParameters.encode(abiConstructor.inputs, args as readonly unknown[])
|
|
144
|
+
: '0x',
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export declare namespace encode {
|
|
149
|
+
type Options<
|
|
150
|
+
abiConstructor extends AbiConstructor = AbiConstructor,
|
|
151
|
+
///
|
|
152
|
+
args extends abitype.AbiParametersToPrimitiveTypes<
|
|
153
|
+
abiConstructor['inputs']
|
|
154
|
+
> = abitype.AbiParametersToPrimitiveTypes<abiConstructor['inputs']>,
|
|
155
|
+
> = {
|
|
156
|
+
/** The bytecode of the contract. */
|
|
157
|
+
bytecode: Hex.Hex
|
|
158
|
+
/** The constructor arguments to encode. */
|
|
159
|
+
args?: args | undefined
|
|
160
|
+
} & (readonly [] extends args
|
|
161
|
+
? {}
|
|
162
|
+
: {
|
|
163
|
+
/** The constructor arguments to encode. */
|
|
164
|
+
args: args
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
type ReturnType = Hex.Hex
|
|
168
|
+
|
|
169
|
+
type ErrorType =
|
|
170
|
+
| Hex.concat.ErrorType
|
|
171
|
+
| AbiParameters.encode.ErrorType
|
|
172
|
+
| Errors.GlobalErrorType
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
encode.parseError = (error: unknown) =>
|
|
176
|
+
/* v8 ignore next */
|
|
177
|
+
error as encode.ErrorType
|
|
178
|
+
|
|
179
|
+
/** @internal */
|
|
180
|
+
export function format<const abiConstructor extends AbiConstructor>(
|
|
181
|
+
abiConstructor: abiConstructor,
|
|
182
|
+
): format.ReturnType<abiConstructor>
|
|
183
|
+
/**
|
|
184
|
+
* Formats an {@link ox#AbiConstructor.AbiConstructor} into a **Human Readable ABI Function**.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts twoslash
|
|
188
|
+
* import { AbiConstructor } from 'ox'
|
|
189
|
+
*
|
|
190
|
+
* const formatted = AbiConstructor.format({
|
|
191
|
+
* inputs: [
|
|
192
|
+
* { name: 'owner', type: 'address' },
|
|
193
|
+
* ],
|
|
194
|
+
* payable: false,
|
|
195
|
+
* stateMutability: 'nonpayable',
|
|
196
|
+
* type: 'constructor',
|
|
197
|
+
* })
|
|
198
|
+
*
|
|
199
|
+
* formatted
|
|
200
|
+
* // ^?
|
|
201
|
+
*
|
|
202
|
+
*
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @param abiConstructor - The ABI Constructor to format.
|
|
206
|
+
* @returns The formatted ABI Constructor.
|
|
207
|
+
*/
|
|
208
|
+
export function format(abiConstructor: AbiConstructor): string
|
|
209
|
+
/** @internal */
|
|
210
|
+
export function format(abiConstructor: AbiConstructor): format.ReturnType {
|
|
211
|
+
return abitype.formatAbiItem(abiConstructor)
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export declare namespace format {
|
|
215
|
+
type ReturnType<abiConstructor extends AbiConstructor = AbiConstructor> =
|
|
216
|
+
abitype.FormatAbiItem<abiConstructor>
|
|
217
|
+
|
|
218
|
+
type ErrorType = Errors.GlobalErrorType
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
format.parseError = (error: unknown) =>
|
|
222
|
+
/* v8 ignore next */
|
|
223
|
+
error as format.ErrorType
|
|
224
|
+
|
|
225
|
+
/** @internal */
|
|
226
|
+
export function from<
|
|
227
|
+
const abiConstructor extends AbiConstructor | string | readonly string[],
|
|
228
|
+
>(
|
|
229
|
+
abiConstructor: (abiConstructor | string | readonly string[]) &
|
|
230
|
+
(
|
|
231
|
+
| (abiConstructor extends string
|
|
232
|
+
? internal.Signature<abiConstructor>
|
|
233
|
+
: never)
|
|
234
|
+
| (abiConstructor extends readonly string[]
|
|
235
|
+
? internal.Signatures<abiConstructor>
|
|
236
|
+
: never)
|
|
237
|
+
| AbiConstructor
|
|
238
|
+
),
|
|
239
|
+
): from.ReturnType<abiConstructor>
|
|
240
|
+
/**
|
|
241
|
+
* Parses an arbitrary **JSON ABI Constructor** or **Human Readable ABI Constructor** into a typed {@link ox#AbiConstructor.AbiConstructor}.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ### JSON ABIs
|
|
245
|
+
*
|
|
246
|
+
* ```ts twoslash
|
|
247
|
+
* import { AbiConstructor } from 'ox'
|
|
248
|
+
*
|
|
249
|
+
* const constructor = AbiConstructor.from({
|
|
250
|
+
* inputs: [
|
|
251
|
+
* { name: 'owner', type: 'address' },
|
|
252
|
+
* ],
|
|
253
|
+
* payable: false,
|
|
254
|
+
* stateMutability: 'nonpayable',
|
|
255
|
+
* type: 'constructor',
|
|
256
|
+
* })
|
|
257
|
+
*
|
|
258
|
+
* constructor
|
|
259
|
+
* //^?
|
|
260
|
+
*
|
|
261
|
+
*
|
|
262
|
+
*
|
|
263
|
+
*
|
|
264
|
+
*
|
|
265
|
+
*
|
|
266
|
+
*
|
|
267
|
+
*
|
|
268
|
+
*
|
|
269
|
+
*
|
|
270
|
+
*
|
|
271
|
+
*
|
|
272
|
+
* ```
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ### Human Readable ABIs
|
|
276
|
+
*
|
|
277
|
+
* A Human Readable ABI can be parsed into a typed ABI object:
|
|
278
|
+
*
|
|
279
|
+
* ```ts twoslash
|
|
280
|
+
* import { AbiConstructor } from 'ox'
|
|
281
|
+
*
|
|
282
|
+
* const constructor = AbiConstructor.from(
|
|
283
|
+
* 'constructor(address owner)' // [!code hl]
|
|
284
|
+
* )
|
|
285
|
+
*
|
|
286
|
+
* constructor
|
|
287
|
+
* //^?
|
|
288
|
+
*
|
|
289
|
+
*
|
|
290
|
+
*
|
|
291
|
+
*
|
|
292
|
+
*
|
|
293
|
+
*
|
|
294
|
+
*
|
|
295
|
+
*
|
|
296
|
+
*
|
|
297
|
+
*
|
|
298
|
+
*
|
|
299
|
+
*
|
|
300
|
+
*
|
|
301
|
+
* ```
|
|
302
|
+
*
|
|
303
|
+
* @example
|
|
304
|
+
* It is possible to specify `struct`s along with your definitions:
|
|
305
|
+
*
|
|
306
|
+
* ```ts twoslash
|
|
307
|
+
* import { AbiConstructor } from 'ox'
|
|
308
|
+
*
|
|
309
|
+
* const constructor = AbiConstructor.from([
|
|
310
|
+
* 'struct Foo { address owner; uint256 amount; }', // [!code hl]
|
|
311
|
+
* 'constructor(Foo foo)',
|
|
312
|
+
* ])
|
|
313
|
+
*
|
|
314
|
+
* constructor
|
|
315
|
+
* //^?
|
|
316
|
+
*
|
|
317
|
+
*
|
|
318
|
+
*
|
|
319
|
+
*
|
|
320
|
+
*
|
|
321
|
+
*
|
|
322
|
+
*
|
|
323
|
+
*
|
|
324
|
+
*
|
|
325
|
+
*
|
|
326
|
+
*
|
|
327
|
+
*
|
|
328
|
+
* ```
|
|
329
|
+
*
|
|
330
|
+
*
|
|
331
|
+
*
|
|
332
|
+
* @param abiConstructor - The ABI Constructor to parse.
|
|
333
|
+
* @returns Typed ABI Constructor.
|
|
334
|
+
*/
|
|
335
|
+
export function from(
|
|
336
|
+
abiConstructor: AbiConstructor | string | readonly string[],
|
|
337
|
+
): AbiConstructor
|
|
338
|
+
/** @internal */
|
|
339
|
+
export function from(
|
|
340
|
+
abiConstructor: AbiConstructor | string | readonly string[],
|
|
341
|
+
): from.ReturnType {
|
|
342
|
+
return AbiItem.from(abiConstructor as AbiConstructor)
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
export declare namespace from {
|
|
346
|
+
type ReturnType<
|
|
347
|
+
abiConstructor extends
|
|
348
|
+
| AbiConstructor
|
|
349
|
+
| string
|
|
350
|
+
| readonly string[] = AbiConstructor,
|
|
351
|
+
> = AbiItem.from.ReturnType<abiConstructor>
|
|
352
|
+
|
|
353
|
+
type ErrorType = AbiItem.from.ErrorType | Errors.GlobalErrorType
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
from.parseError = (error: unknown) =>
|
|
357
|
+
/* v8 ignore next */
|
|
358
|
+
error as from.ErrorType
|
|
359
|
+
|
|
360
|
+
/** @internal */
|
|
361
|
+
export function fromAbi<const abi extends Abi.Abi | readonly unknown[]>(
|
|
362
|
+
abi: abi | Abi.Abi | readonly unknown[],
|
|
363
|
+
): fromAbi.ReturnType<abi>
|
|
364
|
+
/**
|
|
365
|
+
* Extracts an {@link ox#AbiConstructor.AbiConstructor} from an {@link ox#Abi.Abi} given a name and optional arguments.
|
|
366
|
+
*
|
|
367
|
+
* @example
|
|
368
|
+
* ### Extracting by Name
|
|
369
|
+
*
|
|
370
|
+
* ABI Events can be extracted by their name using the `name` option:
|
|
371
|
+
*
|
|
372
|
+
* ```ts twoslash
|
|
373
|
+
* import { Abi, AbiConstructor } from 'ox'
|
|
374
|
+
*
|
|
375
|
+
* const abi = Abi.from([
|
|
376
|
+
* 'constructor(address owner)',
|
|
377
|
+
* 'function foo()',
|
|
378
|
+
* 'event Transfer(address owner, address to, uint256 tokenId)',
|
|
379
|
+
* 'function bar(string a) returns (uint256 x)',
|
|
380
|
+
* ])
|
|
381
|
+
*
|
|
382
|
+
* const item = AbiConstructor.fromAbi(abi) // [!code focus]
|
|
383
|
+
* // ^?
|
|
384
|
+
*
|
|
385
|
+
*
|
|
386
|
+
*
|
|
387
|
+
*
|
|
388
|
+
*
|
|
389
|
+
*
|
|
390
|
+
* ```
|
|
391
|
+
*
|
|
392
|
+
* @returns The ABI constructor.
|
|
393
|
+
*/
|
|
394
|
+
export function fromAbi(abi: Abi.Abi | readonly unknown[]): AbiConstructor
|
|
395
|
+
/** @internal */
|
|
396
|
+
export function fromAbi(abi: Abi.Abi | readonly unknown[]): fromAbi.ReturnType {
|
|
397
|
+
const item = (abi as Abi.Abi).find((item) => item.type === 'constructor')
|
|
398
|
+
if (!item) throw new AbiItem.NotFoundError({ name: 'constructor' })
|
|
399
|
+
return item
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
export declare namespace fromAbi {
|
|
403
|
+
type ReturnType<abi extends Abi.Abi | readonly unknown[] = Abi.Abi> = Extract<
|
|
404
|
+
abi[number],
|
|
405
|
+
{ type: 'constructor' }
|
|
406
|
+
>
|
|
407
|
+
|
|
408
|
+
type ErrorType = AbiItem.NotFoundError | Errors.GlobalErrorType
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
fromAbi.parseError = (error: unknown) =>
|
|
412
|
+
/* v8 ignore next */
|
|
413
|
+
error as fromAbi.ErrorType
|