@fhevm/sdk 1.1.0-alpha.4 → 1.1.0-alpha.5
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/canDecryptPublicValue.js +1 -1
- package/_cjs/core/actions/base/canDecryptPublicValue.js.map +1 -1
- package/_cjs/core/actions/base/canDecryptPublicValues.js +1 -1
- package/_cjs/core/actions/base/canDecryptPublicValues.js.map +1 -1
- package/_cjs/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +5 -5
- package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
- package/_cjs/core/actions/base/index.js +3 -3
- package/_cjs/core/actions/base/index.js.map +1 -1
- package/_cjs/core/actions/base/readKmsSignersContext.js +2 -1
- package/_cjs/core/actions/base/readKmsSignersContext.js.map +1 -1
- package/_cjs/core/actions/chain/parseTransportKeyPair.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +13 -0
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
- package/_cjs/core/actions/decrypt/decryptValue.js +3 -1
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValues.js +3 -1
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/generateTransportKeyPair.js +3 -1
- package/_cjs/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
- package/_cjs/core/actions/decrypt/index.js +3 -3
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValue.js +3 -1
- package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValues.js +3 -1
- package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js +5 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_cjs/core/actions/host/readFhevmExecutorContractData.js +7 -7
- package/_cjs/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
- package/_cjs/core/actions/host/readInputVerifierContractData.js +1 -1
- package/_cjs/core/actions/host/readInputVerifierContractData.js.map +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js +6 -5
- package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_cjs/core/actions/host/resolveFhevmConfig.js +7 -1
- package/_cjs/core/actions/host/resolveFhevmConfig.js.map +1 -1
- package/_cjs/core/base/object.js +23 -0
- package/_cjs/core/base/object.js.map +1 -1
- package/_cjs/core/base/semver.js +166 -0
- package/_cjs/core/base/semver.js.map +1 -0
- package/_cjs/core/base/uint.js +20 -3
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/chains/definitions/localTestnet.js +3 -0
- package/_cjs/core/chains/definitions/localTestnet.js.map +1 -1
- package/_cjs/core/chains/definitions/mainnet.js +1 -0
- package/_cjs/core/chains/definitions/mainnet.js.map +1 -1
- package/_cjs/core/chains/definitions/sepolia.js +1 -0
- package/_cjs/core/chains/definitions/sepolia.js.map +1 -1
- package/_cjs/core/clients/decorators/base.js +5 -0
- package/_cjs/core/clients/decorators/base.js.map +1 -1
- package/_cjs/core/clients/decorators/decrypt-p.js +13 -0
- package/_cjs/core/clients/decorators/decrypt-p.js.map +1 -0
- package/_cjs/core/clients/decorators/decrypt.js +4 -7
- package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
- package/_cjs/core/clients/decorators/encrypt-p.js +5 -1
- package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -1
- package/_cjs/core/clients/decorators/encrypt.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProof-p.js +4 -2
- package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js +2 -1
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_cjs/core/coprocessor/encrypt.js +1 -1
- package/_cjs/core/coprocessor/encrypt.js.map +1 -1
- package/_cjs/core/errors/RelayerResponseStatusError.js +3 -2
- package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -1
- package/_cjs/core/host-contracts/HostContractVersion-p.js +26 -4
- package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +23 -5
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/abi-fragments/fragments.js +21 -1
- package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/host-contracts/checkAllowedForDecryption.js +2 -2
- package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
- package/_cjs/core/host-contracts/checkDelegation.js +8 -8
- package/_cjs/core/host-contracts/checkDelegation.js.map +1 -1
- package/_cjs/core/host-contracts/checkPersistAllowed.js +9 -9
- package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -1
- package/_cjs/core/host-contracts/getAclAddress-p.js +1 -2
- package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +51 -0
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +4 -5
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
- package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
- package/_cjs/core/host-contracts/getHandleVersion-p.js +1 -2
- package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -1
- package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +1 -2
- package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
- package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +1 -2
- package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +5 -7
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +4 -5
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +3 -5
- package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/isAllowedForDecryption.js +4 -4
- package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -1
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
- package/_cjs/core/host-contracts/isUserDecryptable.js +2 -2
- package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -1
- package/_cjs/core/host-contracts/persistAllowed.js +4 -4
- package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js +74 -25
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_cjs/core/key/FheEncryptionKeyWasm-p.js +12 -4
- package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
- package/_cjs/core/key/deserializeFheEncryptionKey.js +3 -0
- package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -1
- package/_cjs/core/key/fetchFheEncryptionKey.js +1 -1
- package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
- package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
- package/_cjs/core/key/serializeFheEncryptionKey.js +4 -1
- package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -1
- package/_cjs/core/kms/KmsSigncryptedShares-p.js +9 -1
- package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +5 -1
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_cjs/core/kms/TransportKeyPair-p.js +31 -7
- package/_cjs/core/kms/TransportKeyPair-p.js.map +1 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712.js +4 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +97 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
- package/_cjs/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +10 -3
- package/_cjs/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
- package/_cjs/core/kms/decryptValuesFromPairs.js +4 -4
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +10 -6
- package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
- package/_cjs/core/kms/kmsExtraData.js +53 -10
- package/_cjs/core/kms/kmsExtraData.js.map +1 -1
- package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js +25 -0
- package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
- package/_cjs/core/kms/publicDecrypt.js +5 -3
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js +1 -23
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +51 -23
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/index.js +5 -27
- package/_cjs/core/modules/decrypt/module/index.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/init-p.js +40 -19
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/mock.js +26 -8
- package/_cjs/core/modules/encrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/api-p.js +50 -21
- package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/index.js +3 -3
- package/_cjs/core/modules/encrypt/module/index.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +63 -24
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +28 -4
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +5 -1
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
- package/_cjs/core/modules/relayer/module/readErrorMessage.js +29 -0
- package/_cjs/core/modules/relayer/module/readErrorMessage.js.map +1 -0
- package/_cjs/core/runtime/CoreFhevm-p.js +171 -5
- package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
- package/_cjs/core/runtime/HyperWasmSolver-p.js +187 -0
- package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -0
- package/_cjs/core/runtime/ProtocolVersionResolver-p.js +270 -0
- package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
- package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
- package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
- package/_cjs/core/runtime/initFhevmRuntime-p.js +4 -1
- package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
- package/_cjs/core/runtime/resolveFhevmVersions-p.js +48 -0
- package/_cjs/core/runtime/resolveFhevmVersions-p.js.map +1 -0
- package/_cjs/core/runtimeConfig-p.js +10 -0
- package/_cjs/core/runtimeConfig-p.js.map +1 -1
- package/_cjs/core/types/{zkProofBuilder.js → moduleVersions.js} +1 -1
- package/_cjs/core/types/moduleVersions.js.map +1 -0
- package/_cjs/core/types/{fhevmUser.js → wasmAssets.js} +1 -1
- package/_cjs/core/types/wasmAssets.js.map +1 -0
- package/_cjs/core/types/{fhevmDecryptionKey.js → zkProofBuilder-p.js} +1 -1
- package/_cjs/core/types/zkProofBuilder-p.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
- package/_cjs/ethers/internal/config.js +1 -18
- package/_cjs/ethers/internal/config.js.map +1 -1
- package/_cjs/viem/internal/config.js +1 -18
- package/_cjs/viem/internal/config.js.map +1 -1
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
- package/_cjs/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
- package/_cjs/wasm/tfhe/v1.5.3/tfhe.js +6 -1
- package/_cjs/wasm/tfhe/v1.5.3/tfhe.js.map +2 -2
- package/_cjs/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
- package/_cjs/wasm/tfhe/v1.6.1/tfhe.js +6 -1
- package/_cjs/wasm/tfhe/v1.6.1/tfhe.js.map +2 -2
- package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
- package/_cjs/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
- package/_cjs/wasm/tkms/v0.13.10/kms_lib.js +6 -1
- package/_cjs/wasm/tkms/v0.13.10/kms_lib.js.map +2 -2
- package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
- package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js +6 -1
- package/_cjs/wasm/tkms/v0.13.20-0/kms_lib.js.map +2 -2
- package/_cjs/wasm/wasmBaseUrl.js +23 -7
- package/_cjs/wasm/wasmBaseUrl.js.map +2 -2
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/canDecryptPublicValue.js +1 -1
- package/_esm/core/actions/base/canDecryptPublicValue.js.map +1 -1
- package/_esm/core/actions/base/canDecryptPublicValues.js +1 -1
- package/_esm/core/actions/base/canDecryptPublicValues.js.map +1 -1
- package/_esm/core/actions/base/{fetchKmsSignedcryptedShares.js → fetchKmsSigncryptedShares.js} +4 -4
- package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +1 -0
- package/_esm/core/actions/base/index.js +1 -1
- package/_esm/core/actions/base/index.js.map +1 -1
- package/_esm/core/actions/base/readKmsSignersContext.js +2 -1
- package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -1
- package/_esm/core/actions/chain/parseTransportKeyPair.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +11 -0
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +1 -0
- package/_esm/core/actions/decrypt/decryptValue.js +3 -1
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValues.js +3 -1
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +3 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/generateTransportKeyPair.js +3 -1
- package/_esm/core/actions/decrypt/generateTransportKeyPair.js.map +1 -1
- package/_esm/core/actions/decrypt/index.js +1 -1
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValue.js +3 -1
- package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValues.js +3 -1
- package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_esm/core/actions/encrypt/generateZkProof.js +5 -1
- package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_esm/core/actions/host/readFhevmExecutorContractData.js +8 -8
- package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -1
- package/_esm/core/actions/host/readInputVerifierContractData.js +2 -2
- package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -1
- package/_esm/core/actions/host/readKmsVerifierContractData.js +7 -6
- package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_esm/core/actions/host/resolveFhevmConfig.js +7 -1
- package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -1
- package/_esm/core/base/object.js +28 -0
- package/_esm/core/base/object.js.map +1 -1
- package/_esm/core/base/semver.js +164 -0
- package/_esm/core/base/semver.js.map +1 -0
- package/_esm/core/base/uint.js +23 -2
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/chains/definitions/localTestnet.js +3 -0
- package/_esm/core/chains/definitions/localTestnet.js.map +1 -1
- package/_esm/core/chains/definitions/mainnet.js +1 -0
- package/_esm/core/chains/definitions/mainnet.js.map +1 -1
- package/_esm/core/chains/definitions/sepolia.js +1 -0
- package/_esm/core/chains/definitions/sepolia.js.map +1 -1
- package/_esm/core/clients/decorators/base.js +6 -1
- package/_esm/core/clients/decorators/base.js.map +1 -1
- package/_esm/core/clients/decorators/decrypt-p.js +11 -0
- package/_esm/core/clients/decorators/decrypt-p.js.map +1 -0
- package/_esm/core/clients/decorators/decrypt.js +3 -7
- package/_esm/core/clients/decorators/decrypt.js.map +1 -1
- package/_esm/core/clients/decorators/encrypt-p.js +6 -2
- package/_esm/core/clients/decorators/encrypt-p.js.map +1 -1
- package/_esm/core/clients/decorators/encrypt.js.map +1 -1
- package/_esm/core/coprocessor/ZkProof-p.js +4 -2
- package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_esm/core/coprocessor/ZkProofBuilder-p.js +2 -1
- package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_esm/core/coprocessor/encrypt.js +1 -1
- package/_esm/core/coprocessor/encrypt.js.map +1 -1
- package/_esm/core/errors/RelayerResponseStatusError.js +7 -2
- package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -1
- package/_esm/core/host-contracts/HostContractVersion-p.js +34 -3
- package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js +24 -6
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_esm/core/host-contracts/abi-fragments/fragments.js +24 -0
- package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -1
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +1 -1
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_esm/core/host-contracts/checkAllowedForDecryption.js +2 -2
- package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -1
- package/_esm/core/host-contracts/checkDelegation.js +8 -8
- package/_esm/core/host-contracts/checkDelegation.js.map +1 -1
- package/_esm/core/host-contracts/checkPersistAllowed.js +9 -9
- package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -1
- package/_esm/core/host-contracts/getAclAddress-p.js +1 -2
- package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -1
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +63 -0
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -0
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +6 -7
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +1 -1
- package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -1
- package/_esm/core/host-contracts/getHandleVersion-p.js +1 -2
- package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -1
- package/_esm/core/host-contracts/getHcuLimitAddress-p.js +1 -2
- package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -1
- package/_esm/core/host-contracts/getInputVerifierAddress-p.js +1 -2
- package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +6 -8
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +5 -6
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_esm/core/host-contracts/getSignersForKmsContext-p.js +5 -7
- package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -1
- package/_esm/core/host-contracts/isAllowedForDecryption.js +4 -4
- package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -1
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +5 -5
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -1
- package/_esm/core/host-contracts/isUserDecryptable.js +2 -2
- package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -1
- package/_esm/core/host-contracts/persistAllowed.js +4 -4
- package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
- package/_esm/core/host-contracts/readKmsSignersContext-p.js +89 -29
- package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_esm/core/key/FheEncryptionKeyWasm-p.js +12 -4
- package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -1
- package/_esm/core/key/deserializeFheEncryptionKey.js +3 -0
- package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -1
- package/_esm/core/key/fetchFheEncryptionKey.js +1 -1
- package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
- package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -1
- package/_esm/core/key/serializeFheEncryptionKey.js +4 -1
- package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -1
- package/_esm/core/kms/KmsSigncryptedShares-p.js +9 -1
- package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermit-p.js +5 -1
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_esm/core/kms/TransportKeyPair-p.js +32 -7
- package/_esm/core/kms/TransportKeyPair-p.js.map +1 -1
- package/_esm/core/kms/createKmsUserDecryptEip712.js +4 -0
- package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -1
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js +98 -0
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -0
- package/_esm/core/kms/{decryptKmsSignedcryptedShares-p.js → decryptKmsSigncryptedShares-p.js} +9 -2
- package/_esm/core/kms/decryptKmsSigncryptedShares-p.js.map +1 -0
- package/_esm/core/kms/decryptValuesFromPairs.js +4 -4
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/kms/{fetchKmsSignedcryptedShares-p.js → fetchKmsSigncryptedShares-p.js} +12 -6
- package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +1 -0
- package/_esm/core/kms/kmsExtraData.js +70 -12
- package/_esm/core/kms/kmsExtraData.js.map +1 -1
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +28 -0
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -0
- package/_esm/core/kms/publicDecrypt.js +5 -3
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js +0 -24
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/decrypt/module/api-p.js +51 -23
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/decrypt/module/index.js +31 -25
- package/_esm/core/modules/decrypt/module/index.js.map +1 -1
- package/_esm/core/modules/decrypt/module/init-p.js +41 -19
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/mock.js +26 -9
- package/_esm/core/modules/encrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/module/api-p.js +50 -21
- package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/index.js +3 -3
- package/_esm/core/modules/encrypt/module/index.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +69 -29
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +2 -2
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +2 -2
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +57 -4
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +8 -1
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
- package/_esm/core/modules/relayer/module/readErrorMessage.js +52 -0
- package/_esm/core/modules/relayer/module/readErrorMessage.js.map +1 -0
- package/_esm/core/runtime/CoreFhevm-p.js +167 -5
- package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
- package/_esm/core/runtime/HyperWasmSolver-p.js +268 -0
- package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -0
- package/_esm/core/runtime/ProtocolVersionResolver-p.js +326 -0
- package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -0
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
- package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +1 -1
- package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -1
- package/_esm/core/runtime/initFhevmRuntime-p.js +4 -1
- package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
- package/_esm/core/runtime/resolveFhevmVersions-p.js +62 -0
- package/_esm/core/runtime/resolveFhevmVersions-p.js.map +1 -0
- package/_esm/core/runtimeConfig-p.js +9 -0
- package/_esm/core/runtimeConfig-p.js.map +1 -1
- package/_esm/core/types/moduleVersions.js +2 -0
- package/_esm/core/types/moduleVersions.js.map +1 -0
- package/_esm/core/types/wasmAssets.js +2 -0
- package/_esm/core/types/wasmAssets.js.map +1 -0
- package/_esm/core/types/zkProofBuilder-p.js +2 -0
- package/_esm/core/types/zkProofBuilder-p.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -0
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
- package/_esm/ethers/internal/config.js +1 -18
- package/_esm/ethers/internal/config.js.map +1 -1
- package/_esm/viem/internal/config.js +1 -18
- package/_esm/viem/internal/config.js.map +1 -1
- package/_esm/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
- package/_esm/wasm/tfhe/v1.5.3/tfhe.js +8 -0
- package/_esm/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
- package/_esm/wasm/tfhe/v1.6.1/tfhe.js +8 -0
- package/_esm/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
- package/_esm/wasm/tkms/v0.13.10/kms_lib.js +8 -0
- package/_esm/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
- package/_esm/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
- package/_esm/wasm/wasmBaseUrl.js +69 -4
- package/_types/core/actions/base/{fetchKmsSignedcryptedShares.d.ts → fetchKmsSigncryptedShares.d.ts} +7 -7
- package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +1 -0
- package/_types/core/actions/base/index.d.ts +1 -1
- package/_types/core/actions/base/index.d.ts.map +1 -1
- package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -1
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +2 -2
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/parseTransportKeyPair.d.ts +1 -1
- package/_types/core/actions/chain/parseTransportKeyPair.d.ts.map +1 -1
- package/_types/core/actions/decrypt/{decryptKmsSignedcryptedShares.d.ts → decryptKmsSigncryptedShares.d.ts} +4 -4
- package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +1 -0
- 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/generateTransportKeyPair.d.ts +2 -2
- package/_types/core/actions/decrypt/generateTransportKeyPair.d.ts.map +1 -1
- package/_types/core/actions/decrypt/index.d.ts +1 -1
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -1
- package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -1
- package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -1
- package/_types/core/actions/host/readKmsVerifierContractData.d.ts +1 -0
- package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -1
- package/_types/core/actions/host/resolveFhevmConfig.d.ts +2 -0
- package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -1
- package/_types/core/base/object.d.ts +7 -0
- package/_types/core/base/object.d.ts.map +1 -1
- package/_types/core/base/semver.d.ts +39 -0
- package/_types/core/base/semver.d.ts.map +1 -0
- package/_types/core/base/uint.d.ts +13 -2
- package/_types/core/base/uint.d.ts.map +1 -1
- package/_types/core/chains/definitions/localTestnet.d.ts +3 -0
- package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -1
- package/_types/core/chains/definitions/mainnet.d.ts +1 -0
- package/_types/core/chains/definitions/mainnet.d.ts.map +1 -1
- package/_types/core/chains/definitions/sepolia.d.ts.map +1 -1
- package/_types/core/clients/decorators/base.d.ts.map +1 -1
- package/_types/core/clients/decorators/decrypt-p.d.ts +4 -0
- package/_types/core/clients/decorators/decrypt-p.d.ts.map +1 -0
- package/_types/core/clients/decorators/decrypt.d.ts +4 -2
- package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
- package/_types/core/clients/decorators/encrypt-p.d.ts +2 -3
- package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -1
- package/_types/core/clients/decorators/encrypt.d.ts +4 -2
- package/_types/core/clients/decorators/encrypt.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProof-p.d.ts +9 -2
- package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +3 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
- package/_types/core/coprocessor/encrypt.d.ts +2 -0
- package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
- package/_types/core/errors/RelayerResponseStatusError.d.ts +7 -1
- package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -1
- package/_types/core/host-contracts/HostContractVersion-p.d.ts +18 -1
- package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts +2 -1
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/host-contracts/abi-fragments/fragments.d.ts +5 -0
- package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -1
- package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +1 -1
- package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -1
- package/_types/core/host-contracts/checkDelegation.d.ts +1 -1
- package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -1
- package/_types/core/host-contracts/checkPersistAllowed.d.ts +1 -1
- package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -1
- package/_types/core/host-contracts/getAclAddress-p.d.ts +1 -1
- package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts +30 -0
- package/_types/core/host-contracts/getCurrentKmsContextAndEpoch-p.d.ts.map +1 -0
- package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +1 -1
- package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +1 -1
- package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getHandleVersion-p.d.ts +1 -1
- package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +1 -1
- package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +1 -1
- package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
- package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +2 -2
- package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -1
- package/_types/core/host-contracts/isAllowedForDecryption.d.ts +1 -1
- package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -1
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +1 -1
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -1
- package/_types/core/host-contracts/isUserDecryptable.d.ts +1 -1
- package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -1
- package/_types/core/host-contracts/persistAllowed.d.ts +1 -1
- package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -1
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +25 -7
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +3 -1
- package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -1
- package/_types/core/key/deserializeFheEncryptionKey.d.ts +2 -0
- package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -1
- package/_types/core/key/fetchFheEncryptionKey.d.ts +3 -1
- package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
- package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -1
- package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -1
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
- package/_types/core/kms/TransportKeyPair-p.d.ts +9 -0
- package/_types/core/kms/TransportKeyPair-p.d.ts.map +1 -1
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -1
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +15 -0
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -0
- package/_types/core/kms/{decryptKmsSignedcryptedShares-p.d.ts → decryptKmsSigncryptedShares-p.d.ts} +4 -2
- package/_types/core/kms/decryptKmsSigncryptedShares-p.d.ts.map +1 -0
- package/_types/core/kms/decryptValuesFromPairs.d.ts +2 -0
- package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/kms/{fetchKmsSignedcryptedShares-p.d.ts → fetchKmsSigncryptedShares-p.d.ts} +2 -2
- package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +1 -0
- package/_types/core/kms/kmsExtraData.d.ts +9 -2
- package/_types/core/kms/kmsExtraData.d.ts.map +1 -1
- package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts +3 -0
- package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -0
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/decrypt/mock.d.ts +1 -2
- package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/api-p.d.ts +2 -2
- package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/index.d.ts +1 -2
- package/_types/core/modules/decrypt/module/index.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/init-p.d.ts +3 -3
- package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/decrypt/types.d.ts +33 -34
- package/_types/core/modules/decrypt/types.d.ts.map +1 -1
- 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/module/index.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/init-p.d.ts +11 -4
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/types.d.ts +31 -2
- package/_types/core/modules/encrypt/types.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +18 -0
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/readErrorMessage.d.ts +26 -0
- package/_types/core/modules/relayer/module/readErrorMessage.d.ts.map +1 -0
- package/_types/core/runtime/CoreFhevm-p.d.ts +15 -4
- package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
- package/_types/core/runtime/HyperWasmSolver-p.d.ts +71 -0
- package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -0
- package/_types/core/runtime/ProtocolVersionResolver-p.d.ts +29 -0
- package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -0
- package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -1
- package/_types/core/runtime/resolveFhevmVersions-p.d.ts +21 -0
- package/_types/core/runtime/resolveFhevmVersions-p.d.ts.map +1 -0
- package/_types/core/runtimeConfig-p.d.ts +3 -2
- package/_types/core/runtimeConfig-p.d.ts.map +1 -1
- package/_types/core/types/auth.d.ts +12 -1
- package/_types/core/types/auth.d.ts.map +1 -1
- package/_types/core/types/coreFhevmClient.d.ts +72 -2
- package/_types/core/types/coreFhevmClient.d.ts.map +1 -1
- package/_types/core/types/coreFhevmRuntime.d.ts +3 -9
- package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -1
- package/_types/core/types/fheEncryptionKey.d.ts +2 -0
- package/_types/core/types/fheEncryptionKey.d.ts.map +1 -1
- package/_types/core/types/fhevmChain.d.ts +3 -0
- package/_types/core/types/fhevmChain.d.ts.map +1 -1
- package/_types/core/types/hostContract.d.ts +1 -0
- package/_types/core/types/hostContract.d.ts.map +1 -1
- package/_types/core/types/index.d.ts +1 -1
- package/_types/core/types/index.d.ts.map +1 -1
- package/_types/core/types/kms-p.d.ts +2 -0
- package/_types/core/types/kms-p.d.ts.map +1 -1
- package/_types/core/types/kms.d.ts +71 -21
- package/_types/core/types/kms.d.ts.map +1 -1
- package/_types/core/types/kmsSignersContext.d.ts +8 -0
- package/_types/core/types/kmsSignersContext.d.ts.map +1 -1
- package/_types/core/types/logger.d.ts +1 -0
- package/_types/core/types/logger.d.ts.map +1 -1
- package/_types/core/types/moduleVersions.d.ts +25 -0
- package/_types/core/types/moduleVersions.d.ts.map +1 -0
- package/_types/core/types/tkms-p.d.ts +2 -0
- package/_types/core/types/tkms-p.d.ts.map +1 -1
- package/_types/core/types/wasmAssets.d.ts +2 -0
- package/_types/core/types/wasmAssets.d.ts.map +1 -0
- package/_types/core/types/{zkProofBuilder.d.ts → zkProofBuilder-p.d.ts} +8 -3
- package/_types/core/types/zkProofBuilder-p.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +2 -0
- package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -1
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
- package/_types/ethers/clients/createFhevmDecryptClient.d.ts +2 -2
- package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -1
- package/_types/ethers/clients/createFhevmEncryptClient.d.ts +2 -2
- package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -1
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +2 -2
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -1
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +2 -2
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -1
- package/_types/viem/clients/createFhevmDecryptClient.d.ts +2 -2
- package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -1
- package/_types/viem/clients/createFhevmEncryptClient.d.ts +2 -2
- package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -1
- package/_types/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
- package/_types/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
- package/_types/wasm/tfheModuleVersion-p.d.ts +1 -1
- package/_types/wasm/tfheModuleVersion-p.d.ts.map +1 -1
- package/_types/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
- package/_types/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
- package/_types/wasm/tkmsModuleVersion-p.d.ts +1 -1
- package/_types/wasm/tkmsModuleVersion-p.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/canDecryptPublicValue.ts +1 -1
- package/core/actions/base/canDecryptPublicValues.ts +1 -1
- package/core/actions/base/{fetchKmsSignedcryptedShares.ts → fetchKmsSigncryptedShares.ts} +16 -16
- package/core/actions/base/index.ts +5 -5
- package/core/actions/base/readKmsSignersContext.ts +2 -1
- package/core/actions/chain/parseSignedDecryptionPermit.ts +2 -2
- package/core/actions/chain/parseTransportKeyPair.ts +2 -1
- package/core/actions/decrypt/{decryptKmsSignedcryptedShares.ts → decryptKmsSigncryptedShares.ts} +12 -9
- package/core/actions/decrypt/decryptValue.ts +4 -1
- package/core/actions/decrypt/decryptValues.ts +4 -1
- package/core/actions/decrypt/decryptValuesFromPairs.ts +4 -1
- package/core/actions/decrypt/generateTransportKeyPair.ts +5 -3
- package/core/actions/decrypt/index.ts +4 -4
- package/core/actions/encrypt/encryptValue.ts +4 -1
- package/core/actions/encrypt/encryptValues.ts +4 -1
- package/core/actions/encrypt/generateZkProof.ts +9 -1
- package/core/actions/host/readFhevmExecutorContractData.ts +8 -8
- package/core/actions/host/readInputVerifierContractData.ts +2 -2
- package/core/actions/host/readKmsVerifierContractData.ts +8 -6
- package/core/actions/host/resolveFhevmConfig.ts +10 -1
- package/core/base/object.ts +38 -0
- package/core/base/semver.ts +231 -0
- package/core/base/uint.ts +33 -4
- package/core/chains/definitions/localTestnet.ts +3 -0
- package/core/chains/definitions/mainnet.ts +1 -0
- package/core/chains/definitions/sepolia.ts +6 -6
- package/core/clients/decorators/base.ts +8 -1
- package/core/clients/decorators/decrypt-p.ts +18 -0
- package/core/clients/decorators/decrypt.ts +10 -15
- package/core/clients/decorators/encrypt-p.ts +12 -7
- package/core/clients/decorators/encrypt.ts +6 -4
- package/core/coprocessor/ZkProof-p.ts +17 -5
- package/core/coprocessor/ZkProofBuilder-p.ts +5 -2
- package/core/coprocessor/encrypt.ts +6 -1
- package/core/errors/RelayerResponseStatusError.ts +14 -2
- package/core/host-contracts/HostContractVersion-p.ts +60 -3
- package/core/host-contracts/KmsSignersContext-p.ts +36 -5
- package/core/host-contracts/abi-fragments/fragments.ts +28 -0
- package/core/host-contracts/canDecryptValuesFromPairs.ts +1 -1
- package/core/host-contracts/checkAllowedForDecryption.ts +3 -3
- package/core/host-contracts/checkDelegation.ts +9 -9
- package/core/host-contracts/checkPersistAllowed.ts +10 -10
- package/core/host-contracts/getAclAddress-p.ts +2 -3
- package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +92 -0
- package/core/host-contracts/getCurrentKmsContextId-p.ts +8 -8
- package/core/host-contracts/getFhevmExecutorAddress-p.ts +2 -2
- package/core/host-contracts/getHandleVersion-p.ts +2 -3
- package/core/host-contracts/getHcuLimitAddress-p.ts +2 -3
- package/core/host-contracts/getInputVerifierAddress-p.ts +2 -3
- package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +7 -9
- package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +6 -7
- package/core/host-contracts/getSignersForKmsContext-p.ts +6 -8
- package/core/host-contracts/isAllowedForDecryption.ts +6 -6
- package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +7 -7
- package/core/host-contracts/isUserDecryptable.ts +3 -3
- package/core/host-contracts/persistAllowed.ts +6 -6
- package/core/host-contracts/readKmsSignersContext-p.ts +131 -41
- package/core/key/FheEncryptionKeyWasm-p.ts +24 -3
- package/core/key/deserializeFheEncryptionKey.ts +8 -1
- package/core/key/fetchFheEncryptionKey.ts +8 -4
- package/core/key/fetchFheEncryptionKeyBytes.ts +4 -2
- package/core/key/serializeFheEncryptionKey.ts +8 -2
- package/core/kms/KmsSigncryptedShares-p.ts +11 -1
- package/core/kms/SignedDecryptionPermit-p.ts +6 -1
- package/core/kms/TransportKeyPair-p.ts +56 -10
- package/core/kms/createKmsUserDecryptEip712.ts +4 -0
- package/core/kms/createKmsUserDecryptEip712V2.ts +159 -0
- package/core/kms/{decryptKmsSignedcryptedShares-p.ts → decryptKmsSigncryptedShares-p.ts} +12 -2
- package/core/kms/decryptValuesFromPairs.ts +6 -4
- package/core/kms/{fetchKmsSignedcryptedShares-p.ts → fetchKmsSigncryptedShares-p.ts} +12 -5
- package/core/kms/kmsExtraData.ts +82 -13
- package/core/kms/kmsUserDecryptEip712V2Types.ts +31 -0
- package/core/kms/publicDecrypt.ts +5 -3
- package/core/modules/decrypt/mock.ts +0 -35
- package/core/modules/decrypt/module/api-p.ts +88 -17
- package/core/modules/decrypt/module/index.ts +37 -34
- package/core/modules/decrypt/module/init-p.ts +60 -28
- package/core/modules/decrypt/types.ts +37 -65
- package/core/modules/encrypt/mock.ts +34 -4
- package/core/modules/encrypt/module/api-p.ts +66 -15
- package/core/modules/encrypt/module/index.ts +5 -3
- package/core/modules/encrypt/module/init-p.ts +99 -40
- package/core/modules/encrypt/types.ts +34 -2
- package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +2 -2
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +2 -2
- package/core/modules/relayer/module/RelayerAsyncRequest.ts +60 -4
- package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +9 -1
- package/core/modules/relayer/module/readErrorMessage.ts +56 -0
- package/core/runtime/CoreFhevm-p.ts +247 -22
- package/core/runtime/HyperWasmSolver-p.ts +417 -0
- package/core/runtime/ProtocolVersionResolver-p.ts +463 -0
- package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
- package/core/runtime/initFhevmEncryptRuntime-p.ts +1 -1
- package/core/runtime/initFhevmRuntime-p.ts +4 -1
- package/core/runtime/resolveFhevmVersions-p.ts +85 -0
- package/core/runtimeConfig-p.ts +17 -2
- package/core/types/auth.ts +12 -1
- package/core/types/coreFhevmClient.ts +89 -4
- package/core/types/coreFhevmRuntime.ts +3 -18
- package/core/types/fheEncryptionKey.ts +2 -0
- package/core/types/fhevmChain.ts +3 -0
- package/core/types/hostContract.ts +1 -0
- package/core/types/index.ts +1 -1
- package/core/types/kms-p.ts +2 -0
- package/core/types/kms.ts +48 -18
- package/core/types/kmsSignersContext.ts +8 -0
- package/core/types/logger.ts +1 -0
- package/core/types/moduleVersions.ts +35 -0
- package/core/types/tkms-p.ts +3 -0
- package/core/types/wasmAssets.ts +6 -0
- package/core/types/{zkProofBuilder.ts → zkProofBuilder-p.ts} +3 -2
- package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +3 -1
- package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
- package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
- package/ethers/clients/createFhevmDecryptClient.ts +2 -2
- package/ethers/clients/createFhevmEncryptClient.ts +2 -2
- package/ethers/internal/config.ts +2 -30
- package/package.json +1 -1
- package/viem/cleartext/createFhevmCleartextDecryptClient.ts +2 -2
- package/viem/cleartext/createFhevmCleartextEncryptClient.ts +2 -2
- package/viem/clients/createFhevmDecryptClient.ts +2 -2
- package/viem/clients/createFhevmEncryptClient.ts +2 -2
- package/viem/internal/config.ts +2 -30
- package/wasm/tfhe/v1.5.3/tfhe.d.ts +4 -0
- package/wasm/tfhe/v1.5.3/tfhe.js +8 -0
- package/wasm/tfhe/v1.6.0-dev/tfhe.d.ts +4 -0
- package/wasm/tfhe/v1.6.0-dev/tfhe.js +8 -0
- package/wasm/tfhe/v1.6.1/tfhe.d.ts +4 -0
- package/wasm/tfhe/v1.6.1/tfhe.js +8 -0
- package/wasm/tfheModuleVersion-p.ts +1 -1
- package/wasm/tkms/v0.13.10/kms_lib.d.ts +4 -0
- package/wasm/tkms/v0.13.10/kms_lib.js +8 -0
- package/wasm/tkms/v0.13.20-0/kms_lib.d.ts +4 -0
- package/wasm/tkms/v0.13.20-0/kms_lib.js +8 -0
- package/wasm/tkmsModuleVersion-p.ts +1 -1
- package/wasm/wasmBaseUrl.js +69 -4
- package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
- package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -11
- package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
- package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
- package/_cjs/core/types/fhevmDecryptionKey.js.map +0 -1
- package/_cjs/core/types/fhevmUser.js.map +0 -1
- package/_cjs/core/types/zkProofBuilder.js.map +0 -1
- package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +0 -1
- package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +0 -9
- package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +0 -1
- package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +0 -1
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +0 -1
- package/_esm/core/types/fhevmDecryptionKey.js +0 -2
- package/_esm/core/types/fhevmDecryptionKey.js.map +0 -1
- package/_esm/core/types/fhevmUser.js +0 -2
- package/_esm/core/types/fhevmUser.js.map +0 -1
- package/_esm/core/types/zkProofBuilder.js +0 -2
- package/_esm/core/types/zkProofBuilder.js.map +0 -1
- package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +0 -1
- package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +0 -1
- package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +0 -1
- package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +0 -1
- package/_types/core/types/fhevmDecryptionKey.d.ts +0 -4
- package/_types/core/types/fhevmDecryptionKey.d.ts.map +0 -1
- package/_types/core/types/fhevmUser.d.ts +0 -7
- package/_types/core/types/fhevmUser.d.ts.map +0 -1
- package/_types/core/types/zkProofBuilder.d.ts.map +0 -1
- package/core/types/fhevmDecryptionKey.ts +0 -8
- package/core/types/fhevmUser.ts +0 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
2
|
-
import type { BytesHex, ChecksummedAddress, Uint256BigInt
|
|
2
|
+
import type { BytesHex, ChecksummedAddress, Uint256BigInt } from '../types/primitives.js';
|
|
3
3
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
4
4
|
import {
|
|
5
5
|
assertIsKmsSignersContext,
|
|
@@ -7,8 +7,15 @@ import {
|
|
|
7
7
|
kmsSignersContextToExtraData,
|
|
8
8
|
} from './KmsSignersContext-p.js';
|
|
9
9
|
import { getCurrentKmsContextId } from './getCurrentKmsContextId-p.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { getCurrentKmsContextAndEpoch } from './getCurrentKmsContextAndEpoch-p.js';
|
|
11
|
+
import { getHostContractVersion, isVersionStrictlyBefore } from './HostContractVersion-p.js';
|
|
12
|
+
import {
|
|
13
|
+
assertIsKmsExtraData,
|
|
14
|
+
EXTRA_DATA_V1,
|
|
15
|
+
EXTRA_DATA_V2,
|
|
16
|
+
fromKmsExtraData,
|
|
17
|
+
toKmsExtraData,
|
|
18
|
+
} from '../kms/kmsExtraData.js';
|
|
12
19
|
import { getKmsContextSignersAndThresholdFromExtraData } from './getKmsContextSignersAndThresholdFromExtraData-p.js';
|
|
13
20
|
import { getKmsSignersAndThreshold } from './getKmsContextSignersAndThreshold-p.js';
|
|
14
21
|
|
|
@@ -21,9 +28,11 @@ type Context = {
|
|
|
21
28
|
};
|
|
22
29
|
|
|
23
30
|
type Parameters = {
|
|
24
|
-
readonly
|
|
31
|
+
readonly kmsVerifierAddress: ChecksummedAddress;
|
|
32
|
+
readonly protocolConfigAddress: ChecksummedAddress | undefined;
|
|
25
33
|
readonly forceRefresh?: boolean | undefined;
|
|
26
34
|
readonly kmsContextId?: Uint256BigInt | undefined;
|
|
35
|
+
readonly kmsEpochId?: Uint256BigInt | undefined;
|
|
27
36
|
};
|
|
28
37
|
|
|
29
38
|
type ReturnType = KmsSignersContext;
|
|
@@ -31,25 +40,30 @@ type ReturnType = KmsSignersContext;
|
|
|
31
40
|
////////////////////////////////////////////////////////////////////////////////
|
|
32
41
|
|
|
33
42
|
export async function readKmsSignersContext(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
34
|
-
const kmsVerifierContractAddress = parameters.address;
|
|
35
|
-
|
|
36
43
|
// TTL-cached
|
|
37
|
-
const
|
|
38
|
-
address:
|
|
44
|
+
const kmsVerifierVersion = await getHostContractVersion(context, {
|
|
45
|
+
address: parameters.kmsVerifierAddress,
|
|
39
46
|
});
|
|
40
47
|
|
|
41
|
-
if (isVersionStrictlyBefore(
|
|
42
|
-
return
|
|
43
|
-
} else {
|
|
44
|
-
return _readKmsSignersContext(context, parameters);
|
|
48
|
+
if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
|
|
49
|
+
return _readKmsSignersContext_Protocol_11(context, parameters);
|
|
45
50
|
}
|
|
51
|
+
|
|
52
|
+
if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 4 })) {
|
|
53
|
+
return _readKmsSignersContext_Protocol_12_13(context, parameters);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return _readKmsSignersContext_Protocol_14(context, parameters);
|
|
46
57
|
}
|
|
47
58
|
|
|
48
59
|
////////////////////////////////////////////////////////////////////////////////
|
|
49
60
|
|
|
50
|
-
|
|
61
|
+
// Protocol v0.11.0 (KMSVerifier < v0.2.0) had no context ID support, so the only valid
|
|
62
|
+
// context ID is 0. Any other value is invalid and should throw.
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
64
|
+
async function _readKmsSignersContext_Protocol_11(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
51
65
|
if (parameters.kmsContextId !== undefined && parameters.kmsContextId !== 0n) {
|
|
52
|
-
throw new Error('Impossible on
|
|
66
|
+
throw new Error('Impossible on protocol v0.11.0');
|
|
53
67
|
}
|
|
54
68
|
|
|
55
69
|
// TTL-Cached
|
|
@@ -58,6 +72,7 @@ async function _readKmsSignersContextV1(context: Context, parameters: Parameters
|
|
|
58
72
|
const data = createKmsSignersContext(new WeakRef(context.runtime), {
|
|
59
73
|
...parameters,
|
|
60
74
|
kmsContextId: 0n as Uint256BigInt,
|
|
75
|
+
kmsEpochId: 0n as Uint256BigInt,
|
|
61
76
|
kmsSigners: c.signers,
|
|
62
77
|
kmsSignerThreshold: c.threshold,
|
|
63
78
|
});
|
|
@@ -67,32 +82,81 @@ async function _readKmsSignersContextV1(context: Context, parameters: Parameters
|
|
|
67
82
|
|
|
68
83
|
////////////////////////////////////////////////////////////////////////////////
|
|
69
84
|
|
|
70
|
-
|
|
85
|
+
// Protocol v0.12.0 / v0.13.0 (KMSVerifier = v0.2.0 / v0.3.0)
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
87
|
+
async function _readKmsSignersContext_Protocol_12_13(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
88
|
+
if (parameters.kmsEpochId !== undefined && parameters.kmsEpochId !== 0n) {
|
|
89
|
+
throw new Error('kmsEpochId should be 0 on protocol v0.12.0 / v0.13.0');
|
|
90
|
+
}
|
|
91
|
+
|
|
71
92
|
let kmsContextId: Uint256BigInt;
|
|
72
|
-
if (parameters.kmsContextId
|
|
93
|
+
if (parameters.kmsContextId === undefined) {
|
|
94
|
+
// TTL-Cached
|
|
95
|
+
kmsContextId = await getCurrentKmsContextId(context, parameters);
|
|
96
|
+
} else {
|
|
73
97
|
if (parameters.kmsContextId === 0n) {
|
|
74
|
-
throw new Error('
|
|
98
|
+
throw new Error('kmsContextId cannot be 0 on protocol v0.12.0 / v0.13.0');
|
|
75
99
|
}
|
|
76
100
|
kmsContextId = parameters.kmsContextId;
|
|
77
|
-
} else {
|
|
78
|
-
// TTL-Cached
|
|
79
|
-
kmsContextId = await getCurrentKmsContextId(context, parameters);
|
|
80
101
|
}
|
|
81
102
|
|
|
82
|
-
|
|
103
|
+
const extraData = toKmsExtraData({
|
|
104
|
+
version: EXTRA_DATA_V1,
|
|
105
|
+
kmsContextId,
|
|
106
|
+
kmsEpochId: 0n as Uint256BigInt,
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Permanent-Cached
|
|
110
|
+
const c = await getKmsContextSignersAndThresholdFromExtraData(context, {
|
|
111
|
+
...parameters,
|
|
112
|
+
extraData,
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
return createKmsSignersContext(new WeakRef(context.runtime), {
|
|
83
116
|
...parameters,
|
|
84
117
|
kmsContextId,
|
|
118
|
+
kmsEpochId: 0n as Uint256BigInt,
|
|
119
|
+
kmsSigners: c.signers,
|
|
120
|
+
kmsSignerThreshold: c.threshold,
|
|
85
121
|
});
|
|
86
122
|
}
|
|
87
123
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
124
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
125
|
+
|
|
126
|
+
// Protocol v0.14.0+ (KMSVerifier = v0.4.0+)
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
128
|
+
async function _readKmsSignersContext_Protocol_14(context: Context, parameters: Parameters): Promise<ReturnType> {
|
|
129
|
+
if (parameters.protocolConfigAddress === undefined) {
|
|
130
|
+
throw new Error('protocolConfigAddress is required on protocol v0.14.0+');
|
|
131
|
+
}
|
|
132
|
+
const protocolConfigAddress = parameters.protocolConfigAddress;
|
|
133
|
+
|
|
134
|
+
let kmsContextId: Uint256BigInt;
|
|
135
|
+
if (parameters.kmsContextId === undefined) {
|
|
136
|
+
// TTL-Cached
|
|
137
|
+
({ contextId: kmsContextId } = await getCurrentKmsContextAndEpoch(context, { protocolConfigAddress }));
|
|
138
|
+
} else {
|
|
139
|
+
if (parameters.kmsContextId === 0n) {
|
|
140
|
+
throw new Error('kmsContextId cannot be 0 on protocol v0.14.0+');
|
|
141
|
+
}
|
|
142
|
+
kmsContextId = parameters.kmsContextId;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
let kmsEpochId: Uint256BigInt;
|
|
146
|
+
if (parameters.kmsEpochId === undefined) {
|
|
147
|
+
// TTL-Cached
|
|
148
|
+
({ epochId: kmsEpochId } = await getCurrentKmsContextAndEpoch(context, { protocolConfigAddress }));
|
|
149
|
+
} else {
|
|
150
|
+
if (parameters.kmsEpochId === 0n) {
|
|
151
|
+
throw new Error('kmsEpochId cannot be 0 on protocol v0.14.0+');
|
|
152
|
+
}
|
|
153
|
+
kmsEpochId = parameters.kmsEpochId;
|
|
154
|
+
}
|
|
155
|
+
|
|
93
156
|
const extraData = toKmsExtraData({
|
|
94
|
-
version:
|
|
157
|
+
version: EXTRA_DATA_V2,
|
|
95
158
|
kmsContextId,
|
|
159
|
+
kmsEpochId,
|
|
96
160
|
});
|
|
97
161
|
|
|
98
162
|
// Permanent-Cached
|
|
@@ -101,14 +165,13 @@ async function _readKmsSignersContextForContextId(
|
|
|
101
165
|
extraData,
|
|
102
166
|
});
|
|
103
167
|
|
|
104
|
-
|
|
168
|
+
return createKmsSignersContext(new WeakRef(context.runtime), {
|
|
105
169
|
...parameters,
|
|
106
170
|
kmsContextId,
|
|
171
|
+
kmsEpochId,
|
|
107
172
|
kmsSigners: c.signers,
|
|
108
173
|
kmsSignerThreshold: c.threshold,
|
|
109
174
|
});
|
|
110
|
-
|
|
111
|
-
return data;
|
|
112
175
|
}
|
|
113
176
|
|
|
114
177
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -130,13 +193,24 @@ async function _readKmsSignersContextForContextId(
|
|
|
130
193
|
* - `requestedExtraData` — `kmsSignersContextToExtraData(requestedKmsSignersContext)`.
|
|
131
194
|
* - `relayerKmsContextId` — `fromKmsExtraData(relayerExtraData).kmsContextId`.
|
|
132
195
|
*
|
|
196
|
+
* ### Host-Contract Compatibility
|
|
197
|
+
*
|
|
198
|
+
* `extraData` is versioned independently from the host-contract package. The
|
|
199
|
+
* currently supported combinations are:
|
|
200
|
+
*
|
|
201
|
+
* - host-contracts v11 support `extraData` v0.
|
|
202
|
+
* - host-contracts v12 and v13 support `extraData` v0 and v1.
|
|
203
|
+
* - host-contracts v14 support `extraData` v0, v1, and v2.
|
|
204
|
+
*
|
|
133
205
|
* ### Resolution (checked in order)
|
|
134
206
|
*
|
|
135
207
|
* 1. `relayerExtraData === requestedExtraData` → exact byte match, return
|
|
136
208
|
* `requestedKmsSignersContext`. This is the **only** path that trusts cached data.
|
|
137
|
-
* 2.
|
|
209
|
+
* 2. In `'exact'` mode, any byte mismatch → **always throw**. This mode does
|
|
210
|
+
* not parse, refresh, or reconcile different `extraData`.
|
|
211
|
+
* 3. Serialization version mismatch → **always throw**. The SDK and relayer must
|
|
138
212
|
* agree on the `extraData` encoding format, even if the context ID is the same.
|
|
139
|
-
*
|
|
213
|
+
* 4. Context IDs differ → **full on-chain refetch**. The cached context is never
|
|
140
214
|
* reused, because any mismatch means on-chain state may have diverged
|
|
141
215
|
* (rotation, destruction, signer changes, etc.).
|
|
142
216
|
* - Context is **valid** on-chain (current or non-destroyed) → return it.
|
|
@@ -144,26 +218,31 @@ async function _readKmsSignersContextForContextId(
|
|
|
144
218
|
*
|
|
145
219
|
* ### Modes
|
|
146
220
|
*
|
|
147
|
-
* - `'
|
|
148
|
-
* Rejects
|
|
221
|
+
* - `'exact'` — Accept only step 1 (byte-for-byte `extraData` equality).
|
|
222
|
+
* Rejects any relayer/context drift without parsing or on-chain recovery.
|
|
223
|
+
* - `'strict'` — Accept step 1 (exact match) or both `relayerKmsContextId === currentKmsContextId`
|
|
224
|
+
* and `relayerKmsEpochId === currentKmsEpochId`. Rejects valid-but-not-current contexts.
|
|
225
|
+
* The epoch check is required because RFC 005 introduces same-context epoch rotations
|
|
226
|
+
* (new shares, same party set) — a stale epoch must be rejected even if the context matches.
|
|
149
227
|
* - `'loose'` — Accept any on-chain valid context (non-destroyed, in range),
|
|
150
228
|
* regardless of whether it is current. Covers context rotations in either direction.
|
|
151
229
|
*/
|
|
152
230
|
|
|
153
231
|
////////////////////////////////////////////////////////////////////////////////
|
|
154
232
|
|
|
155
|
-
export type ReconcileMode = 'strict' | 'loose';
|
|
233
|
+
export type ReconcileMode = 'exact' | 'strict' | 'loose';
|
|
156
234
|
|
|
157
235
|
export async function reconcileKmsSignersContext(
|
|
158
236
|
context: Context,
|
|
159
237
|
parameters: {
|
|
160
|
-
readonly
|
|
238
|
+
readonly kmsVerifierAddress: ChecksummedAddress;
|
|
239
|
+
readonly protocolConfigAddress: ChecksummedAddress | undefined;
|
|
161
240
|
readonly requestedKmsSignersContext: KmsSignersContext;
|
|
162
241
|
readonly relayerExtraData: BytesHex;
|
|
163
242
|
readonly mode: ReconcileMode;
|
|
164
243
|
},
|
|
165
244
|
): Promise<KmsSignersContext> {
|
|
166
|
-
const {
|
|
245
|
+
const { kmsVerifierAddress, protocolConfigAddress, requestedKmsSignersContext, relayerExtraData, mode } = parameters;
|
|
167
246
|
|
|
168
247
|
assertIsKmsExtraData(relayerExtraData, {});
|
|
169
248
|
assertIsKmsSignersContext(requestedKmsSignersContext, {});
|
|
@@ -175,6 +254,13 @@ export async function reconcileKmsSignersContext(
|
|
|
175
254
|
return requestedKmsSignersContext;
|
|
176
255
|
}
|
|
177
256
|
|
|
257
|
+
if (mode === 'exact') {
|
|
258
|
+
throw new Error(
|
|
259
|
+
`Exact reconciliation failed: relayer extraData ${relayerExtraData} ` +
|
|
260
|
+
`does not match requested extraData ${requestedExtraData}.`,
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
178
264
|
// Bytes differ — extract and compare serialization versions.
|
|
179
265
|
const relayerKmsExtraData = fromKmsExtraData(relayerExtraData);
|
|
180
266
|
const requestedKmsExtraData = fromKmsExtraData(requestedExtraData);
|
|
@@ -190,17 +276,19 @@ export async function reconcileKmsSignersContext(
|
|
|
190
276
|
|
|
191
277
|
// Versions match but context IDs differ — verify the relayer's context on-chain.
|
|
192
278
|
const relayerKmsContextId = relayerKmsExtraData.kmsContextId;
|
|
279
|
+
const relayerKmsEpochId = relayerKmsExtraData.kmsEpochId;
|
|
193
280
|
|
|
194
281
|
// 2. In strict mode, only accept if the relayer used the current on-chain context.
|
|
195
282
|
if (mode === 'strict') {
|
|
196
283
|
// `readKmsSignersContext` with `forceRefresh` fetches the current context.
|
|
197
284
|
// If `relayerKmsContextId` matches current, we're good.
|
|
198
285
|
const currentContext = await readKmsSignersContext(context, {
|
|
199
|
-
|
|
286
|
+
kmsVerifierAddress,
|
|
287
|
+
protocolConfigAddress,
|
|
200
288
|
forceRefresh: true,
|
|
201
289
|
});
|
|
202
290
|
|
|
203
|
-
if (currentContext.id !== relayerKmsContextId) {
|
|
291
|
+
if (currentContext.id !== relayerKmsContextId || currentContext.epochId !== relayerKmsEpochId) {
|
|
204
292
|
throw new Error(
|
|
205
293
|
`Strict reconciliation failed: relayer used context ${relayerKmsContextId}, ` +
|
|
206
294
|
`but the current on-chain context is ${currentContext.id}.`,
|
|
@@ -211,11 +299,13 @@ export async function reconcileKmsSignersContext(
|
|
|
211
299
|
}
|
|
212
300
|
|
|
213
301
|
// 3. Loose mode — accept any valid (non-destroyed, in-range) context.
|
|
214
|
-
// `readKmsSignersContext` with `forceRefresh` + specific `kmsContextId` will
|
|
302
|
+
// `readKmsSignersContext` with `forceRefresh` + specific `kmsContextId`/`kmsEpochId` will
|
|
215
303
|
// throw if the context is destroyed or out of range.
|
|
216
304
|
return readKmsSignersContext(context, {
|
|
217
|
-
|
|
305
|
+
kmsVerifierAddress,
|
|
306
|
+
protocolConfigAddress,
|
|
218
307
|
kmsContextId: relayerKmsContextId,
|
|
308
|
+
kmsEpochId: relayerKmsEpochId,
|
|
219
309
|
forceRefresh: true,
|
|
220
310
|
});
|
|
221
311
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
2
|
+
import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
|
|
2
3
|
import type {
|
|
3
4
|
FheEncryptionCrs,
|
|
4
5
|
FheEncryptionKeyMetadata,
|
|
@@ -21,6 +22,7 @@ class FheEncryptionKeyWasmImpl implements FheEncryptionKeyWasm {
|
|
|
21
22
|
readonly #crs: FheEncryptionCrs;
|
|
22
23
|
readonly #publicKey: FheEncryptionPublicKey;
|
|
23
24
|
readonly #metadata: FheEncryptionKeyMetadata;
|
|
25
|
+
readonly #tfheVersion: TfheVersion;
|
|
24
26
|
|
|
25
27
|
constructor(
|
|
26
28
|
privateToken: symbol,
|
|
@@ -29,6 +31,7 @@ class FheEncryptionKeyWasmImpl implements FheEncryptionKeyWasm {
|
|
|
29
31
|
readonly publicKey: FheEncryptionPublicKey;
|
|
30
32
|
readonly crs: FheEncryptionCrs;
|
|
31
33
|
readonly metadata: FheEncryptionKeyMetadata;
|
|
34
|
+
readonly tfheVersion: TfheVersion;
|
|
32
35
|
},
|
|
33
36
|
) {
|
|
34
37
|
if (privateToken !== PRIVATE_TOKEN) {
|
|
@@ -38,6 +41,7 @@ class FheEncryptionKeyWasmImpl implements FheEncryptionKeyWasm {
|
|
|
38
41
|
this.#publicKey = parameters.publicKey;
|
|
39
42
|
this.#crs = parameters.crs;
|
|
40
43
|
this.#metadata = Object.freeze({ ...parameters.metadata });
|
|
44
|
+
this.#tfheVersion = parameters.tfheVersion;
|
|
41
45
|
|
|
42
46
|
Object.freeze(this);
|
|
43
47
|
}
|
|
@@ -50,17 +54,29 @@ class FheEncryptionKeyWasmImpl implements FheEncryptionKeyWasm {
|
|
|
50
54
|
return this.#crs;
|
|
51
55
|
}
|
|
52
56
|
|
|
57
|
+
public get tfheVersion(): TfheVersion {
|
|
58
|
+
return this.#tfheVersion;
|
|
59
|
+
}
|
|
60
|
+
|
|
53
61
|
public get metadata(): FheEncryptionKeyMetadata {
|
|
54
62
|
return this.#metadata;
|
|
55
63
|
}
|
|
56
64
|
|
|
57
|
-
public static [VERIFY_FUNC](
|
|
65
|
+
public static [VERIFY_FUNC](
|
|
66
|
+
privateToken: symbol,
|
|
67
|
+
instance: unknown,
|
|
68
|
+
owner: FhevmRuntime,
|
|
69
|
+
tfheVersion: TfheVersion,
|
|
70
|
+
): void {
|
|
58
71
|
if (privateToken !== PRIVATE_TOKEN) {
|
|
59
72
|
throw new Error('Unauthorized');
|
|
60
73
|
}
|
|
61
74
|
if (!(instance instanceof FheEncryptionKeyWasmImpl)) {
|
|
62
75
|
throw new Error('Invalid FheEncryptionKey instance');
|
|
63
76
|
}
|
|
77
|
+
if (tfheVersion !== instance.#tfheVersion) {
|
|
78
|
+
throw new Error('TfheVersion mismatch');
|
|
79
|
+
}
|
|
64
80
|
assertOwnedBy({
|
|
65
81
|
actualOwner: instance.#owner,
|
|
66
82
|
expectedOwner: owner,
|
|
@@ -81,6 +97,7 @@ export function createFheEncryptionKeyWasm(
|
|
|
81
97
|
readonly publicKey: FheEncryptionPublicKey;
|
|
82
98
|
readonly crs: FheEncryptionCrs;
|
|
83
99
|
readonly metadata: FheEncryptionKeyMetadata;
|
|
100
|
+
readonly tfheVersion: TfheVersion;
|
|
84
101
|
},
|
|
85
102
|
): FheEncryptionKeyWasm {
|
|
86
103
|
return new FheEncryptionKeyWasmImpl(PRIVATE_TOKEN, owner, parameters);
|
|
@@ -92,6 +109,10 @@ export function createFheEncryptionKeyWasm(
|
|
|
92
109
|
* Verifies that the given `FheEncryptionKeyWasm` instance is owned
|
|
93
110
|
* by the given runtime. Throws if not.
|
|
94
111
|
*/
|
|
95
|
-
export function assertFheEncryptionKeyWasmOwnedBy(
|
|
96
|
-
|
|
112
|
+
export function assertFheEncryptionKeyWasmOwnedBy(
|
|
113
|
+
data: FheEncryptionKeyWasm,
|
|
114
|
+
owner: FhevmRuntime,
|
|
115
|
+
tfheVersion: TfheVersion,
|
|
116
|
+
): void {
|
|
117
|
+
FheEncryptionKeyWasmImpl[VERIFY_FUNC](PRIVATE_TOKEN, data, owner, tfheVersion);
|
|
97
118
|
}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import type { WithEncrypt } from '../types/coreFhevmRuntime.js';
|
|
2
2
|
import type { FheEncryptionKeyWasm, FheEncryptionKeyBytes } from '../types/fheEncryptionKey.js';
|
|
3
|
+
import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
|
|
3
4
|
import { createFheEncryptionKeyWasm } from './FheEncryptionKeyWasm-p.js';
|
|
4
5
|
|
|
5
6
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
7
|
|
|
7
8
|
export async function deserializeFheEncryptionKey(
|
|
8
|
-
context: {
|
|
9
|
+
context: {
|
|
10
|
+
readonly runtime: WithEncrypt;
|
|
11
|
+
readonly tfheVersion: TfheVersion;
|
|
12
|
+
},
|
|
9
13
|
parameters: FheEncryptionKeyBytes,
|
|
10
14
|
): Promise<FheEncryptionKeyWasm> {
|
|
11
15
|
const publicKeyNative = await context.runtime.encrypt.deserializeFheEncryptionPublicKey({
|
|
12
16
|
publicKeyBytes: parameters.publicKeyBytes,
|
|
17
|
+
tfheVersion: context.tfheVersion,
|
|
13
18
|
});
|
|
14
19
|
|
|
15
20
|
const crsNative = await context.runtime.encrypt.deserializeFheEncryptionCrs({
|
|
16
21
|
crsBytes: parameters.crsBytes,
|
|
22
|
+
tfheVersion: context.tfheVersion,
|
|
17
23
|
});
|
|
18
24
|
|
|
19
25
|
return createFheEncryptionKeyWasm(new WeakRef(context.runtime), {
|
|
20
26
|
publicKey: publicKeyNative,
|
|
21
27
|
crs: crsNative,
|
|
22
28
|
metadata: parameters.metadata,
|
|
29
|
+
tfheVersion: context.tfheVersion,
|
|
23
30
|
});
|
|
24
31
|
}
|
|
@@ -2,12 +2,17 @@ import type { RelayerKeyUrlOptions } from '../types/relayer.js';
|
|
|
2
2
|
import type { WithEncrypt } from '../types/coreFhevmRuntime.js';
|
|
3
3
|
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
4
4
|
import type { FheEncryptionKeyWasm } from '../types/fheEncryptionKey.js';
|
|
5
|
+
import type { TfheVersion } from '../../wasm/tfhe/TfheApi.js';
|
|
5
6
|
import { deserializeFheEncryptionKey } from './deserializeFheEncryptionKey.js';
|
|
6
7
|
import { globalFheEncryptionKeyCache } from './FheEncryptionKeyCache-p.js';
|
|
7
8
|
|
|
8
9
|
export async function fetchFheEncryptionKeyWasm(
|
|
9
|
-
context: {
|
|
10
|
-
|
|
10
|
+
context: {
|
|
11
|
+
readonly chain: FhevmChain;
|
|
12
|
+
readonly runtime: WithEncrypt;
|
|
13
|
+
readonly tfheVersion: TfheVersion;
|
|
14
|
+
},
|
|
15
|
+
parameters: {
|
|
11
16
|
readonly options?: RelayerKeyUrlOptions | undefined;
|
|
12
17
|
readonly ignoreCache?: boolean | undefined;
|
|
13
18
|
},
|
|
@@ -19,8 +24,7 @@ export async function fetchFheEncryptionKeyWasm(
|
|
|
19
24
|
globalFheEncryptionKeyCache.ensureBytes({
|
|
20
25
|
owner: runtime,
|
|
21
26
|
relayerUrl,
|
|
22
|
-
fetcher: () =>
|
|
23
|
-
runtime.relayer.fetchFheEncryptionKeyBytes({ relayerUrl, chainId: context.chain.id }, parameters ?? {}),
|
|
27
|
+
fetcher: () => runtime.relayer.fetchFheEncryptionKeyBytes({ relayerUrl, chainId: context.chain.id }, parameters),
|
|
24
28
|
metadata: { chainId: context.chain.id, relayerUrl },
|
|
25
29
|
});
|
|
26
30
|
|
|
@@ -10,7 +10,10 @@ import { asFhevmRuntimeWith } from '../runtime/CoreFhevmRuntime-p.js';
|
|
|
10
10
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
export async function fetchFheEncryptionKeyBytes(
|
|
13
|
-
context: {
|
|
13
|
+
context: {
|
|
14
|
+
readonly chain: FhevmChain;
|
|
15
|
+
readonly runtime: FhevmRuntime;
|
|
16
|
+
},
|
|
14
17
|
parameters?: {
|
|
15
18
|
readonly options?: RelayerKeyUrlOptions | undefined;
|
|
16
19
|
readonly ignoreCache?: boolean | undefined;
|
|
@@ -51,7 +54,6 @@ export async function fetchFheEncryptionKeyBytes(
|
|
|
51
54
|
* or `undefined` if the encrypt module is not available on the runtime.
|
|
52
55
|
*/
|
|
53
56
|
function _getSerializeFn(context: {
|
|
54
|
-
readonly chain: FhevmChain;
|
|
55
57
|
readonly runtime: FhevmRuntime;
|
|
56
58
|
}): ((args: FheEncryptionKeyWasm) => Promise<FheEncryptionKeyBytes>) | undefined {
|
|
57
59
|
// Try to get a serialize fn if the encrypt module is available
|
|
@@ -11,17 +11,23 @@ import {
|
|
|
11
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
12
12
|
|
|
13
13
|
export async function serializeFheEncryptionKeyWasm(
|
|
14
|
-
context: {
|
|
14
|
+
context: {
|
|
15
|
+
readonly runtime: WithEncrypt;
|
|
16
|
+
},
|
|
15
17
|
parameters: FheEncryptionKeyWasm,
|
|
16
18
|
): Promise<FheEncryptionKeyBytes> {
|
|
17
|
-
|
|
19
|
+
const tfheVersion = parameters.tfheVersion;
|
|
20
|
+
|
|
21
|
+
assertFheEncryptionKeyWasmOwnedBy(parameters, context.runtime, tfheVersion);
|
|
18
22
|
|
|
19
23
|
const publicKeyBytes: FheEncryptionPublicKeyBytes = await context.runtime.encrypt.serializeFheEncryptionPublicKey({
|
|
20
24
|
publicKey: parameters.publicKey,
|
|
25
|
+
tfheVersion,
|
|
21
26
|
});
|
|
22
27
|
|
|
23
28
|
const crsBytes: FheEncryptionCrsBytes = await context.runtime.encrypt.serializeFheEncryptionCrs({
|
|
24
29
|
crs: parameters.crs,
|
|
30
|
+
tfheVersion,
|
|
25
31
|
});
|
|
26
32
|
|
|
27
33
|
const metadata: FheEncryptionKeyMetadata = Object.freeze({
|
|
@@ -4,6 +4,7 @@ import type { BytesHex, BytesHexNo0x, ChecksummedAddress } from '../types/primit
|
|
|
4
4
|
import type { KmsSignersContext } from '../types/kmsSignersContext.js';
|
|
5
5
|
import type { FhevmRuntime } from '../types/coreFhevmRuntime.js';
|
|
6
6
|
import type { FhevmChain } from '../types/fhevmChain.js';
|
|
7
|
+
import type { TkmsVersion } from '../../wasm/tkms/KmsLibApi.js';
|
|
7
8
|
import { assertIsKmsSignersContext } from '../host-contracts/KmsSignersContext-p.js';
|
|
8
9
|
import { ensure0x } from '../base/string.js';
|
|
9
10
|
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
@@ -40,6 +41,7 @@ class KmsSigncryptedSharesImpl implements KmsSigncryptedShares {
|
|
|
40
41
|
eip712Signature: metadata.eip712Signature,
|
|
41
42
|
eip712SignerAddress: metadata.eip712SignerAddress,
|
|
42
43
|
handles: [...metadata.handles],
|
|
44
|
+
tkmsVersion: metadata.tkmsVersion,
|
|
43
45
|
};
|
|
44
46
|
Object.freeze(this.#metadata);
|
|
45
47
|
Object.freeze(this.#metadata.handles);
|
|
@@ -47,6 +49,13 @@ class KmsSigncryptedSharesImpl implements KmsSigncryptedShares {
|
|
|
47
49
|
this.#shares = [...shares];
|
|
48
50
|
Object.freeze(this.#shares);
|
|
49
51
|
this.#shares.forEach((share) => Object.freeze(share));
|
|
52
|
+
if (this.#shares.length === 0) {
|
|
53
|
+
throw new Error('Expected at least one signcrypted share.');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public get tkmsVersion(): TkmsVersion {
|
|
58
|
+
return this.#metadata.tkmsVersion;
|
|
50
59
|
}
|
|
51
60
|
|
|
52
61
|
public [GET_SHARES_FUNC](token: symbol): readonly KmsSigncryptedShare[] {
|
|
@@ -136,7 +145,8 @@ export async function createKmsSigncryptedShares(
|
|
|
136
145
|
|
|
137
146
|
// Reconcile KMS signer context using 'loose' mode.
|
|
138
147
|
const reconciledKmsSignersContext: KmsSignersContext = await reconcileKmsSignersContext(context, {
|
|
139
|
-
|
|
148
|
+
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address as ChecksummedAddress,
|
|
149
|
+
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address as ChecksummedAddress | undefined,
|
|
140
150
|
relayerExtraData,
|
|
141
151
|
requestedKmsSignersContext: metadata.kmsSignersContext,
|
|
142
152
|
mode: 'loose',
|
|
@@ -132,6 +132,10 @@ abstract class SignedDecryptionPermitBaseImpl {
|
|
|
132
132
|
public get kmsContextId(): Uint256BigInt {
|
|
133
133
|
return fromKmsExtraData(this.#eip712.message.extraData).kmsContextId;
|
|
134
134
|
}
|
|
135
|
+
|
|
136
|
+
public get kmsEpochId(): Uint256BigInt {
|
|
137
|
+
return fromKmsExtraData(this.#eip712.message.extraData).kmsEpochId;
|
|
138
|
+
}
|
|
135
139
|
}
|
|
136
140
|
|
|
137
141
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -343,7 +347,8 @@ export async function signDecryptionPermit(
|
|
|
343
347
|
parameters: SignDecryptionPermitParameters,
|
|
344
348
|
): Promise<SignedDecryptionPermit> {
|
|
345
349
|
const kmsSignersContext = await readKmsSignersContext(context, {
|
|
346
|
-
|
|
350
|
+
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address as ChecksummedAddress,
|
|
351
|
+
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address as ChecksummedAddress | undefined,
|
|
347
352
|
});
|
|
348
353
|
|
|
349
354
|
const extraData: BytesHex = kmsSignersContextToExtraData(kmsSignersContext);
|