@fhevm/sdk 1.1.0-alpha.6 → 1.1.0-alpha.8
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 +5 -5
- package/_cjs/core/_version.js +1 -1
- package/_cjs/core/actions/base/index.js +1 -17
- package/_cjs/core/actions/base/index.js.map +1 -1
- package/_cjs/core/actions/base/signDecryptionPermit.js +0 -3
- package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/index.js +1 -13
- package/_cjs/core/actions/chain/index.js.map +1 -1
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValue.js +1 -0
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValues.js +2 -0
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/index.js +1 -3
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValue.js +2 -1
- package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValues.js +2 -1
- package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js +2 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_cjs/core/actions/host/index.js +1 -9
- package/_cjs/core/actions/host/index.js.map +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_cjs/core/base/cachedFetch.js +2 -1
- package/_cjs/core/base/cachedFetch.js.map +1 -1
- package/_cjs/core/base/uint.js +7 -0
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/clients/decorators/base.js +1 -1
- package/_cjs/core/clients/decorators/base.js.map +1 -1
- package/_cjs/core/handle/FheType.js +4 -0
- package/_cjs/core/handle/FheType.js.map +1 -1
- package/_cjs/core/host-contracts/HostContractVersion-p.js +4 -0
- package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +15 -25
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +4 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +1 -1
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +7 -6
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js +54 -66
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_cjs/core/kms/KmsSigncryptedShares-p.js +40 -4
- package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/PublicDecryptionProof-p.js +8 -7
- package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +33 -199
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js +204 -0
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +172 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_cjs/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +12 -13
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +22 -21
- package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_cjs/core/kms/decryptValuesFromPairs.js +18 -2
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +19 -9
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +95 -0
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
- package/_cjs/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +8 -8
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
- package/_cjs/core/kms/kmsExtraData-p.js +234 -0
- package/_cjs/core/kms/kmsExtraData-p.js.map +1 -0
- package/_cjs/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +8 -8
- package/_cjs/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
- package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
- package/_cjs/core/kms/publicDecrypt.js +5 -5
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/kms/utils.js +0 -19
- package/_cjs/core/kms/utils.js.map +1 -1
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +6 -5
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js +6 -6
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +12 -12
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/init-p.js +6 -7
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +12 -11
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +53 -3
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +67 -21
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +64 -7
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +9 -108
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js +163 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js +7 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js +83 -0
- package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js +2 -2
- package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/signers.js +14 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -1
- package/_cjs/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +11 -45
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +52 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +54 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +5 -2
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
- package/_cjs/core/modules/relayer/module/index.js +2 -2
- package/_cjs/core/modules/relayer/module/index.js.map +1 -1
- package/_cjs/core/runtime/HyperWasmSolver-p.js +1 -6
- package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_cjs/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +30 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
- package/_cjs/ethers/internal/ethereum-ct.js +11 -0
- package/_cjs/ethers/internal/ethereum-ct.js.map +1 -1
- package/_cjs/ethers/internal/runtime-ct.js +9 -7
- package/_cjs/ethers/internal/runtime-ct.js.map +1 -1
- package/_cjs/viem/internal/ethereum-ct.js +8 -0
- package/_cjs/viem/internal/ethereum-ct.js.map +1 -1
- package/_cjs/viem/internal/runtime-ct.js +9 -7
- package/_cjs/viem/internal/runtime-ct.js.map +1 -1
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
- package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/index.js +0 -8
- package/_esm/core/actions/base/index.js.map +1 -1
- package/_esm/core/actions/base/signDecryptionPermit.js +0 -6
- package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/index.js +0 -6
- package/_esm/core/actions/chain/index.js.map +1 -1
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValue.js +40 -0
- package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValues.js +1 -0
- package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +1 -0
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValue.js +1 -0
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValues.js +2 -0
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/index.js +0 -1
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValue.js +2 -1
- package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValues.js +2 -1
- package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_esm/core/actions/encrypt/generateZkProof.js +2 -1
- package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_esm/core/actions/host/index.js +0 -4
- package/_esm/core/actions/host/index.js.map +1 -1
- package/_esm/core/actions/host/readKmsVerifierContractData.js +2 -2
- package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_esm/core/base/cachedFetch.js +1 -0
- package/_esm/core/base/cachedFetch.js.map +1 -1
- package/_esm/core/base/uint.js +7 -0
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/clients/decorators/base.js +2 -4
- package/_esm/core/clients/decorators/base.js.map +1 -1
- package/_esm/core/coprocessor/coprocessorEip712Types.js +2 -2
- package/_esm/core/handle/FheType.js +10 -0
- package/_esm/core/handle/FheType.js.map +1 -1
- package/_esm/core/host-contracts/HostContractVersion-p.js +6 -0
- package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js +16 -25
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +5 -2
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +2 -2
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +2 -2
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +2 -2
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +2 -2
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +6 -5
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_esm/core/host-contracts/readKmsSignersContext-p.js +132 -68
- package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_esm/core/kms/KmsSigncryptedShares-p.js +70 -4
- package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_esm/core/kms/PublicDecryptionProof-p.js +8 -7
- package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermit-p.js +48 -245
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js +228 -0
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js +192 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_esm/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +11 -12
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/kms/createKmsPublicDecryptEip712.js +1 -1
- package/_esm/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +23 -22
- package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_esm/core/kms/decryptValuesFromPairs.js +18 -2
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +49 -15
- package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +119 -0
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
- package/_esm/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +9 -8
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
- package/_esm/core/kms/kmsExtraData-p.js +298 -0
- package/_esm/core/kms/kmsExtraData-p.js.map +1 -0
- package/_esm/core/kms/kmsPublicDecryptEip712Types.js +1 -1
- package/_esm/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +9 -8
- package/_esm/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +2 -1
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
- package/_esm/core/kms/publicDecrypt.js +6 -6
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/kms/utils.js +0 -18
- package/_esm/core/kms/utils.js.map +1 -1
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +7 -6
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js +6 -6
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/decrypt/module/api-p.js +13 -13
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/decrypt/module/init-p.js +7 -7
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +13 -11
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +69 -12
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +76 -22
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +80 -7
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +13 -114
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js +173 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js +6 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js +140 -0
- package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/mock.js +1 -1
- package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/signers.js +26 -0
- package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -1
- package/_esm/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +11 -46
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +53 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +56 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +6 -3
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
- package/_esm/core/modules/relayer/module/index.js +1 -1
- package/_esm/core/modules/relayer/module/index.js.map +1 -1
- package/_esm/core/runtime/HyperWasmSolver-p.js +1 -6
- package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_esm/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +27 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
- package/_esm/ethers/internal/ethereum-ct.js +12 -1
- package/_esm/ethers/internal/ethereum-ct.js.map +1 -1
- package/_esm/ethers/internal/runtime-ct.js +9 -7
- package/_esm/ethers/internal/runtime-ct.js.map +1 -1
- package/_esm/viem/internal/ethereum-ct.js +10 -2
- package/_esm/viem/internal/ethereum-ct.js.map +1 -1
- package/_esm/viem/internal/runtime-ct.js +9 -7
- package/_esm/viem/internal/runtime-ct.js.map +1 -1
- package/_types/core/actions/base/index.d.ts +0 -8
- package/_types/core/actions/base/index.d.ts.map +1 -1
- package/_types/core/actions/base/signDecryptionPermit.d.ts +4 -5
- package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/index.d.ts +1 -7
- package/_types/core/actions/chain/index.d.ts.map +1 -1
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +1 -0
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +3 -2
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValue.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValues.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/index.d.ts +0 -1
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
- package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
- package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
- package/_types/core/actions/host/index.d.ts +0 -4
- package/_types/core/actions/host/index.d.ts.map +1 -1
- package/_types/core/base/cachedFetch.d.ts +1 -0
- package/_types/core/base/cachedFetch.d.ts.map +1 -1
- package/_types/core/base/uint.d.ts +2 -1
- package/_types/core/base/uint.d.ts.map +1 -1
- package/_types/core/clients/decorators/base.d.ts +12 -23
- package/_types/core/clients/decorators/base.d.ts.map +1 -1
- package/_types/core/handle/FheType.d.ts +8 -0
- package/_types/core/handle/FheType.d.ts.map +1 -1
- package/_types/core/host-contracts/HostContractVersion-p.d.ts +8 -0
- package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts +3 -2
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +3 -2
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +43 -26
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts +18 -0
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
- package/_types/core/kms/PublicDecryptionProof-p.d.ts +1 -1
- package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts +15 -29
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts +7 -0
- package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts.map +1 -0
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts +7 -0
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +16 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +27 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +3 -2
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -1
- package/_types/core/kms/decryptValuesFromPairs.d.ts +4 -11
- package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/kms/{fetchKmsSigncryptedShares-p.d.ts → fetchKmsSigncryptedSharesV1-p.d.ts} +10 -12
- package/_types/core/kms/fetchKmsSigncryptedSharesV1-p.d.ts.map +1 -0
- package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts +28 -0
- package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts +3 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts.map +1 -0
- package/_types/core/kms/kmsExtraData-p.d.ts +66 -0
- package/_types/core/kms/kmsExtraData-p.d.ts.map +1 -0
- package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts +3 -0
- package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts.map +1 -0
- package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -1
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
- package/_types/core/kms/utils.d.ts +0 -4
- package/_types/core/kms/utils.d.ts.map +1 -1
- package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +1 -1
- package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/ethereum/types-ct.d.ts +20 -2
- package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts +29 -0
- package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -1
- package/_types/core/modules/relayer/types.d.ts +18 -5
- package/_types/core/modules/relayer/types.d.ts.map +1 -1
- package/_types/core/types/kms-p.d.ts +7 -1
- package/_types/core/types/kms-p.d.ts.map +1 -1
- package/_types/core/types/kms.d.ts +18 -19
- package/_types/core/types/kms.d.ts.map +1 -1
- package/_types/core/types/logger.d.ts +3 -3
- package/_types/core/types/logger.d.ts.map +1 -1
- package/_types/core/types/record-p.d.ts +2 -1
- package/_types/core/types/record-p.d.ts.map +1 -1
- package/_types/core/types/relayer-p.d.ts +27 -5
- package/_types/core/types/relayer-p.d.ts.map +1 -1
- package/_types/core/types/signedDecryptionPermit.d.ts +37 -26
- package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +1 -0
- package/_types/core/utils-p/runtime/recoverSigners.d.ts +2 -2
- package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/ethers/internal/runtime-ct.d.ts.map +1 -1
- package/_types/viem/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/viem/internal/runtime-ct.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/index.ts +0 -42
- package/core/actions/base/signDecryptionPermit.ts +3 -31
- package/core/actions/chain/index.ts +0 -28
- package/core/actions/chain/parseSignedDecryptionPermit.ts +1 -0
- package/core/actions/chain/serializeSignedDecryptionPermit.ts +3 -2
- package/core/actions/decrypt/canDecryptValue.ts +2 -16
- package/core/actions/decrypt/canDecryptValues.ts +2 -16
- package/core/actions/decrypt/canDecryptValuesFromPairs.ts +2 -16
- package/core/actions/decrypt/decryptValue.ts +2 -1
- package/core/actions/decrypt/decryptValues.ts +3 -1
- package/core/actions/decrypt/decryptValuesFromPairs.ts +3 -1
- package/core/actions/decrypt/index.ts +0 -6
- package/core/actions/encrypt/encryptValue.ts +4 -1
- package/core/actions/encrypt/encryptValues.ts +5 -1
- package/core/actions/encrypt/generateZkProof.ts +2 -1
- package/core/actions/host/index.ts +0 -20
- package/core/actions/host/readKmsVerifierContractData.ts +2 -2
- package/core/base/cachedFetch.ts +1 -0
- package/core/base/uint.ts +18 -1
- package/core/clients/decorators/base.ts +13 -37
- package/core/coprocessor/coprocessorEip712Types.ts +2 -2
- package/core/handle/FheType.ts +11 -0
- package/core/host-contracts/HostContractVersion-p.ts +12 -0
- package/core/host-contracts/KmsSignersContext-p.ts +29 -36
- package/core/host-contracts/canDecryptValuesFromPairs.ts +7 -7
- package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +2 -2
- package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +2 -2
- package/core/host-contracts/getCurrentKmsContextId-p.ts +2 -2
- package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +3 -2
- package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +10 -7
- package/core/host-contracts/readKmsSignersContext-p.ts +156 -115
- package/core/kms/KmsSigncryptedShares-p.ts +87 -4
- package/core/kms/PublicDecryptionProof-p.ts +11 -9
- package/core/kms/SignedDecryptionPermit-p.ts +67 -357
- package/core/kms/SignedDecryptionPermitV1-p.ts +308 -0
- package/core/kms/SignedDecryptionPermitV2-p.ts +275 -0
- package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts} +21 -21
- package/core/kms/createKmsPublicDecryptEip712.ts +1 -1
- package/core/kms/{createKmsUserDecryptEip712.ts → createKmsUserDecryptEip712V1.ts} +35 -31
- package/core/kms/createKmsUserDecryptEip712V2.ts +7 -7
- package/core/kms/decryptValuesFromPairs.ts +34 -22
- package/core/kms/{fetchKmsSigncryptedShares-p.ts → fetchKmsSigncryptedSharesV1-p.ts} +62 -45
- package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +176 -0
- package/core/kms/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts} +9 -8
- package/core/kms/kmsExtraData-p.ts +374 -0
- package/core/kms/kmsPublicDecryptEip712Types.ts +1 -1
- package/core/kms/{kmsUserDecryptEip712Types.ts → kmsUserDecryptEip712V1Types.ts} +9 -8
- package/core/kms/kmsUserDecryptEip712V2Types.ts +2 -1
- package/core/kms/publicDecrypt.ts +10 -9
- package/core/kms/utils.ts +0 -32
- package/core/kms/verifyKmsPublicDecryptEip712-p.ts +10 -8
- package/core/modules/decrypt/mock.ts +6 -6
- package/core/modules/decrypt/module/api-p.ts +15 -15
- package/core/modules/decrypt/module/init-p.ts +7 -7
- package/core/modules/encrypt/module/init-p.ts +16 -11
- package/core/modules/ethereum/types-ct.ts +25 -2
- package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +98 -15
- package/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +115 -27
- package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +115 -9
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +23 -131
- package/core/modules/relayer/cleartext/fetchUserDecryptV1.ts +229 -0
- package/core/modules/relayer/cleartext/fetchUserDecryptV2.ts +11 -0
- package/core/modules/relayer/cleartext/forgeFhevmV1.ts +185 -0
- package/core/modules/relayer/cleartext/mock.ts +1 -1
- package/core/modules/relayer/cleartext/signers.ts +35 -0
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -1
- package/core/modules/relayer/module/fetchUserDecrypt.ts +20 -56
- package/core/modules/relayer/module/fetchUserDecryptV1.ts +69 -0
- package/core/modules/relayer/module/fetchUserDecryptV2.ts +71 -0
- package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +10 -2
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +6 -3
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +2 -0
- package/core/modules/relayer/module/index.ts +1 -1
- package/core/modules/relayer/types.ts +24 -5
- package/core/runtime/HyperWasmSolver-p.ts +1 -5
- package/core/types/kms-p.ts +16 -1
- package/core/types/kms.ts +40 -28
- package/core/types/logger.ts +3 -3
- package/core/types/record-p.ts +2 -1
- package/core/types/relayer-p.ts +48 -5
- package/core/types/signedDecryptionPermit.ts +47 -26
- package/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.ts → verifyKmsDelegatedUserDecryptEip712V1.ts} +9 -9
- package/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.ts → verifyKmsUserDecryptEip712V1.ts} +9 -9
- package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +43 -0
- package/core/utils-p/runtime/recoverSigners.ts +2 -2
- package/ethers/internal/ethereum-ct.ts +15 -1
- package/ethers/internal/runtime-ct.ts +9 -7
- package/package.json +1 -1
- package/viem/internal/ethereum-ct.ts +14 -2
- package/viem/internal/runtime-ct.ts +9 -7
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -10
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
- package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js +0 -19
- package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js +0 -11
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
- package/_cjs/core/actions/base/readKmsSignersContext.js +0 -11
- package/_cjs/core/actions/base/readKmsSignersContext.js.map +0 -1
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -31
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
- package/_cjs/core/actions/base/verifyInputProof.js +0 -24
- package/_cjs/core/actions/base/verifyInputProof.js.map +0 -1
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -17
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +0 -11
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -17
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsEip712Domain.js +0 -11
- package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +0 -16
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -8
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -8
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -13
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
- package/_cjs/core/kms/kmsExtraData.js +0 -82
- package/_cjs/core/kms/kmsExtraData.js.map +0 -1
- package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -7
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
- package/_esm/core/actions/base/fetchKmsSigncryptedShares.js +0 -17
- package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js +0 -8
- package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
- package/_esm/core/actions/base/readKmsSignersContext.js +0 -10
- package/_esm/core/actions/base/readKmsSignersContext.js.map +0 -1
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -35
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
- package/_esm/core/actions/base/verifyInputProof.js +0 -22
- package/_esm/core/actions/base/verifyInputProof.js.map +0 -1
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -14
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +0 -8
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -15
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/createKmsEip712Domain.js +0 -8
- package/_esm/core/actions/chain/createKmsEip712Domain.js.map +0 -1
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +0 -14
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -5
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -5
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -11
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/kms/createKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
- package/_esm/core/kms/kmsExtraData.js +0 -99
- package/_esm/core/kms/kmsExtraData.js.map +0 -1
- package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +0 -14
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +0 -1
- package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts +0 -41
- package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +0 -1
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +0 -14
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +0 -1
- package/_types/core/actions/base/readKmsSignersContext.d.ts +0 -6
- package/_types/core/actions/base/readKmsSignersContext.d.ts.map +0 -1
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +0 -14
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +0 -1
- package/_types/core/actions/base/verifyInputProof.d.ts +0 -14
- package/_types/core/actions/base/verifyInputProof.d.ts.map +0 -1
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +0 -11
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +0 -1
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +0 -7
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts +0 -7
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +0 -14
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -7
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +0 -7
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts +0 -13
- package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +0 -1
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts +0 -26
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +0 -1
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +0 -3
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +0 -1
- package/_types/core/kms/kmsExtraData.d.ts +0 -25
- package/_types/core/kms/kmsExtraData.d.ts.map +0 -1
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +0 -3
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +0 -1
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +0 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +0 -1
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -14
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +0 -14
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +0 -1
- package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +0 -24
- package/core/actions/base/fetchKmsSigncryptedShares.ts +0 -83
- package/core/actions/base/fetchVerifiedInputProof.ts +0 -25
- package/core/actions/base/readKmsSignersContext.ts +0 -20
- package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +0 -60
- package/core/actions/base/verifyInputProof.ts +0 -45
- package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +0 -32
- package/core/actions/chain/createCoprocessorEip712Domain.ts +0 -16
- package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +0 -36
- package/core/actions/chain/createKmsEip712Domain.ts +0 -16
- package/core/actions/chain/createKmsUserDecryptEip712.ts +0 -34
- package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +0 -16
- package/core/actions/chain/verifyKmsUserDecryptEip712.ts +0 -16
- package/core/actions/decrypt/decryptKmsSigncryptedShares.ts +0 -34
- package/core/kms/kmsExtraData.ts +0 -127
- /package/core/modules/relayer/module/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +0 -0
|
@@ -5,6 +5,7 @@ import type { ZkProof } from '../../types/zkProof-p.js';
|
|
|
5
5
|
import type { BytesHex } from '../../types/primitives.js';
|
|
6
6
|
import { createTypedValue } from '../../base/typedValue.js';
|
|
7
7
|
import { createZkProofBuilder } from '../../coprocessor/ZkProofBuilder-p.js';
|
|
8
|
+
import { resolveRawValueTypeName } from '../../handle/FheType.js';
|
|
8
9
|
import { asFhevmWithTfheVersion } from '../../runtime/CoreFhevm-p.js';
|
|
9
10
|
|
|
10
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -28,7 +29,7 @@ export async function generateZkProof(
|
|
|
28
29
|
|
|
29
30
|
const builder = createZkProofBuilder();
|
|
30
31
|
for (const value of values) {
|
|
31
|
-
builder.addTypedValue(createTypedValue(value));
|
|
32
|
+
builder.addTypedValue(createTypedValue({ type: resolveRawValueTypeName(value.type), value: value.value }));
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
const f = asFhevmWithTfheVersion(fhevm);
|
|
@@ -10,24 +10,4 @@ export {
|
|
|
10
10
|
isAllowedForDecryption,
|
|
11
11
|
} from './isAllowedForDecryption.js';
|
|
12
12
|
|
|
13
|
-
export { type ResolveChainIdParameters, type ResolveChainIdReturnType, resolveChainId } from './resolveChainId.js';
|
|
14
|
-
|
|
15
|
-
export {
|
|
16
|
-
type ReadFhevmExecutorContractDataParameters,
|
|
17
|
-
type ReadFhevmExecutorContractDataReturnType,
|
|
18
|
-
readFhevmExecutorContractData,
|
|
19
|
-
} from './readFhevmExecutorContractData.js';
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
type ReadKmsVerifierContractDataParameters,
|
|
23
|
-
type ReadKmsVerifierContractDataReturnType,
|
|
24
|
-
readKmsVerifierContractData,
|
|
25
|
-
} from './readKmsVerifierContractData.js';
|
|
26
|
-
|
|
27
13
|
export { type PersistAllowedParameters, type PersistAllowedReturnType, persistAllowed } from './persistAllowed.js';
|
|
28
|
-
|
|
29
|
-
export {
|
|
30
|
-
type ReadInputVerifierContractDataParameters,
|
|
31
|
-
type ReadInputVerifierContractDataReturnType,
|
|
32
|
-
readInputVerifierContractData,
|
|
33
|
-
} from './readInputVerifierContractData.js';
|
|
@@ -10,7 +10,7 @@ import { assertIsKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
|
|
|
10
10
|
import { eip712Domain } from '../../host-contracts/eip712Domain-p.js';
|
|
11
11
|
import { assertIsHostContractVersionOf } from '../../host-contracts/HostContractVersion-p.js';
|
|
12
12
|
import { getHostContractVersion } from '../../host-contracts/HostContractVersion-p.js';
|
|
13
|
-
import {
|
|
13
|
+
import { readCurrentKmsSignersContext } from '../../host-contracts/readKmsSignersContext-p.js';
|
|
14
14
|
|
|
15
15
|
////////////////////////////////////////////////////////////////////////////////
|
|
16
16
|
|
|
@@ -44,7 +44,7 @@ export async function readKmsVerifierContractData(
|
|
|
44
44
|
const rpcCalls = [
|
|
45
45
|
() => getHostContractVersion(fhevm, parameters),
|
|
46
46
|
() => eip712Domain(fhevm, parameters),
|
|
47
|
-
() =>
|
|
47
|
+
() => readCurrentKmsSignersContext(fhevm, { kmsVerifierAddress, protocolConfigAddress }),
|
|
48
48
|
];
|
|
49
49
|
|
|
50
50
|
const res = await executeWithBatching<unknown>(rpcCalls, fhevm.options.batchRpcCalls);
|
package/core/base/cachedFetch.ts
CHANGED
|
@@ -23,6 +23,7 @@ type CachedFetchOptions<TContext, TParams, TResult> = {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export const CACHE_TTL_24H = 24 * 60 * 60 * 1000; // 24 hours
|
|
26
|
+
export const CACHE_TTL_15MIN = 15 * 60 * 1000; // 15 min
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
29
|
* Creates a cached, deduplicating wrapper around an async fetch function.
|
package/core/base/uint.ts
CHANGED
|
@@ -23,7 +23,12 @@ import type {
|
|
|
23
23
|
UintTypeName,
|
|
24
24
|
ValueTypeName,
|
|
25
25
|
} from '../types/primitives.js';
|
|
26
|
-
import type {
|
|
26
|
+
import type {
|
|
27
|
+
RecordWithPropertyType,
|
|
28
|
+
RecordUintPropertyType,
|
|
29
|
+
RecordUint256PropertyType,
|
|
30
|
+
RecordUintNumberPropertyType,
|
|
31
|
+
} from '../types/record-p.js';
|
|
27
32
|
import type { ErrorMetadataParams } from './errors/ErrorBase.js';
|
|
28
33
|
import { isRecordNonNullableProperty, typeofProperty } from './record.js';
|
|
29
34
|
import { InvalidPropertyError } from './errors/InvalidPropertyError.js';
|
|
@@ -615,6 +620,18 @@ export function assertRecordUintProperty<K extends string>(
|
|
|
615
620
|
|
|
616
621
|
////////////////////////////////////////////////////////////////////////////////
|
|
617
622
|
|
|
623
|
+
export function isRecordUintNumberProperty<K extends string>(
|
|
624
|
+
record: unknown,
|
|
625
|
+
property: K,
|
|
626
|
+
): record is RecordUintNumberPropertyType<K> {
|
|
627
|
+
if (!isRecordNonNullableProperty(record, property)) {
|
|
628
|
+
return false;
|
|
629
|
+
}
|
|
630
|
+
return isUintNumber(record[property]);
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
634
|
+
|
|
618
635
|
export function isRecordUint256Property<K extends string>(
|
|
619
636
|
record: unknown,
|
|
620
637
|
property: K,
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import type { Fhevm, FhevmBase, FhevmExtension } from '../../types/coreFhevmClient.js';
|
|
2
2
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
3
|
-
import type {
|
|
4
|
-
SignedSelfDecryptionPermit,
|
|
5
|
-
SignedDelegatedDecryptionPermit,
|
|
6
|
-
} from '../../types/signedDecryptionPermit.js';
|
|
3
|
+
import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
|
|
7
4
|
import type {
|
|
8
5
|
SerializeTransportKeyPairParameters,
|
|
9
6
|
SerializeTransportKeyPairReturnType,
|
|
10
7
|
} from '../../actions/chain/serializeTransportKeyPair.js';
|
|
11
8
|
import { assertIsFhevmBaseClient } from '../../runtime/CoreFhevm-p.js';
|
|
12
|
-
import {
|
|
13
|
-
signDecryptionPermit,
|
|
14
|
-
type SignSelfDecryptionPermitParameters,
|
|
15
|
-
type SignDelegatedDecryptionPermitParameters,
|
|
16
|
-
} from '../../actions/base/signDecryptionPermit.js';
|
|
9
|
+
import { signDecryptionPermit, type SignDecryptionPermitParameters } from '../../actions/base/signDecryptionPermit.js';
|
|
17
10
|
import {
|
|
18
11
|
parseTransportKeyPair,
|
|
19
12
|
type ParseTransportKeyPairParameters,
|
|
@@ -127,27 +120,16 @@ export type BaseActions = {
|
|
|
127
120
|
readonly decryptPublicValuesWithSignatures: (
|
|
128
121
|
parameters: DecryptPublicValuesWithSignaturesParameters,
|
|
129
122
|
) => Promise<DecryptPublicValuesWithSignaturesReturnType>;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
(parameters: SignSelfDecryptionPermitParameters): Promise<SignedSelfDecryptionPermit>;
|
|
141
|
-
/**
|
|
142
|
-
* Signs a delegated decryption permit — Bob decrypts Alice's (`delegatorAddress`) encrypted values.
|
|
143
|
-
*
|
|
144
|
-
* 1. Alice calls `FHE.delegateUserDecryption()` on-chain, giving Bob permission to decrypt her handles.
|
|
145
|
-
* 2. Bob signs a permit with `delegatorAddress: Alice`, saying "I, Bob, want to decrypt Alice's handles."
|
|
146
|
-
* 3. Bob calls `decrypt` with this permit.
|
|
147
|
-
* 4. The KMS authenticates Bob via his signature, then checks the on-chain ACL to verify Alice delegated to Bob.
|
|
148
|
-
*/
|
|
149
|
-
(parameters: SignDelegatedDecryptionPermitParameters): Promise<SignedDelegatedDecryptionPermit>;
|
|
150
|
-
};
|
|
123
|
+
/**
|
|
124
|
+
* Signs a decryption permit.
|
|
125
|
+
*
|
|
126
|
+
* - Without `delegatorAddress`: Alice signs to decrypt her own encrypted values.
|
|
127
|
+
* - With `delegatorAddress`: Bob signs to decrypt values belonging to `delegatorAddress` (Alice),
|
|
128
|
+
* after Alice has granted permission via `FHE.delegateUserDecryption()` on-chain.
|
|
129
|
+
*
|
|
130
|
+
* Inspect `isDelegated` on the returned permit to distinguish the two cases.
|
|
131
|
+
*/
|
|
132
|
+
readonly signDecryptionPermit: (parameters: SignDecryptionPermitParameters) => Promise<SignedDecryptionPermit>;
|
|
151
133
|
/** Deserializes a previously serialized e2e transport key pair back into a usable key pair. */
|
|
152
134
|
readonly parseTransportKeyPair: (
|
|
153
135
|
parameters: ParseTransportKeyPairParameters,
|
|
@@ -177,13 +159,7 @@ function _baseActions(fhevm: Fhevm<FhevmChain>): BaseActions {
|
|
|
177
159
|
decryptPublicValue: (parameters) => decryptPublicValue(fhevm, parameters),
|
|
178
160
|
decryptPublicValues: (parameters) => decryptPublicValues(fhevm, parameters),
|
|
179
161
|
decryptPublicValuesWithSignatures: (parameters) => decryptPublicValuesWithSignatures(fhevm, parameters),
|
|
180
|
-
|
|
181
|
-
// Runtime behavior is unchanged: this is a direct pass-through wrapper.
|
|
182
|
-
signDecryptionPermit: ((parameters: SignSelfDecryptionPermitParameters | SignDelegatedDecryptionPermitParameters) =>
|
|
183
|
-
signDecryptionPermit(
|
|
184
|
-
fhevm,
|
|
185
|
-
parameters as SignSelfDecryptionPermitParameters,
|
|
186
|
-
)) as BaseActions['signDecryptionPermit'],
|
|
162
|
+
signDecryptionPermit: (parameters) => signDecryptionPermit(fhevm, parameters),
|
|
187
163
|
parseTransportKeyPair: (parameters) => parseTransportKeyPair(fhevm, parameters),
|
|
188
164
|
serializeTransportKeyPair: (parameters) => serializeTransportKeyPair(fhevm, parameters),
|
|
189
165
|
serializeSignedDecryptionPermit: (parameters) => serializeSignedDecryptionPermit(fhevm, parameters),
|
|
@@ -5,7 +5,7 @@ import type { CoprocessorEip712Types } from '../types/coprocessor.js';
|
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
|
-
const
|
|
8
|
+
const Eip712DomainType = [
|
|
9
9
|
{ name: 'name', type: 'string' },
|
|
10
10
|
{ name: 'version', type: 'string' },
|
|
11
11
|
{ name: 'chainId', type: 'uint256' },
|
|
@@ -16,7 +16,7 @@ import type { CoprocessorEip712Types } from '../types/coprocessor.js';
|
|
|
16
16
|
export const coprocessorEip712PrimaryType = 'CiphertextVerification' satisfies keyof CoprocessorEip712Types;
|
|
17
17
|
|
|
18
18
|
export const coprocessorEip712Types: CoprocessorEip712Types = {
|
|
19
|
-
//
|
|
19
|
+
// Eip712Domain: [
|
|
20
20
|
// { name: 'name', type: 'string' },
|
|
21
21
|
// { name: 'version', type: 'string' },
|
|
22
22
|
// { name: 'chainId', type: 'uint256' },
|
package/core/handle/FheType.ts
CHANGED
|
@@ -354,6 +354,17 @@ export function typeNameFromFheTypeName(fheType: FheType): ValueTypeName {
|
|
|
354
354
|
return fheType.substring(1) as ValueTypeName;
|
|
355
355
|
}
|
|
356
356
|
|
|
357
|
+
/**
|
|
358
|
+
* Resolves a raw type name to its clear `ValueTypeName`, accepting FHE type
|
|
359
|
+
* aliases ("ebool", "euint8", ...) in addition to clear-value names
|
|
360
|
+
* ("bool", "uint8", ...). Non-FHE type names are returned unchanged.
|
|
361
|
+
* @example resolveRawValueTypeName('euint8') // 'uint8'
|
|
362
|
+
* @example resolveRawValueTypeName('uint8') // 'uint8' (unchanged)
|
|
363
|
+
*/
|
|
364
|
+
export function resolveRawValueTypeName(type: string): string {
|
|
365
|
+
return isFheType(type) ? typeNameFromFheTypeName(type) : type;
|
|
366
|
+
}
|
|
367
|
+
|
|
357
368
|
////////////////////////////////////////////////////////////////////////////////
|
|
358
369
|
// Solidity primitive type names
|
|
359
370
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -196,6 +196,18 @@ export function isVersionStrictlyBefore(
|
|
|
196
196
|
return false;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
+
/**
|
|
200
|
+
* Returns `true` if the version equals `major.minor.patch` exactly.
|
|
201
|
+
*/
|
|
202
|
+
export function isVersionEqual(
|
|
203
|
+
version: HostContractVersion,
|
|
204
|
+
otherVersion: { readonly major: number; readonly minor: number; readonly patch: number },
|
|
205
|
+
): boolean {
|
|
206
|
+
return (
|
|
207
|
+
version.major === otherVersion.major && version.minor === otherVersion.minor && version.patch === otherVersion.patch
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
199
211
|
/**
|
|
200
212
|
* Asserts that a {@link HostContractVersion} belongs to a specific contract.
|
|
201
213
|
* Narrows the type to `HostContractVersion<name>` on success.
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChecksummedAddress, Uint256BigInt, Uint8Number } from '../types/primitives.js';
|
|
2
2
|
import type { kmsBrand } from '../types/kms.js';
|
|
3
3
|
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
4
4
|
import type { ErrorMetadataParams } from '../base/errors/ErrorBase.js';
|
|
5
5
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
6
|
+
import type { KmsExtraData } from '../types/kms-p.js';
|
|
6
7
|
import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
|
|
7
8
|
import { addressToChecksummedAddress } from '../base/address.js';
|
|
8
9
|
import { DuplicateSignerError, ThresholdSignerError, UnknownSignerError } from '../errors/SignersError.js';
|
|
9
10
|
import { assertOwnedBy } from '../runtime/CoreFhevmRuntime-p.js';
|
|
10
|
-
import {
|
|
11
|
-
assertIsKmsExtraData,
|
|
12
|
-
EXTRA_DATA_V0,
|
|
13
|
-
EXTRA_DATA_V1,
|
|
14
|
-
EXTRA_DATA_V2,
|
|
15
|
-
toKmsExtraData,
|
|
16
|
-
} from '../kms/kmsExtraData.js';
|
|
17
11
|
import { assertIsNonEmptyString, ensure0x } from '../base/string.js';
|
|
12
|
+
import {
|
|
13
|
+
assertIsKmsExtraDataBytesHex,
|
|
14
|
+
createKmsExtraData,
|
|
15
|
+
equalsKmsExtraData,
|
|
16
|
+
fromKmsExtraDataBytesHex,
|
|
17
|
+
isKmsExtraData,
|
|
18
|
+
validateKmsExtraDataParams,
|
|
19
|
+
} from '../kms/kmsExtraData-p.js';
|
|
18
20
|
|
|
19
21
|
////////////////////////////////////////////////////////////////////////////////
|
|
20
22
|
|
|
@@ -124,6 +126,8 @@ export function createKmsSignersContext(
|
|
|
124
126
|
): KmsSignersContext {
|
|
125
127
|
const { kmsVerifierAddress: address, kmsContextId, kmsEpochId, kmsSigners, kmsSignerThreshold } = parameters;
|
|
126
128
|
|
|
129
|
+
validateKmsExtraDataParams({ kmsContextId: parameters.kmsContextId, kmsEpochId: parameters.kmsEpochId });
|
|
130
|
+
|
|
127
131
|
return new KmsSignersContextImpl(PRIVATE_TOKEN, owner, {
|
|
128
132
|
address: addressToChecksummedAddress(address),
|
|
129
133
|
kmsContextId,
|
|
@@ -135,32 +139,13 @@ export function createKmsSignersContext(
|
|
|
135
139
|
|
|
136
140
|
////////////////////////////////////////////////////////////////////////////////
|
|
137
141
|
|
|
138
|
-
export function kmsSignersContextToExtraData(kmsSignersContext: KmsSignersContext):
|
|
142
|
+
export function kmsSignersContextToExtraData(kmsSignersContext: KmsSignersContext): KmsExtraData {
|
|
139
143
|
assertIsKmsSignersContext(kmsSignersContext, {});
|
|
140
|
-
|
|
141
|
-
if (kmsSignersContext.id === 0n) {
|
|
142
|
-
return toKmsExtraData({
|
|
143
|
-
version: EXTRA_DATA_V0,
|
|
144
|
-
kmsContextId: 0n as Uint256BigInt,
|
|
145
|
-
kmsEpochId: 0n as Uint256BigInt,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (kmsSignersContext.epochId === 0n) {
|
|
150
|
-
return toKmsExtraData({
|
|
151
|
-
version: EXTRA_DATA_V1,
|
|
152
|
-
kmsContextId: kmsSignersContext.id,
|
|
153
|
-
kmsEpochId: 0n as Uint256BigInt,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return toKmsExtraData({
|
|
158
|
-
version: EXTRA_DATA_V2,
|
|
159
|
-
kmsContextId: kmsSignersContext.id,
|
|
160
|
-
kmsEpochId: kmsSignersContext.epochId,
|
|
161
|
-
});
|
|
144
|
+
return createKmsExtraData({ kmsContextId: kmsSignersContext.id, kmsEpochId: kmsSignersContext.epochId });
|
|
162
145
|
}
|
|
163
146
|
|
|
147
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
148
|
+
|
|
164
149
|
/**
|
|
165
150
|
* Asserts that the given `extraData` is a valid KMS extra data string and
|
|
166
151
|
* matches the `extraData` derived from the provided {@link KmsSignersContext}.
|
|
@@ -176,15 +161,23 @@ export function assertExtraDataMatchesKmsSingersContext(
|
|
|
176
161
|
options: { subject?: string } & ErrorMetadataParams,
|
|
177
162
|
): void {
|
|
178
163
|
const { extraData, kmsSignersContext } = parameters;
|
|
179
|
-
assertIsNonEmptyString(extraData);
|
|
180
164
|
|
|
181
|
-
|
|
182
|
-
|
|
165
|
+
let sanitizedExtraData: KmsExtraData;
|
|
166
|
+
if (isKmsExtraData(extraData)) {
|
|
167
|
+
sanitizedExtraData = extraData;
|
|
168
|
+
} else {
|
|
169
|
+
assertIsNonEmptyString(extraData);
|
|
170
|
+
const sanitizedExtraDataBytesHex = ensure0x(extraData);
|
|
171
|
+
assertIsKmsExtraDataBytesHex(sanitizedExtraDataBytesHex, options);
|
|
172
|
+
sanitizedExtraData = fromKmsExtraDataBytesHex(sanitizedExtraDataBytesHex);
|
|
173
|
+
}
|
|
183
174
|
|
|
184
175
|
const expectedExtraData = kmsSignersContextToExtraData(kmsSignersContext);
|
|
185
176
|
|
|
186
|
-
if (sanitizedExtraData
|
|
187
|
-
throw new Error(
|
|
177
|
+
if (!equalsKmsExtraData(sanitizedExtraData, expectedExtraData)) {
|
|
178
|
+
throw new Error(
|
|
179
|
+
`extraData "${sanitizedExtraData.toBytesHex()}" does not match KmsSignersContext extraData "${expectedExtraData.toBytesHex()}".`,
|
|
180
|
+
);
|
|
188
181
|
}
|
|
189
182
|
}
|
|
190
183
|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SignedDecryptionPermit } from '../types/signedDecryptionPermit.js';
|
|
3
3
|
import type { TransportKeyPair } from '../kms/TransportKeyPair-p.js';
|
|
4
4
|
import type { ChecksummedAddress, Uint64BigInt } from '../types/primitives.js';
|
|
5
5
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
6
6
|
import type { Handle } from '../types/encryptedTypes-p.js';
|
|
7
7
|
import { addressToChecksummedAddress, assertIsAddress } from '../base/address.js';
|
|
8
8
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
assertPermitIncludesContractAddresses,
|
|
12
|
-
} from '../kms/SignedDecryptionPermit-p.js';
|
|
9
|
+
import { assertIsSignedDecryptionPermit } from '../kms/SignedDecryptionPermit-p.js';
|
|
10
|
+
import { assertPermitV1IncludesContractAddresses } from '../kms/fetchKmsSigncryptedSharesV1-p.js';
|
|
13
11
|
import { assertPermitMatchesKeyPair } from '../utils-p/decrypt/assertPermitMatchesKeyPair.js';
|
|
14
12
|
import { isUserDecryptable } from '../host-contracts/isUserDecryptable.js';
|
|
15
13
|
|
|
@@ -29,7 +27,7 @@ type Parameters =
|
|
|
29
27
|
}
|
|
30
28
|
| {
|
|
31
29
|
readonly pairs: ReadonlyArray<{ readonly handle: Handle; readonly contractAddress: ChecksummedAddress }>;
|
|
32
|
-
readonly signedPermit:
|
|
30
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
33
31
|
readonly transportKeyPair?: TransportKeyPair | undefined;
|
|
34
32
|
};
|
|
35
33
|
|
|
@@ -64,7 +62,9 @@ export async function canDecryptValuesFromPairs(context: Context, parameters: Pa
|
|
|
64
62
|
|
|
65
63
|
assertIsSignedDecryptionPermit(signedPermit, { subject: 'signedPermit' });
|
|
66
64
|
signedPermit.assertNotExpired();
|
|
67
|
-
|
|
65
|
+
if (signedPermit.version === 1) {
|
|
66
|
+
assertPermitV1IncludesContractAddresses(signedPermit, contractAddresses);
|
|
67
|
+
}
|
|
68
68
|
|
|
69
69
|
if (parameters.transportKeyPair !== undefined) {
|
|
70
70
|
assertPermitMatchesKeyPair(signedPermit, parameters.transportKeyPair);
|
|
@@ -5,7 +5,7 @@ import { asUint8Number, isUint8 } from '../base/uint.js';
|
|
|
5
5
|
import { executeWithBatching } from '../base/promise.js';
|
|
6
6
|
import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
|
|
7
7
|
import { getCoprocessorSignersAbi, getThresholdAbi } from './abi-fragments/fragments.js';
|
|
8
|
-
import {
|
|
8
|
+
import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
|
|
9
9
|
|
|
10
10
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
@@ -30,7 +30,7 @@ const cachedGetCoprocessorContextSignersAndThreshold = createCachedFetch<Context
|
|
|
30
30
|
executeFn: _getCoprocessorContextSignersAndThreshold,
|
|
31
31
|
cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.address.toLowerCase()}`,
|
|
32
32
|
// Signers are not Use long TTL
|
|
33
|
-
ttlMs:
|
|
33
|
+
ttlMs: CACHE_TTL_15MIN,
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -4,7 +4,7 @@ import { getCurrentKmsContextAndEpochAbi } from './abi-fragments/fragments.js';
|
|
|
4
4
|
import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
|
|
5
5
|
import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
|
|
6
6
|
import { assertIsUint256 } from '../base/uint.js';
|
|
7
|
-
import {
|
|
7
|
+
import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
|
|
8
8
|
|
|
9
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
10
|
|
|
@@ -25,7 +25,7 @@ const cachedGetCurrentKmsContextAndEpoch = createCachedFetch<Context, Parameters
|
|
|
25
25
|
executeFn: _getCurrentKmsContextAndEpoch,
|
|
26
26
|
cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.protocolConfigAddress.toLowerCase()}`,
|
|
27
27
|
// Host contract values are immutable per deployment, so a long TTL is safe.
|
|
28
|
-
ttlMs:
|
|
28
|
+
ttlMs: CACHE_TTL_15MIN,
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -4,7 +4,7 @@ import { getCurrentKmsContextIdAbi } from './abi-fragments/fragments.js';
|
|
|
4
4
|
import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
|
|
5
5
|
import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
|
|
6
6
|
import { assertIsUint256 } from '../base/uint.js';
|
|
7
|
-
import {
|
|
7
|
+
import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
|
|
8
8
|
|
|
9
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
10
|
|
|
@@ -25,7 +25,7 @@ const cachedGetCurrentKmsContextId = createCachedFetch<Context, Parameters, Retu
|
|
|
25
25
|
executeFn: _getCurrentKmsContextId,
|
|
26
26
|
cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}`,
|
|
27
27
|
// Host contract versions are immutable per deployment, so a long TTL is safe.
|
|
28
|
-
ttlMs:
|
|
28
|
+
ttlMs: CACHE_TTL_15MIN,
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -7,7 +7,7 @@ import { isVersionStrictlyBefore } from '../host-contracts/HostContractVersion-p
|
|
|
7
7
|
import { executeWithBatching } from '../base/promise.js';
|
|
8
8
|
import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
|
|
9
9
|
import { getKmsSignersAbi, getThresholdAbi } from './abi-fragments/fragments.js';
|
|
10
|
-
import {
|
|
10
|
+
import { CACHE_TTL_15MIN, createCachedFetch } from '../base/cachedFetch.js';
|
|
11
11
|
|
|
12
12
|
////////////////////////////////////////////////////////////////////////////////
|
|
13
13
|
|
|
@@ -32,7 +32,7 @@ const cachedGetKmsContextSignersAndThreshold = createCachedFetch<Context, Parame
|
|
|
32
32
|
executeFn: _getKmsContextSignersAndThreshold,
|
|
33
33
|
cacheKeyFn: (context, params) => `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}`,
|
|
34
34
|
// Host contract versions are immutable per deployment, so a long TTL is safe.
|
|
35
|
-
ttlMs:
|
|
35
|
+
ttlMs: CACHE_TTL_15MIN,
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -68,6 +68,7 @@ async function _getKmsContextSignersAndThreshold(context: Context, parameters: P
|
|
|
68
68
|
if (!isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
|
|
69
69
|
throw new Error('getContextSignersAndThreshold requires KMSVerifier < v0.2.0');
|
|
70
70
|
}
|
|
71
|
+
|
|
71
72
|
////////////////////////////////////////////////////////////////////////////
|
|
72
73
|
//
|
|
73
74
|
// Important remark:
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChecksummedAddress, Uint8Number } from '../types/primitives.js';
|
|
2
2
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
3
|
+
import type { KmsExtraData } from '../types/kms-p.js';
|
|
3
4
|
import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
|
|
4
5
|
import { createCachedFetch } from '../base/cachedFetch.js';
|
|
5
|
-
import { assertIsKmsExtraData, fromKmsExtraData } from '../kms/kmsExtraData.js';
|
|
6
6
|
import { assertIsChecksummedAddressArray } from '../base/address.js';
|
|
7
7
|
import { isUint8 } from '../base/uint.js';
|
|
8
8
|
import { getContextSignersAndThresholdFromExtraDataAbi } from './abi-fragments/fragments.js';
|
|
9
9
|
import { getTrustedClient } from '../runtime/CoreFhevm-p.js';
|
|
10
|
+
import { assertIsKmsExtraData } from '../kms/kmsExtraData-p.js';
|
|
10
11
|
|
|
11
12
|
////////////////////////////////////////////////////////////////////////////////
|
|
12
13
|
|
|
@@ -17,7 +18,7 @@ type Context = {
|
|
|
17
18
|
|
|
18
19
|
type Parameters = {
|
|
19
20
|
readonly kmsVerifierAddress: ChecksummedAddress;
|
|
20
|
-
readonly extraData:
|
|
21
|
+
readonly extraData: KmsExtraData;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
type ReturnType = {
|
|
@@ -30,9 +31,9 @@ type ReturnType = {
|
|
|
30
31
|
const cachedGetKmsContextSignersAndThresholdFromExtraData = createCachedFetch<Context, Parameters, ReturnType>({
|
|
31
32
|
executeFn: _getKmsContextSignersAndThresholdFromExtraData,
|
|
32
33
|
cacheKeyFn: (context, params) => {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
return `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}:${
|
|
34
|
+
const kmsContextId = params.extraData.kmsContextId;
|
|
35
|
+
const kmsContextIdHex = kmsContextId.toString(16).padStart(64, '0');
|
|
36
|
+
return `${context.runtime.uid.toLowerCase()}:${params.kmsVerifierAddress.toLowerCase()}:${kmsContextIdHex}`;
|
|
36
37
|
},
|
|
37
38
|
// Permanent cache: signers and threshold are immutable per context ID.
|
|
38
39
|
});
|
|
@@ -76,10 +77,12 @@ async function _getKmsContextSignersAndThresholdFromExtraData(
|
|
|
76
77
|
|
|
77
78
|
const trustedClient = getTrustedClient(context);
|
|
78
79
|
|
|
80
|
+
const extraDataBytesHex = parameters.extraData.toBytesHex();
|
|
81
|
+
|
|
79
82
|
const res = await context.runtime.ethereum.readContract(trustedClient, {
|
|
80
83
|
address: parameters.kmsVerifierAddress,
|
|
81
84
|
abi: getContextSignersAndThresholdFromExtraDataAbi,
|
|
82
|
-
args: [
|
|
85
|
+
args: [extraDataBytesHex],
|
|
83
86
|
functionName: getContextSignersAndThresholdFromExtraDataAbi[0].name,
|
|
84
87
|
});
|
|
85
88
|
|