@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
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { RelayerPublicDecryptOptions } from '../types/relayer.js';
|
|
2
2
|
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ChecksummedAddress, Uint64BigInt } from '../types/primitives.js';
|
|
4
4
|
import type { PublicDecryptionProof } from '../types/publicDecryptionProof-p.js';
|
|
5
5
|
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
6
6
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
7
7
|
import type { Handle } from '../types/encryptedTypes-p.js';
|
|
8
|
+
import type { KmsExtraData } from '../types/kms-p.js';
|
|
8
9
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
9
10
|
import { assertKmsDecryptionBitLimit } from '../kms/utils.js';
|
|
10
|
-
import {
|
|
11
|
+
import { readCurrentKmsSignersContext, reconcileKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
11
12
|
import { kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
12
13
|
import { createPublicDecryptionProof } from '../kms/PublicDecryptionProof-p.js';
|
|
13
14
|
import { checkAllowedForDecryption } from '../host-contracts/checkAllowedForDecryption.js';
|
|
@@ -38,12 +39,12 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
38
39
|
// Contrary to the userDecrypt flow, the publicDecrypt doesn't require for an
|
|
39
40
|
// EIP-712 signature from the user, so the SDK can safely fetch the current
|
|
40
41
|
// context ID and build the extraData transparently to the user.
|
|
41
|
-
const requestedKmsSignersContext = await
|
|
42
|
+
const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
42
43
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address as ChecksummedAddress,
|
|
43
44
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address as ChecksummedAddress | undefined,
|
|
44
45
|
});
|
|
45
46
|
|
|
46
|
-
const requestedExtraData:
|
|
47
|
+
const requestedExtraData: KmsExtraData = kmsSignersContextToExtraData(requestedKmsSignersContext);
|
|
47
48
|
|
|
48
49
|
const orderedHandles = handles;
|
|
49
50
|
|
|
@@ -73,12 +74,12 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
73
74
|
// 5. Call relayer
|
|
74
75
|
const {
|
|
75
76
|
orderedAbiEncodedClearValues,
|
|
76
|
-
|
|
77
|
-
extraData:
|
|
77
|
+
kmsPublicDecryptEip712Signatures,
|
|
78
|
+
extraData: relayerExtraDataBytesHex,
|
|
78
79
|
} = await context.runtime.relayer.fetchPublicDecrypt(context, {
|
|
79
80
|
payload: {
|
|
80
81
|
orderedHandles,
|
|
81
|
-
extraData: requestedExtraData,
|
|
82
|
+
extraData: requestedExtraData.toBytesHex(),
|
|
82
83
|
},
|
|
83
84
|
options: relayerOptions,
|
|
84
85
|
});
|
|
@@ -87,7 +88,7 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
87
88
|
const reconciledKmsSignersContext: KmsSignersContext = await reconcileKmsSignersContext(context, {
|
|
88
89
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address as ChecksummedAddress,
|
|
89
90
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address as ChecksummedAddress | undefined,
|
|
90
|
-
|
|
91
|
+
relayerKmsExtraDataBytesHex: relayerExtraDataBytesHex,
|
|
91
92
|
requestedKmsSignersContext: requestedKmsSignersContext,
|
|
92
93
|
mode: 'loose',
|
|
93
94
|
});
|
|
@@ -97,7 +98,7 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
97
98
|
originToken,
|
|
98
99
|
orderedHandles: orderedHandles,
|
|
99
100
|
orderedAbiEncodedClearValues,
|
|
100
|
-
|
|
101
|
+
kmsPublicDecryptEip712Signatures,
|
|
101
102
|
kmsSignersContext: reconciledKmsSignersContext,
|
|
102
103
|
});
|
|
103
104
|
|
package/core/kms/utils.ts
CHANGED
|
@@ -26,35 +26,3 @@ export function assertKmsDecryptionBitLimit(handles: readonly Handle[]): UintNum
|
|
|
26
26
|
|
|
27
27
|
return total as UintNumber;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
export function assertKmsEIP712DeadlineValidity(
|
|
31
|
-
{
|
|
32
|
-
startTimestamp,
|
|
33
|
-
durationDays,
|
|
34
|
-
}: {
|
|
35
|
-
startTimestamp: bigint | number | string;
|
|
36
|
-
durationDays: bigint | number | string;
|
|
37
|
-
},
|
|
38
|
-
maxDurationDays: UintNumber,
|
|
39
|
-
): void {
|
|
40
|
-
if (durationDays === 0) {
|
|
41
|
-
throw Error('durationDays is zero');
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const durationDaysBigInt = BigInt(durationDays);
|
|
45
|
-
if (durationDaysBigInt > BigInt(maxDurationDays)) {
|
|
46
|
-
throw Error(`durationDays is above max duration of ${maxDurationDays}`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const startTimestampBigInt = BigInt(startTimestamp);
|
|
50
|
-
|
|
51
|
-
const currentTimestamp = BigInt(Math.floor(Date.now() / 1000));
|
|
52
|
-
if (startTimestampBigInt > currentTimestamp) {
|
|
53
|
-
throw Error('startTimestamp is set in the future');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const durationInSeconds = durationDaysBigInt * BigInt(24 * 60 * 60);
|
|
57
|
-
if (startTimestampBigInt + durationInSeconds < currentTimestamp) {
|
|
58
|
-
throw Error('request has expired');
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -4,10 +4,12 @@ import type { KmsPublicDecryptEip712Message } from '../types/kms.js';
|
|
|
4
4
|
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
5
5
|
import type { Bytes32Hex, Bytes65Hex, BytesHex } from '../types/primitives.js';
|
|
6
6
|
import type { Handle } from '../types/encryptedTypes-p.js';
|
|
7
|
+
import type { KmsExtraData } from '../types/kms-p.js';
|
|
7
8
|
import { recoverSigners } from '../utils-p/runtime/recoverSigners.js';
|
|
8
9
|
import { assertKmsSignerThreshold, kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
9
10
|
import { createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
10
11
|
import { kmsPublicDecryptEip712Types } from './kmsPublicDecryptEip712Types.js';
|
|
12
|
+
import { EXTRA_DATA_V0 } from './kmsExtraData-p.js';
|
|
11
13
|
|
|
12
14
|
////////////////////////////////////////////////////////////////////////////////
|
|
13
15
|
|
|
@@ -19,7 +21,7 @@ type Context = {
|
|
|
19
21
|
type Parameters = {
|
|
20
22
|
readonly orderedHandles: readonly Handle[];
|
|
21
23
|
readonly orderedAbiEncodedClearValues: BytesHex;
|
|
22
|
-
readonly
|
|
24
|
+
readonly kmsPublicDecryptEip712Signatures: readonly Bytes65Hex[];
|
|
23
25
|
readonly kmsSignersContext: KmsSignersContext;
|
|
24
26
|
};
|
|
25
27
|
|
|
@@ -28,18 +30,18 @@ type Parameters = {
|
|
|
28
30
|
export async function verifyKmsPublicDecryptEip712(context: Context, parameters: Parameters): Promise<void> {
|
|
29
31
|
const { kmsSignersContext, orderedHandles: orderedEncryptedValues, orderedAbiEncodedClearValues } = parameters;
|
|
30
32
|
|
|
31
|
-
// TODO: use
|
|
33
|
+
// TODO: use createKmsPublicDecryptEip712 instead!
|
|
32
34
|
|
|
33
|
-
const extraData:
|
|
35
|
+
const extraData: KmsExtraData = kmsSignersContextToExtraData(kmsSignersContext);
|
|
34
36
|
|
|
35
37
|
////////////////////////////////////////////////////////////////////////////
|
|
36
38
|
//
|
|
37
39
|
// Warning!!!! Do not use '0x00' here!! Only '0x' is permitted!
|
|
38
40
|
//
|
|
39
41
|
////////////////////////////////////////////////////////////////////////////
|
|
40
|
-
let
|
|
41
|
-
if (extraData ===
|
|
42
|
-
|
|
42
|
+
let signedExtraDataBytesHex: BytesHex = extraData.toBytesHex();
|
|
43
|
+
if (extraData.version === EXTRA_DATA_V0) {
|
|
44
|
+
signedExtraDataBytesHex = '0x' as BytesHex;
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
const handlesBytes32Hex: readonly Bytes32Hex[] = orderedEncryptedValues.map((h) => h.bytes32Hex);
|
|
@@ -47,7 +49,7 @@ export async function verifyKmsPublicDecryptEip712(context: Context, parameters:
|
|
|
47
49
|
const message: KmsPublicDecryptEip712Message = {
|
|
48
50
|
ctHandles: handlesBytes32Hex,
|
|
49
51
|
decryptedResult: orderedAbiEncodedClearValues,
|
|
50
|
-
extraData:
|
|
52
|
+
extraData: signedExtraDataBytesHex,
|
|
51
53
|
};
|
|
52
54
|
|
|
53
55
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -66,7 +68,7 @@ export async function verifyKmsPublicDecryptEip712(context: Context, parameters:
|
|
|
66
68
|
domain,
|
|
67
69
|
types: kmsPublicDecryptEip712Types,
|
|
68
70
|
primaryType: 'PublicDecryptVerification',
|
|
69
|
-
signatures: parameters.
|
|
71
|
+
signatures: parameters.kmsPublicDecryptEip712Signatures,
|
|
70
72
|
message,
|
|
71
73
|
});
|
|
72
74
|
|
|
@@ -17,12 +17,12 @@ import type { TkmsPrivateKey } from '../../types/tkms-p.js';
|
|
|
17
17
|
import type { BytesHex } from '../../types/primitives.js';
|
|
18
18
|
import type { KmsSigncryptedShare, KmsSigncryptedSharesMetadata } from '../../types/kms-p.js';
|
|
19
19
|
import type { ClearValue } from '../../types/encryptedTypes-p.js';
|
|
20
|
-
import { assertIsKmsExtraData } from '../../kms/kmsExtraData.js';
|
|
21
20
|
import { ensure0x, remove0x } from '../../base/string.js';
|
|
22
21
|
import { getMetadata, getShares } from '../../kms/KmsSigncryptedShares-p.js';
|
|
23
22
|
import { asBytesHex, bytesToHex, hexToBytes } from '../../base/bytes.js';
|
|
24
23
|
import { bigintToClearValueType } from '../../handle/FheType.js';
|
|
25
24
|
import { createClearValue } from '../../handle/ClearValue.js';
|
|
25
|
+
import { assertIsKmsExtraDataBytesHex } from '../../kms/kmsExtraData-p.js';
|
|
26
26
|
|
|
27
27
|
////////////////////////////////////////////////////////////////////////////////
|
|
28
28
|
|
|
@@ -71,8 +71,8 @@ export async function decryptAndReconstruct(
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
const
|
|
75
|
-
|
|
74
|
+
const extraDataBytesHex: BytesHex = ensure0x(firstExtraData);
|
|
75
|
+
assertIsKmsExtraDataBytesHex(extraDataBytesHex, {});
|
|
76
76
|
|
|
77
77
|
for (let i = 0; i < sharesArray.length; ++i) {
|
|
78
78
|
const s = sharesArray[i];
|
|
@@ -100,13 +100,13 @@ export async function decryptAndReconstruct(
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
const maskedCleartexts = decoded[0] as bigint[];
|
|
103
|
-
const
|
|
103
|
+
const signedExtraDataBytesHex = decoded[1] as BytesHex;
|
|
104
104
|
|
|
105
105
|
const cleartexts: bigint[] = _xorUnmaskWithPublicKey(publicKeySecp256k1, maskedCleartexts);
|
|
106
106
|
|
|
107
|
-
if (
|
|
107
|
+
if (extraDataBytesHex !== signedExtraDataBytesHex) {
|
|
108
108
|
throw new Error(
|
|
109
|
-
`extraData mismatch: share extraData="${
|
|
109
|
+
`extraData mismatch: share extraData="${extraDataBytesHex}" does not match the signed payload's extraData="${signedExtraDataBytesHex}".`,
|
|
110
110
|
);
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -31,10 +31,10 @@ import { uint32ToBytes32 } from '../../../base/uint.js';
|
|
|
31
31
|
import { createClearValue } from '../../../handle/ClearValue.js';
|
|
32
32
|
import { bytesToClearValueType } from '../../../handle/FheType.js';
|
|
33
33
|
import { ensure0x, remove0x } from '../../../base/string.js';
|
|
34
|
-
import { assertIsKmsExtraData } from '../../../kms/kmsExtraData.js';
|
|
35
34
|
import { bytesToHexLarge } from '../../../base/bytes.js';
|
|
36
35
|
import { initTkmsModule } from './init-p.js';
|
|
37
36
|
import { getMetadata, getShares } from '../../../kms/KmsSigncryptedShares-p.js';
|
|
37
|
+
import { assertIsKmsExtraDataBytesHex } from '../../../kms/kmsExtraData-p.js';
|
|
38
38
|
|
|
39
39
|
////////////////////////////////////////////////////////////////////////////////
|
|
40
40
|
|
|
@@ -76,7 +76,7 @@ type TypedPlaintextWasmType = TypedPlaintext & {
|
|
|
76
76
|
readonly [__TypedPlaintextWasm]: never;
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
type
|
|
79
|
+
type KmsEip712DomainWasmType = Readonly<
|
|
80
80
|
Omit<KmsEip712Domain, 'chainId' | 'verifyingContract'> & {
|
|
81
81
|
readonly chain_id: Uint8Array;
|
|
82
82
|
readonly verifying_contract: ChecksummedAddress;
|
|
@@ -256,18 +256,18 @@ export async function decryptAndReconstruct(
|
|
|
256
256
|
throw new Error('Expected at least one signcrypted share.');
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
const
|
|
259
|
+
const firstExtraDataBytesHex = firstShare.extraData;
|
|
260
260
|
for (let i = 1; i < sharesArray.length; i++) {
|
|
261
261
|
const share = sharesArray[i];
|
|
262
|
-
if (share !== undefined && share.extraData !==
|
|
262
|
+
if (share !== undefined && share.extraData !== firstExtraDataBytesHex) {
|
|
263
263
|
throw new Error(
|
|
264
|
-
`Mismatched extraData across shares: share[0]="${
|
|
264
|
+
`Mismatched extraData across shares: share[0]="${firstExtraDataBytesHex}" vs share[${i}]="${share.extraData}".`,
|
|
265
265
|
);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
const
|
|
270
|
-
|
|
269
|
+
const extraDataBytesHex: BytesHex = ensure0x(firstExtraDataBytesHex);
|
|
270
|
+
assertIsKmsExtraDataBytesHex(extraDataBytesHex, {});
|
|
271
271
|
|
|
272
272
|
const aggRespWasmArg: ReadonlyArray<Omit<KmsSigncryptedShare, 'extraData'> & { extra_data: BytesHexNo0x }> =
|
|
273
273
|
sharesArray.map((s) => {
|
|
@@ -297,16 +297,16 @@ export async function decryptAndReconstruct(
|
|
|
297
297
|
kmsLib,
|
|
298
298
|
);
|
|
299
299
|
|
|
300
|
-
//
|
|
301
|
-
const
|
|
300
|
+
// KmsEip712Domain
|
|
301
|
+
const kmsEip712Domain: KmsEip712Domain = metadata.eip712Domain;
|
|
302
302
|
const clientAddress: ChecksummedAddress = metadata.eip712SignerAddress;
|
|
303
303
|
|
|
304
304
|
// To be modified! use uint64ToBytes32 instead
|
|
305
|
-
const eip712DomainWasmArg:
|
|
306
|
-
name:
|
|
307
|
-
version:
|
|
308
|
-
chain_id: uint32ToBytes32(
|
|
309
|
-
verifying_contract:
|
|
305
|
+
const eip712DomainWasmArg: KmsEip712DomainWasmType = {
|
|
306
|
+
name: kmsEip712Domain.name,
|
|
307
|
+
version: kmsEip712Domain.version,
|
|
308
|
+
chain_id: uint32ToBytes32(kmsEip712Domain.chainId), // gateway chainId
|
|
309
|
+
verifying_contract: kmsEip712Domain.verifyingContract,
|
|
310
310
|
salt: null,
|
|
311
311
|
};
|
|
312
312
|
|
|
@@ -333,7 +333,7 @@ export async function decryptAndReconstruct(
|
|
|
333
333
|
enc_key: remove0x(publicEncKeyMlKem512WasmBytesHex),
|
|
334
334
|
ciphertext_handles: metadata.handles.map((h) => h.bytes32HexNo0x),
|
|
335
335
|
eip712_verifying_contract: metadata.eip712Domain.verifyingContract,
|
|
336
|
-
extra_data: remove0x(
|
|
336
|
+
extra_data: remove0x(extraDataBytesHex),
|
|
337
337
|
};
|
|
338
338
|
|
|
339
339
|
//
|
|
@@ -90,21 +90,21 @@ async function _resolveKmsAssets(
|
|
|
90
90
|
function _logResolvedKmsAssets(resolvedAssets: ResolvedKmsAssets, logger: FhevmRuntimeConfig['logger']): void {
|
|
91
91
|
const { wasm } = resolvedAssets;
|
|
92
92
|
if (wasm.resolution === 'user') {
|
|
93
|
-
logger?.debug(`resolve tkms wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
|
|
93
|
+
logger?.debug?.(`resolve tkms wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
|
|
94
94
|
} else if (wasm.resolution === 'node') {
|
|
95
95
|
if (wasm.url === undefined) {
|
|
96
96
|
// Auto-derived assets were missing on disk (e.g. a bundler such as Turbopack
|
|
97
97
|
// relocated the package) and were cleared by _resolveTkmsAssets -> base64.
|
|
98
|
-
logger?.debug(
|
|
98
|
+
logger?.debug?.(
|
|
99
99
|
`tkms auto-derived assets not found on disk (bundler relocation?); using embedded base64 ` +
|
|
100
100
|
`(wasm: ${wasm.localRelativePath})`,
|
|
101
101
|
);
|
|
102
102
|
} else {
|
|
103
|
-
logger?.debug(`resolve tkms wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
103
|
+
logger?.debug?.(`resolve tkms wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
104
104
|
}
|
|
105
105
|
} else {
|
|
106
106
|
// 'none': browser zero-config (no 'locateFile', not Node) -> embedded base64.
|
|
107
|
-
logger?.debug(`resolve tkms assets using embedded base64 (browser, no 'locateFile')`);
|
|
107
|
+
logger?.debug?.(`resolve tkms assets using embedded base64 (browser, no 'locateFile')`);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -170,7 +170,7 @@ async function _resolveTkmsModuleConfig(
|
|
|
170
170
|
logger: parameters.logger,
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
-
parameters.logger?.debug(JSON.stringify(cfg, null, 2));
|
|
173
|
+
//parameters.logger?.debug?.(JSON.stringify(cfg, null, 2));
|
|
174
174
|
|
|
175
175
|
return cfg;
|
|
176
176
|
}
|
|
@@ -226,11 +226,11 @@ async function _compileWasmModule(cfg: ResolvedTkmsModuleConfig): Promise<WebAss
|
|
|
226
226
|
let wasmModule;
|
|
227
227
|
|
|
228
228
|
if (cfg.assets.wasm.url !== undefined) {
|
|
229
|
-
cfg.logger?.debug(`compile tkms verified wasm at: ${cfg.assets.wasm.url}`);
|
|
229
|
+
cfg.logger?.debug?.(`compile tkms verified wasm at: ${cfg.assets.wasm.url}`);
|
|
230
230
|
wasmModule = await isomorphicCompileVerifiedWasm(cfg.assets.wasm.url, cfg.assets.wasm.sha256);
|
|
231
231
|
} else {
|
|
232
232
|
const { tkmsWasmBase64, tkmsWasmBase64CompressionFormat } = await loadKmsWasmBase64(cfg.version);
|
|
233
|
-
cfg.logger?.debug(
|
|
233
|
+
cfg.logger?.debug?.(
|
|
234
234
|
`compile tkms wasm from embedded base64 (compression:${tkmsWasmBase64CompressionFormat ?? 'none'})`,
|
|
235
235
|
);
|
|
236
236
|
wasmModule = await isomorphicCompileWasmFromBase64(tkmsWasmBase64, tkmsWasmBase64CompressionFormat);
|
|
@@ -208,23 +208,25 @@ async function _resolveTfheAssets(
|
|
|
208
208
|
function _logResolvedTfheAssets(resolvedAssets: ResolvedTfheAssets, logger: FhevmRuntimeConfig['logger']): void {
|
|
209
209
|
const { wasm, worker } = resolvedAssets;
|
|
210
210
|
if (wasm.resolution === 'user') {
|
|
211
|
-
logger?.debug(`resolve tfhe wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
|
|
212
|
-
logger?.debug(
|
|
211
|
+
logger?.debug?.(`resolve tfhe wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
|
|
212
|
+
logger?.debug?.(
|
|
213
|
+
`resolve tfhe worker filename using 'locateFile' function: ${worker.filename} -> url: ${worker.url}`,
|
|
214
|
+
);
|
|
213
215
|
} else if (wasm.resolution === 'node') {
|
|
214
216
|
if (wasm.url === undefined) {
|
|
215
217
|
// Auto-derived assets were missing on disk (e.g. a bundler such as Turbopack
|
|
216
218
|
// relocated the package) and were cleared by _resolveTfheAssets -> base64.
|
|
217
|
-
logger?.debug(
|
|
219
|
+
logger?.debug?.(
|
|
218
220
|
`tfhe auto-derived assets not found on disk (bundler relocation?); using embedded base64 ` +
|
|
219
221
|
`(wasm: ${wasm.localRelativePath}, worker: ${worker.localRelativePath})`,
|
|
220
222
|
);
|
|
221
223
|
} else {
|
|
222
|
-
logger?.debug(`resolve tfhe wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
223
|
-
logger?.debug(`resolve tfhe worker local path: ${worker.localRelativePath} -> url: ${worker.url}`);
|
|
224
|
+
logger?.debug?.(`resolve tfhe wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
225
|
+
logger?.debug?.(`resolve tfhe worker local path: ${worker.localRelativePath} -> url: ${worker.url}`);
|
|
224
226
|
}
|
|
225
227
|
} else {
|
|
226
228
|
// 'none': browser zero-config (no 'locateFile', not Node) -> embedded base64.
|
|
227
|
-
logger?.debug(`resolve tfhe assets using embedded base64 (browser, no 'locateFile')`);
|
|
229
|
+
logger?.debug?.(`resolve tfhe assets using embedded base64 (browser, no 'locateFile')`);
|
|
228
230
|
}
|
|
229
231
|
}
|
|
230
232
|
|
|
@@ -475,7 +477,10 @@ async function _resolveTfheModuleConfig(
|
|
|
475
477
|
// Single source of truth for browser-vs-Node, resolved on the main thread
|
|
476
478
|
// (robust to bundler `process` shims) — the worker bootstrap no longer detects it.
|
|
477
479
|
isBrowserLike: isBrowserLike(),
|
|
478
|
-
logger:
|
|
480
|
+
logger:
|
|
481
|
+
parameters.logger?.debug !== undefined && parameters.logger.error !== undefined
|
|
482
|
+
? { debug: parameters.logger.debug, error: parameters.logger.error }
|
|
483
|
+
: undefined,
|
|
479
484
|
});
|
|
480
485
|
|
|
481
486
|
const cfg = {
|
|
@@ -488,7 +493,7 @@ async function _resolveTfheModuleConfig(
|
|
|
488
493
|
supportsThreads,
|
|
489
494
|
};
|
|
490
495
|
|
|
491
|
-
parameters.logger?.debug(JSON.stringify(cfg, null, 2));
|
|
496
|
+
//parameters.logger?.debug?.(JSON.stringify(cfg, null, 2));
|
|
492
497
|
|
|
493
498
|
return cfg;
|
|
494
499
|
}
|
|
@@ -572,11 +577,11 @@ async function _compileWasmModule(cfg: ResolvedTfheModuleConfig): Promise<WebAss
|
|
|
572
577
|
let wasmModule;
|
|
573
578
|
|
|
574
579
|
if (cfg.assets.wasm.url !== undefined) {
|
|
575
|
-
cfg.logger?.debug(`compile verified wasm at: ${cfg.assets.wasm.url}`);
|
|
580
|
+
cfg.logger?.debug?.(`compile verified wasm at: ${cfg.assets.wasm.url}`);
|
|
576
581
|
wasmModule = await isomorphicCompileVerifiedWasm(cfg.assets.wasm.url, cfg.assets.wasm.sha256);
|
|
577
582
|
} else {
|
|
578
583
|
const { tfheWasmBase64, tfheWasmBase64CompressionFormat } = await loadTfheWasmBase64(cfg.version);
|
|
579
|
-
cfg.logger?.debug(`compile wasm from embedded base64 (compression:${tfheWasmBase64CompressionFormat ?? 'none'})`);
|
|
584
|
+
cfg.logger?.debug?.(`compile wasm from embedded base64 (compression:${tfheWasmBase64CompressionFormat ?? 'none'})`);
|
|
580
585
|
wasmModule = await isomorphicCompileWasmFromBase64(tfheWasmBase64, tfheWasmBase64CompressionFormat);
|
|
581
586
|
}
|
|
582
587
|
|
|
@@ -599,7 +604,7 @@ async function _initTfheModule(cfg: ResolvedTfheModuleConfig): Promise<TfheLibAp
|
|
|
599
604
|
|
|
600
605
|
// 4. Spawn Web Workers for parallel FHE operations (skipped when single-threaded)
|
|
601
606
|
if (!cfg.singleThread) {
|
|
602
|
-
cfg.logger?.debug(`initThreadPool(${cfg.numberOfThreads})`);
|
|
607
|
+
cfg.logger?.debug?.(`initThreadPool(${cfg.numberOfThreads})`);
|
|
603
608
|
await tfheLib.initThreadPool(cfg.numberOfThreads);
|
|
604
609
|
}
|
|
605
610
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Bytes65Hex, BytesHex, ChecksummedAddress } from '../../types/primitives.js';
|
|
1
|
+
import type { Bytes32Hex, Bytes65Hex, BytesHex, ChecksummedAddress, Uint256 } from '../../types/primitives.js';
|
|
2
2
|
import type { Prettify } from '../../types/utils.js';
|
|
3
3
|
import type { EthereumModule } from './types.js';
|
|
4
4
|
|
|
@@ -32,6 +32,28 @@ export type SignModuleFunction = {
|
|
|
32
32
|
sign(parameters: SignParameters): Promise<SignReturnType>;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
36
|
+
// hashTypedData
|
|
37
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
38
|
+
|
|
39
|
+
export type HashTypedDataParameters = Readonly<{
|
|
40
|
+
domain: {
|
|
41
|
+
readonly chainId: Uint256;
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly verifyingContract: ChecksummedAddress;
|
|
44
|
+
readonly version: string;
|
|
45
|
+
};
|
|
46
|
+
types: Readonly<Record<string, ReadonlyArray<{ name: string; type: string }>>>;
|
|
47
|
+
primaryType: string;
|
|
48
|
+
message: Readonly<Record<string, unknown>>;
|
|
49
|
+
}>;
|
|
50
|
+
|
|
51
|
+
export type HashTypedDataReturnType = Bytes32Hex;
|
|
52
|
+
|
|
53
|
+
export type HashTypedDataModuleFunction = {
|
|
54
|
+
hashTypedData(parameters: HashTypedDataParameters): HashTypedDataReturnType;
|
|
55
|
+
};
|
|
56
|
+
|
|
35
57
|
////////////////////////////////////////////////////////////////////////////////
|
|
36
58
|
// generatePrivateKey
|
|
37
59
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -81,7 +103,8 @@ export type CleartextEthereumModule = EthereumModule &
|
|
|
81
103
|
SignModuleFunction &
|
|
82
104
|
GeneratePrivateKeyModuleFunction &
|
|
83
105
|
GetPublicKeyModuleFunction &
|
|
84
|
-
RecoverAddressModuleFunction
|
|
106
|
+
RecoverAddressModuleFunction &
|
|
107
|
+
HashTypedDataModuleFunction
|
|
85
108
|
>;
|
|
86
109
|
|
|
87
110
|
export type CleartextEthereumModuleFactory = () => {
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import type { Bytes65Hex, BytesHex, ChecksummedAddress } from '../../../types/primitives.js';
|
|
1
|
+
import type { Bytes65Hex, BytesHex, ChecksummedAddress, Uint32BigInt } from '../../../types/primitives.js';
|
|
2
2
|
import type { CleartextEthereumModule } from '../../ethereum/types-ct.js';
|
|
3
3
|
import type {
|
|
4
4
|
FetchCoprocessorSignaturesParameters,
|
|
5
5
|
FetchCoprocessorSignaturesReturnType,
|
|
6
6
|
RelayerClientWithRuntime,
|
|
7
7
|
} from '../types.js';
|
|
8
|
-
import {
|
|
8
|
+
import type { CoprocessorSignersContext } from '../../../types/coprocessorSignersContext.js';
|
|
9
|
+
import { asUint32BigInt, asUint64BigInt, randomUniqueUints } from '../../../base/uint.js';
|
|
9
10
|
import { getTrustedClient } from '../../../runtime/CoreFhevm-p.js';
|
|
10
11
|
import { getCoprocessorSignersPrivateKeyMap } from './signers.js';
|
|
12
|
+
import { isForgeFhevmV1 } from './forgeFhevmV1.js';
|
|
13
|
+
import { createCoprocessorEip712Domain } from '../../../coprocessor/createCoprocessorEip712Domain.js';
|
|
14
|
+
import { coprocessorEip712PrimaryType, coprocessorEip712Types } from '../../../coprocessor/coprocessorEip712Types.js';
|
|
15
|
+
import { readCoprocessorSignersContext } from '../../../host-contracts/readCoprocessorSignersContext-p.js';
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
readonly coprocessorEip712Signatures: readonly Bytes65Hex[];
|
|
16
|
-
readonly extraData: BytesHex;
|
|
17
|
-
};
|
|
17
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
18
|
+
// runInputProofOnChain
|
|
19
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
18
20
|
|
|
19
|
-
*/
|
|
20
21
|
const inputProofAbi = [
|
|
21
22
|
{
|
|
22
23
|
type: 'function',
|
|
@@ -44,13 +45,14 @@ const inputProofAbi = [
|
|
|
44
45
|
},
|
|
45
46
|
] as const;
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
async function runInputProofOnChain(
|
|
48
49
|
relayerClient: RelayerClientWithRuntime,
|
|
49
|
-
|
|
50
|
-
): Promise<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
payload: FetchCoprocessorSignaturesParameters['payload'],
|
|
51
|
+
): Promise<{
|
|
52
|
+
readonly digest: BytesHex;
|
|
53
|
+
readonly signersAddress: readonly ChecksummedAddress[];
|
|
54
|
+
readonly threshold: Uint32BigInt;
|
|
55
|
+
}> {
|
|
54
56
|
const trustedClient = getTrustedClient(relayerClient);
|
|
55
57
|
const res = (await relayerClient.runtime.ethereum.readContract(trustedClient, {
|
|
56
58
|
abi: inputProofAbi,
|
|
@@ -67,6 +69,87 @@ export async function fetchCoprocessorSignatures(
|
|
|
67
69
|
const digest = res[0] as BytesHex;
|
|
68
70
|
const signersAddress = res[1] as ChecksummedAddress[];
|
|
69
71
|
const threshold = asUint32BigInt(res[2]);
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
digest,
|
|
75
|
+
signersAddress,
|
|
76
|
+
threshold,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
81
|
+
// runInputProofOffChain
|
|
82
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
83
|
+
|
|
84
|
+
async function runInputProofOffChain(
|
|
85
|
+
relayerClient: RelayerClientWithRuntime,
|
|
86
|
+
payload: FetchCoprocessorSignaturesParameters['payload'],
|
|
87
|
+
): Promise<{
|
|
88
|
+
readonly digest: BytesHex;
|
|
89
|
+
readonly signersAddress: readonly ChecksummedAddress[];
|
|
90
|
+
readonly threshold: Uint32BigInt;
|
|
91
|
+
}> {
|
|
92
|
+
const cleartextEthereumModule = relayerClient.runtime.ethereum as CleartextEthereumModule;
|
|
93
|
+
const { zkProof } = payload;
|
|
94
|
+
|
|
95
|
+
// Read the coprocessor signer set + threshold from the InputVerifier's on-chain
|
|
96
|
+
// storage. In the forge-fhevm-v1 setup only the `inputProof` view is missing;
|
|
97
|
+
// the signers/threshold and the EIP-712 material are still readable, so we
|
|
98
|
+
// recompute the digest off-chain below (mirroring CleartextInputVerifier.inputProof).
|
|
99
|
+
const coprocessorSignersContext: CoprocessorSignersContext = await readCoprocessorSignersContext(relayerClient, {
|
|
100
|
+
address: relayerClient.chain.fhevm.contracts.inputVerifier.address as ChecksummedAddress,
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// The 'InputVerification' domain uses the gateway chainId + gateway
|
|
104
|
+
// inputVerification address (same as verifyHandlesCoprocessorSignatures).
|
|
105
|
+
const domain = createCoprocessorEip712Domain({
|
|
106
|
+
gatewayChainId: relayerClient.chain.fhevm.gateway.id,
|
|
107
|
+
verifyingContractAddressInputVerification: relayerClient.chain.fhevm.gateway.contracts.inputVerification.address,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Mirror CleartextInputVerifier.inputProof: hash the CiphertextVerification
|
|
111
|
+
// struct with contractChainId = block.chainid (the host chain), and extraData
|
|
112
|
+
// taken verbatim from the ZK proof (as the on-chain view would receive it).
|
|
113
|
+
const digest: BytesHex = cleartextEthereumModule.hashTypedData({
|
|
114
|
+
domain,
|
|
115
|
+
types: coprocessorEip712Types,
|
|
116
|
+
primaryType: coprocessorEip712PrimaryType,
|
|
117
|
+
message: {
|
|
118
|
+
ctHandles: zkProof.getInputHandles().map((h) => h.bytes32Hex),
|
|
119
|
+
userAddress: zkProof.userAddress,
|
|
120
|
+
contractAddress: zkProof.contractAddress,
|
|
121
|
+
contractChainId: asUint64BigInt(BigInt(relayerClient.chain.id)),
|
|
122
|
+
extraData: zkProof.getExtraData(),
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
digest,
|
|
128
|
+
signersAddress: coprocessorSignersContext.signers,
|
|
129
|
+
threshold: asUint32BigInt(BigInt(coprocessorSignersContext.threshold)),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export async function fetchCoprocessorSignatures(
|
|
134
|
+
relayerClient: RelayerClientWithRuntime,
|
|
135
|
+
parameters: FetchCoprocessorSignaturesParameters,
|
|
136
|
+
): Promise<FetchCoprocessorSignaturesReturnType> {
|
|
137
|
+
const cleartextEthereumModule = relayerClient.runtime.ethereum as CleartextEthereumModule;
|
|
138
|
+
const { payload } = parameters;
|
|
139
|
+
|
|
140
|
+
const offChain = await isForgeFhevmV1(relayerClient);
|
|
141
|
+
|
|
142
|
+
let res;
|
|
143
|
+
if (offChain) {
|
|
144
|
+
res = await runInputProofOffChain(relayerClient, payload);
|
|
145
|
+
} else {
|
|
146
|
+
res = await runInputProofOnChain(relayerClient, payload);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const digest = res.digest;
|
|
150
|
+
const signersAddress = res.signersAddress;
|
|
151
|
+
const threshold = res.threshold;
|
|
152
|
+
|
|
70
153
|
const signers = getCoprocessorSignersPrivateKeyMap(relayerClient);
|
|
71
154
|
|
|
72
155
|
const randomSignersAddress = randomUniqueUints(signersAddress.length, Number(threshold)).map(
|