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,190 @@
|
|
|
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 * as Transaction from './Transaction.js';
|
|
5
|
+
import * as Withdrawal from './Withdrawal.js';
|
|
6
|
+
import type { Compute } from './internal/types.js';
|
|
7
|
+
/** A Block as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml). */
|
|
8
|
+
export type Block<includeTransactions extends boolean = false, blockTag extends Tag = 'latest', bigintType = bigint, numberType = number, transaction = Transaction.Transaction<blockTag extends 'pending' ? true : false, bigintType, numberType>> = Compute<{
|
|
9
|
+
/** Base fee per gas */
|
|
10
|
+
baseFeePerGas?: bigintType | undefined;
|
|
11
|
+
/** Total used blob gas by all transactions in this block */
|
|
12
|
+
blobGasUsed?: bigintType | undefined;
|
|
13
|
+
/** Difficulty for this block */
|
|
14
|
+
difficulty?: bigintType | undefined;
|
|
15
|
+
/** Excess blob gas */
|
|
16
|
+
excessBlobGas?: bigintType | undefined;
|
|
17
|
+
/** "Extra data" field of this block */
|
|
18
|
+
extraData?: Hex.Hex | undefined;
|
|
19
|
+
/** Maximum gas allowed in this block */
|
|
20
|
+
gasLimit: bigintType;
|
|
21
|
+
/** Total used gas by all transactions in this block */
|
|
22
|
+
gasUsed: bigintType;
|
|
23
|
+
/** Block hash or `null` if pending */
|
|
24
|
+
hash: blockTag extends 'pending' ? null : Hex.Hex;
|
|
25
|
+
/** Logs bloom filter or `null` if pending */
|
|
26
|
+
logsBloom: blockTag extends 'pending' ? null : Hex.Hex;
|
|
27
|
+
/** Address that received this block’s mining rewards */
|
|
28
|
+
miner: Address.Address;
|
|
29
|
+
/** Unique identifier for the block. */
|
|
30
|
+
mixHash: Hex.Hex;
|
|
31
|
+
/** Proof-of-work hash or `null` if pending */
|
|
32
|
+
nonce: blockTag extends 'pending' ? null : Hex.Hex;
|
|
33
|
+
/** Block number or `null` if pending */
|
|
34
|
+
number: blockTag extends 'pending' ? null : bigintType;
|
|
35
|
+
parentBeaconBlockRoot?: Hex.Hex | undefined;
|
|
36
|
+
/** Parent block hash */
|
|
37
|
+
parentHash: Hex.Hex;
|
|
38
|
+
/** Root of the this block’s receipts trie */
|
|
39
|
+
receiptsRoot: Hex.Hex;
|
|
40
|
+
sealFields?: readonly Hex.Hex[] | undefined;
|
|
41
|
+
/** SHA3 of the uncles data in this block */
|
|
42
|
+
sha3Uncles: Hex.Hex;
|
|
43
|
+
/** Size of this block in bytes */
|
|
44
|
+
size: bigintType;
|
|
45
|
+
/** Root of this block’s final state trie */
|
|
46
|
+
stateRoot: Hex.Hex;
|
|
47
|
+
/** Unix timestamp of when this block was collated */
|
|
48
|
+
timestamp: bigintType;
|
|
49
|
+
/** Total difficulty of the chain until this block */
|
|
50
|
+
totalDifficulty?: bigintType | undefined;
|
|
51
|
+
/** List of transaction objects or hashes */
|
|
52
|
+
transactions: includeTransactions extends true ? readonly transaction[] : readonly Hex.Hex[];
|
|
53
|
+
/** Root of this block’s transaction trie */
|
|
54
|
+
transactionsRoot: Hex.Hex;
|
|
55
|
+
/** List of uncle hashes */
|
|
56
|
+
uncles: readonly Hex.Hex[];
|
|
57
|
+
/** List of withdrawal objects */
|
|
58
|
+
withdrawals?: readonly Withdrawal.Withdrawal<bigintType, numberType>[] | undefined;
|
|
59
|
+
/** Root of the this block’s withdrawals trie */
|
|
60
|
+
withdrawalsRoot?: Hex.Hex | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
/** A Block hash. */
|
|
63
|
+
export type Hash = Hex.Hex;
|
|
64
|
+
/** A Block number. */
|
|
65
|
+
export type Number<bigintType = bigint> = bigintType;
|
|
66
|
+
/** An RPC Block as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml). */
|
|
67
|
+
export type Rpc<includeTransactions extends boolean = boolean, blockTag extends Tag = 'latest', transaction = Transaction.Rpc<blockTag extends 'pending' ? true : false>> = Block<includeTransactions, blockTag, Hex.Hex, Hex.Hex, transaction>;
|
|
68
|
+
/**
|
|
69
|
+
* A Block Tag as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml).
|
|
70
|
+
*
|
|
71
|
+
* - `earliest`: The lowest numbered block the client has available;
|
|
72
|
+
* - `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination;
|
|
73
|
+
* - `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions;
|
|
74
|
+
* - `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions;
|
|
75
|
+
* - `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool.
|
|
76
|
+
*/
|
|
77
|
+
export type Tag = 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized';
|
|
78
|
+
/**
|
|
79
|
+
* Converts a {@link ox#Block.Block} to an {@link ox#Block.Rpc}.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts twoslash
|
|
83
|
+
* // @noErrors
|
|
84
|
+
* import { Block } from 'ox'
|
|
85
|
+
*
|
|
86
|
+
* const block = Block.toRpc({
|
|
87
|
+
* // ...
|
|
88
|
+
* hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
|
|
89
|
+
* number: 19868020n,
|
|
90
|
+
* size: 520n
|
|
91
|
+
* timestamp: 1662222222n,
|
|
92
|
+
* // ...
|
|
93
|
+
* })
|
|
94
|
+
* // @log: {
|
|
95
|
+
* // @log: // ...
|
|
96
|
+
* // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
|
|
97
|
+
* // @log: number: '0xec6fc6',
|
|
98
|
+
* // @log: size: '0x208',
|
|
99
|
+
* // @log: timestamp: '0x63198f6f',
|
|
100
|
+
* // @log: // ...
|
|
101
|
+
* // @log: }
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* @param block - The Block to convert.
|
|
105
|
+
* @returns An RPC Block.
|
|
106
|
+
*/
|
|
107
|
+
export declare function toRpc<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'>(block: Block<includeTransactions, blockTag>, _options?: toRpc.Options<includeTransactions, blockTag>): Rpc<boolean, blockTag>;
|
|
108
|
+
export declare namespace toRpc {
|
|
109
|
+
var parseError: (error: unknown) => toRpc.ErrorType;
|
|
110
|
+
}
|
|
111
|
+
export declare namespace toRpc {
|
|
112
|
+
type Options<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'> = {
|
|
113
|
+
blockTag?: blockTag | Tag | undefined;
|
|
114
|
+
includeTransactions?: includeTransactions | boolean | undefined;
|
|
115
|
+
};
|
|
116
|
+
type ErrorType = Errors.GlobalErrorType;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Converts a {@link ox#Block.Rpc} to an {@link ox#Block.Block}.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts twoslash
|
|
123
|
+
* // @noErrors
|
|
124
|
+
* import { Block } from 'ox'
|
|
125
|
+
*
|
|
126
|
+
* const block = Block.fromRpc({
|
|
127
|
+
* // ...
|
|
128
|
+
* hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
|
|
129
|
+
* number: '0xec6fc6',
|
|
130
|
+
* size: '0x208',
|
|
131
|
+
* timestamp: '0x63198f6f',
|
|
132
|
+
* // ...
|
|
133
|
+
* })
|
|
134
|
+
* // @log: {
|
|
135
|
+
* // @log: // ...
|
|
136
|
+
* // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
|
|
137
|
+
* // @log: number: 19868020n,
|
|
138
|
+
* // @log: size: 520n,
|
|
139
|
+
* // @log: timestamp: 1662222222n,
|
|
140
|
+
* // @log: // ...
|
|
141
|
+
* // @log: }
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ### End-to-end
|
|
146
|
+
*
|
|
147
|
+
* Below is an end-to-end example of using `Block.fromRpc` to fetch a block from the network and convert it to an {@link ox#Block.Block}.
|
|
148
|
+
*
|
|
149
|
+
* ```ts twoslash
|
|
150
|
+
* import 'ox/window'
|
|
151
|
+
* import { Block } from 'ox'
|
|
152
|
+
*
|
|
153
|
+
* const block = await window.ethereum!
|
|
154
|
+
* .request({
|
|
155
|
+
* method: 'eth_getBlockByNumber',
|
|
156
|
+
* params: ['latest', false],
|
|
157
|
+
* })
|
|
158
|
+
* .then(Block.fromRpc) // [!code hl]
|
|
159
|
+
* // @log: {
|
|
160
|
+
* // @log: // ...
|
|
161
|
+
* // @log: hash: '0xebc3644804e4040c0a74c5a5bbbc6b46a71a5d4010fe0c92ebb2fdf4a43ea5dd',
|
|
162
|
+
* // @log: number: 19868020n,
|
|
163
|
+
* // @log: size: 520n,
|
|
164
|
+
* // @log: timestamp: 1662222222n,
|
|
165
|
+
* // @log: // ...
|
|
166
|
+
* // @log: }
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* :::note
|
|
170
|
+
*
|
|
171
|
+
* For simplicity, the above example uses `window.ethereum.request`, but you can use any
|
|
172
|
+
* type of JSON-RPC interface.
|
|
173
|
+
*
|
|
174
|
+
* :::
|
|
175
|
+
*
|
|
176
|
+
* @param block - The RPC block to convert.
|
|
177
|
+
* @returns An instantiated {@link ox#Block.Block}.
|
|
178
|
+
*/
|
|
179
|
+
export declare function fromRpc<const block extends Rpc | null, includeTransactions extends boolean = false, blockTag extends Tag = 'latest'>(block: block | Rpc | null, _options?: fromRpc.Options<includeTransactions, blockTag>): block extends Rpc ? Block<includeTransactions, blockTag> : null;
|
|
180
|
+
export declare namespace fromRpc {
|
|
181
|
+
var parseError: (error: unknown) => fromRpc.ErrorType;
|
|
182
|
+
}
|
|
183
|
+
export declare namespace fromRpc {
|
|
184
|
+
type Options<includeTransactions extends boolean = false, blockTag extends Tag = 'latest'> = {
|
|
185
|
+
blockTag?: blockTag | Tag | undefined;
|
|
186
|
+
includeTransactions?: includeTransactions | boolean | undefined;
|
|
187
|
+
};
|
|
188
|
+
type ErrorType = Errors.GlobalErrorType;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=Block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../Block.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as Bytes from './Bytes.js';
|
|
2
|
+
import type * as Errors from './Errors.js';
|
|
3
|
+
import * as Hash from './Hash.js';
|
|
4
|
+
import * as Hex from './Hex.js';
|
|
5
|
+
/**
|
|
6
|
+
* Checks if an input is matched in the bloom filter.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts twoslash
|
|
10
|
+
* import { Bloom } from 'ox'
|
|
11
|
+
*
|
|
12
|
+
* Bloom.contains(
|
|
13
|
+
* '0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000008000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
|
|
14
|
+
* '0xef2d6d194084c2de36e0dabfce45d046b37d1106',
|
|
15
|
+
* )
|
|
16
|
+
* // @log: true
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param bloom - Bloom filter value.
|
|
20
|
+
* @param input - Input to check.
|
|
21
|
+
* @returns Whether the input is matched in the bloom filter.
|
|
22
|
+
*/
|
|
23
|
+
export declare function contains(bloom: Hex.Hex, input: Hex.Hex | Bytes.Bytes): boolean;
|
|
24
|
+
export declare namespace contains {
|
|
25
|
+
var parseError: (error: unknown) => contains.ErrorType;
|
|
26
|
+
}
|
|
27
|
+
export declare namespace contains {
|
|
28
|
+
type ErrorType = Bytes.fromHex.ErrorType | Hash.keccak256.ErrorType | Errors.GlobalErrorType;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Checks if a string is a valid bloom filter value.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts twoslash
|
|
35
|
+
* import { Bloom } from 'ox'
|
|
36
|
+
*
|
|
37
|
+
* Bloom.validate('0x')
|
|
38
|
+
* // @log: false
|
|
39
|
+
*
|
|
40
|
+
* Bloom.validate('0x00000000000000000000008000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000044000200000000000000000002000000000000000000000040000000000000000000000000000020000000000000000000800000000000800000000000800000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808002000000000400000000000000000000000060000000000000000000000000000000000000000000000100000000000002000000')
|
|
41
|
+
* // @log: true
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @param value - Value to check.
|
|
45
|
+
* @returns Whether the value is a valid bloom filter.
|
|
46
|
+
*/
|
|
47
|
+
export declare function validate(value: string): value is Hex.Hex;
|
|
48
|
+
export declare namespace validate {
|
|
49
|
+
var parseError: (error: unknown) => validate.ErrorType;
|
|
50
|
+
}
|
|
51
|
+
export declare namespace validate {
|
|
52
|
+
type ErrorType = Hex.validate.ErrorType | Hex.size.ErrorType | Errors.GlobalErrorType;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=Bloom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bloom.d.ts","sourceRoot":"","sources":["../Bloom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,GAAG,CAAC,GAAG,EACd,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAC3B,OAAO,CAWT;yBAde,QAAQ;4BAuBM,OAAO,KAE1B,QAAQ,CAAC,SAAS;;AAT7B,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GACV,KAAK,CAAC,OAAO,CAAC,SAAS,GACvB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,CAExD;yBAFe,QAAQ;4BAYM,OAAO,KAAc,QAAQ,CAAC,SAAS;;AARrE,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAK,SAAS,GACV,GAAG,CAAC,QAAQ,CAAC,SAAS,GACtB,GAAG,CAAC,IAAI,CAAC,SAAS,GAClB,MAAM,CAAC,eAAe,CAAA;CAC3B"}
|
package/_types/Bls.d.ts
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import type * as BlsPoint from './BlsPoint.js';
|
|
2
|
+
import * as Bytes from './Bytes.js';
|
|
3
|
+
import type * as Errors from './Errors.js';
|
|
4
|
+
import * as Hex from './Hex.js';
|
|
5
|
+
import type { OneOf } from './internal/types.js';
|
|
6
|
+
export type Size = 'short-key:long-sig' | 'long-key:short-sig';
|
|
7
|
+
/** Re-export of noble/curves BLS12-381 utilities. */
|
|
8
|
+
export declare const noble: import("@noble/curves/abstract/bls.js").CurveFn;
|
|
9
|
+
/**
|
|
10
|
+
* Aggregates a set of BLS points that are either on the G1 or G2 curves (ie. public keys or signatures).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ### Aggregating Signatures
|
|
14
|
+
*
|
|
15
|
+
* ```ts twoslash
|
|
16
|
+
* import { Bls, Hex } from 'ox'
|
|
17
|
+
*
|
|
18
|
+
* const payload = Hex.random(32)
|
|
19
|
+
*
|
|
20
|
+
* const signatures = [
|
|
21
|
+
* Bls.sign({ payload, privateKey: '0x...' }),
|
|
22
|
+
* Bls.sign({ payload, privateKey: '0x...' }),
|
|
23
|
+
* ]
|
|
24
|
+
* const signature = Bls.aggregate(signatures)
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ### Aggregating Public Keys
|
|
29
|
+
*
|
|
30
|
+
* ```ts twoslash
|
|
31
|
+
* import { Bls } from 'ox'
|
|
32
|
+
*
|
|
33
|
+
* const publicKeys = [
|
|
34
|
+
* Bls.getPublicKey({ privateKey: '0x...' }),
|
|
35
|
+
* Bls.getPublicKey({ privateKey: '0x...' }),
|
|
36
|
+
* ]
|
|
37
|
+
* const publicKey = Bls.aggregate(publicKeys)
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param points - The points to aggregate.
|
|
41
|
+
* @returns The aggregated point.
|
|
42
|
+
*/
|
|
43
|
+
export declare function aggregate<const points extends readonly BlsPoint.BlsPoint[]>(points: points): points extends readonly BlsPoint.G1[] ? BlsPoint.G1 : BlsPoint.G2;
|
|
44
|
+
export declare namespace aggregate {
|
|
45
|
+
var parseError: (error: unknown) => aggregate.ErrorType;
|
|
46
|
+
}
|
|
47
|
+
export declare namespace aggregate {
|
|
48
|
+
type ErrorType = Errors.GlobalErrorType;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Computes the BLS12-381 public key from a provided private key.
|
|
52
|
+
*
|
|
53
|
+
* Public Keys can be derived as a point on one of the BLS12-381 groups:
|
|
54
|
+
*
|
|
55
|
+
* - G1 Point (Default):
|
|
56
|
+
* - short (48 bytes)
|
|
57
|
+
* - computes longer G2 Signatures (96 bytes)
|
|
58
|
+
* - G2 Point:
|
|
59
|
+
* - long (96 bytes)
|
|
60
|
+
* - computes short G1 Signatures (48 bytes)
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ### Short G1 Public Keys (Default)
|
|
64
|
+
*
|
|
65
|
+
* ```ts twoslash
|
|
66
|
+
* import { Bls } from 'ox'
|
|
67
|
+
*
|
|
68
|
+
* const publicKey = Bls.getPublicKey({ privateKey: '0x...' })
|
|
69
|
+
* // ^?
|
|
70
|
+
*
|
|
71
|
+
*
|
|
72
|
+
*
|
|
73
|
+
*
|
|
74
|
+
*
|
|
75
|
+
*
|
|
76
|
+
*
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ### Long G2 Public Keys
|
|
81
|
+
*
|
|
82
|
+
* A G2 Public Key can be derived as a G2 point (96 bytes) using `size: 'long-key:short-sig'`.
|
|
83
|
+
*
|
|
84
|
+
* This will allow you to compute G1 Signatures (48 bytes) with {@link ox#Bls.(sign:function)}.
|
|
85
|
+
*
|
|
86
|
+
* ```ts twoslash
|
|
87
|
+
* import { Bls } from 'ox'
|
|
88
|
+
*
|
|
89
|
+
* const publicKey = Bls.getPublicKey({
|
|
90
|
+
* privateKey: '0x...',
|
|
91
|
+
* size: 'long-key:short-sig',
|
|
92
|
+
* })
|
|
93
|
+
*
|
|
94
|
+
* publicKey
|
|
95
|
+
* // ^?
|
|
96
|
+
*
|
|
97
|
+
*
|
|
98
|
+
*
|
|
99
|
+
*
|
|
100
|
+
*
|
|
101
|
+
*
|
|
102
|
+
*
|
|
103
|
+
*
|
|
104
|
+
*
|
|
105
|
+
*
|
|
106
|
+
*
|
|
107
|
+
*
|
|
108
|
+
*
|
|
109
|
+
*
|
|
110
|
+
*
|
|
111
|
+
*
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* ### Serializing
|
|
115
|
+
*
|
|
116
|
+
* Public Keys can be serialized to hex or bytes using {@link ox#BlsPoint.(toHex:function)} or {@link ox#BlsPoint.(toBytes:function)}:
|
|
117
|
+
*
|
|
118
|
+
* ```ts twoslash
|
|
119
|
+
* import { Bls, BlsPoint } from 'ox'
|
|
120
|
+
*
|
|
121
|
+
* const publicKey = Bls.getPublicKey({ privateKey: '0x...' })
|
|
122
|
+
*
|
|
123
|
+
* const publicKeyHex = BlsPoint.toHex(publicKey)
|
|
124
|
+
* // ^?
|
|
125
|
+
*
|
|
126
|
+
*
|
|
127
|
+
* const publicKeyBytes = BlsPoint.toBytes(publicKey)
|
|
128
|
+
* // ^?
|
|
129
|
+
*
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* They can also be deserialized from hex or bytes using {@link ox#BlsPoint.(fromHex:function)} or {@link ox#BlsPoint.(fromBytes:function)}:
|
|
133
|
+
*
|
|
134
|
+
* ```ts twoslash
|
|
135
|
+
* import { Bls, BlsPoint } from 'ox'
|
|
136
|
+
*
|
|
137
|
+
* const publicKeyHex = '0x...'
|
|
138
|
+
*
|
|
139
|
+
* const publicKey = BlsPoint.fromHex(publicKeyHex, 'G1')
|
|
140
|
+
* // ^?
|
|
141
|
+
*
|
|
142
|
+
*
|
|
143
|
+
*
|
|
144
|
+
*
|
|
145
|
+
*
|
|
146
|
+
*
|
|
147
|
+
*
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* @param options - The options to compute the public key.
|
|
151
|
+
* @returns The computed public key.
|
|
152
|
+
*/
|
|
153
|
+
export declare function getPublicKey<size extends Size = 'short-key:long-sig'>(options: getPublicKey.Options<size>): size extends 'short-key:long-sig' ? BlsPoint.G1 : BlsPoint.G2;
|
|
154
|
+
export declare namespace getPublicKey {
|
|
155
|
+
type Options<size extends Size = 'short-key:long-sig'> = {
|
|
156
|
+
/**
|
|
157
|
+
* Private key to compute the public key from.
|
|
158
|
+
*/
|
|
159
|
+
privateKey: Hex.Hex | Bytes.Bytes;
|
|
160
|
+
/**
|
|
161
|
+
* Size of the public key to compute.
|
|
162
|
+
*
|
|
163
|
+
* - `'short-key:long-sig'`: 48 bytes; computes long signatures (96 bytes)
|
|
164
|
+
* - `'long-key:short-sig'`: 96 bytes; computes short signatures (48 bytes)
|
|
165
|
+
*
|
|
166
|
+
* @default 'short-key:long-sig'
|
|
167
|
+
*/
|
|
168
|
+
size?: size | Size | undefined;
|
|
169
|
+
};
|
|
170
|
+
type ErrorType = Hex.from.ErrorType | Errors.GlobalErrorType;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Generates a random BLS12-381 private key.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts twoslash
|
|
177
|
+
* import { Bls } from 'ox'
|
|
178
|
+
*
|
|
179
|
+
* const privateKey = Bls.randomPrivateKey()
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @param options - The options to generate the private key.
|
|
183
|
+
* @returns The generated private key.
|
|
184
|
+
*/
|
|
185
|
+
export declare function randomPrivateKey<as extends 'Hex' | 'Bytes' = 'Hex'>(options?: randomPrivateKey.Options<as>): randomPrivateKey.ReturnType<as>;
|
|
186
|
+
export declare namespace randomPrivateKey {
|
|
187
|
+
type Options<as extends 'Hex' | 'Bytes' = 'Hex'> = {
|
|
188
|
+
/**
|
|
189
|
+
* Format of the returned private key.
|
|
190
|
+
* @default 'Hex'
|
|
191
|
+
*/
|
|
192
|
+
as?: as | 'Hex' | 'Bytes' | undefined;
|
|
193
|
+
};
|
|
194
|
+
type ReturnType<as extends 'Hex' | 'Bytes'> = (as extends 'Bytes' ? Bytes.Bytes : never) | (as extends 'Hex' ? Hex.Hex : never);
|
|
195
|
+
type ErrorType = Hex.fromBytes.ErrorType | Errors.GlobalErrorType;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Signs the payload with the provided private key.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts twoslash
|
|
202
|
+
* import { Bls, Hex } from 'ox'
|
|
203
|
+
*
|
|
204
|
+
* const signature = Bls.sign({ // [!code focus]
|
|
205
|
+
* payload: Hex.random(32), // [!code focus]
|
|
206
|
+
* privateKey: '0x...' // [!code focus]
|
|
207
|
+
* }) // [!code focus]
|
|
208
|
+
* ```
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ### Serializing
|
|
212
|
+
*
|
|
213
|
+
* Signatures can be serialized to hex or bytes using {@link ox#BlsPoint.(toHex:function)} or {@link ox#BlsPoint.(toBytes:function)}:
|
|
214
|
+
*
|
|
215
|
+
* ```ts twoslash
|
|
216
|
+
* import { Bls, BlsPoint, Hex } from 'ox'
|
|
217
|
+
*
|
|
218
|
+
* const signature = Bls.sign({ payload: Hex.random(32), privateKey: '0x...' })
|
|
219
|
+
*
|
|
220
|
+
* const signatureHex = BlsPoint.toHex(signature)
|
|
221
|
+
* // ^?
|
|
222
|
+
*
|
|
223
|
+
*
|
|
224
|
+
*
|
|
225
|
+
* const signatureBytes = BlsPoint.toBytes(signature)
|
|
226
|
+
* // ^?
|
|
227
|
+
*
|
|
228
|
+
*
|
|
229
|
+
* ```
|
|
230
|
+
*
|
|
231
|
+
* They can also be deserialized from hex or bytes using {@link ox#BlsPoint.(fromHex:function)} or {@link ox#BlsPoint.(fromBytes:function)}:
|
|
232
|
+
*
|
|
233
|
+
* ```ts twoslash
|
|
234
|
+
* import { Bls, BlsPoint } from 'ox'
|
|
235
|
+
*
|
|
236
|
+
* const signatureHex = '0x...'
|
|
237
|
+
*
|
|
238
|
+
* const signature = BlsPoint.fromHex(signatureHex, 'G2')
|
|
239
|
+
* // ^?
|
|
240
|
+
*
|
|
241
|
+
*
|
|
242
|
+
*
|
|
243
|
+
*
|
|
244
|
+
*
|
|
245
|
+
*
|
|
246
|
+
*
|
|
247
|
+
*
|
|
248
|
+
*
|
|
249
|
+
*
|
|
250
|
+
*
|
|
251
|
+
*
|
|
252
|
+
*
|
|
253
|
+
* ```
|
|
254
|
+
*
|
|
255
|
+
* @param options - The signing options.
|
|
256
|
+
* @returns BLS Point.
|
|
257
|
+
*/
|
|
258
|
+
export declare function sign<size extends Size = 'short-key:long-sig'>(options: sign.Options<size>): size extends 'short-key:long-sig' ? BlsPoint.G2 : BlsPoint.G1;
|
|
259
|
+
export declare namespace sign {
|
|
260
|
+
var parseError: (error: unknown) => sign.ErrorType;
|
|
261
|
+
}
|
|
262
|
+
export declare namespace sign {
|
|
263
|
+
type Options<size extends Size = 'short-key:long-sig'> = {
|
|
264
|
+
/**
|
|
265
|
+
* Payload to sign.
|
|
266
|
+
*/
|
|
267
|
+
payload: Hex.Hex | Bytes.Bytes;
|
|
268
|
+
/**
|
|
269
|
+
* BLS private key.
|
|
270
|
+
*/
|
|
271
|
+
privateKey: Hex.Hex | Bytes.Bytes;
|
|
272
|
+
/**
|
|
273
|
+
* Ciphersuite to use for signing. Defaults to "Basic".
|
|
274
|
+
*
|
|
275
|
+
* @see https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05#section-4
|
|
276
|
+
* @default 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_'
|
|
277
|
+
*/
|
|
278
|
+
suite?: string | undefined;
|
|
279
|
+
/**
|
|
280
|
+
* Size of the signature to compute.
|
|
281
|
+
*
|
|
282
|
+
* - `'long-key:short-sig'`: 48 bytes
|
|
283
|
+
* - `'short-key:long-sig'`: 96 bytes
|
|
284
|
+
*
|
|
285
|
+
* @default 'short-key:long-sig'
|
|
286
|
+
*/
|
|
287
|
+
size?: size | Size | undefined;
|
|
288
|
+
};
|
|
289
|
+
type ErrorType = Bytes.from.ErrorType | Errors.GlobalErrorType;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Verifies a payload was signed by the provided public key(s).
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
*
|
|
296
|
+
* ```ts twoslash
|
|
297
|
+
* import { Bls, Hex } from 'ox'
|
|
298
|
+
*
|
|
299
|
+
* const payload = Hex.random(32)
|
|
300
|
+
* const privateKey = Bls.randomPrivateKey()
|
|
301
|
+
*
|
|
302
|
+
* const publicKey = Bls.getPublicKey({ privateKey })
|
|
303
|
+
* const signature = Bls.sign({ payload, privateKey })
|
|
304
|
+
*
|
|
305
|
+
* const verified = Bls.verify({ // [!code focus]
|
|
306
|
+
* payload, // [!code focus]
|
|
307
|
+
* publicKey, // [!code focus]
|
|
308
|
+
* signature, // [!code focus]
|
|
309
|
+
* }) // [!code focus]
|
|
310
|
+
* ```
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ### Verify Aggregated Signatures
|
|
314
|
+
*
|
|
315
|
+
* We can also pass a public key and signature that was aggregated with {@link ox#Bls.(aggregate:function)} to `Bls.verify`.
|
|
316
|
+
*
|
|
317
|
+
* ```ts twoslash
|
|
318
|
+
* import { Bls, Hex } from 'ox'
|
|
319
|
+
*
|
|
320
|
+
* const payload = Hex.random(32)
|
|
321
|
+
* const privateKeys = Array.from({ length: 100 }, () => Bls.randomPrivateKey())
|
|
322
|
+
*
|
|
323
|
+
* const publicKeys = privateKeys.map((privateKey) =>
|
|
324
|
+
* Bls.getPublicKey({ privateKey }),
|
|
325
|
+
* )
|
|
326
|
+
* const signatures = privateKeys.map((privateKey) =>
|
|
327
|
+
* Bls.sign({ payload, privateKey }),
|
|
328
|
+
* )
|
|
329
|
+
*
|
|
330
|
+
* const publicKey = Bls.aggregate(publicKeys) // [!code focus]
|
|
331
|
+
* const signature = Bls.aggregate(signatures) // [!code focus]
|
|
332
|
+
*
|
|
333
|
+
* const valid = Bls.verify({ payload, publicKey, signature }) // [!code focus]
|
|
334
|
+
* ```
|
|
335
|
+
*
|
|
336
|
+
* @param options - Verification options.
|
|
337
|
+
* @returns Whether the payload was signed by the provided public key.
|
|
338
|
+
*/
|
|
339
|
+
export declare function verify(options: verify.Options): boolean;
|
|
340
|
+
export declare namespace verify {
|
|
341
|
+
var parseError: (error: unknown) => verify.ErrorType;
|
|
342
|
+
}
|
|
343
|
+
export declare namespace verify {
|
|
344
|
+
type Options = {
|
|
345
|
+
/**
|
|
346
|
+
* Payload that was signed.
|
|
347
|
+
*/
|
|
348
|
+
payload: Hex.Hex | Bytes.Bytes;
|
|
349
|
+
/**
|
|
350
|
+
* Ciphersuite to use for verification. Defaults to "Basic".
|
|
351
|
+
*
|
|
352
|
+
* @see https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05#section-4
|
|
353
|
+
* @default 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_'
|
|
354
|
+
*/
|
|
355
|
+
suite?: string | undefined;
|
|
356
|
+
} & OneOf<{
|
|
357
|
+
publicKey: BlsPoint.G1;
|
|
358
|
+
signature: BlsPoint.G2;
|
|
359
|
+
} | {
|
|
360
|
+
publicKey: BlsPoint.G2;
|
|
361
|
+
signature: BlsPoint.G1;
|
|
362
|
+
}>;
|
|
363
|
+
type ErrorType = Errors.GlobalErrorType;
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=Bls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bls.d.ts","sourceRoot":"","sources":["../Bls.ts"],"names":[],"mappings":"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"}
|