@fhevm/sdk 1.1.0-alpha.6 → 1.1.0-alpha.8
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/README.md +5 -5
- package/_cjs/core/_version.js +1 -1
- package/_cjs/core/actions/base/index.js +1 -17
- package/_cjs/core/actions/base/index.js.map +1 -1
- package/_cjs/core/actions/base/signDecryptionPermit.js +0 -3
- package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/index.js +1 -13
- package/_cjs/core/actions/chain/index.js.map +1 -1
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValue.js +1 -0
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValues.js +2 -0
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/index.js +1 -3
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValue.js +2 -1
- package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_cjs/core/actions/encrypt/encryptValues.js +2 -1
- package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js +2 -1
- package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_cjs/core/actions/host/index.js +1 -9
- package/_cjs/core/actions/host/index.js.map +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_cjs/core/base/cachedFetch.js +2 -1
- package/_cjs/core/base/cachedFetch.js.map +1 -1
- package/_cjs/core/base/uint.js +7 -0
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/clients/decorators/base.js +1 -1
- package/_cjs/core/clients/decorators/base.js.map +1 -1
- package/_cjs/core/handle/FheType.js +4 -0
- package/_cjs/core/handle/FheType.js.map +1 -1
- package/_cjs/core/host-contracts/HostContractVersion-p.js +4 -0
- package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +15 -25
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +4 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +1 -1
- package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +1 -1
- package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +7 -6
- package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js +54 -66
- package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_cjs/core/kms/KmsSigncryptedShares-p.js +40 -4
- package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/PublicDecryptionProof-p.js +8 -7
- package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +33 -199
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js +204 -0
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +172 -0
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_cjs/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +12 -13
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +22 -21
- package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_cjs/core/kms/decryptValuesFromPairs.js +18 -2
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +19 -9
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +95 -0
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
- package/_cjs/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +8 -8
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
- package/_cjs/core/kms/kmsExtraData-p.js +234 -0
- package/_cjs/core/kms/kmsExtraData-p.js.map +1 -0
- package/_cjs/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +8 -8
- package/_cjs/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
- package/_cjs/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
- package/_cjs/core/kms/publicDecrypt.js +5 -5
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/kms/utils.js +0 -19
- package/_cjs/core/kms/utils.js.map +1 -1
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +6 -5
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js +6 -6
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +12 -12
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/init-p.js +6 -7
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +12 -11
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +53 -3
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +67 -21
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +64 -7
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +9 -108
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js +163 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js +7 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js +83 -0
- package/_cjs/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js +2 -2
- package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_cjs/core/modules/relayer/cleartext/signers.js +14 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -1
- package/_cjs/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +11 -45
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +52 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +54 -0
- package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
- package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +5 -2
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
- package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
- package/_cjs/core/modules/relayer/module/index.js +2 -2
- package/_cjs/core/modules/relayer/module/index.js.map +1 -1
- package/_cjs/core/runtime/HyperWasmSolver-p.js +1 -6
- package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_cjs/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +30 -0
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
- package/_cjs/ethers/internal/ethereum-ct.js +11 -0
- package/_cjs/ethers/internal/ethereum-ct.js.map +1 -1
- package/_cjs/ethers/internal/runtime-ct.js +9 -7
- package/_cjs/ethers/internal/runtime-ct.js.map +1 -1
- package/_cjs/viem/internal/ethereum-ct.js +8 -0
- package/_cjs/viem/internal/ethereum-ct.js.map +1 -1
- package/_cjs/viem/internal/runtime-ct.js +9 -7
- package/_cjs/viem/internal/runtime-ct.js.map +1 -1
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
- package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/index.js +0 -8
- package/_esm/core/actions/base/index.js.map +1 -1
- package/_esm/core/actions/base/signDecryptionPermit.js +0 -6
- package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/index.js +0 -6
- package/_esm/core/actions/chain/index.js.map +1 -1
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValue.js +40 -0
- package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValues.js +1 -0
- package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +1 -0
- package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValue.js +1 -0
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValues.js +2 -0
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +2 -0
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/index.js +0 -1
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValue.js +2 -1
- package/_esm/core/actions/encrypt/encryptValue.js.map +1 -1
- package/_esm/core/actions/encrypt/encryptValues.js +2 -1
- package/_esm/core/actions/encrypt/encryptValues.js.map +1 -1
- package/_esm/core/actions/encrypt/generateZkProof.js +2 -1
- package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -1
- package/_esm/core/actions/host/index.js +0 -4
- package/_esm/core/actions/host/index.js.map +1 -1
- package/_esm/core/actions/host/readKmsVerifierContractData.js +2 -2
- package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_esm/core/base/cachedFetch.js +1 -0
- package/_esm/core/base/cachedFetch.js.map +1 -1
- package/_esm/core/base/uint.js +7 -0
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/clients/decorators/base.js +2 -4
- package/_esm/core/clients/decorators/base.js.map +1 -1
- package/_esm/core/coprocessor/coprocessorEip712Types.js +2 -2
- package/_esm/core/handle/FheType.js +10 -0
- package/_esm/core/handle/FheType.js.map +1 -1
- package/_esm/core/host-contracts/HostContractVersion-p.js +6 -0
- package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js +16 -25
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +5 -2
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -1
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +2 -2
- package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -1
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js +2 -2
- package/_esm/core/host-contracts/getCurrentKmsContextAndEpoch-p.js.map +1 -1
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +2 -2
- package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +2 -2
- package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -1
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +6 -5
- package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -1
- package/_esm/core/host-contracts/readKmsSignersContext-p.js +132 -68
- package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
- package/_esm/core/kms/KmsSigncryptedShares-p.js +70 -4
- package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -1
- package/_esm/core/kms/PublicDecryptionProof-p.js +8 -7
- package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermit-p.js +48 -245
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js +228 -0
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js +192 -0
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -0
- package/_esm/core/kms/{createKmsDelegatedUserDecryptEip712.js → createKmsDelegatedUserDecryptEip712V1.js} +11 -12
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/kms/createKmsPublicDecryptEip712.js +1 -1
- package/_esm/core/kms/{createKmsUserDecryptEip712.js → createKmsUserDecryptEip712V1.js} +23 -22
- package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_esm/core/kms/decryptValuesFromPairs.js +18 -2
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/kms/{fetchKmsSigncryptedShares-p.js → fetchKmsSigncryptedSharesV1-p.js} +49 -15
- package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -0
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +119 -0
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -0
- package/_esm/core/kms/{kmsDelegatedUserDecryptEip712Types.js → kmsDelegatedUserDecryptEip712V1Types.js} +9 -8
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712V1Types.js.map +1 -0
- package/_esm/core/kms/kmsExtraData-p.js +298 -0
- package/_esm/core/kms/kmsExtraData-p.js.map +1 -0
- package/_esm/core/kms/kmsPublicDecryptEip712Types.js +1 -1
- package/_esm/core/kms/{kmsUserDecryptEip712Types.js → kmsUserDecryptEip712V1Types.js} +9 -8
- package/_esm/core/kms/kmsUserDecryptEip712V1Types.js.map +1 -0
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js +2 -1
- package/_esm/core/kms/kmsUserDecryptEip712V2Types.js.map +1 -1
- package/_esm/core/kms/publicDecrypt.js +6 -6
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/kms/utils.js +0 -18
- package/_esm/core/kms/utils.js.map +1 -1
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +7 -6
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js +6 -6
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/decrypt/module/api-p.js +13 -13
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/decrypt/module/init-p.js +7 -7
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +13 -11
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +69 -12
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +76 -22
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +80 -7
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +13 -114
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js +173 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js +6 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecryptV2.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js +140 -0
- package/_esm/core/modules/relayer/cleartext/forgeFhevmV1.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/mock.js +1 -1
- package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -1
- package/_esm/core/modules/relayer/cleartext/signers.js +26 -0
- package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -1
- package/_esm/core/modules/relayer/module/{fetchDelegatedUserDecrypt.js → fetchDelegatedUserDecryptV1.js} +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +11 -46
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +53 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +56 -0
- package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -0
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +10 -2
- package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -1
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +6 -3
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -1
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +2 -0
- package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -1
- package/_esm/core/modules/relayer/module/index.js +1 -1
- package/_esm/core/modules/relayer/module/index.js.map +1 -1
- package/_esm/core/runtime/HyperWasmSolver-p.js +1 -6
- package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
- package/_esm/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.js → verifyKmsDelegatedUserDecryptEip712V1.js} +5 -5
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.js → verifyKmsUserDecryptEip712V1.js} +5 -5
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +27 -0
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +1 -0
- package/_esm/ethers/internal/ethereum-ct.js +12 -1
- package/_esm/ethers/internal/ethereum-ct.js.map +1 -1
- package/_esm/ethers/internal/runtime-ct.js +9 -7
- package/_esm/ethers/internal/runtime-ct.js.map +1 -1
- package/_esm/viem/internal/ethereum-ct.js +10 -2
- package/_esm/viem/internal/ethereum-ct.js.map +1 -1
- package/_esm/viem/internal/runtime-ct.js +9 -7
- package/_esm/viem/internal/runtime-ct.js.map +1 -1
- package/_types/core/actions/base/index.d.ts +0 -8
- package/_types/core/actions/base/index.d.ts.map +1 -1
- package/_types/core/actions/base/signDecryptionPermit.d.ts +4 -5
- package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/index.d.ts +1 -7
- package/_types/core/actions/chain/index.d.ts.map +1 -1
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +1 -0
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +3 -2
- package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValue.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValues.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +3 -4
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/index.d.ts +0 -1
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/actions/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/index.d.ts +0 -4
- package/_types/core/actions/host/index.d.ts.map +1 -1
- package/_types/core/base/cachedFetch.d.ts +1 -0
- package/_types/core/base/cachedFetch.d.ts.map +1 -1
- package/_types/core/base/uint.d.ts +2 -1
- package/_types/core/base/uint.d.ts.map +1 -1
- package/_types/core/clients/decorators/base.d.ts +12 -23
- package/_types/core/clients/decorators/base.d.ts.map +1 -1
- package/_types/core/handle/FheType.d.ts +8 -0
- package/_types/core/handle/FheType.d.ts.map +1 -1
- package/_types/core/host-contracts/HostContractVersion-p.d.ts +8 -0
- package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -1
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts +3 -2
- package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +3 -2
- package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -1
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +43 -26
- package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts +18 -0
- package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -1
- package/_types/core/kms/PublicDecryptionProof-p.d.ts +1 -1
- package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts +15 -29
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts +7 -0
- package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts.map +1 -0
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts +7 -0
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +16 -0
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +27 -0
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +3 -2
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -1
- package/_types/core/kms/decryptValuesFromPairs.d.ts +4 -11
- package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/kms/{fetchKmsSigncryptedShares-p.d.ts → fetchKmsSigncryptedSharesV1-p.d.ts} +10 -12
- package/_types/core/kms/fetchKmsSigncryptedSharesV1-p.d.ts.map +1 -0
- package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts +28 -0
- package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts +3 -0
- package/_types/core/kms/kmsDelegatedUserDecryptEip712V1Types.d.ts.map +1 -0
- package/_types/core/kms/kmsExtraData-p.d.ts +66 -0
- package/_types/core/kms/kmsExtraData-p.d.ts.map +1 -0
- package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts +3 -0
- package/_types/core/kms/kmsUserDecryptEip712V1Types.d.ts.map +1 -0
- package/_types/core/kms/kmsUserDecryptEip712V2Types.d.ts.map +1 -1
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
- package/_types/core/kms/utils.d.ts +0 -4
- package/_types/core/kms/utils.d.ts.map +1 -1
- package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +1 -1
- package/_types/core/kms/verifyKmsPublicDecryptEip712-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-ct.d.ts +20 -2
- package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecryptV2.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts +29 -0
- package/_types/core/modules/relayer/cleartext/forgeFhevmV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/{fetchDelegatedUserDecrypt.d.ts → fetchDelegatedUserDecryptV1.d.ts} +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts +3 -0
- package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -1
- package/_types/core/modules/relayer/types.d.ts +18 -5
- package/_types/core/modules/relayer/types.d.ts.map +1 -1
- package/_types/core/types/kms-p.d.ts +7 -1
- package/_types/core/types/kms-p.d.ts.map +1 -1
- package/_types/core/types/kms.d.ts +18 -19
- package/_types/core/types/kms.d.ts.map +1 -1
- package/_types/core/types/logger.d.ts +3 -3
- package/_types/core/types/logger.d.ts.map +1 -1
- package/_types/core/types/record-p.d.ts +2 -1
- package/_types/core/types/record-p.d.ts.map +1 -1
- package/_types/core/types/relayer-p.d.ts +27 -5
- package/_types/core/types/relayer-p.d.ts.map +1 -1
- package/_types/core/types/signedDecryptionPermit.d.ts +37 -26
- package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V1.d.ts.map +1 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +14 -0
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +1 -0
- package/_types/core/utils-p/runtime/recoverSigners.d.ts +2 -2
- package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/ethers/internal/runtime-ct.d.ts.map +1 -1
- package/_types/viem/internal/ethereum-ct.d.ts.map +1 -1
- package/_types/viem/internal/runtime-ct.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/index.ts +0 -42
- package/core/actions/base/signDecryptionPermit.ts +3 -31
- package/core/actions/chain/index.ts +0 -28
- package/core/actions/chain/parseSignedDecryptionPermit.ts +1 -0
- package/core/actions/chain/serializeSignedDecryptionPermit.ts +3 -2
- package/core/actions/decrypt/canDecryptValue.ts +2 -16
- package/core/actions/decrypt/canDecryptValues.ts +2 -16
- package/core/actions/decrypt/canDecryptValuesFromPairs.ts +2 -16
- package/core/actions/decrypt/decryptValue.ts +2 -1
- package/core/actions/decrypt/decryptValues.ts +3 -1
- package/core/actions/decrypt/decryptValuesFromPairs.ts +3 -1
- package/core/actions/decrypt/index.ts +0 -6
- package/core/actions/encrypt/encryptValue.ts +4 -1
- package/core/actions/encrypt/encryptValues.ts +5 -1
- package/core/actions/encrypt/generateZkProof.ts +2 -1
- package/core/actions/host/index.ts +0 -20
- package/core/actions/host/readKmsVerifierContractData.ts +2 -2
- package/core/base/cachedFetch.ts +1 -0
- package/core/base/uint.ts +18 -1
- package/core/clients/decorators/base.ts +13 -37
- package/core/coprocessor/coprocessorEip712Types.ts +2 -2
- package/core/handle/FheType.ts +11 -0
- package/core/host-contracts/HostContractVersion-p.ts +12 -0
- package/core/host-contracts/KmsSignersContext-p.ts +29 -36
- package/core/host-contracts/canDecryptValuesFromPairs.ts +7 -7
- package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +2 -2
- package/core/host-contracts/getCurrentKmsContextAndEpoch-p.ts +2 -2
- package/core/host-contracts/getCurrentKmsContextId-p.ts +2 -2
- package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +3 -2
- package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +10 -7
- package/core/host-contracts/readKmsSignersContext-p.ts +156 -115
- package/core/kms/KmsSigncryptedShares-p.ts +87 -4
- package/core/kms/PublicDecryptionProof-p.ts +11 -9
- package/core/kms/SignedDecryptionPermit-p.ts +67 -357
- package/core/kms/SignedDecryptionPermitV1-p.ts +308 -0
- package/core/kms/SignedDecryptionPermitV2-p.ts +275 -0
- package/core/kms/{createKmsDelegatedUserDecryptEip712.ts → createKmsDelegatedUserDecryptEip712V1.ts} +21 -21
- package/core/kms/createKmsPublicDecryptEip712.ts +1 -1
- package/core/kms/{createKmsUserDecryptEip712.ts → createKmsUserDecryptEip712V1.ts} +35 -31
- package/core/kms/createKmsUserDecryptEip712V2.ts +7 -7
- package/core/kms/decryptValuesFromPairs.ts +34 -22
- package/core/kms/{fetchKmsSigncryptedShares-p.ts → fetchKmsSigncryptedSharesV1-p.ts} +62 -45
- package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +176 -0
- package/core/kms/{kmsDelegatedUserDecryptEip712Types.ts → kmsDelegatedUserDecryptEip712V1Types.ts} +9 -8
- package/core/kms/kmsExtraData-p.ts +374 -0
- package/core/kms/kmsPublicDecryptEip712Types.ts +1 -1
- package/core/kms/{kmsUserDecryptEip712Types.ts → kmsUserDecryptEip712V1Types.ts} +9 -8
- package/core/kms/kmsUserDecryptEip712V2Types.ts +2 -1
- package/core/kms/publicDecrypt.ts +10 -9
- package/core/kms/utils.ts +0 -32
- package/core/kms/verifyKmsPublicDecryptEip712-p.ts +10 -8
- package/core/modules/decrypt/mock.ts +6 -6
- package/core/modules/decrypt/module/api-p.ts +15 -15
- package/core/modules/decrypt/module/init-p.ts +7 -7
- package/core/modules/encrypt/module/init-p.ts +16 -11
- package/core/modules/ethereum/types-ct.ts +25 -2
- package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +98 -15
- package/core/modules/relayer/cleartext/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +115 -27
- package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +115 -9
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +23 -131
- package/core/modules/relayer/cleartext/fetchUserDecryptV1.ts +229 -0
- package/core/modules/relayer/cleartext/fetchUserDecryptV2.ts +11 -0
- package/core/modules/relayer/cleartext/forgeFhevmV1.ts +185 -0
- package/core/modules/relayer/cleartext/mock.ts +1 -1
- package/core/modules/relayer/cleartext/signers.ts +35 -0
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -1
- package/core/modules/relayer/module/fetchUserDecrypt.ts +20 -56
- package/core/modules/relayer/module/fetchUserDecryptV1.ts +69 -0
- package/core/modules/relayer/module/fetchUserDecryptV2.ts +71 -0
- package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +10 -2
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +6 -3
- package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +2 -0
- package/core/modules/relayer/module/index.ts +1 -1
- package/core/modules/relayer/types.ts +24 -5
- package/core/runtime/HyperWasmSolver-p.ts +1 -5
- package/core/types/kms-p.ts +16 -1
- package/core/types/kms.ts +40 -28
- package/core/types/logger.ts +3 -3
- package/core/types/record-p.ts +2 -1
- package/core/types/relayer-p.ts +48 -5
- package/core/types/signedDecryptionPermit.ts +47 -26
- package/core/utils-p/decrypt/{verifyKmsDelegatedUserDecryptEip712.ts → verifyKmsDelegatedUserDecryptEip712V1.ts} +9 -9
- package/core/utils-p/decrypt/{verifyKmsUserDecryptEip712.ts → verifyKmsUserDecryptEip712V1.ts} +9 -9
- package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +43 -0
- package/core/utils-p/runtime/recoverSigners.ts +2 -2
- package/ethers/internal/ethereum-ct.ts +15 -1
- package/ethers/internal/runtime-ct.ts +9 -7
- package/package.json +1 -1
- package/viem/internal/ethereum-ct.ts +14 -2
- package/viem/internal/runtime-ct.ts +9 -7
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -10
- package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
- package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js +0 -19
- package/_cjs/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js +0 -11
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
- package/_cjs/core/actions/base/readKmsSignersContext.js +0 -11
- package/_cjs/core/actions/base/readKmsSignersContext.js.map +0 -1
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -31
- package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
- package/_cjs/core/actions/base/verifyInputProof.js +0 -24
- package/_cjs/core/actions/base/verifyInputProof.js.map +0 -1
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -17
- package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +0 -11
- package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -17
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsEip712Domain.js +0 -11
- package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +0 -1
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +0 -16
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -8
- package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -8
- package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -13
- package/_cjs/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +0 -1
- package/_cjs/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
- package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
- package/_cjs/core/kms/kmsExtraData.js +0 -82
- package/_cjs/core/kms/kmsExtraData.js.map +0 -1
- package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +0 -7
- package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +0 -1
- package/_esm/core/actions/base/fetchKmsSigncryptedShares.js +0 -17
- package/_esm/core/actions/base/fetchKmsSigncryptedShares.js.map +0 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js +0 -8
- package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +0 -1
- package/_esm/core/actions/base/readKmsSignersContext.js +0 -10
- package/_esm/core/actions/base/readKmsSignersContext.js.map +0 -1
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +0 -35
- package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +0 -1
- package/_esm/core/actions/base/verifyInputProof.js +0 -22
- package/_esm/core/actions/base/verifyInputProof.js.map +0 -1
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +0 -14
- package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +0 -1
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +0 -8
- package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +0 -1
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +0 -15
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/createKmsEip712Domain.js +0 -8
- package/_esm/core/actions/chain/createKmsEip712Domain.js.map +0 -1
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +0 -14
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +0 -5
- package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +0 -5
- package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js +0 -11
- package/_esm/core/actions/decrypt/decryptKmsSigncryptedShares.js.map +0 -1
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/kms/createKmsUserDecryptEip712.js.map +0 -1
- package/_esm/core/kms/fetchKmsSigncryptedShares-p.js.map +0 -1
- package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +0 -1
- package/_esm/core/kms/kmsExtraData.js +0 -99
- package/_esm/core/kms/kmsExtraData.js.map +0 -1
- package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +0 -1
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +0 -1
- package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +0 -1
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +0 -14
- package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +0 -1
- package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts +0 -41
- package/_types/core/actions/base/fetchKmsSigncryptedShares.d.ts.map +0 -1
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +0 -14
- package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +0 -1
- package/_types/core/actions/base/readKmsSignersContext.d.ts +0 -6
- package/_types/core/actions/base/readKmsSignersContext.d.ts.map +0 -1
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +0 -14
- package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +0 -1
- package/_types/core/actions/base/verifyInputProof.d.ts +0 -14
- package/_types/core/actions/base/verifyInputProof.d.ts.map +0 -1
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +0 -11
- package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +0 -1
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +0 -7
- package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts +0 -7
- package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +0 -1
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +0 -14
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -7
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +0 -7
- package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts +0 -13
- package/_types/core/actions/decrypt/decryptKmsSigncryptedShares.d.ts.map +0 -1
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +0 -15
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts +0 -26
- package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/kms/fetchKmsSigncryptedShares-p.d.ts.map +0 -1
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +0 -3
- package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +0 -1
- package/_types/core/kms/kmsExtraData.d.ts +0 -25
- package/_types/core/kms/kmsExtraData.d.ts.map +0 -1
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +0 -3
- package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +0 -1
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +0 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +0 -1
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +0 -14
- package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +0 -1
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +0 -14
- package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +0 -1
- package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +0 -24
- package/core/actions/base/fetchKmsSigncryptedShares.ts +0 -83
- package/core/actions/base/fetchVerifiedInputProof.ts +0 -25
- package/core/actions/base/readKmsSignersContext.ts +0 -20
- package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +0 -60
- package/core/actions/base/verifyInputProof.ts +0 -45
- package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +0 -32
- package/core/actions/chain/createCoprocessorEip712Domain.ts +0 -16
- package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +0 -36
- package/core/actions/chain/createKmsEip712Domain.ts +0 -16
- package/core/actions/chain/createKmsUserDecryptEip712.ts +0 -34
- package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +0 -16
- package/core/actions/chain/verifyKmsUserDecryptEip712.ts +0 -16
- package/core/actions/decrypt/decryptKmsSigncryptedShares.ts +0 -34
- package/core/kms/kmsExtraData.ts +0 -127
- /package/core/modules/relayer/module/{fetchDelegatedUserDecrypt.ts → fetchDelegatedUserDecryptV1.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
2
|
-
import { createKmsSigncryptedShares } from '
|
|
3
|
-
import {
|
|
4
|
-
import { assertIsSignedDecryptionPermit
|
|
2
|
+
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
3
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
4
|
+
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
5
5
|
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
6
6
|
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
7
7
|
import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
|
|
@@ -10,16 +10,29 @@ import { checkDelegation } from '../host-contracts/checkDelegation.js';
|
|
|
10
10
|
import { resolveFhevmTkmsVersion } from '../runtime/resolveFhevmVersions-p.js';
|
|
11
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
12
12
|
const MAX_USER_DECRYPT_CONTRACT_ADDRESSES = 10;
|
|
13
|
+
/**
|
|
14
|
+
* Asserts that every address in {@link contractAddresses} is listed in the
|
|
15
|
+
* permit's `contractAddresses` (case-insensitive comparison).
|
|
16
|
+
*/
|
|
17
|
+
export function assertPermitV1IncludesContractAddresses(permit, contractAddresses) {
|
|
18
|
+
const permitAddresses = permit.eip712.message.contractAddresses;
|
|
19
|
+
for (const address of contractAddresses) {
|
|
20
|
+
if (!permitAddresses.some((a) => a.toLowerCase() === address.toLowerCase())) {
|
|
21
|
+
throw Error(`contract address ${address} is not listed in the permit's contractAddresses`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
13
25
|
////////////////////////////////////////////////////////////////////////////////
|
|
14
|
-
//
|
|
26
|
+
// fetchKmsSigncryptedSharesV1
|
|
15
27
|
////////////////////////////////////////////////////////////////////////////////
|
|
16
|
-
export async function
|
|
17
|
-
const {
|
|
28
|
+
export async function fetchKmsSigncryptedSharesV1(context, parameters) {
|
|
29
|
+
const { options, pairs } = parameters;
|
|
30
|
+
const signedPermit = parameters.signedPermit;
|
|
18
31
|
// This helper must support base clients, where TKMS is not mandatory
|
|
19
32
|
// and tkmsVersion may not be initialized in the CoreFhevm instance yet.
|
|
20
33
|
const tkmsVersion = await resolveFhevmTkmsVersion(context);
|
|
21
34
|
// Check: every requested contractAddress is listed in the permit
|
|
22
|
-
|
|
35
|
+
assertPermitV1IncludesContractAddresses(signedPermit, pairs.map((p) => p.contractAddress));
|
|
23
36
|
// Caller-provided options override runtime config defaults (e.g. auth)
|
|
24
37
|
const relayerOptions = {
|
|
25
38
|
auth: context.runtime.config.auth,
|
|
@@ -51,7 +64,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
51
64
|
// 6. Check: Expiration date
|
|
52
65
|
signedPermit.assertNotExpired();
|
|
53
66
|
// 7. Check: ACL permissions (user is signer or delegatorAddress)
|
|
54
|
-
if (signedPermit.
|
|
67
|
+
if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
|
|
55
68
|
await checkDelegation(context, {
|
|
56
69
|
aclAddress: context.chain.fhevm.contracts.acl.address,
|
|
57
70
|
delegate: signerAddress,
|
|
@@ -66,7 +79,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
66
79
|
handleContractPairs,
|
|
67
80
|
});
|
|
68
81
|
}
|
|
69
|
-
// 8. Verify the
|
|
82
|
+
// 8. Verify the Eip712 signature
|
|
70
83
|
// Not required because a signedPermit is guaranteed to be verified.
|
|
71
84
|
// 9. Fetch `KmsSignersContext` on-chain (cached)
|
|
72
85
|
// Reject the permit early if it was signed against a different KMS context
|
|
@@ -82,7 +95,7 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
82
95
|
// (e.g. a version change in the serialization scheme) will be rejected even
|
|
83
96
|
// though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
84
97
|
// instead of the raw `extraData` bytes.
|
|
85
|
-
const requestedKmsSignersContext = await
|
|
98
|
+
const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
86
99
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
87
100
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
88
101
|
});
|
|
@@ -91,11 +104,8 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
91
104
|
kmsSignersContext: requestedKmsSignersContext,
|
|
92
105
|
}, { subject: 'Invalid permit' });
|
|
93
106
|
// 10. Fetch `KmsSigncryptedShares` from the relayer
|
|
94
|
-
// Safe casts: the discriminated union on parameters guarantees
|
|
95
|
-
// that options type matches signedPermit type, but TS can't prove
|
|
96
|
-
// it after destructuring (nested discriminant limitation).
|
|
97
107
|
let shares;
|
|
98
|
-
if (signedPermit.
|
|
108
|
+
if (signedPermit.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
|
|
99
109
|
shares = await context.runtime.relayer.fetchDelegatedUserDecrypt(context, {
|
|
100
110
|
payload: {
|
|
101
111
|
handleContractPairs,
|
|
@@ -129,6 +139,30 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
129
139
|
handles,
|
|
130
140
|
tkmsVersion,
|
|
131
141
|
};
|
|
142
|
+
/*
|
|
143
|
+
|
|
144
|
+
----------------------------------------------------------------------------
|
|
145
|
+
KMS response-signature verification.
|
|
146
|
+
|
|
147
|
+
Each share's signature is an EIP-712 signature over the
|
|
148
|
+
`UserDecryptResponseVerification` struct (see `verifyKmsSigncryptedShare` and
|
|
149
|
+
gateway `Decryption.sol`). This check is already performed inside the tkms WASM
|
|
150
|
+
during reconstruction (verify=true); the call below is an equivalent JS-only
|
|
151
|
+
pass, kept for testing / debugging. To fully check, loop over every share.
|
|
152
|
+
----------------------------------------------------------------------------
|
|
153
|
+
|
|
154
|
+
for (const share of shares) {
|
|
155
|
+
await verifyKmsSigncryptedShare(
|
|
156
|
+
context,
|
|
157
|
+
{
|
|
158
|
+
metadata: sharesMetadata,
|
|
159
|
+
share,
|
|
160
|
+
transportPublicKey: signedPermit.transportPublicKey,
|
|
161
|
+
}
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
*/
|
|
132
166
|
// 12. The returned KmsSigncryptedShares is guaranteed to be fully verified:
|
|
133
167
|
// uniform extraData across shares, valid extraData format, and consistency
|
|
134
168
|
// with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
|
|
@@ -137,4 +171,4 @@ export async function fetchKmsSigncryptedShares(context, parameters) {
|
|
|
137
171
|
shares,
|
|
138
172
|
});
|
|
139
173
|
}
|
|
140
|
-
//# sourceMappingURL=
|
|
174
|
+
//# sourceMappingURL=fetchKmsSigncryptedSharesV1-p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchKmsSigncryptedSharesV1-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV1-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
2
|
+
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
3
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
4
|
+
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
5
|
+
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
6
|
+
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
7
|
+
import { checkDelegation } from '../host-contracts/checkDelegation.js';
|
|
8
|
+
import { assertExtraDataMatchesKmsSingersContext } from '../host-contracts/KmsSignersContext-p.js';
|
|
9
|
+
import { createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
10
|
+
import { resolveFhevmTkmsVersion } from '../runtime/resolveFhevmVersions-p.js';
|
|
11
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
// fetchKmsSigncryptedSharesV2
|
|
13
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
14
|
+
export async function fetchKmsSigncryptedSharesV2(context, parameters) {
|
|
15
|
+
const { options, pairs } = parameters;
|
|
16
|
+
const signedPermit = parameters.signedPermit;
|
|
17
|
+
const tkmsVersion = await resolveFhevmTkmsVersion(context);
|
|
18
|
+
const relayerOptions = {
|
|
19
|
+
auth: context.runtime.config.auth,
|
|
20
|
+
...options,
|
|
21
|
+
};
|
|
22
|
+
assertIsSignedDecryptionPermit(signedPermit, {});
|
|
23
|
+
const { signerAddress, signature } = signedPermit;
|
|
24
|
+
const userAddress = signedPermit.eip712.message.userAddress;
|
|
25
|
+
// 1. Check: At least one handle/contract pair is required
|
|
26
|
+
if (pairs.length === 0) {
|
|
27
|
+
throw Error(`encrypted value/contract pairs must not be empty, at least one encrypted value/contract pair is required`);
|
|
28
|
+
}
|
|
29
|
+
// Resolve ownerAddress for each pair: defaults to userAddress (direct-access path)
|
|
30
|
+
// when not explicitly provided by the caller.
|
|
31
|
+
const resolvedPairs = pairs.map((p) => ({
|
|
32
|
+
handle: p.handle,
|
|
33
|
+
contractAddress: p.contractAddress,
|
|
34
|
+
ownerAddress: p.ownerAddress ?? userAddress,
|
|
35
|
+
}));
|
|
36
|
+
const handles = resolvedPairs.map((p) => p.handle);
|
|
37
|
+
Object.freeze(handles);
|
|
38
|
+
// 2. Check: All handles belong to the host chainId
|
|
39
|
+
assertHandlesBelongToSameChainId(handles, BigInt(context.chain.id));
|
|
40
|
+
// 3. Check: 2048 bits limit
|
|
41
|
+
assertKmsDecryptionBitLimit(handles);
|
|
42
|
+
// 4. Check: Expiration date
|
|
43
|
+
signedPermit.assertNotExpired();
|
|
44
|
+
// 5. Check: ACL permissions — split pairs by direct vs delegated access
|
|
45
|
+
const directPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() === userAddress.toLowerCase());
|
|
46
|
+
const delegatedPairs = resolvedPairs.filter((p) => p.ownerAddress.toLowerCase() !== userAddress.toLowerCase());
|
|
47
|
+
if (directPairs.length > 0) {
|
|
48
|
+
await checkPersistAllowed(context, {
|
|
49
|
+
aclAddress: context.chain.fhevm.contracts.acl.address,
|
|
50
|
+
userAddress,
|
|
51
|
+
handleContractPairs: directPairs,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (delegatedPairs.length > 0) {
|
|
55
|
+
// Group delegated pairs by delegator (ownerAddress): a single batch may contain
|
|
56
|
+
// handles from multiple delegators, each requiring a separate ACL delegation check.
|
|
57
|
+
const byDelegator = new Map();
|
|
58
|
+
for (const pair of delegatedPairs) {
|
|
59
|
+
const group = byDelegator.get(pair.ownerAddress) ?? [];
|
|
60
|
+
group.push(pair);
|
|
61
|
+
byDelegator.set(pair.ownerAddress, group);
|
|
62
|
+
}
|
|
63
|
+
for (const [delegator, groupedPairs] of byDelegator) {
|
|
64
|
+
await checkDelegation(context, {
|
|
65
|
+
aclAddress: context.chain.fhevm.contracts.acl.address,
|
|
66
|
+
delegate: userAddress,
|
|
67
|
+
delegator,
|
|
68
|
+
handleContractPairs: groupedPairs,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// 6. Verify the Eip712 signature
|
|
73
|
+
// Not required because a signedPermit is guaranteed to be verified.
|
|
74
|
+
// 7. Fetch `KmsSignersContext` on-chain (cached)
|
|
75
|
+
// Reject the permit early if it was signed against a different KMS context.
|
|
76
|
+
//
|
|
77
|
+
// TODO: The current check is a strict byte-level comparison. A permit signed
|
|
78
|
+
// with the correct `kmsContextId` but a different `extraData` encoding format
|
|
79
|
+
// (e.g. a version change in the serialization scheme) will be rejected even
|
|
80
|
+
// though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
81
|
+
// instead of the raw `extraData` bytes.
|
|
82
|
+
const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
83
|
+
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
84
|
+
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
85
|
+
});
|
|
86
|
+
assertExtraDataMatchesKmsSingersContext({
|
|
87
|
+
extraData: signedPermit.eip712.message.extraData,
|
|
88
|
+
kmsSignersContext: requestedKmsSignersContext,
|
|
89
|
+
}, { subject: 'Invalid permit' });
|
|
90
|
+
// 8. Fetch `KmsSigncryptedShares` from the relayer (unified V2 route)
|
|
91
|
+
const shares = await context.runtime.relayer.fetchUserDecrypt(context, {
|
|
92
|
+
payload: {
|
|
93
|
+
handleContractPairs: resolvedPairs,
|
|
94
|
+
kmsDecryptEip712Message: signedPermit.eip712.message,
|
|
95
|
+
kmsDecryptEip712Signature: signature,
|
|
96
|
+
},
|
|
97
|
+
options: relayerOptions,
|
|
98
|
+
});
|
|
99
|
+
// 9. Build and verify the sealed validated `KmsSigncryptedShares` object
|
|
100
|
+
const sharesMetadata = {
|
|
101
|
+
kmsSignersContext: requestedKmsSignersContext,
|
|
102
|
+
eip712Domain: createKmsEip712Domain({
|
|
103
|
+
chainId: context.chain.fhevm.gateway.id,
|
|
104
|
+
verifyingContractAddressDecryption: context.chain.fhevm.gateway.contracts.decryption.address,
|
|
105
|
+
}),
|
|
106
|
+
eip712Signature: signature,
|
|
107
|
+
eip712SignerAddress: signerAddress,
|
|
108
|
+
handles,
|
|
109
|
+
tkmsVersion,
|
|
110
|
+
};
|
|
111
|
+
// 10. The returned KmsSigncryptedShares is guaranteed to be fully verified:
|
|
112
|
+
// uniform extraData across shares, valid extraData format, and consistency
|
|
113
|
+
// with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
|
|
114
|
+
return await createKmsSigncryptedShares(context, {
|
|
115
|
+
metadata: sharesMetadata,
|
|
116
|
+
shares,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=fetchKmsSigncryptedSharesV2-p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchKmsSigncryptedSharesV2-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV2-p.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAyB/E,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAgB,EAAE,UAAsB;IACxF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IACtC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAwC,CAAC;IAEzE,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;QACjC,GAAG,OAAO;KACX,CAAC;IAEF,8BAA8B,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAE5D,0DAA0D;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,CACT,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,8CAA8C;IAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,WAAW;KAC5C,CAAC,CAAC,CAAC;IAEJ,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,mDAAmD;IACnD,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAiB,CAAC,CAAC;IAEpF,4BAA4B;IAC5B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAErC,4BAA4B;IAC5B,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAEhC,wEAAwE;IACxE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAE/G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,mBAAmB,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;YAC3E,WAAW;YACX,mBAAmB,EAAE,WAAW;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,gFAAgF;QAChF,oFAAoF;QACpF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8D,CAAC;QAC1F,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC;YACpD,MAAM,eAAe,CAAC,OAAO,EAAE;gBAC7B,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B;gBAC3E,QAAQ,EAAE,WAAW;gBACrB,SAAS;gBACT,mBAAmB,EAAE,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,oEAAoE;IAEpE,iDAAiD;IACjD,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,wCAAwC;IACxC,MAAM,0BAA0B,GAAsB,MAAM,4BAA4B,CAAC,OAAO,EAAE;QAChG,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAA6B;QAC3F,qBAAqB,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,OAAyC;KAC/G,CAAC,CAAC;IAEH,uCAAuC,CACrC;QACE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;QAChD,iBAAiB,EAAE,0BAA0B;KAC9C,EACD,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC9B,CAAC;IAEF,sEAAsE;IACtE,MAAM,MAAM,GAAmC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;QACrG,OAAO,EAAE;YACP,mBAAmB,EAAE,aAAa;YAClC,uBAAuB,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;YACpD,yBAAyB,EAAE,SAAS;SACrC;QACD,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,yEAAyE;IACzE,MAAM,cAAc,GAAiC;QACnD,iBAAiB,EAAE,0BAA0B;QAC7C,YAAY,EAAE,qBAAqB,CAAC;YAClC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACvC,kCAAkC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;SAC7F,CAAC;QACF,eAAe,EAAE,SAAS;QAC1B,mBAAmB,EAAE,aAAa;QAClC,OAAO;QACP,WAAW;KACZ,CAAC;IAEF,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,OAAO,MAAM,0BAA0B,CAAC,OAAO,EAAE;QAC/C,QAAQ,EAAE,cAAc;QACxB,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
////////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
//
|
|
2
|
+
// KmsDelegatedUserDecryptEip712V1Types
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
|
-
|
|
4
|
+
// Careful: do not change any fields in this structure
|
|
5
|
+
export const kmsDelegatedUserDecryptEip712V1Types = {
|
|
5
6
|
EIP712Domain: [
|
|
6
7
|
{ name: 'name', type: 'string' },
|
|
7
8
|
{ name: 'version', type: 'string' },
|
|
@@ -20,9 +21,9 @@ export const kmsDelegatedUserDecryptEip712Types = {
|
|
|
20
21
|
{ name: 'extraData', type: 'bytes' },
|
|
21
22
|
],
|
|
22
23
|
};
|
|
23
|
-
Object.freeze(
|
|
24
|
-
Object.freeze(
|
|
25
|
-
Object.freeze(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=
|
|
24
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types);
|
|
25
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types.EIP712Domain);
|
|
26
|
+
Object.freeze(kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification);
|
|
27
|
+
kmsDelegatedUserDecryptEip712V1Types.EIP712Domain.forEach(Object.freeze);
|
|
28
|
+
kmsDelegatedUserDecryptEip712V1Types.DelegatedUserDecryptRequestVerification.forEach(Object.freeze);
|
|
29
|
+
//# sourceMappingURL=kmsDelegatedUserDecryptEip712V1Types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kmsDelegatedUserDecryptEip712V1Types.js","sourceRoot":"","sources":["../../../core/kms/kmsDelegatedUserDecryptEip712V1Types.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,sDAAsD;AACtD,MAAM,CAAC,MAAM,oCAAoC,GAAyC;IACxF,YAAY,EAAE;QACZ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;IACV,gFAAgF;IAChF,yFAAyF;IACzF,qDAAqD;IACrD,uCAAuC,EAAE;QACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;QACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE;QAChD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5B;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,YAAY,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,uCAAuC,CAAC,CAAC;AAC5F,oCAAoC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzE,oCAAoC,CAAC,uCAAuC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _KmsExtraDataImpl_instances, _KmsExtraDataImpl_version, _KmsExtraDataImpl_kmsContextId, _KmsExtraDataImpl_kmsEpochId, _KmsExtraDataImpl_validate;
|
|
13
|
+
import { asUint256BigInt, asUint8Number } from '../base/uint.js';
|
|
14
|
+
import { asBytes32Hex, assertIsBytesHex } from '../base/bytes.js';
|
|
15
|
+
import { isVersionEqual, isVersionStrictlyBefore } from '../host-contracts/HostContractVersion-p.js';
|
|
16
|
+
import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
|
|
17
|
+
export const EXTRA_DATA_V0 = 0x00; // 0x00
|
|
18
|
+
export const EXTRA_DATA_V1 = 0x01; // 1 version byte + 32-byte big-endian context ID = 33 bytes
|
|
19
|
+
export const EXTRA_DATA_V2 = 0x02; // 1 version byte + 32-byte big-endian context ID + 32-byte big-endian epoch ID = 65 bytes
|
|
20
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
21
|
+
const PRIVATE_TOKEN = Symbol('KmsExtraData.token');
|
|
22
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
23
|
+
// ExtraDataImpl class
|
|
24
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export class KmsExtraDataImpl {
|
|
29
|
+
constructor(privateToken, parameters) {
|
|
30
|
+
_KmsExtraDataImpl_instances.add(this);
|
|
31
|
+
_KmsExtraDataImpl_version.set(this, void 0);
|
|
32
|
+
_KmsExtraDataImpl_kmsContextId.set(this, void 0);
|
|
33
|
+
_KmsExtraDataImpl_kmsEpochId.set(this, void 0);
|
|
34
|
+
if (privateToken !== PRIVATE_TOKEN) {
|
|
35
|
+
throw new Error('Unauthorized');
|
|
36
|
+
}
|
|
37
|
+
__classPrivateFieldSet(this, _KmsExtraDataImpl_kmsContextId, asUint256BigInt(parameters.kmsContextId), "f");
|
|
38
|
+
__classPrivateFieldSet(this, _KmsExtraDataImpl_kmsEpochId, asUint256BigInt(parameters.kmsEpochId), "f");
|
|
39
|
+
__classPrivateFieldSet(this, _KmsExtraDataImpl_version, asUint8Number(parameters.version), "f");
|
|
40
|
+
__classPrivateFieldGet(this, _KmsExtraDataImpl_instances, "m", _KmsExtraDataImpl_validate).call(this);
|
|
41
|
+
}
|
|
42
|
+
get version() {
|
|
43
|
+
return __classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f");
|
|
44
|
+
}
|
|
45
|
+
get kmsContextId() {
|
|
46
|
+
return __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f");
|
|
47
|
+
}
|
|
48
|
+
get kmsEpochId() {
|
|
49
|
+
return __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Encodes a KMS context into an extraData format.
|
|
53
|
+
* v0: `0x00`
|
|
54
|
+
* v1: `0x01` + 32-byte big-endian context ID.
|
|
55
|
+
* v2: `0x02` + 32-byte big-endian context ID + 32-byte big-endian epoch ID.
|
|
56
|
+
*/
|
|
57
|
+
toBytesHex() {
|
|
58
|
+
const v = __classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f").toString(16).padStart(2, '0');
|
|
59
|
+
switch (__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")) {
|
|
60
|
+
case EXTRA_DATA_V0: {
|
|
61
|
+
return `0x${v}`;
|
|
62
|
+
}
|
|
63
|
+
case EXTRA_DATA_V1: {
|
|
64
|
+
const contextId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f").toString(16).padStart(64, '0');
|
|
65
|
+
return `0x${v}${contextId}`;
|
|
66
|
+
}
|
|
67
|
+
case EXTRA_DATA_V2: {
|
|
68
|
+
const contextId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f").toString(16).padStart(64, '0');
|
|
69
|
+
const epochId = __classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f").toString(16).padStart(64, '0');
|
|
70
|
+
return `0x${v}${contextId}${epochId}`;
|
|
71
|
+
}
|
|
72
|
+
default:
|
|
73
|
+
throw new Error(`Unsupported kms extraData version ${__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_KmsExtraDataImpl_version = new WeakMap(), _KmsExtraDataImpl_kmsContextId = new WeakMap(), _KmsExtraDataImpl_kmsEpochId = new WeakMap(), _KmsExtraDataImpl_instances = new WeakSet(), _KmsExtraDataImpl_validate = function _KmsExtraDataImpl_validate() {
|
|
78
|
+
switch (__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")) {
|
|
79
|
+
case EXTRA_DATA_V0: {
|
|
80
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") !== 0n) {
|
|
81
|
+
throw new Error('kmsContextId must be 0 for v0 kms extraData');
|
|
82
|
+
}
|
|
83
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") !== 0n) {
|
|
84
|
+
throw new Error('kmsEpochId must be 0 for v0 kms extraData');
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
case EXTRA_DATA_V1: {
|
|
89
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") === 0n) {
|
|
90
|
+
throw new Error('kmsContextId cannot be 0 for v1 kms extraData');
|
|
91
|
+
}
|
|
92
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") !== 0n) {
|
|
93
|
+
throw new Error('kmsEpochId must be 0 for v1 kms extraData');
|
|
94
|
+
}
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
case EXTRA_DATA_V2: {
|
|
98
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsContextId, "f") === 0n) {
|
|
99
|
+
throw new Error('kmsContextId cannot be 0 for v2 kms extraData');
|
|
100
|
+
}
|
|
101
|
+
if (__classPrivateFieldGet(this, _KmsExtraDataImpl_kmsEpochId, "f") === 0n) {
|
|
102
|
+
throw new Error('kmsEpochId cannot be 0 for v2 kms extraData');
|
|
103
|
+
}
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
default:
|
|
107
|
+
throw new Error(`Unsupported kms extraData version ${__classPrivateFieldGet(this, _KmsExtraDataImpl_version, "f")}`);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
111
|
+
export function fromKmsExtraDataBytesHex(extraDataBytesHex) {
|
|
112
|
+
if (extraDataBytesHex === '0x00' || extraDataBytesHex === '0x') {
|
|
113
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
114
|
+
version: EXTRA_DATA_V0,
|
|
115
|
+
kmsContextId: 0n,
|
|
116
|
+
kmsEpochId: 0n,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (extraDataBytesHex.length <= 4) {
|
|
120
|
+
throw new Error(`Unsupported kms extraData length ${extraDataBytesHex.length}: must be more than 4 bytes`);
|
|
121
|
+
}
|
|
122
|
+
// First byte = version (characters 2-3 after '0x')
|
|
123
|
+
const version = asUint8Number(Number('0x' + extraDataBytesHex.slice(2, 4)));
|
|
124
|
+
if (version === EXTRA_DATA_V1) {
|
|
125
|
+
// ExtraData v1 format: 1 version byte + 32-byte big-endian context ID = 33 bytes = 66 hex chars + 2 for '0x' = 68
|
|
126
|
+
// 0x01aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
127
|
+
// ↑ ↑ ↑
|
|
128
|
+
// 0 4 68
|
|
129
|
+
// 0 1 2 3 4 5 6
|
|
130
|
+
// 01234567890123456789012345678901234567890123456789012345678901234567
|
|
131
|
+
if (extraDataBytesHex.length != 68) {
|
|
132
|
+
throw new Error(`Invalid kms extraData length for v1: expected 68, got ${extraDataBytesHex.length}`);
|
|
133
|
+
}
|
|
134
|
+
// 32-byte contextId starts at byte 1 (hex chars 4..67)
|
|
135
|
+
const contextIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(4, 68)}`);
|
|
136
|
+
const kmsContextId = asUint256BigInt(BigInt(contextIdBytes32Hex));
|
|
137
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
138
|
+
version: EXTRA_DATA_V1,
|
|
139
|
+
kmsContextId,
|
|
140
|
+
kmsEpochId: 0n,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (version === EXTRA_DATA_V2) {
|
|
144
|
+
// ExtraData v2 format: 1 version byte + 32-byte big-endian context ID + 32-byte big-endian epoch ID = 65 bytes = 130 hex chars + 2 for '0x' = 132
|
|
145
|
+
// 0x01aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
146
|
+
// ↑ ↑ ↑ ↑
|
|
147
|
+
// 0 4 68 132
|
|
148
|
+
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3
|
|
149
|
+
// 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
|
|
150
|
+
if (extraDataBytesHex.length != 132) {
|
|
151
|
+
throw new Error(`Invalid extraData length for v2: expected 132, got ${extraDataBytesHex.length}`);
|
|
152
|
+
}
|
|
153
|
+
// 32-byte contextId starts at byte 1 (hex chars 4..67)
|
|
154
|
+
const contextIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(4, 68)}`);
|
|
155
|
+
const kmsContextId = asUint256BigInt(BigInt(contextIdBytes32Hex));
|
|
156
|
+
// 32-byte epochId starts at byte 33 (hex chars 68..131)
|
|
157
|
+
const epochIdBytes32Hex = asBytes32Hex(`0x${extraDataBytesHex.slice(68, 132)}`);
|
|
158
|
+
const kmsEpochId = asUint256BigInt(BigInt(epochIdBytes32Hex));
|
|
159
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
160
|
+
version: EXTRA_DATA_V2,
|
|
161
|
+
kmsContextId,
|
|
162
|
+
kmsEpochId: kmsEpochId,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
throw new Error(`Unsupported kms extraData version ${version}`);
|
|
166
|
+
}
|
|
167
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
168
|
+
export function createKmsExtraDataV0() {
|
|
169
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
170
|
+
version: EXTRA_DATA_V0,
|
|
171
|
+
kmsContextId: 0n,
|
|
172
|
+
kmsEpochId: 0n,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
176
|
+
export function createKmsExtraDataV1(parameters) {
|
|
177
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
178
|
+
version: EXTRA_DATA_V1,
|
|
179
|
+
kmsContextId: parameters.kmsContextId,
|
|
180
|
+
kmsEpochId: 0n,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
184
|
+
export function createKmsExtraDataV2(parameters) {
|
|
185
|
+
return new KmsExtraDataImpl(PRIVATE_TOKEN, {
|
|
186
|
+
version: EXTRA_DATA_V2,
|
|
187
|
+
kmsContextId: parameters.kmsContextId,
|
|
188
|
+
kmsEpochId: parameters.kmsEpochId,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
192
|
+
export function validateKmsExtraDataParams(parameters) {
|
|
193
|
+
if (parameters.kmsEpochId !== 0n && parameters.kmsContextId === 0n) {
|
|
194
|
+
throw new Error('kmsContextId cannot be 0 if kmsEpochId is not 0');
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
198
|
+
export function createKmsExtraData(parameters) {
|
|
199
|
+
validateKmsExtraDataParams(parameters);
|
|
200
|
+
if (parameters.kmsEpochId === 0n) {
|
|
201
|
+
if (parameters.kmsContextId === 0n) {
|
|
202
|
+
return createKmsExtraDataV0();
|
|
203
|
+
}
|
|
204
|
+
return createKmsExtraDataV1({
|
|
205
|
+
kmsContextId: parameters.kmsContextId,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return createKmsExtraDataV2({
|
|
209
|
+
kmsContextId: parameters.kmsContextId,
|
|
210
|
+
kmsEpochId: parameters.kmsEpochId,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
214
|
+
export function equalsKmsExtraData(a, b) {
|
|
215
|
+
assertIsKmsExtraData(a, {});
|
|
216
|
+
assertIsKmsExtraData(b, {});
|
|
217
|
+
return a.version === b.version && a.kmsContextId === b.kmsContextId && a.kmsEpochId === b.kmsEpochId;
|
|
218
|
+
}
|
|
219
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
220
|
+
/**
|
|
221
|
+
* Module-only helper. Narrows an unknown value to the concrete
|
|
222
|
+
* {@link KmsExtraDataImpl} class by verifying it via {@link assertIsKmsExtraData}
|
|
223
|
+
* and returning it typed as the implementation class, so other functions in this
|
|
224
|
+
* module can reach class-only members. Prefer this over a bare cast.
|
|
225
|
+
*
|
|
226
|
+
* Must never be exported: `Impl` classes are internal to the SDK and never leave
|
|
227
|
+
* the module, so a function that hands one back must stay module-private too.
|
|
228
|
+
* The public surface exposes only the {@link KmsExtraData} interface.
|
|
229
|
+
*
|
|
230
|
+
* @param value - The value to narrow.
|
|
231
|
+
* @returns The same value typed as {@link KmsExtraDataImpl}.
|
|
232
|
+
* @throws {InvalidTypeError} If `value` is not a {@link KmsExtraDataImpl} instance.
|
|
233
|
+
*/
|
|
234
|
+
function _asKmsExtraDataImpl(value) {
|
|
235
|
+
assertIsKmsExtraData(value, {});
|
|
236
|
+
return value;
|
|
237
|
+
}
|
|
238
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
239
|
+
export function isKmsExtraData(value) {
|
|
240
|
+
return value instanceof KmsExtraDataImpl;
|
|
241
|
+
}
|
|
242
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
243
|
+
export function assertIsKmsExtraData(value, options) {
|
|
244
|
+
if (!isKmsExtraData(value)) {
|
|
245
|
+
throw new InvalidTypeError({
|
|
246
|
+
subject: options.subject,
|
|
247
|
+
type: typeof value,
|
|
248
|
+
expectedType: 'KmsExtraData',
|
|
249
|
+
}, options);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
253
|
+
export function assertIsKmsExtraDataBytesHex(value, options) {
|
|
254
|
+
if (value === '0x00' || value === '0x') {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
assertIsBytesHex(value, options);
|
|
258
|
+
// Will valid extraData length too
|
|
259
|
+
fromKmsExtraDataBytesHex(value);
|
|
260
|
+
}
|
|
261
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
262
|
+
/**
|
|
263
|
+
* Returns `true` if `kmsExtraData`'s version is accepted by the given
|
|
264
|
+
* KMSVerifier contract version.
|
|
265
|
+
*
|
|
266
|
+
* | KMSVerifier version | protocol | max extraData version |
|
|
267
|
+
* | ------------------- | --------------- | --------------------- |
|
|
268
|
+
* | < 0.2.0 | v0.11.0 | v0 |
|
|
269
|
+
* | 0.2.0 – 0.3.x | v0.12.0/v0.13.0 | v1 |
|
|
270
|
+
* | 0.4.0 | v0.14.0 | v2 |
|
|
271
|
+
* | > 0.4.0 | v0.14.1+ | not checked (`true`) |
|
|
272
|
+
*/
|
|
273
|
+
export function isKmsExtraDataCompatibleWithKmsVerifier(kmsExtraData, kmsVerifierVersion) {
|
|
274
|
+
const ed = _asKmsExtraDataImpl(kmsExtraData);
|
|
275
|
+
// Protocol v0.11.0
|
|
276
|
+
if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 2 })) {
|
|
277
|
+
return ed.version <= EXTRA_DATA_V0;
|
|
278
|
+
}
|
|
279
|
+
// Protocol v0.12.0/v0.13.0
|
|
280
|
+
if (isVersionStrictlyBefore(kmsVerifierVersion, { major: 0, minor: 4 })) {
|
|
281
|
+
return ed.version <= EXTRA_DATA_V1;
|
|
282
|
+
}
|
|
283
|
+
// Protocol v0.14.0
|
|
284
|
+
if (isVersionEqual(kmsVerifierVersion, { major: 0, minor: 4, patch: 0 })) {
|
|
285
|
+
return ed.version <= EXTRA_DATA_V2;
|
|
286
|
+
}
|
|
287
|
+
// Protocol v0.14.1+ (beyond the versions this SDK release knows about).
|
|
288
|
+
//
|
|
289
|
+
// We deliberately return `true` (compatible) instead of guessing an upper
|
|
290
|
+
// bound on `extraData.version`. On v0.14.0 the KMSVerifier reverts for
|
|
291
|
+
// `extraData.version > 2`, but we cannot know the accepted range of future
|
|
292
|
+
// contract versions. Pre-validating here would risk rejecting extraData that
|
|
293
|
+
// a newer contract actually supports. If the on-chain contract does reject it,
|
|
294
|
+
// the call reverts — and surfacing that revert is the source of truth, not a
|
|
295
|
+
// speculative client-side check.
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=kmsExtraData-p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kmsExtraData-p.js","sourceRoot":"","sources":["../../../core/kms/kmsExtraData-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
////////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
//
|
|
2
|
+
// KmsPublicDecryptEip712Types
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////
|
|
4
4
|
export const kmsPublicDecryptEip712Types = {
|
|
5
5
|
EIP712Domain: [
|