@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/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts}
RENAMED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KmsDelegatedUserDecryptEip712V1Types } from '../types/kms.js';
|
|
2
2
|
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
//
|
|
4
|
+
// KmsDelegatedUserDecryptEip712V1Types
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// Careful: do not change any fields in this structure
|
|
8
|
+
export const kmsDelegatedUserDecryptEip712V1Types: KmsDelegatedUserDecryptEip712V1Types = {
|
|
8
9
|
EIP712Domain: [
|
|
9
10
|
{ name: 'name', type: 'string' },
|
|
10
11
|
{ name: 'version', type: 'string' },
|
|
@@ -24,8 +25,8 @@ export const kmsDelegatedUserDecryptEip712Types: KmsDelegateUserDecryptEip712Typ
|
|
|
24
25
|
] as const,
|
|
25
26
|
} as const;
|
|
26
27
|
|
|
27
|
-
Object.freeze(
|
|
28
|
-
Object.freeze(
|
|
29
|
-
Object.freeze(
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types);
|
|
29
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types.EIP712Domain);
|
|
30
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification);
|
|
31
|
+
kmsDelegatedUserDecryptEip712V1Types.EIP712Domain.forEach(Object.freeze);
|
|
32
|
+
kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification.forEach(Object.freeze);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { KmsPublicDecryptEip712Types } from '../types/kms.js';
|
|
2
2
|
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
//
|
|
4
|
+
// KmsPublicDecryptEip712Types
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
|
|
7
7
|
export const kmsPublicDecryptEip712Types: KmsPublicDecryptEip712Types = {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { KmsUserDecryptEip712V1Types } from '../types/kms.js';
|
|
2
2
|
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
//
|
|
4
|
+
// KmsUserDecryptEip712V1Types
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// Careful: do not change any fields in this structure
|
|
8
|
+
export const kmsUserDecryptEip712V1Types: KmsUserDecryptEip712V1Types = {
|
|
8
9
|
EIP712Domain: [
|
|
9
10
|
{ name: 'name', type: 'string' },
|
|
10
11
|
{ name: 'version', type: 'string' },
|
|
@@ -23,8 +24,8 @@ export const kmsUserDecryptEip712Types: KmsUserDecryptEip712Types = {
|
|
|
23
24
|
] as const,
|
|
24
25
|
} as const;
|
|
25
26
|
|
|
26
|
-
Object.freeze(
|
|
27
|
-
Object.freeze(
|
|
28
|
-
Object.freeze(
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
Object.freeze(kmsUserDecryptEip712V1Types);
|
|
28
|
+
Object.freeze(kmsUserDecryptEip712V1Types.EIP712Domain);
|
|
29
|
+
Object.freeze(kmsUserDecryptEip712V1Types.UserDecryptRequestVerification);
|
|
30
|
+
kmsUserDecryptEip712V1Types.EIP712Domain.forEach(Object.freeze);
|
|
31
|
+
kmsUserDecryptEip712V1Types.UserDecryptRequestVerification.forEach(Object.freeze);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { KmsUserDecryptEip712V2Types } from '../types/kms.js';
|
|
2
2
|
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
//
|
|
4
|
+
// KmsUserDecryptEip712V2Types (RFC-016)
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
|
|
7
|
+
// Careful: do not change any fields in this structure
|
|
7
8
|
export const kmsUserDecryptEip712V2Types: KmsUserDecryptEip712V2Types = {
|
|
8
9
|
EIP712Domain: [
|
|
9
10
|
{ name: 'name', type: 'string' },
|
|
@@ -73,7 +73,7 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
73
73
|
// 5. Call relayer
|
|
74
74
|
const {
|
|
75
75
|
orderedAbiEncodedClearValues,
|
|
76
|
-
|
|
76
|
+
kmsPublicDecryptEip712Signatures,
|
|
77
77
|
extraData: relayerExtraData,
|
|
78
78
|
} = await context.runtime.relayer.fetchPublicDecrypt(context, {
|
|
79
79
|
payload: {
|
|
@@ -97,7 +97,7 @@ export async function publicDecrypt(context: Context, parameters: Parameters): P
|
|
|
97
97
|
originToken,
|
|
98
98
|
orderedHandles: orderedHandles,
|
|
99
99
|
orderedAbiEncodedClearValues,
|
|
100
|
-
|
|
100
|
+
kmsPublicDecryptEip712Signatures,
|
|
101
101
|
kmsSignersContext: reconciledKmsSignersContext,
|
|
102
102
|
});
|
|
103
103
|
|
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
|
-
}
|
|
@@ -19,7 +19,7 @@ type Context = {
|
|
|
19
19
|
type Parameters = {
|
|
20
20
|
readonly orderedHandles: readonly Handle[];
|
|
21
21
|
readonly orderedAbiEncodedClearValues: BytesHex;
|
|
22
|
-
readonly
|
|
22
|
+
readonly kmsPublicDecryptEip712Signatures: readonly Bytes65Hex[];
|
|
23
23
|
readonly kmsSignersContext: KmsSignersContext;
|
|
24
24
|
};
|
|
25
25
|
|
|
@@ -28,7 +28,7 @@ type Parameters = {
|
|
|
28
28
|
export async function verifyKmsPublicDecryptEip712(context: Context, parameters: Parameters): Promise<void> {
|
|
29
29
|
const { kmsSignersContext, orderedHandles: orderedEncryptedValues, orderedAbiEncodedClearValues } = parameters;
|
|
30
30
|
|
|
31
|
-
// TODO: use
|
|
31
|
+
// TODO: use createKmsPublicDecryptEip712 instead!
|
|
32
32
|
|
|
33
33
|
const extraData: BytesHex = kmsSignersContextToExtraData(kmsSignersContext);
|
|
34
34
|
|
|
@@ -66,7 +66,7 @@ export async function verifyKmsPublicDecryptEip712(context: Context, parameters:
|
|
|
66
66
|
domain,
|
|
67
67
|
types: kmsPublicDecryptEip712Types,
|
|
68
68
|
primaryType: 'PublicDecryptVerification',
|
|
69
|
-
signatures: parameters.
|
|
69
|
+
signatures: parameters.kmsPublicDecryptEip712Signatures,
|
|
70
70
|
message,
|
|
71
71
|
});
|
|
72
72
|
|
|
@@ -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;
|
|
@@ -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
|
|
|
@@ -6,95 +6,171 @@ import type {
|
|
|
6
6
|
TkmsModuleInfo,
|
|
7
7
|
} from '../types.js';
|
|
8
8
|
import type { KmsLibApi, TkmsVersion } from '../../../../wasm/tkms/KmsLibApi.js';
|
|
9
|
-
import type { KmsAssetMetadata } from '../../../../wasm/tkms/loadKmsLib.js';
|
|
10
|
-
import { isBrowserLike } from '../../../base/
|
|
9
|
+
import type { KmsAssetMetadata, KmsAssets } from '../../../../wasm/tkms/loadKmsLib.js';
|
|
10
|
+
import { isBrowserLike } from '../../../base/environment.js';
|
|
11
11
|
import { isomorphicCompileVerifiedWasm, isomorphicCompileWasmFromBase64 } from '../../../base/wasm.js';
|
|
12
12
|
import { assertIsFhevmRuntime } from '../../../runtime/CoreFhevmRuntime-p.js';
|
|
13
|
-
import { wasmBaseUrl } from '../../../../wasm/wasmBaseUrl.js';
|
|
14
13
|
import { kmsAssetsWithVersion, loadKmsLib, loadKmsWasmBase64 } from '../../../../wasm/tkms/loadKmsLib.js';
|
|
14
|
+
import { isomorphicFileUrlExists } from '../../../base/isomorphicFs.js';
|
|
15
15
|
|
|
16
16
|
////////////////////////////////////////////////////////////////////////////////
|
|
17
17
|
|
|
18
|
-
const ownerUidByVersion = new Map<TkmsVersion, string>();
|
|
19
|
-
const cachedTkmsModulePromiseByVersion = new Map<TkmsVersion, Promise<KmsLibApi>>();
|
|
20
|
-
const moduleInfoByVersion = new Map<TkmsVersion, TkmsModuleInfo>();
|
|
21
|
-
|
|
22
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
23
|
-
|
|
24
|
-
// Pure JS file (not compiled by tsc) — provides cross-platform base URL
|
|
25
|
-
// for resolving WASM paths. Uses import.meta.url in ESM, __filename in CJS.
|
|
26
|
-
|
|
27
18
|
// (Node only) Path relative to src/wasm/ where wasmBaseUrl is anchored
|
|
28
|
-
const nodeDefaultLocateFile = (file: string): URL => {
|
|
19
|
+
const nodeDefaultLocateFile = async (file: string): Promise<URL> => {
|
|
20
|
+
// Pure JS file (not compiled by tsc) — provides cross-platform base URL
|
|
21
|
+
// for resolving WASM paths. Uses import.meta.url in ESM, __filename in CJS.
|
|
22
|
+
const { wasmBaseUrl } = await import('../../../../wasm/wasmBaseUrl.js');
|
|
29
23
|
return new URL(`./tkms/${file}`, wasmBaseUrl);
|
|
30
24
|
};
|
|
31
25
|
|
|
26
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
27
|
+
|
|
28
|
+
type KmsAssetResolution = 'user' | 'node' | 'none';
|
|
29
|
+
|
|
32
30
|
type ResolvedKmsAsset = KmsAssetMetadata & {
|
|
33
31
|
readonly url: URL | undefined;
|
|
32
|
+
readonly resolution: KmsAssetResolution;
|
|
34
33
|
};
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
type ResolvedKmsAssets = {
|
|
36
|
+
readonly wasm: ResolvedKmsAsset;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
40
|
+
|
|
41
|
+
async function _resolveSingleKmsAsset(
|
|
42
|
+
asset: KmsAssetMetadata,
|
|
43
|
+
locateFile: FhevmRuntimeConfig['locateFile'],
|
|
44
|
+
): Promise<ResolvedKmsAsset> {
|
|
37
45
|
let url: URL | undefined;
|
|
46
|
+
let resolution: KmsAssetResolution = 'none';
|
|
38
47
|
|
|
39
48
|
if (locateFile !== undefined) {
|
|
40
|
-
|
|
49
|
+
const located = locateFile(asset.filename) as unknown;
|
|
50
|
+
if (located === null || located === undefined) {
|
|
51
|
+
url = undefined;
|
|
52
|
+
} else if (located instanceof URL) {
|
|
53
|
+
url = located;
|
|
54
|
+
} else {
|
|
55
|
+
throw new TypeError(
|
|
56
|
+
`Invalid locateFile result for TKMS asset '${asset.filename}': expected URL, null, or undefined.`,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
resolution = 'user';
|
|
41
60
|
} else if (!isBrowserLike()) {
|
|
42
|
-
url = nodeDefaultLocateFile(asset.localRelativePath);
|
|
61
|
+
url = await nodeDefaultLocateFile(asset.localRelativePath);
|
|
62
|
+
resolution = 'node';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return Object.freeze({ ...asset, url, resolution });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
69
|
+
|
|
70
|
+
async function _resolveKmsAssets(
|
|
71
|
+
assets: KmsAssets,
|
|
72
|
+
locateFile: FhevmRuntimeConfig['locateFile'],
|
|
73
|
+
): Promise<{ readonly wasm: ResolvedKmsAsset }> {
|
|
74
|
+
let wasm = await _resolveSingleKmsAsset(assets.wasm, locateFile);
|
|
75
|
+
|
|
76
|
+
// Only auto-derived ('node') file:// URLs need on-disk validation; the mode is
|
|
77
|
+
// shared across all assets, so checking one is enough to know the set's mode.
|
|
78
|
+
if (wasm.resolution === 'node') {
|
|
79
|
+
const allExist = await isomorphicFileUrlExists(wasm.url);
|
|
80
|
+
if (!allExist) {
|
|
81
|
+
wasm = Object.freeze({ ...wasm, url: undefined });
|
|
82
|
+
}
|
|
43
83
|
}
|
|
44
84
|
|
|
45
|
-
return
|
|
85
|
+
return { wasm };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
89
|
+
|
|
90
|
+
function _logResolvedKmsAssets(resolvedAssets: ResolvedKmsAssets, logger: FhevmRuntimeConfig['logger']): void {
|
|
91
|
+
const { wasm } = resolvedAssets;
|
|
92
|
+
if (wasm.resolution === 'user') {
|
|
93
|
+
logger?.debug?.(`resolve tkms wasm filename using 'locateFile' function: ${wasm.filename} -> url: ${wasm.url}`);
|
|
94
|
+
} else if (wasm.resolution === 'node') {
|
|
95
|
+
if (wasm.url === undefined) {
|
|
96
|
+
// Auto-derived assets were missing on disk (e.g. a bundler such as Turbopack
|
|
97
|
+
// relocated the package) and were cleared by _resolveTkmsAssets -> base64.
|
|
98
|
+
logger?.debug?.(
|
|
99
|
+
`tkms auto-derived assets not found on disk (bundler relocation?); using embedded base64 ` +
|
|
100
|
+
`(wasm: ${wasm.localRelativePath})`,
|
|
101
|
+
);
|
|
102
|
+
} else {
|
|
103
|
+
logger?.debug?.(`resolve tkms wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
104
|
+
}
|
|
105
|
+
} else {
|
|
106
|
+
// 'none': browser zero-config (no 'locateFile', not Node) -> embedded base64.
|
|
107
|
+
logger?.debug?.(`resolve tkms assets using embedded base64 (browser, no 'locateFile')`);
|
|
108
|
+
}
|
|
46
109
|
}
|
|
47
110
|
|
|
111
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
112
|
+
|
|
48
113
|
type ResolvedTkmsModuleConfig = {
|
|
49
114
|
readonly version: TkmsVersion;
|
|
50
|
-
readonly
|
|
115
|
+
readonly assets: ResolvedKmsAssets;
|
|
51
116
|
readonly logger: FhevmRuntimeConfig['logger'];
|
|
52
117
|
};
|
|
53
118
|
|
|
54
119
|
const resolvedTkmsModuleConfigByVersion = new Map<TkmsVersion, ResolvedTkmsModuleConfig>();
|
|
120
|
+
const resolvingTkmsModuleConfigPromiseByVersion = new Map<TkmsVersion, Promise<ResolvedTkmsModuleConfig>>();
|
|
55
121
|
|
|
56
122
|
/**
|
|
57
123
|
* @internal
|
|
58
|
-
* Returns the existing resolved config, or resolves it from
|
|
124
|
+
* Returns the existing resolved config for a TKMS version, or resolves it from
|
|
125
|
+
* the runtime config.
|
|
59
126
|
*/
|
|
60
|
-
function _getOrResolveTkmsModuleConfig(
|
|
61
|
-
|
|
127
|
+
async function _getOrResolveTkmsModuleConfig(
|
|
128
|
+
runtime: FhevmRuntime,
|
|
129
|
+
tkmsVersion: TkmsVersion,
|
|
130
|
+
): Promise<ResolvedTkmsModuleConfig> {
|
|
131
|
+
const resolvedTkmsModuleConfig = resolvedTkmsModuleConfigByVersion.get(tkmsVersion);
|
|
62
132
|
if (resolvedTkmsModuleConfig !== undefined) {
|
|
63
133
|
return resolvedTkmsModuleConfig;
|
|
64
134
|
}
|
|
65
135
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
136
|
+
let resolvingTkmsModuleConfigPromise = resolvingTkmsModuleConfigPromiseByVersion.get(tkmsVersion);
|
|
137
|
+
if (resolvingTkmsModuleConfigPromise === undefined) {
|
|
138
|
+
resolvingTkmsModuleConfigPromise = _resolveTkmsModuleConfig(runtime.config, tkmsVersion)
|
|
139
|
+
.then((cfg) => {
|
|
140
|
+
resolvedTkmsModuleConfigByVersion.set(tkmsVersion, cfg);
|
|
141
|
+
return cfg;
|
|
142
|
+
})
|
|
143
|
+
.catch((error: unknown) => {
|
|
144
|
+
resolvingTkmsModuleConfigPromiseByVersion.delete(tkmsVersion);
|
|
145
|
+
throw error;
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
resolvingTkmsModuleConfigPromiseByVersion.set(tkmsVersion, resolvingTkmsModuleConfigPromise);
|
|
149
|
+
}
|
|
69
150
|
|
|
70
|
-
return
|
|
151
|
+
return resolvingTkmsModuleConfigPromise;
|
|
71
152
|
}
|
|
72
153
|
|
|
73
|
-
function _resolveTkmsModuleConfig(
|
|
154
|
+
async function _resolveTkmsModuleConfig(
|
|
155
|
+
parameters: FhevmRuntimeConfig,
|
|
156
|
+
version: TkmsVersion,
|
|
157
|
+
): Promise<ResolvedTkmsModuleConfig> {
|
|
74
158
|
const { locateFile } = parameters;
|
|
75
159
|
|
|
76
160
|
const assets = kmsAssetsWithVersion(version);
|
|
77
|
-
const wasm = _resolveKmsAsset(assets.wasm, locateFile);
|
|
78
161
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
/*
|
|
83
|
-
if run in Node only, use defaultLocateFile!
|
|
84
|
-
*/
|
|
85
|
-
if (!isBrowserLike()) {
|
|
86
|
-
parameters.logger?.debug(`resolve kms wasm local path: ${wasm.localRelativePath} -> url: ${wasm.url}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
162
|
+
const resolvedAssets = await _resolveKmsAssets(assets, locateFile);
|
|
163
|
+
|
|
164
|
+
_logResolvedKmsAssets(resolvedAssets, parameters.logger);
|
|
89
165
|
|
|
90
166
|
// if wasmUrl is undefined, use base64 code instead
|
|
91
167
|
const cfg = {
|
|
92
168
|
version,
|
|
93
|
-
|
|
169
|
+
assets: resolvedAssets,
|
|
94
170
|
logger: parameters.logger,
|
|
95
171
|
};
|
|
96
172
|
|
|
97
|
-
parameters.logger?.debug(JSON.stringify(cfg, null, 2));
|
|
173
|
+
//parameters.logger?.debug?.(JSON.stringify(cfg, null, 2));
|
|
98
174
|
|
|
99
175
|
return cfg;
|
|
100
176
|
}
|
|
@@ -103,6 +179,12 @@ function _resolveTkmsModuleConfig(parameters: FhevmRuntimeConfig, version: TkmsV
|
|
|
103
179
|
// initTkmsModule
|
|
104
180
|
////////////////////////////////////////////////////////////////////////////////
|
|
105
181
|
|
|
182
|
+
const ownerUidByVersion = new Map<TkmsVersion, string>();
|
|
183
|
+
const cachedTkmsModulePromiseByVersion = new Map<TkmsVersion, Promise<KmsLibApi>>();
|
|
184
|
+
const moduleInfoByVersion = new Map<TkmsVersion, TkmsModuleInfo>();
|
|
185
|
+
|
|
186
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
187
|
+
|
|
106
188
|
type TkmsInitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
107
189
|
|
|
108
190
|
type TkmsLibInitAsyncParameters = {
|
|
@@ -121,40 +203,47 @@ export async function initTkmsModule(runtime: FhevmRuntime, parameters: InitTkms
|
|
|
121
203
|
|
|
122
204
|
ownerUidByVersion.set(parameters.tkmsVersion, runtime.uid);
|
|
123
205
|
|
|
124
|
-
// Cache the
|
|
125
|
-
//
|
|
206
|
+
// Cache the whole initialization promise before the first await. Several
|
|
207
|
+
// clients may call initTkmsModule concurrently during startup.
|
|
126
208
|
//
|
|
127
|
-
// Retry is not supported
|
|
128
|
-
// -----------------------
|
|
129
|
-
// The underlying KMS/WASM bindings
|
|
130
|
-
// keep module-level state that cannot be reset reliably after a partial
|
|
131
|
-
// initialization failure; later callers should observe the original error
|
|
132
|
-
// instead of retrying against half-initialized state.
|
|
209
|
+
// Retry is not supported
|
|
133
210
|
|
|
134
211
|
let cachedTkmsModulePromise = cachedTkmsModulePromiseByVersion.get(parameters.tkmsVersion);
|
|
135
212
|
if (cachedTkmsModulePromise === undefined) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
213
|
+
cachedTkmsModulePromise = (async () => {
|
|
214
|
+
// resolve is async
|
|
215
|
+
const cfg = await _getOrResolveTkmsModuleConfig(runtime, parameters.tkmsVersion);
|
|
216
|
+
return await _initTkmsModule(cfg);
|
|
217
|
+
})();
|
|
218
|
+
|
|
139
219
|
cachedTkmsModulePromiseByVersion.set(parameters.tkmsVersion, cachedTkmsModulePromise);
|
|
140
220
|
}
|
|
141
221
|
|
|
142
222
|
return cachedTkmsModulePromise;
|
|
143
223
|
}
|
|
144
224
|
|
|
225
|
+
async function _compileWasmModule(cfg: ResolvedTkmsModuleConfig): Promise<WebAssembly.Module> {
|
|
226
|
+
let wasmModule;
|
|
227
|
+
|
|
228
|
+
if (cfg.assets.wasm.url !== undefined) {
|
|
229
|
+
cfg.logger?.debug?.(`compile tkms verified wasm at: ${cfg.assets.wasm.url}`);
|
|
230
|
+
wasmModule = await isomorphicCompileVerifiedWasm(cfg.assets.wasm.url, cfg.assets.wasm.sha256);
|
|
231
|
+
} else {
|
|
232
|
+
const { tkmsWasmBase64, tkmsWasmBase64CompressionFormat } = await loadKmsWasmBase64(cfg.version);
|
|
233
|
+
cfg.logger?.debug?.(
|
|
234
|
+
`compile tkms wasm from embedded base64 (compression:${tkmsWasmBase64CompressionFormat ?? 'none'})`,
|
|
235
|
+
);
|
|
236
|
+
wasmModule = await isomorphicCompileWasmFromBase64(tkmsWasmBase64, tkmsWasmBase64CompressionFormat);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return wasmModule;
|
|
240
|
+
}
|
|
241
|
+
|
|
145
242
|
async function _initTkmsModule(cfg: ResolvedTkmsModuleConfig): Promise<KmsLibApi> {
|
|
146
243
|
const kmsLib = await loadKmsLib(cfg.version);
|
|
147
244
|
|
|
148
245
|
// Compile WASM module (see matrix in types.ts)
|
|
149
|
-
|
|
150
|
-
if (cfg.wasm.url !== undefined) {
|
|
151
|
-
cfg.logger?.debug(`compile verified wasm at: ${cfg.wasm.url}`);
|
|
152
|
-
wasmModule = await isomorphicCompileVerifiedWasm(cfg.wasm.url, cfg.wasm.sha256);
|
|
153
|
-
} else {
|
|
154
|
-
const { tkmsWasmBase64, tkmsWasmBase64IsGzipped } = await loadKmsWasmBase64(cfg.version);
|
|
155
|
-
cfg.logger?.debug(`compile wasm from embedded base64 (compression:${tkmsWasmBase64IsGzipped})`);
|
|
156
|
-
wasmModule = await isomorphicCompileWasmFromBase64(tkmsWasmBase64, tkmsWasmBase64IsGzipped ? 'gzip' : undefined);
|
|
157
|
-
}
|
|
246
|
+
const wasmModule = await _compileWasmModule(cfg);
|
|
158
247
|
|
|
159
248
|
const input: TkmsLibInitAsyncParameters = { module_or_path: wasmModule };
|
|
160
249
|
|
|
@@ -171,7 +260,7 @@ async function _initTkmsModule(cfg: ResolvedTkmsModuleConfig): Promise<KmsLibApi
|
|
|
171
260
|
moduleInfoByVersion.set(
|
|
172
261
|
cfg.version,
|
|
173
262
|
Object.freeze({
|
|
174
|
-
wasmUrl: cfg.wasm.url ? new URL(cfg.wasm.url) : undefined,
|
|
263
|
+
wasmUrl: cfg.assets.wasm.url ? new URL(cfg.assets.wasm.url) : undefined,
|
|
175
264
|
version: wasmInfo.version,
|
|
176
265
|
name: wasmInfo.name,
|
|
177
266
|
memory,
|