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
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import type { Errors, RpcRequest } from './index.js';
|
|
2
|
+
import type { Compute, IsNarrowable, OneOf, UnionPartialBy } from './internal/types.js';
|
|
3
|
+
/** A JSON-RPC response object as per the [JSON-RPC 2.0 specification](https://www.jsonrpc.org/specification#request_object). */
|
|
4
|
+
export type RpcResponse<result = unknown, error extends ErrorObject = ErrorObject> = Compute<{
|
|
5
|
+
id: number;
|
|
6
|
+
jsonrpc: '2.0';
|
|
7
|
+
} & OneOf<{
|
|
8
|
+
result: result;
|
|
9
|
+
} | {
|
|
10
|
+
error: error;
|
|
11
|
+
}>>;
|
|
12
|
+
/** JSON-RPC error object as per the [JSON-RPC 2.0 specification](https://www.jsonrpc.org/specification#error_object). */
|
|
13
|
+
export type ErrorObject = {
|
|
14
|
+
code: number;
|
|
15
|
+
message: string;
|
|
16
|
+
data?: unknown | undefined;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A type-safe interface to instantiate a JSON-RPC response object as per the [JSON-RPC 2.0 specification](https://www.jsonrpc.org/specification#response_object).
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ### Instantiating a Response Object
|
|
23
|
+
*
|
|
24
|
+
* ```ts twoslash
|
|
25
|
+
* import { RpcResponse } from 'ox'
|
|
26
|
+
*
|
|
27
|
+
* const response = RpcResponse.from({
|
|
28
|
+
* id: 0,
|
|
29
|
+
* jsonrpc: '2.0',
|
|
30
|
+
* result: '0x69420',
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ### Type-safe Instantiation
|
|
36
|
+
*
|
|
37
|
+
* If you have a JSON-RPC request object, you can use it to strongly-type the response. If a `request` is provided,
|
|
38
|
+
* then the `id` and `jsonrpc` properties will be overridden with the values from the request.
|
|
39
|
+
*
|
|
40
|
+
* ```ts twoslash
|
|
41
|
+
* import { RpcRequest, RpcResponse } from 'ox'
|
|
42
|
+
*
|
|
43
|
+
* const request = RpcRequest.from({ id: 0, method: 'eth_blockNumber' })
|
|
44
|
+
*
|
|
45
|
+
* const response = RpcResponse.from(
|
|
46
|
+
* { result: '0x69420' },
|
|
47
|
+
* { request },
|
|
48
|
+
* )
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param response - Opaque JSON-RPC response object.
|
|
52
|
+
* @param options - Parsing options.
|
|
53
|
+
* @returns Typed JSON-RPC result, or response object (if `raw` is `true`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function from<request extends RpcRequest.RpcRequest | undefined = undefined, const response = (request extends RpcRequest.RpcRequest ? request['_returnType'] : RpcResponse) | unknown>(response: from.Response<request, response>, options?: from.Options<request>): Compute<from.ReturnType<response>>;
|
|
56
|
+
export declare namespace from {
|
|
57
|
+
type Response<request extends RpcRequest.RpcRequest | undefined = undefined, response = unknown> = response & (request extends RpcRequest.RpcRequest ? UnionPartialBy<RpcResponse<request['_returnType']>, 'id' | 'jsonrpc'> : RpcResponse);
|
|
58
|
+
type Options<request extends RpcRequest.RpcRequest | undefined = RpcRequest.RpcRequest | undefined> = {
|
|
59
|
+
request?: request | RpcRequest.RpcRequest | undefined;
|
|
60
|
+
};
|
|
61
|
+
type ReturnType<response> = IsNarrowable<response, RpcResponse> extends true ? RpcResponse : response & Readonly<{
|
|
62
|
+
id: number;
|
|
63
|
+
jsonrpc: '2.0';
|
|
64
|
+
}>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A type-safe interface to parse a JSON-RPC response object as per the [JSON-RPC 2.0 specification](https://www.jsonrpc.org/specification#response_object), and extract the result.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts twoslash
|
|
71
|
+
* import { RpcRequest, RpcResponse } from 'ox'
|
|
72
|
+
*
|
|
73
|
+
* // 1. Create a request store.
|
|
74
|
+
* const store = RpcRequest.createStore()
|
|
75
|
+
*
|
|
76
|
+
* // 2. Get a request object.
|
|
77
|
+
* const request = store.prepare({
|
|
78
|
+
* method: 'eth_getBlockByNumber',
|
|
79
|
+
* params: ['0x1', false],
|
|
80
|
+
* })
|
|
81
|
+
*
|
|
82
|
+
* // 3. Send the JSON-RPC request via HTTP.
|
|
83
|
+
* const block = await fetch('https://1.rpc.thirdweb.com', {
|
|
84
|
+
* body: JSON.stringify(request),
|
|
85
|
+
* headers: {
|
|
86
|
+
* 'Content-Type': 'application/json',
|
|
87
|
+
* },
|
|
88
|
+
* method: 'POST',
|
|
89
|
+
* })
|
|
90
|
+
* .then((response) => response.json())
|
|
91
|
+
* // 4. Parse the JSON-RPC response into a type-safe result. // [!code focus]
|
|
92
|
+
* .then((response) => RpcResponse.parse(response, { request })) // [!code focus]
|
|
93
|
+
*
|
|
94
|
+
* block // [!code focus]
|
|
95
|
+
* // ^?
|
|
96
|
+
*
|
|
97
|
+
*
|
|
98
|
+
*
|
|
99
|
+
*
|
|
100
|
+
*
|
|
101
|
+
*
|
|
102
|
+
*
|
|
103
|
+
*
|
|
104
|
+
*
|
|
105
|
+
*
|
|
106
|
+
*
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* :::tip
|
|
110
|
+
*
|
|
111
|
+
* If you don't need the return type, you can omit the options entirely.
|
|
112
|
+
*
|
|
113
|
+
* ```ts twoslash
|
|
114
|
+
* // @noErrors
|
|
115
|
+
* import { RpcResponse } from 'ox'
|
|
116
|
+
*
|
|
117
|
+
* const block = await fetch('https://1.rpc.thirdweb.com', {})
|
|
118
|
+
* .then((response) => response.json())
|
|
119
|
+
* .then((response) => RpcResponse.parse(response, { request })) // [!code --]
|
|
120
|
+
* .then(RpcResponse.parse) // [!code ++]
|
|
121
|
+
* ```
|
|
122
|
+
* :::
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ### Raw Mode
|
|
126
|
+
*
|
|
127
|
+
* If `raw` is `true`, the response will be returned as an object with `result` and `error` properties instead of returning the `result` directly and throwing errors.
|
|
128
|
+
*
|
|
129
|
+
* ```ts twoslash
|
|
130
|
+
* import { RpcRequest, RpcResponse } from 'ox'
|
|
131
|
+
*
|
|
132
|
+
* const store = RpcRequest.createStore()
|
|
133
|
+
*
|
|
134
|
+
* const request = store.prepare({
|
|
135
|
+
* method: 'eth_blockNumber',
|
|
136
|
+
* })
|
|
137
|
+
*
|
|
138
|
+
* const response = RpcResponse.parse({}, {
|
|
139
|
+
* request,
|
|
140
|
+
* raw: true, // [!code hl]
|
|
141
|
+
* })
|
|
142
|
+
*
|
|
143
|
+
* response.result
|
|
144
|
+
* // ^?
|
|
145
|
+
*
|
|
146
|
+
*
|
|
147
|
+
* response.error
|
|
148
|
+
* // ^?
|
|
149
|
+
*
|
|
150
|
+
*
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @param response - Opaque JSON-RPC response object.
|
|
154
|
+
* @param options - Parsing options.
|
|
155
|
+
* @returns Typed JSON-RPC result, or response object (if `raw` is `true`).
|
|
156
|
+
*/
|
|
157
|
+
export declare function parse<const response extends RpcResponse | unknown, returnType, raw extends boolean = false>(response: response, options?: parse.Options<returnType, raw>): parse.ReturnType<unknown extends response ? returnType : response extends RpcResponse ? response extends {
|
|
158
|
+
result: infer result;
|
|
159
|
+
} ? result : never : returnType, raw>;
|
|
160
|
+
export declare namespace parse {
|
|
161
|
+
var parseError: (error: unknown) => parse.ErrorType;
|
|
162
|
+
}
|
|
163
|
+
export declare namespace parse {
|
|
164
|
+
type Options<returnType, raw extends boolean = false> = {
|
|
165
|
+
/**
|
|
166
|
+
* JSON-RPC Method that was used to make the request. Used for typing the response.
|
|
167
|
+
*/
|
|
168
|
+
request?: {
|
|
169
|
+
_returnType: returnType;
|
|
170
|
+
} | RpcRequest.RpcRequest | undefined;
|
|
171
|
+
/**
|
|
172
|
+
* Enables raw mode – responses will return an object with `result` and `error` properties instead of returning the `result` directly and throwing errors.
|
|
173
|
+
*
|
|
174
|
+
* - `true`: a JSON-RPC response object will be returned with `result` and `error` properties.
|
|
175
|
+
* - `false`: the JSON-RPC response object's `result` property will be returned directly, and JSON-RPC Errors will be thrown.
|
|
176
|
+
*
|
|
177
|
+
* @default false
|
|
178
|
+
*/
|
|
179
|
+
raw?: raw | boolean | undefined;
|
|
180
|
+
};
|
|
181
|
+
type ReturnType<returnType, raw extends boolean = false> = Compute<raw extends true ? RpcResponse<returnType> : returnType>;
|
|
182
|
+
type ErrorType = ParseError | InvalidInputError | ResourceNotFoundError | ResourceUnavailableError | TransactionRejectedError | MethodNotSupportedError | LimitExceededError | VersionNotSupportedError | InvalidRequestError | MethodNotFoundError | InvalidParamsError | InternalError | BaseErrorType | Errors.GlobalErrorType;
|
|
183
|
+
}
|
|
184
|
+
export type BaseErrorType = BaseError & {
|
|
185
|
+
name: 'BaseError';
|
|
186
|
+
};
|
|
187
|
+
/** Thrown when a JSON-RPC error has occurred. */
|
|
188
|
+
export declare class BaseError extends Error {
|
|
189
|
+
name: string;
|
|
190
|
+
readonly code: number;
|
|
191
|
+
readonly data?: unknown | undefined;
|
|
192
|
+
constructor(errorObject: ErrorObject);
|
|
193
|
+
}
|
|
194
|
+
/** Thrown when the input to a JSON-RPC method is invalid. */
|
|
195
|
+
export declare class InvalidInputError extends BaseError {
|
|
196
|
+
static readonly code = -32000;
|
|
197
|
+
readonly code = -32000;
|
|
198
|
+
readonly name = "RpcResponse.InvalidInputError";
|
|
199
|
+
}
|
|
200
|
+
/** Thrown when a JSON-RPC resource is not found. */
|
|
201
|
+
export declare class ResourceNotFoundError extends BaseError {
|
|
202
|
+
static readonly code = -32001;
|
|
203
|
+
readonly code = -32001;
|
|
204
|
+
readonly name = "RpcResponse.ResourceNotFoundError";
|
|
205
|
+
}
|
|
206
|
+
/** Thrown when a JSON-RPC resource is unavailable. */
|
|
207
|
+
export declare class ResourceUnavailableError extends BaseError {
|
|
208
|
+
static readonly code = -32002;
|
|
209
|
+
readonly code = -32002;
|
|
210
|
+
readonly name = "RpcResponse.ResourceUnavailableError";
|
|
211
|
+
}
|
|
212
|
+
/** Thrown when a JSON-RPC transaction is rejected. */
|
|
213
|
+
export declare class TransactionRejectedError extends BaseError {
|
|
214
|
+
static readonly code = -32003;
|
|
215
|
+
readonly code = -32003;
|
|
216
|
+
readonly name = "RpcResponse.TransactionRejectedError";
|
|
217
|
+
}
|
|
218
|
+
/** Thrown when a JSON-RPC method is not supported. */
|
|
219
|
+
export declare class MethodNotSupportedError extends BaseError {
|
|
220
|
+
static readonly code = -32004;
|
|
221
|
+
readonly code = -32004;
|
|
222
|
+
readonly name = "RpcResponse.MethodNotSupportedError";
|
|
223
|
+
}
|
|
224
|
+
/** Thrown when a rate-limit is exceeded. */
|
|
225
|
+
export declare class LimitExceededError extends BaseError {
|
|
226
|
+
static readonly code = -32005;
|
|
227
|
+
readonly code = -32005;
|
|
228
|
+
readonly name = "RpcResponse.LimitExceededError";
|
|
229
|
+
}
|
|
230
|
+
/** Thrown when a JSON-RPC version is not supported. */
|
|
231
|
+
export declare class VersionNotSupportedError extends BaseError {
|
|
232
|
+
static readonly code = -32006;
|
|
233
|
+
readonly code = -32006;
|
|
234
|
+
readonly name = "RpcResponse.VersionNotSupportedError";
|
|
235
|
+
}
|
|
236
|
+
/** Thrown when a JSON-RPC request is invalid. */
|
|
237
|
+
export declare class InvalidRequestError extends BaseError {
|
|
238
|
+
static readonly code = -32600;
|
|
239
|
+
readonly code = -32600;
|
|
240
|
+
readonly name = "RpcResponse.InvalidRequestError";
|
|
241
|
+
}
|
|
242
|
+
/** Thrown when a JSON-RPC method is not found. */
|
|
243
|
+
export declare class MethodNotFoundError extends BaseError {
|
|
244
|
+
static readonly code = -32601;
|
|
245
|
+
readonly code = -32601;
|
|
246
|
+
readonly name = "RpcResponse.MethodNotFoundError";
|
|
247
|
+
}
|
|
248
|
+
/** Thrown when the parameters to a JSON-RPC method are invalid. */
|
|
249
|
+
export declare class InvalidParamsError extends BaseError {
|
|
250
|
+
static readonly code = -32602;
|
|
251
|
+
readonly code = -32602;
|
|
252
|
+
readonly name = "RpcResponse.InvalidParamsError";
|
|
253
|
+
}
|
|
254
|
+
/** Thrown when an internal JSON-RPC error has occurred. */
|
|
255
|
+
export declare class InternalError extends BaseError {
|
|
256
|
+
static readonly code = -32603;
|
|
257
|
+
readonly code = -32603;
|
|
258
|
+
readonly name = "RpcResponse.InternalErrorError";
|
|
259
|
+
}
|
|
260
|
+
/** Thrown when a JSON-RPC response is invalid. */
|
|
261
|
+
export declare class ParseError extends BaseError {
|
|
262
|
+
static readonly code = -32700;
|
|
263
|
+
readonly code = -32700;
|
|
264
|
+
readonly name = "RpcResponse.ParseError";
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=RpcResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcResponse.d.ts","sourceRoot":"","sources":["../RpcResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import type { ResolvedRegister } from './internal/register.js';
|
|
2
|
+
import type { Compute, IsNarrowable } from './internal/types.js';
|
|
3
|
+
export type { Eth } from './internal/rpcSchemas/eth.js';
|
|
4
|
+
export type { Wallet } from './internal/rpcSchemas/wallet.js';
|
|
5
|
+
/**
|
|
6
|
+
* Instantiates a statically typed Schema. This is a runtime-noop function, and is purposed
|
|
7
|
+
* to be used as a type-level tag to be used with {@link ox#Provider.(from:function)} or
|
|
8
|
+
* {@link ox#RpcTransport.(fromHttp:function)}.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ### Using with `Provider.from`
|
|
12
|
+
*
|
|
13
|
+
* ```ts twoslash
|
|
14
|
+
* // @noErrors
|
|
15
|
+
* import 'ox/window'
|
|
16
|
+
* import { Provider, RpcSchema } from 'ox'
|
|
17
|
+
*
|
|
18
|
+
* const schema = RpcSchema.from<
|
|
19
|
+
* | RpcSchema.Default
|
|
20
|
+
* | {
|
|
21
|
+
* Request: {
|
|
22
|
+
* method: 'abe_foo',
|
|
23
|
+
* params: [id: number],
|
|
24
|
+
* }
|
|
25
|
+
* ReturnType: string
|
|
26
|
+
* }
|
|
27
|
+
* | {
|
|
28
|
+
* Request: {
|
|
29
|
+
* method: 'abe_bar',
|
|
30
|
+
* params: [id: string],
|
|
31
|
+
* }
|
|
32
|
+
* ReturnType: string
|
|
33
|
+
* }
|
|
34
|
+
* >()
|
|
35
|
+
*
|
|
36
|
+
* const provider = Provider.from(window.ethereum, { schema })
|
|
37
|
+
*
|
|
38
|
+
* const blockNumber = await provider.request({ method: 'e' })
|
|
39
|
+
* // ^|
|
|
40
|
+
*
|
|
41
|
+
*
|
|
42
|
+
*
|
|
43
|
+
*
|
|
44
|
+
*
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function from<schema extends Generic>(): schema;
|
|
48
|
+
/**
|
|
49
|
+
* Extracts a schema item from a {@link ox#RpcSchema.Generic} or {@link ox#RpcSchema.MethodNameGeneric}.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts twoslash
|
|
53
|
+
* import { RpcSchema } from 'ox'
|
|
54
|
+
*
|
|
55
|
+
* type Item = RpcSchema.ExtractItem<RpcSchema.Eth, 'eth_getBlockByNumber'>
|
|
56
|
+
* // ^?
|
|
57
|
+
*
|
|
58
|
+
*
|
|
59
|
+
*
|
|
60
|
+
*
|
|
61
|
+
*
|
|
62
|
+
*
|
|
63
|
+
*
|
|
64
|
+
*
|
|
65
|
+
*
|
|
66
|
+
*
|
|
67
|
+
*
|
|
68
|
+
*
|
|
69
|
+
*
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export type ExtractItem<schema extends Generic, methodName extends MethodNameGeneric<schema> = MethodNameGeneric<schema>> = Compute<{
|
|
73
|
+
Request: ExtractRequest<schema, methodName>;
|
|
74
|
+
ReturnType: ExtractReturnType<schema, methodName>;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Extracts request from a {@link ox#RpcSchema.Generic} or {@link ox#RpcSchema.MethodNameGeneric}.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts twoslash
|
|
81
|
+
* import { RpcSchema } from 'ox'
|
|
82
|
+
*
|
|
83
|
+
* type Request = RpcSchema.ExtractRequest<RpcSchema.Eth, 'eth_getBlockByNumber'>
|
|
84
|
+
* // ^?
|
|
85
|
+
*
|
|
86
|
+
*
|
|
87
|
+
*
|
|
88
|
+
*
|
|
89
|
+
*
|
|
90
|
+
*
|
|
91
|
+
*
|
|
92
|
+
*
|
|
93
|
+
*
|
|
94
|
+
*
|
|
95
|
+
*
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export type ExtractRequest<schema extends Generic, methodName extends MethodNameGeneric<schema> = MethodNameGeneric<schema>> = Extract<schema['Request'], {
|
|
99
|
+
method: methodName;
|
|
100
|
+
}>;
|
|
101
|
+
/**
|
|
102
|
+
* Type-safe union of all JSON-RPC Method Names.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts twoslash
|
|
106
|
+
* import { RpcSchema } from 'ox'
|
|
107
|
+
*
|
|
108
|
+
* type MethodName = RpcSchema.ExtractMethodName<RpcSchema.Default>
|
|
109
|
+
* // ^?
|
|
110
|
+
*
|
|
111
|
+
*
|
|
112
|
+
*
|
|
113
|
+
*
|
|
114
|
+
*
|
|
115
|
+
*
|
|
116
|
+
*
|
|
117
|
+
*
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export type ExtractMethodName<schema extends Generic> = schema['Request']['method'];
|
|
121
|
+
/**
|
|
122
|
+
* Extracts parameters from a {@link ox#RpcSchema.Generic} or {@link ox#RpcSchema.MethodNameGeneric}.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts twoslash
|
|
126
|
+
* import { RpcSchema } from 'ox'
|
|
127
|
+
*
|
|
128
|
+
* type Eth_GetBlockByNumber = RpcSchema.ExtractParams<RpcSchema.Eth, 'eth_getBlockByNumber'>
|
|
129
|
+
* // ^?
|
|
130
|
+
*
|
|
131
|
+
*
|
|
132
|
+
*
|
|
133
|
+
*
|
|
134
|
+
*
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export type ExtractParams<schema extends Generic, methodName extends MethodNameGeneric<schema> = MethodNameGeneric<schema>> = ExtractRequest<schema, methodName>['params'];
|
|
138
|
+
/**
|
|
139
|
+
* Extracts return type from a {@link ox#RpcSchema.Generic} or {@link ox#RpcSchema.MethodNameGeneric}.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts twoslash
|
|
143
|
+
* import { RpcSchema } from 'ox'
|
|
144
|
+
*
|
|
145
|
+
* type ReturnType = RpcSchema.ExtractReturnType<RpcSchema.Eth, 'eth_getBlockByNumber'>
|
|
146
|
+
* // ^?
|
|
147
|
+
*
|
|
148
|
+
*
|
|
149
|
+
*
|
|
150
|
+
*
|
|
151
|
+
*
|
|
152
|
+
*
|
|
153
|
+
*
|
|
154
|
+
*
|
|
155
|
+
*
|
|
156
|
+
*
|
|
157
|
+
*
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export type ExtractReturnType<schema extends Generic, methodName extends MethodNameGeneric<schema> = MethodNameGeneric<schema>> = methodName extends schema['Request']['method'] ? IsNarrowable<schema, Generic> extends true ? Extract<schema, {
|
|
161
|
+
Request: {
|
|
162
|
+
method: methodName;
|
|
163
|
+
};
|
|
164
|
+
}>['ReturnType'] : unknown : unknown;
|
|
165
|
+
/**
|
|
166
|
+
* Type to define a custom type-safe JSON-RPC Schema.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```ts twoslash
|
|
170
|
+
* import { RpcSchema, RpcRequest } from 'ox'
|
|
171
|
+
*
|
|
172
|
+
* type Schema = RpcSchema.From<{
|
|
173
|
+
* Request: {
|
|
174
|
+
* method: 'eth_foobar',
|
|
175
|
+
* params: [id: number],
|
|
176
|
+
* }
|
|
177
|
+
* ReturnType: string
|
|
178
|
+
* }>
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export type From<schema extends Generic> = schema;
|
|
182
|
+
/**
|
|
183
|
+
* Generic type to define a JSON-RPC Method.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts twoslash
|
|
187
|
+
* import { RpcSchema } from 'ox'
|
|
188
|
+
*
|
|
189
|
+
* type Schema = RpcSchema.Generic
|
|
190
|
+
* // ^?
|
|
191
|
+
*
|
|
192
|
+
*
|
|
193
|
+
*
|
|
194
|
+
*
|
|
195
|
+
*
|
|
196
|
+
*
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
export type Generic<name extends string = string, params = unknown> = {
|
|
200
|
+
Request: {
|
|
201
|
+
method: name;
|
|
202
|
+
params?: params | undefined;
|
|
203
|
+
};
|
|
204
|
+
ReturnType?: unknown;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Type-safe union of all JSON-RPC Methods.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```ts twoslash
|
|
211
|
+
* import { RpcSchema } from 'ox'
|
|
212
|
+
*
|
|
213
|
+
* type Schema = RpcSchema.Default
|
|
214
|
+
* // ^?
|
|
215
|
+
*
|
|
216
|
+
*
|
|
217
|
+
*
|
|
218
|
+
*
|
|
219
|
+
*
|
|
220
|
+
*
|
|
221
|
+
*
|
|
222
|
+
*
|
|
223
|
+
*
|
|
224
|
+
*
|
|
225
|
+
*
|
|
226
|
+
*
|
|
227
|
+
*
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export type Default = ResolvedRegister['RpcSchema'];
|
|
231
|
+
/**
|
|
232
|
+
* Generic type to define a JSON-RPC Method Name.
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```ts twoslash
|
|
236
|
+
* import { RpcSchema } from 'ox'
|
|
237
|
+
*
|
|
238
|
+
* type Name = RpcSchema.MethodNameGeneric
|
|
239
|
+
* // ^?
|
|
240
|
+
*
|
|
241
|
+
*
|
|
242
|
+
*
|
|
243
|
+
*
|
|
244
|
+
*
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
export type MethodNameGeneric<schema extends Generic = Generic> = schema['Request']['method'] | (string & {});
|
|
248
|
+
//# sourceMappingURL=RpcSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcSchema.d.ts","sourceRoot":"","sources":["../RpcSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as Errors from './Errors.js';
|
|
2
|
+
import type * as RpcResponse from './RpcResponse.js';
|
|
3
|
+
import type * as RpcSchema from './RpcSchema.js';
|
|
4
|
+
import * as promise from './internal/promise.js';
|
|
5
|
+
import type * as RpcSchema_internal from './internal/rpcSchema.js';
|
|
6
|
+
import * as internal from './internal/rpcTransport.js';
|
|
7
|
+
import type { Compute } from './internal/types.js';
|
|
8
|
+
/** Root type for an RPC Transport. */
|
|
9
|
+
export type RpcTransport<raw extends boolean = false, options extends Record<string, unknown> = {}, schema extends RpcSchema.Generic = RpcSchema.Default> = Compute<{
|
|
10
|
+
request: RequestFn<raw, options, schema>;
|
|
11
|
+
}>;
|
|
12
|
+
/** HTTP-based RPC Transport. */
|
|
13
|
+
export type Http<raw extends boolean = false, schema extends RpcSchema.Generic = RpcSchema.Default> = RpcTransport<raw, HttpOptions, schema>;
|
|
14
|
+
export type HttpOptions = {
|
|
15
|
+
/** Request configuration to pass to `fetch`. */
|
|
16
|
+
fetchOptions?: Omit<RequestInit, 'body'> | ((method: RpcSchema.Generic['Request']) => Omit<RequestInit, 'body'> | Promise<Omit<RequestInit, 'body'>>) | undefined;
|
|
17
|
+
/** Function to use to make the request. @default fetch */
|
|
18
|
+
fetchFn?: typeof fetch | undefined;
|
|
19
|
+
/** Timeout for the request in milliseconds. @default 10_000 */
|
|
20
|
+
timeout?: number | undefined;
|
|
21
|
+
};
|
|
22
|
+
export type RequestFn<raw extends boolean = false, options extends Record<string, unknown> = {}, schema extends RpcSchema.Generic = RpcSchema.Default> = <methodName extends RpcSchema.MethodNameGeneric, raw_override extends boolean | undefined = undefined>(parameters: Compute<RpcSchema_internal.ExtractRequestOpaque<schema, methodName>>, options?: internal.Options<raw_override, options, schema> | undefined) => Promise<raw_override extends boolean ? raw_override extends true ? RpcResponse.RpcResponse<RpcSchema.ExtractReturnType<schema, methodName>> : RpcSchema.ExtractReturnType<schema, methodName> : raw extends true ? RpcResponse.RpcResponse<RpcSchema.ExtractReturnType<schema, methodName>> : RpcSchema.ExtractReturnType<schema, methodName>>;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a HTTP JSON-RPC Transport from a URL.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts twoslash
|
|
28
|
+
* import { RpcTransport } from 'ox'
|
|
29
|
+
*
|
|
30
|
+
* const transport = RpcTransport.fromHttp('https://1.rpc.thirdweb.com')
|
|
31
|
+
*
|
|
32
|
+
* const blockNumber = await transport.request({ method: 'eth_blockNumber' })
|
|
33
|
+
* // @log: '0x1a2b3c'
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @param url - URL to perform the JSON-RPC requests to.
|
|
37
|
+
* @param options - Transport options.
|
|
38
|
+
* @returns HTTP JSON-RPC Transport.
|
|
39
|
+
*/
|
|
40
|
+
export declare function fromHttp<raw extends boolean = false, schema extends RpcSchema.Generic = RpcSchema.Default>(url: string, options?: fromHttp.Options<raw, schema>): Http<raw, schema>;
|
|
41
|
+
export declare namespace fromHttp {
|
|
42
|
+
var parseError: (error: unknown) => fromHttp.ErrorType;
|
|
43
|
+
}
|
|
44
|
+
export declare namespace fromHttp {
|
|
45
|
+
type Options<raw extends boolean = false, schema extends RpcSchema.Generic = RpcSchema.Default> = internal.Options<raw, HttpOptions, schema>;
|
|
46
|
+
type ErrorType = promise.withTimeout.ErrorType | HttpError | Errors.GlobalErrorType;
|
|
47
|
+
}
|
|
48
|
+
/** Thrown when a HTTP request fails. */
|
|
49
|
+
export declare class HttpError extends Errors.BaseError {
|
|
50
|
+
readonly name = "RpcTransport.HttpError";
|
|
51
|
+
constructor({ body, details, response, url, }: {
|
|
52
|
+
body: unknown;
|
|
53
|
+
details: string;
|
|
54
|
+
response: Response;
|
|
55
|
+
url: string;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Thrown when a HTTP response is malformed. */
|
|
59
|
+
export declare class MalformedResponseError extends Errors.BaseError {
|
|
60
|
+
readonly name = "RpcTransport.MalformedResponseError";
|
|
61
|
+
constructor({ response }: {
|
|
62
|
+
response: string;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=RpcTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcTransport.d.ts","sourceRoot":"","sources":["../RpcTransport.ts"],"names":[],"mappings":"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"}
|