@fhevm/sdk 1.0.0-alpha.1 → 1.0.0-alpha.3
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/fetchVerifiedInputProof.js +1 -1
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
- package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/index.js +5 -5
- package/_cjs/core/actions/chain/index.js.map +1 -1
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/parseTransportKeypair.js +1 -2
- package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValue.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValues.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +12 -14
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
- package/_cjs/core/base/bytes.js +8 -0
- package/_cjs/core/base/bytes.js.map +1 -1
- package/_cjs/core/base/sign.js +50 -0
- package/_cjs/core/base/sign.js.map +1 -0
- package/_cjs/core/base/typedValue.js +17 -0
- package/_cjs/core/base/typedValue.js.map +1 -1
- package/_cjs/core/base/uint.js +29 -0
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/clients/decorators/decrypt.js +3 -3
- package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProof-p.js +17 -11
- package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js +6 -4
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_cjs/core/coprocessor/encrypt.js +1 -3
- package/_cjs/core/coprocessor/encrypt.js.map +1 -1
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +3 -4
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
- package/_cjs/core/handle/FheType.js +5 -2
- package/_cjs/core/handle/FheType.js.map +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/checkDelegation.js +74 -0
- package/_cjs/core/host-contracts/checkDelegation.js.map +1 -0
- package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +21 -0
- package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +33 -0
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
- package/_cjs/core/host-contracts/persistAllowed.js +1 -1
- package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/publicDecrypt.js +1 -4
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js +93 -10
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/mock.js +142 -12
- package/_cjs/core/modules/encrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/api-p.js +7 -2
- package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/ethereum/types-ct.js +3 -0
- package/_cjs/core/modules/ethereum/types-ct.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +68 -0
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +119 -0
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +117 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js +40 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js +34 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/utils.js +16 -0
- package/_cjs/core/modules/relayer/utils.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js +17 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextClient.js +11 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js +10 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js +10 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_cjs/ethers/cleartext/decorators/decrypt.js +9 -0
- package/_cjs/ethers/cleartext/decorators/decrypt.js.map +1 -0
- package/_cjs/ethers/cleartext/decorators/encrypt.js +9 -0
- package/_cjs/ethers/cleartext/decorators/encrypt.js.map +1 -0
- package/_cjs/ethers/cleartext/index.js +12 -0
- package/_cjs/ethers/cleartext/index.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmBaseClient.js +2 -1
- package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmClient.js +2 -2
- package/_cjs/ethers/clients/createFhevmClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmDecryptClient.js +1 -1
- package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmEncryptClient.js +1 -1
- package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -1
- package/_cjs/{viem → ethers/clients}/decorators/decrypt.js +2 -2
- package/_cjs/ethers/clients/decorators/decrypt.js.map +1 -0
- package/_cjs/ethers/{decorators → clients/decorators}/encrypt.js +2 -2
- package/_cjs/ethers/clients/decorators/encrypt.js.map +1 -0
- package/_cjs/ethers/index.js +4 -3
- package/_cjs/ethers/index.js.map +1 -1
- package/_cjs/ethers/internal/config.js +32 -0
- package/_cjs/ethers/internal/config.js.map +1 -0
- package/_cjs/ethers/internal/ethereum-ct.js +42 -0
- package/_cjs/ethers/internal/ethereum-ct.js.map +1 -0
- package/_cjs/ethers/internal/ethers-p.js +0 -32
- package/_cjs/ethers/internal/ethers-p.js.map +1 -1
- package/_cjs/ethers/internal/runtime-ct.js +22 -0
- package/_cjs/ethers/internal/runtime-ct.js.map +1 -0
- package/_cjs/ethers/internal/runtime.js +22 -0
- package/_cjs/ethers/internal/runtime.js.map +1 -0
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_cjs/ethers/runtime/initFhevmRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -1
- package/_cjs/index.js +2 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js +17 -0
- package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextClient.js +11 -0
- package/_cjs/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js +10 -0
- package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js +10 -0
- package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_cjs/viem/cleartext/decorators/decrypt.js +9 -0
- package/_cjs/viem/cleartext/decorators/decrypt.js.map +1 -0
- package/_cjs/viem/cleartext/decorators/encrypt.js +9 -0
- package/_cjs/viem/cleartext/decorators/encrypt.js.map +1 -0
- package/_cjs/viem/cleartext/index.js +12 -0
- package/_cjs/viem/cleartext/index.js.map +1 -0
- package/_cjs/viem/clients/createFhevmBaseClient.js +2 -1
- package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmClient.js +2 -2
- package/_cjs/viem/clients/createFhevmClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmDecryptClient.js +1 -1
- package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmEncryptClient.js +1 -1
- package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -1
- package/_cjs/{ethers → viem/clients}/decorators/decrypt.js +2 -2
- package/_cjs/viem/clients/decorators/decrypt.js.map +1 -0
- package/_cjs/viem/{decorators → clients/decorators}/encrypt.js +2 -2
- package/_cjs/viem/clients/decorators/encrypt.js.map +1 -0
- package/_cjs/viem/index.js +6 -5
- package/_cjs/viem/index.js.map +1 -1
- package/_cjs/viem/internal/config.js +32 -0
- package/_cjs/viem/internal/config.js.map +1 -0
- package/_cjs/viem/internal/ethereum-ct.js +42 -0
- package/_cjs/viem/internal/ethereum-ct.js.map +1 -0
- package/_cjs/viem/internal/runtime-ct.js +22 -0
- package/_cjs/viem/internal/runtime-ct.js.map +1 -0
- package/_cjs/viem/internal/runtime.js +22 -0
- package/_cjs/viem/internal/runtime.js.map +1 -0
- package/_cjs/viem/internal/viem-p.js +0 -32
- package/_cjs/viem/internal/viem-p.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -1
- package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +279 -426
- package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js.map +7 -0
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +2779 -3032
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.js.map +7 -0
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +29 -1
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js.map +7 -0
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +1793 -1985
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.js.map +7 -0
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +29 -3
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js.map +7 -0
- package/_cjs/wasm/wasmBaseUrl.js +36 -14
- package/_cjs/wasm/wasmBaseUrl.js.map +7 -0
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js +1 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
- package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/index.js +4 -4
- package/_esm/core/actions/chain/index.js.map +1 -1
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/parseTransportKeypair.js +1 -3
- package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -1
- package/_esm/core/actions/chain/serializeTransportKeypair.js +0 -1
- package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValue.js +5 -1
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValues.js +5 -1
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +5 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/index.js +2 -2
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +13 -14
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
- package/_esm/core/base/bytes.js +7 -0
- package/_esm/core/base/bytes.js.map +1 -1
- package/_esm/core/base/sign.js +58 -0
- package/_esm/core/base/sign.js.map +1 -0
- package/_esm/core/base/typedValue.js +16 -0
- package/_esm/core/base/typedValue.js.map +1 -1
- package/_esm/core/base/uint.js +30 -0
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/clients/decorators/decrypt.js +3 -3
- package/_esm/core/clients/decorators/decrypt.js.map +1 -1
- package/_esm/core/coprocessor/InputProof-p.js +2 -2
- package/_esm/core/coprocessor/InputProof-p.js.map +1 -1
- package/_esm/core/coprocessor/ZkProof-p.js +19 -12
- package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_esm/core/coprocessor/ZkProofBuilder-p.js +7 -5
- package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_esm/core/coprocessor/encrypt.js +1 -3
- package/_esm/core/coprocessor/encrypt.js.map +1 -1
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js +3 -4
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
- package/_esm/core/handle/FheType.js +4 -2
- package/_esm/core/handle/FheType.js.map +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_esm/core/host-contracts/checkDelegation.js +81 -0
- package/_esm/core/host-contracts/checkDelegation.js.map +1 -0
- package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +19 -0
- package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +32 -0
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
- package/_esm/core/host-contracts/persistAllowed.js +1 -1
- package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
- package/_esm/core/kms/publicDecrypt.js +1 -4
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js +96 -10
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/mock.js +151 -12
- package/_esm/core/modules/encrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/module/api-p.js +7 -2
- package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/ethereum/types-ct.js +2 -0
- package/_esm/core/modules/ethereum/types-ct.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +75 -0
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +121 -0
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +119 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/mock.js +39 -0
- package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/signers.js +34 -0
- package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/utils.js +13 -0
- package/_esm/core/modules/relayer/utils.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js +15 -0
- package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextClient.js +9 -0
- package/_esm/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js +8 -0
- package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js +8 -0
- package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_esm/ethers/cleartext/decorators/decrypt.js +7 -0
- package/_esm/ethers/cleartext/decorators/decrypt.js.map +1 -0
- package/_esm/ethers/cleartext/decorators/encrypt.js +7 -0
- package/_esm/ethers/cleartext/decorators/encrypt.js.map +1 -0
- package/_esm/ethers/cleartext/index.js +5 -0
- package/_esm/ethers/cleartext/index.js.map +1 -0
- package/_esm/ethers/clients/createFhevmBaseClient.js +2 -1
- package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmClient.js +2 -2
- package/_esm/ethers/clients/createFhevmClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmDecryptClient.js +1 -1
- package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmEncryptClient.js +1 -1
- package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -1
- package/_esm/ethers/clients/decorators/decrypt.js +7 -0
- package/_esm/ethers/clients/decorators/decrypt.js.map +1 -0
- package/_esm/ethers/clients/decorators/encrypt.js +7 -0
- package/_esm/ethers/clients/decorators/encrypt.js.map +1 -0
- package/_esm/ethers/index.js +1 -1
- package/_esm/ethers/index.js.map +1 -1
- package/_esm/ethers/internal/config.js +38 -0
- package/_esm/ethers/internal/config.js.map +1 -0
- package/_esm/ethers/internal/ethereum-ct.js +39 -0
- package/_esm/ethers/internal/ethereum-ct.js.map +1 -0
- package/_esm/ethers/internal/ethers-p.js +0 -43
- package/_esm/ethers/internal/ethers-p.js.map +1 -1
- package/_esm/ethers/internal/runtime-ct.js +21 -0
- package/_esm/ethers/internal/runtime-ct.js.map +1 -0
- package/_esm/ethers/internal/runtime.js +21 -0
- package/_esm/ethers/internal/runtime.js.map +1 -0
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_esm/ethers/runtime/initFhevmRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -1
- package/_esm/index.js +2 -0
- package/_esm/index.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js +15 -0
- package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextClient.js +9 -0
- package/_esm/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js +8 -0
- package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js +8 -0
- package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_esm/viem/cleartext/decorators/decrypt.js +7 -0
- package/_esm/viem/cleartext/decorators/decrypt.js.map +1 -0
- package/_esm/viem/cleartext/decorators/encrypt.js +7 -0
- package/_esm/viem/cleartext/decorators/encrypt.js.map +1 -0
- package/_esm/viem/cleartext/index.js +5 -0
- package/_esm/viem/cleartext/index.js.map +1 -0
- package/_esm/viem/clients/createFhevmBaseClient.js +2 -1
- package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmClient.js +2 -2
- package/_esm/viem/clients/createFhevmClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmDecryptClient.js +1 -1
- package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmEncryptClient.js +1 -2
- package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -1
- package/_esm/viem/clients/decorators/decrypt.js +7 -0
- package/_esm/viem/clients/decorators/decrypt.js.map +1 -0
- package/_esm/viem/clients/decorators/encrypt.js +7 -0
- package/_esm/viem/clients/decorators/encrypt.js.map +1 -0
- package/_esm/viem/index.js +2 -2
- package/_esm/viem/index.js.map +1 -1
- package/_esm/viem/internal/config.js +38 -0
- package/_esm/viem/internal/config.js.map +1 -0
- package/_esm/viem/internal/ethereum-ct.js +39 -0
- package/_esm/viem/internal/ethereum-ct.js.map +1 -0
- package/_esm/viem/internal/runtime-ct.js +21 -0
- package/_esm/viem/internal/runtime-ct.js.map +1 -0
- package/_esm/viem/internal/runtime.js +21 -0
- package/_esm/viem/internal/runtime.js.map +1 -0
- package/_esm/viem/internal/viem-p.js +0 -43
- package/_esm/viem/internal/viem-p.js.map +1 -1
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_esm/viem/runtime/initFhevmRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -1
- package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/index.d.ts +4 -4
- package/_types/core/actions/chain/index.d.ts.map +1 -1
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +7 -2
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/parseTransportKeypair.d.ts +2 -2
- package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +1 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValue.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValues.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/index.d.ts +3 -3
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +5 -2
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -1
- package/_types/core/base/bytes.d.ts +1 -0
- package/_types/core/base/bytes.d.ts.map +1 -1
- package/_types/core/base/sign.d.ts +10 -0
- package/_types/core/base/sign.d.ts.map +1 -0
- package/_types/core/base/typedValue.d.ts +2 -1
- package/_types/core/base/typedValue.d.ts.map +1 -1
- package/_types/core/base/uint.d.ts +3 -0
- package/_types/core/base/uint.d.ts.map +1 -1
- package/_types/core/clients/decorators/decrypt.d.ts +6 -15
- package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProof-p.d.ts +2 -2
- package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +2 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
- package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +0 -2
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -1
- package/_types/core/handle/FheType.d.ts +1 -0
- package/_types/core/handle/FheType.d.ts.map +1 -1
- package/_types/core/host-contracts/checkDelegation.d.ts +22 -0
- package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -0
- package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts +19 -0
- package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +20 -0
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -0
- package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -1
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/decrypt/mock.d.ts +5 -5
- package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/encrypt/mock.d.ts +6 -6
- package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/types.d.ts +6 -2
- package/_types/core/modules/encrypt/types.d.ts.map +1 -1
- package/_types/core/modules/ethereum/types-ct.d.ts +46 -0
- package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/mock.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts +7 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/types.d.ts +14 -5
- package/_types/core/modules/relayer/types.d.ts.map +1 -1
- package/_types/core/modules/relayer/utils.d.ts +4 -0
- package/_types/core/modules/relayer/utils.d.ts.map +1 -0
- package/_types/core/types/index.d.ts +1 -0
- package/_types/core/types/index.d.ts.map +1 -1
- package/_types/core/types/kms.d.ts +21 -0
- package/_types/core/types/kms.d.ts.map +1 -1
- package/_types/core/types/zkProof-p.d.ts +2 -1
- package/_types/core/types/zkProof-p.d.ts.map +1 -1
- package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/decorators/decrypt.d.ts +6 -0
- package/_types/ethers/cleartext/decorators/decrypt.d.ts.map +1 -0
- package/_types/ethers/cleartext/decorators/encrypt.d.ts +6 -0
- package/_types/ethers/cleartext/decorators/encrypt.d.ts.map +1 -0
- package/_types/ethers/cleartext/index.d.ts +5 -0
- package/_types/ethers/cleartext/index.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -1
- package/_types/ethers/clients/decorators/decrypt.d.ts +6 -0
- package/_types/ethers/clients/decorators/decrypt.d.ts.map +1 -0
- package/_types/ethers/clients/decorators/encrypt.d.ts +6 -0
- package/_types/ethers/clients/decorators/encrypt.d.ts.map +1 -0
- package/_types/ethers/index.d.ts +1 -1
- package/_types/ethers/index.d.ts.map +1 -1
- package/_types/ethers/internal/config.d.ts +15 -0
- package/_types/ethers/internal/config.d.ts.map +1 -0
- package/_types/ethers/internal/ethereum-ct.d.ts +3 -0
- package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -0
- package/_types/ethers/internal/ethers-p.d.ts +1 -13
- package/_types/ethers/internal/ethers-p.d.ts.map +1 -1
- package/_types/ethers/internal/runtime-ct.d.ts +3 -0
- package/_types/ethers/internal/runtime-ct.d.ts.map +1 -0
- package/_types/ethers/internal/runtime.d.ts +3 -0
- package/_types/ethers/internal/runtime.d.ts.map +1 -0
- package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
- package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
- package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -1
- package/_types/index.d.ts +2 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
- package/_types/viem/cleartext/decorators/decrypt.d.ts +6 -0
- package/_types/viem/cleartext/decorators/decrypt.d.ts.map +1 -0
- package/_types/viem/cleartext/decorators/encrypt.d.ts +6 -0
- package/_types/viem/cleartext/decorators/encrypt.d.ts.map +1 -0
- package/_types/viem/cleartext/index.d.ts +5 -0
- package/_types/viem/cleartext/index.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -1
- package/_types/viem/clients/decorators/decrypt.d.ts +6 -0
- package/_types/viem/clients/decorators/decrypt.d.ts.map +1 -0
- package/_types/viem/clients/decorators/encrypt.d.ts +6 -0
- package/_types/viem/clients/decorators/encrypt.d.ts.map +1 -0
- package/_types/viem/index.d.ts +2 -2
- package/_types/viem/index.d.ts.map +1 -1
- package/_types/viem/internal/config.d.ts +15 -0
- package/_types/viem/internal/config.d.ts.map +1 -0
- package/_types/viem/internal/ethereum-ct.d.ts +3 -0
- package/_types/viem/internal/ethereum-ct.d.ts.map +1 -0
- package/_types/viem/internal/runtime-ct.d.ts +3 -0
- package/_types/viem/internal/runtime-ct.d.ts.map +1 -0
- package/_types/viem/internal/runtime.d.ts +3 -0
- package/_types/viem/internal/runtime.d.ts.map +1 -0
- package/_types/viem/internal/viem-p.d.ts +1 -13
- package/_types/viem/internal/viem-p.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/fetchVerifiedInputProof.ts +1 -1
- package/core/actions/base/signDecryptionPermit.ts +2 -0
- package/core/actions/chain/index.ts +11 -11
- package/core/actions/chain/parseSignedDecryptionPermit.ts +9 -6
- package/core/actions/chain/parseTransportKeypair.ts +3 -7
- package/core/actions/chain/serializeTransportKeypair.ts +0 -2
- package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +1 -1
- package/core/actions/decrypt/decryptValue.ts +9 -28
- package/core/actions/decrypt/decryptValues.ts +9 -28
- package/core/actions/decrypt/decryptValuesFromPairs.ts +9 -28
- package/core/actions/decrypt/index.ts +3 -14
- package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +22 -18
- package/core/base/bytes.ts +8 -0
- package/core/base/sign.ts +75 -0
- package/core/base/typedValue.ts +18 -0
- package/core/base/uint.ts +32 -0
- package/core/clients/decorators/decrypt.ts +12 -28
- package/core/coprocessor/InputProof-p.ts +2 -2
- package/core/coprocessor/ZkProof-p.ts +21 -9
- package/core/coprocessor/ZkProofBuilder-p.ts +15 -8
- package/core/coprocessor/encrypt.ts +1 -3
- package/core/coprocessor/fetchVerifiedInputProof.ts +7 -13
- package/core/handle/FheType.ts +5 -2
- package/core/host-contracts/KmsSignersContext-p.ts +1 -1
- package/core/host-contracts/checkDelegation.ts +114 -0
- package/core/host-contracts/getUserDecryptionDelegationExpirationDate.ts +45 -0
- package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +77 -0
- package/core/host-contracts/persistAllowed.ts +1 -1
- package/core/kms/fetchKmsSignedcryptedShares-p.ts +31 -29
- package/core/kms/publicDecrypt.ts +6 -12
- package/core/modules/decrypt/mock.ts +126 -13
- package/core/modules/encrypt/mock.ts +206 -12
- package/core/modules/encrypt/module/api-p.ts +7 -2
- package/core/modules/encrypt/types.ts +6 -2
- package/core/modules/ethereum/types-ct.ts +89 -0
- package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +94 -0
- package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +147 -0
- package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +67 -0
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +141 -0
- package/core/modules/relayer/cleartext/mock.ts +54 -0
- package/core/modules/relayer/cleartext/signers.ts +52 -0
- package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +4 -4
- package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +3 -3
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +3 -3
- package/core/modules/relayer/module/fetchUserDecrypt.ts +3 -3
- package/core/modules/relayer/types.ts +13 -5
- package/core/modules/relayer/utils.ts +17 -0
- package/core/types/index.ts +1 -0
- package/core/types/kms.ts +19 -0
- package/core/types/zkProof-p.ts +3 -1
- package/ethers/cleartext/createFhevmCleartextBaseClient.ts +25 -0
- package/ethers/cleartext/createFhevmCleartextClient.ts +20 -0
- package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +18 -0
- package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +19 -0
- package/ethers/cleartext/decorators/decrypt.ts +12 -0
- package/ethers/cleartext/decorators/encrypt.ts +12 -0
- package/ethers/cleartext/index.ts +4 -0
- package/ethers/cleartext/package.json +6 -0
- package/ethers/clients/createFhevmBaseClient.ts +2 -1
- package/ethers/clients/createFhevmClient.ts +2 -2
- package/ethers/clients/createFhevmDecryptClient.ts +1 -1
- package/ethers/clients/createFhevmEncryptClient.ts +1 -1
- package/ethers/clients/decorators/decrypt.ts +12 -0
- package/ethers/clients/decorators/encrypt.ts +12 -0
- package/ethers/index.ts +1 -1
- package/ethers/internal/config.ts +50 -0
- package/ethers/internal/ethereum-ct.ts +61 -0
- package/ethers/internal/ethers-p.ts +1 -56
- package/ethers/internal/runtime-ct.ts +28 -0
- package/ethers/internal/runtime.ts +28 -0
- package/ethers/runtime/initFhevmDecryptRuntime.ts +2 -1
- package/ethers/runtime/initFhevmEncryptRuntime.ts +2 -1
- package/ethers/runtime/initFhevmRuntime.ts +2 -1
- package/index.ts +0 -0
- package/package.json +14 -2
- package/viem/cleartext/createFhevmCleartextBaseClient.ts +28 -0
- package/viem/cleartext/createFhevmCleartextClient.ts +20 -0
- package/viem/cleartext/createFhevmCleartextDecryptClient.ts +21 -0
- package/viem/cleartext/createFhevmCleartextEncryptClient.ts +22 -0
- package/viem/cleartext/decorators/decrypt.ts +12 -0
- package/viem/cleartext/decorators/encrypt.ts +12 -0
- package/viem/cleartext/index.ts +4 -0
- package/viem/cleartext/package.json +6 -0
- package/viem/clients/createFhevmBaseClient.ts +2 -1
- package/viem/clients/createFhevmClient.ts +2 -2
- package/viem/clients/createFhevmDecryptClient.ts +1 -1
- package/viem/clients/createFhevmEncryptClient.ts +1 -3
- package/viem/clients/decorators/decrypt.ts +12 -0
- package/viem/clients/decorators/encrypt.ts +12 -0
- package/viem/index.ts +2 -2
- package/viem/internal/config.ts +50 -0
- package/viem/internal/ethereum-ct.ts +61 -0
- package/viem/internal/runtime-ct.ts +28 -0
- package/viem/internal/runtime.ts +28 -0
- package/viem/internal/viem-p.ts +1 -56
- package/viem/runtime/initFhevmDecryptRuntime.ts +2 -1
- package/viem/runtime/initFhevmEncryptRuntime.ts +2 -1
- package/viem/runtime/initFhevmRuntime.ts +2 -1
- package/_cjs/core/modules/relayer/mock.js +0 -29
- package/_cjs/core/modules/relayer/mock.js.map +0 -1
- package/_cjs/ethers/decorators/decrypt.js.map +0 -1
- package/_cjs/ethers/decorators/encrypt.js.map +0 -1
- package/_cjs/viem/decorators/decrypt.js.map +0 -1
- package/_cjs/viem/decorators/encrypt.js.map +0 -1
- package/_esm/core/modules/relayer/mock.js +0 -28
- package/_esm/core/modules/relayer/mock.js.map +0 -1
- package/_esm/ethers/decorators/decrypt.js +0 -7
- package/_esm/ethers/decorators/decrypt.js.map +0 -1
- package/_esm/ethers/decorators/encrypt.js +0 -7
- package/_esm/ethers/decorators/encrypt.js.map +0 -1
- package/_esm/viem/decorators/decrypt.js +0 -7
- package/_esm/viem/decorators/decrypt.js.map +0 -1
- package/_esm/viem/decorators/encrypt.js +0 -7
- package/_esm/viem/decorators/encrypt.js.map +0 -1
- package/_types/core/modules/relayer/mock.d.ts +0 -3
- package/_types/core/modules/relayer/mock.d.ts.map +0 -1
- package/_types/ethers/decorators/decrypt.d.ts +0 -6
- package/_types/ethers/decorators/decrypt.d.ts.map +0 -1
- package/_types/ethers/decorators/encrypt.d.ts +0 -6
- package/_types/ethers/decorators/encrypt.d.ts.map +0 -1
- package/_types/viem/decorators/decrypt.d.ts +0 -6
- package/_types/viem/decorators/decrypt.d.ts.map +0 -1
- package/_types/viem/decorators/encrypt.d.ts +0 -6
- package/_types/viem/decorators/encrypt.d.ts.map +0 -1
- package/core/modules/relayer/mock.ts +0 -47
- package/ethers/decorators/decrypt.ts +0 -12
- package/ethers/decorators/encrypt.ts +0 -12
- package/viem/decorators/decrypt.ts +0 -12
- package/viem/decorators/encrypt.ts +0 -12
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../wasm/tfhe/startWorkers.v1.5.3.js"],
|
|
4
|
+
"sourcesContent": ["/**\r\n * Detect browser-like environment by checking for global event listener APIs.\r\n */\r\nfunction __isBrowserLike() {\r\n return (\r\n typeof addEventListener === \"function\" &&\r\n typeof removeEventListener === \"function\"\r\n );\r\n}\r\n\r\n/**\r\n * Create a Worker from the given URL, handling browser and Node.js differences.\r\n * In Node.js, data: URLs are decoded and executed via eval mode since\r\n * `node:worker_threads` does not support them natively.\r\n * @param {string | URL} url - Script URL for the worker (supports data: URLs in Node.js).\r\n * @returns {Promise<Worker>}\r\n */\r\nasync function __newIsomorphicWorker(url) {\r\n // Browser\r\n if (__isBrowserLike()) {\r\n //var Worker: new (scriptURL: string | URL, options?: WorkerOptions | undefined) => Worker\r\n return new Worker(url, {\r\n type: \"module\",\r\n name: \"wasm_bindgen_worker\",\r\n });\r\n }\r\n\r\n // Node.js\r\n const nodeModuleName = \"worker_threads\";\r\n const nodeModuleId = `node:${nodeModuleName}`;\r\n const { Worker: NodeWorker } = await import(/* @vite-ignore */ nodeModuleId);\r\n\r\n // Node's Worker doesn't support data: or blob: URLs.\r\n // For data: URLs, extract the code and use eval mode.\r\n if (typeof url === \"string\" && url.startsWith(\"data:\")) {\r\n const base64 = url.split(\",\")[1];\r\n const code = Buffer.from(base64, \"base64\").toString(\"utf-8\");\r\n return new NodeWorker(code, { eval: true });\r\n }\r\n\r\n return new NodeWorker(url);\r\n}\r\n\r\n/**\r\n * Create a Worker from a base64-encoded JavaScript source string.\r\n * In the browser, decodes to a Blob URL; in Node.js, decodes and runs via eval mode.\r\n * @param {string} jsCodeBase64 - Base64-encoded JavaScript source code.\r\n * @returns {Promise<{ worker: Worker, blobUrl: string | undefined }>}\r\n */\r\nasync function __newWorkerFromJsCodeBase64(jsCodeBase64) {\r\n // Browser\r\n if (__isBrowserLike()) {\r\n const blob = new Blob([atob(jsCodeBase64)], {\r\n type: \"application/javascript\",\r\n });\r\n\r\n const blobUrl = URL.createObjectURL(blob);\r\n\r\n try {\r\n const worker = new Worker(blobUrl, {\r\n type: \"module\",\r\n name: \"wasm_bindgen_worker\",\r\n });\r\n\r\n // Caller is responsible for revoking blobUrl after the worker is ready.\r\n return { worker, blobUrl };\r\n } catch (e) {\r\n URL.revokeObjectURL(blobUrl);\r\n throw e;\r\n }\r\n }\r\n\r\n // Node.js\r\n const nodeModuleName = \"worker_threads\";\r\n const nodeModuleId = `node:${nodeModuleName}`;\r\n const { Worker: NodeWorker } = await import(/* @vite-ignore */ nodeModuleId);\r\n\r\n const code = Buffer.from(jsCodeBase64, \"base64\").toString(\"utf-8\");\r\n\r\n return { worker: new NodeWorker(code, { eval: true }), blobUrl: undefined };\r\n}\r\n\r\n/**\r\n * Wait for a message of the given type from a Worker.\r\n * Handles both Node.js EventEmitter (`on`/`off`) and browser DOM event APIs.\r\n * Rejects on worker errors or non-zero exit codes (Node.js).\r\n * @param {Worker} target - The worker to listen on.\r\n * @param {string} type - The `type` field of the expected message.\r\n * @returns {Promise<object>} Resolves with the matching message data.\r\n */\r\nfunction __waitForMsgType(target, type) {\r\n return new Promise((resolve, reject) => {\r\n function cleanup() {\r\n if (typeof target.removeEventListener === \"function\") {\r\n target.removeEventListener(\"message\", onBrowserMsg);\r\n target.removeEventListener(\"error\", onBrowserError);\r\n } else {\r\n target.off(\"message\", onNodeMsg);\r\n target.off(\"error\", onNodeError);\r\n target.off(\"exit\", onNodeExit);\r\n }\r\n }\r\n\r\n // Browser handlers\r\n function onBrowserMsg({ data }) {\r\n if (data?.type !== type) return;\r\n cleanup();\r\n resolve(data);\r\n }\r\n function onBrowserError(e) {\r\n cleanup();\r\n reject(e.error || new Error(\"Worker error\"));\r\n }\r\n\r\n // Node handlers\r\n function onNodeMsg(data) {\r\n if (data?.type !== type) return;\r\n cleanup();\r\n resolve(data);\r\n }\r\n function onNodeError(err) {\r\n cleanup();\r\n reject(err);\r\n }\r\n function onNodeExit(code) {\r\n cleanup();\r\n reject(new Error(`Worker exited with code ${code}`));\r\n }\r\n\r\n if (typeof target.removeEventListener === \"function\") {\r\n // Browser: DOM events\r\n target.addEventListener(\"message\", onBrowserMsg);\r\n target.addEventListener(\"error\", onBrowserError);\r\n } else {\r\n // Node: EventEmitter\r\n target.on(\"message\", onNodeMsg);\r\n target.on(\"error\", onNodeError);\r\n target.on(\"exit\", onNodeExit);\r\n }\r\n });\r\n}\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n//\r\n// Module variables\r\n//\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\n/** @type {Promise<PromiseSettledResult<void>[]> | undefined} In-flight termination promise, if any. */\r\nlet _terminating;\r\n\r\n/** @type {boolean} Whether {@link setWorkerUrlConfig} has already been called. */\r\nlet _configSet = false;\r\n\r\n/** @type {URL | undefined} Custom URL for the worker script, if provided. */\r\nlet _workerUrl = undefined;\r\n\r\n/** @type {{ debug: Function, error: Function } | undefined} Optional logger. */\r\nlet _logger = undefined;\r\n\r\n/** @type {boolean} Whether {@link startWorkers} has already been called. */\r\nlet _started = false;\r\n\r\n// Note: this is never used, but necessary to prevent a bug in Firefox\r\n// (https://bugzilla.mozilla.org/show_bug.cgi?id=1702191) where it collects\r\n// Web Workers that have a shared WebAssembly memory with the main thread,\r\n// but are not explicitly rooted via a `Worker` instance.\r\n//\r\n// By storing them in a variable, we can keep `Worker` objects around and\r\n// prevent them from getting GC-d.\r\n/** @type {Worker[] | undefined} */\r\nlet _workers;\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n//\r\n// Exported functions\r\n//\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\n/**\r\n * Return the current running TFHE worker threads.\r\n * @returns {Worker[] | undefined}\r\n */\r\nfunction getTfheWorkers() {\r\n return _workers;\r\n}\r\n\r\n/**\r\n * Configure the worker script URL and logger. Can only be called once.\r\n * @param {object} [config]\r\n * @param {URL | undefined} [config.workerUrl] - URL to the worker script. Falls back to embedded base64 if omitted.\r\n * @param {{ debug: Function, error: Function } | undefined} [config.logger] - Optional logger instance.\r\n * @throws {Error} If called more than once.\r\n * @throws {TypeError} If `workerUrl` is not a `URL` instance.\r\n */\r\nfunction setWorkerUrlConfig({\r\n workerUrl = undefined,\r\n logger = undefined,\r\n} = {}) {\r\n if (_configSet) {\r\n throw new Error(\"Cannot set worker url (already set)\");\r\n }\r\n\r\n if (workerUrl !== undefined) {\r\n if (!(workerUrl instanceof URL)) {\r\n throw new TypeError(\"workerUrl must be a URL\");\r\n }\r\n _workerUrl = workerUrl;\r\n }\r\n\r\n _logger = logger;\r\n\r\n _configSet = true;\r\n}\r\n\r\n/**\r\n * Create a Worker from the embedded base64-encoded worker script.\r\n * Used as the last-resort fallback when no `workerUrl` is available\r\n * or when direct/blob URL creation fails.\r\n * - copy/paste base64 from `./tfhe-worker.v1.5.3.inline.js`\r\n * - run `./inline-worker.build.mjs` to generate\r\n * @returns {Promise<{ worker: Worker, blobUrl: string | undefined }>}\r\n */\r\nasync function __createWorkerFromBase64() {\r\n // SHA-256: caa32a0babf2c76b7097e67b1cbae06256c3db638e31c02348c9c37988cc5f2e\r\n const workerBase64 =\r\n \"ZnVuY3Rpb24gX19faXNCcm93c2VyTGlrZSgpe3JldHVybiB0eXBlb2YgYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiYmdHlwZW9mIHJlbW92ZUV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiJ9YXN5bmMgZnVuY3Rpb24gX19fZ2V0VGFyZ2V0KCl7aWYoX19faXNCcm93c2VyTGlrZSgpKXJldHVybiBzZWxmO2NvbnN0IF89Im5vZGU6d29ya2VyX3RocmVhZHMiLHtwYXJlbnRQb3J0OmV9PWF3YWl0IGltcG9ydChfKTtyZXR1cm4gZX1mdW5jdGlvbiBfX193YWl0Rm9yTXNnVHlwZSh0LF8pe3JldHVybiBuZXcgUHJvbWlzZShlPT57dHlwZW9mIHQub249PSJmdW5jdGlvbiI/dC5vbigibWVzc2FnZSIsZnVuY3Rpb24gbihyKXtyPy50eXBlPT09XyYmKHQub2ZmKCJtZXNzYWdlIixuKSxlKHIpKX0pOnQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24gbih7ZGF0YTpyfSl7cj8udHlwZT09PV8mJih0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4pLGUocikpfSl9KX1fX19nZXRUYXJnZXQoKS50aGVuKHQ9Pl9fX3dhaXRGb3JNc2dUeXBlKHQsIndhc21fYmluZGdlbl93b3JrZXJfaW5pdCIpLnRoZW4oYXN5bmMoe2luaXQ6XyxyZWNlaXZlcjplfSk9Pntjb25zdCBuPWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdGZoZX0pO2F3YWl0IG4uZGVmYXVsdChfKSx0LnBvc3RNZXNzYWdlKHt0eXBlOiJ3YXNtX2JpbmRnZW5fd29ya2VyX3JlYWR5In0pLG4ud2JnX3JheW9uX3N0YXJ0X3dvcmtlcihlKX0pKTtmdW5jdGlvbiB3YmdfcmF5b25fc3RhcnRfd29ya2VyKHQpe3dhc20ud2JnX3JheW9uX3N0YXJ0X3dvcmtlcih0KX1mdW5jdGlvbiBkZWJ1Z1N0cmluZyh0KXtjb25zdCBfPXR5cGVvZiB0O2lmKF89PSJudW1iZXIifHxfPT0iYm9vbGVhbiJ8fHQ9PW51bGwpcmV0dXJuYCR7dH1gO2lmKF89PSJzdHJpbmciKXJldHVybmAiJHt0fSJgO2lmKF89PSJzeW1ib2wiKXtjb25zdCByPXQuZGVzY3JpcHRpb247cmV0dXJuIHI9PW51bGw/IlN5bWJvbCI6YFN5bWJvbCgke3J9KWB9aWYoXz09ImZ1bmN0aW9uIil7Y29uc3Qgcj10Lm5hbWU7cmV0dXJuIHR5cGVvZiByPT0ic3RyaW5nIiYmci5sZW5ndGg+MD9gRnVuY3Rpb24oJHtyfSlgOiJGdW5jdGlvbiJ9aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcj10Lmxlbmd0aDtsZXQgbz0iWyI7cj4wJiYobys9ZGVidWdTdHJpbmcodFswXSkpO2ZvcihsZXQgaT0xO2k8cjtpKyspbys9IiwgIitkZWJ1Z1N0cmluZyh0W2ldKTtyZXR1cm4gbys9Il0iLG99Y29uc3QgZT0vXFtvYmplY3QgKFteXF1dKylcXS8uZXhlYyh0b1N0cmluZy5jYWxsKHQpKTtsZXQgbjtpZihlJiZlLmxlbmd0aD4xKW49ZVsxXTtlbHNlIHJldHVybiB0b1N0cmluZy5jYWxsKHQpO2lmKG49PSJPYmplY3QiKXRyeXtyZXR1cm4iT2JqZWN0KCIrSlNPTi5zdHJpbmdpZnkodCkrIikifWNhdGNoe3JldHVybiJPYmplY3QifXJldHVybiB0IGluc3RhbmNlb2YgRXJyb3I/YCR7dC5uYW1lfTogJHt0Lm1lc3NhZ2V9CiR7dC5zdGFja31gOm59ZnVuY3Rpb24gZ2V0U3RyaW5nRnJvbVdhc20wKHQsXyl7cmV0dXJuIHQ9dD4+PjAsZGVjb2RlVGV4dCh0LF8pfWxldCBjYWNoZWRUZXh0RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXI8InUiP25ldyBUZXh0RGVjb2RlcigidXRmLTgiLHtpZ25vcmVCT006ITAsZmF0YWw6ITB9KTp2b2lkIDA7Y2FjaGVkVGV4dERlY29kZXImJmNhY2hlZFRleHREZWNvZGVyLmRlY29kZSgpO2NvbnN0IE1BWF9TQUZBUklfREVDT0RFX0JZVEVTPTIxNDY0MzUwNzI7bGV0IG51bUJ5dGVzRGVjb2RlZD0wO2Z1bmN0aW9uIGRlY29kZVRleHQodCxfKXtyZXR1cm4gbnVtQnl0ZXNEZWNvZGVkKz1fLG51bUJ5dGVzRGVjb2RlZD49TUFYX1NBRkFSSV9ERUNPREVfQllURVMmJihjYWNoZWRUZXh0RGVjb2Rlcj1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7aWdub3JlQk9NOiEwLGZhdGFsOiEwfSksY2FjaGVkVGV4dERlY29kZXIuZGVjb2RlKCksbnVtQnl0ZXNEZWNvZGVkPV8pLGNhY2hlZFRleHREZWNvZGVyLmRlY29kZShnZXRVaW50OEFycmF5TWVtb3J5MCgpLnNsaWNlKHQsdCtfKSl9ZnVuY3Rpb24gYWRkVG9FeHRlcm5yZWZUYWJsZTAodCl7Y29uc3QgXz13YXNtLl9fZXh0ZXJucmVmX3RhYmxlX2FsbG9jKCk7cmV0dXJuIHdhc20uX193YmluZGdlbl9leHRlcm5yZWZzLnNldChfLHQpLF99bGV0IGNhY2hlZERhdGFWaWV3TWVtb3J5MD1udWxsO2Z1bmN0aW9uIGdldERhdGFWaWV3TWVtb3J5MCgpe3JldHVybihjYWNoZWREYXRhVmlld01lbW9yeTA9PT1udWxsfHxjYWNoZWREYXRhVmlld01lbW9yeTAuYnVmZmVyIT09d2FzbS5tZW1vcnkuYnVmZmVyKSYmKGNhY2hlZERhdGFWaWV3TWVtb3J5MD1uZXcgRGF0YVZpZXcod2FzbS5tZW1vcnkuYnVmZmVyKSksY2FjaGVkRGF0YVZpZXdNZW1vcnkwfWxldCBjYWNoZWRVaW50OEFycmF5TWVtb3J5MD1udWxsO2Z1bmN0aW9uIGdldFVpbnQ4QXJyYXlNZW1vcnkwKCl7cmV0dXJuKGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwPT09bnVsbHx8Y2FjaGVkVWludDhBcnJheU1lbW9yeTAuYnVmZmVyIT09d2FzbS5tZW1vcnkuYnVmZmVyKSYmKGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwPW5ldyBVaW50OEFycmF5KHdhc20ubWVtb3J5LmJ1ZmZlcikpLGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwfWZ1bmN0aW9uIGdldEFycmF5VThGcm9tV2FzbTAodCxfKXtyZXR1cm4gdD10Pj4+MCxnZXRVaW50OEFycmF5TWVtb3J5MCgpLnN1YmFycmF5KHQvMSx0LzErXyl9bGV0IFdBU01fVkVDVE9SX0xFTj0wO2NvbnN0IGNhY2hlZFRleHRFbmNvZGVyPXR5cGVvZiBUZXh0RW5jb2RlcjwidSI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtjYWNoZWRUZXh0RW5jb2RlciYmKGNhY2hlZFRleHRFbmNvZGVyLmVuY29kZUludG89ZnVuY3Rpb24odCxfKXtjb25zdCBlPWNhY2hlZFRleHRFbmNvZGVyLmVuY29kZSh0KTtyZXR1cm4gXy5zZXQoZSkse3JlYWQ6dC5sZW5ndGgsd3JpdHRlbjplLmxlbmd0aH19KTtmdW5jdGlvbiBwYXNzU3RyaW5nVG9XYXNtMCh0LF8sZSl7aWYoZT09PXZvaWQgMCl7Y29uc3QgYz1jYWNoZWRUZXh0RW5jb2Rlci5lbmNvZGUodCkscz1fKGMubGVuZ3RoLDEpPj4+MDtyZXR1cm4gZ2V0VWludDhBcnJheU1lbW9yeTAoKS5zdWJhcnJheShzLHMrYy5sZW5ndGgpLnNldChjKSxXQVNNX1ZFQ1RPUl9MRU49Yy5sZW5ndGgsc31sZXQgbj10Lmxlbmd0aCxyPV8obiwxKT4+PjA7Y29uc3Qgbz1nZXRVaW50OEFycmF5TWVtb3J5MCgpO2xldCBpPTA7Zm9yKDtpPG47aSsrKXtjb25zdCBjPXQuY2hhckNvZGVBdChpKTtpZihjPjEyNylicmVhaztvW3IraV09Y31pZihpIT09bil7aSE9PTAmJih0PXQuc2xpY2UoaSkpLHI9ZShyLG4sbj1pK3QubGVuZ3RoKjMsMSk+Pj4wO2NvbnN0IGM9Z2V0VWludDhBcnJheU1lbW9yeTAoKS5zdWJhcnJheShyK2kscituKSxzPWNhY2hlZFRleHRFbmNvZGVyLmVuY29kZUludG8odCxjKTtpKz1zLndyaXR0ZW4scj1lKHIsbixpLDEpPj4+MH1yZXR1cm4gV0FTTV9WRUNUT1JfTEVOPWkscn1mdW5jdGlvbiBoYW5kbGVFcnJvcih0LF8pe3RyeXtyZXR1cm4gdC5hcHBseSh0aGlzLF8pfWNhdGNoKGUpe2NvbnN0IG49YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSk7d2FzbS5fX3diaW5kZ2VuX2V4bl9zdG9yZShuKX19ZnVuY3Rpb24gaXNMaWtlTm9uZSh0KXtyZXR1cm4gdD09bnVsbH1mdW5jdGlvbiBfX3diZ19nZXRfaW1wb3J0cyh0KXtyZXR1cm57X19wcm90b19fOm51bGwsIi4vdGZoZV9iZy5qcyI6e19fcHJvdG9fXzpudWxsLF9fd2JnX0JpZ0ludF83ZWExZTc0OWNlNmI5MmZkOmZ1bmN0aW9uKCl7cmV0dXJuIGhhbmRsZUVycm9yKGZ1bmN0aW9uKGUpe3JldHVybiBCaWdJbnQoZSl9LGFyZ3VtZW50cyl9LF9fd2JnX0JpZ0ludF9iN2JiY2NkZmYyNThjOWYyOmZ1bmN0aW9uKGUpe3JldHVybiBCaWdJbnQoZSl9LF9fd2JnX0Vycm9yXzhjNGU0M2ZlNzQ1NTlkNzM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gRXJyb3IoZ2V0U3RyaW5nRnJvbVdhc20wKGUsbikpfSxfX3diZ19fX3diaW5kZ2VuX2JpZ2ludF9nZXRfYXNfaTY0XzhmY2Y0Y2U3ZjFjYTcyYTI6ZnVuY3Rpb24oZSxuKXtjb25zdCByPW4sbz10eXBlb2Ygcj09ImJpZ2ludCI/cjp2b2lkIDA7Z2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0QmlnSW50NjQoZSs4LGlzTGlrZU5vbmUobyk/QmlnSW50KDApOm8sITApLGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrMCwhaXNMaWtlTm9uZShvKSwhMCl9LF9fd2JnX19fd2JpbmRnZW5fYml0X2FuZF80MzYyYjExNzY5NTBkNDJhOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUmbn0sX193YmdfX193YmluZGdlbl9iaXRfb3JfNzFhMDJkMzk3OTZlYTEzZDpmdW5jdGlvbihlLG4pe3JldHVybiBlfG59LF9fd2JnX19fd2JpbmRnZW5fZGVidWdfc3RyaW5nXzBiYzg0ODJjNmUzNTA4YWU6ZnVuY3Rpb24oZSxuKXtjb25zdCByPWRlYnVnU3RyaW5nKG4pLG89cGFzc1N0cmluZ1RvV2FzbTAocix3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLHdhc20uX193YmluZGdlbl9yZWFsbG9jKSxpPVdBU01fVkVDVE9SX0xFTjtnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzQsaSwhMCksZ2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0SW50MzIoZSswLG8sITApfSxfX3diZ19fX3diaW5kZ2VuX2lzX2Z1bmN0aW9uXzAwOTVhNzNiOGIxNTZmNzY6ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifSxfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF81YWU4ZTU4ODBmMmMxZmJkOmZ1bmN0aW9uKGUpe2NvbnN0IG49ZTtyZXR1cm4gdHlwZW9mIG49PSJvYmplY3QiJiZuIT09bnVsbH0sX193YmdfX193YmluZGdlbl9pc19zdHJpbmdfY2Q0NDQ1MTZlZGM1YjE4MDpmdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmcifSxfX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF85ZTRkOTI1MzRjNDJkNzc4OmZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwfSxfX3diZ19fX3diaW5kZ2VuX2pzdmFsX2VxXzExODg4MzkwYjAxODYyNzA6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZT09PW59LF9fd2JnX19fd2JpbmRnZW5fbHRfYmI1OWNjM2QyMzUyNmUwZDpmdW5jdGlvbihlLG4pe3JldHVybiBlPG59LF9fd2JnX19fd2JpbmRnZW5fbWVtb3J5X2JkMWZiY2YyMWZiZWYzYzg6ZnVuY3Rpb24oKXtyZXR1cm4gd2FzbS5tZW1vcnl9LF9fd2JnX19fd2JpbmRnZW5fbW9kdWxlX2Y2YjgwNTJkNzljMWNjMTY6ZnVuY3Rpb24oKXtyZXR1cm4gd2FzbU1vZHVsZX0sX193YmdfX193YmluZGdlbl9uZWdfNmI0ZDM1NmRmZjQ5ZGNjNjpmdW5jdGlvbihlKXtyZXR1cm4tZX0sX193YmdfX193YmluZGdlbl9zaGxfOGQ2NGQwNjc2MWY5ZWE0ZTpmdW5jdGlvbihlLG4pe3JldHVybiBlPDxufSxfX3diZ19fX3diaW5kZ2VuX3Nocl9lZjhlMDdjY2U3MDllYjU0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU+Pm59LF9fd2JnX19fd2JpbmRnZW5fc3RyaW5nX2dldF83MmZiNjk2MjAyYzU2NzI5OmZ1bmN0aW9uKGUsbil7Y29uc3Qgcj1uLG89dHlwZW9mIHI9PSJzdHJpbmciP3I6dm9pZCAwO3ZhciBpPWlzTGlrZU5vbmUobyk/MDpwYXNzU3RyaW5nVG9XYXNtMChvLHdhc20uX193YmluZGdlbl9tYWxsb2Msd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MpLGM9V0FTTV9WRUNUT1JfTEVOO2dldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrNCxjLCEwKSxnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzAsaSwhMCl9LF9fd2JnX19fd2JpbmRnZW5fdGhyb3dfYmUyODlkNTAzNGVkMjcxYjpmdW5jdGlvbihlLG4pe3Rocm93IG5ldyBFcnJvcihnZXRTdHJpbmdGcm9tV2FzbTAoZSxuKSl9LF9fd2JnX2NhbGxfMzg5ZWZlMjg0MzVhOTM4ODpmdW5jdGlvbigpe3JldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbihlLG4pe3JldHVybiBlLmNhbGwobil9LGFyZ3VtZW50cyl9LF9fd2JnX2NhbGxfNDcwOGUwYzEzYmRjOGU5NTpmdW5jdGlvbigpe3JldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbihlLG4scil7cmV0dXJuIGUuY2FsbChuLHIpfSxhcmd1bWVudHMpfSxfX3diZ19jcnlwdG9fODZmMjYzMWU5MWI1MTUxMTpmdW5jdGlvbihlKXtyZXR1cm4gZS5jcnlwdG99LF9fd2JnX2Vycm9yXzc1MzRiOGU5YTM2ZjFhYjQ6ZnVuY3Rpb24oZSxuKXtsZXQgcixvO3RyeXtyPWUsbz1uLGNvbnNvbGUuZXJyb3IoZ2V0U3RyaW5nRnJvbVdhc20wKGUsbikpfWZpbmFsbHl7d2FzbS5fX3diaW5kZ2VuX2ZyZWUocixvLDEpfX0sX193YmdfZ2V0UmFuZG9tVmFsdWVzX2IzZjE1ZmNiZmFiYjBmOGI6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oZSxuKXtlLmdldFJhbmRvbVZhbHVlcyhuKX0sYXJndW1lbnRzKX0sX193YmdfZ2V0VGltZV8xZTNjZDEzOTFjNWMzOTk1OmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFRpbWUoKX0sX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZWQ0OWIyZGI4ZGY5MDM1OTpmdW5jdGlvbihlKXtsZXQgbjt0cnl7bj1lIGluc3RhbmNlb2YgV2luZG93fWNhdGNoe249ITF9cmV0dXJuIG59LF9fd2JnX2xlbmd0aF8zMmVkOWEyNzlhY2QwNTRjOmZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aH0sX193YmdfbXNDcnlwdG9fZDU2MmJiZTgzZTBkNGI5MTpmdW5jdGlvbihlKXtyZXR1cm4gZS5tc0NyeXB0b30sX193YmdfbmV3XzBfNzNhZmMzNWViNTQ0ZTUzOTpmdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZX0sX193YmdfbmV3XzhhNmYyMzhhNmVjZTg2ZWE6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEVycm9yfSxfX3diZ19uZXdfbm9fYXJnc18xYzdjODQyZjA4ZDAwZWJiOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG5ldyBGdW5jdGlvbihnZXRTdHJpbmdGcm9tV2FzbTAoZSxuKSl9LF9fd2JnX25ld193aXRoX2xlbmd0aF9hMmMzOWNiZTg4ZmQ4ZmYxOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVWludDhBcnJheShlPj4+MCl9LF9fd2JnX25vZGVfZTFmMjRmODlhNzMzNmMyZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlfSxfX3diZ19wcm9jZXNzXzM5NzVmZDZjNzJmNTIwYWE6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJvY2Vzc30sX193YmdfcHJvdG90eXBlc2V0Y2FsbF9iZGNkY2M1ODQyZTRkNzdkOmZ1bmN0aW9uKGUsbixyKXtVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChnZXRBcnJheVU4RnJvbVdhc20wKGUsbikscil9LF9fd2JnX3JhbmRvbUZpbGxTeW5jX2Y4YzE1M2I3OWYyODU4MTc6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oZSxuKXtlLnJhbmRvbUZpbGxTeW5jKG4pfSxhcmd1bWVudHMpfSxfX3diZ19yZXF1aXJlX2I3NGY0N2ZjMmQwMjJmZDY6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oKXtyZXR1cm4gbW9kdWxlLnJlcXVpcmV9LGFyZ3VtZW50cyl9LF9fd2JnX3N0YWNrXzBlZDc1ZDY4NTc1YjBmM2M6ZnVuY3Rpb24oZSxuKXtjb25zdCByPW4uc3RhY2ssbz1wYXNzU3RyaW5nVG9XYXNtMChyLHdhc20uX193YmluZGdlbl9tYWxsb2Msd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MpLGk9V0FTTV9WRUNUT1JfTEVOO2dldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrNCxpLCEwKSxnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzAsbywhMCl9LF9fd2JnX3N0YXJ0V29ya2Vyc18yY2ExMTc2MWUwOGZmNWQ1OmZ1bmN0aW9uKGUsbixyKXtoYW5kbGVFcnJvcihmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigic3RhcnRXb3JrZXJzIG5vdCBzdXBwb3J0ZWQgZnJvbSBhIHdvcmtlciB0aHJlYWQiKX0pfSxfX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzEyODM3MTY3YWQ5MzUxMTY6ZnVuY3Rpb24oKXtjb25zdCBlPXR5cGVvZiBnbG9iYWw+InUiP251bGw6Z2xvYmFsO3JldHVybiBpc0xpa2VOb25lKGUpPzA6YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSl9LF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU19lNjI4ZTg5YWIzYjFjOTVmOmZ1bmN0aW9uKCl7Y29uc3QgZT10eXBlb2YgZ2xvYmFsVGhpcz4idSI/bnVsbDpnbG9iYWxUaGlzO3JldHVybiBpc0xpa2VOb25lKGUpPzA6YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSl9LF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9TRUxGX2E2MjFkM2RmYmI2MGQwY2U6ZnVuY3Rpb24oKXtjb25zdCBlPXR5cGVvZiBzZWxmPiJ1Ij9udWxsOnNlbGY7cmV0dXJuIGlzTGlrZU5vbmUoZSk/MDphZGRUb0V4dGVybnJlZlRhYmxlMChlKX0sX193Ymdfc3RhdGljX2FjY2Vzc29yX1dJTkRPV19mODcyN2YwY2Y4ODhlMGJkOmZ1bmN0aW9uKCl7Y29uc3QgZT10eXBlb2Ygd2luZG93PiJ1Ij9udWxsOndpbmRvdztyZXR1cm4gaXNMaWtlTm9uZShlKT8wOmFkZFRvRXh0ZXJucmVmVGFibGUwKGUpfSxfX3diZ19zdWJhcnJheV9hOTZlMWZlZjE3ZWQyM2NiOmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gZS5zdWJhcnJheShuPj4+MCxyPj4+MCl9LF9fd2JnX3RvU3RyaW5nXzAyOWFjMjQ0MjFmZDdhMjQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9TdHJpbmcoKX0sX193YmdfdG9TdHJpbmdfNTZkOTQ2ZGFmZjgzODY3YjpmdW5jdGlvbihlLG4scil7Y29uc3Qgbz1uLnRvU3RyaW5nKHIpLGk9cGFzc1N0cmluZ1RvV2FzbTAobyx3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLHdhc20uX193YmluZGdlbl9yZWFsbG9jKSxjPVdBU01fVkVDVE9SX0xFTjtnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzQsYywhMCksZ2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0SW50MzIoZSswLGksITApfSxfX3diZ192ZXJzaW9uc180ZTMxMjI2ZjVlOGRjOTA5OmZ1bmN0aW9uKGUpe3JldHVybiBlLnZlcnNpb25zfSxfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMTpmdW5jdGlvbihlKXtyZXR1cm4gZX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDI6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQmlnSW50LmFzVWludE4oNjQsZSl8bjw8QmlnSW50KDY0KX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDM6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGdldEFycmF5VThGcm9tV2FzbTAoZSxuKX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZ2V0U3RyaW5nRnJvbVdhc20wKGUsbil9LF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA2OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEJpZ0ludC5hc1VpbnROKDY0LGUpfEJpZ0ludC5hc1VpbnROKDY0LG4pPDxCaWdJbnQoNjQpfSxfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwNzpmdW5jdGlvbihlKXtyZXR1cm4gQmlnSW50LmFzVWludE4oNjQsZSl9LF9fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGU6ZnVuY3Rpb24oKXtjb25zdCBlPXdhc20uX193YmluZGdlbl9leHRlcm5yZWZzLG49ZS5ncm93KDQpO2Uuc2V0KDAsdm9pZCAwKSxlLnNldChuKzAsdm9pZCAwKSxlLnNldChuKzEsbnVsbCksZS5zZXQobisyLCEwKSxlLnNldChuKzMsITEpfSxtZW1vcnk6dHx8bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDoyMSxtYXhpbXVtOjE2Mzg0LHNoYXJlZDohMH0pfX19bGV0IHdhc21Nb2R1bGUsd2FzbTtmdW5jdGlvbiBfX3diZ19maW5hbGl6ZV9pbml0KHQsXyxlKXtpZih3YXNtPXQuZXhwb3J0cyx3YXNtTW9kdWxlPV8sY2FjaGVkRGF0YVZpZXdNZW1vcnkwPW51bGwsY2FjaGVkVWludDhBcnJheU1lbW9yeTA9bnVsbCx0eXBlb2YgZTwidSImJih0eXBlb2YgZSE9Im51bWJlciJ8fGU9PT0wfHxlJTY1NTM2IT09MCkpdGhyb3ciaW52YWxpZCBzdGFjayBzaXplIjtyZXR1cm4gd2FzbS5fX3diaW5kZ2VuX3N0YXJ0KGUpLHdhc219YXN5bmMgZnVuY3Rpb24gX193YmdfbG9hZCh0LF8pe2lmKHR5cGVvZiBSZXNwb25zZT09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIFJlc3BvbnNlKXtpZih0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmc9PSJmdW5jdGlvbiIpdHJ5e3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyh0LF8pfWNhdGNoKHIpe2lmKHQub2smJmUodC50eXBlKSYmdC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikhPT0iYXBwbGljYXRpb24vd2FzbSIpY29uc29sZS53YXJuKCJgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmdgIGZhaWxlZCBiZWNhdXNlIHlvdXIgc2VydmVyIGRvZXMgbm90IHNlcnZlIFdhc20gd2l0aCBgYXBwbGljYXRpb24vd2FzbWAgTUlNRSB0eXBlLiBGYWxsaW5nIGJhY2sgdG8gYFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlYCB3aGljaCBpcyBzbG93ZXIuIE9yaWdpbmFsIGVycm9yOlxuIixyKTtlbHNlIHRocm93IHJ9Y29uc3Qgbj1hd2FpdCB0LmFycmF5QnVmZmVyKCk7cmV0dXJuIGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG4sXyl9ZWxzZXtjb25zdCBuPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHQsXyk7cmV0dXJuIG4gaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZT97aW5zdGFuY2U6bixtb2R1bGU6dH06bn1mdW5jdGlvbiBlKG4pe3N3aXRjaChuKXtjYXNlImJhc2ljIjpjYXNlImNvcnMiOmNhc2UiZGVmYXVsdCI6cmV0dXJuITB9cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIF9fd2JnX2luaXQodCxfKXtpZih3YXNtIT09dm9pZCAwKXJldHVybiB3YXNtO2xldCBlO3QhPT12b2lkIDAmJihPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1PYmplY3QucHJvdG90eXBlP3ttb2R1bGVfb3JfcGF0aDp0LG1lbW9yeTpfLHRocmVhZF9zdGFja19zaXplOmV9PXQ6Y29uc29sZS53YXJuKCJ1c2luZyBkZXByZWNhdGVkIHBhcmFtZXRlcnMgZm9yIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbjsgcGFzcyBhIHNpbmdsZSBvYmplY3QgaW5zdGVhZCIpKTtjb25zdCBuPV9fd2JnX2dldF9pbXBvcnRzKF8pLHtpbnN0YW5jZTpyLG1vZHVsZTpvfT1hd2FpdCBfX3diZ19sb2FkKGF3YWl0IHQsbik7cmV0dXJuIF9fd2JnX2ZpbmFsaXplX2luaXQocixvLGUpfXZhciB0ZmhlPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGRlZmF1bHQ6X193YmdfaW5pdCx3YmdfcmF5b25fc3RhcnRfd29ya2VyfSk7Cg==\";\r\n return await __newWorkerFromJsCodeBase64(workerBase64);\r\n}\r\n\r\n/**\r\n * Spawn TFHE worker threads, initialize them with the given WASM module\r\n * and shared memory, and finalize the thread pool via the builder.\r\n * Can be called only once. No reset.\r\n * @param {WebAssembly.Module} module - Compiled WASM module to send to each worker.\r\n * @param {WebAssembly.Memory} memory - Shared memory instance for cross-thread communication.\r\n * @param {{ numThreads(): number, receiver(): SharedArrayBuffer, build(): void }} builder - Thread pool builder from the TFHE WASM bindings.\r\n * @throws {Error} If termination is in progress, numThreads is 0, or any worker fails to start.\r\n * @returns {Promise<void>}\r\n */\r\nasync function startWorkers(module, memory, builder) {\r\n if (_started) {\r\n throw new Error(\"Already started\");\r\n }\r\n\r\n _started = true;\r\n\r\n if (_terminating) {\r\n throw new Error(\"Cannot start workers while termination is in progress\");\r\n }\r\n\r\n if (builder.numThreads() === 0) {\r\n throw new Error(`num_threads must be > 0.`);\r\n }\r\n\r\n const workerInit = {\r\n type: \"wasm_bindgen_worker_init\",\r\n init: { module_or_path: module, memory },\r\n // SharedArrayBuffer\r\n receiver: builder.receiver(),\r\n };\r\n\r\n const results = await Promise.allSettled(\r\n Array.from({ length: builder.numThreads() }, async (_, workerIndex) => {\r\n // Self-spawn into a new Worker.\r\n //\r\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\r\n // way to get asset URLs relative to the module across various bundlers\r\n // and browser, ideally we should switch to `import.meta.resolve`\r\n // once it becomes a standard.\r\n //\r\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\r\n // into the parent entry instead of creating another split point -\r\n // this would be preferable from optimization perspective -\r\n // however, Webpack then eliminates all message handler code\r\n // because wasm-pack produces \"sideEffects\":false in package.json\r\n // unconditionally.\r\n //\r\n // The only way to work around that is to have side effect code\r\n // in an entry point such as Worker file itself.\r\n\r\n let blobUrl = undefined;\r\n let worker;\r\n\r\n // Worker creation fallback chain (see matrix in types.ts):\r\n //\r\n // | workerUrl | Result |\r\n // |-----------|-------------------------------------------|\r\n // | defined | Direct URL \u2192 fetch+blob \u2192 embedded base64 |\r\n // | undefined | Embedded base64 worker |\r\n\r\n if (_workerUrl) {\r\n // Step 1: Try direct URL \u2014 new Worker(url)\r\n try {\r\n worker = await __newIsomorphicWorker(_workerUrl);\r\n _logger?.debug(\r\n `[Worker #${workerIndex}] - created at url: ${_workerUrl}`,\r\n );\r\n } catch (e) {\r\n _logger?.error(\r\n `[Worker #${workerIndex}] - create failed: ${e.message}`,\r\n e,\r\n );\r\n }\r\n\r\n // Step 2: Fetch script and create blob URL \u2014 handles cross-origin restrictions\r\n if (worker === undefined) {\r\n try {\r\n const scriptBlob = await fetch(_workerUrl).then((r) => r.blob());\r\n blobUrl = URL.createObjectURL(scriptBlob);\r\n worker = await __newIsomorphicWorker(blobUrl);\r\n _logger?.debug(\r\n `[Worker #${workerIndex}] - created fallback blob worker at url: ${_workerUrl}`,\r\n );\r\n } catch (e) {\r\n if (blobUrl) {\r\n URL.revokeObjectURL(blobUrl);\r\n blobUrl = undefined;\r\n }\r\n\r\n _logger?.error(\r\n `[Worker #${workerIndex}] - create fallback blob worker failed: ${e.message}`,\r\n e,\r\n );\r\n }\r\n }\r\n }\r\n\r\n try {\r\n // Step 3: Embedded base64 worker \u2014 last resort fallback\r\n if (!worker) {\r\n try {\r\n const result = await __createWorkerFromBase64();\r\n worker = result.worker;\r\n blobUrl = result.blobUrl ?? blobUrl;\r\n _logger?.debug(\r\n `[Worker #${workerIndex}] - created blob worker using base64`,\r\n );\r\n } catch (e) {\r\n _logger?.error(\r\n `[Worker #${workerIndex}] - create blob worker using base64 failed`,\r\n e,\r\n );\r\n\r\n throw new Error(\r\n \"All worker creation methods failed. Check CSP, COOP/COEP headers, and cross-origin policies.\",\r\n { cause: e },\r\n );\r\n }\r\n }\r\n\r\n try {\r\n worker.postMessage(workerInit);\r\n } catch (e) {\r\n _logger?.error(`[Worker #${workerIndex}] - postMessage failed`, e);\r\n throw e;\r\n }\r\n\r\n await __waitForMsgType(worker, \"wasm_bindgen_worker_ready\");\r\n\r\n // Revoke blob URL only after the worker has loaded its script\r\n if (blobUrl) {\r\n URL.revokeObjectURL(blobUrl);\r\n blobUrl = undefined;\r\n }\r\n\r\n _logger?.debug(`[Worker #${workerIndex}] - ready`);\r\n\r\n return worker;\r\n } catch (err) {\r\n if (blobUrl) {\r\n URL.revokeObjectURL(blobUrl);\r\n blobUrl = undefined;\r\n }\r\n\r\n throw err;\r\n }\r\n }),\r\n );\r\n\r\n // Separate fulfilled workers from failures\r\n const workers = [];\r\n const errors = [];\r\n\r\n for (const result of results) {\r\n if (result.status === \"fulfilled\") {\r\n workers.push(result.value);\r\n } else {\r\n errors.push(result.reason);\r\n }\r\n }\r\n\r\n // If any worker failed, terminate the ones that succeeded to prevent orphaned threads\r\n if (errors.length > 0) {\r\n await Promise.allSettled(workers.map((w) => w.terminate()));\r\n throw errors[0];\r\n }\r\n\r\n _workers = workers;\r\n builder.build();\r\n}\r\n\r\n/**\r\n * Terminate all active TFHE workers and wait for cleanup to complete.\r\n * Safe to call concurrently \u2014 subsequent calls will await the in-progress termination.\r\n * Called only once. No reset.\r\n * @returns {Promise<unknown>}\r\n */\r\nasync function terminateWorkers() {\r\n if (_terminating) {\r\n return _terminating;\r\n }\r\n\r\n if (!_workers) {\r\n return;\r\n }\r\n\r\n const workers = _workers;\r\n _workers = undefined;\r\n\r\n _terminating = Promise.allSettled(workers.map((w) => w.terminate()));\r\n\r\n return _terminating;\r\n}\r\n\r\nexport { getTfheWorkers, startWorkers, terminateWorkers, setWorkerUrlConfig };\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["module"]
|
|
7
|
+
}
|