@fhevm/sdk 0.13.2-1 → 0.14.0-12
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/_version.js.map +1 -1
- package/_cjs/core/actions/base/canUseUnifiedDecryptionPermit.js +11 -0
- package/_cjs/core/actions/base/canUseUnifiedDecryptionPermit.js.map +1 -0
- package/_cjs/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js +0 -4
- package/_cjs/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js.map +1 -1
- package/_cjs/core/actions/base/index.js +7 -1
- package/_cjs/core/actions/base/index.js.map +1 -1
- package/_cjs/core/actions/base/signUnifiedDecryptionPermit.js +10 -0
- package/_cjs/core/actions/base/signUnifiedDecryptionPermit.js.map +1 -0
- package/_cjs/core/actions/host/resolveChainId.js +3 -1
- package/_cjs/core/actions/host/resolveChainId.js.map +1 -1
- package/_cjs/core/clients/decorators/base.js +2 -0
- package/_cjs/core/clients/decorators/base.js.map +1 -1
- package/_cjs/core/errors/Erc1271Error.js +48 -0
- package/_cjs/core/errors/Erc1271Error.js.map +1 -0
- package/_cjs/core/frozenContext/fhevmClientFrozenContext-p.js.map +1 -1
- package/_cjs/core/frozenContext/resolveFhevmClientFrozenContext-p.js +11 -1
- package/_cjs/core/frozenContext/resolveFhevmClientFrozenContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js +0 -7
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_cjs/core/key/FheEncryptionKeyCache-p.js +3 -0
- package/_cjs/core/key/FheEncryptionKeyCache-p.js.map +1 -1
- package/_cjs/core/key/fetchFheEncryptionKey.js +13 -1
- package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +1 -27
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +22 -14
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
- package/_cjs/core/kms/decryptValuesFromPairs.js +5 -14
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +8 -0
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/init-p.js +7 -1
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +14 -2
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/mock.js +5 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +20 -0
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +1 -0
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js +1 -0
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchFeatures.js +35 -0
- package/_cjs/core/modules/relayer/module/fetchFeatures.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +1 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +1 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -1
- package/_cjs/core/modules/relayer/module/index.js +2 -0
- package/_cjs/core/modules/relayer/module/index.js.map +1 -1
- package/_cjs/core/relayerFeatures/ensureRelayerFeatures-p.js +25 -0
- package/_cjs/core/relayerFeatures/ensureRelayerFeatures-p.js.map +1 -0
- package/_cjs/core/relayerFeatures/resolveRelayerFeatures-p.js +7 -0
- package/_cjs/core/relayerFeatures/resolveRelayerFeatures-p.js.map +1 -0
- package/_cjs/core/runtime/CoreFhevm-p.js +58 -2
- package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
- package/_cjs/core/runtime/HyperWasmSolver-p.js +44 -4
- package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_cjs/core/runtime/ProtocolVersionResolver-p.js +10 -4
- package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -1
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
- package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
- package/_cjs/core/runtime/initFhevmRuntime-p.js +1 -1
- package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
- package/_cjs/core/runtime/sdkProtocolApiVersion.js +1 -1
- package/_cjs/core/runtime/sdkProtocolApiVersion.js.map +1 -1
- package/_cjs/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js +73 -0
- package/_cjs/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js.map +1 -0
- package/_cjs/ethers/internal/ethereum-ct.js +2 -11
- package/_cjs/ethers/internal/ethereum-ct.js.map +1 -1
- package/_cjs/ethers/internal/ethereum.js +33 -0
- package/_cjs/ethers/internal/ethereum.js.map +1 -1
- package/_cjs/ethers/internal/utils.js +17 -0
- package/_cjs/ethers/internal/utils.js.map +1 -1
- package/_cjs/viem/internal/ethereum-ct.js +2 -8
- package/_cjs/viem/internal/ethereum-ct.js.map +1 -1
- package/_cjs/viem/internal/ethereum.js +34 -4
- package/_cjs/viem/internal/ethereum.js.map +1 -1
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
- package/_cjs/wasm/tkms/KmsLibApi.d.ts +1 -1
- package/_cjs/wasm/tkms/loadKmsLib.js +13 -4
- package/_cjs/wasm/tkms/loadKmsLib.js.map +3 -3
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.js +1887 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.js.map +7 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +35 -0
- package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js.map +7 -0
- package/_esm/core/_version.js +1 -1
- package/_esm/core/_version.js.map +1 -1
- package/_esm/core/actions/base/canUseUnifiedDecryptionPermit.js +21 -0
- package/_esm/core/actions/base/canUseUnifiedDecryptionPermit.js.map +1 -0
- package/_esm/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js +0 -4
- package/_esm/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js.map +1 -1
- package/_esm/core/actions/base/index.js +9 -2
- package/_esm/core/actions/base/index.js.map +1 -1
- package/_esm/core/actions/base/signUnifiedDecryptionPermit.js +7 -0
- package/_esm/core/actions/base/signUnifiedDecryptionPermit.js.map +1 -0
- package/_esm/core/actions/host/resolveChainId.js +3 -1
- package/_esm/core/actions/host/resolveChainId.js.map +1 -1
- package/_esm/core/clients/decorators/base.js +2 -0
- package/_esm/core/clients/decorators/base.js.map +1 -1
- package/_esm/core/errors/Erc1271Error.js +45 -0
- package/_esm/core/errors/Erc1271Error.js.map +1 -0
- package/_esm/core/frozenContext/fhevmClientFrozenContext-p.js.map +1 -1
- package/_esm/core/frozenContext/resolveFhevmClientFrozenContext-p.js +12 -1
- package/_esm/core/frozenContext/resolveFhevmClientFrozenContext-p.js.map +1 -1
- package/_esm/core/host-contracts/readKmsSignersContext-p.js +9 -40
- package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_esm/core/key/FheEncryptionKeyCache-p.js +3 -0
- package/_esm/core/key/FheEncryptionKeyCache-p.js.map +1 -1
- package/_esm/core/key/fetchFheEncryptionKey.js +13 -1
- package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermit-p.js +6 -47
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js +35 -21
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
- package/_esm/core/kms/decryptValuesFromPairs.js +14 -32
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +11 -0
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
- package/_esm/core/modules/decrypt/module/api-p.js +5 -3
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/decrypt/module/init-p.js +7 -1
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +14 -2
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/mock.js +5 -0
- package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +20 -0
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +1 -0
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js +1 -0
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchFeatures.js +68 -0
- package/_esm/core/modules/relayer/module/fetchFeatures.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +1 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +1 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -1
- package/_esm/core/modules/relayer/module/index.js +2 -0
- package/_esm/core/modules/relayer/module/index.js.map +1 -1
- package/_esm/core/relayerFeatures/ensureRelayerFeatures-p.js +61 -0
- package/_esm/core/relayerFeatures/ensureRelayerFeatures-p.js.map +1 -0
- package/_esm/core/relayerFeatures/resolveRelayerFeatures-p.js +15 -0
- package/_esm/core/relayerFeatures/resolveRelayerFeatures-p.js.map +1 -0
- package/_esm/core/runtime/CoreFhevm-p.js +61 -2
- package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
- package/_esm/core/runtime/HyperWasmSolver-p.js +51 -6
- package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_esm/core/runtime/ProtocolVersionResolver-p.js +10 -4
- package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -1
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
- package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
- package/_esm/core/runtime/initFhevmRuntime-p.js +1 -1
- package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
- package/_esm/core/runtime/sdkProtocolApiVersion.js +8 -9
- package/_esm/core/runtime/sdkProtocolApiVersion.js.map +1 -1
- package/_esm/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js +118 -0
- package/_esm/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js.map +1 -0
- package/_esm/ethers/internal/ethereum-ct.js +4 -13
- package/_esm/ethers/internal/ethereum-ct.js.map +1 -1
- package/_esm/ethers/internal/ethereum.js +45 -2
- package/_esm/ethers/internal/ethereum.js.map +1 -1
- package/_esm/ethers/internal/utils.js +20 -0
- package/_esm/ethers/internal/utils.js.map +1 -1
- package/_esm/viem/internal/ethereum-ct.js +5 -11
- package/_esm/viem/internal/ethereum-ct.js.map +1 -1
- package/_esm/viem/internal/ethereum.js +37 -0
- package/_esm/viem/internal/ethereum.js.map +1 -1
- package/_esm/wasm/tkms/KmsLibApi.d.ts +1 -1
- package/_esm/wasm/tkms/loadKmsLib.js +11 -2
- package/_esm/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
- package/_esm/wasm/tkms/v0.14.0-1/kms_lib.js +2055 -0
- package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
- package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
- package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +7 -0
- package/_types/core/_version.d.ts.map +1 -1
- package/_types/core/actions/base/canUseUnifiedDecryptionPermit.d.ts +23 -0
- package/_types/core/actions/base/canUseUnifiedDecryptionPermit.d.ts.map +1 -0
- package/_types/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.d.ts.map +1 -1
- package/_types/core/actions/base/index.d.ts +3 -0
- package/_types/core/actions/base/index.d.ts.map +1 -1
- package/_types/core/actions/base/signUnifiedDecryptionPermit.d.ts +17 -0
- package/_types/core/actions/base/signUnifiedDecryptionPermit.d.ts.map +1 -0
- package/_types/core/actions/host/resolveChainId.d.ts.map +1 -1
- package/_types/core/clients/decorators/base.d.ts +14 -0
- package/_types/core/clients/decorators/base.d.ts.map +1 -1
- package/_types/core/errors/Erc1271Error.d.ts +46 -0
- package/_types/core/errors/Erc1271Error.d.ts.map +1 -0
- package/_types/core/frozenContext/fhevmClientFrozenContext-p.d.ts.map +1 -1
- package/_types/core/frozenContext/resolveFhevmClientFrozenContext-p.d.ts.map +1 -1
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +9 -14
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/key/FheEncryptionKeyCache-p.d.ts.map +1 -1
- package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -1
- package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/ethereum/types.d.ts +47 -2
- package/_types/core/modules/ethereum/types.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +3 -0
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchFeatures.d.ts +26 -0
- package/_types/core/modules/relayer/module/fetchFeatures.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/index.d.ts.map +1 -1
- package/_types/core/modules/relayer/types.d.ts +14 -2
- package/_types/core/modules/relayer/types.d.ts.map +1 -1
- package/_types/core/relayerFeatures/ensureRelayerFeatures-p.d.ts +55 -0
- package/_types/core/relayerFeatures/ensureRelayerFeatures-p.d.ts.map +1 -0
- package/_types/core/relayerFeatures/resolveRelayerFeatures-p.d.ts +39 -0
- package/_types/core/relayerFeatures/resolveRelayerFeatures-p.d.ts.map +1 -0
- package/_types/core/runtime/CoreFhevm-p.d.ts +5 -0
- package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
- package/_types/core/runtime/HyperWasmSolver-p.d.ts +1 -0
- package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -1
- package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -1
- package/_types/core/runtime/sdkProtocolApiVersion.d.ts +7 -8
- package/_types/core/runtime/sdkProtocolApiVersion.d.ts.map +1 -1
- package/_types/core/types/kms-p.d.ts +2 -2
- package/_types/core/types/kms-p.d.ts.map +1 -1
- package/_types/core/types/relayer-p.d.ts +1 -1
- package/_types/core/types/relayer-p.d.ts.map +1 -1
- package/_types/core/types/signedDecryptionPermit.d.ts +10 -3
- package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.d.ts +49 -0
- package/_types/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.d.ts.map +1 -0
- package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/ethers/internal/ethereum.d.ts +3 -1
- package/_types/ethers/internal/ethereum.d.ts.map +1 -1
- package/_types/ethers/internal/utils.d.ts +5 -0
- package/_types/ethers/internal/utils.d.ts.map +1 -1
- package/_types/viem/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/viem/internal/ethereum.d.ts +3 -1
- package/_types/viem/internal/ethereum.d.ts.map +1 -1
- package/_types/wasm/tkms/KmsLibApi.d.ts +1 -1
- package/_types/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
- package/_types/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
- package/core/_version.ts +1 -1
- package/core/actions/base/canUseUnifiedDecryptionPermit.ts +38 -0
- package/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.ts +0 -6
- package/core/actions/base/index.ts +24 -2
- package/core/actions/base/signUnifiedDecryptionPermit.ts +27 -0
- package/core/actions/host/resolveChainId.ts +3 -1
- package/core/clients/decorators/base.ts +21 -0
- package/core/errors/Erc1271Error.ts +85 -0
- package/core/frozenContext/fhevmClientFrozenContext-p.ts +1 -0
- package/core/frozenContext/resolveFhevmClientFrozenContext-p.ts +21 -8
- package/core/host-contracts/readKmsSignersContext-p.ts +9 -45
- package/core/key/FheEncryptionKeyCache-p.ts +6 -0
- package/core/key/fetchFheEncryptionKey.ts +17 -1
- package/core/kms/SignedDecryptionPermit-p.ts +6 -60
- package/core/kms/SignedDecryptionPermitV2-p.ts +54 -41
- package/core/kms/decryptValuesFromPairs.ts +14 -33
- package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +15 -0
- package/core/modules/decrypt/module/api-p.ts +5 -3
- package/core/modules/decrypt/module/init-p.ts +6 -1
- package/core/modules/encrypt/module/init-p.ts +15 -2
- package/core/modules/ethereum/types.ts +55 -1
- package/core/modules/relayer/cleartext/mock.ts +11 -0
- package/core/modules/relayer/module/RelayerAsyncRequest.ts +55 -0
- package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +1 -0
- package/core/modules/relayer/module/fetchDelegatedUserDecryptV1.ts +1 -0
- package/core/modules/relayer/module/fetchFeatures.ts +75 -0
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -0
- package/core/modules/relayer/module/fetchUserDecryptV1.ts +1 -0
- package/core/modules/relayer/module/fetchUserDecryptV2.ts +1 -0
- package/core/modules/relayer/module/index.ts +2 -0
- package/core/modules/relayer/types.ts +26 -2
- package/core/relayerFeatures/ensureRelayerFeatures-p.ts +84 -0
- package/core/relayerFeatures/resolveRelayerFeatures-p.ts +47 -0
- package/core/runtime/CoreFhevm-p.ts +71 -0
- package/core/runtime/HyperWasmSolver-p.ts +57 -8
- package/core/runtime/ProtocolVersionResolver-p.ts +12 -4
- package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
- package/core/runtime/initFhevmRuntime-p.ts +1 -1
- package/core/runtime/sdkProtocolApiVersion.ts +8 -9
- package/core/types/kms-p.ts +2 -2
- package/core/types/relayer-p.ts +4 -2
- package/core/types/signedDecryptionPermit.ts +10 -3
- package/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.ts +164 -0
- package/ethers/internal/ethereum-ct.ts +5 -15
- package/ethers/internal/ethereum.ts +58 -3
- package/ethers/internal/utils.ts +27 -0
- package/package.json +2 -2
- package/viem/internal/ethereum-ct.ts +6 -14
- package/viem/internal/ethereum.ts +48 -1
- package/wasm/tkms/KmsLibApi.d.ts +1 -1
- package/wasm/tkms/loadKmsLib.js +11 -2
- package/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
- package/wasm/tkms/v0.14.0-1/kms_lib.js +2055 -0
- package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
- package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
- package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +7 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +0 -30
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +0 -1
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +0 -27
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +0 -1
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +0 -14
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +0 -1
- package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +0 -43
package/_esm/core/_version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../../core/_version.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAW,
|
|
1
|
+
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../../core/_version.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAW,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,OAAO,GAAW,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { initPublicAction } from '../../runtime/CoreFhevm-p.js';
|
|
2
|
+
import { ensureRelayerFeatures } from '../../relayerFeatures/ensureRelayerFeatures-p.js';
|
|
3
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
+
/**
|
|
5
|
+
* Reports whether this client can use **unified** decryption permits.
|
|
6
|
+
*
|
|
7
|
+
* The capability is gated by the relayer's feature list — specifically `relayerSupportsV3UserDecryptRoute`
|
|
8
|
+
* (the unified user-decrypt route). The features are resolved **once per client** and pinned (see
|
|
9
|
+
* `ensureRelayerFeatures`), so repeated calls are cheap and never drift.
|
|
10
|
+
*
|
|
11
|
+
* `options.auth` is only used to *resolve* the features on relayers that require a key (e.g.
|
|
12
|
+
* mainnet); on a keyless relayer (e.g. Sepolia) it can be omitted. Once resolved, the result is
|
|
13
|
+
* cached and subsequent calls need no auth. If the relayer requires a key and none is supplied, the
|
|
14
|
+
* underlying resolution fails loudly rather than returning a default.
|
|
15
|
+
*/
|
|
16
|
+
export async function canUseUnifiedDecryptionPermit(fhevm, parameters) {
|
|
17
|
+
await initPublicAction(fhevm);
|
|
18
|
+
const features = await ensureRelayerFeatures(fhevm, { auth: parameters?.options?.auth });
|
|
19
|
+
return features.relayerSupportsV3UserDecryptRoute;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=canUseUnifiedDecryptionPermit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canUseUnifiedDecryptionPermit.js","sourceRoot":"","sources":["../../../../core/actions/base/canUseUnifiedDecryptionPermit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAUzF,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAwB,EACxB,UAAoD;IAEpD,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzF,OAAO,QAAQ,CAAC,iCAAiC,CAAC;AACpD,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { createUnsignedDecryptionPermitEip712V2 as createUnsignedDecryptionPermitEip712V2_ } from '../../kms/SignedDecryptionPermitV2-p.js';
|
|
2
|
-
import { SDK_PROTOCOL_API_MAJOR_VERSION, SDK_PROTOCOL_API_MINOR_VERSION } from '../../runtime/sdkProtocolApiVersion.js';
|
|
3
2
|
import { initPublicAction } from '../../runtime/CoreFhevm-p.js';
|
|
4
3
|
export async function createUnsignedUnifiedDecryptionPermitEip712(fhevm, parameters) {
|
|
5
|
-
if (SDK_PROTOCOL_API_MAJOR_VERSION === 0 && SDK_PROTOCOL_API_MINOR_VERSION <= 13) {
|
|
6
|
-
throw new Error(`Unified (V2) decryption permits are not supported: this SDK uses protocol API v0.13.x, which only supports V1 decryption permits. Creating a unified permit requires an SDK using protocol API v0.14.0 or later.`);
|
|
7
|
-
}
|
|
8
4
|
const fhevmContext = await initPublicAction(fhevm);
|
|
9
5
|
return createUnsignedDecryptionPermitEip712V2_(fhevm, { ...parameters, fhevmContext });
|
|
10
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUnsignedUnifiedDecryptionPermitEip712.js","sourceRoot":"","sources":["../../../../core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sCAAsC,IAAI,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAC5I,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createUnsignedUnifiedDecryptionPermitEip712.js","sourceRoot":"","sources":["../../../../core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sCAAsC,IAAI,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAC5I,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAWhE,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,KAAwB,EACxB,UAAiE;IAEjE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,uCAAuC,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -4,8 +4,15 @@ export { decryptPublicValuesWithSignatures, } from './decryptPublicValuesWithSig
|
|
|
4
4
|
export { canDecryptPublicValue, } from './canDecryptPublicValue.js';
|
|
5
5
|
export { canDecryptPublicValues, } from './canDecryptPublicValues.js';
|
|
6
6
|
export { fetchEncryptedValues, } from './fetchEncryptedValues.js';
|
|
7
|
-
// v13
|
|
7
|
+
// V1 permit (protocol v13 and below) — kept for chains/relayers not yet on v14.
|
|
8
8
|
export { createUnsignedLegacyDecryptionPermitEip712, } from './createUnsignedLegacyDecryptionPermitEip712.js';
|
|
9
|
-
|
|
9
|
+
export { canUseUnifiedDecryptionPermit, } from './canUseUnifiedDecryptionPermit.js';
|
|
10
|
+
// V1 permit (protocol v13 and below) — kept for chains/relayers not yet on v14.
|
|
10
11
|
export { signLegacyDecryptionPermit, } from './signLegacyDecryptionPermit.js';
|
|
12
|
+
// V2 permit (protocol v14 and above) — requires an SDK on protocol API v0.14.0+
|
|
13
|
+
// and a chain whose KMSVerifier/ProtocolConfig support the unified extraData v2.
|
|
14
|
+
export { createUnsignedUnifiedDecryptionPermitEip712, } from './createUnsignedUnifiedDecryptionPermitEip712.js';
|
|
15
|
+
// V2 permit (protocol v14 and above) — requires an SDK on protocol API v0.14.0+
|
|
16
|
+
// and a chain whose KMSVerifier/ProtocolConfig support the unified extraData v2.
|
|
17
|
+
export { signUnifiedDecryptionPermit, } from './signUnifiedDecryptionPermit.js';
|
|
11
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../core/actions/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,iCAAiC,GAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAGL,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAGL,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGL,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../core/actions/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,iCAAiC,GAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAGL,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAGL,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGL,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,gFAAgF;AAChF,OAAO,EAGL,0CAA0C,GAC3C,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAGL,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAE5C,gFAAgF;AAChF,OAAO,EAGL,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AAEzC,gFAAgF;AAChF,iFAAiF;AACjF,OAAO,EAGL,2CAA2C,GAC5C,MAAM,kDAAkD,CAAC;AAE1D,gFAAgF;AAChF,iFAAiF;AACjF,OAAO,EAGL,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { signDecryptionPermitV2 as signUnifiedDecryptionPermit_ } from '../../kms/SignedDecryptionPermitV2-p.js';
|
|
2
|
+
import { initPublicAction } from '../../runtime/CoreFhevm-p.js';
|
|
3
|
+
export async function signUnifiedDecryptionPermit(fhevm, parameters) {
|
|
4
|
+
const fhevmContext = await initPublicAction(fhevm);
|
|
5
|
+
return signUnifiedDecryptionPermit_(fhevm, { ...parameters, fhevmContext });
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=signUnifiedDecryptionPermit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signUnifiedDecryptionPermit.js","sourceRoot":"","sources":["../../../../core/actions/base/signUnifiedDecryptionPermit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAchE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAwB,EACxB,UAAiD;IAEjD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,4BAA4B,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -19,7 +19,9 @@ export async function resolveChainId(fhevm, parameters) {
|
|
|
19
19
|
// Id provided + verify → cross-check with chain
|
|
20
20
|
const chainId = asUint64BigInt(await fhevm.runtime.ethereum.getChainId(trustedClient));
|
|
21
21
|
if (resolvedId !== chainId) {
|
|
22
|
-
|
|
22
|
+
const message = `Chain id mismatch: connected to chain ${chainId}, but expected chain ${resolvedId}`;
|
|
23
|
+
fhevm.runtime.config.logger?.error?.(message, undefined);
|
|
24
|
+
throw new Error(message);
|
|
23
25
|
}
|
|
24
26
|
return resolvedId;
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveChainId.js","sourceRoot":"","sources":["../../../../core/actions/host/resolveChainId.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASlF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAY,EACZ,UAAoC;IAEpC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAElC,oCAAoC;IACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAiB,CAAC;IAE9C,oBAAoB;IACpB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9B,wDAAwD;IACxD,4BAA4B;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gDAAgD;IAChD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAEvF,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"resolveChainId.js","sourceRoot":"","sources":["../../../../core/actions/host/resolveChainId.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASlF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAY,EACZ,UAAoC;IAEpC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAElC,oCAAoC;IACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAiB,CAAC;IAE9C,oBAAoB;IACpB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9B,wDAAwD;IACxD,4BAA4B;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gDAAgD;IAChD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAEvF,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,yCAAyC,OAAO,wBAAwB,UAAU,EAAE,CAAC;QACrG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { decryptPublicValues, } from '../../actions/base/decryptPublicValues.js'
|
|
|
10
10
|
import { decryptPublicValuesWithSignatures, } from '../../actions/base/decryptPublicValuesWithSignatures.js';
|
|
11
11
|
import { ensureFrozenContext } from '../../frozenContext/ensureFrozenContext-p.js';
|
|
12
12
|
import { signLegacyDecryptionPermit, } from '../../actions/base/signLegacyDecryptionPermit.js';
|
|
13
|
+
import { signUnifiedDecryptionPermit, } from '../../actions/base/signUnifiedDecryptionPermit.js';
|
|
13
14
|
////////////////////////////////////////////////////////////////////////////////
|
|
14
15
|
function _baseActions(fhevm) {
|
|
15
16
|
return {
|
|
@@ -18,6 +19,7 @@ function _baseActions(fhevm) {
|
|
|
18
19
|
decryptPublicValuesWithSignatures: (parameters) => decryptPublicValuesWithSignatures(fhevm, parameters),
|
|
19
20
|
signDecryptionPermit: (parameters) => signDecryptionPermit(fhevm, parameters),
|
|
20
21
|
signLegacyDecryptionPermit: (parameters) => signLegacyDecryptionPermit(fhevm, parameters),
|
|
22
|
+
signUnifiedDecryptionPermit: (parameters) => signUnifiedDecryptionPermit(fhevm, parameters),
|
|
21
23
|
parseTransportKeyPair: (parameters) => parseTransportKeyPair(fhevm, parameters),
|
|
22
24
|
serializeTransportKeyPair: (parameters) => serializeTransportKeyPair(fhevm, parameters),
|
|
23
25
|
serializeSignedDecryptionPermit: (parameters) => serializeSignedDecryptionPermit(fhevm, parameters),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../core/clients/decorators/base.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAuC,MAAM,4CAA4C,CAAC;AACvH,OAAO,EACL,qBAAqB,GAGtB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,GAG3B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EACL,+BAA+B,GAGhC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,2BAA2B,GAG5B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,kBAAkB,GAGnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,mBAAmB,GAGpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,iCAAiC,GAGlC,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EACL,0BAA0B,GAG3B,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../core/clients/decorators/base.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAuC,MAAM,4CAA4C,CAAC;AACvH,OAAO,EACL,qBAAqB,GAGtB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,0BAA0B,GAG3B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EACL,+BAA+B,GAGhC,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,2BAA2B,GAG5B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,kBAAkB,GAGnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,mBAAmB,GAGpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,iCAAiC,GAGlC,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EACL,0BAA0B,GAG3B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,2BAA2B,GAG5B,MAAM,mDAAmD,CAAC;AAsI3D,gFAAgF;AAEhF,SAAS,YAAY,CAAC,KAAwB;IAC5C,OAAO;QACL,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;QACzE,mBAAmB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3E,iCAAiC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,iCAAiC,CAAC,KAAK,EAAE,UAAU,CAAC;QACvG,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC7E,0BAA0B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;QACzF,2BAA2B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3F,qBAAqB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC/E,yBAAyB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;QACvF,+BAA+B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC;QACnG,2BAA2B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3F,0BAA0B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,SAAS,CAAC,KAA4B;IACnD,oEAAoE;IACpE,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,WAAW,CAAC,KAA4B;IACtD,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FhevmErrorBase } from './FhevmErrorBase.js';
|
|
2
|
+
/** Base class for all definitive ERC-1271 / EOA signature rejections. */
|
|
3
|
+
export class Erc1271VerificationError extends FhevmErrorBase {
|
|
4
|
+
}
|
|
5
|
+
/** ecrecover did not match `userAddress` and `userAddress` has no contract code. */
|
|
6
|
+
export class Erc1271EoaMismatchNoCodeError extends Erc1271VerificationError {
|
|
7
|
+
constructor(params) {
|
|
8
|
+
super({
|
|
9
|
+
...params,
|
|
10
|
+
name: 'Erc1271EoaMismatchNoCodeError',
|
|
11
|
+
message: `ecrecover signer mismatch and userAddress ${params.userAddress} has no contract code on the host chain`,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** An empty signature was supplied but `userAddress` has no contract code. */
|
|
16
|
+
export class Erc1271EmptySigOnEoaError extends Erc1271VerificationError {
|
|
17
|
+
constructor(params) {
|
|
18
|
+
super({
|
|
19
|
+
...params,
|
|
20
|
+
name: 'Erc1271EmptySigOnEoaError',
|
|
21
|
+
message: `empty signature is only valid for contracts; userAddress ${params.userAddress} has no contract code`,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** `isValidSignature` returned a non-magic value. */
|
|
26
|
+
export class Erc1271WrongMagicError extends Erc1271VerificationError {
|
|
27
|
+
constructor(params) {
|
|
28
|
+
super({
|
|
29
|
+
...params,
|
|
30
|
+
name: 'Erc1271WrongMagicError',
|
|
31
|
+
message: `ERC-1271 isValidSignature returned non-magic value ${params.magicValue} for userAddress ${params.userAddress}`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** `isValidSignature` reverted or returned malformed data. */
|
|
36
|
+
export class Erc1271RejectedError extends Erc1271VerificationError {
|
|
37
|
+
constructor(params) {
|
|
38
|
+
super({
|
|
39
|
+
...params,
|
|
40
|
+
name: 'Erc1271RejectedError',
|
|
41
|
+
message: `ERC-1271 isValidSignature reverted or returned malformed data for userAddress ${params.userAddress}: ${params.detail}`,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=Erc1271Error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Erc1271Error.js","sourceRoot":"","sources":["../../../core/errors/Erc1271Error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAarD,yEAAyE;AACzE,MAAM,OAAgB,wBAAyB,SAAQ,cAAc;CAAG;AAQxE,oFAAoF;AACpF,MAAM,OAAO,6BAA8B,SAAQ,wBAAwB;IACzE,YAAY,MAAgE;QAC1E,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,6CAA6C,MAAM,CAAC,WAAW,yCAAyC;SAClH,CAAC,CAAC;IACL,CAAC;CACF;AAQD,8EAA8E;AAC9E,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IACrE,YAAY,MAAgE;QAC1E,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,4DAA4D,MAAM,CAAC,WAAW,uBAAuB;SAC/G,CAAC,CAAC;IACL,CAAC;CACF;AAQD,qDAAqD;AACrD,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IAClE,YAAY,MAAoF;QAC9F,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,sDAAsD,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,WAAW,EAAE;SACzH,CAAC,CAAC;IACL,CAAC;CACF;AAQD,8DAA8D;AAC9D,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IAChE,YAAY,MAAgF;QAC1F,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,iFAAiF,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE;SACjI,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhevmClientFrozenContext-p.js","sourceRoot":"","sources":["../../../core/frozenContext/fhevmClientFrozenContext-p.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fhevmClientFrozenContext-p.js","sourceRoot":"","sources":["../../../core/frozenContext/fhevmClientFrozenContext-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,20 +43,30 @@ export async function resolveFhevmClientFrozenContext(fhevm) {
|
|
|
43
43
|
const aclAddress = addressToChecksummedAddress(asAddress(fhevm.chain.fhevm.contracts.acl.address));
|
|
44
44
|
const inputVerifierAddress = addressToChecksummedAddress(asAddress(fhevm.chain.fhevm.contracts.inputVerifier.address));
|
|
45
45
|
const kmsVerifierAddress = addressToChecksummedAddress(asAddress(fhevm.chain.fhevm.contracts.kmsVerifier.address));
|
|
46
|
+
// ProtocolConfig only exists on v0.14+ deployments — absent on older chains.
|
|
47
|
+
const protocolConfigAddress = fhevm.chain.fhevm.contracts.protocolConfig === undefined
|
|
48
|
+
? undefined
|
|
49
|
+
: addressToChecksummedAddress(asAddress(fhevm.chain.fhevm.contracts.protocolConfig.address));
|
|
46
50
|
// Design note — reads are intentionally NOT pinned to a block number.
|
|
47
51
|
// All protocol contracts (ACL, KMSVerifier, InputVerifier, ProtocolConfig, …)
|
|
48
52
|
// are upgraded together in a single atomic transaction that bumps every
|
|
49
53
|
// `getVersion()` in one step, so this batch either all observes the pre-upgrade
|
|
50
54
|
// versions or all observes the post-upgrade ones — never a mixed, half-applied
|
|
51
55
|
// state. Capturing the whole basis in one call is what keeps it coherent.
|
|
52
|
-
const [aclVersion, inputVerifierVersion, kmsVerifierVersion] = (await executeWithBatching([
|
|
56
|
+
const [aclVersion, inputVerifierVersion, kmsVerifierVersion, protocolConfigVersion] = (await executeWithBatching([
|
|
53
57
|
() => getHostContractVersion(fhevm, { address: aclAddress }),
|
|
54
58
|
() => getHostContractVersion(fhevm, { address: inputVerifierAddress }),
|
|
55
59
|
() => getHostContractVersion(fhevm, { address: kmsVerifierAddress }),
|
|
60
|
+
...(protocolConfigAddress === undefined
|
|
61
|
+
? []
|
|
62
|
+
: [() => getHostContractVersion(fhevm, { address: protocolConfigAddress })]),
|
|
56
63
|
], fhevm.options.batchRpcCalls));
|
|
57
64
|
assertIsHostContractVersionOf(aclVersion, 'ACL');
|
|
58
65
|
assertIsHostContractVersionOf(inputVerifierVersion, 'InputVerifier');
|
|
59
66
|
assertIsHostContractVersionOf(kmsVerifierVersion, 'KMSVerifier');
|
|
67
|
+
if (protocolConfigVersion !== undefined) {
|
|
68
|
+
assertIsHostContractVersionOf(protocolConfigVersion, 'ProtocolConfig');
|
|
69
|
+
}
|
|
60
70
|
const protocolContext = protocolContextFromAclVersion(fhevm.chain, aclVersion);
|
|
61
71
|
const tfheVersion = hyperWasmResolveTfheModuleVersion(fhevm, protocolContext);
|
|
62
72
|
const tkmsVersion = hyperWasmResolveTkmsModuleVersion(fhevm, protocolContext);
|
|
@@ -65,6 +75,7 @@ export async function resolveFhevmClientFrozenContext(fhevm) {
|
|
|
65
75
|
ACL: aclVersion,
|
|
66
76
|
InputVerifier: inputVerifierVersion,
|
|
67
77
|
KMSVerifier: kmsVerifierVersion,
|
|
78
|
+
...(protocolConfigVersion === undefined ? {} : { ProtocolConfig: protocolConfigVersion }),
|
|
68
79
|
},
|
|
69
80
|
protocolVersion: protocolContext.protocolVersion,
|
|
70
81
|
pubKeyCrsVersion: protocolContext.pubKeyCrsVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveFhevmClientFrozenContext-p.js","sourceRoot":"","sources":["../../../core/frozenContext/resolveFhevmClientFrozenContext-p.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACnH,OAAO,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACvH,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAA4B;IAChF,MAAM,UAAU,GAAuB,2BAA2B,CAChE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CACnD,CAAC;IACF,MAAM,oBAAoB,GAAuB,2BAA2B,CAC1E,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAC7D,CAAC;IACF,MAAM,kBAAkB,GAAuB,2BAA2B,CACxE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAC3D,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveFhevmClientFrozenContext-p.js","sourceRoot":"","sources":["../../../core/frozenContext/resolveFhevmClientFrozenContext-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,45 +5,30 @@ import { isVersionStrictlyBefore } from './HostContractVersion-p.js';
|
|
|
5
5
|
import { assertIsKmsExtraData, createKmsExtraDataV1, createKmsExtraDataV2, isKmsExtraDataCompatibleWithKmsVerifier, } from '../kms/kmsExtraData-p.js';
|
|
6
6
|
import { getKmsContextSignersAndThresholdFromExtraData } from './getKmsContextSignersAndThresholdFromExtraData-p.js';
|
|
7
7
|
import { getKmsSignersAndThreshold } from './getKmsContextSignersAndThreshold-p.js';
|
|
8
|
-
import { SDK_PROTOCOL_API_MAJOR_VERSION, SDK_PROTOCOL_API_MINOR_VERSION } from '../runtime/sdkProtocolApiVersion.js';
|
|
9
8
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
9
|
//
|
|
11
10
|
// Invariant — a KmsSignersContext carries the key it was indexed by.
|
|
12
11
|
//
|
|
13
|
-
// CRITICAL RULE — a v13-capped SDK must NEVER produce extraData v2.
|
|
14
|
-
// The extraData version the SDK emits is gated by the RELAYER, not by the host
|
|
15
|
-
// contracts: a v13 relayer rejects an unknown v2 `extraData` in its request
|
|
16
|
-
// validation (HTTP 400 `validation_failed`), so the request never reaches the KMS.
|
|
17
|
-
// This matters most during a v13 -> v14 rollout: the host contracts can already
|
|
18
|
-
// support v2 while the relayer is still v13, so "the chain accepts v2" is NOT
|
|
19
|
-
// sufficient — the SDK stays at v1 until the relayer is known to accept v2.
|
|
20
|
-
// Hence the per-version cap enforced below.
|
|
21
|
-
//
|
|
22
12
|
////////////////////////////////////////////////////////////////////////////////
|
|
23
13
|
/**
|
|
24
14
|
* Resolves the **current** on-chain KMS context into a {@link KmsSignersContext},
|
|
25
15
|
* indexed on the **best `extraData` this SDK can produce** for that context.
|
|
26
16
|
*
|
|
27
17
|
* This is the read used when *creating* a permit: the returned context's `extraData`
|
|
28
|
-
* is what the permit embeds and the user signs.
|
|
29
|
-
*
|
|
30
|
-
* - the on-chain KMSVerifier version (which encodings the contract supports), and
|
|
31
|
-
* - this SDK's protocol-API cap ({@link SDK_PROTOCOL_API_MINOR_VERSION}) — the most
|
|
32
|
-
* recent `extraData` version the SDK knows how to build and sign.
|
|
18
|
+
* is what the permit embeds and the user signs. "Best" is bounded by the on-chain
|
|
19
|
+
* KMSVerifier version — which encodings the contract supports.
|
|
33
20
|
*
|
|
34
|
-
* The returned encoding
|
|
21
|
+
* The returned encoding:
|
|
35
22
|
* - v11 (KMSVerifier < 0.2.0) → v0 (no context concept)
|
|
36
|
-
* - >= 0.2.0 but
|
|
23
|
+
* - >= 0.2.0 but KMSVerifier < 0.4.0,
|
|
37
24
|
* or no `protocolConfigAddress` → v1 (`contextId` only)
|
|
38
25
|
* - v14 chain (KMSVerifier >= 0.4.0, `protocolConfigAddress`
|
|
39
|
-
* set)
|
|
26
|
+
* set) → v2 (`contextId` + `epochId`)
|
|
40
27
|
*
|
|
41
|
-
* NOTE —
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* *already-chosen* permit `extraData` to the most precise context available — here we
|
|
46
|
-
* instead choose the most precise encoding we are *allowed to produce*.
|
|
28
|
+
* NOTE — this differs from {@link readKmsSignersContextFromPermitExtraData}, which
|
|
29
|
+
* resolves an *already-chosen* permit `extraData` to the most precise context
|
|
30
|
+
* available — here we instead choose the most precise encoding we are *allowed to
|
|
31
|
+
* produce*.
|
|
47
32
|
*/
|
|
48
33
|
export async function readCurrentKmsSignersContext(context, parameters) {
|
|
49
34
|
// This version comes from the frozen context — a snapshot, NOT necessarily the
|
|
@@ -58,14 +43,6 @@ export async function readCurrentKmsSignersContext(context, parameters) {
|
|
|
58
43
|
// -> KmsSignersContext.extraData.version == 0
|
|
59
44
|
return _readCurrentKmsSignersContext_ProtocolApi_11(context, parameters);
|
|
60
45
|
}
|
|
61
|
-
// If SDK is restricted to protocol API v13 then the best extraData
|
|
62
|
-
// we can get it must be v1
|
|
63
|
-
// KMSVerifier.version >= 0.2.0, it supports at least API Protocol 13
|
|
64
|
-
if (SDK_PROTOCOL_API_MAJOR_VERSION === 0 && SDK_PROTOCOL_API_MINOR_VERSION <= 13) {
|
|
65
|
-
// -> KmsSignersContext.extraData.version == 1
|
|
66
|
-
return _readCurrentKmsSignersContext_ProtocolApi_12_13(context, parameters);
|
|
67
|
-
}
|
|
68
|
-
// API Protocol 14+
|
|
69
46
|
// KMSVerifier.version < 0.4.0, use only Protocol API v13
|
|
70
47
|
if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 4 }) ||
|
|
71
48
|
parameters.protocolConfigAddress === undefined) {
|
|
@@ -136,14 +113,6 @@ async function _readCurrentKmsSignersContext_ProtocolApi_12_13(context, paramete
|
|
|
136
113
|
////////////////////////////////////////////////////////////////////////////////
|
|
137
114
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
138
115
|
async function _readCurrentKmsSignersContext_ProtocolApi_14_or_higher(context, parameters) {
|
|
139
|
-
// Defense-in-depth for the CRITICAL RULE above: this is the only function that
|
|
140
|
-
// MINTS an extraData v2. It must never run under a v13-capped SDK. The caller
|
|
141
|
-
// (readCurrentKmsSignersContext) already gates on SDK_PROTOCOL_API_MINOR_VERSION,
|
|
142
|
-
// so reaching here with a capped SDK means that gate was bypassed/refactored away
|
|
143
|
-
// — fail loudly rather than silently emit a v2 the relayer would reject.
|
|
144
|
-
if (SDK_PROTOCOL_API_MAJOR_VERSION === 0 && SDK_PROTOCOL_API_MINOR_VERSION <= 13) {
|
|
145
|
-
throw new Error(`Refusing to produce extraData v2: this SDK is capped at protocol API v0.${SDK_PROTOCOL_API_MINOR_VERSION} and must only emit extraData v1 (a v13 relayer rejects v2).`);
|
|
146
|
-
}
|
|
147
116
|
if (parameters.protocolConfigAddress === undefined) {
|
|
148
117
|
throw new Error('protocolConfigAddress is required on protocol v0.14.0+');
|
|
149
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readKmsSignersContext-p.js","sourceRoot":"","sources":["../../../core/host-contracts/readKmsSignersContext-p.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uCAAuC,GACxC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6CAA6C,EAAE,MAAM,sDAAsD,CAAC;AACrH,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"readKmsSignersContext-p.js","sourceRoot":"","sources":["../../../core/host-contracts/readKmsSignersContext-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -269,6 +269,9 @@ _FheEncryptionKeyCache_cache = new WeakMap(), _FheEncryptionKeyCache_instances =
|
|
|
269
269
|
if (__classPrivateFieldGet(this, _FheEncryptionKeyCache_cache, "f").get(relayerUrl) === entry) {
|
|
270
270
|
__classPrivateFieldGet(this, _FheEncryptionKeyCache_cache, "f").delete(relayerUrl);
|
|
271
271
|
}
|
|
272
|
+
entry.owner
|
|
273
|
+
.deref()
|
|
274
|
+
?.config.logger?.error?.(`FheEncryptionKeyCache: ${resolvedKind === 'bytes' ? 'fetch' : 'conversion to wasm'} failed for relayerUrl="${relayerUrl}". Evicting cache entry; the next call will re-fetch.`, err);
|
|
272
275
|
throw err;
|
|
273
276
|
});
|
|
274
277
|
return ready;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FheEncryptionKeyCache-p.js","sourceRoot":"","sources":["../../../core/key/FheEncryptionKeyCache-p.ts"],"names":[],"mappings":";;;;;;AAgCA,MAAM,OAAO,cAAc;IAczB,YAAY,KAAmB,EAAE,QAAkC;QAbnE;;;;;WAA2C;QAC3C;;;;;WAAgE;QAChE;;;;;WAA0C;QAC1C;;;;;WAAiD;QACjD;;;;;WAAmC;QACnC;;;;;WAAsB;QACtB;;;;;WAA8B;QAE9B,mFAAmF;QACnF;;;;;WAAiE;QACjE,sFAAsF;QACtF;;;;;WAAyB;QAGvB,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;CACF;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,sBAAsB,CAAC,gBAAwB,EAAE,kBAA0B;IAClF,IAAI,gBAAgB,KAAK,kBAAkB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,mDAAmD,kBAAkB,cAAc,gBAAgB,KAAK;YACtG,4DAA4D,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,SAAS,qBAAqB,CAAC,KAAiB;IAC9C,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAAlC;;QACW,uCAAS,IAAI,GAAG,EAA0B,EAAC;
|
|
1
|
+
{"version":3,"file":"FheEncryptionKeyCache-p.js","sourceRoot":"","sources":["../../../core/key/FheEncryptionKeyCache-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,23 @@ import { globalFheEncryptionKeyCache } from './FheEncryptionKeyCache-p.js';
|
|
|
3
3
|
export async function fetchFheEncryptionKeyWasm(context, parameters) {
|
|
4
4
|
const relayerUrl = context.chain.fhevm.relayerUrl;
|
|
5
5
|
const runtime = context.runtime;
|
|
6
|
+
const logger = runtime.config.logger;
|
|
6
7
|
// Ensure a bytes fetch is in-flight
|
|
7
8
|
globalFheEncryptionKeyCache.ensureBytes({
|
|
8
9
|
owner: runtime,
|
|
9
10
|
relayerUrl,
|
|
10
|
-
fetcher: () =>
|
|
11
|
+
fetcher: async () => {
|
|
12
|
+
logger?.debug?.(`Fetching FHE encryption key/CRS bytes from relayer "${relayerUrl}" (chainId=${context.chain.id}).`);
|
|
13
|
+
try {
|
|
14
|
+
const bytes = await runtime.relayer.fetchFheEncryptionKeyBytes({ relayerUrl, chainId: context.chain.id }, parameters);
|
|
15
|
+
logger?.debug?.(`Fetched FHE encryption key/CRS bytes from relayer "${relayerUrl}".`);
|
|
16
|
+
return bytes;
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
logger?.error?.(`Failed to fetch FHE encryption key/CRS bytes from relayer "${relayerUrl}".`, e);
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
11
23
|
metadata: { chainId: context.chain.id, relayerUrl },
|
|
12
24
|
});
|
|
13
25
|
// Upgrade bytes → wasm (chains from pending bytes if still in-flight)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFheEncryptionKey.js","sourceRoot":"","sources":["../../../core/key/fetchFheEncryptionKey.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAGC,EACD,UAIC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchFheEncryptionKey.js","sourceRoot":"","sources":["../../../core/key/fetchFheEncryptionKey.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAGC,EACD,UAIC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAErC,oCAAoC;IACpC,2BAA2B,CAAC,WAAW,CAAC;QACtC,KAAK,EAAE,OAAO;QACd,UAAU;QACV,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,KAAK,EAAE,CACb,uDAAuD,UAAU,cAAc,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CACpG,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAC5D,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EACzC,UAAU,CACX,CAAC;gBACF,MAAM,EAAE,KAAK,EAAE,CAAC,sDAAsD,UAAU,IAAI,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK,EAAE,CAAC,8DAA8D,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjG,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE;KACpD,CAAC,CAAC;IAEH,sEAAsE;IACtE,2BAA2B,CAAC,UAAU,CAAC;QACrC,KAAK,EAAE,OAAO;QACd,UAAU;QACV,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,2BAA2B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;KACnG,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,CAAC,KAAK,CAAC;IAElB,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,KAAK,CAAC,KAA6B,CAAC;AAC7C,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
|
|
2
2
|
import { isSignedDecryptionPermitV1, parseSignedDecryptionPermitV1, signDecryptionPermitV1, } from './SignedDecryptionPermitV1-p.js';
|
|
3
|
-
import { isSignedDecryptionPermitV2, parseSignedDecryptionPermitV2
|
|
3
|
+
import { isSignedDecryptionPermitV2, parseSignedDecryptionPermitV2 } from './SignedDecryptionPermitV2-p.js';
|
|
4
4
|
import { isRecordUintNumberProperty, isUintNumber } from '../base/uint.js';
|
|
5
|
-
import { SDK_PROTOCOL_API_MAJOR_VERSION, SDK_PROTOCOL_API_MINOR_VERSION } from '../runtime/sdkProtocolApiVersion.js';
|
|
6
|
-
import { createKmsExtraDataFromBytesHex, EXTRA_DATA_V2 } from './kmsExtraData-p.js';
|
|
7
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
8
6
|
/**
|
|
9
7
|
* Returns a JSON-safe copy of the permit's EIP-712 typed data: the domain's
|
|
@@ -88,14 +86,11 @@ export function assertIsSignedDecryptionPermit(value, options) {
|
|
|
88
86
|
* @throws If the signature verification fails.
|
|
89
87
|
*/
|
|
90
88
|
export async function signDecryptionPermit(context, parameters) {
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
return await signDecryptionPermitV1(context, parameters);
|
|
97
|
-
}
|
|
98
|
-
return await signDecryptionPermitV2(context, parameters);
|
|
89
|
+
// `signDecryptionPermit` (the public action wrapping this) is deprecated in
|
|
90
|
+
// favor of `signLegacyDecryptionPermit`/`signUnifiedDecryptionPermit`, but we
|
|
91
|
+
// deliberately keep it pinned to V1 here for good compatibility with callers
|
|
92
|
+
// that haven't migrated yet.
|
|
93
|
+
return await signDecryptionPermitV1(context, parameters);
|
|
99
94
|
}
|
|
100
95
|
////////////////////////////////////////////////////////////////////////////////
|
|
101
96
|
// parseSignedDecryptionPermit
|
|
@@ -147,27 +142,6 @@ function _normalizeSerializedPermitDomainChainId(permit) {
|
|
|
147
142
|
},
|
|
148
143
|
};
|
|
149
144
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Reads the `extraData` version carried by a serialized permit, or `undefined` when
|
|
152
|
-
* the permit exposes no decodable `extraData` (missing, wrong type, or malformed —
|
|
153
|
-
* left to the downstream permit validation to report with proper context).
|
|
154
|
-
*
|
|
155
|
-
* Navigates `permit.eip712.message.extraData` defensively (the permit is untrusted
|
|
156
|
-
* input). Used to enforce the SDK protocol-API cap at parse time — see the CRITICAL
|
|
157
|
-
* RULE in `readKmsSignersContext-p.ts`.
|
|
158
|
-
*/
|
|
159
|
-
function _parsePermitExtraDataVersion(permit) {
|
|
160
|
-
const extraData = permit?.eip712?.message?.extraData;
|
|
161
|
-
if (typeof extraData !== 'string') {
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
try {
|
|
165
|
-
return createKmsExtraDataFromBytesHex(extraData).version;
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
return undefined;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
145
|
export async function parseSignedDecryptionPermit(context, parameters) {
|
|
172
146
|
const { transportKeyPair, permit, fhevmContext } = parameters;
|
|
173
147
|
// Accept permits revived from a JSON string (chainId serialized as a string).
|
|
@@ -181,21 +155,6 @@ export async function parseSignedDecryptionPermit(context, parameters) {
|
|
|
181
155
|
}
|
|
182
156
|
// version is 1 or 2
|
|
183
157
|
const version = sanitizedVersion;
|
|
184
|
-
// Enforce the SDK protocol-API cap (see the CRITICAL RULE in readKmsSignersContext-p.ts):
|
|
185
|
-
// a v13-capped SDK must never accept a v2 permit, because a v13 relayer rejects it.
|
|
186
|
-
// A v2 can arrive two independent ways; each is rejected here with its own message,
|
|
187
|
-
// up front, instead of an opaque relayer 400 later (mirrors decryptValuesFromPairs).
|
|
188
|
-
if (SDK_PROTOCOL_API_MAJOR_VERSION === 0 && SDK_PROTOCOL_API_MINOR_VERSION <= 13) {
|
|
189
|
-
// (a) A V2-format permit.
|
|
190
|
-
if (version > 1) {
|
|
191
|
-
throw new Error(`Refusing to parse a V2-format decryption permit (version ${version}): this SDK is capped at protocol API v0.${SDK_PROTOCOL_API_MINOR_VERSION} and only supports V1 permits. V2 permits require an SDK on protocol API v0.14.0 or later.`);
|
|
192
|
-
}
|
|
193
|
-
const extraDataVersion = _parsePermitExtraDataVersion(sanitizedPermit);
|
|
194
|
-
// (b) A v2 extraData — including one carried inside a V1-format permit.
|
|
195
|
-
if (extraDataVersion !== undefined && extraDataVersion >= EXTRA_DATA_V2) {
|
|
196
|
-
throw new Error(`Refusing to parse a permit carrying extraData v2: this SDK is capped at protocol API v0.${SDK_PROTOCOL_API_MINOR_VERSION} and only accepts extraData v0/v1 (a v13 relayer rejects extraData v2). Use an SDK on protocol API v0.14.0 or later.`);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
158
|
if (version === 1) {
|
|
200
159
|
return await parseSignedDecryptionPermitV1(context, { transportKeyPair, permit: sanitizedPermit, fhevmContext });
|
|
201
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedDecryptionPermit-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermit-p.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignedDecryptionPermit-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermit-p.ts"],"names":[],"mappings":"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"}
|