@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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { KmsSigncryptedShare } from '../../../types/kms-p.js';
|
|
2
|
+
import type { FetchUserDecryptPayloadV2 } from '../../../types/relayer-p.js';
|
|
3
|
+
import type { FetchUserDecryptResult } from '../../../types/relayer.js';
|
|
4
|
+
import type { FetchUserDecryptParametersV2, FetchUserDecryptReturnType, RelayerClientWithRuntime } from '../types.js';
|
|
5
|
+
import { remove0x } from '../../../base/string.js';
|
|
6
|
+
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
7
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
8
|
+
|
|
9
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
10
|
+
// fetchUserDecryptV2 (protocol version >= 0.14.0)
|
|
11
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
|
|
13
|
+
export async function fetchUserDecryptV2(
|
|
14
|
+
relayerClient: RelayerClientWithRuntime,
|
|
15
|
+
parameters: FetchUserDecryptParametersV2,
|
|
16
|
+
): Promise<FetchUserDecryptReturnType> {
|
|
17
|
+
const { options, payload } = parameters;
|
|
18
|
+
|
|
19
|
+
const firstHandleContractPair = payload.handleContractPairs[0];
|
|
20
|
+
if (firstHandleContractPair === undefined) {
|
|
21
|
+
throw new Error('Empty handle contract pairs');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// V3 envelope: AttestedUserDecryptRequestJson
|
|
25
|
+
// publicKey and signature keep their 0x prefix (unlike the V1/V2 flat payload)
|
|
26
|
+
const relayerPayload: FetchUserDecryptPayloadV2 = {
|
|
27
|
+
attestationType: 'eip712-unified-user-decrypt-v1',
|
|
28
|
+
attestedPayload: {
|
|
29
|
+
version: '2.0',
|
|
30
|
+
type: 'user_decryption',
|
|
31
|
+
handles: payload.handleContractPairs.map((pair) => ({
|
|
32
|
+
ctHandle: pair.handle.bytes32Hex,
|
|
33
|
+
contractAddress: pair.contractAddress,
|
|
34
|
+
ownerAddress: pair.ownerAddress,
|
|
35
|
+
})),
|
|
36
|
+
userAddress: payload.kmsDecryptEip712Message.userAddress,
|
|
37
|
+
allowedContracts: payload.kmsDecryptEip712Message.allowedContracts,
|
|
38
|
+
requestValidity: {
|
|
39
|
+
startTimestamp: payload.kmsDecryptEip712Message.startTimestamp,
|
|
40
|
+
durationSeconds: payload.kmsDecryptEip712Message.durationSeconds,
|
|
41
|
+
},
|
|
42
|
+
publicKey: payload.kmsDecryptEip712Message.publicKey,
|
|
43
|
+
extraData: payload.kmsDecryptEip712Message.extraData,
|
|
44
|
+
},
|
|
45
|
+
signature: payload.kmsDecryptEip712Signature,
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const hasAuth: boolean = options?.auth !== undefined;
|
|
49
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.chain.fhevm.relayerUrl, hasAuth);
|
|
50
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v3/user-decrypt');
|
|
51
|
+
|
|
52
|
+
const request = new RelayerAsyncRequest({
|
|
53
|
+
relayerOperation: 'USER_DECRYPT',
|
|
54
|
+
url,
|
|
55
|
+
payload: relayerPayload,
|
|
56
|
+
options,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const result = (await request.run()) as FetchUserDecryptResult;
|
|
60
|
+
|
|
61
|
+
const shares: KmsSigncryptedShare[] = result.map((r) => {
|
|
62
|
+
const share: KmsSigncryptedShare = {
|
|
63
|
+
signature: r.signature,
|
|
64
|
+
payload: r.payload,
|
|
65
|
+
extraData: remove0x(r.extraData),
|
|
66
|
+
};
|
|
67
|
+
return share;
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
return shares;
|
|
71
|
+
}
|
|
@@ -63,7 +63,8 @@ export function assertIsRelayerApiError(
|
|
|
63
63
|
if (
|
|
64
64
|
value.label === ('malformed_json' satisfies RelayerApiError400NoDetails['label']) ||
|
|
65
65
|
value.label === ('request_error' satisfies RelayerApiError400NoDetails['label']) ||
|
|
66
|
-
value.label === ('not_ready_for_decryption' satisfies RelayerApiError400NoDetails['label'])
|
|
66
|
+
value.label === ('not_ready_for_decryption' satisfies RelayerApiError400NoDetails['label']) ||
|
|
67
|
+
value.label === ('not_allowed_on_host_acl' satisfies RelayerApiError400NoDetails['label'])
|
|
67
68
|
) {
|
|
68
69
|
assertIsRelayerApiError400NoDetails(value, name, options);
|
|
69
70
|
}
|
|
@@ -94,6 +95,8 @@ export function assertIsRelayerApiError(
|
|
|
94
95
|
value.label === ('readiness_check_timed_out' satisfies RelayerApiError503['label']) ||
|
|
95
96
|
value.label === ('response_timed_out' satisfies RelayerApiError503['label']) ||
|
|
96
97
|
value.label === ('protocol_paused' satisfies RelayerApiError503['label']) ||
|
|
98
|
+
value.label === ('insufficient_balance' satisfies RelayerApiError503['label']) ||
|
|
99
|
+
value.label === ('insufficient_allowance' satisfies RelayerApiError503['label']) ||
|
|
97
100
|
value.label === ('gateway_not_reachable' satisfies RelayerApiError503['label'])
|
|
98
101
|
) {
|
|
99
102
|
assertIsRelayerApiError503(value, name, options);
|
|
@@ -109,11 +112,14 @@ export function assertIsRelayerApiError(
|
|
|
109
112
|
'malformed_json',
|
|
110
113
|
'request_error',
|
|
111
114
|
'not_ready_for_decryption',
|
|
115
|
+
'not_allowed_on_host_acl',
|
|
112
116
|
'missing_fields',
|
|
113
117
|
'validation_failed',
|
|
114
118
|
'rate_limited',
|
|
115
119
|
'internal_server_error',
|
|
116
120
|
'protocol_paused',
|
|
121
|
+
'insufficient_balance',
|
|
122
|
+
'insufficient_allowance',
|
|
117
123
|
'protocol_overload',
|
|
118
124
|
'gateway_not_reachable',
|
|
119
125
|
'readiness_check_timed_out',
|
|
@@ -150,7 +156,8 @@ export function assertIsRelayerResponseFailedWithError400(
|
|
|
150
156
|
if (
|
|
151
157
|
value.error.label === ('malformed_json' satisfies RelayerApiError400NoDetails['label']) ||
|
|
152
158
|
value.error.label === ('request_error' satisfies RelayerApiError400NoDetails['label']) ||
|
|
153
|
-
value.error.label === ('not_ready_for_decryption' satisfies RelayerApiError400NoDetails['label'])
|
|
159
|
+
value.error.label === ('not_ready_for_decryption' satisfies RelayerApiError400NoDetails['label']) ||
|
|
160
|
+
value.error.label === ('not_allowed_on_host_acl' satisfies RelayerApiError400NoDetails['label'])
|
|
154
161
|
) {
|
|
155
162
|
assertIsRelayerApiError400NoDetails(value.error, `${name}.error`, options);
|
|
156
163
|
} else if (
|
|
@@ -168,6 +175,7 @@ export function assertIsRelayerResponseFailedWithError400(
|
|
|
168
175
|
'malformed_json',
|
|
169
176
|
'request_error',
|
|
170
177
|
'not_ready_for_decryption',
|
|
178
|
+
'not_allowed_on_host_acl',
|
|
171
179
|
'missing_fields',
|
|
172
180
|
'validation_failed',
|
|
173
181
|
],
|
|
@@ -14,7 +14,8 @@ export function isRelayerApiError400NoDetails(error: unknown): error is RelayerA
|
|
|
14
14
|
!(
|
|
15
15
|
error.label === ('malformed_json' satisfies T['label']) ||
|
|
16
16
|
error.label === ('request_error' satisfies T['label']) ||
|
|
17
|
-
error.label === ('not_ready_for_decryption' satisfies T['label'])
|
|
17
|
+
error.label === ('not_ready_for_decryption' satisfies T['label']) ||
|
|
18
|
+
error.label === ('not_allowed_on_host_acl' satisfies T['label'])
|
|
18
19
|
)
|
|
19
20
|
) {
|
|
20
21
|
return false;
|
|
@@ -26,7 +27,7 @@ export function isRelayerApiError400NoDetails(error: unknown): error is RelayerA
|
|
|
26
27
|
* Asserts that a value matches the {@link RelayerApiError400NoDetails} schema:
|
|
27
28
|
* ```json
|
|
28
29
|
* {
|
|
29
|
-
* "label": "malformed_json" | "request_error" | "not_ready_for_decryption",
|
|
30
|
+
* "label": "malformed_json" | "request_error" | "not_ready_for_decryption" | "not_allowed_on_host_acl",
|
|
30
31
|
* "message": "string"
|
|
31
32
|
* }
|
|
32
33
|
* ```
|
|
@@ -42,7 +43,8 @@ export function assertIsRelayerApiError400NoDetails(
|
|
|
42
43
|
!(
|
|
43
44
|
value.label === ('malformed_json' satisfies T['label']) ||
|
|
44
45
|
value.label === ('request_error' satisfies T['label']) ||
|
|
45
|
-
value.label === ('not_ready_for_decryption' satisfies T['label'])
|
|
46
|
+
value.label === ('not_ready_for_decryption' satisfies T['label']) ||
|
|
47
|
+
value.label === ('not_allowed_on_host_acl' satisfies T['label'])
|
|
46
48
|
)
|
|
47
49
|
) {
|
|
48
50
|
throw new InvalidPropertyError(
|
|
@@ -54,6 +56,7 @@ export function assertIsRelayerApiError400NoDetails(
|
|
|
54
56
|
'malformed_json' satisfies T['label'],
|
|
55
57
|
'request_error' satisfies T['label'],
|
|
56
58
|
'not_ready_for_decryption' satisfies T['label'],
|
|
59
|
+
'not_allowed_on_host_acl' satisfies T['label'],
|
|
57
60
|
],
|
|
58
61
|
type: typeof value.label, // === "string"
|
|
59
62
|
value: value.label,
|
|
@@ -20,6 +20,8 @@ export function assertIsRelayerApiError503(
|
|
|
20
20
|
assertRecordStringProperty(value, 'label' satisfies keyof T, name, {
|
|
21
21
|
expectedValue: [
|
|
22
22
|
'protocol_paused' satisfies T['label'],
|
|
23
|
+
'insufficient_balance' satisfies T['label'],
|
|
24
|
+
'insufficient_allowance' satisfies T['label'],
|
|
23
25
|
'gateway_not_reachable' satisfies T['label'],
|
|
24
26
|
'readiness_check_timed_out' satisfies T['label'],
|
|
25
27
|
'response_timed_out' satisfies T['label'],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RelayerModuleFactory } from '../types.js';
|
|
2
2
|
import { fetchCoprocessorSignatures } from './fetchCoprocessorSignatures.js';
|
|
3
|
-
import { fetchDelegatedUserDecrypt } from './
|
|
3
|
+
import { fetchDelegatedUserDecrypt } from './fetchDelegatedUserDecryptV1.js';
|
|
4
4
|
import { fetchPublicDecrypt } from './fetchPublicDecrypt.js';
|
|
5
5
|
import { fetchFheEncryptionKeyBytes } from './fetchFheEncryptionKeyBytes.js';
|
|
6
6
|
import { fetchFheEncryptionKeySource } from './fetchFheEncryptionKeySource.js';
|
|
@@ -7,7 +7,11 @@ import type {
|
|
|
7
7
|
} from '../../types/relayer.js';
|
|
8
8
|
import type { FheEncryptionKeyBytes, FheEncryptionKeySource } from '../../types/fheEncryptionKey.js';
|
|
9
9
|
import type { KmsSigncryptedShare } from '../../types/kms-p.js';
|
|
10
|
-
import type {
|
|
10
|
+
import type {
|
|
11
|
+
KmsDelegatedUserDecryptEip712V1Message,
|
|
12
|
+
KmsUserDecryptEip712V1Message,
|
|
13
|
+
KmsUserDecryptEip712V2Message,
|
|
14
|
+
} from '../../types/kms.js';
|
|
11
15
|
import type { Bytes65Hex, BytesHex, ChecksummedAddress } from '../../types/primitives.js';
|
|
12
16
|
import type { Prettify } from '../../types/utils.js';
|
|
13
17
|
import type { ZkProof } from '../../types/zkProof-p.js';
|
|
@@ -105,7 +109,7 @@ export type FetchPublicDecryptParameters = {
|
|
|
105
109
|
|
|
106
110
|
export type FetchPublicDecryptReturnType = {
|
|
107
111
|
readonly orderedAbiEncodedClearValues: BytesHex;
|
|
108
|
-
readonly
|
|
112
|
+
readonly kmsPublicDecryptEip712Signatures: Bytes65Hex[];
|
|
109
113
|
readonly extraData: BytesHex;
|
|
110
114
|
};
|
|
111
115
|
|
|
@@ -120,19 +124,34 @@ export type FetchPublicDecryptModuleFunction = {
|
|
|
120
124
|
// 4. fetchUserDecrypt
|
|
121
125
|
////////////////////////////////////////////////////////////////////////////////
|
|
122
126
|
|
|
123
|
-
export type
|
|
127
|
+
export type FetchUserDecryptParametersV1 = {
|
|
124
128
|
readonly payload: {
|
|
125
129
|
readonly handleContractPairs: ReadonlyArray<{
|
|
126
130
|
readonly handle: Handle;
|
|
127
131
|
readonly contractAddress: ChecksummedAddress;
|
|
128
132
|
}>;
|
|
129
133
|
readonly kmsDecryptEip712Signer: ChecksummedAddress;
|
|
130
|
-
readonly kmsDecryptEip712Message:
|
|
134
|
+
readonly kmsDecryptEip712Message: KmsUserDecryptEip712V1Message;
|
|
135
|
+
readonly kmsDecryptEip712Signature: Bytes65Hex;
|
|
136
|
+
};
|
|
137
|
+
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export type FetchUserDecryptParametersV2 = {
|
|
141
|
+
readonly payload: {
|
|
142
|
+
readonly handleContractPairs: ReadonlyArray<{
|
|
143
|
+
readonly handle: Handle;
|
|
144
|
+
readonly contractAddress: ChecksummedAddress;
|
|
145
|
+
readonly ownerAddress: ChecksummedAddress;
|
|
146
|
+
}>;
|
|
147
|
+
readonly kmsDecryptEip712Message: KmsUserDecryptEip712V2Message;
|
|
131
148
|
readonly kmsDecryptEip712Signature: Bytes65Hex;
|
|
132
149
|
};
|
|
133
150
|
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
134
151
|
};
|
|
135
152
|
|
|
153
|
+
export type FetchUserDecryptParameters = FetchUserDecryptParametersV1 | FetchUserDecryptParametersV2;
|
|
154
|
+
|
|
136
155
|
export type FetchUserDecryptReturnType = readonly KmsSigncryptedShare[];
|
|
137
156
|
|
|
138
157
|
export type FetchUserDecryptModuleFunction = {
|
|
@@ -153,7 +172,7 @@ export type FetchDelegatedUserDecryptParameters = {
|
|
|
153
172
|
readonly contractAddress: ChecksummedAddress;
|
|
154
173
|
}>;
|
|
155
174
|
readonly kmsDecryptEip712Signer: ChecksummedAddress;
|
|
156
|
-
readonly kmsDecryptEip712Message:
|
|
175
|
+
readonly kmsDecryptEip712Message: KmsDelegatedUserDecryptEip712V1Message;
|
|
157
176
|
readonly kmsDecryptEip712Signature: Bytes65Hex;
|
|
158
177
|
};
|
|
159
178
|
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
@@ -350,11 +350,7 @@ function _handleModuleVersionCompatibilityPolicy(
|
|
|
350
350
|
case 'throw':
|
|
351
351
|
throw new Error(message);
|
|
352
352
|
case 'warn':
|
|
353
|
-
|
|
354
|
-
logger.warn(message);
|
|
355
|
-
} else {
|
|
356
|
-
console.warn(message);
|
|
357
|
-
}
|
|
353
|
+
logger?.warn?.(message);
|
|
358
354
|
return;
|
|
359
355
|
case 'off':
|
|
360
356
|
return;
|
package/core/types/kms-p.ts
CHANGED
|
@@ -2,7 +2,15 @@ import type { TkmsVersion } from '../../wasm/tkms/KmsLibApi.js';
|
|
|
2
2
|
import type { Handle } from './encryptedTypes-p.js';
|
|
3
3
|
import type { KmsEip712Domain } from './kms.js';
|
|
4
4
|
import type { KmsSignersContext } from './kmsSignersContext.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type {
|
|
6
|
+
Bytes65Hex,
|
|
7
|
+
Bytes65HexNo0x,
|
|
8
|
+
BytesHex,
|
|
9
|
+
BytesHexNo0x,
|
|
10
|
+
ChecksummedAddress,
|
|
11
|
+
Uint256BigInt,
|
|
12
|
+
Uint8Number,
|
|
13
|
+
} from './primitives.js';
|
|
6
14
|
|
|
7
15
|
export interface KmsSigncryptedSharesMetadata {
|
|
8
16
|
readonly kmsSignersContext: KmsSignersContext;
|
|
@@ -18,3 +26,10 @@ export interface KmsSigncryptedShare {
|
|
|
18
26
|
readonly signature: Bytes65HexNo0x;
|
|
19
27
|
readonly extraData: BytesHexNo0x;
|
|
20
28
|
}
|
|
29
|
+
|
|
30
|
+
export interface KmsExtraData {
|
|
31
|
+
readonly version: Uint8Number;
|
|
32
|
+
readonly kmsContextId: Uint256BigInt;
|
|
33
|
+
readonly kmsEpochId: Uint256BigInt;
|
|
34
|
+
toBytesHex(): BytesHex;
|
|
35
|
+
}
|
package/core/types/kms.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type KmsEip712Domain = Readonly<{
|
|
|
31
31
|
verifyingContract: ChecksummedAddress;
|
|
32
32
|
}>;
|
|
33
33
|
|
|
34
|
-
export type
|
|
34
|
+
export type KmsUserDecryptEip712V1Types = {
|
|
35
35
|
readonly EIP712Domain: readonly [
|
|
36
36
|
{ readonly name: 'name'; readonly type: 'string' },
|
|
37
37
|
{ readonly name: 'version'; readonly type: 'string' },
|
|
@@ -48,7 +48,7 @@ export type KmsUserDecryptEip712Types = {
|
|
|
48
48
|
];
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
export type
|
|
51
|
+
export type KmsDelegatedUserDecryptEip712V1Types = {
|
|
52
52
|
readonly EIP712Domain: readonly [
|
|
53
53
|
{ readonly name: 'name'; readonly type: 'string' },
|
|
54
54
|
{ readonly name: 'version'; readonly type: 'string' },
|
|
@@ -98,7 +98,7 @@ export type KmsPublicDecryptEip712Types = {
|
|
|
98
98
|
];
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
-
export type
|
|
101
|
+
export type KmsUserDecryptEip712V1Message = Readonly<{
|
|
102
102
|
publicKey: BytesHex;
|
|
103
103
|
contractAddresses: readonly ChecksummedAddress[];
|
|
104
104
|
startTimestamp: string;
|
|
@@ -106,8 +106,9 @@ export type KmsUserDecryptEip712Message = Readonly<{
|
|
|
106
106
|
extraData: BytesHex;
|
|
107
107
|
}>;
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
// Protocol <= v0.13
|
|
110
|
+
export type KmsDelegatedUserDecryptEip712V1Message = Prettify<
|
|
111
|
+
KmsUserDecryptEip712V1Message & {
|
|
111
112
|
readonly delegatorAddress: ChecksummedAddress;
|
|
112
113
|
}
|
|
113
114
|
>;
|
|
@@ -127,33 +128,44 @@ export type KmsUserDecryptEip712V2Message = Readonly<{
|
|
|
127
128
|
extraData: BytesHex;
|
|
128
129
|
}>;
|
|
129
130
|
|
|
130
|
-
export type
|
|
131
|
+
export type KmsUserDecryptEip712Base = {
|
|
131
132
|
readonly domain: KmsEip712Domain;
|
|
132
|
-
|
|
133
|
-
readonly primaryType: 'UserDecryptRequestVerification';
|
|
134
|
-
readonly message: KmsUserDecryptEip712Message;
|
|
135
|
-
}>;
|
|
133
|
+
};
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
135
|
+
// Protocol <= v0.13
|
|
136
|
+
export type KmsUserDecryptEip712V1 = Prettify<
|
|
137
|
+
KmsUserDecryptEip712Base & {
|
|
138
|
+
readonly types: KmsUserDecryptEip712V1Types;
|
|
139
|
+
readonly primaryType: 'UserDecryptRequestVerification';
|
|
140
|
+
readonly message: KmsUserDecryptEip712V1Message;
|
|
141
|
+
}
|
|
142
|
+
>;
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
// Protocol <= v0.13
|
|
145
|
+
export type KmsDelegatedUserDecryptEip712V1 = Prettify<
|
|
146
|
+
KmsUserDecryptEip712Base & {
|
|
147
|
+
readonly types: KmsDelegatedUserDecryptEip712V1Types;
|
|
148
|
+
readonly primaryType: 'DelegatedUserDecryptRequestVerification';
|
|
149
|
+
readonly message: KmsDelegatedUserDecryptEip712V1Message;
|
|
150
|
+
}
|
|
151
|
+
>;
|
|
150
152
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
// Protocol >= v0.14
|
|
154
|
+
export type KmsUserDecryptEip712V2 = Prettify<
|
|
155
|
+
KmsUserDecryptEip712Base & {
|
|
156
|
+
readonly types: KmsUserDecryptEip712V2Types;
|
|
157
|
+
readonly primaryType: 'UserDecryptRequestVerification';
|
|
158
|
+
readonly message: KmsUserDecryptEip712V2Message;
|
|
159
|
+
}
|
|
160
|
+
>;
|
|
161
|
+
|
|
162
|
+
export type KmsPublicDecryptEip712 = Prettify<
|
|
163
|
+
KmsUserDecryptEip712Base & {
|
|
164
|
+
readonly types: KmsPublicDecryptEip712Types;
|
|
165
|
+
readonly primaryType: 'PublicDecryptVerification';
|
|
166
|
+
readonly message: KmsPublicDecryptEip712Message;
|
|
167
|
+
}
|
|
168
|
+
>;
|
|
157
169
|
|
|
158
170
|
////////////////////////////////////////////////////////////////////////////////
|
|
159
171
|
//
|
package/core/types/logger.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type Logger = {
|
|
2
|
-
readonly debug: (message: string) => void;
|
|
3
|
-
readonly warn
|
|
4
|
-
readonly error: (message: string, cause: unknown) => void;
|
|
2
|
+
readonly debug: ((message: string) => void) | undefined;
|
|
3
|
+
readonly warn: ((message: string) => void) | undefined;
|
|
4
|
+
readonly error: ((message: string, cause: unknown) => void) | undefined;
|
|
5
5
|
};
|
package/core/types/record-p.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Uint, ChecksummedAddress, Uint256, Address } from './primitives.js';
|
|
1
|
+
import type { Uint, ChecksummedAddress, Uint256, Address, UintNumber } from './primitives.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Generic helper type that creates a record with a specific property of type T.
|
|
@@ -17,6 +17,7 @@ export type RecordBooleanPropertyType<K extends string> = RecordWithPropertyType
|
|
|
17
17
|
|
|
18
18
|
export type RecordUintPropertyType<K extends string> = RecordWithPropertyType<K, Uint>;
|
|
19
19
|
export type RecordUint256PropertyType<K extends string> = RecordWithPropertyType<K, Uint256>;
|
|
20
|
+
export type RecordUintNumberPropertyType<K extends string> = RecordWithPropertyType<K, UintNumber>;
|
|
20
21
|
|
|
21
22
|
export type RecordUint8ArrayPropertyType<K extends string> = RecordWithPropertyType<K, Uint8Array>;
|
|
22
23
|
|
package/core/types/relayer-p.ts
CHANGED
|
@@ -51,7 +51,7 @@ export type RelayerFetchPublicDecryptPayload = {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
// https://github.com/zama-ai/fhevm-relayer/blob/96151ef300f787658c5fbaf1b4471263160032d5/src/http/userdecrypt_http_listener.rs#L33
|
|
54
|
-
export type
|
|
54
|
+
export type HandleContractPairV1 = {
|
|
55
55
|
// Hex encoded bytes32 with 0x prefix.
|
|
56
56
|
readonly handle: HandleBytes32Hex;
|
|
57
57
|
// Hex encoded address with 0x prefix.
|
|
@@ -60,7 +60,7 @@ export type HandleContractPair = {
|
|
|
60
60
|
|
|
61
61
|
// https://github.com/zama-ai/fhevm-relayer/blob/96151ef300f787658c5fbaf1b4471263160032d5/src/http/userdecrypt_http_listener.rs#L20
|
|
62
62
|
export type FetchUserDecryptPayload = {
|
|
63
|
-
readonly handleContractPairs: readonly
|
|
63
|
+
readonly handleContractPairs: readonly HandleContractPairV1[];
|
|
64
64
|
readonly requestValidity: {
|
|
65
65
|
// Number as a string
|
|
66
66
|
readonly startTimestamp: string;
|
|
@@ -81,8 +81,45 @@ export type FetchUserDecryptPayload = {
|
|
|
81
81
|
readonly extraData: BytesHex;
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
+
// https://github.com/zama-ai/fhevm-relayer v3 HandleEntryJson (camelCase)
|
|
85
|
+
export type HandleContractPairV2 = {
|
|
86
|
+
// Hex encoded bytes32 with 0x prefix.
|
|
87
|
+
readonly ctHandle: HandleBytes32Hex;
|
|
88
|
+
// Hex encoded address with 0x prefix.
|
|
89
|
+
readonly contractAddress: ChecksummedAddress;
|
|
90
|
+
// Hex encoded address with 0x prefix.
|
|
91
|
+
readonly ownerAddress: ChecksummedAddress;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
// https://github.com/zama-ai/fhevm-relayer — v3/user-decrypt (RFC-016 unified struct)
|
|
95
|
+
// POST body: AttestedUserDecryptRequestJson envelope
|
|
96
|
+
export type FetchUserDecryptPayloadV2 = {
|
|
97
|
+
readonly attestationType: 'eip712-unified-user-decrypt-v1';
|
|
98
|
+
readonly attestedPayload: {
|
|
99
|
+
readonly version: '2.0';
|
|
100
|
+
readonly type: 'user_decryption';
|
|
101
|
+
readonly handles: readonly HandleContractPairV2[];
|
|
102
|
+
// Hex encoded address with 0x prefix.
|
|
103
|
+
readonly userAddress: ChecksummedAddress;
|
|
104
|
+
// List of hex encoded addresses with 0x prefix (empty = permissive mode)
|
|
105
|
+
readonly allowedContracts: readonly ChecksummedAddress[];
|
|
106
|
+
readonly requestValidity: {
|
|
107
|
+
// Number as a string
|
|
108
|
+
readonly startTimestamp: string;
|
|
109
|
+
// Number as a string
|
|
110
|
+
readonly durationSeconds: string;
|
|
111
|
+
};
|
|
112
|
+
// Hex encoded key with 0x prefix.
|
|
113
|
+
readonly publicKey: BytesHex;
|
|
114
|
+
// Hex encoded bytes with 0x prefix. Default: 0x00
|
|
115
|
+
readonly extraData: BytesHex;
|
|
116
|
+
};
|
|
117
|
+
// Hex encoded signature with 0x prefix.
|
|
118
|
+
readonly signature: Bytes65Hex;
|
|
119
|
+
};
|
|
120
|
+
|
|
84
121
|
export type FetchDelegatedUserDecryptPayload = {
|
|
85
|
-
readonly handleContractPairs: readonly
|
|
122
|
+
readonly handleContractPairs: readonly HandleContractPairV1[];
|
|
86
123
|
// Hex encoded uint256 string without prefix
|
|
87
124
|
readonly contractsChainId: string;
|
|
88
125
|
// List of hex encoded addresses with 0x prefix
|
|
@@ -318,7 +355,7 @@ export type RelayerApiError400 = RelayerApiError400NoDetails | RelayerApiError40
|
|
|
318
355
|
* Status: 400 (no details)
|
|
319
356
|
*/
|
|
320
357
|
export type RelayerApiError400NoDetails = {
|
|
321
|
-
label: 'malformed_json' | 'request_error' | 'not_ready_for_decryption';
|
|
358
|
+
label: 'malformed_json' | 'request_error' | 'not_ready_for_decryption' | 'not_allowed_on_host_acl';
|
|
322
359
|
message: string;
|
|
323
360
|
};
|
|
324
361
|
|
|
@@ -372,7 +409,13 @@ export type RelayerApiError500 = {
|
|
|
372
409
|
* Status: 503
|
|
373
410
|
*/
|
|
374
411
|
export type RelayerApiError503 = {
|
|
375
|
-
label:
|
|
412
|
+
label:
|
|
413
|
+
| 'protocol_paused'
|
|
414
|
+
| 'insufficient_balance'
|
|
415
|
+
| 'insufficient_allowance'
|
|
416
|
+
| 'gateway_not_reachable'
|
|
417
|
+
| 'readiness_check_timed_out'
|
|
418
|
+
| 'response_timed_out';
|
|
376
419
|
message: string;
|
|
377
420
|
};
|
|
378
421
|
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KmsDelegatedUserDecryptEip712V1, KmsUserDecryptEip712V1, KmsUserDecryptEip712V2 } from './kms.js';
|
|
2
2
|
import type { Bytes65Hex, BytesHex, ChecksummedAddress } from './primitives.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* to request decryption of the signer's own FHE handles from the KMS.
|
|
7
|
-
*
|
|
8
|
-
* Created once, serializable, and reusable across multiple decrypt calls.
|
|
5
|
+
* Common fields shared by all signed decryption permit versions.
|
|
9
6
|
*/
|
|
10
7
|
export type SignedDecryptionPermitBase = {
|
|
11
8
|
/** The EIP-712 signature. */
|
|
@@ -15,36 +12,60 @@ export type SignedDecryptionPermitBase = {
|
|
|
15
12
|
/**
|
|
16
13
|
* The account that owns the encrypted data this permit covers.
|
|
17
14
|
*
|
|
18
|
-
* - **Self permit:** equals `signerAddress
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* - **Delegated permit:** differs from `signerAddress`. Step by step:
|
|
22
|
-
* 1. Alice owns encrypted values on-chain (ebool, euint8, etc.).
|
|
23
|
-
* 2. Alice calls the ACL contract to grant Bob permission to decrypt her data.
|
|
24
|
-
* 3. Bob signs an EIP-712 delegated decryption permit referencing Alice as the
|
|
25
|
-
* `encryptedDataOwnerAddress` (= `delegatorAddress` in the EIP-712 message).
|
|
26
|
-
* 4. The KMS verifies Bob's signature (`signerAddress`) and that Alice
|
|
27
|
-
* (`encryptedDataOwnerAddress`) has granted him on-chain permission.
|
|
28
|
-
* 5. Bob can now decrypt Alice's encrypted values using this permit.
|
|
15
|
+
* - **Self permit:** equals `signerAddress`.
|
|
16
|
+
* - **Delegated permit:** differs from `signerAddress`. The owner has granted
|
|
17
|
+
* the signer permission via `FHE.delegateUserDecryption()` on-chain.
|
|
29
18
|
*/
|
|
30
19
|
readonly encryptedDataOwnerAddress: ChecksummedAddress;
|
|
31
20
|
/** The E2E transport public key embedded in the EIP-712 message. */
|
|
32
21
|
readonly transportPublicKey: BytesHex;
|
|
22
|
+
/** `true` when the signer is decrypting on behalf of another account (delegated permit). */
|
|
23
|
+
readonly isDelegated: boolean;
|
|
33
24
|
|
|
34
|
-
/** @throws If the permit has expired
|
|
25
|
+
/** @throws If the permit has expired. */
|
|
35
26
|
assertNotExpired(): void;
|
|
36
27
|
};
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
30
|
+
// V1 — protocol v13 and below (two separate EIP-712 shapes)
|
|
31
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Signed decryption permit produced by protocol v13 and below.
|
|
35
|
+
*
|
|
36
|
+
* Narrow to self vs delegated via `eip712.primaryType`:
|
|
37
|
+
* - `'UserDecryptRequestVerification'` → self permit (`encryptedDataOwnerAddress === signerAddress`)
|
|
38
|
+
* - `'DelegatedUserDecryptRequestVerification'` → delegated permit
|
|
39
|
+
*/
|
|
40
|
+
export type SignedDecryptionPermitV1 = SignedDecryptionPermitBase & {
|
|
41
|
+
readonly version: 1;
|
|
42
|
+
readonly eip712: KmsUserDecryptEip712V1 | KmsDelegatedUserDecryptEip712V1;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
46
|
+
// V2 — protocol v14 and above (unified EIP-712 shape)
|
|
47
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Signed decryption permit produced by protocol v14 and above.
|
|
51
|
+
*
|
|
52
|
+
* Uses the unified `KmsUserDecryptEip712V2` EIP-712 shape — there is no longer
|
|
53
|
+
* a separate delegated variant. The `encryptedDataOwnerAddress` is read from
|
|
54
|
+
* `eip712.message.userAddress` and may differ from `signerAddress`.
|
|
55
|
+
*
|
|
56
|
+
* Discriminate from {@link SignedDecryptionPermitV1} with `permit.version === 2`.
|
|
57
|
+
*/
|
|
58
|
+
export type SignedDecryptionPermitV2 = SignedDecryptionPermitBase & {
|
|
59
|
+
readonly version: 2;
|
|
60
|
+
readonly eip712: KmsUserDecryptEip712V2;
|
|
48
61
|
};
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* A signed decryption permit, covering all protocol versions.
|
|
67
|
+
*
|
|
68
|
+
* Narrow by version: `permit.version === 1` → {@link SignedDecryptionPermitV1},
|
|
69
|
+
* `permit.version === 2` → {@link SignedDecryptionPermitV2}.
|
|
70
|
+
*/
|
|
71
|
+
export type SignedDecryptionPermit = SignedDecryptionPermitV1 | SignedDecryptionPermitV2;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
|
|
2
2
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { KmsDelegatedUserDecryptEip712V1, KmsDelegatedUserDecryptEip712V1Message } from '../../types/kms.js';
|
|
4
4
|
import type { Bytes65Hex, ChecksummedAddress } from '../../types/primitives.js';
|
|
5
|
-
import {
|
|
5
|
+
import { kmsDelegatedUserDecryptEip712V1Types } from '../../kms/kmsDelegatedUserDecryptEip712V1Types.js';
|
|
6
6
|
import { ThresholdSignerError, UnknownSignerError } from '../../errors/SignersError.js';
|
|
7
7
|
import { createKmsEip712Domain } from '../../kms/createKmsEip712Domain.js';
|
|
8
8
|
import { recoverSigners } from '../runtime/recoverSigners.js';
|
|
9
9
|
|
|
10
|
-
export type
|
|
10
|
+
export type VerifyKmsDelegatedUserDecryptEip712V1Parameters = {
|
|
11
11
|
readonly signer: ChecksummedAddress;
|
|
12
|
-
readonly message:
|
|
12
|
+
readonly message: KmsDelegatedUserDecryptEip712V1Message;
|
|
13
13
|
readonly signature: Bytes65Hex;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
export async function
|
|
16
|
+
export async function verifyKmsDelegatedUserDecryptEip712V1(
|
|
17
17
|
context: { readonly chain: FhevmChain; readonly runtime: FhevmRuntime },
|
|
18
|
-
parameters:
|
|
18
|
+
parameters: VerifyKmsDelegatedUserDecryptEip712V1Parameters,
|
|
19
19
|
): Promise<void> {
|
|
20
|
-
// A 'DelegatedUserDecryptRequestVerification'
|
|
20
|
+
// A 'DelegatedUserDecryptRequestVerification' KmsEip712Domain (for signed permit)
|
|
21
21
|
// uses `chain.id` (NOT fhevm.gateway.id!!)
|
|
22
22
|
const domain = createKmsEip712Domain({
|
|
23
23
|
chainId: context.chain.id,
|
|
@@ -26,8 +26,8 @@ export async function verifyKmsDelegatedUserDecryptEip712(
|
|
|
26
26
|
|
|
27
27
|
const recoveredAddresses = await recoverSigners(context, {
|
|
28
28
|
domain,
|
|
29
|
-
types:
|
|
30
|
-
primaryType: 'DelegatedUserDecryptRequestVerification' satisfies
|
|
29
|
+
types: kmsDelegatedUserDecryptEip712V1Types,
|
|
30
|
+
primaryType: 'DelegatedUserDecryptRequestVerification' satisfies KmsDelegatedUserDecryptEip712V1['primaryType'],
|
|
31
31
|
signatures: [parameters.signature],
|
|
32
32
|
message: parameters.message,
|
|
33
33
|
});
|