ox 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Abi/package.json +6 -0
- package/Abi.ts +163 -0
- package/AbiConstructor/package.json +6 -0
- package/AbiConstructor.ts +413 -0
- package/AbiError/package.json +6 -0
- package/AbiError.ts +719 -0
- package/AbiEvent/package.json +6 -0
- package/AbiEvent.ts +1284 -0
- package/AbiFunction/package.json +6 -0
- package/AbiFunction.ts +813 -0
- package/AbiItem/package.json +6 -0
- package/AbiItem.ts +779 -0
- package/AbiParameters/package.json +6 -0
- package/AbiParameters.ts +712 -0
- package/AccessList/package.json +6 -0
- package/AccessList.ts +124 -0
- package/AccountProof/package.json +6 -0
- package/AccountProof.ts +35 -0
- package/Address/package.json +6 -0
- package/Address.ts +359 -0
- package/AesGcm/package.json +6 -0
- package/AesGcm.ts +220 -0
- package/Authorization/package.json +6 -0
- package/Authorization.ts +639 -0
- package/Base58/package.json +6 -0
- package/Base58.ts +180 -0
- package/Base64/package.json +6 -0
- package/Base64.ts +333 -0
- package/Blobs/package.json +6 -0
- package/Blobs.ts +982 -0
- package/Block/package.json +6 -0
- package/Block.ts +317 -0
- package/Bloom/package.json +6 -0
- package/Bloom.ts +80 -0
- package/Bls/package.json +6 -0
- package/Bls.ts +496 -0
- package/BlsPoint/package.json +6 -0
- package/BlsPoint.ts +232 -0
- package/Bytes/package.json +6 -0
- package/Bytes.ts +963 -0
- package/CHANGELOG.md +7 -0
- package/Caches/package.json +6 -0
- package/Caches.ts +21 -0
- package/ContractAddress/package.json +6 -0
- package/ContractAddress.ts +181 -0
- package/Ens/package.json +6 -0
- package/Ens.ts +116 -0
- package/Errors/package.json +6 -0
- package/Errors.ts +95 -0
- package/Fee/package.json +6 -0
- package/Fee.ts +57 -0
- package/Filter/package.json +6 -0
- package/Filter.ts +144 -0
- package/Hash/package.json +6 -0
- package/Hash.ts +210 -0
- package/HdKey/package.json +6 -0
- package/HdKey.ts +175 -0
- package/Hex/package.json +6 -0
- package/Hex.ts +1040 -0
- package/Json/package.json +6 -0
- package/Json.ts +84 -0
- package/Kzg/package.json +6 -0
- package/Kzg.ts +51 -0
- package/LICENSE +21 -0
- package/Log/package.json +6 -0
- package/Log.ts +248 -0
- package/Mnemonic/package.json +6 -0
- package/Mnemonic.ts +249 -0
- package/P256/package.json +6 -0
- package/P256.ts +230 -0
- package/PersonalMessage/package.json +6 -0
- package/PersonalMessage.ts +70 -0
- package/Provider/package.json +6 -0
- package/Provider.ts +354 -0
- package/PublicKey/package.json +6 -0
- package/PublicKey.ts +545 -0
- package/README.md +75 -26
- package/Rlp/package.json +6 -0
- package/Rlp.ts +390 -0
- package/RpcRequest/package.json +6 -0
- package/RpcRequest.ts +192 -0
- package/RpcResponse/package.json +6 -0
- package/RpcResponse.ts +389 -0
- package/RpcSchema/package.json +6 -0
- package/RpcSchema.ts +273 -0
- package/RpcTransport/package.json +6 -0
- package/RpcTransport.ts +198 -0
- package/Secp256k1/package.json +6 -0
- package/Secp256k1.ts +304 -0
- package/Signature/package.json +6 -0
- package/Signature.ts +909 -0
- package/Siwe/package.json +6 -0
- package/Siwe.ts +516 -0
- package/Solidity/package.json +6 -0
- package/Solidity.ts +109 -0
- package/Transaction/package.json +6 -0
- package/Transaction.ts +429 -0
- package/TransactionEnvelope/package.json +6 -0
- package/TransactionEnvelope.ts +205 -0
- package/TransactionEnvelopeEip1559/package.json +6 -0
- package/TransactionEnvelopeEip1559.ts +656 -0
- package/TransactionEnvelopeEip2930/package.json +6 -0
- package/TransactionEnvelopeEip2930.ts +624 -0
- package/TransactionEnvelopeEip4844/package.json +6 -0
- package/TransactionEnvelopeEip4844.ts +764 -0
- package/TransactionEnvelopeEip7702/package.json +6 -0
- package/TransactionEnvelopeEip7702.ts +639 -0
- package/TransactionEnvelopeLegacy/package.json +6 -0
- package/TransactionEnvelopeLegacy.ts +674 -0
- package/TransactionReceipt/package.json +6 -0
- package/TransactionReceipt.ts +341 -0
- package/TransactionRequest/package.json +6 -0
- package/TransactionRequest.ts +151 -0
- package/TypedData/package.json +6 -0
- package/TypedData.ts +931 -0
- package/ValidatorData/package.json +6 -0
- package/ValidatorData.ts +87 -0
- package/Value/package.json +6 -0
- package/Value.ts +242 -0
- package/WebAuthnP256/package.json +6 -0
- package/WebAuthnP256.ts +803 -0
- package/WebCryptoP256/package.json +6 -0
- package/WebCryptoP256.ts +190 -0
- package/Withdrawal/package.json +6 -0
- package/Withdrawal.ts +95 -0
- package/_cjs/Abi.js +17 -0
- package/_cjs/Abi.js.map +1 -0
- package/_cjs/AbiConstructor.js +42 -0
- package/_cjs/AbiConstructor.js.map +1 -0
- package/_cjs/AbiError.js +98 -0
- package/_cjs/AbiError.js.map +1 -0
- package/_cjs/AbiEvent.js +338 -0
- package/_cjs/AbiEvent.js.map +1 -0
- package/_cjs/AbiFunction.js +85 -0
- package/_cjs/AbiFunction.js.map +1 -0
- package/_cjs/AbiItem.js +180 -0
- package/_cjs/AbiItem.js.map +1 -0
- package/_cjs/AbiParameters.js +229 -0
- package/_cjs/AbiParameters.js.map +1 -0
- package/_cjs/AccessList.js +51 -0
- package/_cjs/AccessList.js.map +1 -0
- package/_cjs/AccountProof.js +3 -0
- package/_cjs/AccountProof.js.map +1 -0
- package/_cjs/Address.js +121 -0
- package/_cjs/Address.js.map +1 -0
- package/_cjs/AesGcm.js +55 -0
- package/_cjs/AesGcm.js.map +1 -0
- package/_cjs/Authorization.js +99 -0
- package/_cjs/Authorization.js.map +1 -0
- package/_cjs/Base58.js +52 -0
- package/_cjs/Base58.js.map +1 -0
- package/_cjs/Base64.js +76 -0
- package/_cjs/Base64.js.map +1 -0
- package/_cjs/Blobs.js +255 -0
- package/_cjs/Blobs.js.map +1 -0
- package/_cjs/Block.js +87 -0
- package/_cjs/Block.js.map +1 -0
- package/_cjs/Bloom.js +23 -0
- package/_cjs/Bloom.js.map +1 -0
- package/_cjs/Bls.js +79 -0
- package/_cjs/Bls.js.map +1 -0
- package/_cjs/BlsPoint.js +32 -0
- package/_cjs/BlsPoint.js.map +1 -0
- package/_cjs/Bytes.js +279 -0
- package/_cjs/Bytes.js.map +1 -0
- package/_cjs/Caches.js +14 -0
- package/_cjs/Caches.js.map +1 -0
- package/_cjs/ContractAddress.js +39 -0
- package/_cjs/ContractAddress.js.map +1 -0
- package/_cjs/Ens.js +37 -0
- package/_cjs/Ens.js.map +1 -0
- package/_cjs/Errors.js +99 -0
- package/_cjs/Errors.js.map +1 -0
- package/_cjs/Fee.js +3 -0
- package/_cjs/Fee.js.map +1 -0
- package/_cjs/Filter.js +43 -0
- package/_cjs/Filter.js.map +1 -0
- package/_cjs/Hash.js +40 -0
- package/_cjs/Hash.js.map +1 -0
- package/_cjs/HdKey.js +30 -0
- package/_cjs/HdKey.js.map +1 -0
- package/_cjs/Hex.js +324 -0
- package/_cjs/Hex.js.map +1 -0
- package/_cjs/Json.js +25 -0
- package/_cjs/Json.js.map +1 -0
- package/_cjs/Kzg.js +14 -0
- package/_cjs/Kzg.js.map +1 -0
- package/_cjs/Log.js +35 -0
- package/_cjs/Log.js.map +1 -0
- package/_cjs/Mnemonic.js +56 -0
- package/_cjs/Mnemonic.js.map +1 -0
- package/_cjs/P256.js +52 -0
- package/_cjs/P256.js.map +1 -0
- package/_cjs/PersonalMessage.js +16 -0
- package/_cjs/PersonalMessage.js.map +1 -0
- package/_cjs/Provider.js +90 -0
- package/_cjs/Provider.js.map +1 -0
- package/_cjs/PublicKey.js +192 -0
- package/_cjs/PublicKey.js.map +1 -0
- package/_cjs/Rlp.js +179 -0
- package/_cjs/Rlp.js.map +1 -0
- package/_cjs/RpcRequest.js +27 -0
- package/_cjs/RpcRequest.js.map +1 -0
- package/_cjs/RpcResponse.js +368 -0
- package/_cjs/RpcResponse.js.map +1 -0
- package/_cjs/RpcSchema.js +7 -0
- package/_cjs/RpcSchema.js.map +1 -0
- package/_cjs/RpcTransport.js +95 -0
- package/_cjs/RpcTransport.js.map +1 -0
- package/_cjs/Secp256k1.js +57 -0
- package/_cjs/Secp256k1.js.map +1 -0
- package/_cjs/Signature.js +305 -0
- package/_cjs/Signature.js.map +1 -0
- package/_cjs/Siwe.js +231 -0
- package/_cjs/Siwe.js.map +1 -0
- package/_cjs/Solidity.js +104 -0
- package/_cjs/Solidity.js.map +1 -0
- package/_cjs/Transaction.js +106 -0
- package/_cjs/Transaction.js.map +1 -0
- package/_cjs/TransactionEnvelope.js +80 -0
- package/_cjs/TransactionEnvelope.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip1559.js +182 -0
- package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip2930.js +166 -0
- package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip4844.js +224 -0
- package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip7702.js +156 -0
- package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
- package/_cjs/TransactionEnvelopeLegacy.js +221 -0
- package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
- package/_cjs/TransactionReceipt.js +76 -0
- package/_cjs/TransactionReceipt.js.map +1 -0
- package/_cjs/TransactionRequest.js +51 -0
- package/_cjs/TransactionRequest.js.map +1 -0
- package/_cjs/TypedData.js +318 -0
- package/_cjs/TypedData.js.map +1 -0
- package/_cjs/ValidatorData.js +16 -0
- package/_cjs/ValidatorData.js.map +1 -0
- package/_cjs/Value.js +96 -0
- package/_cjs/Value.js.map +1 -0
- package/_cjs/WebAuthnP256.js +245 -0
- package/_cjs/WebAuthnP256.js.map +1 -0
- package/_cjs/WebCryptoP256.js +46 -0
- package/_cjs/WebCryptoP256.js.map +1 -0
- package/_cjs/Withdrawal.js +24 -0
- package/_cjs/Withdrawal.js.map +1 -0
- package/_cjs/index.js +66 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/internal/abi.js +11 -0
- package/_cjs/internal/abi.js.map +1 -0
- package/_cjs/internal/abiConstructor.js +3 -0
- package/_cjs/internal/abiConstructor.js.map +1 -0
- package/_cjs/internal/abiError.js +3 -0
- package/_cjs/internal/abiError.js.map +1 -0
- package/_cjs/internal/abiEvent.js +3 -0
- package/_cjs/internal/abiEvent.js.map +1 -0
- package/_cjs/internal/abiFunction.js +3 -0
- package/_cjs/internal/abiFunction.js.map +1 -0
- package/_cjs/internal/abiItem.js +110 -0
- package/_cjs/internal/abiItem.js.map +1 -0
- package/_cjs/internal/abiParameters.js +376 -0
- package/_cjs/internal/abiParameters.js.map +1 -0
- package/_cjs/internal/base58.js +89 -0
- package/_cjs/internal/base58.js.map +1 -0
- package/_cjs/internal/bytes.js +88 -0
- package/_cjs/internal/bytes.js.map +1 -0
- package/_cjs/internal/cursor.js +210 -0
- package/_cjs/internal/cursor.js.map +1 -0
- package/_cjs/internal/ens.js +43 -0
- package/_cjs/internal/ens.js.map +1 -0
- package/_cjs/internal/errors.js +28 -0
- package/_cjs/internal/errors.js.map +1 -0
- package/_cjs/internal/hdKey.js +19 -0
- package/_cjs/internal/hdKey.js.map +1 -0
- package/_cjs/internal/hex.js +66 -0
- package/_cjs/internal/hex.js.map +1 -0
- package/_cjs/internal/lru.js +34 -0
- package/_cjs/internal/lru.js.map +1 -0
- package/_cjs/internal/mnemonic/wordlists.js +24 -0
- package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
- package/_cjs/internal/promise.js +49 -0
- package/_cjs/internal/promise.js.map +1 -0
- package/_cjs/internal/register.js +3 -0
- package/_cjs/internal/register.js.map +1 -0
- package/_cjs/internal/rpcSchema.js +3 -0
- package/_cjs/internal/rpcSchema.js.map +1 -0
- package/_cjs/internal/rpcSchemas/eth.js +3 -0
- package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
- package/_cjs/internal/rpcSchemas/wallet.js +3 -0
- package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
- package/_cjs/internal/rpcTransport.js +19 -0
- package/_cjs/internal/rpcTransport.js.map +1 -0
- package/_cjs/internal/types.js +3 -0
- package/_cjs/internal/types.js.map +1 -0
- package/_cjs/internal/uid.js +17 -0
- package/_cjs/internal/uid.js.map +1 -0
- package/_cjs/internal/webauthn.js +28 -0
- package/_cjs/internal/webauthn.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/trusted-setups/Paths.js +6 -0
- package/_cjs/trusted-setups/Paths.js.map +1 -0
- package/_cjs/trusted-setups/index.js +5 -0
- package/_cjs/trusted-setups/index.js.map +1 -0
- package/_cjs/trusted-setups/internal/paths.js +11 -0
- package/_cjs/trusted-setups/internal/paths.js.map +1 -0
- package/_cjs/version.js +5 -0
- package/_cjs/version.js.map +1 -0
- package/_cjs/window/index.js +3 -0
- package/_cjs/window/index.js.map +1 -0
- package/_esm/Abi.js +19 -0
- package/_esm/Abi.js.map +1 -0
- package/_esm/AbiConstructor.js +102 -0
- package/_esm/AbiConstructor.js.map +1 -0
- package/_esm/AbiError.js +364 -0
- package/_esm/AbiError.js.map +1 -0
- package/_esm/AbiEvent.js +1038 -0
- package/_esm/AbiEvent.js.map +1 -0
- package/_esm/AbiFunction.js +549 -0
- package/_esm/AbiFunction.js.map +1 -0
- package/_esm/AbiItem.js +574 -0
- package/_esm/AbiItem.js.map +1 -0
- package/_esm/AbiParameters.js +543 -0
- package/_esm/AbiParameters.js.map +1 -0
- package/_esm/AccessList.js +105 -0
- package/_esm/AccessList.js.map +1 -0
- package/_esm/AccountProof.js +2 -0
- package/_esm/AccountProof.js.map +1 -0
- package/_esm/Address.js +268 -0
- package/_esm/Address.js.map +1 -0
- package/_esm/AesGcm.js +124 -0
- package/_esm/AesGcm.js.map +1 -0
- package/_esm/Authorization.js +441 -0
- package/_esm/Authorization.js.map +1 -0
- package/_esm/Base58.js +142 -0
- package/_esm/Base58.js.map +1 -0
- package/_esm/Base64.js +236 -0
- package/_esm/Base64.js.map +1 -0
- package/_esm/Blobs.js +624 -0
- package/_esm/Blobs.js.map +1 -0
- package/_esm/Block.js +177 -0
- package/_esm/Block.js.map +1 -0
- package/_esm/Bloom.js +57 -0
- package/_esm/Bloom.js.map +1 -0
- package/_esm/Bls.js +141 -0
- package/_esm/Bls.js.map +1 -0
- package/_esm/BlsPoint.js +59 -0
- package/_esm/BlsPoint.js.map +1 -0
- package/_esm/Bytes.js +719 -0
- package/_esm/Bytes.js.map +1 -0
- package/_esm/Caches.js +19 -0
- package/_esm/Caches.js.map +1 -0
- package/_esm/ContractAddress.js +110 -0
- package/_esm/ContractAddress.js.map +1 -0
- package/_esm/Ens.js +84 -0
- package/_esm/Ens.js.map +1 -0
- package/_esm/Errors.js +105 -0
- package/_esm/Errors.js.map +1 -0
- package/_esm/Fee.js +2 -0
- package/_esm/Fee.js.map +1 -0
- package/_esm/Filter.js +100 -0
- package/_esm/Filter.js.map +1 -0
- package/_esm/Hash.js +126 -0
- package/_esm/Hash.js.map +1 -0
- package/_esm/HdKey.js +107 -0
- package/_esm/HdKey.js.map +1 -0
- package/_esm/Hex.js +763 -0
- package/_esm/Hex.js.map +1 -0
- package/_esm/Json.js +62 -0
- package/_esm/Json.js.map +1 -0
- package/_esm/Kzg.js +30 -0
- package/_esm/Kzg.js.map +1 -0
- package/_esm/Log.js +181 -0
- package/_esm/Log.js.map +1 -0
- package/_esm/Mnemonic.js +154 -0
- package/_esm/Mnemonic.js.map +1 -0
- package/_esm/P256.js +131 -0
- package/_esm/P256.js.map +1 -0
- package/_esm/PersonalMessage.js +46 -0
- package/_esm/PersonalMessage.js.map +1 -0
- package/_esm/Provider.js +122 -0
- package/_esm/Provider.js.map +1 -0
- package/_esm/PublicKey.js +395 -0
- package/_esm/PublicKey.js.map +1 -0
- package/_esm/Rlp.js +267 -0
- package/_esm/Rlp.js.map +1 -0
- package/_esm/RpcRequest.js +131 -0
- package/_esm/RpcRequest.js.map +1 -0
- package/_esm/RpcResponse.js +457 -0
- package/_esm/RpcResponse.js.map +1 -0
- package/_esm/RpcSchema.js +46 -0
- package/_esm/RpcSchema.js.map +1 -0
- package/_esm/RpcTransport.js +110 -0
- package/_esm/RpcTransport.js.map +1 -0
- package/_esm/Secp256k1.js +173 -0
- package/_esm/Secp256k1.js.map +1 -0
- package/_esm/Signature.js +696 -0
- package/_esm/Signature.js.map +1 -0
- package/_esm/Siwe.js +374 -0
- package/_esm/Siwe.js.map +1 -0
- package/_esm/Solidity.js +104 -0
- package/_esm/Solidity.js.map +1 -0
- package/_esm/Transaction.js +176 -0
- package/_esm/Transaction.js.map +1 -0
- package/_esm/TransactionEnvelope.js +139 -0
- package/_esm/TransactionEnvelope.js.map +1 -0
- package/_esm/TransactionEnvelopeEip1559.js +455 -0
- package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
- package/_esm/TransactionEnvelopeEip2930.js +439 -0
- package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
- package/_esm/TransactionEnvelopeEip4844.js +542 -0
- package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
- package/_esm/TransactionEnvelopeEip7702.js +442 -0
- package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
- package/_esm/TransactionEnvelopeLegacy.js +495 -0
- package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
- package/_esm/TransactionReceipt.js +229 -0
- package/_esm/TransactionReceipt.js.map +1 -0
- package/_esm/TransactionRequest.js +89 -0
- package/_esm/TransactionRequest.js.map +1 -0
- package/_esm/TypedData.js +635 -0
- package/_esm/TypedData.js.map +1 -0
- package/_esm/ValidatorData.js +52 -0
- package/_esm/ValidatorData.js.map +1 -0
- package/_esm/Value.js +196 -0
- package/_esm/Value.js.map +1 -0
- package/_esm/WebAuthnP256.js +471 -0
- package/_esm/WebAuthnP256.js.map +1 -0
- package/_esm/WebCryptoP256.js +116 -0
- package/_esm/WebCryptoP256.js.map +1 -0
- package/_esm/Withdrawal.js +72 -0
- package/_esm/Withdrawal.js.map +1 -0
- package/_esm/index.js +3366 -0
- package/_esm/index.js.map +1 -0
- package/_esm/internal/abi.js +9 -0
- package/_esm/internal/abi.js.map +1 -0
- package/_esm/internal/abiConstructor.js +2 -0
- package/_esm/internal/abiConstructor.js.map +1 -0
- package/_esm/internal/abiError.js +2 -0
- package/_esm/internal/abiError.js.map +1 -0
- package/_esm/internal/abiEvent.js +2 -0
- package/_esm/internal/abiEvent.js.map +1 -0
- package/_esm/internal/abiFunction.js +2 -0
- package/_esm/internal/abiFunction.js.map +1 -0
- package/_esm/internal/abiItem.js +122 -0
- package/_esm/internal/abiItem.js.map +1 -0
- package/_esm/internal/abiParameters.js +419 -0
- package/_esm/internal/abiParameters.js.map +1 -0
- package/_esm/internal/base58.js +91 -0
- package/_esm/internal/base58.js.map +1 -0
- package/_esm/internal/bytes.js +86 -0
- package/_esm/internal/bytes.js.map +1 -0
- package/_esm/internal/cursor.js +207 -0
- package/_esm/internal/cursor.js.map +1 -0
- package/_esm/internal/ens.js +47 -0
- package/_esm/internal/ens.js.map +1 -0
- package/_esm/internal/errors.js +26 -0
- package/_esm/internal/errors.js.map +1 -0
- package/_esm/internal/hdKey.js +17 -0
- package/_esm/internal/hdKey.js.map +1 -0
- package/_esm/internal/hex.js +64 -0
- package/_esm/internal/hex.js.map +1 -0
- package/_esm/internal/lru.js +36 -0
- package/_esm/internal/lru.js.map +1 -0
- package/_esm/internal/mnemonic/wordlists.js +11 -0
- package/_esm/internal/mnemonic/wordlists.js.map +1 -0
- package/_esm/internal/promise.js +52 -0
- package/_esm/internal/promise.js.map +1 -0
- package/_esm/internal/register.js +2 -0
- package/_esm/internal/register.js.map +1 -0
- package/_esm/internal/rpcSchema.js +2 -0
- package/_esm/internal/rpcSchema.js.map +1 -0
- package/_esm/internal/rpcSchemas/eth.js +2 -0
- package/_esm/internal/rpcSchemas/eth.js.map +1 -0
- package/_esm/internal/rpcSchemas/wallet.js +2 -0
- package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
- package/_esm/internal/rpcTransport.js +20 -0
- package/_esm/internal/rpcTransport.js.map +1 -0
- package/_esm/internal/types.js +2 -0
- package/_esm/internal/types.js.map +1 -0
- package/_esm/internal/uid.js +15 -0
- package/_esm/internal/uid.js.map +1 -0
- package/_esm/internal/webauthn.js +35 -0
- package/_esm/internal/webauthn.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/trusted-setups/Paths.js +3 -0
- package/_esm/trusted-setups/Paths.js.map +1 -0
- package/_esm/trusted-setups/index.js +2 -0
- package/_esm/trusted-setups/index.js.map +1 -0
- package/_esm/trusted-setups/internal/paths.js +12 -0
- package/_esm/trusted-setups/internal/paths.js.map +1 -0
- package/_esm/version.js +3 -0
- package/_esm/version.js.map +1 -0
- package/_esm/window/index.js +2 -0
- package/_esm/window/index.js.map +1 -0
- package/_test/Abi.test-d/package.json +6 -0
- package/_test/AbiConstructor.test-d/package.json +6 -0
- package/_test/AbiError.test-d/package.json +6 -0
- package/_test/AbiEvent.snap-d/package.json +6 -0
- package/_test/AbiEvent.snap-d.ts +329 -0
- package/_test/AbiFunction.snap-d/package.json +6 -0
- package/_test/AbiFunction.snap-d.ts +262 -0
- package/_test/AbiItem.snap-d/package.json +6 -0
- package/_test/AbiItem.snap-d.ts +131 -0
- package/_test/AbiParameters.bench/package.json +6 -0
- package/_test/AbiParameters.snap-d/package.json +6 -0
- package/_test/AbiParameters.snap-d.ts +66 -0
- package/_test/Address.bench/package.json +6 -0
- package/_test/Base58.bench/package.json +6 -0
- package/_test/Hex.bench/package.json +6 -0
- package/_test/Hex.test-d/package.json +6 -0
- package/_test/PublicKey.test-d/package.json +6 -0
- package/_test/Rlp.bench/package.json +6 -0
- package/_test/Rlp.test-d/package.json +6 -0
- package/_test/Signature.snap-d/package.json +6 -0
- package/_test/Signature.snap-d.ts +96 -0
- package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
- package/_test/TypedData.test-d/package.json +6 -0
- package/_types/Abi.d.ts +137 -0
- package/_types/Abi.d.ts.map +1 -0
- package/_types/AbiConstructor.d.ts +305 -0
- package/_types/AbiConstructor.d.ts.map +1 -0
- package/_types/AbiError.d.ts +522 -0
- package/_types/AbiError.d.ts.map +1 -0
- package/_types/AbiEvent.d.ts +892 -0
- package/_types/AbiEvent.d.ts.map +1 -0
- package/_types/AbiFunction.d.ts +602 -0
- package/_types/AbiFunction.d.ts.map +1 -0
- package/_types/AbiItem.d.ts +544 -0
- package/_types/AbiItem.d.ts.map +1 -0
- package/_types/AbiParameters.d.ts +466 -0
- package/_types/AbiParameters.d.ts.map +1 -0
- package/_types/AccessList.d.ts +83 -0
- package/_types/AccessList.d.ts.map +1 -0
- package/_types/AccountProof.d.ts +32 -0
- package/_types/AccountProof.d.ts.map +1 -0
- package/_types/Address.d.ts +244 -0
- package/_types/Address.d.ts.map +1 -0
- package/_types/AesGcm.d.ts +116 -0
- package/_types/AesGcm.d.ts.map +1 -0
- package/_types/Authorization.d.ts +461 -0
- package/_types/Authorization.d.ts.map +1 -0
- package/_types/Base58.d.ts +131 -0
- package/_types/Base58.d.ts.map +1 -0
- package/_types/Base64.d.ts +244 -0
- package/_types/Base64.d.ts.map +1 -0
- package/_types/Blobs.d.ts +556 -0
- package/_types/Blobs.d.ts.map +1 -0
- package/_types/Block.d.ts +190 -0
- package/_types/Block.d.ts.map +1 -0
- package/_types/Bloom.d.ts +54 -0
- package/_types/Bloom.d.ts.map +1 -0
- package/_types/Bls.d.ts +365 -0
- package/_types/Bls.d.ts.map +1 -0
- package/_types/BlsPoint.d.ts +187 -0
- package/_types/BlsPoint.d.ts.map +1 -0
- package/_types/Bytes.d.ts +674 -0
- package/_types/Bytes.d.ts.map +1 -0
- package/_types/Caches.d.ts +13 -0
- package/_types/Caches.d.ts.map +1 -0
- package/_types/ContractAddress.d.ts +115 -0
- package/_types/ContractAddress.d.ts.map +1 -0
- package/_types/Ens.d.ts +72 -0
- package/_types/Ens.d.ts.map +1 -0
- package/_types/Errors.d.ts +33 -0
- package/_types/Errors.d.ts.map +1 -0
- package/_types/Fee.d.ts +41 -0
- package/_types/Fee.d.ts.map +1 -0
- package/_types/Filter.d.ts +100 -0
- package/_types/Filter.d.ts.map +1 -0
- package/_types/Hash.d.ts +135 -0
- package/_types/Hash.d.ts.map +1 -0
- package/_types/HdKey.d.ts +146 -0
- package/_types/HdKey.d.ts.map +1 -0
- package/_types/Hex.d.ts +711 -0
- package/_types/Hex.d.ts.map +1 -0
- package/_types/Json.d.ts +53 -0
- package/_types/Json.d.ts.map +1 -0
- package/_types/Kzg.d.ts +42 -0
- package/_types/Kzg.d.ts.map +1 -0
- package/_types/Log.d.ts +194 -0
- package/_types/Log.d.ts.map +1 -0
- package/_types/Mnemonic.d.ts +176 -0
- package/_types/Mnemonic.d.ts.map +1 -0
- package/_types/P256.d.ts +207 -0
- package/_types/P256.d.ts.map +1 -0
- package/_types/PersonalMessage.d.ts +49 -0
- package/_types/PersonalMessage.d.ts.map +1 -0
- package/_types/Provider.d.ts +268 -0
- package/_types/Provider.d.ts.map +1 -0
- package/_types/PublicKey.d.ts +327 -0
- package/_types/PublicKey.d.ts.map +1 -0
- package/_types/Rlp.d.ts +153 -0
- package/_types/Rlp.d.ts.map +1 -0
- package/_types/RpcRequest.d.ts +144 -0
- package/_types/RpcRequest.d.ts.map +1 -0
- package/_types/RpcResponse.d.ts +266 -0
- package/_types/RpcResponse.d.ts.map +1 -0
- package/_types/RpcSchema.d.ts +248 -0
- package/_types/RpcSchema.d.ts.map +1 -0
- package/_types/RpcTransport.d.ts +65 -0
- package/_types/RpcTransport.d.ts.map +1 -0
- package/_types/Secp256k1.d.ts +277 -0
- package/_types/Secp256k1.d.ts.map +1 -0
- package/_types/Signature.d.ts +601 -0
- package/_types/Signature.d.ts.map +1 -0
- package/_types/Siwe.d.ts +249 -0
- package/_types/Siwe.d.ts.map +1 -0
- package/_types/Solidity.d.ts +100 -0
- package/_types/Solidity.d.ts.map +1 -0
- package/_types/Transaction.d.ts +235 -0
- package/_types/Transaction.d.ts.map +1 -0
- package/_types/TransactionEnvelope.d.ts +141 -0
- package/_types/TransactionEnvelope.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
- package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
- package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
- package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
- package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
- package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
- package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
- package/_types/TransactionReceipt.d.ts +271 -0
- package/_types/TransactionReceipt.d.ts.map +1 -0
- package/_types/TransactionRequest.d.ts +92 -0
- package/_types/TransactionRequest.d.ts.map +1 -0
- package/_types/TypedData.d.ts +496 -0
- package/_types/TypedData.d.ts.map +1 -0
- package/_types/ValidatorData.d.ts +64 -0
- package/_types/ValidatorData.d.ts.map +1 -0
- package/_types/Value.d.ts +159 -0
- package/_types/Value.d.ts.map +1 -0
- package/_types/WebAuthnP256.d.ts +445 -0
- package/_types/WebAuthnP256.d.ts.map +1 -0
- package/_types/WebCryptoP256.d.ts +119 -0
- package/_types/WebCryptoP256.d.ts.map +1 -0
- package/_types/Withdrawal.d.ts +74 -0
- package/_types/Withdrawal.d.ts.map +1 -0
- package/_types/index.d.ts +3367 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/internal/abi.d.ts +4 -0
- package/_types/internal/abi.d.ts.map +1 -0
- package/_types/internal/abiConstructor.d.ts +11 -0
- package/_types/internal/abiConstructor.d.ts.map +1 -0
- package/_types/internal/abiError.d.ts +11 -0
- package/_types/internal/abiError.d.ts.map +1 -0
- package/_types/internal/abiEvent.d.ts +60 -0
- package/_types/internal/abiEvent.d.ts.map +1 -0
- package/_types/internal/abiFunction.d.ts +11 -0
- package/_types/internal/abiFunction.d.ts.map +1 -0
- package/_types/internal/abiItem.d.ts +100 -0
- package/_types/internal/abiItem.d.ts.map +1 -0
- package/_types/internal/abiParameters.d.ts +169 -0
- package/_types/internal/abiParameters.d.ts.map +1 -0
- package/_types/internal/base58.d.ts +17 -0
- package/_types/internal/base58.d.ts.map +1 -0
- package/_types/internal/bytes.d.ts +52 -0
- package/_types/internal/bytes.d.ts.map +1 -0
- package/_types/internal/cursor.d.ts +70 -0
- package/_types/internal/cursor.d.ts.map +1 -0
- package/_types/internal/ens.d.ts +23 -0
- package/_types/internal/ens.d.ts.map +1 -0
- package/_types/internal/errors.d.ts +7 -0
- package/_types/internal/errors.d.ts.map +1 -0
- package/_types/internal/hdKey.d.ts +10 -0
- package/_types/internal/hdKey.d.ts.map +1 -0
- package/_types/internal/hex.d.ts +39 -0
- package/_types/internal/hex.d.ts.map +1 -0
- package/_types/internal/lru.d.ts +13 -0
- package/_types/internal/lru.d.ts.map +1 -0
- package/_types/internal/mnemonic/wordlists.d.ts +11 -0
- package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
- package/_types/internal/promise.d.ts +27 -0
- package/_types/internal/promise.d.ts.map +1 -0
- package/_types/internal/register.d.ts +13 -0
- package/_types/internal/register.d.ts.map +1 -0
- package/_types/internal/rpcSchema.d.ts +12 -0
- package/_types/internal/rpcSchema.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/eth.d.ts +718 -0
- package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
- package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
- package/_types/internal/rpcTransport.d.ts +38 -0
- package/_types/internal/rpcTransport.d.ts.map +1 -0
- package/_types/internal/types.d.ts +284 -0
- package/_types/internal/types.d.ts.map +1 -0
- package/_types/internal/uid.d.ts +3 -0
- package/_types/internal/uid.d.ts.map +1 -0
- package/_types/internal/webauthn.d.ts +127 -0
- package/_types/internal/webauthn.d.ts.map +1 -0
- package/_types/trusted-setups/Paths.d.ts +2 -0
- package/_types/trusted-setups/Paths.d.ts.map +1 -0
- package/_types/trusted-setups/index.d.ts +2 -0
- package/_types/trusted-setups/index.d.ts.map +1 -0
- package/_types/trusted-setups/internal/paths.d.ts +3 -0
- package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
- package/_types/version.d.ts +3 -0
- package/_types/version.d.ts.map +1 -0
- package/_types/window/index.d.ts +7 -0
- package/_types/window/index.d.ts.map +1 -0
- package/index.ts +3427 -0
- package/internal/abi.ts +11 -0
- package/internal/abiConstructor.ts +32 -0
- package/internal/abiError.ts +30 -0
- package/internal/abiEvent.ts +154 -0
- package/internal/abiFunction.ts +32 -0
- package/internal/abiItem.ts +593 -0
- package/internal/abiParameters.ts +741 -0
- package/internal/base58.ts +106 -0
- package/internal/bytes.ts +152 -0
- package/internal/cursor.ts +252 -0
- package/internal/ens.ts +64 -0
- package/internal/errors.ts +26 -0
- package/internal/hdKey.ts +25 -0
- package/internal/hex.ts +123 -0
- package/internal/lru.ts +34 -0
- package/internal/mnemonic/wordlists.ts +10 -0
- package/internal/promise.ts +66 -0
- package/internal/register.ts +15 -0
- package/internal/rpcSchema.ts +20 -0
- package/internal/rpcSchemas/eth.ts +727 -0
- package/internal/rpcSchemas/wallet.ts +428 -0
- package/internal/rpcTransport.ts +74 -0
- package/internal/types.ts +414 -0
- package/internal/uid.ts +15 -0
- package/internal/webauthn.ts +198 -0
- package/package.json +500 -20
- package/trusted-setups/Paths/package.json +6 -0
- package/trusted-setups/Paths.ts +3 -0
- package/trusted-setups/index.ts +1 -0
- package/trusted-setups/internal/paths.ts +13 -0
- package/trusted-setups/internal/setups/mainnet.json +8265 -0
- package/trusted-setups/internal/setups/mainnet.txt +4163 -0
- package/trusted-setups/package.json +6 -0
- package/tsdoc.json +4 -0
- package/version/package.json +6 -0
- package/version.ts +2 -0
- package/window/index.ts +7 -0
- package/window/package.json +6 -0
- package/cl/ansiesc.js +0 -25
- package/cl/deps.js +0 -7
- package/cl/editor.js +0 -141
- package/cl/index.html +0 -19
- package/cl/ox.js +0 -44
- package/cl/socket.io.js +0 -1922
- package/cl/style.css +0 -37
- package/srv/deps.js +0 -88
- package/srv/httpSrv.js +0 -82
- package/srv/ox.js +0 -44
- package/srv/remoteXtermReq.js +0 -70
package/Json.ts
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type * as Errors from './Errors.js'
|
|
2
|
+
|
|
3
|
+
const bigIntSuffix = /*#__PURE__*/ '#__bigint'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parses a JSON string, with support for `bigint`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts twoslash
|
|
10
|
+
* import { Json } from 'ox'
|
|
11
|
+
*
|
|
12
|
+
* const json = Json.parse('{"foo":"bar","baz":"69420694206942069420694206942069420694206942069420#__bigint"}')
|
|
13
|
+
* // @log: {
|
|
14
|
+
* // @log: foo: 'bar',
|
|
15
|
+
* // @log: baz: 69420694206942069420694206942069420694206942069420n
|
|
16
|
+
* // @log: }
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param string - The value to parse.
|
|
20
|
+
* @param reviver - A function that transforms the results.
|
|
21
|
+
* @returns The parsed value.
|
|
22
|
+
*/
|
|
23
|
+
export function parse(
|
|
24
|
+
string: string,
|
|
25
|
+
reviver?: ((this: any, key: string, value: any) => any) | undefined,
|
|
26
|
+
) {
|
|
27
|
+
return JSON.parse(string, (key, value_) => {
|
|
28
|
+
const value = value_
|
|
29
|
+
if (typeof value === 'string' && value.endsWith(bigIntSuffix))
|
|
30
|
+
return BigInt(value.slice(0, -bigIntSuffix.length))
|
|
31
|
+
return typeof reviver === 'function' ? reviver(key, value) : value
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export declare namespace parse {
|
|
36
|
+
type ErrorType = Errors.GlobalErrorType
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
parse.parseError = (error: unknown) =>
|
|
40
|
+
/* v8 ignore next */
|
|
41
|
+
error as parse.ErrorType
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Stringifies a value to its JSON representation, with support for `bigint`.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts twoslash
|
|
48
|
+
* import { Json } from 'ox'
|
|
49
|
+
*
|
|
50
|
+
* const json = Json.stringify({
|
|
51
|
+
* foo: 'bar',
|
|
52
|
+
* baz: 69420694206942069420694206942069420694206942069420n,
|
|
53
|
+
* })
|
|
54
|
+
* // @log: '{"foo":"bar","baz":"69420694206942069420694206942069420694206942069420#__bigint"}'
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @param value - The value to stringify.
|
|
58
|
+
* @param replacer - A function that transforms the results. It is passed the key and value of the property, and must return the value to be used in the JSON string. If this function returns `undefined`, the property is not included in the resulting JSON string.
|
|
59
|
+
* @param space - A string or number that determines the indentation of the JSON string. If it is a number, it indicates the number of spaces to use as indentation; if it is a string (e.g. `'\t'`), it uses the string as the indentation character.
|
|
60
|
+
* @returns The JSON string.
|
|
61
|
+
*/
|
|
62
|
+
export function stringify(
|
|
63
|
+
value: any,
|
|
64
|
+
replacer?: ((this: any, key: string, value: any) => any) | null | undefined,
|
|
65
|
+
space?: string | number | undefined,
|
|
66
|
+
) {
|
|
67
|
+
return JSON.stringify(
|
|
68
|
+
value,
|
|
69
|
+
(key, value) => {
|
|
70
|
+
if (typeof replacer === 'function') return replacer(key, value)
|
|
71
|
+
if (typeof value === 'bigint') return value.toString() + bigIntSuffix
|
|
72
|
+
return value
|
|
73
|
+
},
|
|
74
|
+
space,
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export declare namespace stringify {
|
|
79
|
+
type ErrorType = Errors.GlobalErrorType
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
stringify.parseError = (error: unknown) =>
|
|
83
|
+
/* v8 ignore next */
|
|
84
|
+
error as stringify.ErrorType
|
package/Kzg/package.json
ADDED
package/Kzg.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type * as Bytes from './Bytes.js'
|
|
2
|
+
import type * as Errors from './Errors.js'
|
|
3
|
+
|
|
4
|
+
/** @see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters */
|
|
5
|
+
export const versionedHashVersion = 1
|
|
6
|
+
|
|
7
|
+
/** Root type for a KZG interface. */
|
|
8
|
+
export type Kzg = {
|
|
9
|
+
/**
|
|
10
|
+
* Convert a blob to a KZG commitment.
|
|
11
|
+
*/
|
|
12
|
+
blobToKzgCommitment(blob: Bytes.Bytes): Bytes.Bytes
|
|
13
|
+
/**
|
|
14
|
+
* Given a blob, return the KZG proof that is used to verify it against the
|
|
15
|
+
* commitment.
|
|
16
|
+
*/
|
|
17
|
+
computeBlobKzgProof(blob: Bytes.Bytes, commitment: Bytes.Bytes): Bytes.Bytes
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Defines a KZG interface.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts twoslash
|
|
25
|
+
* // @noErrors
|
|
26
|
+
* import * as cKzg from 'c-kzg'
|
|
27
|
+
* import { Kzg } from 'ox'
|
|
28
|
+
* import { Paths } from 'ox/trusted-setups'
|
|
29
|
+
*
|
|
30
|
+
* cKzg.loadTrustedSetup(Paths.mainnet)
|
|
31
|
+
*
|
|
32
|
+
* const kzg = Kzg.from(cKzg)
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @param value - The KZG object to convert.
|
|
36
|
+
* @returns The KZG interface object.
|
|
37
|
+
*/
|
|
38
|
+
export function from(value: Kzg): Kzg {
|
|
39
|
+
const { blobToKzgCommitment, computeBlobKzgProof } = value
|
|
40
|
+
return {
|
|
41
|
+
blobToKzgCommitment,
|
|
42
|
+
computeBlobKzgProof,
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export declare namespace from {
|
|
47
|
+
type ErrorType = Errors.GlobalErrorType
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* v8 ignore next */
|
|
51
|
+
from.parseError = (error: unknown) => error as from.ErrorType
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023-present wevm
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/Log/package.json
ADDED
package/Log.ts
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import type * as Address from './Address.js'
|
|
2
|
+
import type * as Errors from './Errors.js'
|
|
3
|
+
import * as Hex from './Hex.js'
|
|
4
|
+
import type { Compute } from './internal/types.js'
|
|
5
|
+
|
|
6
|
+
/** A Log as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/receipt.yaml). */
|
|
7
|
+
export type Log<
|
|
8
|
+
pending extends boolean = false,
|
|
9
|
+
bigintType = bigint,
|
|
10
|
+
numberType = number,
|
|
11
|
+
> = Compute<{
|
|
12
|
+
/** The address from which this log originated */
|
|
13
|
+
address: Address.Address
|
|
14
|
+
/** Hash of block containing this log or `null` if pending */
|
|
15
|
+
blockHash: pending extends true ? null : Hex.Hex
|
|
16
|
+
/** Number of block containing this log or `null` if pending */
|
|
17
|
+
blockNumber: pending extends true ? null : bigintType
|
|
18
|
+
/** Contains the non-integered arguments of the log */
|
|
19
|
+
data: Hex.Hex
|
|
20
|
+
/** Index of this log within its block or `null` if pending */
|
|
21
|
+
logIndex: pending extends true ? null : numberType
|
|
22
|
+
/** List of topics associated with this log */
|
|
23
|
+
topics: [Hex.Hex, ...(readonly Hex.Hex[])]
|
|
24
|
+
/** Hash of the transaction that created this log or `null` if pending */
|
|
25
|
+
transactionHash: pending extends true ? null : Hex.Hex
|
|
26
|
+
/** Index of the transaction that created this log or `null` if pending */
|
|
27
|
+
transactionIndex: pending extends true ? null : numberType
|
|
28
|
+
/** `true` if this filter has been destroyed and is invalid */
|
|
29
|
+
removed: boolean
|
|
30
|
+
}>
|
|
31
|
+
|
|
32
|
+
/** An RPC Log as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/receipt.yaml). */
|
|
33
|
+
export type Rpc<pending extends boolean = false> = Log<
|
|
34
|
+
pending,
|
|
35
|
+
Hex.Hex,
|
|
36
|
+
Hex.Hex
|
|
37
|
+
>
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Converts a {@link ox#Log.Rpc} to an {@link ox#Log.Log}.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts twoslash
|
|
44
|
+
* import { Log } from 'ox'
|
|
45
|
+
*
|
|
46
|
+
* const log = Log.fromRpc({
|
|
47
|
+
* address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
48
|
+
* topics: [
|
|
49
|
+
* '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
|
|
50
|
+
* '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
51
|
+
* '0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1',
|
|
52
|
+
* '0x000000000000000000000000000000000000000000000000000000000000025b',
|
|
53
|
+
* ],
|
|
54
|
+
* data: '0x',
|
|
55
|
+
* blockHash:
|
|
56
|
+
* '0xabe69134e80a12f6a93d0aa18215b5b86c2fb338bae911790ca374a8716e01a4',
|
|
57
|
+
* blockNumber: '0x12d846c',
|
|
58
|
+
* transactionHash:
|
|
59
|
+
* '0xcfa52db0bc2cb5bdcb2c5bd8816df7a2f018a0e3964ab1ef4d794cf327966e93',
|
|
60
|
+
* transactionIndex: '0x91',
|
|
61
|
+
* logIndex: '0x10f',
|
|
62
|
+
* removed: false,
|
|
63
|
+
* })
|
|
64
|
+
* // @log: {
|
|
65
|
+
* // @log: address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
66
|
+
* // @log: blockHash: '0xabe69134e80a12f6a93d0aa18215b5b86c2fb338bae911790ca374a8716e01a4',
|
|
67
|
+
* // @log: blockNumber: 19760236n,
|
|
68
|
+
* // @log: data: '0x',
|
|
69
|
+
* // @log: logIndex: 271,
|
|
70
|
+
* // @log: removed: false,
|
|
71
|
+
* // @log: topics: [
|
|
72
|
+
* // @log: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
73
|
+
* // @log: "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
74
|
+
* // @log: "0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1",
|
|
75
|
+
* // @log: "0x000000000000000000000000000000000000000000000000000000000000025b",
|
|
76
|
+
* // @log: transactionHash:
|
|
77
|
+
* // @log: '0xcfa52db0bc2cb5bdcb2c5bd8816df7a2f018a0e3964ab1ef4d794cf327966e93',
|
|
78
|
+
* // @log: transactionIndex: 145,
|
|
79
|
+
* // @log: }
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ### End-to-end
|
|
84
|
+
*
|
|
85
|
+
* Below is an example of how to use `Log.fromRpc` to instantiate a {@link ox#Log.Log} from an RPC log.
|
|
86
|
+
*
|
|
87
|
+
* ```ts twoslash
|
|
88
|
+
* import 'ox/window'
|
|
89
|
+
* import { AbiEvent, Hex, Log } from 'ox'
|
|
90
|
+
*
|
|
91
|
+
* const transfer = AbiEvent.from(
|
|
92
|
+
* 'event Transfer(address indexed from, address indexed to, uint256 indexed value)',
|
|
93
|
+
* )
|
|
94
|
+
*
|
|
95
|
+
* const { topics } = AbiEvent.encode(transfer)
|
|
96
|
+
*
|
|
97
|
+
* const logs = await window.ethereum!.request({
|
|
98
|
+
* method: 'eth_getLogs',
|
|
99
|
+
* params: [
|
|
100
|
+
* {
|
|
101
|
+
* address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
102
|
+
* fromBlock: Hex.fromNumber(19760235n),
|
|
103
|
+
* toBlock: Hex.fromNumber(19760240n),
|
|
104
|
+
* topics,
|
|
105
|
+
* },
|
|
106
|
+
* ],
|
|
107
|
+
* })
|
|
108
|
+
*
|
|
109
|
+
* const log = Log.fromRpc(logs[0]) // [!code focus]
|
|
110
|
+
* // @log: {
|
|
111
|
+
* // @log: address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
112
|
+
* // @log: blockHash: '0xabe69134e80a12f6a93d0aa18215b5b86c2fb338bae911790ca374a8716e01a4',
|
|
113
|
+
* // @log: blockNumber: 19760236n,
|
|
114
|
+
* // @log: data: '0x',
|
|
115
|
+
* // @log: logIndex: 271,
|
|
116
|
+
* // @log: removed: false,
|
|
117
|
+
* // @log: topics: [
|
|
118
|
+
* // @log: "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
119
|
+
* // @log: "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
120
|
+
* // @log: "0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1",
|
|
121
|
+
* // @log: "0x000000000000000000000000000000000000000000000000000000000000025b",
|
|
122
|
+
* // @log: transactionHash:
|
|
123
|
+
* // @log: '0xcfa52db0bc2cb5bdcb2c5bd8816df7a2f018a0e3964ab1ef4d794cf327966e93',
|
|
124
|
+
* // @log: transactionIndex: 145,
|
|
125
|
+
* // @log: }
|
|
126
|
+
* ```
|
|
127
|
+
*
|
|
128
|
+
* :::note
|
|
129
|
+
*
|
|
130
|
+
* For simplicity, the above example uses `window.ethereum.request`, but you can use any
|
|
131
|
+
* type of JSON-RPC interface.
|
|
132
|
+
*
|
|
133
|
+
* :::
|
|
134
|
+
*
|
|
135
|
+
* @param log - The RPC log to convert.
|
|
136
|
+
* @returns An instantiated {@link ox#Log.Log}.
|
|
137
|
+
*/
|
|
138
|
+
export function fromRpc<
|
|
139
|
+
const log extends Rpc<boolean>,
|
|
140
|
+
pending extends boolean = false,
|
|
141
|
+
>(
|
|
142
|
+
log: log | Rpc<boolean>,
|
|
143
|
+
_options: fromRpc.Options<pending> = {},
|
|
144
|
+
): Log<pending> {
|
|
145
|
+
return {
|
|
146
|
+
...log,
|
|
147
|
+
blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null,
|
|
148
|
+
logIndex: log.logIndex ? Number(log.logIndex) : null,
|
|
149
|
+
transactionIndex: log.transactionIndex
|
|
150
|
+
? Number(log.transactionIndex)
|
|
151
|
+
: null,
|
|
152
|
+
} as Log<pending>
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export declare namespace fromRpc {
|
|
156
|
+
type Options<pending extends boolean = false> = {
|
|
157
|
+
pending?: pending | boolean | undefined
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
type ErrorType = Errors.GlobalErrorType
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
fromRpc.parseError = (error: unknown) =>
|
|
164
|
+
/* v8 ignore next */
|
|
165
|
+
error as fromRpc.ErrorType
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Converts a {@link ox#Log.Log} to a {@link ox#Log.Rpc}.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts twoslash
|
|
172
|
+
* import { Log } from 'ox'
|
|
173
|
+
*
|
|
174
|
+
* const log = Log.toRpc({
|
|
175
|
+
* address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
176
|
+
* blockHash:
|
|
177
|
+
* '0xabe69134e80a12f6a93d0aa18215b5b86c2fb338bae911790ca374a8716e01a4',
|
|
178
|
+
* blockNumber: 19760236n,
|
|
179
|
+
* data: '0x',
|
|
180
|
+
* logIndex: 271,
|
|
181
|
+
* removed: false,
|
|
182
|
+
* topics: [
|
|
183
|
+
* '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
|
|
184
|
+
* '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
185
|
+
* '0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1',
|
|
186
|
+
* '0x000000000000000000000000000000000000000000000000000000000000025b',
|
|
187
|
+
* ],
|
|
188
|
+
* transactionHash:
|
|
189
|
+
* '0xcfa52db0bc2cb5bdcb2c5bd8816df7a2f018a0e3964ab1ef4d794cf327966e93',
|
|
190
|
+
* transactionIndex: 145,
|
|
191
|
+
* })
|
|
192
|
+
* // @log: {
|
|
193
|
+
* // @log: address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
|
|
194
|
+
* // @log: blockHash: '0xabe69134e80a12f6a93d0aa18215b5b86c2fb338bae911790ca374a8716e01a4',
|
|
195
|
+
* // @log: blockNumber: '0x012d846c',
|
|
196
|
+
* // @log: data: '0x',
|
|
197
|
+
* // @log: logIndex: '0x010f',
|
|
198
|
+
* // @log: removed: false,
|
|
199
|
+
* // @log: topics: [
|
|
200
|
+
* // @log: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
|
|
201
|
+
* // @log: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
202
|
+
* // @log: '0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1',
|
|
203
|
+
* // @log: '0x000000000000000000000000000000000000000000000000000000000000025b',
|
|
204
|
+
* // @log: ],
|
|
205
|
+
* // @log: transactionHash:
|
|
206
|
+
* // @log: '0xcfa52db0bc2cb5bdcb2c5bd8816df7a2f018a0e3964ab1ef4d794cf327966e93',
|
|
207
|
+
* // @log: transactionIndex: '0x91',
|
|
208
|
+
* // @log: }
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* @param log - The log to convert.
|
|
212
|
+
* @returns An RPC log.
|
|
213
|
+
*/
|
|
214
|
+
export function toRpc<
|
|
215
|
+
const log extends Log<boolean>,
|
|
216
|
+
pending extends boolean = false,
|
|
217
|
+
>(log: log, _options: toRpc.Options<pending> = {}): Rpc<pending> {
|
|
218
|
+
return {
|
|
219
|
+
address: log.address,
|
|
220
|
+
blockHash: log.blockHash,
|
|
221
|
+
blockNumber:
|
|
222
|
+
typeof log.blockNumber === 'bigint'
|
|
223
|
+
? Hex.fromNumber(log.blockNumber)
|
|
224
|
+
: null,
|
|
225
|
+
data: log.data,
|
|
226
|
+
logIndex:
|
|
227
|
+
typeof log.logIndex === 'number' ? Hex.fromNumber(log.logIndex) : null,
|
|
228
|
+
topics: log.topics,
|
|
229
|
+
transactionHash: log.transactionHash,
|
|
230
|
+
transactionIndex:
|
|
231
|
+
typeof log.transactionIndex === 'number'
|
|
232
|
+
? Hex.fromNumber(log.transactionIndex)
|
|
233
|
+
: null,
|
|
234
|
+
removed: log.removed,
|
|
235
|
+
} as Rpc as never
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export declare namespace toRpc {
|
|
239
|
+
type Options<pending extends boolean = false> = {
|
|
240
|
+
pending?: pending | boolean | undefined
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
type ErrorType = Errors.GlobalErrorType
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
toRpc.parseError = (error: unknown) =>
|
|
247
|
+
/* v8 ignore next */
|
|
248
|
+
error as toRpc.ErrorType
|
package/Mnemonic.ts
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateMnemonic,
|
|
3
|
+
mnemonicToSeedSync,
|
|
4
|
+
validateMnemonic,
|
|
5
|
+
} from '@scure/bip39'
|
|
6
|
+
import * as Bytes from './Bytes.js'
|
|
7
|
+
import type * as Errors from './Errors.js'
|
|
8
|
+
import * as HdKey from './HdKey.js'
|
|
9
|
+
import type * as Hex from './Hex.js'
|
|
10
|
+
|
|
11
|
+
export { path } from './HdKey.js'
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
english,
|
|
15
|
+
czech,
|
|
16
|
+
french,
|
|
17
|
+
italian,
|
|
18
|
+
japanese,
|
|
19
|
+
korean,
|
|
20
|
+
portuguese,
|
|
21
|
+
simplifiedChinese,
|
|
22
|
+
spanish,
|
|
23
|
+
traditionalChinese,
|
|
24
|
+
} from './internal/mnemonic/wordlists.js'
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Generates a random mnemonic.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts twoslash
|
|
31
|
+
* import { Mnemonic } from 'ox'
|
|
32
|
+
*
|
|
33
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
34
|
+
* // @log: 'buyer zoo end danger ice capable shrug naive twist relief mass bonus'
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @param wordlist - The wordlist to use.
|
|
38
|
+
* @param options - Generation options.
|
|
39
|
+
* @returns The mnemonic.
|
|
40
|
+
*/
|
|
41
|
+
export function random(
|
|
42
|
+
wordlist: string[],
|
|
43
|
+
options: random.Options = {},
|
|
44
|
+
): string {
|
|
45
|
+
const { strength = 128 } = options
|
|
46
|
+
return generateMnemonic(wordlist, strength)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export declare namespace random {
|
|
50
|
+
type Options = {
|
|
51
|
+
/**
|
|
52
|
+
* The strength of the mnemonic to generate, in bits.
|
|
53
|
+
* @default 128
|
|
54
|
+
*/
|
|
55
|
+
strength?: number | undefined
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
type ErrorType = Errors.GlobalErrorType
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
random.parseError = (error: unknown) =>
|
|
62
|
+
/* v8 ignore next */
|
|
63
|
+
error as random.ErrorType
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Converts a mnemonic to a HD Key.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts twoslash
|
|
70
|
+
* import { Mnemonic } from 'ox'
|
|
71
|
+
*
|
|
72
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
73
|
+
* const hdKey = Mnemonic.toHdKey(mnemonic)
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ### Path Derivation
|
|
78
|
+
*
|
|
79
|
+
* You can derive a HD Key at a specific path using `derive`:
|
|
80
|
+
*
|
|
81
|
+
* ```ts twoslash
|
|
82
|
+
* import { Mnemonic } from 'ox'
|
|
83
|
+
*
|
|
84
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
85
|
+
* const hdKey = Mnemonic.toHdKey(mnemonic).derive(Mnemonic.path({ index: 1 }))
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @param mnemonic - The mnemonic to convert.
|
|
89
|
+
* @param options - Conversion options.
|
|
90
|
+
* @returns The HD Key.
|
|
91
|
+
*/
|
|
92
|
+
export function toHdKey(
|
|
93
|
+
mnemonic: string,
|
|
94
|
+
options: toHdKey.Options = {},
|
|
95
|
+
): HdKey.HdKey {
|
|
96
|
+
const { passphrase } = options
|
|
97
|
+
const seed = toSeed(mnemonic, { passphrase })
|
|
98
|
+
return HdKey.fromSeed(seed)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export declare namespace toHdKey {
|
|
102
|
+
type Options = {
|
|
103
|
+
/** An optional passphrase for additional protection to the seed. */
|
|
104
|
+
passphrase?: string | undefined
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
type ErrorType = Errors.GlobalErrorType
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
toHdKey.parseError = (error: unknown) =>
|
|
111
|
+
/* v8 ignore next */
|
|
112
|
+
error as toHdKey.ErrorType
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Converts a mnemonic to a private key.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts twoslash
|
|
119
|
+
* import { Mnemonic } from 'ox'
|
|
120
|
+
*
|
|
121
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
122
|
+
* const privateKey = Mnemonic.toPrivateKey(mnemonic)
|
|
123
|
+
* // @log: '0x...'
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ### Paths
|
|
128
|
+
*
|
|
129
|
+
* You can derive a private key at a specific path using the `path` option.
|
|
130
|
+
*
|
|
131
|
+
* ```ts twoslash
|
|
132
|
+
* import { Mnemonic } from 'ox'
|
|
133
|
+
*
|
|
134
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
135
|
+
* const privateKey = Mnemonic.toPrivateKey(mnemonic, {
|
|
136
|
+
* path: Mnemonic.path({ index: 1 }) // 'm/44'/60'/0'/0/1' // [!code focus]
|
|
137
|
+
* })
|
|
138
|
+
* // @log: '0x...'
|
|
139
|
+
* ```
|
|
140
|
+
*
|
|
141
|
+
* @param mnemonic - The mnemonic to convert.
|
|
142
|
+
* @param options - Conversion options.
|
|
143
|
+
* @returns The private key.
|
|
144
|
+
*/
|
|
145
|
+
export function toPrivateKey<as extends 'Bytes' | 'Hex' = 'Bytes'>(
|
|
146
|
+
mnemonic: string,
|
|
147
|
+
options: toPrivateKey.Options<as> = {},
|
|
148
|
+
): toPrivateKey.ReturnType<as> {
|
|
149
|
+
const { path = HdKey.path(), passphrase } = options
|
|
150
|
+
const hdKey = toHdKey(mnemonic, { passphrase }).derive(path)
|
|
151
|
+
if (options.as === 'Bytes') return Bytes.from(hdKey.privateKey) as never
|
|
152
|
+
return hdKey.privateKey as never
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export declare namespace toPrivateKey {
|
|
156
|
+
type Options<as extends 'Bytes' | 'Hex' = 'Bytes'> = {
|
|
157
|
+
/** The output format. @default 'Bytes' */
|
|
158
|
+
as?: as | 'Bytes' | 'Hex' | undefined
|
|
159
|
+
/** An optional path to derive the private key from. @default `m/44'/60'/0'/0/0` */
|
|
160
|
+
path?: string | undefined
|
|
161
|
+
/** An optional passphrase for additional protection to the seed. */
|
|
162
|
+
passphrase?: string | undefined
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
type ReturnType<as extends 'Bytes' | 'Hex' = 'Bytes'> =
|
|
166
|
+
| (as extends 'Bytes' ? Bytes.Bytes : never)
|
|
167
|
+
| (as extends 'Hex' ? Hex.Hex : never)
|
|
168
|
+
|
|
169
|
+
type ErrorType = Errors.GlobalErrorType
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
toPrivateKey.parseError = (error: unknown) =>
|
|
173
|
+
/* v8 ignore next */
|
|
174
|
+
error as toPrivateKey.ErrorType
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Converts a mnemonic to a master seed.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts twoslash
|
|
181
|
+
* import { Mnemonic } from 'ox'
|
|
182
|
+
*
|
|
183
|
+
* const mnemonic = Mnemonic.random(Mnemonic.english)
|
|
184
|
+
* const seed = Mnemonic.toSeed(mnemonic)
|
|
185
|
+
* // @log: Uint8Array [...64 bytes]
|
|
186
|
+
* ```
|
|
187
|
+
*
|
|
188
|
+
* @param mnemonic - The mnemonic to convert.
|
|
189
|
+
* @param options - Conversion options.
|
|
190
|
+
* @returns The master seed.
|
|
191
|
+
*/
|
|
192
|
+
export function toSeed<as extends 'Bytes' | 'Hex' = 'Bytes'>(
|
|
193
|
+
mnemonic: string,
|
|
194
|
+
options: toSeed.Options<as> = {},
|
|
195
|
+
): toSeed.ReturnType<as> {
|
|
196
|
+
const { passphrase } = options
|
|
197
|
+
const seed = mnemonicToSeedSync(mnemonic, passphrase)
|
|
198
|
+
if (options.as === 'Hex') return Bytes.toHex(seed) as never
|
|
199
|
+
return seed as never
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export declare namespace toSeed {
|
|
203
|
+
type Options<as extends 'Bytes' | 'Hex' = 'Bytes'> = {
|
|
204
|
+
/** The output format. @default 'Bytes' */
|
|
205
|
+
as?: as | 'Bytes' | 'Hex' | undefined
|
|
206
|
+
/** An optional passphrase for additional protection to the seed. */
|
|
207
|
+
passphrase?: string | undefined
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
type ReturnType<as extends 'Bytes' | 'Hex' = 'Bytes'> =
|
|
211
|
+
| (as extends 'Bytes' ? Bytes.Bytes : never)
|
|
212
|
+
| (as extends 'Hex' ? Hex.Hex : never)
|
|
213
|
+
|
|
214
|
+
type ErrorType = Errors.GlobalErrorType
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
toSeed.parseError = (error: unknown) =>
|
|
218
|
+
/* v8 ignore next */
|
|
219
|
+
error as toSeed.ErrorType
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Checks if a mnemonic is valid, given a wordlist.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts twoslash
|
|
226
|
+
* import { Mnemonic } from 'ox'
|
|
227
|
+
*
|
|
228
|
+
* const mnemonic = Mnemonic.validate(
|
|
229
|
+
* 'buyer zoo end danger ice capable shrug naive twist relief mass bonus',
|
|
230
|
+
* Mnemonic.english
|
|
231
|
+
* )
|
|
232
|
+
* // @log: true
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* @param mnemonic - The mnemonic to validate.
|
|
236
|
+
* @param wordlist - The wordlist to use.
|
|
237
|
+
* @returns Whether the mnemonic is valid.
|
|
238
|
+
*/
|
|
239
|
+
export function validate(mnemonic: string, wordlist: string[]): boolean {
|
|
240
|
+
return validateMnemonic(mnemonic, wordlist)
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export declare namespace validate {
|
|
244
|
+
type ErrorType = Errors.GlobalErrorType
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
validate.parseError = (error: unknown) =>
|
|
248
|
+
/* v8 ignore next */
|
|
249
|
+
error as validate.ErrorType
|