@fhevm/sdk 1.1.0-alpha.5 → 1.1.0-alpha.7
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/_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/host/index.js +1 -9
- package/_cjs/core/actions/host/index.js.map +1 -1
- package/_cjs/core/base/bytes.js +2 -1
- package/_cjs/core/base/bytes.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/environment.js +122 -0
- package/_cjs/core/base/environment.js.map +1 -0
- package/_cjs/core/base/errors/Sha256VerificationError.js +15 -0
- package/_cjs/core/base/errors/Sha256VerificationError.js.map +1 -0
- package/_cjs/core/base/inflate.js +282 -0
- package/_cjs/core/base/inflate.js.map +1 -0
- package/_cjs/core/base/isomorphicFs.js +24 -0
- package/_cjs/core/base/isomorphicFs.js.map +1 -0
- package/_cjs/core/base/isomorphicWorker.js +42 -111
- package/_cjs/core/base/isomorphicWorker.js.map +1 -1
- package/_cjs/core/base/uint.js +7 -0
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/base/wasm.js +15 -55
- package/_cjs/core/base/wasm.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/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/kms/PublicDecryptionProof-p.js +4 -4
- 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 +217 -0
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +184 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_cjs/core/kms/TransportKeyPair-p.js +0 -4
- package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
- package/_cjs/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +9 -9
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +18 -14
- package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- 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} +18 -8
- 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/{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 +2 -2
- package/_cjs/core/kms/utils.js +0 -19
- package/_cjs/core/kms/utils.js.map +1 -1
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +5 -5
- package/_cjs/core/modules/decrypt/module/init-p.js +124 -40
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +153 -49
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +3 -3
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.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 +5 -10
- package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
- package/_cjs/core/runtime/initFhevmRuntime-p.js +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/wasm/tfhe/TfheApi.d.ts +12 -12
- package/_cjs/wasm/tfhe/loadTfheLib.js +11 -11
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +2 -2
- package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js +26 -9
- package/_cjs/wasm/tfhe/v1.5.3/startWorkers.js.map +2 -2
- package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
- package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +28 -11
- package/_cjs/wasm/tfhe/v1.6.2/startWorkers.js.map +7 -0
- package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
- package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
- package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
- package/_cjs/wasm/tfhe/v1.6.2/tfhe.js.map +7 -0
- package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
- package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +35 -0
- package/_cjs/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js.map +7 -0
- package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
- package/_cjs/wasm/wasmBaseUrl.js +8 -19
- package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
- 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/host/index.js +0 -4
- package/_esm/core/actions/host/index.js.map +1 -1
- package/_esm/core/base/bytes.js +2 -1
- package/_esm/core/base/bytes.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/environment.js +164 -0
- package/_esm/core/base/environment.js.map +1 -0
- package/_esm/core/base/errors/Sha256VerificationError.js +11 -0
- package/_esm/core/base/errors/Sha256VerificationError.js.map +1 -0
- package/_esm/core/base/inflate.js +337 -0
- package/_esm/core/base/inflate.js.map +1 -0
- package/_esm/core/base/isomorphicFs.js +21 -0
- package/_esm/core/base/isomorphicFs.js.map +1 -0
- package/_esm/core/base/isomorphicWorker.js +92 -85
- package/_esm/core/base/isomorphicWorker.js.map +1 -1
- package/_esm/core/base/uint.js +7 -0
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/base/wasm.js +25 -31
- package/_esm/core/base/wasm.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/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/kms/PublicDecryptionProof-p.js +4 -4
- 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 +258 -0
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js +204 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_esm/core/kms/TransportKeyPair-p.js +0 -4
- package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
- package/_esm/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +8 -8
- 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} +18 -14
- package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- 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} +23 -13
- 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/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 +2 -2
- package/_esm/core/kms/utils.js +0 -18
- package/_esm/core/kms/utils.js.map +1 -1
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +2 -2
- package/_esm/core/modules/decrypt/module/api-p.js +6 -6
- package/_esm/core/modules/decrypt/module/init-p.js +110 -55
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +306 -57
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +3 -3
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.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 +5 -10
- package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
- package/_esm/core/runtime/initFhevmRuntime-p.js +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/wasm/tfhe/TfheApi.d.ts +12 -12
- package/_esm/wasm/tfhe/loadTfheLib.js +11 -11
- package/_esm/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
- package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
- package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
- package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
- package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
- package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
- package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
- package/_esm/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
- package/_esm/wasm/wasmBaseUrl.js +17 -54
- 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/host/index.d.ts +0 -4
- package/_types/core/actions/host/index.d.ts.map +1 -1
- package/_types/core/base/bytes.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/environment.d.ts +92 -0
- package/_types/core/base/environment.d.ts.map +1 -0
- package/_types/core/base/errors/Sha256VerificationError.d.ts +14 -0
- package/_types/core/base/errors/Sha256VerificationError.d.ts.map +1 -0
- package/_types/core/base/inflate.d.ts +25 -0
- package/_types/core/base/inflate.d.ts.map +1 -0
- package/_types/core/base/isomorphicFs.d.ts +2 -0
- package/_types/core/base/isomorphicFs.d.ts.map +1 -0
- package/_types/core/base/isomorphicWorker.d.ts +27 -43
- package/_types/core/base/isomorphicWorker.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/base/wasm.d.ts +0 -8
- package/_types/core/base/wasm.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/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/kms/PublicDecryptionProof-p.d.ts +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/TransportKeyPair-p.d.ts.map +1 -1
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +15 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +26 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +1 -1
- 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/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/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/modules/decrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.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.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/types/wasmAssets.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/wasm/tfhe/TfheApi.d.ts +12 -12
- package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
- package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
- 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/host/index.ts +0 -20
- package/core/base/bytes.ts +2 -1
- package/core/base/cachedFetch.ts +1 -0
- package/core/base/environment.ts +210 -0
- package/core/base/errors/Sha256VerificationError.ts +22 -0
- package/core/base/inflate.ts +373 -0
- package/core/base/isomorphicFs.ts +23 -0
- package/core/base/isomorphicWorker.ts +96 -123
- package/core/base/uint.ts +18 -1
- package/core/base/wasm.ts +28 -35
- package/core/clients/decorators/base.ts +13 -37
- package/core/coprocessor/coprocessorEip712Types.ts +2 -2
- 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 +2 -2
- package/core/kms/PublicDecryptionProof-p.ts +5 -5
- package/core/kms/SignedDecryptionPermit-p.ts +67 -357
- package/core/kms/SignedDecryptionPermitV1-p.ts +350 -0
- package/core/kms/SignedDecryptionPermitV2-p.ts +292 -0
- package/core/kms/TransportKeyPair-p.ts +0 -5
- package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts} +16 -16
- package/core/kms/createKmsPublicDecryptEip712.ts +1 -1
- package/core/kms/{createKmsUserDecryptEip712.ts → createKmsUserDecryptEip712V1.ts} +31 -22
- package/core/kms/createKmsUserDecryptEip712V2.ts +1 -1
- package/core/kms/decryptValuesFromPairs.ts +34 -22
- package/core/kms/{fetchKmsSigncryptedShares-p.ts → fetchKmsSigncryptedSharesV1-p.ts} +35 -30
- package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +176 -0
- package/core/kms/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts} +9 -8
- 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 +2 -2
- package/core/kms/utils.ts +0 -32
- package/core/kms/verifyKmsPublicDecryptEip712-p.ts +3 -3
- package/core/modules/decrypt/module/api-p.ts +8 -8
- package/core/modules/decrypt/module/init-p.ts +149 -60
- package/core/modules/encrypt/module/init-p.ts +377 -67
- package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +3 -3
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
- 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 +5 -9
- package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
- package/core/runtime/initFhevmRuntime-p.ts +1 -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/types/wasmAssets.ts +58 -0
- 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/package.json +1 -1
- package/wasm/tfhe/TfheApi.d.ts +12 -12
- package/wasm/tfhe/loadTfheLib.js +11 -11
- package/wasm/tfhe/v1.5.3/startWorkers.js +41 -20
- package/wasm/tfhe/v1.5.3/tfhe.d.ts +3 -0
- package/wasm/tfhe/v1.6.0-dev/startWorkers.js +41 -20
- package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +3 -0
- package/wasm/tfhe/{v1.6.1 → v1.6.2}/startWorkers.js +46 -25
- package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe-worker.mjs +40 -40
- package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.d.ts +88 -85
- package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe.js +245 -442
- package/wasm/tfhe/v1.6.2/tfhe_bg.wasm +0 -0
- package/wasm/tfhe/v1.6.2/tfhe_bg.wasm.base64.js +7 -0
- package/wasm/wasmBaseUrl.js +17 -54
- 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/kmsUserDecryptEip712Types.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/_cjs/wasm/tfhe/v1.6.1/startWorkers.js.map +0 -7
- package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +0 -7
- package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
- package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -35
- package/_cjs/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js.map +0 -7
- 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/kmsUserDecryptEip712Types.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/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
- package/_esm/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
- 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/kmsUserDecryptEip712Types.d.ts +0 -3
- package/_types/core/kms/kmsUserDecryptEip712Types.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/wasm/tfhe/v1.6.1/tfhe_bg.wasm +0 -0
- package/wasm/tfhe/v1.6.1/tfhe_bg.wasm.base64.js +0 -7
- /package/_cjs/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
- /package/_esm/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
- /package/_types/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
- /package/core/modules/relayer/module/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +0 -0
- /package/wasm/tfhe/{v1.6.1 → v1.6.2}/tfhe_bg.wasm.base64.d.ts +0 -0
package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KmsDelegatedUserDecryptEip712V1 } from '../types/kms.js';
|
|
2
2
|
import type { BytesHex } from '../types/primitives.js';
|
|
3
3
|
import type { ErrorMetadataParams } from '../base/errors/ErrorBase.js';
|
|
4
4
|
import {
|
|
@@ -11,13 +11,13 @@ import { asBytesHex, assertIsBytesHex, bytesToHexLarge } from '../base/bytes.js'
|
|
|
11
11
|
import { ensure0x } from '../base/string.js';
|
|
12
12
|
import { assertIsUintNumber } from '../base/uint.js';
|
|
13
13
|
import { createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { _assertIsKmsUserDecryptEip712V1Base } from './createKmsUserDecryptEip712V1.js';
|
|
15
|
+
import { kmsDelegatedUserDecryptEip712V1Types } from './kmsDelegatedUserDecryptEip712V1Types.js';
|
|
16
16
|
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
17
17
|
|
|
18
18
|
////////////////////////////////////////////////////////////////////////////////
|
|
19
19
|
|
|
20
|
-
export type
|
|
20
|
+
export type CreateKmsDelegatedUserDecryptEip712V1Parameters = {
|
|
21
21
|
readonly verifyingContractAddressDecryption: string;
|
|
22
22
|
readonly chainId: number | bigint;
|
|
23
23
|
readonly publicKey: string | Uint8Array;
|
|
@@ -29,12 +29,12 @@ export type CreateKmsDelegatedUserDecryptEip712Parameters = {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
////////////////////////////////////////////////////////////////////////////////
|
|
32
|
-
//
|
|
32
|
+
// createKmsDelegatedUserDecryptEip712V1
|
|
33
33
|
////////////////////////////////////////////////////////////////////////////////
|
|
34
34
|
|
|
35
|
-
export function
|
|
36
|
-
parameters:
|
|
37
|
-
):
|
|
35
|
+
export function createKmsDelegatedUserDecryptEip712V1(
|
|
36
|
+
parameters: CreateKmsDelegatedUserDecryptEip712V1Parameters,
|
|
37
|
+
): KmsDelegatedUserDecryptEip712V1 {
|
|
38
38
|
const {
|
|
39
39
|
verifyingContractAddressDecryption,
|
|
40
40
|
chainId,
|
|
@@ -58,15 +58,15 @@ export function createKmsDelegatedUserDecryptEip712(
|
|
|
58
58
|
|
|
59
59
|
const checksummedDelegatorAddress = addressToChecksummedAddress(delegatorAddress);
|
|
60
60
|
|
|
61
|
-
const primaryType:
|
|
61
|
+
const primaryType: KmsDelegatedUserDecryptEip712V1['primaryType'] = 'DelegatedUserDecryptRequestVerification';
|
|
62
62
|
|
|
63
63
|
const domain = createKmsEip712Domain({
|
|
64
64
|
chainId,
|
|
65
65
|
verifyingContractAddressDecryption,
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
const eip712:
|
|
69
|
-
types:
|
|
68
|
+
const eip712: KmsDelegatedUserDecryptEip712V1 = {
|
|
69
|
+
types: kmsDelegatedUserDecryptEip712V1Types,
|
|
70
70
|
primaryType,
|
|
71
71
|
domain,
|
|
72
72
|
message: {
|
|
@@ -92,21 +92,21 @@ export function createKmsDelegatedUserDecryptEip712(
|
|
|
92
92
|
|
|
93
93
|
////////////////////////////////////////////////////////////////////////////////
|
|
94
94
|
|
|
95
|
-
export function
|
|
95
|
+
export function assertIsKmsDelegatedUserDecryptEip712V1(
|
|
96
96
|
value: unknown,
|
|
97
97
|
name: string,
|
|
98
98
|
options: ErrorMetadataParams,
|
|
99
|
-
): asserts value is
|
|
100
|
-
|
|
99
|
+
): asserts value is KmsDelegatedUserDecryptEip712V1 {
|
|
100
|
+
_assertIsKmsUserDecryptEip712V1Base(
|
|
101
101
|
value,
|
|
102
102
|
name,
|
|
103
|
-
'DelegatedUserDecryptRequestVerification' satisfies
|
|
103
|
+
'DelegatedUserDecryptRequestVerification' satisfies KmsDelegatedUserDecryptEip712V1['primaryType'],
|
|
104
104
|
options,
|
|
105
105
|
);
|
|
106
106
|
|
|
107
107
|
assertRecordChecksummedAddressProperty(
|
|
108
108
|
value.message,
|
|
109
|
-
'delegatorAddress' satisfies keyof
|
|
109
|
+
'delegatorAddress' satisfies keyof KmsDelegatedUserDecryptEip712V1['message'],
|
|
110
110
|
`${name}.message`,
|
|
111
111
|
options,
|
|
112
112
|
);
|
|
@@ -16,7 +16,7 @@ export type CreateKmsPublicDecryptEip712Parameters = {
|
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
////////////////////////////////////////////////////////////////////////////////
|
|
19
|
-
//
|
|
19
|
+
// createKmsPublicDecryptEip712
|
|
20
20
|
////////////////////////////////////////////////////////////////////////////////
|
|
21
21
|
|
|
22
22
|
export function createKmsPublicDecryptEip712(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ErrorMetadataParams } from '../base/errors/ErrorBase.js';
|
|
2
|
-
import type { KmsEip712Domain,
|
|
2
|
+
import type { KmsEip712Domain, KmsUserDecryptEip712V1 } from '../types/kms.js';
|
|
3
3
|
import type { BytesHex } from '../types/primitives.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { KmsUserDecryptEip712V1Message } from '../types/kms.js';
|
|
5
5
|
import {
|
|
6
6
|
addressToChecksummedAddress,
|
|
7
7
|
assertIsAddress,
|
|
@@ -14,12 +14,13 @@ import { assertRecordNonNullableProperty } from '../base/record.js';
|
|
|
14
14
|
import { assertRecordStringProperty, ensure0x } from '../base/string.js';
|
|
15
15
|
import { assertIsUint64, assertIsUintNumber } from '../base/uint.js';
|
|
16
16
|
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
17
|
-
import {
|
|
17
|
+
import { kmsUserDecryptEip712V1Types } from './kmsUserDecryptEip712V1Types.js';
|
|
18
|
+
import { kmsDelegatedUserDecryptEip712V1Types } from './kmsDelegatedUserDecryptEip712V1Types.js';
|
|
18
19
|
import { isDeepEqual } from '../base/object.js';
|
|
19
20
|
|
|
20
21
|
////////////////////////////////////////////////////////////////////////////////
|
|
21
22
|
|
|
22
|
-
export type
|
|
23
|
+
export type CreateKmsUserDecryptEip712V1Parameters = {
|
|
23
24
|
readonly verifyingContractAddressDecryption: string;
|
|
24
25
|
readonly chainId: number | bigint;
|
|
25
26
|
readonly publicKey: string | Uint8Array;
|
|
@@ -30,10 +31,12 @@ export type CreateKmsUserDecryptEip712Parameters = {
|
|
|
30
31
|
};
|
|
31
32
|
|
|
32
33
|
////////////////////////////////////////////////////////////////////////////////
|
|
33
|
-
//
|
|
34
|
+
// createKmsUserDecryptEip712V1
|
|
34
35
|
////////////////////////////////////////////////////////////////////////////////
|
|
35
36
|
|
|
36
|
-
export function
|
|
37
|
+
export function createKmsUserDecryptEip712V1(
|
|
38
|
+
parameters: CreateKmsUserDecryptEip712V1Parameters,
|
|
39
|
+
): KmsUserDecryptEip712V1 {
|
|
37
40
|
const {
|
|
38
41
|
verifyingContractAddressDecryption,
|
|
39
42
|
chainId,
|
|
@@ -55,7 +58,7 @@ export function createKmsUserDecryptEip712(parameters: CreateKmsUserDecryptEip71
|
|
|
55
58
|
|
|
56
59
|
const checksummedContractAddresses = contractAddresses.map(addressToChecksummedAddress);
|
|
57
60
|
|
|
58
|
-
const primaryType:
|
|
61
|
+
const primaryType: KmsUserDecryptEip712V1['primaryType'] = 'UserDecryptRequestVerification';
|
|
59
62
|
|
|
60
63
|
const domain = createKmsEip712Domain({
|
|
61
64
|
chainId,
|
|
@@ -64,7 +67,7 @@ export function createKmsUserDecryptEip712(parameters: CreateKmsUserDecryptEip71
|
|
|
64
67
|
|
|
65
68
|
const eip712 = {
|
|
66
69
|
domain,
|
|
67
|
-
types:
|
|
70
|
+
types: kmsUserDecryptEip712V1Types,
|
|
68
71
|
primaryType,
|
|
69
72
|
message: {
|
|
70
73
|
publicKey: publicKeyBytesHex,
|
|
@@ -88,25 +91,25 @@ export function createKmsUserDecryptEip712(parameters: CreateKmsUserDecryptEip71
|
|
|
88
91
|
|
|
89
92
|
////////////////////////////////////////////////////////////////////////////////
|
|
90
93
|
|
|
91
|
-
export function
|
|
94
|
+
export function assertIsKmsUserDecryptEip712V1(
|
|
92
95
|
value: unknown,
|
|
93
96
|
name: string,
|
|
94
97
|
options: ErrorMetadataParams,
|
|
95
|
-
): asserts value is
|
|
96
|
-
|
|
98
|
+
): asserts value is KmsUserDecryptEip712V1 {
|
|
99
|
+
_assertIsKmsUserDecryptEip712V1Base(
|
|
97
100
|
value,
|
|
98
101
|
name,
|
|
99
|
-
'UserDecryptRequestVerification' satisfies
|
|
102
|
+
'UserDecryptRequestVerification' satisfies KmsUserDecryptEip712V1['primaryType'],
|
|
100
103
|
options,
|
|
101
104
|
);
|
|
102
105
|
}
|
|
103
106
|
|
|
104
107
|
/**
|
|
105
108
|
* Validates the common structure shared by both
|
|
106
|
-
* {@link
|
|
109
|
+
* {@link KmsUserDecryptEip712V1} and {@link KmsDelegatedUserDecryptEip712V1}:
|
|
107
110
|
* domain, types, primaryType, and base message fields.
|
|
108
111
|
*/
|
|
109
|
-
export function
|
|
112
|
+
export function _assertIsKmsUserDecryptEip712V1Base(
|
|
110
113
|
value: unknown,
|
|
111
114
|
name: string,
|
|
112
115
|
primaryType: string,
|
|
@@ -115,14 +118,20 @@ export function _assertIsKmsUserDecryptEip712Base(
|
|
|
115
118
|
readonly domain: KmsEip712Domain;
|
|
116
119
|
readonly types: object;
|
|
117
120
|
readonly primaryType: string;
|
|
118
|
-
readonly message:
|
|
121
|
+
readonly message: KmsUserDecryptEip712V1Message;
|
|
119
122
|
} {
|
|
120
123
|
assertRecordNonNullableProperty(value, 'domain', name, options);
|
|
121
124
|
assertIsKmsEip712Domain((value as Record<string, unknown>).domain, `${name}.domain`, options);
|
|
122
125
|
|
|
123
126
|
assertRecordNonNullableProperty(value, 'types', name, options);
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
|
|
128
|
+
const expectedTypes =
|
|
129
|
+
primaryType === 'DelegatedUserDecryptRequestVerification'
|
|
130
|
+
? kmsDelegatedUserDecryptEip712V1Types
|
|
131
|
+
: kmsUserDecryptEip712V1Types;
|
|
132
|
+
|
|
133
|
+
if (!isDeepEqual(value.types, expectedTypes)) {
|
|
134
|
+
throw new Error('Unexpected KmsUserDecryptEip712V1Types');
|
|
126
135
|
}
|
|
127
136
|
|
|
128
137
|
assertRecordStringProperty(value, 'primaryType', name, {
|
|
@@ -132,19 +141,19 @@ export function _assertIsKmsUserDecryptEip712Base(
|
|
|
132
141
|
|
|
133
142
|
assertRecordNonNullableProperty(value, 'message', name, options);
|
|
134
143
|
const msg = (value as Record<string, unknown>).message as Record<string, unknown>;
|
|
135
|
-
|
|
144
|
+
_assertIsKmsUserDecryptEip712V1Message(msg, `${name}.message`, options);
|
|
136
145
|
}
|
|
137
146
|
|
|
138
147
|
/**
|
|
139
148
|
* Validates the common message fields shared by both
|
|
140
|
-
* {@link
|
|
149
|
+
* {@link KmsUserDecryptEip712V1} and {@link KmsDelegatedUserDecryptEip712V1}.
|
|
141
150
|
*/
|
|
142
|
-
function
|
|
151
|
+
function _assertIsKmsUserDecryptEip712V1Message(
|
|
143
152
|
msg: unknown,
|
|
144
153
|
msgName: string,
|
|
145
154
|
options: ErrorMetadataParams,
|
|
146
|
-
): asserts msg is
|
|
147
|
-
type MessageType =
|
|
155
|
+
): asserts msg is KmsUserDecryptEip712V1Message {
|
|
156
|
+
type MessageType = KmsUserDecryptEip712V1['message'];
|
|
148
157
|
assertRecordBytesHexProperty(msg, 'publicKey' satisfies keyof MessageType, msgName, options);
|
|
149
158
|
assertRecordChecksummedAddressArrayProperty(msg, 'contractAddresses' satisfies keyof MessageType, msgName, options);
|
|
150
159
|
assertRecordStringProperty(msg, 'startTimestamp' satisfies keyof MessageType, msgName, options);
|
|
@@ -27,7 +27,7 @@ export type CreateKmsUserDecryptEip712V2Parameters = {
|
|
|
27
27
|
readonly publicKey: string | Uint8Array;
|
|
28
28
|
readonly allowedContracts: readonly string[];
|
|
29
29
|
readonly startTimestamp: number | bigint;
|
|
30
|
-
readonly durationSeconds:
|
|
30
|
+
readonly durationSeconds: bigint;
|
|
31
31
|
readonly extraData: string;
|
|
32
32
|
};
|
|
33
33
|
|
|
@@ -7,10 +7,13 @@ import type { FhevmChain } from '../types/fhevmChain.js';
|
|
|
7
7
|
import type { KmsSigncryptedShares } from '../types/kms.js';
|
|
8
8
|
import type { ChecksummedAddress, TypedValue } from '../types/primitives.js';
|
|
9
9
|
import type { RelayerDelegatedUserDecryptOptions, RelayerUserDecryptOptions } from '../types/relayer.js';
|
|
10
|
-
import type {
|
|
10
|
+
import type { SignedDecryptionPermit } from '../types/signedDecryptionPermit.js';
|
|
11
11
|
import type { TransportKeyPair } from './TransportKeyPair-p.js';
|
|
12
|
+
import { isSemverStrictlyBefore } from '../base/semver.js';
|
|
13
|
+
import { getResolvedProtocolVersion } from '../runtime/CoreFhevm-p.js';
|
|
12
14
|
import { decryptKmsSigncryptedShares } from './decryptKmsSigncryptedShares-p.js';
|
|
13
|
-
import {
|
|
15
|
+
import { fetchKmsSigncryptedSharesV1 } from './fetchKmsSigncryptedSharesV1-p.js';
|
|
16
|
+
import { fetchKmsSigncryptedSharesV2 } from './fetchKmsSigncryptedSharesV2-p.js';
|
|
14
17
|
|
|
15
18
|
////////////////////////////////////////////////////////////////////////////////
|
|
16
19
|
|
|
@@ -22,25 +25,19 @@ type Context = {
|
|
|
22
25
|
readonly options: { readonly batchRpcCalls: boolean };
|
|
23
26
|
};
|
|
24
27
|
|
|
25
|
-
type Parameters =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
readonly contractAddress: ChecksummedAddress;
|
|
39
|
-
}>;
|
|
40
|
-
readonly signedPermit: SignedDelegatedDecryptionPermit;
|
|
41
|
-
readonly transportKeyPair: TransportKeyPair;
|
|
42
|
-
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
43
|
-
};
|
|
28
|
+
type Parameters = {
|
|
29
|
+
readonly pairs: ReadonlyArray<{
|
|
30
|
+
readonly handle: Handle;
|
|
31
|
+
readonly contractAddress: ChecksummedAddress;
|
|
32
|
+
// ownerAddress is only relevant for V2 (protocol >= 0.14.0). When omitted,
|
|
33
|
+
// fetchKmsSigncryptedSharesV2 defaults to userAddress (direct-access path).
|
|
34
|
+
// Provide it explicitly only for delegated handles where ownerAddress !== userAddress.
|
|
35
|
+
readonly ownerAddress?: ChecksummedAddress | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
38
|
+
readonly transportKeyPair: TransportKeyPair;
|
|
39
|
+
readonly options?: RelayerUserDecryptOptions | RelayerDelegatedUserDecryptOptions | undefined;
|
|
40
|
+
};
|
|
44
41
|
|
|
45
42
|
export type ReturnType = readonly TypedValue[];
|
|
46
43
|
|
|
@@ -49,7 +46,22 @@ export type ReturnType = readonly TypedValue[];
|
|
|
49
46
|
export async function decryptValuesFromPairs(fhevm: Context, parameters: Parameters): Promise<ReturnType> {
|
|
50
47
|
const { transportKeyPair: transportKeyPair } = parameters;
|
|
51
48
|
|
|
52
|
-
const
|
|
49
|
+
const protocolVersion = getResolvedProtocolVersion(fhevm);
|
|
50
|
+
if (protocolVersion === undefined) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
'Unable to resolve protocol version from context, ensure proper initialization of the FhevmRuntime and FhevmChain.',
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
let kmsSigncryptedShares: KmsSigncryptedShares;
|
|
57
|
+
if (isSemverStrictlyBefore(protocolVersion.version, '0.14.0')) {
|
|
58
|
+
kmsSigncryptedShares = await fetchKmsSigncryptedSharesV1(fhevm, parameters);
|
|
59
|
+
} else {
|
|
60
|
+
kmsSigncryptedShares = await fetchKmsSigncryptedSharesV2(fhevm, {
|
|
61
|
+
...parameters,
|
|
62
|
+
options: parameters.options as RelayerUserDecryptOptions | undefined,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
53
65
|
|
|
54
66
|
// Using the `KmsSigncryptedShares` decrypt and reconstruct clear values
|
|
55
67
|
return decryptKmsSigncryptedShares(fhevm, {
|
|
@@ -5,12 +5,12 @@ import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
|
5
5
|
import type { ChecksummedAddress, Uint64BigInt } from '../types/primitives.js';
|
|
6
6
|
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
7
7
|
import type { RelayerDelegatedUserDecryptOptions, RelayerUserDecryptOptions } from '../types/relayer.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { SignedDecryptionPermit, SignedDecryptionPermitV1 } from '../types/signedDecryptionPermit.js';
|
|
9
9
|
import type { Handle } from '../types/encryptedTypes-p.js';
|
|
10
10
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
11
|
-
import { createKmsSigncryptedShares } from '
|
|
11
|
+
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
12
12
|
import { readKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
13
|
-
import { assertIsSignedDecryptionPermit
|
|
13
|
+
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
14
14
|
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
15
15
|
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
16
16
|
import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
|
|
@@ -40,23 +40,14 @@ type Context = {
|
|
|
40
40
|
readonly options: { readonly batchRpcCalls: boolean };
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
type Parameters =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
| {
|
|
53
|
-
readonly pairs: ReadonlyArray<{
|
|
54
|
-
readonly handle: Handle;
|
|
55
|
-
readonly contractAddress: ChecksummedAddress;
|
|
56
|
-
}>;
|
|
57
|
-
readonly signedPermit: SignedDelegatedDecryptionPermit;
|
|
58
|
-
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
59
|
-
};
|
|
43
|
+
type Parameters = {
|
|
44
|
+
readonly pairs: ReadonlyArray<{
|
|
45
|
+
readonly handle: Handle;
|
|
46
|
+
readonly contractAddress: ChecksummedAddress;
|
|
47
|
+
}>;
|
|
48
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
49
|
+
readonly options?: RelayerUserDecryptOptions | RelayerDelegatedUserDecryptOptions | undefined;
|
|
50
|
+
};
|
|
60
51
|
|
|
61
52
|
type ReturnType = KmsSigncryptedShares;
|
|
62
53
|
|
|
@@ -64,19 +55,36 @@ type ReturnType = KmsSigncryptedShares;
|
|
|
64
55
|
|
|
65
56
|
const MAX_USER_DECRYPT_CONTRACT_ADDRESSES = 10;
|
|
66
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Asserts that every address in {@link contractAddresses} is listed in the
|
|
60
|
+
* permit's `contractAddresses` (case-insensitive comparison).
|
|
61
|
+
*/
|
|
62
|
+
export function assertPermitV1IncludesContractAddresses(
|
|
63
|
+
permit: SignedDecryptionPermitV1,
|
|
64
|
+
contractAddresses: readonly string[],
|
|
65
|
+
): void {
|
|
66
|
+
const permitAddresses = permit.eip712.message.contractAddresses;
|
|
67
|
+
for (const address of contractAddresses) {
|
|
68
|
+
if (!permitAddresses.some((a) => a.toLowerCase() === address.toLowerCase())) {
|
|
69
|
+
throw Error(`contract address ${address} is not listed in the permit's contractAddresses`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
67
74
|
////////////////////////////////////////////////////////////////////////////////
|
|
68
|
-
//
|
|
75
|
+
// fetchKmsSigncryptedSharesV1
|
|
69
76
|
////////////////////////////////////////////////////////////////////////////////
|
|
70
77
|
|
|
71
|
-
export async function
|
|
72
|
-
const {
|
|
78
|
+
export async function fetchKmsSigncryptedSharesV1(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
79
|
+
const { options, pairs } = parameters;
|
|
80
|
+
const signedPermit = parameters.signedPermit as SignedDecryptionPermitV1;
|
|
73
81
|
|
|
74
82
|
// This helper must support base clients, where TKMS is not mandatory
|
|
75
83
|
// and tkmsVersion may not be initialized in the CoreFhevm instance yet.
|
|
76
84
|
const tkmsVersion = await resolveFhevmTkmsVersion(context);
|
|
77
85
|
|
|
78
86
|
// Check: every requested contractAddress is listed in the permit
|
|
79
|
-
|
|
87
|
+
assertPermitV1IncludesContractAddresses(
|
|
80
88
|
signedPermit,
|
|
81
89
|
pairs.map((p) => p.contractAddress),
|
|
82
90
|
);
|
|
@@ -124,7 +132,7 @@ export async function fetchKmsSigncryptedShares(context: Context, parameters: Pa
|
|
|
124
132
|
signedPermit.assertNotExpired();
|
|
125
133
|
|
|
126
134
|
// 7. Check: ACL permissions (user is signer or delegatorAddress)
|
|
127
|
-
if (signedPermit.
|
|
135
|
+
if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
|
|
128
136
|
await checkDelegation(context, {
|
|
129
137
|
aclAddress: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
|
|
130
138
|
delegate: signerAddress,
|
|
@@ -139,7 +147,7 @@ export async function fetchKmsSigncryptedShares(context: Context, parameters: Pa
|
|
|
139
147
|
});
|
|
140
148
|
}
|
|
141
149
|
|
|
142
|
-
// 8. Verify the
|
|
150
|
+
// 8. Verify the Eip712 signature
|
|
143
151
|
// Not required because a signedPermit is guaranteed to be verified.
|
|
144
152
|
|
|
145
153
|
// 9. Fetch `KmsSignersContext` on-chain (cached)
|
|
@@ -170,12 +178,9 @@ export async function fetchKmsSigncryptedShares(context: Context, parameters: Pa
|
|
|
170
178
|
);
|
|
171
179
|
|
|
172
180
|
// 10. Fetch `KmsSigncryptedShares` from the relayer
|
|
173
|
-
// Safe casts: the discriminated union on parameters guarantees
|
|
174
|
-
// that options type matches signedPermit type, but TS can't prove
|
|
175
|
-
// it after destructuring (nested discriminant limitation).
|
|
176
181
|
let shares: readonly KmsSigncryptedShare[];
|
|
177
182
|
|
|
178
|
-
if (signedPermit.
|
|
183
|
+
if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
|
|
179
184
|
shares = await context.runtime.relayer.fetchDelegatedUserDecrypt(context, {
|
|
180
185
|
payload: {
|
|
181
186
|
handleContractPairs,
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
2
|
+
import type { KmsSigncryptedShare, KmsSigncryptedSharesMetadata } from '../types/kms-p.js';
|
|
3
|
+
import type { KmsSigncryptedShares } from '../types/kms.js';
|
|
4
|
+
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
5
|
+
import type { ChecksummedAddress, Uint64BigInt } from '../types/primitives.js';
|
|
6
|
+
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
7
|
+
import type { RelayerUserDecryptOptions } from '../types/relayer.js';
|
|
8
|
+
import type { SignedDecryptionPermit, SignedDecryptionPermitV2 } from '../types/signedDecryptionPermit.js';
|
|
9
|
+
import type { Handle } from '../types/encryptedTypes-p.js';
|
|
10
|
+
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
11
|
+
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
12
|
+
import { readKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
13
|
+
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
14
|
+
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
15
|
+
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
16
|
+
import { checkDelegation } from '../host-contracts/checkDelegation.js';
|
|
17
|
+
import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
|
|
18
|
+
import { createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
19
|
+
import { resolveFhevmTkmsVersion } from '../runtime/resolveFhevmVersions-p.js';
|
|
20
|
+
|
|
21
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
22
|
+
|
|
23
|
+
type Context = {
|
|
24
|
+
readonly runtime: FhevmRuntime;
|
|
25
|
+
readonly chain: FhevmChain;
|
|
26
|
+
readonly client: NonNullable<object>;
|
|
27
|
+
readonly options: { readonly batchRpcCalls: boolean };
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
type Parameters = {
|
|
31
|
+
readonly pairs: ReadonlyArray<{
|
|
32
|
+
readonly handle: Handle;
|
|
33
|
+
readonly contractAddress: ChecksummedAddress;
|
|
34
|
+
// When omitted, defaults to userAddress (direct-access path).
|
|
35
|
+
// Provide explicitly only for delegated handles where ownerAddress !== userAddress.
|
|
36
|
+
readonly ownerAddress?: ChecksummedAddress | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
39
|
+
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
type ReturnType = KmsSigncryptedShares;
|
|
43
|
+
|
|
44
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
45
|
+
// fetchKmsSigncryptedSharesV2
|
|
46
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
47
|
+
|
|
48
|
+
export async function fetchKmsSigncryptedSharesV2(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
49
|
+
const { options, pairs } = parameters;
|
|
50
|
+
const signedPermit = parameters.signedPermit as SignedDecryptionPermitV2;
|
|
51
|
+
|
|
52
|
+
const tkmsVersion = await resolveFhevmTkmsVersion(context);
|
|
53
|
+
|
|
54
|
+
const relayerOptions = {
|
|
55
|
+
auth: context.runtime.config.auth,
|
|
56
|
+
...options,
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
assertIsSignedDecryptionPermit(signedPermit, {});
|
|
60
|
+
|
|
61
|
+
const { signerAddress, signature } = signedPermit;
|
|
62
|
+
const userAddress = signedPermit.eip712.message.userAddress;
|
|
63
|
+
|
|
64
|
+
// 1. Check: At least one handle/contract pair is required
|
|
65
|
+
if (pairs.length === 0) {
|
|
66
|
+
throw Error(
|
|
67
|
+
`encrypted value/contract pairs must not be empty, at least one encrypted value/contract pair is required`,
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Resolve ownerAddress for each pair: defaults to userAddress (direct-access path)
|
|
72
|
+
// when not explicitly provided by the caller.
|
|
73
|
+
const resolvedPairs = pairs.map((p) => ({
|
|
74
|
+
handle: p.handle,
|
|
75
|
+
contractAddress: p.contractAddress,
|
|
76
|
+
ownerAddress: p.ownerAddress ?? userAddress,
|
|
77
|
+
}));
|
|
78
|
+
|
|
79
|
+
const handles = resolvedPairs.map((p) => p.handle);
|
|
80
|
+
Object.freeze(handles);
|
|
81
|
+
|
|
82
|
+
// 2. Check: All handles belong to the host chainId
|
|
83
|
+
assertHandlesBelongToSameChainId(handles, BigInt(context.chain.id) as Uint64BigInt);
|
|
84
|
+
|
|
85
|
+
// 3. Check: 2048 bits limit
|
|
86
|
+
assertKmsDecryptionBitLimit(handles);
|
|
87
|
+
|
|
88
|
+
// 4. Check: Expiration date
|
|
89
|
+
signedPermit.assertNotExpired();
|
|
90
|
+
|
|
91
|
+
// 5. Check: ACL permissions — split pairs by direct vs delegated access
|
|
92
|
+
const directPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() === userAddress.toLowerCase());
|
|
93
|
+
const delegatedPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() !== userAddress.toLowerCase());
|
|
94
|
+
|
|
95
|
+
if (directPairs.length > 0) {
|
|
96
|
+
await checkPersistAllowed(context, {
|
|
97
|
+
aclAddress: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
|
|
98
|
+
userAddress,
|
|
99
|
+
handleContractPairs: directPairs,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (delegatedPairs.length > 0) {
|
|
104
|
+
// Group delegated pairs by delegator (ownerAddress): a single batch may contain
|
|
105
|
+
// handles from multiple delegators, each requiring a separate ACL delegation check.
|
|
106
|
+
const byDelegator = new Map<ChecksummedAddress, Array<(typeof delegatedPairs)[number]>>();
|
|
107
|
+
for (const pair of delegatedPairs) {
|
|
108
|
+
const group = byDelegator.get(pair.ownerAddress) ?? [];
|
|
109
|
+
group.push(pair);
|
|
110
|
+
byDelegator.set(pair.ownerAddress, group);
|
|
111
|
+
}
|
|
112
|
+
for (const [delegator, groupedPairs] of byDelegator) {
|
|
113
|
+
await checkDelegation(context, {
|
|
114
|
+
aclAddress: context.chain.fhevm.contracts.acl.address as ChecksummedAddress,
|
|
115
|
+
delegate: userAddress,
|
|
116
|
+
delegator,
|
|
117
|
+
handleContractPairs: groupedPairs,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// 6. Verify the Eip712 signature
|
|
123
|
+
// Not required because a signedPermit is guaranteed to be verified.
|
|
124
|
+
|
|
125
|
+
// 7. Fetch `KmsSignersContext` on-chain (cached)
|
|
126
|
+
// Reject the permit early if it was signed against a different KMS context.
|
|
127
|
+
//
|
|
128
|
+
// TODO: The current check is a strict byte-level comparison. A permit signed
|
|
129
|
+
// with the correct `kmsContextId` but a different `extraData` encoding format
|
|
130
|
+
// (e.g. a version change in the serialization scheme) will be rejected even
|
|
131
|
+
// though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
132
|
+
// instead of the raw `extraData` bytes.
|
|
133
|
+
const requestedKmsSignersContext: KmsSignersContext = await readKmsSignersContext(context, {
|
|
134
|
+
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address as ChecksummedAddress,
|
|
135
|
+
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address as ChecksummedAddress | undefined,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
assertExtraDataMatchesKmsSingersContext(
|
|
139
|
+
{
|
|
140
|
+
extraData: signedPermit.eip712.message.extraData,
|
|
141
|
+
kmsSignersContext: requestedKmsSignersContext,
|
|
142
|
+
},
|
|
143
|
+
{ subject: 'Invalid permit' },
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
// 8. Fetch `KmsSigncryptedShares` from the relayer (unified V2 route)
|
|
147
|
+
const shares: readonly KmsSigncryptedShare[] = await context.runtime.relayer.fetchUserDecrypt(context, {
|
|
148
|
+
payload: {
|
|
149
|
+
handleContractPairs: resolvedPairs,
|
|
150
|
+
kmsDecryptEip712Message: signedPermit.eip712.message,
|
|
151
|
+
kmsDecryptEip712Signature: signature,
|
|
152
|
+
},
|
|
153
|
+
options: relayerOptions,
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// 9. Build and verify the sealed validated `KmsSigncryptedShares` object
|
|
157
|
+
const sharesMetadata: KmsSigncryptedSharesMetadata = {
|
|
158
|
+
kmsSignersContext: requestedKmsSignersContext,
|
|
159
|
+
eip712Domain: createKmsEip712Domain({
|
|
160
|
+
chainId: context.chain.fhevm.gateway.id,
|
|
161
|
+
verifyingContractAddressDecryption: context.chain.fhevm.gateway.contracts.decryption.address,
|
|
162
|
+
}),
|
|
163
|
+
eip712Signature: signature,
|
|
164
|
+
eip712SignerAddress: signerAddress,
|
|
165
|
+
handles,
|
|
166
|
+
tkmsVersion,
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
// 10. The returned KmsSigncryptedShares is guaranteed to be fully verified:
|
|
170
|
+
// uniform extraData across shares, valid extraData format, and consistency
|
|
171
|
+
// with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
|
|
172
|
+
return await createKmsSigncryptedShares(context, {
|
|
173
|
+
metadata: sharesMetadata,
|
|
174
|
+
shares,
|
|
175
|
+
});
|
|
176
|
+
}
|