@fhevm/sdk 0.0.1 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/_cjs/core/_version.js +6 -0
- package/_cjs/core/_version.js.map +1 -0
- package/_cjs/core/actions/base/canReadPublicValue.js +13 -0
- package/_cjs/core/actions/base/canReadPublicValue.js.map +1 -0
- package/_cjs/core/actions/base/canReadPublicValues.js +13 -0
- package/_cjs/core/actions/base/canReadPublicValues.js.map +1 -0
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +10 -0
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
- package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js +19 -0
- package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js +11 -0
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
- package/_cjs/core/actions/base/index.js +30 -0
- package/_cjs/core/actions/base/index.js.map +1 -0
- package/_cjs/core/actions/base/readCoprocessorSignersContext.js +10 -0
- package/_cjs/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
- package/_cjs/core/actions/base/readKmsSignersContext.js +10 -0
- package/_cjs/core/actions/base/readKmsSignersContext.js.map +1 -0
- package/_cjs/core/actions/base/readPublicValue.js +13 -0
- package/_cjs/core/actions/base/readPublicValue.js.map +1 -0
- package/_cjs/core/actions/base/readPublicValues.js +13 -0
- package/_cjs/core/actions/base/readPublicValues.js.map +1 -0
- package/_cjs/core/actions/base/readPublicValuesWithSignatures.js +21 -0
- package/_cjs/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
- package/_cjs/core/actions/base/signDecryptionPermit.js +11 -0
- package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -0
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +31 -0
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/actions/base/verifyInputProof.js +24 -0
- package/_cjs/core/actions/base/verifyInputProof.js.map +1 -0
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +17 -0
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +11 -0
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +17 -0
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_cjs/core/actions/chain/createKmsEip712Domain.js +11 -0
- package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +1 -0
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +16 -0
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
- package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js +8 -0
- package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_cjs/core/actions/chain/index.js +28 -0
- package/_cjs/core/actions/chain/index.js.map +1 -0
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +10 -0
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
- package/_cjs/core/actions/chain/parseTransportKeypair.js +9 -0
- package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -0
- package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js +8 -0
- package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
- package/_cjs/core/actions/chain/serializeTransportKeypair.js +8 -0
- package/_cjs/core/actions/chain/serializeTransportKeypair.js.map +1 -0
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +8 -0
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +8 -0
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
- package/_cjs/core/actions/decrypt/canDecryptValue.js +20 -0
- package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -0
- package/_cjs/core/actions/decrypt/canDecryptValues.js +23 -0
- package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -0
- package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js +19 -0
- package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
- package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +11 -0
- package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
- package/_cjs/core/actions/decrypt/decryptValue.js +20 -0
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -0
- package/_cjs/core/actions/decrypt/decryptValues.js +19 -0
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -0
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +18 -0
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
- package/_cjs/core/actions/decrypt/generateTransportKeypair.js +8 -0
- package/_cjs/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
- package/_cjs/core/actions/decrypt/index.js +20 -0
- package/_cjs/core/actions/decrypt/index.js.map +1 -0
- package/_cjs/core/actions/encrypt/encryptValue.js +24 -0
- package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -0
- package/_cjs/core/actions/encrypt/encryptValues.js +23 -0
- package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -0
- package/_cjs/core/actions/encrypt/generateZkProof.js +17 -0
- package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -0
- package/_cjs/core/actions/encrypt/index.js +10 -0
- package/_cjs/core/actions/encrypt/index.js.map +1 -0
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +21 -0
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_cjs/core/actions/host/index.js +18 -0
- package/_cjs/core/actions/host/index.js.map +1 -0
- package/_cjs/core/actions/host/isAllowedForDecryption.js +20 -0
- package/_cjs/core/actions/host/isAllowedForDecryption.js.map +1 -0
- package/_cjs/core/actions/host/persistAllowed.js +20 -0
- package/_cjs/core/actions/host/persistAllowed.js.map +1 -0
- package/_cjs/core/actions/host/readFhevmExecutorContractData.js +46 -0
- package/_cjs/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
- package/_cjs/core/actions/host/readInputVerifierContractData.js +41 -0
- package/_cjs/core/actions/host/readInputVerifierContractData.js.map +1 -0
- package/_cjs/core/actions/host/readKmsVerifierContractData.js +41 -0
- package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -0
- package/_cjs/core/actions/host/resolveChainId.js +23 -0
- package/_cjs/core/actions/host/resolveChainId.js.map +1 -0
- package/_cjs/core/actions/host/resolveFhevmConfig.js +85 -0
- package/_cjs/core/actions/host/resolveFhevmConfig.js.map +1 -0
- package/_cjs/core/base/address.js +182 -0
- package/_cjs/core/base/address.js.map +1 -0
- package/_cjs/core/base/auth.js +32 -0
- package/_cjs/core/base/auth.js.map +1 -0
- package/_cjs/core/base/boolean.js +33 -0
- package/_cjs/core/base/boolean.js.map +1 -0
- package/_cjs/core/base/bytes.js +1016 -0
- package/_cjs/core/base/bytes.js.map +1 -0
- package/_cjs/core/base/cachedFetch.js +78 -0
- package/_cjs/core/base/cachedFetch.js.map +1 -0
- package/_cjs/core/base/errors/AddressError.js +15 -0
- package/_cjs/core/base/errors/AddressError.js.map +1 -0
- package/_cjs/core/base/errors/ChecksummedAddressError.js +17 -0
- package/_cjs/core/base/errors/ChecksummedAddressError.js.map +1 -0
- package/_cjs/core/base/errors/ErrorBase.js +70 -0
- package/_cjs/core/base/errors/ErrorBase.js.map +1 -0
- package/_cjs/core/base/errors/FetchError.js +33 -0
- package/_cjs/core/base/errors/FetchError.js.map +1 -0
- package/_cjs/core/base/errors/FheTypeError.js +45 -0
- package/_cjs/core/base/errors/FheTypeError.js.map +1 -0
- package/_cjs/core/base/errors/InternalError.js +21 -0
- package/_cjs/core/base/errors/InternalError.js.map +1 -0
- package/_cjs/core/base/errors/InvalidPropertyError.js +72 -0
- package/_cjs/core/base/errors/InvalidPropertyError.js.map +1 -0
- package/_cjs/core/base/errors/InvalidTypeError.js +31 -0
- package/_cjs/core/base/errors/InvalidTypeError.js.map +1 -0
- package/_cjs/core/base/errors/utils.js +40 -0
- package/_cjs/core/base/errors/utils.js.map +1 -0
- package/_cjs/core/base/fetch.js +98 -0
- package/_cjs/core/base/fetch.js.map +1 -0
- package/_cjs/core/base/index.js +7 -0
- package/_cjs/core/base/index.js.map +1 -0
- package/_cjs/core/base/isomorphicWorker.js +209 -0
- package/_cjs/core/base/isomorphicWorker.js.map +1 -0
- package/_cjs/core/base/object.js +30 -0
- package/_cjs/core/base/object.js.map +1 -0
- package/_cjs/core/base/promise.js +14 -0
- package/_cjs/core/base/promise.js.map +1 -0
- package/_cjs/core/base/record.js +81 -0
- package/_cjs/core/base/record.js.map +1 -0
- package/_cjs/core/base/string.js +133 -0
- package/_cjs/core/base/string.js.map +1 -0
- package/_cjs/core/base/timeout.js +19 -0
- package/_cjs/core/base/timeout.js.map +1 -0
- package/_cjs/core/base/trustedValue.js +50 -0
- package/_cjs/core/base/trustedValue.js.map +1 -0
- package/_cjs/core/base/typedValue.js +184 -0
- package/_cjs/core/base/typedValue.js.map +1 -0
- package/_cjs/core/base/uid.js +19 -0
- package/_cjs/core/base/uid.js.map +1 -0
- package/_cjs/core/base/uint.js +414 -0
- package/_cjs/core/base/uint.js.map +1 -0
- package/_cjs/core/base/wasm.js +91 -0
- package/_cjs/core/base/wasm.js.map +1 -0
- package/_cjs/core/chains/definitions/localTestnet.js +33 -0
- package/_cjs/core/chains/definitions/localTestnet.js.map +1 -0
- package/_cjs/core/chains/definitions/mainnet.js +33 -0
- package/_cjs/core/chains/definitions/mainnet.js.map +1 -0
- package/_cjs/core/chains/definitions/sepolia.js +33 -0
- package/_cjs/core/chains/definitions/sepolia.js.map +1 -0
- package/_cjs/core/chains/index.js +10 -0
- package/_cjs/core/chains/index.js.map +1 -0
- package/_cjs/core/chains/utils.js +8 -0
- package/_cjs/core/chains/utils.js.map +1 -0
- package/_cjs/core/clients/decorators/base.js +34 -0
- package/_cjs/core/clients/decorators/base.js.map +1 -0
- package/_cjs/core/clients/decorators/decrypt.js +30 -0
- package/_cjs/core/clients/decorators/decrypt.js.map +1 -0
- package/_cjs/core/clients/decorators/encrypt-p.js +13 -0
- package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -0
- package/_cjs/core/clients/decorators/encrypt.js +23 -0
- package/_cjs/core/clients/decorators/encrypt.js.map +1 -0
- package/_cjs/core/coprocessor/InputProof-p.js +236 -0
- package/_cjs/core/coprocessor/InputProof-p.js.map +1 -0
- package/_cjs/core/coprocessor/ZkProof-p.js +241 -0
- package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -0
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js +192 -0
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
- package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js +19 -0
- package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
- package/_cjs/core/coprocessor/coprocessorEip712Types.js +17 -0
- package/_cjs/core/coprocessor/coprocessorEip712Types.js.map +1 -0
- package/_cjs/core/coprocessor/createCoprocessorEip712.js +41 -0
- package/_cjs/core/coprocessor/createCoprocessorEip712.js.map +1 -0
- package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js +18 -0
- package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
- package/_cjs/core/coprocessor/encrypt.js +20 -0
- package/_cjs/core/coprocessor/encrypt.js.map +1 -0
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +41 -0
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
- package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js +33 -0
- package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/coprocessor/verifyInputProof.js +24 -0
- package/_cjs/core/coprocessor/verifyInputProof.js.map +1 -0
- package/_cjs/core/errors/AclError.js +48 -0
- package/_cjs/core/errors/AclError.js.map +1 -0
- package/_cjs/core/errors/ContractErrorBase.js +34 -0
- package/_cjs/core/errors/ContractErrorBase.js.map +1 -0
- package/_cjs/core/errors/EncryptionError.js +14 -0
- package/_cjs/core/errors/EncryptionError.js.map +1 -0
- package/_cjs/core/errors/FhevmConfigError.js +14 -0
- package/_cjs/core/errors/FhevmConfigError.js.map +1 -0
- package/_cjs/core/errors/FhevmErrorBase.js +66 -0
- package/_cjs/core/errors/FhevmErrorBase.js.map +1 -0
- package/_cjs/core/errors/FhevmHandleError.js +15 -0
- package/_cjs/core/errors/FhevmHandleError.js.map +1 -0
- package/_cjs/core/errors/InputProofError.js +25 -0
- package/_cjs/core/errors/InputProofError.js.map +1 -0
- package/_cjs/core/errors/RelayerAbortError.js +16 -0
- package/_cjs/core/errors/RelayerAbortError.js.map +1 -0
- package/_cjs/core/errors/RelayerErrorBase.js +85 -0
- package/_cjs/core/errors/RelayerErrorBase.js.map +1 -0
- package/_cjs/core/errors/RelayerFetchError.js +19 -0
- package/_cjs/core/errors/RelayerFetchError.js.map +1 -0
- package/_cjs/core/errors/RelayerFetchErrorBase.js +74 -0
- package/_cjs/core/errors/RelayerFetchErrorBase.js.map +1 -0
- package/_cjs/core/errors/RelayerMaxRetryError.js +17 -0
- package/_cjs/core/errors/RelayerMaxRetryError.js.map +1 -0
- package/_cjs/core/errors/RelayerRequestErrorBase.js +48 -0
- package/_cjs/core/errors/RelayerRequestErrorBase.js.map +1 -0
- package/_cjs/core/errors/RelayerRequestInternalError.js +45 -0
- package/_cjs/core/errors/RelayerRequestInternalError.js.map +1 -0
- package/_cjs/core/errors/RelayerResponseApiError.js +36 -0
- package/_cjs/core/errors/RelayerResponseApiError.js.map +1 -0
- package/_cjs/core/errors/RelayerResponseErrorBase.js +33 -0
- package/_cjs/core/errors/RelayerResponseErrorBase.js.map +1 -0
- package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js +15 -0
- package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
- package/_cjs/core/errors/RelayerResponseInvalidBodyError.js +36 -0
- package/_cjs/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
- package/_cjs/core/errors/RelayerResponseStatusError.js +17 -0
- package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -0
- package/_cjs/core/errors/RelayerStateError.js +33 -0
- package/_cjs/core/errors/RelayerStateError.js.map +1 -0
- package/_cjs/core/errors/RelayerTimeoutError.js +16 -0
- package/_cjs/core/errors/RelayerTimeoutError.js.map +1 -0
- package/_cjs/core/errors/SignersError.js +35 -0
- package/_cjs/core/errors/SignersError.js.map +1 -0
- package/_cjs/core/errors/TfheError.js +14 -0
- package/_cjs/core/errors/TfheError.js.map +1 -0
- package/_cjs/core/errors/ZkProofError.js +15 -0
- package/_cjs/core/errors/ZkProofError.js.map +1 -0
- package/_cjs/core/handle/ClearValue.js +185 -0
- package/_cjs/core/handle/ClearValue.js.map +1 -0
- package/_cjs/core/handle/EncryptedValue.js +32 -0
- package/_cjs/core/handle/EncryptedValue.js.map +1 -0
- package/_cjs/core/handle/FheType.js +298 -0
- package/_cjs/core/handle/FheType.js.map +1 -0
- package/_cjs/core/handle/FhevmHandle.js +352 -0
- package/_cjs/core/handle/FhevmHandle.js.map +1 -0
- package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js +119 -0
- package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
- package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js +96 -0
- package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
- package/_cjs/core/host-contracts/HostContractVersion-p.js +86 -0
- package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -0
- package/_cjs/core/host-contracts/InputVerifierContractData-p.js +95 -0
- package/_cjs/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +165 -0
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -0
- package/_cjs/core/host-contracts/KmsVerifierContractData-p.js +77 -0
- package/_cjs/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
- package/_cjs/core/host-contracts/abi-fragments/fragments.js +336 -0
- package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -0
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +47 -0
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
- package/_cjs/core/host-contracts/checkAllowedForDecryption.js +17 -0
- package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
- package/_cjs/core/host-contracts/checkPersistAllowed.js +75 -0
- package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -0
- package/_cjs/core/host-contracts/decryptionResultTypehash-p.js +26 -0
- package/_cjs/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
- package/_cjs/core/host-contracts/eip712Domain-p.js +43 -0
- package/_cjs/core/host-contracts/eip712Domain-p.js.map +1 -0
- package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js +26 -0
- package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
- package/_cjs/core/host-contracts/getAclAddress-p.js +26 -0
- package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -0
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +72 -0
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
- package/_cjs/core/host-contracts/getCoprocessorSigners-p.js +26 -0
- package/_cjs/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +40 -0
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
- package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +26 -0
- package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
- package/_cjs/core/host-contracts/getHandleVersion-p.js +21 -0
- package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -0
- package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +26 -0
- package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
- package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +26 -0
- package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +78 -0
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +57 -0
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
- package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +54 -0
- package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
- package/_cjs/core/host-contracts/isAllowedForDecryption.js +30 -0
- package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -0
- package/_cjs/core/host-contracts/isUserDecryptable.js +54 -0
- package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -0
- package/_cjs/core/host-contracts/persistAllowed.js +31 -0
- package/_cjs/core/host-contracts/persistAllowed.js.map +1 -0
- package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js +15 -0
- package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js +103 -0
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
- package/_cjs/core/key/FheEncryptionKeyCache-p.js +221 -0
- package/_cjs/core/key/FheEncryptionKeyCache-p.js.map +1 -0
- package/_cjs/core/key/FheEncryptionKeyWasm-p.js +66 -0
- package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
- package/_cjs/core/key/deserializeFheEncryptionKey.js +18 -0
- package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -0
- package/_cjs/core/key/fetchFheEncryptionKey.js +30 -0
- package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -0
- package/_cjs/core/key/fetchFheEncryptionKeyBytes.js +39 -0
- package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js +53 -0
- package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
- package/_cjs/core/key/serializeFheEncryptionKey.js +22 -0
- package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -0
- package/_cjs/core/kms/KmsSigncryptedShares-p.js +94 -0
- package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -0
- package/_cjs/core/kms/PublicDecryptionProof-p.js +95 -0
- package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -0
- package/_cjs/core/kms/PublicDecryptionProof.js +8 -0
- package/_cjs/core/kms/PublicDecryptionProof.js.map +1 -0
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +230 -0
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -0
- package/_cjs/core/kms/TransportKeypair-p.js +153 -0
- package/_cjs/core/kms/TransportKeypair-p.js.map +1 -0
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js +72 -0
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_cjs/core/kms/createKmsEip712Domain.js +33 -0
- package/_cjs/core/kms/createKmsEip712Domain.js.map +1 -0
- package/_cjs/core/kms/createKmsPublicDecryptEip712.js +39 -0
- package/_cjs/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712.js +91 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -0
- package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
- package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
- package/_cjs/core/kms/decryptValuesFromPairs.js +14 -0
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -0
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +89 -0
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
- package/_cjs/core/kms/index.js +3 -0
- package/_cjs/core/kms/index.js.map +1 -0
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js +25 -0
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
- package/_cjs/core/kms/kmsExtraData.js +33 -0
- package/_cjs/core/kms/kmsExtraData.js.map +1 -0
- package/_cjs/core/kms/kmsPublicDecryptEip712Types.js +22 -0
- package/_cjs/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
- package/_cjs/core/kms/kmsUserDecryptEip712Types.js +24 -0
- package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
- package/_cjs/core/kms/publicDecrypt.js +55 -0
- package/_cjs/core/kms/publicDecrypt.js.map +1 -0
- package/_cjs/core/kms/utils.js +34 -0
- package/_cjs/core/kms/utils.js.map +1 -0
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +34 -0
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
- package/_cjs/core/modules/decrypt/mock.js +69 -0
- package/_cjs/core/modules/decrypt/mock.js.map +1 -0
- package/_cjs/core/modules/decrypt/module/api-p.js +197 -0
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -0
- package/_cjs/core/modules/decrypt/module/index.js +43 -0
- package/_cjs/core/modules/decrypt/module/index.js.map +1 -0
- package/_cjs/core/modules/decrypt/module/init-p.js +124 -0
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -0
- package/_cjs/core/modules/decrypt/types.js +3 -0
- package/_cjs/core/modules/decrypt/types.js.map +1 -0
- package/_cjs/core/modules/encrypt/mock.js +50 -0
- package/_cjs/core/modules/encrypt/mock.js.map +1 -0
- package/_cjs/core/modules/encrypt/module/api-p.js +263 -0
- package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -0
- package/_cjs/core/modules/encrypt/module/index.js +22 -0
- package/_cjs/core/modules/encrypt/module/index.js.map +1 -0
- package/_cjs/core/modules/encrypt/module/init-p.js +175 -0
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -0
- package/_cjs/core/modules/encrypt/types.js +3 -0
- package/_cjs/core/modules/encrypt/types.js.map +1 -0
- package/_cjs/core/modules/ethereum/createTrustedClient.js +9 -0
- package/_cjs/core/modules/ethereum/createTrustedClient.js.map +1 -0
- package/_cjs/core/modules/ethereum/types.js +3 -0
- package/_cjs/core/modules/ethereum/types.js.map +1 -0
- package/_cjs/core/modules/relayer/mock.js +29 -0
- package/_cjs/core/modules/relayer/mock.js.map +1 -0
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +1231 -0
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +47 -0
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +19 -0
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +124 -0
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +27 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +48 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +39 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +21 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +122 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js +23 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +27 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +39 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +56 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +12 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +12 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +12 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +17 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
- package/_cjs/core/modules/relayer/module/index.js +23 -0
- package/_cjs/core/modules/relayer/module/index.js.map +1 -0
- package/_cjs/core/modules/relayer/module/relayerUrl.js +36 -0
- package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -0
- package/_cjs/core/modules/relayer/module/utils.js +22 -0
- package/_cjs/core/modules/relayer/module/utils.js.map +1 -0
- package/_cjs/core/modules/relayer/types.js +3 -0
- package/_cjs/core/modules/relayer/types.js.map +1 -0
- package/_cjs/core/runtime/CoreFhevm-p.js +221 -0
- package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -0
- package/_cjs/core/runtime/CoreFhevmRuntime-p.js +156 -0
- package/_cjs/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
- package/_cjs/core/runtime/FhevmRuntime.js +9 -0
- package/_cjs/core/runtime/FhevmRuntime.js.map +1 -0
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +11 -0
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
- package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +11 -0
- package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
- package/_cjs/core/runtime/initFhevmRuntime-p.js +12 -0
- package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -0
- package/_cjs/core/types/auth.js +3 -0
- package/_cjs/core/types/auth.js.map +1 -0
- package/_cjs/core/types/configs.js +3 -0
- package/_cjs/core/types/configs.js.map +1 -0
- package/_cjs/core/types/coprocessor.js +3 -0
- package/_cjs/core/types/coprocessor.js.map +1 -0
- package/_cjs/core/types/coprocessorSignersContext.js +3 -0
- package/_cjs/core/types/coprocessorSignersContext.js.map +1 -0
- package/_cjs/core/types/coreFhevmClient.js +3 -0
- package/_cjs/core/types/coreFhevmClient.js.map +1 -0
- package/_cjs/core/types/coreFhevmRuntime.js +3 -0
- package/_cjs/core/types/coreFhevmRuntime.js.map +1 -0
- package/_cjs/core/types/encryptedTypes-p.js +3 -0
- package/_cjs/core/types/encryptedTypes-p.js.map +1 -0
- package/_cjs/core/types/encryptedTypes.js +3 -0
- package/_cjs/core/types/encryptedTypes.js.map +1 -0
- package/_cjs/core/types/fheEncryptionKey.js +3 -0
- package/_cjs/core/types/fheEncryptionKey.js.map +1 -0
- package/_cjs/core/types/fheType.js +3 -0
- package/_cjs/core/types/fheType.js.map +1 -0
- package/_cjs/core/types/fhevmChain.js +3 -0
- package/_cjs/core/types/fhevmChain.js.map +1 -0
- package/_cjs/core/types/fhevmClient.js +3 -0
- package/_cjs/core/types/fhevmClient.js.map +1 -0
- package/_cjs/core/types/fhevmDecryptionKey.js +3 -0
- package/_cjs/core/types/fhevmDecryptionKey.js.map +1 -0
- package/_cjs/core/types/fhevmUser.js +3 -0
- package/_cjs/core/types/fhevmUser.js.map +1 -0
- package/_cjs/core/types/hostContract.js +3 -0
- package/_cjs/core/types/hostContract.js.map +1 -0
- package/_cjs/core/types/index.js +3 -0
- package/_cjs/core/types/index.js.map +1 -0
- package/_cjs/core/types/inputProof.js +3 -0
- package/_cjs/core/types/inputProof.js.map +1 -0
- package/_cjs/core/types/kms-p.js +3 -0
- package/_cjs/core/types/kms-p.js.map +1 -0
- package/_cjs/core/types/kms.js +3 -0
- package/_cjs/core/types/kms.js.map +1 -0
- package/_cjs/core/types/kmsSignersContext.js +3 -0
- package/_cjs/core/types/kmsSignersContext.js.map +1 -0
- package/_cjs/core/types/logger.js +3 -0
- package/_cjs/core/types/logger.js.map +1 -0
- package/_cjs/core/types/other-p.js +3 -0
- package/_cjs/core/types/other-p.js.map +1 -0
- package/_cjs/core/types/primitives.js +3 -0
- package/_cjs/core/types/primitives.js.map +1 -0
- package/_cjs/core/types/publicDecryptionProof-p.js +3 -0
- package/_cjs/core/types/publicDecryptionProof-p.js.map +1 -0
- package/_cjs/core/types/record-p.js +3 -0
- package/_cjs/core/types/record-p.js.map +1 -0
- package/_cjs/core/types/relayer-p.js +3 -0
- package/_cjs/core/types/relayer-p.js.map +1 -0
- package/_cjs/core/types/relayer.js +3 -0
- package/_cjs/core/types/relayer.js.map +1 -0
- package/_cjs/core/types/signedDecryptionPermit.js +3 -0
- package/_cjs/core/types/signedDecryptionPermit.js.map +1 -0
- package/_cjs/core/types/tkms-p.js +3 -0
- package/_cjs/core/types/tkms-p.js.map +1 -0
- package/_cjs/core/types/utils.js +3 -0
- package/_cjs/core/types/utils.js.map +1 -0
- package/_cjs/core/types/zkProof-p.js +3 -0
- package/_cjs/core/types/zkProof-p.js.map +1 -0
- package/_cjs/core/types/zkProofBuilder.js +3 -0
- package/_cjs/core/types/zkProofBuilder.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js +14 -0
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +32 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +32 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +13 -0
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
- package/_cjs/core/utils-p/runtime/recoverSigners.js +23 -0
- package/_cjs/core/utils-p/runtime/recoverSigners.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmBaseClient.js +16 -0
- package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmClient.js +11 -0
- package/_cjs/ethers/clients/createFhevmClient.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmDecryptClient.js +10 -0
- package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmEncryptClient.js +10 -0
- package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -0
- package/_cjs/ethers/decorators/decrypt.js +9 -0
- package/_cjs/ethers/decorators/decrypt.js.map +1 -0
- package/_cjs/ethers/decorators/encrypt.js +9 -0
- package/_cjs/ethers/decorators/encrypt.js.map +1 -0
- package/_cjs/ethers/index.js +20 -0
- package/_cjs/ethers/index.js.map +1 -0
- package/_cjs/ethers/internal/ethereum.js +80 -0
- package/_cjs/ethers/internal/ethereum.js.map +1 -0
- package/_cjs/ethers/internal/ethers-p.js +52 -0
- package/_cjs/ethers/internal/ethers-p.js.map +1 -0
- package/_cjs/ethers/internal/utils.js +26 -0
- package/_cjs/ethers/internal/utils.js.map +1 -0
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +9 -0
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +9 -0
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
- package/_cjs/ethers/runtime/initFhevmRuntime.js +9 -0
- package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/viem/clients/createFhevmBaseClient.js +16 -0
- package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -0
- package/_cjs/viem/clients/createFhevmClient.js +11 -0
- package/_cjs/viem/clients/createFhevmClient.js.map +1 -0
- package/_cjs/viem/clients/createFhevmDecryptClient.js +10 -0
- package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -0
- package/_cjs/viem/clients/createFhevmEncryptClient.js +10 -0
- package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -0
- package/_cjs/viem/decorators/decrypt.js +9 -0
- package/_cjs/viem/decorators/decrypt.js.map +1 -0
- package/_cjs/viem/decorators/encrypt.js +9 -0
- package/_cjs/viem/decorators/encrypt.js.map +1 -0
- package/_cjs/viem/index.js +20 -0
- package/_cjs/viem/index.js.map +1 -0
- package/_cjs/viem/internal/ethereum.js +68 -0
- package/_cjs/viem/internal/ethereum.js.map +1 -0
- package/_cjs/viem/internal/viem-p.js +52 -0
- package/_cjs/viem/internal/viem-p.js.map +1 -0
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +9 -0
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +9 -0
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
- package/_cjs/viem/runtime/initFhevmRuntime.js +9 -0
- package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -0
- package/_cjs/wasm/tfhe/compile-worker.js +8 -0
- package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
- package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
- package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
- package/_cjs/wasm/wasmBaseUrl.d.ts +7 -0
- package/_cjs/wasm/wasmBaseUrl.js +14 -0
- package/_esm/core/_version.js +4 -0
- package/_esm/core/_version.js.map +1 -0
- package/_esm/core/actions/base/canReadPublicValue.js +11 -0
- package/_esm/core/actions/base/canReadPublicValue.js.map +1 -0
- package/_esm/core/actions/base/canReadPublicValues.js +11 -0
- package/_esm/core/actions/base/canReadPublicValues.js.map +1 -0
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +7 -0
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
- package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js +17 -0
- package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
- package/_esm/core/actions/base/fetchVerifiedInputProof.js +8 -0
- package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
- package/_esm/core/actions/base/index.js +14 -0
- package/_esm/core/actions/base/index.js.map +1 -0
- package/_esm/core/actions/base/readCoprocessorSignersContext.js +9 -0
- package/_esm/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
- package/_esm/core/actions/base/readKmsSignersContext.js +9 -0
- package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -0
- package/_esm/core/actions/base/readPublicValue.js +11 -0
- package/_esm/core/actions/base/readPublicValue.js.map +1 -0
- package/_esm/core/actions/base/readPublicValues.js +11 -0
- package/_esm/core/actions/base/readPublicValues.js.map +1 -0
- package/_esm/core/actions/base/readPublicValuesWithSignatures.js +19 -0
- package/_esm/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
- package/_esm/core/actions/base/signDecryptionPermit.js +11 -0
- package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -0
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +35 -0
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
- package/_esm/core/actions/base/verifyInputProof.js +22 -0
- package/_esm/core/actions/base/verifyInputProof.js.map +1 -0
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +14 -0
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +8 -0
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +15 -0
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_esm/core/actions/chain/createKmsEip712Domain.js +8 -0
- package/_esm/core/actions/chain/createKmsEip712Domain.js.map +1 -0
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +14 -0
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
- package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js +6 -0
- package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_esm/core/actions/chain/index.js +13 -0
- package/_esm/core/actions/chain/index.js.map +1 -0
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +15 -0
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
- package/_esm/core/actions/chain/parseTransportKeypair.js +7 -0
- package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -0
- package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js +11 -0
- package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
- package/_esm/core/actions/chain/serializeTransportKeypair.js +6 -0
- package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -0
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +5 -0
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +5 -0
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
- package/_esm/core/actions/decrypt/canDecryptValue.js +18 -0
- package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -0
- package/_esm/core/actions/decrypt/canDecryptValues.js +20 -0
- package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -0
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +16 -0
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
- package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +9 -0
- package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
- package/_esm/core/actions/decrypt/decryptValue.js +18 -0
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -0
- package/_esm/core/actions/decrypt/decryptValues.js +16 -0
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -0
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +15 -0
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
- package/_esm/core/actions/decrypt/generateTransportKeypair.js +6 -0
- package/_esm/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
- package/_esm/core/actions/decrypt/index.js +9 -0
- package/_esm/core/actions/decrypt/index.js.map +1 -0
- package/_esm/core/actions/encrypt/encryptValue.js +24 -0
- package/_esm/core/actions/encrypt/encryptValue.js.map +1 -0
- package/_esm/core/actions/encrypt/encryptValues.js +22 -0
- package/_esm/core/actions/encrypt/encryptValues.js.map +1 -0
- package/_esm/core/actions/encrypt/generateZkProof.js +15 -0
- package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -0
- package/_esm/core/actions/encrypt/index.js +4 -0
- package/_esm/core/actions/encrypt/index.js.map +1 -0
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +18 -0
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_esm/core/actions/host/index.js +8 -0
- package/_esm/core/actions/host/index.js.map +1 -0
- package/_esm/core/actions/host/isAllowedForDecryption.js +18 -0
- package/_esm/core/actions/host/isAllowedForDecryption.js.map +1 -0
- package/_esm/core/actions/host/persistAllowed.js +17 -0
- package/_esm/core/actions/host/persistAllowed.js.map +1 -0
- package/_esm/core/actions/host/readFhevmExecutorContractData.js +53 -0
- package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
- package/_esm/core/actions/host/readInputVerifierContractData.js +49 -0
- package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -0
- package/_esm/core/actions/host/readKmsVerifierContractData.js +49 -0
- package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -0
- package/_esm/core/actions/host/resolveChainId.js +24 -0
- package/_esm/core/actions/host/resolveChainId.js.map +1 -0
- package/_esm/core/actions/host/resolveFhevmConfig.js +89 -0
- package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -0
- package/_esm/core/base/address.js +210 -0
- package/_esm/core/base/address.js.map +1 -0
- package/_esm/core/base/auth.js +36 -0
- package/_esm/core/base/auth.js.map +1 -0
- package/_esm/core/base/boolean.js +62 -0
- package/_esm/core/base/boolean.js.map +1 -0
- package/_esm/core/base/bytes.js +1445 -0
- package/_esm/core/base/bytes.js.map +1 -0
- package/_esm/core/base/cachedFetch.js +88 -0
- package/_esm/core/base/cachedFetch.js.map +1 -0
- package/_esm/core/base/errors/AddressError.js +11 -0
- package/_esm/core/base/errors/AddressError.js.map +1 -0
- package/_esm/core/base/errors/ChecksummedAddressError.js +13 -0
- package/_esm/core/base/errors/ChecksummedAddressError.js.map +1 -0
- package/_esm/core/base/errors/ErrorBase.js +68 -0
- package/_esm/core/base/errors/ErrorBase.js.map +1 -0
- package/_esm/core/base/errors/FetchError.js +30 -0
- package/_esm/core/base/errors/FetchError.js.map +1 -0
- package/_esm/core/base/errors/FheTypeError.js +44 -0
- package/_esm/core/base/errors/FheTypeError.js.map +1 -0
- package/_esm/core/base/errors/InternalError.js +18 -0
- package/_esm/core/base/errors/InternalError.js.map +1 -0
- package/_esm/core/base/errors/InvalidPropertyError.js +183 -0
- package/_esm/core/base/errors/InvalidPropertyError.js.map +1 -0
- package/_esm/core/base/errors/InvalidTypeError.js +57 -0
- package/_esm/core/base/errors/InvalidTypeError.js.map +1 -0
- package/_esm/core/base/errors/utils.js +36 -0
- package/_esm/core/base/errors/utils.js.map +1 -0
- package/_esm/core/base/fetch.js +210 -0
- package/_esm/core/base/fetch.js.map +1 -0
- package/_esm/core/base/index.js +2 -0
- package/_esm/core/base/index.js.map +1 -0
- package/_esm/core/base/isomorphicWorker.js +235 -0
- package/_esm/core/base/isomorphicWorker.js.map +1 -0
- package/_esm/core/base/object.js +36 -0
- package/_esm/core/base/object.js.map +1 -0
- package/_esm/core/base/promise.js +31 -0
- package/_esm/core/base/promise.js.map +1 -0
- package/_esm/core/base/record.js +149 -0
- package/_esm/core/base/record.js.map +1 -0
- package/_esm/core/base/string.js +163 -0
- package/_esm/core/base/string.js.map +1 -0
- package/_esm/core/base/timeout.js +26 -0
- package/_esm/core/base/timeout.js.map +1 -0
- package/_esm/core/base/trustedValue.js +83 -0
- package/_esm/core/base/trustedValue.js.map +1 -0
- package/_esm/core/base/typedValue.js +236 -0
- package/_esm/core/base/typedValue.js.map +1 -0
- package/_esm/core/base/uid.js +17 -0
- package/_esm/core/base/uid.js.map +1 -0
- package/_esm/core/base/uint.js +402 -0
- package/_esm/core/base/uint.js.map +1 -0
- package/_esm/core/base/wasm.js +84 -0
- package/_esm/core/base/wasm.js.map +1 -0
- package/_esm/core/chains/definitions/localTestnet.js +30 -0
- package/_esm/core/chains/definitions/localTestnet.js.map +1 -0
- package/_esm/core/chains/definitions/mainnet.js +30 -0
- package/_esm/core/chains/definitions/mainnet.js.map +1 -0
- package/_esm/core/chains/definitions/sepolia.js +30 -0
- package/_esm/core/chains/definitions/sepolia.js.map +1 -0
- package/_esm/core/chains/index.js +4 -0
- package/_esm/core/chains/index.js.map +1 -0
- package/_esm/core/chains/utils.js +5 -0
- package/_esm/core/chains/utils.js.map +1 -0
- package/_esm/core/clients/decorators/base.js +36 -0
- package/_esm/core/clients/decorators/base.js.map +1 -0
- package/_esm/core/clients/decorators/decrypt.js +32 -0
- package/_esm/core/clients/decorators/decrypt.js.map +1 -0
- package/_esm/core/clients/decorators/encrypt-p.js +12 -0
- package/_esm/core/clients/decorators/encrypt-p.js.map +1 -0
- package/_esm/core/clients/decorators/encrypt.js +22 -0
- package/_esm/core/clients/decorators/encrypt.js.map +1 -0
- package/_esm/core/coprocessor/InputProof-p.js +268 -0
- package/_esm/core/coprocessor/InputProof-p.js.map +1 -0
- package/_esm/core/coprocessor/ZkProof-p.js +343 -0
- package/_esm/core/coprocessor/ZkProof-p.js.map +1 -0
- package/_esm/core/coprocessor/ZkProofBuilder-p.js +208 -0
- package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
- package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js +16 -0
- package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
- package/_esm/core/coprocessor/coprocessorEip712Types.js +34 -0
- package/_esm/core/coprocessor/coprocessorEip712Types.js.map +1 -0
- package/_esm/core/coprocessor/createCoprocessorEip712.js +41 -0
- package/_esm/core/coprocessor/createCoprocessorEip712.js.map +1 -0
- package/_esm/core/coprocessor/createCoprocessorEip712Domain.js +15 -0
- package/_esm/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
- package/_esm/core/coprocessor/encrypt.js +18 -0
- package/_esm/core/coprocessor/encrypt.js.map +1 -0
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js +47 -0
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
- package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js +37 -0
- package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
- package/_esm/core/coprocessor/verifyInputProof.js +22 -0
- package/_esm/core/coprocessor/verifyInputProof.js.map +1 -0
- package/_esm/core/errors/AclError.js +43 -0
- package/_esm/core/errors/AclError.js.map +1 -0
- package/_esm/core/errors/ContractErrorBase.js +30 -0
- package/_esm/core/errors/ContractErrorBase.js.map +1 -0
- package/_esm/core/errors/EncryptionError.js +10 -0
- package/_esm/core/errors/EncryptionError.js.map +1 -0
- package/_esm/core/errors/FhevmConfigError.js +10 -0
- package/_esm/core/errors/FhevmConfigError.js.map +1 -0
- package/_esm/core/errors/FhevmErrorBase.js +62 -0
- package/_esm/core/errors/FhevmErrorBase.js.map +1 -0
- package/_esm/core/errors/FhevmHandleError.js +11 -0
- package/_esm/core/errors/FhevmHandleError.js.map +1 -0
- package/_esm/core/errors/InputProofError.js +20 -0
- package/_esm/core/errors/InputProofError.js.map +1 -0
- package/_esm/core/errors/RelayerAbortError.js +15 -0
- package/_esm/core/errors/RelayerAbortError.js.map +1 -0
- package/_esm/core/errors/RelayerErrorBase.js +83 -0
- package/_esm/core/errors/RelayerErrorBase.js.map +1 -0
- package/_esm/core/errors/RelayerFetchError.js +18 -0
- package/_esm/core/errors/RelayerFetchError.js.map +1 -0
- package/_esm/core/errors/RelayerFetchErrorBase.js +71 -0
- package/_esm/core/errors/RelayerFetchErrorBase.js.map +1 -0
- package/_esm/core/errors/RelayerMaxRetryError.js +16 -0
- package/_esm/core/errors/RelayerMaxRetryError.js.map +1 -0
- package/_esm/core/errors/RelayerRequestErrorBase.js +44 -0
- package/_esm/core/errors/RelayerRequestErrorBase.js.map +1 -0
- package/_esm/core/errors/RelayerRequestInternalError.js +44 -0
- package/_esm/core/errors/RelayerRequestInternalError.js.map +1 -0
- package/_esm/core/errors/RelayerResponseApiError.js +35 -0
- package/_esm/core/errors/RelayerResponseApiError.js.map +1 -0
- package/_esm/core/errors/RelayerResponseErrorBase.js +29 -0
- package/_esm/core/errors/RelayerResponseErrorBase.js.map +1 -0
- package/_esm/core/errors/RelayerResponseInputProofRejectedError.js +14 -0
- package/_esm/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
- package/_esm/core/errors/RelayerResponseInvalidBodyError.js +35 -0
- package/_esm/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
- package/_esm/core/errors/RelayerResponseStatusError.js +16 -0
- package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -0
- package/_esm/core/errors/RelayerStateError.js +32 -0
- package/_esm/core/errors/RelayerStateError.js.map +1 -0
- package/_esm/core/errors/RelayerTimeoutError.js +15 -0
- package/_esm/core/errors/RelayerTimeoutError.js.map +1 -0
- package/_esm/core/errors/SignersError.js +29 -0
- package/_esm/core/errors/SignersError.js.map +1 -0
- package/_esm/core/errors/TfheError.js +10 -0
- package/_esm/core/errors/TfheError.js.map +1 -0
- package/_esm/core/errors/ZkProofError.js +11 -0
- package/_esm/core/errors/ZkProofError.js.map +1 -0
- package/_esm/core/handle/ClearValue.js +272 -0
- package/_esm/core/handle/ClearValue.js.map +1 -0
- package/_esm/core/handle/EncryptedValue.js +26 -0
- package/_esm/core/handle/EncryptedValue.js.map +1 -0
- package/_esm/core/handle/FheType.js +430 -0
- package/_esm/core/handle/FheType.js.map +1 -0
- package/_esm/core/handle/FhevmHandle.js +545 -0
- package/_esm/core/handle/FhevmHandle.js.map +1 -0
- package/_esm/core/host-contracts/CoprocessorSignersContext-p.js +125 -0
- package/_esm/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
- package/_esm/core/host-contracts/FhevmExecutorContractData-p.js +102 -0
- package/_esm/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
- package/_esm/core/host-contracts/HostContractVersion-p.js +113 -0
- package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -0
- package/_esm/core/host-contracts/InputVerifierContractData-p.js +102 -0
- package/_esm/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
- package/_esm/core/host-contracts/KmsSignersContext-p.js +177 -0
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -0
- package/_esm/core/host-contracts/KmsVerifierContractData-p.js +84 -0
- package/_esm/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
- package/_esm/core/host-contracts/abi-fragments/fragments.js +393 -0
- package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -0
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +45 -0
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
- package/_esm/core/host-contracts/checkAllowedForDecryption.js +15 -0
- package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
- package/_esm/core/host-contracts/checkPersistAllowed.js +83 -0
- package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -0
- package/_esm/core/host-contracts/decryptionResultTypehash-p.js +29 -0
- package/_esm/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
- package/_esm/core/host-contracts/eip712Domain-p.js +46 -0
- package/_esm/core/host-contracts/eip712Domain-p.js.map +1 -0
- package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js +29 -0
- package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
- package/_esm/core/host-contracts/getAclAddress-p.js +29 -0
- package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -0
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +92 -0
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
- package/_esm/core/host-contracts/getCoprocessorSigners-p.js +29 -0
- package/_esm/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +50 -0
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
- package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +29 -0
- package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
- package/_esm/core/host-contracts/getHandleVersion-p.js +24 -0
- package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -0
- package/_esm/core/host-contracts/getHcuLimitAddress-p.js +29 -0
- package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
- package/_esm/core/host-contracts/getInputVerifierAddress-p.js +29 -0
- package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +108 -0
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +73 -0
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
- package/_esm/core/host-contracts/getSignersForKmsContext-p.js +64 -0
- package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
- package/_esm/core/host-contracts/isAllowedForDecryption.js +29 -0
- package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -0
- package/_esm/core/host-contracts/isUserDecryptable.js +56 -0
- package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -0
- package/_esm/core/host-contracts/persistAllowed.js +30 -0
- package/_esm/core/host-contracts/persistAllowed.js.map +1 -0
- package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js +14 -0
- package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
- package/_esm/core/host-contracts/readKmsSignersContext-p.js +116 -0
- package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
- package/_esm/core/key/FheEncryptionKeyCache-p.js +278 -0
- package/_esm/core/key/FheEncryptionKeyCache-p.js.map +1 -0
- package/_esm/core/key/FheEncryptionKeyWasm-p.js +73 -0
- package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
- package/_esm/core/key/deserializeFheEncryptionKey.js +16 -0
- package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -0
- package/_esm/core/key/fetchFheEncryptionKey.js +29 -0
- package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -0
- package/_esm/core/key/fetchFheEncryptionKeyBytes.js +46 -0
- package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js +57 -0
- package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
- package/_esm/core/key/serializeFheEncryptionKey.js +21 -0
- package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -0
- package/_esm/core/kms/KmsSigncryptedShares-p.js +141 -0
- package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -0
- package/_esm/core/kms/PublicDecryptionProof-p.js +122 -0
- package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -0
- package/_esm/core/kms/PublicDecryptionProof.js +8 -0
- package/_esm/core/kms/PublicDecryptionProof.js.map +1 -0
- package/_esm/core/kms/SignedDecryptionPermit-p.js +286 -0
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -0
- package/_esm/core/kms/TransportKeypair-p.js +211 -0
- package/_esm/core/kms/TransportKeypair-p.js.map +1 -0
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js +73 -0
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_esm/core/kms/createKmsEip712Domain.js +40 -0
- package/_esm/core/kms/createKmsEip712Domain.js.map +1 -0
- package/_esm/core/kms/createKmsPublicDecryptEip712.js +39 -0
- package/_esm/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
- package/_esm/core/kms/createKmsUserDecryptEip712.js +100 -0
- package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -0
- package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
- package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
- package/_esm/core/kms/decryptValuesFromPairs.js +14 -0
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -0
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +124 -0
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
- package/_esm/core/kms/index.js +2 -0
- package/_esm/core/kms/index.js.map +1 -0
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js +28 -0
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
- package/_esm/core/kms/kmsExtraData.js +35 -0
- package/_esm/core/kms/kmsExtraData.js.map +1 -0
- package/_esm/core/kms/kmsPublicDecryptEip712Types.js +25 -0
- package/_esm/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
- package/_esm/core/kms/kmsUserDecryptEip712Types.js +27 -0
- package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
- package/_esm/core/kms/publicDecrypt.js +65 -0
- package/_esm/core/kms/publicDecrypt.js.map +1 -0
- package/_esm/core/kms/utils.js +38 -0
- package/_esm/core/kms/utils.js.map +1 -0
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +46 -0
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
- package/_esm/core/modules/decrypt/mock.js +82 -0
- package/_esm/core/modules/decrypt/mock.js.map +1 -0
- package/_esm/core/modules/decrypt/module/api-p.js +228 -0
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -0
- package/_esm/core/modules/decrypt/module/index.js +44 -0
- package/_esm/core/modules/decrypt/module/index.js.map +1 -0
- package/_esm/core/modules/decrypt/module/init-p.js +115 -0
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -0
- package/_esm/core/modules/decrypt/types.js +2 -0
- package/_esm/core/modules/decrypt/types.js.map +1 -0
- package/_esm/core/modules/encrypt/mock.js +63 -0
- package/_esm/core/modules/encrypt/mock.js.map +1 -0
- package/_esm/core/modules/encrypt/module/api-p.js +288 -0
- package/_esm/core/modules/encrypt/module/api-p.js.map +1 -0
- package/_esm/core/modules/encrypt/module/index.js +21 -0
- package/_esm/core/modules/encrypt/module/index.js.map +1 -0
- package/_esm/core/modules/encrypt/module/init-p.js +179 -0
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -0
- package/_esm/core/modules/encrypt/types.js +2 -0
- package/_esm/core/modules/encrypt/types.js.map +1 -0
- package/_esm/core/modules/ethereum/createTrustedClient.js +6 -0
- package/_esm/core/modules/ethereum/createTrustedClient.js.map +1 -0
- package/_esm/core/modules/ethereum/types.js +2 -0
- package/_esm/core/modules/ethereum/types.js.map +1 -0
- package/_esm/core/modules/relayer/mock.js +28 -0
- package/_esm/core/modules/relayer/mock.js.map +1 -0
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +1576 -0
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +48 -0
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +21 -0
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +137 -0
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +28 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +49 -0
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +74 -0
- package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +42 -0
- package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +162 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js +38 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +52 -0
- package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +45 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +65 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +18 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +18 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +18 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +23 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
- package/_esm/core/modules/relayer/module/index.js +22 -0
- package/_esm/core/modules/relayer/module/index.js.map +1 -0
- package/_esm/core/modules/relayer/module/relayerUrl.js +33 -0
- package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -0
- package/_esm/core/modules/relayer/module/utils.js +19 -0
- package/_esm/core/modules/relayer/module/utils.js.map +1 -0
- package/_esm/core/modules/relayer/types.js +2 -0
- package/_esm/core/modules/relayer/types.js.map +1 -0
- package/_esm/core/runtime/CoreFhevm-p.js +248 -0
- package/_esm/core/runtime/CoreFhevm-p.js.map +1 -0
- package/_esm/core/runtime/CoreFhevmRuntime-p.js +190 -0
- package/_esm/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
- package/_esm/core/runtime/FhevmRuntime.js +2 -0
- package/_esm/core/runtime/FhevmRuntime.js.map +1 -0
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +8 -0
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
- package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +8 -0
- package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
- package/_esm/core/runtime/initFhevmRuntime-p.js +9 -0
- package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -0
- package/_esm/core/types/auth.js +2 -0
- package/_esm/core/types/auth.js.map +1 -0
- package/_esm/core/types/configs.js +2 -0
- package/_esm/core/types/configs.js.map +1 -0
- package/_esm/core/types/coprocessor.js +2 -0
- package/_esm/core/types/coprocessor.js.map +1 -0
- package/_esm/core/types/coprocessorSignersContext.js +2 -0
- package/_esm/core/types/coprocessorSignersContext.js.map +1 -0
- package/_esm/core/types/coreFhevmClient.js +2 -0
- package/_esm/core/types/coreFhevmClient.js.map +1 -0
- package/_esm/core/types/coreFhevmRuntime.js +2 -0
- package/_esm/core/types/coreFhevmRuntime.js.map +1 -0
- package/_esm/core/types/encryptedTypes-p.js +2 -0
- package/_esm/core/types/encryptedTypes-p.js.map +1 -0
- package/_esm/core/types/encryptedTypes.js +2 -0
- package/_esm/core/types/encryptedTypes.js.map +1 -0
- package/_esm/core/types/fheEncryptionKey.js +2 -0
- package/_esm/core/types/fheEncryptionKey.js.map +1 -0
- package/_esm/core/types/fheType.js +2 -0
- package/_esm/core/types/fheType.js.map +1 -0
- package/_esm/core/types/fhevmChain.js +2 -0
- package/_esm/core/types/fhevmChain.js.map +1 -0
- package/_esm/core/types/fhevmClient.js +2 -0
- package/_esm/core/types/fhevmClient.js.map +1 -0
- package/_esm/core/types/fhevmDecryptionKey.js +2 -0
- package/_esm/core/types/fhevmDecryptionKey.js.map +1 -0
- package/_esm/core/types/fhevmUser.js +2 -0
- package/_esm/core/types/fhevmUser.js.map +1 -0
- package/_esm/core/types/hostContract.js +2 -0
- package/_esm/core/types/hostContract.js.map +1 -0
- package/_esm/core/types/index.js +2 -0
- package/_esm/core/types/index.js.map +1 -0
- package/_esm/core/types/inputProof.js +2 -0
- package/_esm/core/types/inputProof.js.map +1 -0
- package/_esm/core/types/kms-p.js +2 -0
- package/_esm/core/types/kms-p.js.map +1 -0
- package/_esm/core/types/kms.js +2 -0
- package/_esm/core/types/kms.js.map +1 -0
- package/_esm/core/types/kmsSignersContext.js +2 -0
- package/_esm/core/types/kmsSignersContext.js.map +1 -0
- package/_esm/core/types/logger.js +2 -0
- package/_esm/core/types/logger.js.map +1 -0
- package/_esm/core/types/other-p.js +2 -0
- package/_esm/core/types/other-p.js.map +1 -0
- package/_esm/core/types/primitives.js +3 -0
- package/_esm/core/types/primitives.js.map +1 -0
- package/_esm/core/types/publicDecryptionProof-p.js +2 -0
- package/_esm/core/types/publicDecryptionProof-p.js.map +1 -0
- package/_esm/core/types/record-p.js +2 -0
- package/_esm/core/types/record-p.js.map +1 -0
- package/_esm/core/types/relayer-p.js +2 -0
- package/_esm/core/types/relayer-p.js.map +1 -0
- package/_esm/core/types/relayer.js +2 -0
- package/_esm/core/types/relayer.js.map +1 -0
- package/_esm/core/types/signedDecryptionPermit.js +2 -0
- package/_esm/core/types/signedDecryptionPermit.js.map +1 -0
- package/_esm/core/types/tkms-p.js +2 -0
- package/_esm/core/types/tkms-p.js.map +1 -0
- package/_esm/core/types/utils.js +2 -0
- package/_esm/core/types/utils.js.map +1 -0
- package/_esm/core/types/zkProof-p.js +2 -0
- package/_esm/core/types/zkProof-p.js.map +1 -0
- package/_esm/core/types/zkProofBuilder.js +2 -0
- package/_esm/core/types/zkProofBuilder.js.map +1 -0
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js +19 -0
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +31 -0
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +31 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +16 -0
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
- package/_esm/core/utils-p/runtime/recoverSigners.js +21 -0
- package/_esm/core/utils-p/runtime/recoverSigners.js.map +1 -0
- package/_esm/ethers/clients/createFhevmBaseClient.js +14 -0
- package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -0
- package/_esm/ethers/clients/createFhevmClient.js +9 -0
- package/_esm/ethers/clients/createFhevmClient.js.map +1 -0
- package/_esm/ethers/clients/createFhevmDecryptClient.js +8 -0
- package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -0
- package/_esm/ethers/clients/createFhevmEncryptClient.js +9 -0
- package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -0
- package/_esm/ethers/decorators/decrypt.js +7 -0
- package/_esm/ethers/decorators/decrypt.js.map +1 -0
- package/_esm/ethers/decorators/encrypt.js +7 -0
- package/_esm/ethers/decorators/encrypt.js.map +1 -0
- package/_esm/ethers/index.js +9 -0
- package/_esm/ethers/index.js.map +1 -0
- package/_esm/ethers/internal/ethereum.js +112 -0
- package/_esm/ethers/internal/ethereum.js.map +1 -0
- package/_esm/ethers/internal/ethers-p.js +79 -0
- package/_esm/ethers/internal/ethers-p.js.map +1 -0
- package/_esm/ethers/internal/utils.js +27 -0
- package/_esm/ethers/internal/utils.js.map +1 -0
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +7 -0
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +7 -0
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
- package/_esm/ethers/runtime/initFhevmRuntime.js +7 -0
- package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/viem/clients/createFhevmBaseClient.js +14 -0
- package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -0
- package/_esm/viem/clients/createFhevmClient.js +9 -0
- package/_esm/viem/clients/createFhevmClient.js.map +1 -0
- package/_esm/viem/clients/createFhevmDecryptClient.js +8 -0
- package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -0
- package/_esm/viem/clients/createFhevmEncryptClient.js +9 -0
- package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -0
- package/_esm/viem/decorators/decrypt.js +7 -0
- package/_esm/viem/decorators/decrypt.js.map +1 -0
- package/_esm/viem/decorators/encrypt.js +7 -0
- package/_esm/viem/decorators/encrypt.js.map +1 -0
- package/_esm/viem/index.js +9 -0
- package/_esm/viem/index.js.map +1 -0
- package/_esm/viem/internal/ethereum.js +99 -0
- package/_esm/viem/internal/ethereum.js.map +1 -0
- package/_esm/viem/internal/viem-p.js +79 -0
- package/_esm/viem/internal/viem-p.js.map +1 -0
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js +7 -0
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js +7 -0
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
- package/_esm/viem/runtime/initFhevmRuntime.js +7 -0
- package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -0
- package/_esm/wasm/tfhe/compile-worker.js +8 -0
- package/_esm/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
- package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
- package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
- package/_esm/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
- package/_esm/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
- package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
- package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
- package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
- package/_esm/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
- package/_esm/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
- package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
- package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
- package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
- package/_esm/wasm/wasmBaseUrl.d.ts +7 -0
- package/_esm/wasm/wasmBaseUrl.js +14 -0
- package/_types/core/_version.d.ts +3 -0
- package/_types/core/_version.d.ts.map +1 -0
- package/_types/core/actions/base/canReadPublicValue.d.ts +9 -0
- package/_types/core/actions/base/canReadPublicValue.d.ts.map +1 -0
- package/_types/core/actions/base/canReadPublicValues.d.ts +9 -0
- package/_types/core/actions/base/canReadPublicValues.d.ts.map +1 -0
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +14 -0
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +1 -0
- package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts +41 -0
- package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +1 -0
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +14 -0
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +1 -0
- package/_types/core/actions/base/index.d.ts +15 -0
- package/_types/core/actions/base/index.d.ts.map +1 -0
- package/_types/core/actions/base/readCoprocessorSignersContext.d.ts +6 -0
- package/_types/core/actions/base/readCoprocessorSignersContext.d.ts.map +1 -0
- package/_types/core/actions/base/readKmsSignersContext.d.ts +6 -0
- package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -0
- package/_types/core/actions/base/readPublicValue.d.ts +12 -0
- package/_types/core/actions/base/readPublicValue.d.ts.map +1 -0
- package/_types/core/actions/base/readPublicValues.d.ts +12 -0
- package/_types/core/actions/base/readPublicValues.d.ts.map +1 -0
- package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts +21 -0
- package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts.map +1 -0
- package/_types/core/actions/base/signDecryptionPermit.d.ts +9 -0
- package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -0
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +14 -0
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/actions/base/verifyInputProof.d.ts +14 -0
- package/_types/core/actions/base/verifyInputProof.d.ts.map +1 -0
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +11 -0
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +7 -0
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +1 -0
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts +7 -0
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +1 -0
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +14 -0
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts +12 -0
- package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
- package/_types/core/actions/chain/index.d.ts +13 -0
- package/_types/core/actions/chain/index.d.ts.map +1 -0
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +21 -0
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -0
- package/_types/core/actions/chain/parseTransportKeypair.d.ts +11 -0
- package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -0
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +21 -0
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -0
- package/_types/core/actions/chain/serializeTransportKeypair.d.ts +14 -0
- package/_types/core/actions/chain/serializeTransportKeypair.d.ts.map +1 -0
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +7 -0
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +7 -0
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/actions/decrypt/canDecryptValue.d.ts +66 -0
- package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -0
- package/_types/core/actions/decrypt/canDecryptValues.d.ts +27 -0
- package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -0
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +29 -0
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -0
- package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts +13 -0
- package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +1 -0
- package/_types/core/actions/decrypt/decryptValue.d.ts +26 -0
- package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -0
- package/_types/core/actions/decrypt/decryptValues.d.ts +26 -0
- package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -0
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +28 -0
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -0
- package/_types/core/actions/decrypt/generateTransportKeypair.d.ts +7 -0
- package/_types/core/actions/decrypt/generateTransportKeypair.d.ts.map +1 -0
- package/_types/core/actions/decrypt/index.d.ts +11 -0
- package/_types/core/actions/decrypt/index.d.ts.map +1 -0
- package/_types/core/actions/encrypt/encryptValue.d.ts +18 -0
- package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -0
- package/_types/core/actions/encrypt/encryptValues.d.ts +18 -0
- package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -0
- package/_types/core/actions/encrypt/generateZkProof.d.ts +13 -0
- package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -0
- package/_types/core/actions/encrypt/index.d.ts +6 -0
- package/_types/core/actions/encrypt/index.d.ts.map +1 -0
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +8 -0
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
- package/_types/core/actions/host/index.d.ts +8 -0
- package/_types/core/actions/host/index.d.ts.map +1 -0
- package/_types/core/actions/host/isAllowedForDecryption.d.ts +11 -0
- package/_types/core/actions/host/isAllowedForDecryption.d.ts.map +1 -0
- package/_types/core/actions/host/persistAllowed.d.ts +12 -0
- package/_types/core/actions/host/persistAllowed.d.ts.map +1 -0
- package/_types/core/actions/host/readFhevmExecutorContractData.d.ts +9 -0
- package/_types/core/actions/host/readFhevmExecutorContractData.d.ts.map +1 -0
- package/_types/core/actions/host/readInputVerifierContractData.d.ts +9 -0
- package/_types/core/actions/host/readInputVerifierContractData.d.ts.map +1 -0
- package/_types/core/actions/host/readKmsVerifierContractData.d.ts +9 -0
- package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -0
- package/_types/core/actions/host/resolveChainId.d.ts +9 -0
- package/_types/core/actions/host/resolveChainId.d.ts.map +1 -0
- package/_types/core/actions/host/resolveFhevmConfig.d.ts +38 -0
- package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -0
- package/_types/core/base/address.d.ts +52 -0
- package/_types/core/base/address.d.ts.map +1 -0
- package/_types/core/base/auth.d.ts +10 -0
- package/_types/core/base/auth.d.ts.map +1 -0
- package/_types/core/base/boolean.d.ts +45 -0
- package/_types/core/base/boolean.d.ts.map +1 -0
- package/_types/core/base/bytes.d.ts +822 -0
- package/_types/core/base/bytes.d.ts.map +1 -0
- package/_types/core/base/cachedFetch.d.ts +75 -0
- package/_types/core/base/cachedFetch.d.ts.map +1 -0
- package/_types/core/base/errors/AddressError.d.ts +12 -0
- package/_types/core/base/errors/AddressError.d.ts.map +1 -0
- package/_types/core/base/errors/ChecksummedAddressError.d.ts +12 -0
- package/_types/core/base/errors/ChecksummedAddressError.d.ts.map +1 -0
- package/_types/core/base/errors/ErrorBase.d.ts +23 -0
- package/_types/core/base/errors/ErrorBase.d.ts.map +1 -0
- package/_types/core/base/errors/FetchError.d.ts +14 -0
- package/_types/core/base/errors/FetchError.d.ts.map +1 -0
- package/_types/core/base/errors/FheTypeError.d.ts +14 -0
- package/_types/core/base/errors/FheTypeError.d.ts.map +1 -0
- package/_types/core/base/errors/InternalError.d.ts +12 -0
- package/_types/core/base/errors/InternalError.d.ts.map +1 -0
- package/_types/core/base/errors/InvalidPropertyError.d.ts +116 -0
- package/_types/core/base/errors/InvalidPropertyError.d.ts.map +1 -0
- package/_types/core/base/errors/InvalidTypeError.d.ts +44 -0
- package/_types/core/base/errors/InvalidTypeError.d.ts.map +1 -0
- package/_types/core/base/errors/utils.d.ts +4 -0
- package/_types/core/base/errors/utils.d.ts.map +1 -0
- package/_types/core/base/fetch.d.ts +70 -0
- package/_types/core/base/fetch.d.ts.map +1 -0
- package/_types/core/base/index.d.ts +2 -0
- package/_types/core/base/index.d.ts.map +1 -0
- package/_types/core/base/isomorphicWorker.d.ts +50 -0
- package/_types/core/base/isomorphicWorker.d.ts.map +1 -0
- package/_types/core/base/object.d.ts +15 -0
- package/_types/core/base/object.d.ts.map +1 -0
- package/_types/core/base/promise.d.ts +22 -0
- package/_types/core/base/promise.d.ts.map +1 -0
- package/_types/core/base/record.d.ts +88 -0
- package/_types/core/base/record.d.ts.map +1 -0
- package/_types/core/base/string.d.ts +75 -0
- package/_types/core/base/string.d.ts.map +1 -0
- package/_types/core/base/timeout.d.ts +7 -0
- package/_types/core/base/timeout.d.ts.map +1 -0
- package/_types/core/base/trustedValue.d.ts +54 -0
- package/_types/core/base/trustedValue.d.ts.map +1 -0
- package/_types/core/base/typedValue.d.ts +104 -0
- package/_types/core/base/typedValue.d.ts.map +1 -0
- package/_types/core/base/uid.d.ts +2 -0
- package/_types/core/base/uid.d.ts.map +1 -0
- package/_types/core/base/uint.d.ts +128 -0
- package/_types/core/base/uint.d.ts.map +1 -0
- package/_types/core/base/wasm.d.ts +16 -0
- package/_types/core/base/wasm.d.ts.map +1 -0
- package/_types/core/chains/definitions/localTestnet.d.ts +29 -0
- package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -0
- package/_types/core/chains/definitions/mainnet.d.ts +29 -0
- package/_types/core/chains/definitions/mainnet.d.ts.map +1 -0
- package/_types/core/chains/definitions/sepolia.d.ts +3 -0
- package/_types/core/chains/definitions/sepolia.d.ts.map +1 -0
- package/_types/core/chains/index.d.ts +5 -0
- package/_types/core/chains/index.d.ts.map +1 -0
- package/_types/core/chains/utils.d.ts +3 -0
- package/_types/core/chains/utils.d.ts.map +1 -0
- package/_types/core/clients/decorators/base.d.ts +117 -0
- package/_types/core/clients/decorators/base.d.ts.map +1 -0
- package/_types/core/clients/decorators/decrypt.d.ts +25 -0
- package/_types/core/clients/decorators/decrypt.d.ts.map +1 -0
- package/_types/core/clients/decorators/encrypt-p.d.ts +5 -0
- package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -0
- package/_types/core/clients/decorators/encrypt.d.ts +12 -0
- package/_types/core/clients/decorators/encrypt.d.ts.map +1 -0
- package/_types/core/coprocessor/InputProof-p.d.ts +55 -0
- package/_types/core/coprocessor/InputProof-p.d.ts.map +1 -0
- package/_types/core/coprocessor/ZkProof-p.d.ts +39 -0
- package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -0
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +20 -0
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -0
- package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts +4 -0
- package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts.map +1 -0
- package/_types/core/coprocessor/coprocessorEip712Types.d.ts +4 -0
- package/_types/core/coprocessor/coprocessorEip712Types.d.ts.map +1 -0
- package/_types/core/coprocessor/createCoprocessorEip712.d.ts +13 -0
- package/_types/core/coprocessor/createCoprocessorEip712.d.ts.map +1 -0
- package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts +6 -0
- package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts.map +1 -0
- package/_types/core/coprocessor/encrypt.d.ts +26 -0
- package/_types/core/coprocessor/encrypt.d.ts.map +1 -0
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +23 -0
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -0
- package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts +23 -0
- package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/coprocessor/verifyInputProof.d.ts +23 -0
- package/_types/core/coprocessor/verifyInputProof.d.ts.map +1 -0
- package/_types/core/errors/AclError.d.ts +28 -0
- package/_types/core/errors/AclError.d.ts.map +1 -0
- package/_types/core/errors/ContractErrorBase.d.ts +18 -0
- package/_types/core/errors/ContractErrorBase.d.ts.map +1 -0
- package/_types/core/errors/EncryptionError.d.ts +11 -0
- package/_types/core/errors/EncryptionError.d.ts.map +1 -0
- package/_types/core/errors/FhevmConfigError.d.ts +11 -0
- package/_types/core/errors/FhevmConfigError.d.ts.map +1 -0
- package/_types/core/errors/FhevmErrorBase.d.ts +21 -0
- package/_types/core/errors/FhevmErrorBase.d.ts.map +1 -0
- package/_types/core/errors/FhevmHandleError.d.ts +13 -0
- package/_types/core/errors/FhevmHandleError.d.ts.map +1 -0
- package/_types/core/errors/InputProofError.d.ts +20 -0
- package/_types/core/errors/InputProofError.d.ts.map +1 -0
- package/_types/core/errors/RelayerAbortError.d.ts +14 -0
- package/_types/core/errors/RelayerAbortError.d.ts.map +1 -0
- package/_types/core/errors/RelayerErrorBase.d.ts +23 -0
- package/_types/core/errors/RelayerErrorBase.d.ts.map +1 -0
- package/_types/core/errors/RelayerFetchError.d.ts +17 -0
- package/_types/core/errors/RelayerFetchError.d.ts.map +1 -0
- package/_types/core/errors/RelayerFetchErrorBase.d.ts +29 -0
- package/_types/core/errors/RelayerFetchErrorBase.d.ts.map +1 -0
- package/_types/core/errors/RelayerMaxRetryError.d.ts +14 -0
- package/_types/core/errors/RelayerMaxRetryError.d.ts.map +1 -0
- package/_types/core/errors/RelayerRequestErrorBase.d.ts +20 -0
- package/_types/core/errors/RelayerRequestErrorBase.d.ts.map +1 -0
- package/_types/core/errors/RelayerRequestInternalError.d.ts +20 -0
- package/_types/core/errors/RelayerRequestInternalError.d.ts.map +1 -0
- package/_types/core/errors/RelayerResponseApiError.d.ts +19 -0
- package/_types/core/errors/RelayerResponseApiError.d.ts.map +1 -0
- package/_types/core/errors/RelayerResponseErrorBase.d.ts +15 -0
- package/_types/core/errors/RelayerResponseErrorBase.d.ts.map +1 -0
- package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts +14 -0
- package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts.map +1 -0
- package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts +20 -0
- package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts.map +1 -0
- package/_types/core/errors/RelayerResponseStatusError.d.ts +17 -0
- package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -0
- package/_types/core/errors/RelayerStateError.d.ts +20 -0
- package/_types/core/errors/RelayerStateError.d.ts.map +1 -0
- package/_types/core/errors/RelayerTimeoutError.d.ts +16 -0
- package/_types/core/errors/RelayerTimeoutError.d.ts.map +1 -0
- package/_types/core/errors/SignersError.d.ts +33 -0
- package/_types/core/errors/SignersError.d.ts.map +1 -0
- package/_types/core/errors/TfheError.d.ts +13 -0
- package/_types/core/errors/TfheError.d.ts.map +1 -0
- package/_types/core/errors/ZkProofError.d.ts +11 -0
- package/_types/core/errors/ZkProofError.d.ts.map +1 -0
- package/_types/core/handle/ClearValue.d.ts +88 -0
- package/_types/core/handle/ClearValue.d.ts.map +1 -0
- package/_types/core/handle/EncryptedValue.d.ts +6 -0
- package/_types/core/handle/EncryptedValue.d.ts.map +1 -0
- package/_types/core/handle/FheType.d.ts +164 -0
- package/_types/core/handle/FheType.d.ts.map +1 -0
- package/_types/core/handle/FhevmHandle.d.ts +118 -0
- package/_types/core/handle/FhevmHandle.d.ts.map +1 -0
- package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts +20 -0
- package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts.map +1 -0
- package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts +18 -0
- package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts.map +1 -0
- package/_types/core/host-contracts/HostContractVersion-p.d.ts +47 -0
- package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -0
- package/_types/core/host-contracts/InputVerifierContractData-p.d.ts +17 -0
- package/_types/core/host-contracts/InputVerifierContractData-p.d.ts.map +1 -0
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts +39 -0
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -0
- package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts +17 -0
- package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts.map +1 -0
- package/_types/core/host-contracts/abi-fragments/fragments.d.ts +78 -0
- package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -0
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +38 -0
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -0
- package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +19 -0
- package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -0
- package/_types/core/host-contracts/checkPersistAllowed.d.ts +21 -0
- package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -0
- package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts +18 -0
- package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts.map +1 -0
- package/_types/core/host-contracts/eip712Domain-p.d.ts +23 -0
- package/_types/core/host-contracts/eip712Domain-p.d.ts.map +1 -0
- package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts +18 -0
- package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getAclAddress-p.d.ts +18 -0
- package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts +28 -0
- package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts +18 -0
- package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +25 -0
- package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +18 -0
- package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getHandleVersion-p.d.ts +18 -0
- package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +18 -0
- package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +18 -0
- package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +38 -0
- package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +34 -0
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +27 -0
- package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -0
- package/_types/core/host-contracts/isAllowedForDecryption.d.ts +18 -0
- package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -0
- package/_types/core/host-contracts/isUserDecryptable.d.ts +29 -0
- package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -0
- package/_types/core/host-contracts/persistAllowed.d.ts +18 -0
- package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -0
- package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts +17 -0
- package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts.map +1 -0
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +62 -0
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -0
- package/_types/core/key/FheEncryptionKeyCache-p.d.ts +93 -0
- package/_types/core/key/FheEncryptionKeyCache-p.d.ts.map +1 -0
- package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +13 -0
- package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -0
- package/_types/core/key/deserializeFheEncryptionKey.d.ts +6 -0
- package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -0
- package/_types/core/key/fetchFheEncryptionKey.d.ts +12 -0
- package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -0
- package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts +12 -0
- package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
- package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts +4 -0
- package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts.map +1 -0
- package/_types/core/key/serializeFheEncryptionKey.d.ts +6 -0
- package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -0
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts +39 -0
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -0
- package/_types/core/kms/PublicDecryptionProof-p.d.ts +42 -0
- package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -0
- package/_types/core/kms/PublicDecryptionProof.d.ts +3 -0
- package/_types/core/kms/PublicDecryptionProof.d.ts.map +1 -0
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts +78 -0
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -0
- package/_types/core/kms/TransportKeypair-p.d.ts +54 -0
- package/_types/core/kms/TransportKeypair-p.d.ts.map +1 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/kms/createKmsEip712Domain.d.ts +17 -0
- package/_types/core/kms/createKmsEip712Domain.d.ts.map +1 -0
- package/_types/core/kms/createKmsPublicDecryptEip712.d.ts +11 -0
- package/_types/core/kms/createKmsPublicDecryptEip712.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts +26 -0
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts +15 -0
- package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +1 -0
- package/_types/core/kms/decryptValuesFromPairs.d.ts +36 -0
- package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -0
- package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts +34 -0
- package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -0
- package/_types/core/kms/index.d.ts +2 -0
- package/_types/core/kms/index.d.ts.map +1 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +3 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +1 -0
- package/_types/core/kms/kmsExtraData.d.ts +18 -0
- package/_types/core/kms/kmsExtraData.d.ts.map +1 -0
- package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts +3 -0
- package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts.map +1 -0
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +3 -0
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +1 -0
- package/_types/core/kms/publicDecrypt.d.ts +22 -0
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -0
- package/_types/core/kms/utils.d.ts +16 -0
- package/_types/core/kms/utils.d.ts.map +1 -0
- package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +18 -0
- package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts.map +1 -0
- package/_types/core/modules/decrypt/mock.d.ts +11 -0
- package/_types/core/modules/decrypt/mock.d.ts.map +1 -0
- package/_types/core/modules/decrypt/module/api-p.d.ts +9 -0
- package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -0
- package/_types/core/modules/decrypt/module/index.d.ts +4 -0
- package/_types/core/modules/decrypt/module/index.d.ts.map +1 -0
- package/_types/core/modules/decrypt/module/init-p.d.ts +5 -0
- package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -0
- package/_types/core/modules/decrypt/types.d.ts +96 -0
- package/_types/core/modules/decrypt/types.d.ts.map +1 -0
- package/_types/core/modules/encrypt/mock.d.ts +10 -0
- package/_types/core/modules/encrypt/mock.d.ts.map +1 -0
- package/_types/core/modules/encrypt/module/api-p.d.ts +13 -0
- package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -0
- package/_types/core/modules/encrypt/module/index.d.ts +3 -0
- package/_types/core/modules/encrypt/module/index.d.ts.map +1 -0
- package/_types/core/modules/encrypt/module/init-p.d.ts +8 -0
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -0
- package/_types/core/modules/encrypt/types.d.ts +105 -0
- package/_types/core/modules/encrypt/types.d.ts.map +1 -0
- package/_types/core/modules/ethereum/createTrustedClient.d.ts +3 -0
- package/_types/core/modules/ethereum/createTrustedClient.d.ts.map +1 -0
- package/_types/core/modules/ethereum/types.d.ts +89 -0
- package/_types/core/modules/ethereum/types.d.ts.map +1 -0
- package/_types/core/modules/relayer/mock.d.ts +3 -0
- package/_types/core/modules/relayer/mock.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +190 -0
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts +22 -0
- package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts +18 -0
- package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts +55 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts +24 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts +20 -0
- package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +15 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts +18 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts +13 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts +13 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts +13 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts +13 -0
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/index.d.ts +3 -0
- package/_types/core/modules/relayer/module/index.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/relayerUrl.d.ts +6 -0
- package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/utils.d.ts +3 -0
- package/_types/core/modules/relayer/module/utils.d.ts.map +1 -0
- package/_types/core/modules/relayer/types.d.ts +96 -0
- package/_types/core/modules/relayer/types.d.ts.map +1 -0
- package/_types/core/runtime/CoreFhevm-p.d.ts +46 -0
- package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -0
- package/_types/core/runtime/CoreFhevmRuntime-p.d.ts +25 -0
- package/_types/core/runtime/CoreFhevmRuntime-p.d.ts.map +1 -0
- package/_types/core/runtime/FhevmRuntime.d.ts +3 -0
- package/_types/core/runtime/FhevmRuntime.d.ts.map +1 -0
- package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts +3 -0
- package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts.map +1 -0
- package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts +3 -0
- package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts.map +1 -0
- package/_types/core/runtime/initFhevmRuntime-p.d.ts +3 -0
- package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -0
- package/_types/core/types/auth.d.ts +41 -0
- package/_types/core/types/auth.d.ts.map +1 -0
- package/_types/core/types/configs.d.ts +21 -0
- package/_types/core/types/configs.d.ts.map +1 -0
- package/_types/core/types/coprocessor.d.ts +71 -0
- package/_types/core/types/coprocessor.d.ts.map +1 -0
- package/_types/core/types/coprocessorSignersContext.d.ts +14 -0
- package/_types/core/types/coprocessorSignersContext.d.ts.map +1 -0
- package/_types/core/types/coreFhevmClient.d.ts +33 -0
- package/_types/core/types/coreFhevmClient.d.ts.map +1 -0
- package/_types/core/types/coreFhevmRuntime.d.ts +36 -0
- package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -0
- package/_types/core/types/encryptedTypes-p.d.ts +104 -0
- package/_types/core/types/encryptedTypes-p.d.ts.map +1 -0
- package/_types/core/types/encryptedTypes.d.ts +35 -0
- package/_types/core/types/encryptedTypes.d.ts.map +1 -0
- package/_types/core/types/fheEncryptionKey.d.ts +77 -0
- package/_types/core/types/fheEncryptionKey.d.ts.map +1 -0
- package/_types/core/types/fheType.d.ts +99 -0
- package/_types/core/types/fheType.d.ts.map +1 -0
- package/_types/core/types/fhevmChain.d.ts +75 -0
- package/_types/core/types/fhevmChain.d.ts.map +1 -0
- package/_types/core/types/fhevmClient.d.ts +11 -0
- package/_types/core/types/fhevmClient.d.ts.map +1 -0
- package/_types/core/types/fhevmDecryptionKey.d.ts +4 -0
- package/_types/core/types/fhevmDecryptionKey.d.ts.map +1 -0
- package/_types/core/types/fhevmUser.d.ts +7 -0
- package/_types/core/types/fhevmUser.d.ts.map +1 -0
- package/_types/core/types/hostContract.d.ts +22 -0
- package/_types/core/types/hostContract.d.ts.map +1 -0
- package/_types/core/types/index.d.ts +3 -0
- package/_types/core/types/index.d.ts.map +1 -0
- package/_types/core/types/inputProof.d.ts +74 -0
- package/_types/core/types/inputProof.d.ts.map +1 -0
- package/_types/core/types/kms-p.d.ts +17 -0
- package/_types/core/types/kms-p.d.ts.map +1 -0
- package/_types/core/types/kms.d.ts +179 -0
- package/_types/core/types/kms.d.ts.map +1 -0
- package/_types/core/types/kmsSignersContext.d.ts +48 -0
- package/_types/core/types/kmsSignersContext.d.ts.map +1 -0
- package/_types/core/types/logger.d.ts +5 -0
- package/_types/core/types/logger.d.ts.map +1 -0
- package/_types/core/types/other-p.d.ts +11 -0
- package/_types/core/types/other-p.d.ts.map +1 -0
- package/_types/core/types/primitives.d.ts +527 -0
- package/_types/core/types/primitives.d.ts.map +1 -0
- package/_types/core/types/publicDecryptionProof-p.d.ts +27 -0
- package/_types/core/types/publicDecryptionProof-p.d.ts.map +1 -0
- package/_types/core/types/record-p.d.ts +18 -0
- package/_types/core/types/record-p.d.ts.map +1 -0
- package/_types/core/types/relayer-p.d.ts +285 -0
- package/_types/core/types/relayer-p.d.ts.map +1 -0
- package/_types/core/types/relayer.d.ts +106 -0
- package/_types/core/types/relayer.d.ts.map +1 -0
- package/_types/core/types/signedDecryptionPermit.d.ts +46 -0
- package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -0
- package/_types/core/types/tkms-p.d.ts +5 -0
- package/_types/core/types/tkms-p.d.ts.map +1 -0
- package/_types/core/types/utils.d.ts +34 -0
- package/_types/core/types/utils.d.ts.map +1 -0
- package/_types/core/types/zkProof-p.d.ts +21 -0
- package/_types/core/types/zkProof-p.d.ts.map +1 -0
- package/_types/core/types/zkProofBuilder.d.ts +23 -0
- package/_types/core/types/zkProofBuilder.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts +12 -0
- package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +16 -0
- package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -0
- package/_types/core/utils-p/runtime/recoverSigners.d.ts +23 -0
- package/_types/core/utils-p/runtime/recoverSigners.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmBaseClient.d.ts +11 -0
- package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmClient.d.ts +11 -0
- package/_types/ethers/clients/createFhevmClient.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmDecryptClient.d.ts +11 -0
- package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmEncryptClient.d.ts +11 -0
- package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -0
- package/_types/ethers/decorators/decrypt.d.ts +6 -0
- package/_types/ethers/decorators/decrypt.d.ts.map +1 -0
- package/_types/ethers/decorators/encrypt.d.ts +6 -0
- package/_types/ethers/decorators/encrypt.d.ts.map +1 -0
- package/_types/ethers/index.d.ts +9 -0
- package/_types/ethers/index.d.ts.map +1 -0
- package/_types/ethers/internal/ethereum.d.ts +11 -0
- package/_types/ethers/internal/ethereum.d.ts.map +1 -0
- package/_types/ethers/internal/ethers-p.d.ts +39 -0
- package/_types/ethers/internal/ethers-p.d.ts.map +1 -0
- package/_types/ethers/internal/utils.d.ts +10 -0
- package/_types/ethers/internal/utils.d.ts.map +1 -0
- package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts +2 -0
- package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
- package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts +2 -0
- package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
- package/_types/ethers/runtime/initFhevmRuntime.d.ts +2 -0
- package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmBaseClient.d.ts +11 -0
- package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmClient.d.ts +11 -0
- package/_types/viem/clients/createFhevmClient.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmDecryptClient.d.ts +11 -0
- package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmEncryptClient.d.ts +11 -0
- package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -0
- package/_types/viem/decorators/decrypt.d.ts +6 -0
- package/_types/viem/decorators/decrypt.d.ts.map +1 -0
- package/_types/viem/decorators/encrypt.d.ts +6 -0
- package/_types/viem/decorators/encrypt.d.ts.map +1 -0
- package/_types/viem/index.d.ts +9 -0
- package/_types/viem/index.d.ts.map +1 -0
- package/_types/viem/internal/ethereum.d.ts +11 -0
- package/_types/viem/internal/ethereum.d.ts.map +1 -0
- package/_types/viem/internal/viem-p.d.ts +39 -0
- package/_types/viem/internal/viem-p.d.ts.map +1 -0
- package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts +2 -0
- package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
- package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts +2 -0
- package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
- package/_types/viem/runtime/initFhevmRuntime.d.ts +2 -0
- package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -0
- package/core/_version.ts +3 -0
- package/core/actions/base/canReadPublicValue.ts +28 -0
- package/core/actions/base/canReadPublicValues.ts +28 -0
- package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +24 -0
- package/core/actions/base/fetchKmsSignedcryptedShares.ts +83 -0
- package/core/actions/base/fetchVerifiedInputProof.ts +25 -0
- package/core/actions/base/index.ts +69 -0
- package/core/actions/base/package.json +6 -0
- package/core/actions/base/readCoprocessorSignersContext.ts +21 -0
- package/core/actions/base/readKmsSignersContext.ts +19 -0
- package/core/actions/base/readPublicValue.ts +31 -0
- package/core/actions/base/readPublicValues.ts +31 -0
- package/core/actions/base/readPublicValuesWithSignatures.ts +53 -0
- package/core/actions/base/signDecryptionPermit.ts +41 -0
- package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +60 -0
- package/core/actions/base/verifyInputProof.ts +45 -0
- package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +32 -0
- package/core/actions/chain/createCoprocessorEip712Domain.ts +16 -0
- package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +37 -0
- package/core/actions/chain/createKmsEip712Domain.ts +16 -0
- package/core/actions/chain/createKmsUserDecryptEip712.ts +35 -0
- package/core/actions/chain/fetchFheEncryptionKeyBytes.ts +24 -0
- package/core/actions/chain/index.ts +63 -0
- package/core/actions/chain/package.json +6 -0
- package/core/actions/chain/parseSignedDecryptionPermit.ts +35 -0
- package/core/actions/chain/parseTransportKeypair.ts +24 -0
- package/core/actions/chain/serializeSignedDecryptionPermit.ts +31 -0
- package/core/actions/chain/serializeTransportKeypair.ts +28 -0
- package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +16 -0
- package/core/actions/chain/verifyKmsUserDecryptEip712.ts +16 -0
- package/core/actions/decrypt/canDecryptValue.ts +109 -0
- package/core/actions/decrypt/canDecryptValues.ts +71 -0
- package/core/actions/decrypt/canDecryptValuesFromPairs.ts +68 -0
- package/core/actions/decrypt/decryptKmsSignedcryptedShares.ts +31 -0
- package/core/actions/decrypt/decryptValue.ts +69 -0
- package/core/actions/decrypt/decryptValues.ts +66 -0
- package/core/actions/decrypt/decryptValuesFromPairs.ts +66 -0
- package/core/actions/decrypt/generateTransportKeypair.ts +19 -0
- package/core/actions/decrypt/index.ts +58 -0
- package/core/actions/decrypt/package.json +6 -0
- package/core/actions/encrypt/encryptValue.ts +52 -0
- package/core/actions/encrypt/encryptValues.ts +51 -0
- package/core/actions/encrypt/generateZkProof.ts +34 -0
- package/core/actions/encrypt/index.ts +12 -0
- package/core/actions/encrypt/package.json +6 -0
- package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +32 -0
- package/core/actions/host/index.ts +33 -0
- package/core/actions/host/isAllowedForDecryption.ts +35 -0
- package/core/actions/host/package.json +6 -0
- package/core/actions/host/persistAllowed.ts +35 -0
- package/core/actions/host/readFhevmExecutorContractData.ts +74 -0
- package/core/actions/host/readInputVerifierContractData.ts +74 -0
- package/core/actions/host/readKmsVerifierContractData.ts +75 -0
- package/core/actions/host/resolveChainId.ts +42 -0
- package/core/actions/host/resolveFhevmConfig.ts +191 -0
- package/core/base/address.ts +303 -0
- package/core/base/auth.ts +38 -0
- package/core/base/boolean.ts +72 -0
- package/core/base/bytes.ts +2060 -0
- package/core/base/cachedFetch.ts +184 -0
- package/core/base/errors/AddressError.ts +20 -0
- package/core/base/errors/ChecksummedAddressError.ts +23 -0
- package/core/base/errors/ErrorBase.ts +79 -0
- package/core/base/errors/FetchError.ts +27 -0
- package/core/base/errors/FheTypeError.ts +62 -0
- package/core/base/errors/InternalError.ts +33 -0
- package/core/base/errors/InvalidPropertyError.ts +232 -0
- package/core/base/errors/InvalidTypeError.ts +87 -0
- package/core/base/errors/utils.ts +41 -0
- package/core/base/fetch.ts +284 -0
- package/core/base/index.ts +1 -0
- package/core/base/isomorphicWorker.ts +283 -0
- package/core/base/object.ts +41 -0
- package/core/base/promise.ts +31 -0
- package/core/base/record.ts +201 -0
- package/core/base/string.ts +214 -0
- package/core/base/timeout.ts +32 -0
- package/core/base/trustedValue.ts +110 -0
- package/core/base/typedValue.ts +326 -0
- package/core/base/uid.ts +17 -0
- package/core/base/uint.ts +630 -0
- package/core/base/wasm.ts +97 -0
- package/core/chains/definitions/localTestnet.ts +30 -0
- package/core/chains/definitions/mainnet.ts +30 -0
- package/core/chains/definitions/sepolia.ts +32 -0
- package/core/chains/index.ts +6 -0
- package/core/chains/package.json +6 -0
- package/core/chains/utils.ts +6 -0
- package/core/clients/decorators/base.ts +203 -0
- package/core/clients/decorators/decrypt.ts +85 -0
- package/core/clients/decorators/encrypt-p.ts +18 -0
- package/core/clients/decorators/encrypt.ts +47 -0
- package/core/coprocessor/InputProof-p.ts +424 -0
- package/core/coprocessor/ZkProof-p.ts +477 -0
- package/core/coprocessor/ZkProofBuilder-p.ts +295 -0
- package/core/coprocessor/assertIsCoprocessorEip712Domain.ts +23 -0
- package/core/coprocessor/coprocessorEip712Types.ts +39 -0
- package/core/coprocessor/createCoprocessorEip712.ts +69 -0
- package/core/coprocessor/createCoprocessorEip712Domain.ts +25 -0
- package/core/coprocessor/encrypt.ts +48 -0
- package/core/coprocessor/fetchVerifiedInputProof.ts +84 -0
- package/core/coprocessor/verifyHandlesCoprocessorSignatures.ts +66 -0
- package/core/coprocessor/verifyInputProof.ts +50 -0
- package/core/errors/AclError.ts +55 -0
- package/core/errors/ContractErrorBase.ts +38 -0
- package/core/errors/EncryptionError.ts +22 -0
- package/core/errors/FhevmConfigError.ts +22 -0
- package/core/errors/FhevmErrorBase.ts +53 -0
- package/core/errors/FhevmHandleError.ts +20 -0
- package/core/errors/InputProofError.ts +43 -0
- package/core/errors/RelayerAbortError.ts +27 -0
- package/core/errors/RelayerErrorBase.ts +81 -0
- package/core/errors/RelayerFetchError.ts +35 -0
- package/core/errors/RelayerFetchErrorBase.ts +90 -0
- package/core/errors/RelayerMaxRetryError.ts +28 -0
- package/core/errors/RelayerRequestErrorBase.ts +56 -0
- package/core/errors/RelayerRequestInternalError.ts +52 -0
- package/core/errors/RelayerResponseApiError.ts +43 -0
- package/core/errors/RelayerResponseErrorBase.ts +35 -0
- package/core/errors/RelayerResponseInputProofRejectedError.ts +28 -0
- package/core/errors/RelayerResponseInvalidBodyError.ts +43 -0
- package/core/errors/RelayerResponseStatusError.ts +33 -0
- package/core/errors/RelayerStateError.ts +39 -0
- package/core/errors/RelayerTimeoutError.ts +31 -0
- package/core/errors/SignersError.ts +73 -0
- package/core/errors/TfheError.ts +26 -0
- package/core/errors/ZkProofError.ts +23 -0
- package/core/handle/ClearValue.ts +341 -0
- package/core/handle/EncryptedValue.ts +29 -0
- package/core/handle/FheType.ts +545 -0
- package/core/handle/FhevmHandle.ts +740 -0
- package/core/host-contracts/CoprocessorSignersContext-p.ts +167 -0
- package/core/host-contracts/FhevmExecutorContractData-p.ts +133 -0
- package/core/host-contracts/HostContractVersion-p.ts +155 -0
- package/core/host-contracts/InputVerifierContractData-p.ts +133 -0
- package/core/host-contracts/KmsSignersContext-p.ts +238 -0
- package/core/host-contracts/KmsVerifierContractData-p.ts +110 -0
- package/core/host-contracts/abi-fragments/fragments.ts +460 -0
- package/core/host-contracts/canDecryptValuesFromPairs.ts +94 -0
- package/core/host-contracts/checkAllowedForDecryption.ts +36 -0
- package/core/host-contracts/checkPersistAllowed.ts +115 -0
- package/core/host-contracts/decryptionResultTypehash-p.ts +47 -0
- package/core/host-contracts/eip712Domain-p.ts +75 -0
- package/core/host-contracts/eip712InputVerificationTypehash-p.ts +47 -0
- package/core/host-contracts/getAclAddress-p.ts +47 -0
- package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +136 -0
- package/core/host-contracts/getCoprocessorSigners-p.ts +47 -0
- package/core/host-contracts/getCurrentKmsContextId-p.ts +74 -0
- package/core/host-contracts/getFhevmExecutorAddress-p.ts +47 -0
- package/core/host-contracts/getHandleVersion-p.ts +43 -0
- package/core/host-contracts/getHcuLimitAddress-p.ts +47 -0
- package/core/host-contracts/getInputVerifierAddress-p.ts +47 -0
- package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +149 -0
- package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +110 -0
- package/core/host-contracts/getSignersForKmsContext-p.ts +90 -0
- package/core/host-contracts/isAllowedForDecryption.ts +65 -0
- package/core/host-contracts/isUserDecryptable.ts +92 -0
- package/core/host-contracts/persistAllowed.ts +68 -0
- package/core/host-contracts/readCoprocessorSignersContext-p.ts +34 -0
- package/core/host-contracts/readKmsSignersContext-p.ts +221 -0
- package/core/key/FheEncryptionKeyCache-p.ts +326 -0
- package/core/key/FheEncryptionKeyWasm-p.ts +97 -0
- package/core/key/deserializeFheEncryptionKey.ts +24 -0
- package/core/key/fetchFheEncryptionKey.ts +46 -0
- package/core/key/fetchFheEncryptionKeyBytes.ts +69 -0
- package/core/key/fetchFheEncryptionKeyBytesWithSource.ts +72 -0
- package/core/key/serializeFheEncryptionKey.ts +36 -0
- package/core/kms/KmsSigncryptedShares-p.ts +169 -0
- package/core/kms/PublicDecryptionProof-p.ts +181 -0
- package/core/kms/PublicDecryptionProof.ts +10 -0
- package/core/kms/SignedDecryptionPermit-p.ts +453 -0
- package/core/kms/TransportKeypair-p.ts +278 -0
- package/core/kms/createKmsDelegatedUserDecryptEip712.ts +135 -0
- package/core/kms/createKmsEip712Domain.ts +67 -0
- package/core/kms/createKmsPublicDecryptEip712.ts +59 -0
- package/core/kms/createKmsUserDecryptEip712.ts +172 -0
- package/core/kms/decryptKmsSignedcryptedShares-p.ts +37 -0
- package/core/kms/decryptValuesFromPairs.ts +57 -0
- package/core/kms/fetchKmsSignedcryptedShares-p.ts +211 -0
- package/core/kms/index.ts +1 -0
- package/core/kms/kmsDelegatedUserDecryptEip712Types.ts +31 -0
- package/core/kms/kmsExtraData.ts +51 -0
- package/core/kms/kmsPublicDecryptEip712Types.ts +28 -0
- package/core/kms/kmsUserDecryptEip712Types.ts +30 -0
- package/core/kms/publicDecrypt.ts +109 -0
- package/core/kms/utils.ts +60 -0
- package/core/kms/verifyKmsPublicDecryptEip712-p.ts +75 -0
- package/core/modules/decrypt/mock.ts +134 -0
- package/core/modules/decrypt/module/api-p.ts +388 -0
- package/core/modules/decrypt/module/index.ts +73 -0
- package/core/modules/decrypt/module/init-p.ts +166 -0
- package/core/modules/decrypt/types.ts +214 -0
- package/core/modules/encrypt/mock.ts +111 -0
- package/core/modules/encrypt/module/api-p.ts +433 -0
- package/core/modules/encrypt/module/index.ts +47 -0
- package/core/modules/encrypt/module/init-p.ts +249 -0
- package/core/modules/encrypt/types.ts +225 -0
- package/core/modules/ethereum/createTrustedClient.ts +9 -0
- package/core/modules/ethereum/types.ts +153 -0
- package/core/modules/relayer/mock.ts +47 -0
- package/core/modules/relayer/module/RelayerAsyncRequest.ts +1771 -0
- package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +45 -0
- package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +67 -0
- package/core/modules/relayer/module/fetchFheEncryptionKeyBytes.ts +34 -0
- package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +166 -0
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +40 -0
- package/core/modules/relayer/module/fetchUserDecrypt.ts +65 -0
- package/core/modules/relayer/module/guards/RelayerInputProofSucceeded.ts +106 -0
- package/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.ts +59 -0
- package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +244 -0
- package/core/modules/relayer/module/guards/RelayerResponseQueued.ts +51 -0
- package/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.ts +77 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +65 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.ts +87 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError404.ts +25 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError429.ts +25 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError500.ts +25 -0
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +30 -0
- package/core/modules/relayer/module/index.ts +24 -0
- package/core/modules/relayer/module/relayerUrl.ts +38 -0
- package/core/modules/relayer/module/utils.ts +20 -0
- package/core/modules/relayer/types.ts +183 -0
- package/core/runtime/CoreFhevm-p.ts +409 -0
- package/core/runtime/CoreFhevmRuntime-p.ts +266 -0
- package/core/runtime/FhevmRuntime.ts +2 -0
- package/core/runtime/initFhevmDecryptRuntime-p.ts +9 -0
- package/core/runtime/initFhevmEncryptRuntime-p.ts +9 -0
- package/core/runtime/initFhevmRuntime-p.ts +10 -0
- package/core/types/auth.ts +44 -0
- package/core/types/configs.ts +29 -0
- package/core/types/coprocessor.ts +83 -0
- package/core/types/coprocessorSignersContext.ts +15 -0
- package/core/types/coreFhevmClient.ts +55 -0
- package/core/types/coreFhevmRuntime.ts +44 -0
- package/core/types/encryptedTypes-p.ts +226 -0
- package/core/types/encryptedTypes.ts +41 -0
- package/core/types/fheEncryptionKey.ts +106 -0
- package/core/types/fheType.ts +137 -0
- package/core/types/fhevmChain.ts +86 -0
- package/core/types/fhevmClient.ts +30 -0
- package/core/types/fhevmDecryptionKey.ts +8 -0
- package/core/types/fhevmUser.ts +7 -0
- package/core/types/hostContract.ts +27 -0
- package/core/types/index.ts +2 -0
- package/core/types/inputProof.ts +87 -0
- package/core/types/kms-p.ts +18 -0
- package/core/types/kms.ts +132 -0
- package/core/types/kmsSignersContext.ts +48 -0
- package/core/types/logger.ts +4 -0
- package/core/types/other-p.ts +12 -0
- package/core/types/primitives.ts +641 -0
- package/core/types/publicDecryptionProof-p.ts +33 -0
- package/core/types/record-p.ts +32 -0
- package/core/types/relayer-p.ts +406 -0
- package/core/types/relayer.ts +183 -0
- package/core/types/signedDecryptionPermit.ts +50 -0
- package/core/types/tkms-p.ts +5 -0
- package/core/types/utils.ts +34 -0
- package/core/types/zkProof-p.ts +29 -0
- package/core/types/zkProofBuilder.ts +36 -0
- package/core/utils-p/decrypt/assertPermitMatchesKeypair.ts +27 -0
- package/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.ts +47 -0
- package/core/utils-p/decrypt/verifyKmsUserDecryptEip712.ts +47 -0
- package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +27 -0
- package/core/utils-p/runtime/recoverSigners.ts +46 -0
- package/ethers/clients/createFhevmBaseClient.ts +24 -0
- package/ethers/clients/createFhevmClient.ts +20 -0
- package/ethers/clients/createFhevmDecryptClient.ts +21 -0
- package/ethers/clients/createFhevmEncryptClient.ts +24 -0
- package/ethers/decorators/decrypt.ts +12 -0
- package/ethers/decorators/encrypt.ts +12 -0
- package/ethers/index.ts +10 -0
- package/ethers/internal/ethereum.ts +165 -0
- package/ethers/internal/ethers-p.ts +105 -0
- package/ethers/internal/utils.ts +41 -0
- package/ethers/package.json +6 -0
- package/ethers/runtime/initFhevmDecryptRuntime.ts +8 -0
- package/ethers/runtime/initFhevmEncryptRuntime.ts +8 -0
- package/ethers/runtime/initFhevmRuntime.ts +8 -0
- package/package.json +90 -2
- package/tsconfig.json +9 -0
- package/viem/clients/createFhevmBaseClient.ts +24 -0
- package/viem/clients/createFhevmClient.ts +20 -0
- package/viem/clients/createFhevmDecryptClient.ts +18 -0
- package/viem/clients/createFhevmEncryptClient.ts +21 -0
- package/viem/decorators/decrypt.ts +12 -0
- package/viem/decorators/encrypt.ts +12 -0
- package/viem/index.ts +10 -0
- package/viem/internal/ethereum.ts +145 -0
- package/viem/internal/viem-p.ts +105 -0
- package/viem/package.json +6 -0
- package/viem/runtime/initFhevmDecryptRuntime.ts +8 -0
- package/viem/runtime/initFhevmEncryptRuntime.ts +8 -0
- package/viem/runtime/initFhevmRuntime.ts +8 -0
- package/wasm/tfhe/compile-worker.js +8 -0
- package/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
- package/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
- package/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
- package/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
- package/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
- package/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
- package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
- package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
- package/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
- package/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
- package/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
- package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
- package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
- package/wasm/wasmBaseUrl.d.ts +7 -0
- package/wasm/wasmBaseUrl.js +14 -0
|
@@ -0,0 +1,2060 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Bytes,
|
|
3
|
+
Bytes20,
|
|
4
|
+
Bytes20Hex,
|
|
5
|
+
Bytes20HexNo0x,
|
|
6
|
+
Bytes21,
|
|
7
|
+
Bytes21Hex,
|
|
8
|
+
Bytes21HexNo0x,
|
|
9
|
+
Bytes32,
|
|
10
|
+
Bytes32Hex,
|
|
11
|
+
Bytes32HexNo0x,
|
|
12
|
+
Bytes65,
|
|
13
|
+
Bytes65Hex,
|
|
14
|
+
Bytes65HexNo0x,
|
|
15
|
+
Bytes8,
|
|
16
|
+
Bytes8Hex,
|
|
17
|
+
Bytes8HexNo0x,
|
|
18
|
+
BytesHex,
|
|
19
|
+
BytesHexNo0x,
|
|
20
|
+
BytesTypeNameToByteLengthMap,
|
|
21
|
+
BytesTypeNameToTypeMap,
|
|
22
|
+
ByteLength,
|
|
23
|
+
Uint8Number,
|
|
24
|
+
Uint64BigInt,
|
|
25
|
+
UintNumber,
|
|
26
|
+
Bytes1Hex,
|
|
27
|
+
Bytes1,
|
|
28
|
+
Bytes1HexNo0x,
|
|
29
|
+
UintBigInt,
|
|
30
|
+
BytesTypeName,
|
|
31
|
+
BytesNMap,
|
|
32
|
+
} from '../types/primitives.js';
|
|
33
|
+
import type { RecordUint8ArrayPropertyType, RecordWithPropertyType } from '../types/record-p.js';
|
|
34
|
+
import type { ErrorMetadataParams } from './errors/ErrorBase.js';
|
|
35
|
+
import { assertRecordArrayProperty, isRecordNonNullableProperty, typeofProperty } from './record.js';
|
|
36
|
+
import { is0x, isNo0x, remove0x } from './string.js';
|
|
37
|
+
import { InvalidPropertyError } from './errors/InvalidPropertyError.js';
|
|
38
|
+
import { InvalidTypeError } from './errors/InvalidTypeError.js';
|
|
39
|
+
import { isUintForByteLength } from './uint.js';
|
|
40
|
+
|
|
41
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Maps BytesXX type names to their corresponding byte lengths.
|
|
45
|
+
* Type is derived from BytesTypeNameToByteLengthMap to ensure consistency.
|
|
46
|
+
*/
|
|
47
|
+
export const ByteLengthForType: BytesTypeNameToByteLengthMap = {
|
|
48
|
+
bytes1: 1,
|
|
49
|
+
bytes2: 2,
|
|
50
|
+
bytes4: 4,
|
|
51
|
+
bytes8: 8,
|
|
52
|
+
bytes20: 20,
|
|
53
|
+
bytes21: 21,
|
|
54
|
+
bytes32: 32,
|
|
55
|
+
bytes65: 65,
|
|
56
|
+
};
|
|
57
|
+
Object.freeze(ByteLengthForType);
|
|
58
|
+
|
|
59
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
60
|
+
|
|
61
|
+
const bytesHexRegex = /^0x[a-fA-F0-9]*$/;
|
|
62
|
+
const bytesHexNo0xRegex = /^[a-fA-F0-9]*$/;
|
|
63
|
+
|
|
64
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
65
|
+
// isBytesXX
|
|
66
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
67
|
+
|
|
68
|
+
export function isBytes(value: unknown, byteLength?: ByteLength): value is Bytes {
|
|
69
|
+
if (value === undefined || value === null) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (!(value instanceof Uint8Array)) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return byteLength !== undefined ? value.length === byteLength : true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
81
|
+
|
|
82
|
+
export function isBytesForType<T extends BytesTypeName>(
|
|
83
|
+
value: unknown,
|
|
84
|
+
typeName?: T,
|
|
85
|
+
): value is BytesTypeNameToTypeMap[T] {
|
|
86
|
+
return isBytes(value, typeName !== undefined ? ByteLengthForType[typeName] : undefined);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
90
|
+
|
|
91
|
+
export function isBytes1(value: unknown): value is Bytes1 {
|
|
92
|
+
return isBytes(value, 1 satisfies ByteLength);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function isBytes8(value: unknown): value is Bytes8 {
|
|
96
|
+
return isBytes(value, 8 satisfies ByteLength);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function isBytes20(value: unknown): value is Bytes20 {
|
|
100
|
+
return isBytes(value, 20 satisfies ByteLength);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export function isBytes21(value: unknown): value is Bytes21 {
|
|
104
|
+
return isBytes(value, 21 satisfies ByteLength);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function isBytes32(value: unknown): value is Bytes32 {
|
|
108
|
+
return isBytes(value, 32 satisfies ByteLength);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function isBytes65(value: unknown): value is Bytes65 {
|
|
112
|
+
return isBytes(value, 65 satisfies ByteLength);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
116
|
+
// isBytesXXHex
|
|
117
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
118
|
+
|
|
119
|
+
export function isBytesHex(value: unknown, byteLength?: ByteLength): value is BytesHex {
|
|
120
|
+
if (!is0x(value)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (byteLength !== undefined && value.length !== 2 * byteLength + 2) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if ((value.length - 2) % 2 !== 0) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return bytesHexRegex.test(value);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
136
|
+
|
|
137
|
+
export function isBytes1Hex(value: unknown): value is Bytes1Hex {
|
|
138
|
+
return isBytesHex(value, 1 satisfies ByteLength);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export function isBytes8Hex(value: unknown): value is Bytes8Hex {
|
|
142
|
+
return isBytesHex(value, 8 satisfies ByteLength);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function isBytes20Hex(value: unknown): value is Bytes20Hex {
|
|
146
|
+
return isBytesHex(value, 20 satisfies ByteLength);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function isBytes21Hex(value: unknown): value is Bytes21Hex {
|
|
150
|
+
return isBytesHex(value, 21 satisfies ByteLength);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export function isBytes32Hex(value: unknown): value is Bytes32Hex {
|
|
154
|
+
return isBytesHex(value, 32 satisfies ByteLength);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export function isBytes65Hex(value: unknown): value is Bytes65Hex {
|
|
158
|
+
return isBytesHex(value, 65 satisfies ByteLength);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
162
|
+
// isBytesXXHexNo0x
|
|
163
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
164
|
+
|
|
165
|
+
export function isBytesHexNo0x(value: unknown, byteLength?: ByteLength): value is BytesHexNo0x {
|
|
166
|
+
if (!isNo0x(value)) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (byteLength !== undefined && value.length !== 2 * byteLength) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (value.length % 2 !== 0) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (!bytesHexNo0xRegex.test(value)) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
186
|
+
|
|
187
|
+
export function isBytes1HexNo0x(value: unknown): value is Bytes1HexNo0x {
|
|
188
|
+
return isBytesHexNo0x(value, 1 satisfies ByteLength);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export function isBytes8HexNo0x(value: unknown): value is Bytes8HexNo0x {
|
|
192
|
+
return isBytesHexNo0x(value, 8 satisfies ByteLength);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export function isBytes20HexNo0x(value: unknown): value is Bytes20HexNo0x {
|
|
196
|
+
return isBytesHexNo0x(value, 20 satisfies ByteLength);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export function isBytes21HexNo0x(value: unknown): value is Bytes21HexNo0x {
|
|
200
|
+
return isBytesHexNo0x(value, 21 satisfies ByteLength);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export function isBytes32HexNo0x(value: unknown): value is Bytes32HexNo0x {
|
|
204
|
+
return isBytesHexNo0x(value, 32 satisfies ByteLength);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export function isBytes65HexNo0x(value: unknown): value is Bytes65HexNo0x {
|
|
208
|
+
return isBytesHexNo0x(value, 65 satisfies ByteLength);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
212
|
+
// assertIsBytesXX
|
|
213
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
214
|
+
|
|
215
|
+
export function assertIsBytes(
|
|
216
|
+
value: unknown,
|
|
217
|
+
options?: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
218
|
+
): asserts value is Bytes {
|
|
219
|
+
if (!isBytes(value, options?.byteLength)) {
|
|
220
|
+
throw new InvalidTypeError(
|
|
221
|
+
{
|
|
222
|
+
subject: options?.subject,
|
|
223
|
+
expectedType: `bytes${options?.byteLength ?? ''}`,
|
|
224
|
+
},
|
|
225
|
+
options ?? {},
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export function assertIsBytesForType<T extends BytesTypeName>(
|
|
231
|
+
value: unknown,
|
|
232
|
+
options?: {
|
|
233
|
+
typeName: T;
|
|
234
|
+
subject?: string;
|
|
235
|
+
} & ErrorMetadataParams,
|
|
236
|
+
): asserts value is BytesNMap[T] {
|
|
237
|
+
if (!isBytesForType(value, options?.typeName)) {
|
|
238
|
+
throw new InvalidTypeError(
|
|
239
|
+
{
|
|
240
|
+
subject: options?.subject,
|
|
241
|
+
expectedType: options?.typeName ?? 'bytes',
|
|
242
|
+
},
|
|
243
|
+
options ?? {},
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
export function assertIsBytes1(
|
|
249
|
+
value: unknown,
|
|
250
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
251
|
+
): asserts value is Bytes1 {
|
|
252
|
+
assertIsBytes(value, { byteLength: 1, ...options });
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export function assertIsBytes8(
|
|
256
|
+
value: unknown,
|
|
257
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
258
|
+
): asserts value is Bytes8 {
|
|
259
|
+
assertIsBytes(value, { byteLength: 8, ...options });
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export function assertIsBytes20(
|
|
263
|
+
value: unknown,
|
|
264
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
265
|
+
): asserts value is Bytes20 {
|
|
266
|
+
assertIsBytes(value, { byteLength: 20, ...options });
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export function assertIsBytes21(
|
|
270
|
+
value: unknown,
|
|
271
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
272
|
+
): asserts value is Bytes21 {
|
|
273
|
+
assertIsBytes(value, { byteLength: 21, ...options });
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export function assertIsBytes32(
|
|
277
|
+
value: unknown,
|
|
278
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
279
|
+
): asserts value is Bytes32 {
|
|
280
|
+
assertIsBytes(value, { byteLength: 32, ...options });
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export function assertIsBytes65(
|
|
284
|
+
value: unknown,
|
|
285
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
286
|
+
): asserts value is Bytes65 {
|
|
287
|
+
assertIsBytes(value, { byteLength: 65, ...options });
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
291
|
+
|
|
292
|
+
export function asBytesForType(
|
|
293
|
+
value: unknown,
|
|
294
|
+
options?: {
|
|
295
|
+
typeName: BytesTypeName;
|
|
296
|
+
subject?: string;
|
|
297
|
+
} & ErrorMetadataParams,
|
|
298
|
+
): Bytes {
|
|
299
|
+
assertIsBytesForType(value, options);
|
|
300
|
+
return value;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export function asBytes(
|
|
304
|
+
value: unknown,
|
|
305
|
+
options?: {
|
|
306
|
+
byteLength?: ByteLength;
|
|
307
|
+
subject?: string;
|
|
308
|
+
} & ErrorMetadataParams,
|
|
309
|
+
): Bytes {
|
|
310
|
+
assertIsBytes(value, options);
|
|
311
|
+
return value;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export function asBytes1(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1 {
|
|
315
|
+
assertIsBytes(value, { byteLength: 1, ...options });
|
|
316
|
+
return value as Bytes1;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export function asBytes8(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8 {
|
|
320
|
+
assertIsBytes(value, { byteLength: 8, ...options });
|
|
321
|
+
return value as Bytes8;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export function asBytes20(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20 {
|
|
325
|
+
assertIsBytes(value, { byteLength: 20, ...options });
|
|
326
|
+
return value as Bytes20;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export function asBytes21(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21 {
|
|
330
|
+
assertIsBytes(value, { byteLength: 21, ...options });
|
|
331
|
+
return value as Bytes21;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export function asBytes32(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32 {
|
|
335
|
+
assertIsBytes(value, { byteLength: 32, ...options });
|
|
336
|
+
return value as Bytes32;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export function asBytes65(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65 {
|
|
340
|
+
assertIsBytes(value, { byteLength: 65, ...options });
|
|
341
|
+
return value as Bytes65;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
345
|
+
// assertIsBytesXXHex
|
|
346
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Assertion function that validates a value is a valid hex bytes string.
|
|
350
|
+
* A valid BytesHex string must start with "0x" followed by an even number of hexadecimal characters.
|
|
351
|
+
* Throws an `InvalidTypeError` if validation fails.
|
|
352
|
+
*
|
|
353
|
+
* @param value - The value to validate (can be any type)
|
|
354
|
+
* @param options - Validation options
|
|
355
|
+
* @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
|
|
356
|
+
* @param options.subject - Optional name of the value being validated (used in error messages)
|
|
357
|
+
* @throws {InvalidTypeError} When the value is not a string or not valid BytesHex format
|
|
358
|
+
* @throws {never} No other errors are thrown
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* function processHash(hash: unknown) {
|
|
363
|
+
* assertIsBytesHex(hash, { byteLength: 32, subject: 'hash' });
|
|
364
|
+
* console.log(hash); // TypeScript now knows hash is BytesHex
|
|
365
|
+
* }
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
export function assertIsBytesHex(
|
|
369
|
+
value: unknown,
|
|
370
|
+
options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
371
|
+
): asserts value is BytesHex {
|
|
372
|
+
if (!isBytesHex(value, options.byteLength)) {
|
|
373
|
+
throw new InvalidTypeError(
|
|
374
|
+
{
|
|
375
|
+
subject: options.subject,
|
|
376
|
+
type: typeof value,
|
|
377
|
+
expectedType: `bytes${options.byteLength ?? ''}Hex`,
|
|
378
|
+
},
|
|
379
|
+
options,
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Asserts that a value is either a `Bytes` (Uint8Array) or a `BytesHex` (hex string).
|
|
386
|
+
*
|
|
387
|
+
* @throws {InvalidTypeError} When the value is neither `Bytes` nor `BytesHex`.
|
|
388
|
+
*/
|
|
389
|
+
export function assertIsBytesOrBytesHex(
|
|
390
|
+
value: unknown,
|
|
391
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
392
|
+
): asserts value is Bytes | BytesHex {
|
|
393
|
+
// faster
|
|
394
|
+
if (isBytes(value)) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
// slower
|
|
398
|
+
if (isBytesHex(value)) {
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
throw new InvalidTypeError(
|
|
402
|
+
{
|
|
403
|
+
subject: options.subject,
|
|
404
|
+
type: typeof value,
|
|
405
|
+
expectedType: 'Bytes | BytesHex',
|
|
406
|
+
},
|
|
407
|
+
options,
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
412
|
+
|
|
413
|
+
export function assertIsBytes1Hex(
|
|
414
|
+
value: unknown,
|
|
415
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
416
|
+
): asserts value is Bytes1Hex {
|
|
417
|
+
assertIsBytesHex(value, { byteLength: 1, ...options });
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
export function assertIsBytes8Hex(
|
|
421
|
+
value: unknown,
|
|
422
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
423
|
+
): asserts value is Bytes8Hex {
|
|
424
|
+
assertIsBytesHex(value, { byteLength: 8, ...options });
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export function assertIsBytes20Hex(
|
|
428
|
+
value: unknown,
|
|
429
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
430
|
+
): asserts value is Bytes20Hex {
|
|
431
|
+
assertIsBytesHex(value, { byteLength: 20, ...options });
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export function assertIsBytes21Hex(
|
|
435
|
+
value: unknown,
|
|
436
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
437
|
+
): asserts value is Bytes21Hex {
|
|
438
|
+
assertIsBytesHex(value, { byteLength: 21, ...options });
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export function assertIsBytes32Hex(
|
|
442
|
+
value: unknown,
|
|
443
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
444
|
+
): asserts value is Bytes32Hex {
|
|
445
|
+
assertIsBytesHex(value, { byteLength: 32, ...options });
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export function assertIsBytes65Hex(
|
|
449
|
+
value: unknown,
|
|
450
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
451
|
+
): asserts value is Bytes65Hex {
|
|
452
|
+
assertIsBytesHex(value, { byteLength: 65, ...options });
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
456
|
+
|
|
457
|
+
export function asBytesHex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): BytesHex {
|
|
458
|
+
assertIsBytesHex(value, options ?? {});
|
|
459
|
+
return value;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
export function asBytes1Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1Hex {
|
|
463
|
+
assertIsBytesHex(value, { byteLength: 1, ...options });
|
|
464
|
+
return value as Bytes1Hex;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
export function asBytes8Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8Hex {
|
|
468
|
+
assertIsBytesHex(value, { byteLength: 8, ...options });
|
|
469
|
+
return value as Bytes8Hex;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
export function asBytes20Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20Hex {
|
|
473
|
+
assertIsBytesHex(value, { byteLength: 20, ...options });
|
|
474
|
+
return value as Bytes20Hex;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
export function asBytes21Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21Hex {
|
|
478
|
+
assertIsBytesHex(value, { byteLength: 21, ...options });
|
|
479
|
+
return value as Bytes21Hex;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
export function asBytes32Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32Hex {
|
|
483
|
+
assertIsBytesHex(value, { byteLength: 32, ...options });
|
|
484
|
+
return value as Bytes32Hex;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
export function asBytes65Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65Hex {
|
|
488
|
+
assertIsBytesHex(value, { byteLength: 65, ...options });
|
|
489
|
+
return value as Bytes65Hex;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
493
|
+
// assertIsBytesXXHexNo0x
|
|
494
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Assertion function that validates a value is a valid hex bytes string without "0x" prefix.
|
|
498
|
+
* A valid BytesHexNo0x string must contain only hexadecimal characters (no "0x" prefix).
|
|
499
|
+
* Throws an `InvalidTypeError` if validation fails.
|
|
500
|
+
*
|
|
501
|
+
* @param value - The value to validate (can be any type)
|
|
502
|
+
* @param options - Validation options
|
|
503
|
+
* @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
|
|
504
|
+
* @param options.subject - Optional name of the value being validated (used in error messages)
|
|
505
|
+
* @throws {InvalidTypeError} When the value is not a string or not valid BytesHexNo0x format
|
|
506
|
+
* @throws {never} No other errors are thrown
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* ```typescript
|
|
510
|
+
* function processSignature(sig: unknown) {
|
|
511
|
+
* assertIsBytesHexNo0x(sig, { byteLength: 65, subject: 'signature' });
|
|
512
|
+
* console.log(sig); // TypeScript now knows sig is BytesHexNo0x
|
|
513
|
+
* }
|
|
514
|
+
* ```
|
|
515
|
+
*/
|
|
516
|
+
export function assertIsBytesHexNo0x(
|
|
517
|
+
value: unknown,
|
|
518
|
+
options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
519
|
+
): asserts value is BytesHexNo0x {
|
|
520
|
+
if (!isBytesHexNo0x(value, options.byteLength)) {
|
|
521
|
+
throw new InvalidTypeError(
|
|
522
|
+
{
|
|
523
|
+
subject: options.subject,
|
|
524
|
+
type: typeof value,
|
|
525
|
+
expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
|
|
526
|
+
},
|
|
527
|
+
options,
|
|
528
|
+
);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
533
|
+
|
|
534
|
+
export function assertIsBytes1HexNo0x(
|
|
535
|
+
value: unknown,
|
|
536
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
537
|
+
): asserts value is Bytes1HexNo0x {
|
|
538
|
+
assertIsBytesHexNo0x(value, { byteLength: 1, ...options });
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
export function assertIsBytes8HexNo0x(
|
|
542
|
+
value: unknown,
|
|
543
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
544
|
+
): asserts value is Bytes8HexNo0x {
|
|
545
|
+
assertIsBytesHexNo0x(value, { byteLength: 8, ...options });
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export function assertIsBytes20HexNo0x(
|
|
549
|
+
value: unknown,
|
|
550
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
551
|
+
): asserts value is Bytes20HexNo0x {
|
|
552
|
+
assertIsBytesHexNo0x(value, { byteLength: 20, ...options });
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
export function assertIsBytes21HexNo0x(
|
|
556
|
+
value: unknown,
|
|
557
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
558
|
+
): asserts value is Bytes21HexNo0x {
|
|
559
|
+
assertIsBytesHexNo0x(value, { byteLength: 21, ...options });
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
export function assertIsBytes32HexNo0x(
|
|
563
|
+
value: unknown,
|
|
564
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
565
|
+
): asserts value is Bytes32HexNo0x {
|
|
566
|
+
assertIsBytesHexNo0x(value, { byteLength: 32, ...options });
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
export function assertIsBytes65HexNo0x(
|
|
570
|
+
value: unknown,
|
|
571
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
572
|
+
): asserts value is Bytes65HexNo0x {
|
|
573
|
+
assertIsBytesHexNo0x(value, { byteLength: 65, ...options });
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
577
|
+
// asBytesXXHexNo0x
|
|
578
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
579
|
+
|
|
580
|
+
export function asBytesHexNo0x(
|
|
581
|
+
value: unknown,
|
|
582
|
+
options?: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
583
|
+
): BytesHexNo0x {
|
|
584
|
+
assertIsBytesHexNo0x(value, options ?? {});
|
|
585
|
+
return value;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
export function asBytes1HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1HexNo0x {
|
|
589
|
+
assertIsBytesHexNo0x(value, { byteLength: 1, ...options });
|
|
590
|
+
return value as Bytes1HexNo0x;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
export function asBytes8HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8HexNo0x {
|
|
594
|
+
assertIsBytesHexNo0x(value, { byteLength: 8, ...options });
|
|
595
|
+
return value as Bytes8HexNo0x;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
export function asBytes20HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20HexNo0x {
|
|
599
|
+
assertIsBytesHexNo0x(value, { byteLength: 20, ...options });
|
|
600
|
+
return value as Bytes20HexNo0x;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
export function asBytes21HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21HexNo0x {
|
|
604
|
+
assertIsBytesHexNo0x(value, { byteLength: 21, ...options });
|
|
605
|
+
return value as Bytes21HexNo0x;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
export function asBytes32HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32HexNo0x {
|
|
609
|
+
assertIsBytesHexNo0x(value, { byteLength: 32, ...options });
|
|
610
|
+
return value as Bytes32HexNo0x;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
export function asBytes65HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65HexNo0x {
|
|
614
|
+
assertIsBytesHexNo0x(value, { byteLength: 65, ...options });
|
|
615
|
+
return value as Bytes65HexNo0x;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
619
|
+
// assertIsBytesXXHexArray
|
|
620
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Assertion function that validates a value is an array of valid hex bytes strings.
|
|
624
|
+
* Each element must start with "0x" followed by hexadecimal characters.
|
|
625
|
+
* Throws an `InvalidTypeError` if validation fails.
|
|
626
|
+
*
|
|
627
|
+
* @param value - The value to validate (can be any type)
|
|
628
|
+
* @param options - Validation options
|
|
629
|
+
* @param options.byteLength - Optional expected byte length for each element (e.g., 8, 20, 32)
|
|
630
|
+
* @param options.subject - Optional name of the value being validated (used in error messages)
|
|
631
|
+
* @throws {InvalidTypeError} When the value is not an array or any element is not valid BytesHex format
|
|
632
|
+
* @throws {never} No other errors are thrown
|
|
633
|
+
*
|
|
634
|
+
* @example
|
|
635
|
+
* ```typescript
|
|
636
|
+
* function processHashes(hashes: unknown) {
|
|
637
|
+
* assertIsBytesHexArray(hashes, { byteLength: 32, subject: 'hashes' });
|
|
638
|
+
* hashes.forEach(hash => console.log(hash)); // TypeScript knows each is BytesHex
|
|
639
|
+
* }
|
|
640
|
+
* ```
|
|
641
|
+
*/
|
|
642
|
+
export function assertIsBytesHexArray(
|
|
643
|
+
value: unknown,
|
|
644
|
+
options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
645
|
+
): asserts value is BytesHex[] {
|
|
646
|
+
if (!Array.isArray(value)) {
|
|
647
|
+
throw new InvalidTypeError(
|
|
648
|
+
{
|
|
649
|
+
subject: options.subject,
|
|
650
|
+
type: typeof value,
|
|
651
|
+
expectedType: `bytes${options.byteLength ?? ''}Hex[]`,
|
|
652
|
+
},
|
|
653
|
+
options,
|
|
654
|
+
);
|
|
655
|
+
}
|
|
656
|
+
for (let i = 0; i < value.length; ++i) {
|
|
657
|
+
if (!isBytesHex(value[i], options.byteLength)) {
|
|
658
|
+
throw new InvalidTypeError(
|
|
659
|
+
{
|
|
660
|
+
subject: options.subject,
|
|
661
|
+
index: i,
|
|
662
|
+
type: typeof value[i],
|
|
663
|
+
expectedType: `bytes${options.byteLength ?? ''}Hex`,
|
|
664
|
+
},
|
|
665
|
+
options,
|
|
666
|
+
);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
export function assertIsBytesArray(
|
|
672
|
+
value: unknown,
|
|
673
|
+
options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
|
|
674
|
+
): asserts value is Bytes[] {
|
|
675
|
+
if (!Array.isArray(value)) {
|
|
676
|
+
throw new InvalidTypeError(
|
|
677
|
+
{
|
|
678
|
+
subject: options.subject,
|
|
679
|
+
type: typeof value,
|
|
680
|
+
expectedType: `bytes${options.byteLength ?? ''}[]`,
|
|
681
|
+
},
|
|
682
|
+
options,
|
|
683
|
+
);
|
|
684
|
+
}
|
|
685
|
+
for (let i = 0; i < value.length; ++i) {
|
|
686
|
+
if (!isBytes(value[i], options.byteLength)) {
|
|
687
|
+
throw new InvalidTypeError(
|
|
688
|
+
{
|
|
689
|
+
subject: options.subject,
|
|
690
|
+
index: i,
|
|
691
|
+
type: typeof value[i],
|
|
692
|
+
expectedType: `bytes${options.byteLength ?? ''}`,
|
|
693
|
+
},
|
|
694
|
+
options,
|
|
695
|
+
);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
701
|
+
|
|
702
|
+
export function assertIsBytes1HexArray(
|
|
703
|
+
value: unknown,
|
|
704
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
705
|
+
): asserts value is Bytes1Hex[] {
|
|
706
|
+
assertIsBytesHexArray(value, { byteLength: 1, ...options });
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
export function assertIsBytes8HexArray(
|
|
710
|
+
value: unknown,
|
|
711
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
712
|
+
): asserts value is Bytes8Hex[] {
|
|
713
|
+
assertIsBytesHexArray(value, { byteLength: 8, ...options });
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
export function assertIsBytes20HexArray(
|
|
717
|
+
value: unknown,
|
|
718
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
719
|
+
): asserts value is Bytes20Hex[] {
|
|
720
|
+
assertIsBytesHexArray(value, { byteLength: 20, ...options });
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
export function assertIsBytes21HexArray(
|
|
724
|
+
value: unknown,
|
|
725
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
726
|
+
): asserts value is Bytes21Hex[] {
|
|
727
|
+
assertIsBytesHexArray(value, { byteLength: 21, ...options });
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
export function assertIsBytes32HexArray(
|
|
731
|
+
value: unknown,
|
|
732
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
733
|
+
): asserts value is Bytes32Hex[] {
|
|
734
|
+
assertIsBytesHexArray(value, { byteLength: 32, ...options });
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
export function assertIsBytes65HexArray(
|
|
738
|
+
value: unknown,
|
|
739
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
740
|
+
): asserts value is Bytes65Hex[] {
|
|
741
|
+
assertIsBytesHexArray(value, { byteLength: 65, ...options });
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
745
|
+
|
|
746
|
+
export function assertIsBytes32Array(
|
|
747
|
+
value: unknown,
|
|
748
|
+
options: { subject?: string } & ErrorMetadataParams,
|
|
749
|
+
): asserts value is Bytes32[] {
|
|
750
|
+
assertIsBytesArray(value, { byteLength: 32, ...options });
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
754
|
+
// isRecordBytesXXHexProperty
|
|
755
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* Type guard that checks if a property exists on an object and is a valid hex bytes string.
|
|
759
|
+
* A valid BytesHex string starts with "0x" followed by an even number of hexadecimal characters.
|
|
760
|
+
*
|
|
761
|
+
* @template K - The property key type (string literal)
|
|
762
|
+
* @param record - The value to check (can be any type)
|
|
763
|
+
* @param property - The property name to check for
|
|
764
|
+
* @param byteLength - Optional byte length (e.g., 8, 20, 32)
|
|
765
|
+
* @returns True if `o` is an object with the specified property that is a valid BytesHex string
|
|
766
|
+
*
|
|
767
|
+
* @example
|
|
768
|
+
* ```typescript
|
|
769
|
+
* const data: unknown = { hash: "0x1234abcd", value: 42 };
|
|
770
|
+
* if (isRecordBytesHexProperty(data, 'hash')) {
|
|
771
|
+
* console.log(data.hash); // "0x1234abcd"
|
|
772
|
+
* }
|
|
773
|
+
* ```
|
|
774
|
+
*/
|
|
775
|
+
export function isRecordBytesHexProperty<K extends string>(
|
|
776
|
+
record: unknown,
|
|
777
|
+
property: K,
|
|
778
|
+
byteLength?: ByteLength,
|
|
779
|
+
): record is RecordWithPropertyType<K, BytesHex> {
|
|
780
|
+
if (!isRecordNonNullableProperty(record, property)) {
|
|
781
|
+
return false;
|
|
782
|
+
}
|
|
783
|
+
return isBytesHex(record[property], byteLength);
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
787
|
+
|
|
788
|
+
export function isRecordBytes1HexProperty<K extends string>(
|
|
789
|
+
record: unknown,
|
|
790
|
+
property: K,
|
|
791
|
+
): record is RecordWithPropertyType<K, Bytes1Hex> {
|
|
792
|
+
return isRecordBytesHexProperty(record, property, 1);
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
export function isRecordBytes8HexProperty<K extends string>(
|
|
796
|
+
record: unknown,
|
|
797
|
+
property: K,
|
|
798
|
+
): record is RecordWithPropertyType<K, Bytes8Hex> {
|
|
799
|
+
return isRecordBytesHexProperty(record, property, 8);
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
export function isRecordBytes20HexProperty<K extends string>(
|
|
803
|
+
record: unknown,
|
|
804
|
+
property: K,
|
|
805
|
+
): record is RecordWithPropertyType<K, Bytes20Hex> {
|
|
806
|
+
return isRecordBytesHexProperty(record, property, 20);
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
export function isRecordBytes21HexProperty<K extends string>(
|
|
810
|
+
record: unknown,
|
|
811
|
+
property: K,
|
|
812
|
+
): record is RecordWithPropertyType<K, Bytes21Hex> {
|
|
813
|
+
return isRecordBytesHexProperty(record, property, 21);
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
export function isRecordBytes32HexProperty<K extends string>(
|
|
817
|
+
record: unknown,
|
|
818
|
+
property: K,
|
|
819
|
+
): record is RecordWithPropertyType<K, Bytes32Hex> {
|
|
820
|
+
return isRecordBytesHexProperty(record, property, 32);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
export function isRecordBytes65HexProperty<K extends string>(
|
|
824
|
+
record: unknown,
|
|
825
|
+
property: K,
|
|
826
|
+
): record is RecordWithPropertyType<K, Bytes65Hex> {
|
|
827
|
+
return isRecordBytesHexProperty(record, property, 65);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
831
|
+
// assertRecordBytesXXHexProperty
|
|
832
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* Assertion function that validates a property exists on an object and is a valid hex bytes string.
|
|
836
|
+
* A valid BytesHex string must start with "0x" followed by an even number of hexadecimal characters.
|
|
837
|
+
* Throws an `InvalidPropertyError` if validation fails.
|
|
838
|
+
*
|
|
839
|
+
* @template K - The property key type (string literal)
|
|
840
|
+
* @param record - The value to validate (can be any type)
|
|
841
|
+
* @param property - The property name to check for
|
|
842
|
+
* @param recordName - The name of the object being validated (used in error messages)
|
|
843
|
+
* @throws {InvalidPropertyError} When the property is missing, not a string, or not valid BytesHex format
|
|
844
|
+
* @throws {never} No other errors are thrown
|
|
845
|
+
*
|
|
846
|
+
* @example
|
|
847
|
+
* ```typescript
|
|
848
|
+
* function processTransaction(data: unknown) {
|
|
849
|
+
* assertRecordBytesHexProperty(data, 'txHash', 'transaction');
|
|
850
|
+
* console.log(data.txHash); // e.g., "0x1234..."
|
|
851
|
+
* }
|
|
852
|
+
* ```
|
|
853
|
+
*/
|
|
854
|
+
export function assertRecordBytesHexProperty<K extends string>(
|
|
855
|
+
record: unknown,
|
|
856
|
+
property: K,
|
|
857
|
+
recordName: string,
|
|
858
|
+
options: { byteLength?: ByteLength } & ErrorMetadataParams,
|
|
859
|
+
): asserts record is RecordWithPropertyType<K, BytesHex> {
|
|
860
|
+
if (!isRecordBytesHexProperty(record, property, options.byteLength)) {
|
|
861
|
+
throw new InvalidPropertyError(
|
|
862
|
+
{
|
|
863
|
+
subject: recordName,
|
|
864
|
+
property,
|
|
865
|
+
expectedType: `bytes${options.byteLength ?? ''}Hex`,
|
|
866
|
+
type: typeofProperty(record, property),
|
|
867
|
+
},
|
|
868
|
+
options,
|
|
869
|
+
);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
874
|
+
|
|
875
|
+
export function assertRecordBytes1HexProperty<K extends string>(
|
|
876
|
+
record: unknown,
|
|
877
|
+
property: K,
|
|
878
|
+
recordName: string,
|
|
879
|
+
options: ErrorMetadataParams,
|
|
880
|
+
): asserts record is RecordWithPropertyType<K, Bytes1Hex> {
|
|
881
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
882
|
+
byteLength: 1,
|
|
883
|
+
...options,
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
export function assertRecordBytes8HexProperty<K extends string>(
|
|
888
|
+
record: unknown,
|
|
889
|
+
property: K,
|
|
890
|
+
recordName: string,
|
|
891
|
+
options: ErrorMetadataParams,
|
|
892
|
+
): asserts record is RecordWithPropertyType<K, Bytes8Hex> {
|
|
893
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
894
|
+
byteLength: 8,
|
|
895
|
+
...options,
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
export function assertRecordBytes20HexProperty<K extends string>(
|
|
900
|
+
record: unknown,
|
|
901
|
+
property: K,
|
|
902
|
+
recordName: string,
|
|
903
|
+
options: ErrorMetadataParams,
|
|
904
|
+
): asserts record is RecordWithPropertyType<K, Bytes20Hex> {
|
|
905
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
906
|
+
byteLength: 20,
|
|
907
|
+
...options,
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
export function assertRecordBytes21HexProperty<K extends string>(
|
|
912
|
+
record: unknown,
|
|
913
|
+
property: K,
|
|
914
|
+
recordName: string,
|
|
915
|
+
options: ErrorMetadataParams,
|
|
916
|
+
): asserts record is RecordWithPropertyType<K, Bytes21Hex> {
|
|
917
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
918
|
+
byteLength: 21,
|
|
919
|
+
...options,
|
|
920
|
+
});
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
export function assertRecordBytes32HexProperty<K extends string>(
|
|
924
|
+
record: unknown,
|
|
925
|
+
property: K,
|
|
926
|
+
recordName: string,
|
|
927
|
+
options: ErrorMetadataParams,
|
|
928
|
+
): asserts record is RecordWithPropertyType<K, Bytes32Hex> {
|
|
929
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
930
|
+
byteLength: 32,
|
|
931
|
+
...options,
|
|
932
|
+
});
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
export function assertRecordBytes65HexProperty<K extends string>(
|
|
936
|
+
record: unknown,
|
|
937
|
+
property: K,
|
|
938
|
+
recordName: string,
|
|
939
|
+
options: ErrorMetadataParams,
|
|
940
|
+
): asserts record is RecordWithPropertyType<K, Bytes65Hex> {
|
|
941
|
+
assertRecordBytesHexProperty(record, property, recordName, {
|
|
942
|
+
byteLength: 65,
|
|
943
|
+
...options,
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
948
|
+
// isRecordBytesHexXXNo0xProperty
|
|
949
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
* Type guard that checks if a property exists on an object and is a valid hex bytes string without "0x" prefix.
|
|
953
|
+
* A valid BytesHexNo0x string contains only hexadecimal characters (no "0x" prefix).
|
|
954
|
+
*
|
|
955
|
+
* @template K - The property key type (string literal)
|
|
956
|
+
* @param record - The value to check (can be any type)
|
|
957
|
+
* @param property - The property name to check for
|
|
958
|
+
* @param byteLength - Optional byte length (e.g., 8, 20, 32)
|
|
959
|
+
* @returns True if `o` is an object with the specified property that is a valid BytesHexNo0x string
|
|
960
|
+
*
|
|
961
|
+
* @example
|
|
962
|
+
* ```typescript
|
|
963
|
+
* const data: unknown = { signature: "1234abcd", value: 42 };
|
|
964
|
+
* if (isRecordBytesHexNo0xProperty(data, 'signature')) {
|
|
965
|
+
* console.log(data.signature); // "1234abcd"
|
|
966
|
+
* }
|
|
967
|
+
* ```
|
|
968
|
+
*/
|
|
969
|
+
export function isRecordBytesHexNo0xProperty<K extends string>(
|
|
970
|
+
record: unknown,
|
|
971
|
+
property: K,
|
|
972
|
+
byteLength?: ByteLength,
|
|
973
|
+
): record is RecordWithPropertyType<K, BytesHexNo0x> {
|
|
974
|
+
if (!isRecordNonNullableProperty(record, property)) {
|
|
975
|
+
return false;
|
|
976
|
+
}
|
|
977
|
+
return isBytesHexNo0x(record[property], byteLength);
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
981
|
+
// assertRecordBytesXXHexNo0xProperty
|
|
982
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
983
|
+
|
|
984
|
+
/**
|
|
985
|
+
* Assertion function that validates a property exists on an object and is a valid hex bytes string without "0x" prefix.
|
|
986
|
+
* A valid BytesHexNo0x string contains only hexadecimal characters (no "0x" prefix).
|
|
987
|
+
* Throws an `InvalidPropertyError` if validation fails.
|
|
988
|
+
*
|
|
989
|
+
* @template K - The property key type (string literal)
|
|
990
|
+
* @param record - The value to validate (can be any type)
|
|
991
|
+
* @param property - The property name to check for
|
|
992
|
+
* @param recordName - The name of the object being validated (used in error messages)
|
|
993
|
+
* @param options - Validation options
|
|
994
|
+
* @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
|
|
995
|
+
* @throws {InvalidPropertyError} When the property is missing, not a string, or not valid BytesHexNo0x format
|
|
996
|
+
* @throws {never} No other errors are thrown
|
|
997
|
+
*
|
|
998
|
+
* @example
|
|
999
|
+
* ```typescript
|
|
1000
|
+
* function processData(data: unknown) {
|
|
1001
|
+
* assertRecordBytesHexNo0xProperty(data, 'signature', 'response', {});
|
|
1002
|
+
* console.log(data.signature); // e.g., "1234abcd..."
|
|
1003
|
+
* }
|
|
1004
|
+
* ```
|
|
1005
|
+
*/
|
|
1006
|
+
export function assertRecordBytesHexNo0xProperty<K extends string>(
|
|
1007
|
+
record: unknown,
|
|
1008
|
+
property: K,
|
|
1009
|
+
recordName: string,
|
|
1010
|
+
options: { byteLength?: ByteLength } & ErrorMetadataParams,
|
|
1011
|
+
): asserts record is RecordWithPropertyType<K, BytesHexNo0x> {
|
|
1012
|
+
if (!isRecordBytesHexNo0xProperty(record, property, options.byteLength)) {
|
|
1013
|
+
throw new InvalidPropertyError(
|
|
1014
|
+
{
|
|
1015
|
+
subject: recordName,
|
|
1016
|
+
property,
|
|
1017
|
+
expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
|
|
1018
|
+
type: typeofProperty(record, property),
|
|
1019
|
+
},
|
|
1020
|
+
options,
|
|
1021
|
+
);
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1026
|
+
// assertRecordBytesXXHexArrayProperty
|
|
1027
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1028
|
+
|
|
1029
|
+
/**
|
|
1030
|
+
* Assertion function that validates a property exists on an object, is an array,
|
|
1031
|
+
* and every element is a valid hex bytes string (with "0x" prefix).
|
|
1032
|
+
* Throws an `InvalidPropertyError` if validation fails.
|
|
1033
|
+
*
|
|
1034
|
+
* @template K - The property key type (string literal)
|
|
1035
|
+
* @param record - The record to validate (can be any type)
|
|
1036
|
+
* @param property - The property name to check for
|
|
1037
|
+
* @param recordName - The name of the record being validated (used in error messages)
|
|
1038
|
+
* @throws {InvalidPropertyError} When the property is missing, not an array, or any element is not valid BytesHex
|
|
1039
|
+
* @throws {never} No other errors are thrown
|
|
1040
|
+
*
|
|
1041
|
+
* @example
|
|
1042
|
+
* ```typescript
|
|
1043
|
+
* function processHashes(data: unknown) {
|
|
1044
|
+
* assertRecordBytesHexArrayProperty(data, 'txHashes', 'transaction');
|
|
1045
|
+
* data.txHashes.forEach(hash => {
|
|
1046
|
+
* console.log(hash); // e.g., "0x1234abcd..."
|
|
1047
|
+
* });
|
|
1048
|
+
* }
|
|
1049
|
+
* ```
|
|
1050
|
+
*/
|
|
1051
|
+
export function assertRecordBytesHexArrayProperty<K extends string>(
|
|
1052
|
+
record: unknown,
|
|
1053
|
+
property: K,
|
|
1054
|
+
recordName: string,
|
|
1055
|
+
options: { byteLength?: ByteLength } & ErrorMetadataParams,
|
|
1056
|
+
): asserts record is RecordWithPropertyType<K, BytesHex[]> {
|
|
1057
|
+
assertRecordArrayProperty(record, property, recordName, options);
|
|
1058
|
+
const arr = record[property];
|
|
1059
|
+
for (let i = 0; i < arr.length; ++i) {
|
|
1060
|
+
if (!isBytesHex(arr[i], options.byteLength)) {
|
|
1061
|
+
throw new InvalidPropertyError(
|
|
1062
|
+
{
|
|
1063
|
+
subject: recordName,
|
|
1064
|
+
index: i,
|
|
1065
|
+
property,
|
|
1066
|
+
expectedType: `bytes${options.byteLength ?? ''}Hex`,
|
|
1067
|
+
type: typeof arr[i],
|
|
1068
|
+
},
|
|
1069
|
+
options,
|
|
1070
|
+
);
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1076
|
+
|
|
1077
|
+
export function assertRecordBytes1HexArrayProperty<K extends string>(
|
|
1078
|
+
record: unknown,
|
|
1079
|
+
property: K,
|
|
1080
|
+
recordName: string,
|
|
1081
|
+
options: ErrorMetadataParams,
|
|
1082
|
+
): asserts record is RecordWithPropertyType<K, Bytes1Hex[]> {
|
|
1083
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1084
|
+
byteLength: 1,
|
|
1085
|
+
...options,
|
|
1086
|
+
});
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
export function assertRecordBytes8HexArrayProperty<K extends string>(
|
|
1090
|
+
record: unknown,
|
|
1091
|
+
property: K,
|
|
1092
|
+
recordName: string,
|
|
1093
|
+
options: ErrorMetadataParams,
|
|
1094
|
+
): asserts record is RecordWithPropertyType<K, Bytes8Hex[]> {
|
|
1095
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1096
|
+
byteLength: 8,
|
|
1097
|
+
...options,
|
|
1098
|
+
});
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
export function assertRecordBytes20HexArrayProperty<K extends string>(
|
|
1102
|
+
record: unknown,
|
|
1103
|
+
property: K,
|
|
1104
|
+
recordName: string,
|
|
1105
|
+
options: ErrorMetadataParams,
|
|
1106
|
+
): asserts record is RecordWithPropertyType<K, Bytes20Hex[]> {
|
|
1107
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1108
|
+
byteLength: 20,
|
|
1109
|
+
...options,
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
export function assertRecordBytes21HexArrayProperty<K extends string>(
|
|
1114
|
+
record: unknown,
|
|
1115
|
+
property: K,
|
|
1116
|
+
recordName: string,
|
|
1117
|
+
options: ErrorMetadataParams,
|
|
1118
|
+
): asserts record is RecordWithPropertyType<K, Bytes21Hex[]> {
|
|
1119
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1120
|
+
byteLength: 21,
|
|
1121
|
+
...options,
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
export function assertRecordBytes32HexArrayProperty<K extends string>(
|
|
1126
|
+
record: unknown,
|
|
1127
|
+
property: K,
|
|
1128
|
+
recordName: string,
|
|
1129
|
+
options: ErrorMetadataParams,
|
|
1130
|
+
): asserts record is RecordWithPropertyType<K, Bytes32Hex[]> {
|
|
1131
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1132
|
+
byteLength: 32,
|
|
1133
|
+
...options,
|
|
1134
|
+
});
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
export function assertRecordBytes65HexArrayProperty<K extends string>(
|
|
1138
|
+
record: unknown,
|
|
1139
|
+
property: K,
|
|
1140
|
+
recordName: string,
|
|
1141
|
+
options: ErrorMetadataParams,
|
|
1142
|
+
): asserts record is RecordWithPropertyType<K, Bytes65Hex[]> {
|
|
1143
|
+
assertRecordBytesHexArrayProperty(record, property, recordName, {
|
|
1144
|
+
byteLength: 65,
|
|
1145
|
+
...options,
|
|
1146
|
+
});
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1150
|
+
|
|
1151
|
+
/**
|
|
1152
|
+
* Assertion function that validates a property exists on an object, is an array,
|
|
1153
|
+
* and every element is a valid hex bytes string (without "0x" prefix).
|
|
1154
|
+
* Throws an `InvalidPropertyError` if validation fails.
|
|
1155
|
+
*
|
|
1156
|
+
* @template K - The property key type (string literal)
|
|
1157
|
+
* @param record - The value to validate (can be any type)
|
|
1158
|
+
* @param property - The property name to check for
|
|
1159
|
+
* @param recordName - The name of the object being validated (used in error messages)
|
|
1160
|
+
* @throws {InvalidPropertyError} When the property is missing, not an array, or any element is not valid BytesHexNo0x
|
|
1161
|
+
* @throws {never} No other errors are thrown
|
|
1162
|
+
*
|
|
1163
|
+
* @example
|
|
1164
|
+
* ```typescript
|
|
1165
|
+
* function processSignatures(data: unknown) {
|
|
1166
|
+
* assertRecordBytesHexNo0xArrayProperty(data, 'signatures', 'response');
|
|
1167
|
+
* data.signatures.forEach(sig => {
|
|
1168
|
+
* console.log(sig); // e.g., "1234abcd..." (no 0x prefix)
|
|
1169
|
+
* });
|
|
1170
|
+
* }
|
|
1171
|
+
* ```
|
|
1172
|
+
*/
|
|
1173
|
+
export function assertRecordBytesHexNo0xArrayProperty<K extends string>(
|
|
1174
|
+
record: unknown,
|
|
1175
|
+
property: K,
|
|
1176
|
+
recordName: string,
|
|
1177
|
+
options: { byteLength?: ByteLength } & ErrorMetadataParams,
|
|
1178
|
+
): asserts record is RecordWithPropertyType<K, BytesHexNo0x[]> {
|
|
1179
|
+
assertRecordArrayProperty(record, property, recordName, options);
|
|
1180
|
+
const arr = record[property];
|
|
1181
|
+
for (let i = 0; i < arr.length; ++i) {
|
|
1182
|
+
if (!isBytesHexNo0x(arr[i])) {
|
|
1183
|
+
throw new InvalidPropertyError(
|
|
1184
|
+
{
|
|
1185
|
+
subject: recordName,
|
|
1186
|
+
index: i,
|
|
1187
|
+
property,
|
|
1188
|
+
expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
|
|
1189
|
+
type: typeof arr[i],
|
|
1190
|
+
},
|
|
1191
|
+
options,
|
|
1192
|
+
);
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1198
|
+
// - isRecordUint8ArrayProperty
|
|
1199
|
+
// - assertRecordUint8ArrayProperty
|
|
1200
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1201
|
+
|
|
1202
|
+
export function isRecordUint8ArrayProperty<K extends string>(
|
|
1203
|
+
o: unknown,
|
|
1204
|
+
property: K,
|
|
1205
|
+
): o is RecordUint8ArrayPropertyType<K> {
|
|
1206
|
+
if (!isRecordNonNullableProperty(o, property)) {
|
|
1207
|
+
return false;
|
|
1208
|
+
}
|
|
1209
|
+
return o[property] instanceof Uint8Array;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
export function assertRecordUint8ArrayProperty<K extends string>(
|
|
1213
|
+
o: unknown,
|
|
1214
|
+
property: K,
|
|
1215
|
+
objName: string,
|
|
1216
|
+
options: ErrorMetadataParams,
|
|
1217
|
+
): asserts o is RecordWithPropertyType<K, Uint8Array> {
|
|
1218
|
+
if (!isRecordUint8ArrayProperty(o, property)) {
|
|
1219
|
+
throw new InvalidPropertyError(
|
|
1220
|
+
{
|
|
1221
|
+
subject: objName,
|
|
1222
|
+
property,
|
|
1223
|
+
expectedType: 'Uint8Array',
|
|
1224
|
+
type: typeofProperty(o, property),
|
|
1225
|
+
},
|
|
1226
|
+
options,
|
|
1227
|
+
);
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1232
|
+
// Hex
|
|
1233
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1234
|
+
|
|
1235
|
+
const HEX_CHARS: Record<string, number> = {
|
|
1236
|
+
'0': 0,
|
|
1237
|
+
'1': 1,
|
|
1238
|
+
'2': 2,
|
|
1239
|
+
'3': 3,
|
|
1240
|
+
'4': 4,
|
|
1241
|
+
'5': 5,
|
|
1242
|
+
'6': 6,
|
|
1243
|
+
'7': 7,
|
|
1244
|
+
'8': 8,
|
|
1245
|
+
'9': 9,
|
|
1246
|
+
a: 10,
|
|
1247
|
+
b: 11,
|
|
1248
|
+
c: 12,
|
|
1249
|
+
d: 13,
|
|
1250
|
+
e: 14,
|
|
1251
|
+
f: 15,
|
|
1252
|
+
A: 10,
|
|
1253
|
+
B: 11,
|
|
1254
|
+
C: 12,
|
|
1255
|
+
D: 13,
|
|
1256
|
+
E: 14,
|
|
1257
|
+
F: 15,
|
|
1258
|
+
} as const;
|
|
1259
|
+
Object.freeze(HEX_CHARS);
|
|
1260
|
+
|
|
1261
|
+
const HEX_BYTES: string[] = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));
|
|
1262
|
+
Object.freeze(HEX_BYTES);
|
|
1263
|
+
|
|
1264
|
+
const HEX_CHARS_CODES = new Uint8Array([
|
|
1265
|
+
48,
|
|
1266
|
+
49,
|
|
1267
|
+
50,
|
|
1268
|
+
51,
|
|
1269
|
+
52,
|
|
1270
|
+
53,
|
|
1271
|
+
54,
|
|
1272
|
+
55,
|
|
1273
|
+
56,
|
|
1274
|
+
57, // '0'-'9'
|
|
1275
|
+
97,
|
|
1276
|
+
98,
|
|
1277
|
+
99,
|
|
1278
|
+
100,
|
|
1279
|
+
101,
|
|
1280
|
+
102, // 'a'-'f'
|
|
1281
|
+
]);
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Convert a Uint8Array to a hex string (without 0x prefix).
|
|
1285
|
+
*
|
|
1286
|
+
* @param bytes - The byte array to convert. If `undefined` or empty, returns `""`.
|
|
1287
|
+
* @returns A lowercase hex string with even length (2 chars per byte), without `0x` prefix.
|
|
1288
|
+
*
|
|
1289
|
+
* @example
|
|
1290
|
+
* bytesToHexNo0x(new Uint8Array([0x48, 0x65])) // "4865"
|
|
1291
|
+
* bytesToHexNo0x(new Uint8Array([0x0a])) // "0a"
|
|
1292
|
+
* bytesToHexNo0x(undefined) // ""
|
|
1293
|
+
* bytesToHexNo0x(new Uint8Array([])) // ""
|
|
1294
|
+
*/
|
|
1295
|
+
export function bytesToHexNo0x(bytes: Uint8Array | undefined): BytesHexNo0x {
|
|
1296
|
+
if (!bytes || bytes.length === 0) {
|
|
1297
|
+
return '' as BytesHexNo0x;
|
|
1298
|
+
}
|
|
1299
|
+
let hex = '';
|
|
1300
|
+
for (const byte of bytes) {
|
|
1301
|
+
hex += byte.toString(16).padStart(2, '0');
|
|
1302
|
+
}
|
|
1303
|
+
return hex as BytesHexNo0x;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
/**
|
|
1307
|
+
* Convert a Uint8Array to a `0x`-prefixed hex string.
|
|
1308
|
+
*
|
|
1309
|
+
* @param bytes - The byte array to convert. If `undefined` or empty, returns `"0x"`.
|
|
1310
|
+
* @returns A lowercase `0x`-prefixed hex string with even length (2 chars per byte after prefix).
|
|
1311
|
+
*
|
|
1312
|
+
* @example
|
|
1313
|
+
* bytesToHex(new Uint8Array([0x48, 0x65])) // "0x4865"
|
|
1314
|
+
* bytesToHex(new Uint8Array([0x0a])) // "0x0a"
|
|
1315
|
+
* bytesToHex(undefined) // "0x"
|
|
1316
|
+
* bytesToHex(new Uint8Array([])) // "0x"
|
|
1317
|
+
*/
|
|
1318
|
+
export function bytesToHex(bytes: Uint8Array | undefined): BytesHex {
|
|
1319
|
+
return `0x${bytesToHexNo0x(bytes)}` as BytesHex;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1323
|
+
|
|
1324
|
+
/**
|
|
1325
|
+
* Convert a 1-byte long Uint8Array to a 0x prefixed hex string (length=4)
|
|
1326
|
+
*/
|
|
1327
|
+
export function bytes1ToHex(bytes: unknown): Bytes1Hex {
|
|
1328
|
+
if (!isBytes1(bytes)) {
|
|
1329
|
+
throw new Error('Invalid bytes1 argument');
|
|
1330
|
+
}
|
|
1331
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes1Hex;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* Convert a 8-bytes long Uint8Array to a 0x prefixed hex string (length=18)
|
|
1336
|
+
*/
|
|
1337
|
+
export function bytes8ToHex(bytes: unknown): Bytes8Hex {
|
|
1338
|
+
if (!isBytes8(bytes)) {
|
|
1339
|
+
throw new Error('Invalid bytes8 argument');
|
|
1340
|
+
}
|
|
1341
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes8Hex;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
/**
|
|
1345
|
+
* Convert a 20-bytes long Uint8Array to a 0x prefixed hex string (length=42)
|
|
1346
|
+
*/
|
|
1347
|
+
export function bytes20ToHex(bytes: unknown): Bytes20Hex {
|
|
1348
|
+
if (!isBytes20(bytes)) {
|
|
1349
|
+
throw new Error('Invalid bytes20 argument');
|
|
1350
|
+
}
|
|
1351
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes20Hex;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
/**
|
|
1355
|
+
* Convert a 21-bytes long Uint8Array to a 0x prefixed hex string (length=44)
|
|
1356
|
+
*/
|
|
1357
|
+
export function bytes21ToHex(bytes: unknown): Bytes21Hex {
|
|
1358
|
+
if (!isBytes21(bytes)) {
|
|
1359
|
+
throw new Error('Invalid bytes21 argument');
|
|
1360
|
+
}
|
|
1361
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes21Hex;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
/**
|
|
1365
|
+
* Convert a 32-bytes long Uint8Array to a 0x prefixed hex string (length=66).
|
|
1366
|
+
*
|
|
1367
|
+
* @param bytes - Input to convert (asserted to be Bytes32)
|
|
1368
|
+
* @returns Hex string with 0x prefix
|
|
1369
|
+
* @throws Error if bytes is not a valid 32-byte Uint8Array
|
|
1370
|
+
*/
|
|
1371
|
+
export function bytes32ToHex(bytes: unknown): Bytes32Hex {
|
|
1372
|
+
if (!isBytes32(bytes)) {
|
|
1373
|
+
throw new Error('Invalid bytes32 argument');
|
|
1374
|
+
}
|
|
1375
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes32Hex;
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
/**
|
|
1379
|
+
* Convert a 65-bytes long Uint8Array to a 0x prefixed hex string (length=132)
|
|
1380
|
+
*/
|
|
1381
|
+
export function bytes65ToHex(bytes: Uint8Array | undefined): Bytes65Hex {
|
|
1382
|
+
if (!isBytes65(bytes)) {
|
|
1383
|
+
throw new Error('Invalid bytes65 argument');
|
|
1384
|
+
}
|
|
1385
|
+
return `0x${bytesToHexNo0x(bytes)}` as Bytes65Hex;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* Converts a Uint8Array to a hex string, optimized for large byte arrays.
|
|
1392
|
+
*
|
|
1393
|
+
* Unlike {@link bytesToHex}, this function avoids `Array.from` and string
|
|
1394
|
+
* concatenation, making it more efficient for large inputs.
|
|
1395
|
+
*
|
|
1396
|
+
* @param bytes - The byte array to convert
|
|
1397
|
+
* @param no0x - If `true`, returns the hex string without the `0x` prefix
|
|
1398
|
+
* @returns The hex string representation of the bytes
|
|
1399
|
+
* @example bytesToHexLarge(new Uint8Array([255, 0]), false) // '0xff00'
|
|
1400
|
+
* @example bytesToHexLarge(new Uint8Array([255, 0]), true) // 'ff00'
|
|
1401
|
+
*/
|
|
1402
|
+
export function bytesToHexLarge(bytes: Uint8Array, no0x: true): BytesHexNo0x;
|
|
1403
|
+
export function bytesToHexLarge(bytes: Uint8Array, no0x?: false): BytesHex;
|
|
1404
|
+
export function bytesToHexLarge(bytes: Uint8Array, no0x?: boolean): BytesHex | BytesHexNo0x {
|
|
1405
|
+
const len = no0x === true ? bytes.length * 2 : bytes.length * 2 + 2;
|
|
1406
|
+
const out = new Uint8Array(len);
|
|
1407
|
+
|
|
1408
|
+
let i0 = 0;
|
|
1409
|
+
if (no0x !== true) {
|
|
1410
|
+
out[0] = 48; // '0'
|
|
1411
|
+
out[1] = 120; // 'x'
|
|
1412
|
+
i0 = 2;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
let j = i0;
|
|
1416
|
+
for (const byte of bytes) {
|
|
1417
|
+
// byte >> 4 is always 0–15, byte & 0xf is always 0–15
|
|
1418
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1419
|
+
out[j] = HEX_CHARS_CODES[byte >> 4]!;
|
|
1420
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1421
|
+
out[j + 1] = HEX_CHARS_CODES[byte & 0xf]!;
|
|
1422
|
+
j += 2;
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
const txt = new TextDecoder().decode(out);
|
|
1426
|
+
if (no0x === true) {
|
|
1427
|
+
return txt as BytesHexNo0x;
|
|
1428
|
+
} else {
|
|
1429
|
+
return txt as BytesHex;
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* Convert a hex string prefixed by 0x or not to a Uint8Array
|
|
1435
|
+
* Any invalid byte string is converted to 0
|
|
1436
|
+
* "0xzzff" = [0, 255]
|
|
1437
|
+
* "0xzfff" = [0, 255]
|
|
1438
|
+
*/
|
|
1439
|
+
export function hexToBytes(hexString: string): Uint8Array {
|
|
1440
|
+
if (hexString.length % 2 !== 0) {
|
|
1441
|
+
throw new Error('Invalid hex string: odd length');
|
|
1442
|
+
}
|
|
1443
|
+
const arr = hexString.replace(/^(0x)/, '').match(/.{1,2}/g);
|
|
1444
|
+
if (!arr) return new Uint8Array();
|
|
1445
|
+
return Uint8Array.from(arr.map((byte) => parseInt(byte, 16)));
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
/**
|
|
1449
|
+
* Convert a hex string (with or without 0x prefix) to a 1-byte Uint8Array.
|
|
1450
|
+
* Left-pads with zeros if shorter than 1 byte.
|
|
1451
|
+
* Empty string or "0x" returns 1 zero byte.
|
|
1452
|
+
*
|
|
1453
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1454
|
+
* @returns 1-byte Uint8Array
|
|
1455
|
+
* @throws Error if hex string has odd length or exceeds 2 hex characters
|
|
1456
|
+
*
|
|
1457
|
+
* @example
|
|
1458
|
+
* // Full 1-byte input
|
|
1459
|
+
* hexToBytes1("0xff") // Uint8Array [255]
|
|
1460
|
+
*
|
|
1461
|
+
* @example
|
|
1462
|
+
* // Empty input - returns 1 zero byte
|
|
1463
|
+
* hexToBytes1("") // Uint8Array [0]
|
|
1464
|
+
* hexToBytes1("0x") // Uint8Array [0]
|
|
1465
|
+
*/
|
|
1466
|
+
export function hexToBytes1(hexString: string): Bytes1 {
|
|
1467
|
+
const hex = remove0x(hexString);
|
|
1468
|
+
if (hex.length % 2 !== 0 || hex.length > 2) {
|
|
1469
|
+
throw new Error('Invalid bytes1 hex string');
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
return hexToBytes('0x' + hex.padStart(2, '0')) as Bytes1;
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
/**
|
|
1476
|
+
* Convert a hex string (with or without 0x prefix) to an 8-byte Uint8Array.
|
|
1477
|
+
* Left-pads with zeros if shorter than 8 bytes.
|
|
1478
|
+
* Empty string or "0x" returns 8 zero bytes.
|
|
1479
|
+
*
|
|
1480
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1481
|
+
* @returns 8-byte Uint8Array
|
|
1482
|
+
* @throws Error if hex string has odd length or exceeds 16 hex characters
|
|
1483
|
+
*
|
|
1484
|
+
* @example
|
|
1485
|
+
* // Full 8-byte input
|
|
1486
|
+
* hexToBytes8("0x0102030405060708") // Uint8Array [1,2,3,4,5,6,7,8]
|
|
1487
|
+
*
|
|
1488
|
+
* @example
|
|
1489
|
+
* // Short input - left-padded with zeros
|
|
1490
|
+
* hexToBytes8("0x1234") // Uint8Array [0,0,0,0,0,0,0x12,0x34]
|
|
1491
|
+
* hexToBytes8("1234") // Same result, 0x prefix optional
|
|
1492
|
+
* hexToBytes8("0xff") // Uint8Array [0,0,0,0,0,0,0,255]
|
|
1493
|
+
*
|
|
1494
|
+
* @example
|
|
1495
|
+
* // Empty input - returns 8 zero bytes
|
|
1496
|
+
* hexToBytes8("") // Uint8Array [0,0,0,0,0,0,0,0]
|
|
1497
|
+
* hexToBytes8("0x") // Uint8Array [0,0,0,0,0,0,0,0]
|
|
1498
|
+
*/
|
|
1499
|
+
export function hexToBytes8(hexString: string): Bytes8 {
|
|
1500
|
+
const hex = remove0x(hexString);
|
|
1501
|
+
if (hex.length % 2 !== 0 || hex.length > 16) {
|
|
1502
|
+
throw new Error('Invalid bytes8 hex string');
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
return hexToBytes('0x' + hex.padStart(16, '0')) as Bytes8;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
/**
|
|
1509
|
+
* Convert a hex string (with or without 0x prefix) to a 20-byte Uint8Array.
|
|
1510
|
+
* Left-pads with zeros if shorter than 20 bytes.
|
|
1511
|
+
* Empty string or "0x" returns 20 zero bytes.
|
|
1512
|
+
*
|
|
1513
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1514
|
+
* @returns 20-byte Uint8Array (suitable for Ethereum addresses)
|
|
1515
|
+
* @throws Error if hex string has odd length or exceeds 40 hex characters
|
|
1516
|
+
*
|
|
1517
|
+
* @example
|
|
1518
|
+
* // Full 20-byte address
|
|
1519
|
+
* hexToBytes20("0x742d35Cc6634C0532925a3b844Bc9e7595f8fE00")
|
|
1520
|
+
* // Uint8Array [0x74,0x2d,0x35,...,0xf8,0xfe,0x00]
|
|
1521
|
+
*
|
|
1522
|
+
* @example
|
|
1523
|
+
* // Short input - left-padded with zeros
|
|
1524
|
+
* hexToBytes20("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (18 zeros + 2 bytes)
|
|
1525
|
+
* hexToBytes20("0xff") // Uint8Array [0,0,...,0,255] (19 zeros + 1 byte)
|
|
1526
|
+
*
|
|
1527
|
+
* @example
|
|
1528
|
+
* // Empty input - returns 20 zero bytes
|
|
1529
|
+
* hexToBytes20("") // Uint8Array [0,0,0,...,0] (20 zeros)
|
|
1530
|
+
* hexToBytes20("0x") // Uint8Array [0,0,0,...,0] (20 zeros)
|
|
1531
|
+
*/
|
|
1532
|
+
export function hexToBytes20(hexString: string): Bytes20 {
|
|
1533
|
+
const hex = remove0x(hexString);
|
|
1534
|
+
if (hex.length % 2 !== 0 || hex.length > 40) {
|
|
1535
|
+
throw new Error('Invalid bytes20 hex string');
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
return hexToBytes('0x' + hex.padStart(40, '0')) as Bytes20;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
/**
|
|
1542
|
+
* Convert a hex string (with or without 0x prefix) to a 21-byte Uint8Array.
|
|
1543
|
+
* Left-pads with zeros if shorter than 21 bytes.
|
|
1544
|
+
* Empty string or "0x" returns 21 zero bytes.
|
|
1545
|
+
*
|
|
1546
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1547
|
+
* @returns 21-byte Uint8Array
|
|
1548
|
+
* @throws Error if hex string has odd length or exceeds 42 hex characters
|
|
1549
|
+
*
|
|
1550
|
+
* @example
|
|
1551
|
+
* // Full 21-byte input
|
|
1552
|
+
* hexToBytes21("0x01" + "00".repeat(20)) // Uint8Array [1,0,0,...,0] (21 bytes)
|
|
1553
|
+
*
|
|
1554
|
+
* @example
|
|
1555
|
+
* // Short input - left-padded with zeros
|
|
1556
|
+
* hexToBytes21("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (19 zeros + 2 bytes)
|
|
1557
|
+
* hexToBytes21("0xff") // Uint8Array [0,0,...,0,255] (20 zeros + 1 byte)
|
|
1558
|
+
*
|
|
1559
|
+
* @example
|
|
1560
|
+
* // Empty input - returns 21 zero bytes
|
|
1561
|
+
* hexToBytes21("") // Uint8Array [0,0,0,...,0] (21 zeros)
|
|
1562
|
+
* hexToBytes21("0x") // Uint8Array [0,0,0,...,0] (21 zeros)
|
|
1563
|
+
*/
|
|
1564
|
+
export function hexToBytes21(hexString: string): Bytes21 {
|
|
1565
|
+
const hex = remove0x(hexString);
|
|
1566
|
+
if (hex.length % 2 !== 0 || hex.length > 42) {
|
|
1567
|
+
throw new Error('Invalid bytes21 hex string');
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
return hexToBytes('0x' + hex.padStart(42, '0')) as Bytes21;
|
|
1571
|
+
}
|
|
1572
|
+
|
|
1573
|
+
/**
|
|
1574
|
+
* Convert a hex string (with or without 0x prefix) to a 32-byte Uint8Array.
|
|
1575
|
+
* Left-pads with zeros if shorter than 32 bytes.
|
|
1576
|
+
* Empty string or "0x" returns 32 zero bytes.
|
|
1577
|
+
*
|
|
1578
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1579
|
+
* @returns 32-byte Uint8Array (suitable for hashes, private keys, etc.)
|
|
1580
|
+
* @throws Error if hex string has odd length or exceeds 64 hex characters
|
|
1581
|
+
*
|
|
1582
|
+
* @example
|
|
1583
|
+
* // Full 32-byte hash
|
|
1584
|
+
* hexToBytes32("0xabcdef..." /* 64 hex chars *\/) // Uint8Array [0xab,0xcd,0xef,...]
|
|
1585
|
+
*
|
|
1586
|
+
* @example
|
|
1587
|
+
* // Short input - left-padded with zeros (useful for encoding small numbers)
|
|
1588
|
+
* hexToBytes32("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (30 zeros + 2 bytes)
|
|
1589
|
+
* hexToBytes32("0x01") // Uint8Array [0,0,...,0,1] (31 zeros + 1 byte)
|
|
1590
|
+
* hexToBytes32("0xff") // Uint8Array [0,0,...,0,255] (31 zeros + 1 byte)
|
|
1591
|
+
*
|
|
1592
|
+
* @example
|
|
1593
|
+
* // Empty input - returns 32 zero bytes
|
|
1594
|
+
* hexToBytes32("") // Uint8Array [0,0,0,...,0] (32 zeros)
|
|
1595
|
+
* hexToBytes32("0x") // Uint8Array [0,0,0,...,0] (32 zeros)
|
|
1596
|
+
*/
|
|
1597
|
+
export function hexToBytes32(hexString: string): Bytes32 {
|
|
1598
|
+
const hex = remove0x(hexString);
|
|
1599
|
+
if (hex.length % 2 !== 0 || hex.length > 64) {
|
|
1600
|
+
throw new Error('Invalid bytes32 hex string');
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
return hexToBytes('0x' + hex.padStart(64, '0')) as Bytes32;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
/**
|
|
1607
|
+
* Convert a hex string (with or without 0x prefix) to a 65-byte Uint8Array.
|
|
1608
|
+
* Left-pads with zeros if shorter than 65 bytes.
|
|
1609
|
+
* Empty string or "0x" returns 65 zero bytes.
|
|
1610
|
+
*
|
|
1611
|
+
* @param hexString - Hex string with or without 0x prefix
|
|
1612
|
+
* @returns 65-byte Uint8Array (suitable for ECDSA signatures with recovery byte)
|
|
1613
|
+
* @throws Error if hex string has odd length or exceeds 130 hex characters
|
|
1614
|
+
*
|
|
1615
|
+
* @example
|
|
1616
|
+
* // Full 65-byte signature (r + s + v)
|
|
1617
|
+
* hexToBytes65("0x" + "ab".repeat(65)) // Uint8Array [0xab,0xab,...] (65 bytes)
|
|
1618
|
+
*
|
|
1619
|
+
* @example
|
|
1620
|
+
* // Short input - left-padded with zeros
|
|
1621
|
+
* hexToBytes65("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (63 zeros + 2 bytes)
|
|
1622
|
+
* hexToBytes65("0xff") // Uint8Array [0,0,...,0,255] (64 zeros + 1 byte)
|
|
1623
|
+
*
|
|
1624
|
+
* @example
|
|
1625
|
+
* // Empty input - returns 65 zero bytes
|
|
1626
|
+
* hexToBytes65("") // Uint8Array [0,0,0,...,0] (65 zeros)
|
|
1627
|
+
* hexToBytes65("0x") // Uint8Array [0,0,0,...,0] (65 zeros)
|
|
1628
|
+
*/
|
|
1629
|
+
export function hexToBytes65(hexString: string): Bytes65 {
|
|
1630
|
+
const hex = remove0x(hexString);
|
|
1631
|
+
if (hex.length % 2 !== 0 || hex.length > 130) {
|
|
1632
|
+
throw new Error('Invalid bytes65 hex string');
|
|
1633
|
+
}
|
|
1634
|
+
|
|
1635
|
+
return hexToBytes('0x' + hex.padStart(130, '0')) as Bytes65;
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
/**
|
|
1639
|
+
* Convert a hex string prefixed by 0x or not to a Uint8Array
|
|
1640
|
+
*/
|
|
1641
|
+
export function hexToBytesFaster(
|
|
1642
|
+
hexString: string,
|
|
1643
|
+
options?: {
|
|
1644
|
+
strict?: boolean;
|
|
1645
|
+
byteLength?: ByteLength;
|
|
1646
|
+
subject?: string;
|
|
1647
|
+
} & ErrorMetadataParams,
|
|
1648
|
+
): Uint8Array {
|
|
1649
|
+
const strict = options?.strict === true;
|
|
1650
|
+
// eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
|
|
1651
|
+
const offset = hexString[0] === '0' && hexString[1] === 'x' ? 2 : 0;
|
|
1652
|
+
const len = hexString.length - offset;
|
|
1653
|
+
|
|
1654
|
+
if (len % 2 !== 0) {
|
|
1655
|
+
throw new InvalidTypeError(
|
|
1656
|
+
{
|
|
1657
|
+
subject: options?.subject,
|
|
1658
|
+
expectedType: 'bytesHex',
|
|
1659
|
+
metaMessages: ['hex string length must be even'],
|
|
1660
|
+
},
|
|
1661
|
+
options ?? {},
|
|
1662
|
+
);
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
if (options?.byteLength !== undefined) {
|
|
1666
|
+
if (len !== options.byteLength) {
|
|
1667
|
+
throw new InvalidTypeError(
|
|
1668
|
+
{
|
|
1669
|
+
subject: options.subject,
|
|
1670
|
+
expectedType: 'bytesHex',
|
|
1671
|
+
metaMessages: [`expected ${options.byteLength} bytes, got ${len / 2}`],
|
|
1672
|
+
},
|
|
1673
|
+
options,
|
|
1674
|
+
);
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
const bytes = new Uint8Array(len / 2);
|
|
1679
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
1680
|
+
// If index is out of bounds, hexString[] returns undefined which
|
|
1681
|
+
// propagates through HEX_CHARS as undefined, caught by the check below.
|
|
1682
|
+
/* eslint-disable @typescript-eslint/non-nullable-type-assertion-style */
|
|
1683
|
+
const hi = HEX_CHARS[hexString[offset + i * 2] as string];
|
|
1684
|
+
const lo = HEX_CHARS[hexString[offset + i * 2 + 1] as string];
|
|
1685
|
+
/* eslint-enable @typescript-eslint/non-nullable-type-assertion-style */
|
|
1686
|
+
if (hi === undefined || lo === undefined) {
|
|
1687
|
+
if (strict) {
|
|
1688
|
+
throw new InvalidTypeError(
|
|
1689
|
+
{
|
|
1690
|
+
subject: options.subject,
|
|
1691
|
+
expectedType: 'bytesHex',
|
|
1692
|
+
metaMessages: [`invalid hex character at position ${offset + i * 2}`],
|
|
1693
|
+
},
|
|
1694
|
+
options,
|
|
1695
|
+
);
|
|
1696
|
+
}
|
|
1697
|
+
bytes[i] = ((hi ?? 0) << 4) | (lo ?? 0);
|
|
1698
|
+
continue;
|
|
1699
|
+
}
|
|
1700
|
+
bytes[i] = (hi << 4) | lo;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
return bytes;
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
/**
|
|
1707
|
+
* Convert a Uint8Array to a bigint (big-endian interpretation).
|
|
1708
|
+
* The most significant byte is at index 0.
|
|
1709
|
+
*
|
|
1710
|
+
* @param byteArray - The byte array to convert (big-endian)
|
|
1711
|
+
* @returns The bigint representation of the bytes
|
|
1712
|
+
*
|
|
1713
|
+
* @example
|
|
1714
|
+
* // Standard conversion (big-endian)
|
|
1715
|
+
* bytesToBigInt(new Uint8Array([0x01, 0x00])) // 256n (0x0100)
|
|
1716
|
+
* bytesToBigInt(new Uint8Array([0xff])) // 255n
|
|
1717
|
+
* bytesToBigInt(new Uint8Array([0x01, 0x02, 0x03])) // 66051n (0x010203)
|
|
1718
|
+
*
|
|
1719
|
+
* @example
|
|
1720
|
+
* // Edge cases
|
|
1721
|
+
* bytesToBigInt(new Uint8Array([])) // 0n
|
|
1722
|
+
* bytesToBigInt(new Uint8Array([0])) // 0n
|
|
1723
|
+
* bytesToBigInt(undefined) // 0n
|
|
1724
|
+
*
|
|
1725
|
+
* @example
|
|
1726
|
+
* // 32-byte value (e.g., uint256)
|
|
1727
|
+
* const bytes32 = new Uint8Array(32);
|
|
1728
|
+
* bytes32[31] = 0x2a; // 42 in last byte
|
|
1729
|
+
* bytesToBigInt(bytes32) // 42n
|
|
1730
|
+
*/
|
|
1731
|
+
export function bytesToBigInt(byteArray: Uint8Array | undefined): UintBigInt {
|
|
1732
|
+
if (!byteArray || byteArray.length === 0) {
|
|
1733
|
+
return BigInt(0) as UintBigInt;
|
|
1734
|
+
}
|
|
1735
|
+
let result = BigInt(0);
|
|
1736
|
+
for (const byte of byteArray) {
|
|
1737
|
+
result = (result << BigInt(8)) | BigInt(byte);
|
|
1738
|
+
}
|
|
1739
|
+
return result as UintBigInt;
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
/**
|
|
1743
|
+
* Converts a non-negative bigint to a `0x`-prefixed hex string.
|
|
1744
|
+
*
|
|
1745
|
+
* When `byteLength` is provided, the output is zero-padded to exactly
|
|
1746
|
+
* that many bytes and an overflow check is performed.
|
|
1747
|
+
* When omitted, the output is the minimal even-length hex representation.
|
|
1748
|
+
*
|
|
1749
|
+
* @param value - Non-negative bigint to convert
|
|
1750
|
+
* @param options.byteLength - Fixed byte width (enables zero-padding and overflow check)
|
|
1751
|
+
* @param options.subject - Name used in error messages
|
|
1752
|
+
* @returns `0x`-prefixed hex string
|
|
1753
|
+
* @throws {InvalidTypeError} If value is negative or exceeds the byte length
|
|
1754
|
+
*
|
|
1755
|
+
* @example
|
|
1756
|
+
* ```typescript
|
|
1757
|
+
* bigIntToBytesHex(0n) // '0x00'
|
|
1758
|
+
* bigIntToBytesHex(255n) // '0xff'
|
|
1759
|
+
* bigIntToBytesHex(256n) // '0x0100'
|
|
1760
|
+
* bigIntToBytesHex(1n, { byteLength: 4 }) // '0x00000001'
|
|
1761
|
+
* bigIntToBytesHex(255n, { byteLength: 1 }) // '0xff'
|
|
1762
|
+
* bigIntToBytesHex(256n, { byteLength: 1 }) // throws (overflow)
|
|
1763
|
+
* bigIntToBytesHex(-1n) // throws (negative)
|
|
1764
|
+
* ```
|
|
1765
|
+
*/
|
|
1766
|
+
export function bigIntToBytesHex(
|
|
1767
|
+
value: bigint,
|
|
1768
|
+
options: { byteLength: 1; subject?: string } & ErrorMetadataParams,
|
|
1769
|
+
): Bytes1Hex;
|
|
1770
|
+
export function bigIntToBytesHex(
|
|
1771
|
+
value: bigint,
|
|
1772
|
+
options: { byteLength: 8; subject?: string } & ErrorMetadataParams,
|
|
1773
|
+
): Bytes8Hex;
|
|
1774
|
+
export function bigIntToBytesHex(
|
|
1775
|
+
value: bigint,
|
|
1776
|
+
options: { byteLength: 20; subject?: string } & ErrorMetadataParams,
|
|
1777
|
+
): Bytes20Hex;
|
|
1778
|
+
export function bigIntToBytesHex(
|
|
1779
|
+
value: bigint,
|
|
1780
|
+
options: { byteLength: 32; subject?: string } & ErrorMetadataParams,
|
|
1781
|
+
): Bytes32Hex;
|
|
1782
|
+
export function bigIntToBytesHex(
|
|
1783
|
+
value: bigint,
|
|
1784
|
+
options?: {
|
|
1785
|
+
byteLength?: 1 | 2 | 4 | 8 | 16 | 20 | 32;
|
|
1786
|
+
subject?: string;
|
|
1787
|
+
} & ErrorMetadataParams,
|
|
1788
|
+
): BytesHex;
|
|
1789
|
+
export function bigIntToBytesHex(
|
|
1790
|
+
value: bigint,
|
|
1791
|
+
options?: {
|
|
1792
|
+
byteLength?: 1 | 2 | 4 | 8 | 16 | 20 | 32;
|
|
1793
|
+
subject?: string;
|
|
1794
|
+
} & ErrorMetadataParams,
|
|
1795
|
+
): BytesHex {
|
|
1796
|
+
const byteLength = options?.byteLength;
|
|
1797
|
+
|
|
1798
|
+
// checks overflow and negative values
|
|
1799
|
+
if (!isUintForByteLength(value, byteLength)) {
|
|
1800
|
+
throw new InvalidTypeError(
|
|
1801
|
+
{
|
|
1802
|
+
subject: options?.subject,
|
|
1803
|
+
type: typeof value,
|
|
1804
|
+
expectedType: 'uintBigInt',
|
|
1805
|
+
},
|
|
1806
|
+
options ?? {},
|
|
1807
|
+
);
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
let v = value.toString(16);
|
|
1811
|
+
|
|
1812
|
+
if (byteLength !== undefined) {
|
|
1813
|
+
v = v.padStart(byteLength * 2, '0');
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
if (v.length % 2 !== 0) {
|
|
1817
|
+
return ('0x0' + v) as BytesHex;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
return ('0x' + v) as BytesHex;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
/**
|
|
1824
|
+
* Converts an array of Bytes32 or Bytes32Hex values to a uniform Bytes32Hex array.
|
|
1825
|
+
* Accepts mixed input: both 32-byte Uint8Arrays and hex strings are normalized to Bytes32Hex.
|
|
1826
|
+
*
|
|
1827
|
+
* @param arr - Array of Bytes32 (Uint8Array) or Bytes32Hex (string) or Bytes32HexAble values.
|
|
1828
|
+
* @returns Array of Bytes32Hex strings.
|
|
1829
|
+
*/
|
|
1830
|
+
export function toBytes32HexArray(arr: readonly unknown[]): Bytes32Hex[] {
|
|
1831
|
+
return arr.map((b) => {
|
|
1832
|
+
if (typeof b === 'string') {
|
|
1833
|
+
return asBytes32Hex(b);
|
|
1834
|
+
} else if (isBytes(b)) {
|
|
1835
|
+
return bytesToHexLarge(asBytes32(b)) as Bytes32Hex;
|
|
1836
|
+
} else if (typeof b === 'object' && b !== null && 'bytes32Hex' in b) {
|
|
1837
|
+
// Bytes32HexAble
|
|
1838
|
+
return asBytes32Hex((b as Record<string, unknown>).bytes32Hex);
|
|
1839
|
+
} else {
|
|
1840
|
+
throw new InvalidTypeError(
|
|
1841
|
+
{
|
|
1842
|
+
expectedType: 'bytes32Hex[]',
|
|
1843
|
+
},
|
|
1844
|
+
{},
|
|
1845
|
+
);
|
|
1846
|
+
}
|
|
1847
|
+
});
|
|
1848
|
+
}
|
|
1849
|
+
|
|
1850
|
+
/**
|
|
1851
|
+
* Converts a Bytes32 or Bytes32Hex values to a Bytes32.
|
|
1852
|
+
* Accepts mixed input: both 32-byte Uint8Arrays and hex strings are normalized to Bytes32.
|
|
1853
|
+
*/
|
|
1854
|
+
export function toBytes32(value: unknown): Bytes32 {
|
|
1855
|
+
if (isBytes(value)) {
|
|
1856
|
+
return asBytes32(value);
|
|
1857
|
+
} else if (typeof value === 'string') {
|
|
1858
|
+
return hexToBytes32(asBytes32Hex(value));
|
|
1859
|
+
} else if (
|
|
1860
|
+
// Bytes32Able
|
|
1861
|
+
typeof value === 'object' &&
|
|
1862
|
+
value !== null &&
|
|
1863
|
+
'bytes32' in value
|
|
1864
|
+
) {
|
|
1865
|
+
return asBytes32((value as Record<string, unknown>).bytes32);
|
|
1866
|
+
} else {
|
|
1867
|
+
throw new InvalidTypeError(
|
|
1868
|
+
{
|
|
1869
|
+
expectedType: 'bytes32',
|
|
1870
|
+
},
|
|
1871
|
+
{},
|
|
1872
|
+
);
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
/**
|
|
1877
|
+
* Converts a Bytes or BytesHex values to a Bytes.
|
|
1878
|
+
* Accepts mixed input: both n-byte Uint8Arrays and hex strings are normalized to Bytes.
|
|
1879
|
+
*/
|
|
1880
|
+
export function toBytes(
|
|
1881
|
+
value: unknown,
|
|
1882
|
+
options?: {
|
|
1883
|
+
byteLength?: ByteLength;
|
|
1884
|
+
subject?: string;
|
|
1885
|
+
copy?: boolean;
|
|
1886
|
+
} & ErrorMetadataParams,
|
|
1887
|
+
): Bytes {
|
|
1888
|
+
if (isBytes(value)) {
|
|
1889
|
+
if (options?.copy === true) {
|
|
1890
|
+
return new Uint8Array(value);
|
|
1891
|
+
}
|
|
1892
|
+
return value;
|
|
1893
|
+
} else if (typeof value === 'string') {
|
|
1894
|
+
return hexToBytesFaster(value, { strict: true });
|
|
1895
|
+
} else {
|
|
1896
|
+
throw new InvalidTypeError(
|
|
1897
|
+
{
|
|
1898
|
+
subject: options?.subject,
|
|
1899
|
+
expectedType: ['bytes', 'bytesHex', 'bytesHexNo0x'],
|
|
1900
|
+
},
|
|
1901
|
+
options ?? {},
|
|
1902
|
+
);
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
export function concatBytes(...arrays: Uint8Array[]): Uint8Array {
|
|
1907
|
+
let totalLength = 0;
|
|
1908
|
+
for (const arr of arrays) {
|
|
1909
|
+
totalLength += arr.length;
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1912
|
+
const result = new Uint8Array(totalLength);
|
|
1913
|
+
let offset = 0;
|
|
1914
|
+
|
|
1915
|
+
for (const arr of arrays) {
|
|
1916
|
+
result.set(arr, offset);
|
|
1917
|
+
offset += arr.length;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
return result;
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
export function concatBytesHex(values: BytesHex[]): BytesHex {
|
|
1924
|
+
return ('0x' + values.map((v) => v.substring(2)).join('')) as BytesHex;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
/**
|
|
1928
|
+
* Compares two byte arrays for equality.
|
|
1929
|
+
*
|
|
1930
|
+
* **⚠️ WARNING: NOT TIMING-SAFE**
|
|
1931
|
+
*
|
|
1932
|
+
* This function uses early-exit comparison which leaks timing information
|
|
1933
|
+
* about where the first difference occurs. Do NOT use for comparing:
|
|
1934
|
+
* - Secret keys or passwords
|
|
1935
|
+
* - HMACs or authentication tags
|
|
1936
|
+
* - Any security-sensitive data
|
|
1937
|
+
*
|
|
1938
|
+
* For security-sensitive comparisons, use a timing-safe equals function instead.
|
|
1939
|
+
*
|
|
1940
|
+
* @param a - First byte array
|
|
1941
|
+
* @param b - Second byte array
|
|
1942
|
+
* @returns true if arrays are equal, false otherwise
|
|
1943
|
+
*/
|
|
1944
|
+
export function unsafeBytesEquals(a: unknown, b: unknown): boolean {
|
|
1945
|
+
if (!isBytes(a) || !isBytes(b)) {
|
|
1946
|
+
return false;
|
|
1947
|
+
}
|
|
1948
|
+
if (a.length !== b.length) {
|
|
1949
|
+
return false;
|
|
1950
|
+
}
|
|
1951
|
+
for (let i = 0; i < a.length; ++i) {
|
|
1952
|
+
if (a[i] !== b[i]) {
|
|
1953
|
+
return false;
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
return true;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
/**
|
|
1960
|
+
* Normalizes byte-like values to a Uint8Array.
|
|
1961
|
+
*
|
|
1962
|
+
* Handles both same-realm and cross-realm inputs (e.g., from iframes or
|
|
1963
|
+
* different JavaScript contexts).
|
|
1964
|
+
*
|
|
1965
|
+
* Supported input types:
|
|
1966
|
+
* - `Uint8Array` - returned as-is (same-realm) or re-wrapped (cross-realm)
|
|
1967
|
+
* - `ArrayBuffer` - wrapped in a new Uint8Array
|
|
1968
|
+
*
|
|
1969
|
+
* Other TypedArray types (Uint16Array, Int32Array, etc.) are explicitly
|
|
1970
|
+
* rejected to prevent silent endianness-dependent byte reinterpretation.
|
|
1971
|
+
*
|
|
1972
|
+
* @param value - The value to normalize
|
|
1973
|
+
* @returns A `Uint8Array` representing the bytes
|
|
1974
|
+
* @throws `TypeError` If the value is not a Uint8Array or ArrayBuffer
|
|
1975
|
+
*
|
|
1976
|
+
* @example
|
|
1977
|
+
* ```ts
|
|
1978
|
+
* normalizeBytes(new Uint8Array([1, 2, 3])); // ✅ returns as-is
|
|
1979
|
+
* normalizeBytes(new ArrayBuffer(8)); // ✅ wraps in Uint8Array
|
|
1980
|
+
* normalizeBytes(new Uint16Array([1, 2])); // ❌ throws TypeError
|
|
1981
|
+
* normalizeBytes(iframeUint8Array); // ✅ cross-realm supported
|
|
1982
|
+
* ```
|
|
1983
|
+
*/
|
|
1984
|
+
export function normalizeBytes(value: unknown): Bytes {
|
|
1985
|
+
// same realm Uint8Array
|
|
1986
|
+
if (value instanceof Uint8Array) return value;
|
|
1987
|
+
// same realm ArrayBuffer
|
|
1988
|
+
if (value instanceof ArrayBuffer) return new Uint8Array(value);
|
|
1989
|
+
|
|
1990
|
+
const tag = Object.prototype.toString.call(value);
|
|
1991
|
+
|
|
1992
|
+
// cross realm Uint8Array
|
|
1993
|
+
if (ArrayBuffer.isView(value) && tag === '[object Uint8Array]') {
|
|
1994
|
+
return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
|
|
1995
|
+
}
|
|
1996
|
+
// cross realm ArrayBuffer
|
|
1997
|
+
if (tag === '[object ArrayBuffer]') {
|
|
1998
|
+
return new Uint8Array(value as ArrayBuffer);
|
|
1999
|
+
}
|
|
2000
|
+
|
|
2001
|
+
throw new TypeError(`Unsupported bytes type: ${tag}`);
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
/**
|
|
2005
|
+
* Extracts a single byte from a bytes array at the given byte position.
|
|
2006
|
+
* @param bytes - The bytes array (Uint8Array)
|
|
2007
|
+
* @param position - Byte position (0-indexed)
|
|
2008
|
+
* @returns The byte value as Uint8Number (0-255)
|
|
2009
|
+
* @throws RangeError if position is out of bounds
|
|
2010
|
+
*/
|
|
2011
|
+
export function bytesUint8At(bytes: Bytes, position: Uint8Number): Uint8Number {
|
|
2012
|
+
if (position >= bytes.length) {
|
|
2013
|
+
throw new RangeError(`Position ${position} out of bounds for bytes of length ${bytes.length}`);
|
|
2014
|
+
}
|
|
2015
|
+
return bytes[position] as Uint8Number;
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
/**
|
|
2019
|
+
* Extracts a single byte from a 0x-hex string at the given byte position.
|
|
2020
|
+
* @param bytesHex - The hex string (0x-prefixed)
|
|
2021
|
+
* @param position - Byte position (0-indexed)
|
|
2022
|
+
* @throws `RangeError` if position is out of bounds
|
|
2023
|
+
*/
|
|
2024
|
+
export function bytesHexUint8At(bytesHex: BytesHex, position: Uint8Number): Uint8Number {
|
|
2025
|
+
const bytes1Hex: Bytes1Hex = bytesHexSlice(bytesHex, position, 1);
|
|
2026
|
+
return parseInt(bytes1Hex, 16) as Uint8Number;
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
/**
|
|
2030
|
+
* Extracts a Uint64 (8 bytes) from a 0x-hex string at the given byte position.
|
|
2031
|
+
* @param bytesHex - The hex string (0x-prefixed)
|
|
2032
|
+
* @param position - Byte position (0-indexed)
|
|
2033
|
+
* @throws `RangeError` if position is out of bounds
|
|
2034
|
+
*/
|
|
2035
|
+
export function bytesHexUint64At(bytesHex: BytesHex, position: Uint8Number): Uint64BigInt {
|
|
2036
|
+
const bytes8Hex: Bytes8Hex = bytesHexSlice(bytesHex, position, 8);
|
|
2037
|
+
return BigInt(bytes8Hex) as Uint64BigInt;
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
/**
|
|
2041
|
+
* Extracts a slice of bytes from a hex string starting at the given byte position.
|
|
2042
|
+
* @param bytesHex - The hex string (0x-prefixed)
|
|
2043
|
+
* @param position - Starting byte position (0-indexed)
|
|
2044
|
+
* @param length - Number of bytes to extract (1, 8, 20, 21, 32, 65 for typed result, or any number for BytesHex)
|
|
2045
|
+
* @throws `RangeError` if position + length is out of bounds
|
|
2046
|
+
*/
|
|
2047
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 1): Bytes1Hex;
|
|
2048
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 8): Bytes8Hex;
|
|
2049
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 20): Bytes20Hex;
|
|
2050
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 21): Bytes21Hex;
|
|
2051
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 32): Bytes32Hex;
|
|
2052
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 65): Bytes65Hex;
|
|
2053
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: UintNumber): BytesHex;
|
|
2054
|
+
export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: number): BytesHex {
|
|
2055
|
+
const index = 2 + position * 2;
|
|
2056
|
+
if (index + 2 * length > bytesHex.length) {
|
|
2057
|
+
throw new RangeError(`Position ${position} with length ${length} out of bounds`);
|
|
2058
|
+
}
|
|
2059
|
+
return `0x${bytesHex.slice(index, index + 2 * length)}` as BytesHex;
|
|
2060
|
+
}
|