@fhevm/sdk 1.1.0-alpha.7 → 1.1.0-alpha.9
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/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/readKmsVerifierContractData.js +1 -1
- package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_cjs/core/base/cachedFetch.js +1 -1
- package/_cjs/core/base/cachedFetch.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/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 +55 -67
- 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 +4 -3
- package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js +1 -14
- package/_cjs/core/kms/SignedDecryptionPermitV1-p.js.map +1 -1
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +3 -15
- package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js +3 -4
- package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712V1.js +6 -5
- package/_cjs/core/kms/createKmsUserDecryptEip712V1.js.map +1 -1
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_cjs/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js +1 -1
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -1
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +1 -1
- package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
- package/_cjs/core/kms/kmsExtraData-p.js +234 -0
- package/_cjs/core/kms/kmsExtraData-p.js.map +1 -0
- package/_cjs/core/kms/publicDecrypt.js +4 -4
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +5 -4
- 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 +7 -7
- package/_cjs/core/modules/decrypt/module/api-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 +61 -4
- 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/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/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/readKmsVerifierContractData.js +2 -2
- package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -1
- package/_esm/core/base/cachedFetch.js +1 -1
- package/_esm/core/base/cachedFetch.js.map +1 -1
- 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/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 +133 -69
- 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 +4 -3
- package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js +2 -32
- package/_esm/core/kms/SignedDecryptionPermitV1-p.js.map +1 -1
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js +4 -16
- package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js +3 -4
- package/_esm/core/kms/createKmsDelegatedUserDecryptEip712V1.js.map +1 -1
- package/_esm/core/kms/createKmsUserDecryptEip712V1.js +7 -6
- package/_esm/core/kms/createKmsUserDecryptEip712V1.js.map +1 -1
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js +4 -5
- package/_esm/core/kms/createKmsUserDecryptEip712V2.js.map +1 -1
- package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js +26 -2
- package/_esm/core/kms/fetchKmsSigncryptedSharesV1-p.js.map +1 -1
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +2 -2
- package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
- package/_esm/core/kms/kmsExtraData-p.js +298 -0
- package/_esm/core/kms/kmsExtraData-p.js.map +1 -0
- package/_esm/core/kms/publicDecrypt.js +5 -5
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +5 -4
- 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 +7 -7
- package/_esm/core/modules/decrypt/module/api-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 +77 -4
- 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/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/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/base/cachedFetch.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/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.map +1 -1
- package/_types/core/kms/SignedDecryptionPermitV1-p.d.ts.map +1 -1
- package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -1
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts +2 -1
- package/_types/core/kms/createKmsDelegatedUserDecryptEip712V1.d.ts.map +1 -1
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts +2 -1
- package/_types/core/kms/createKmsUserDecryptEip712V1.d.ts.map +1 -1
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts +2 -1
- package/_types/core/kms/createKmsUserDecryptEip712V2.d.ts.map +1 -1
- package/_types/core/kms/fetchKmsSigncryptedSharesV1-p.d.ts.map +1 -1
- 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/publicDecrypt.d.ts.map +1 -1
- package/_types/core/kms/verifyKmsPublicDecryptEip712-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 +2 -2
- 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/types/kms-p.d.ts +7 -1
- package/_types/core/types/kms-p.d.ts.map +1 -1
- 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/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/readKmsVerifierContractData.ts +2 -2
- package/core/base/cachedFetch.ts +1 -1
- 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/getKmsContextSignersAndThreshold-p.ts +1 -0
- package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +10 -7
- package/core/host-contracts/readKmsSignersContext-p.ts +157 -116
- package/core/kms/KmsSigncryptedShares-p.ts +87 -4
- package/core/kms/PublicDecryptionProof-p.ts +6 -4
- package/core/kms/SignedDecryptionPermitV1-p.ts +5 -47
- package/core/kms/SignedDecryptionPermitV2-p.ts +8 -25
- package/core/kms/createKmsDelegatedUserDecryptEip712V1.ts +5 -5
- package/core/kms/createKmsUserDecryptEip712V1.ts +9 -7
- package/core/kms/createKmsUserDecryptEip712V2.ts +6 -6
- package/core/kms/fetchKmsSigncryptedSharesV1-p.ts +27 -15
- package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +2 -2
- package/core/kms/kmsExtraData-p.ts +374 -0
- package/core/kms/publicDecrypt.ts +8 -7
- package/core/kms/verifyKmsPublicDecryptEip712-p.ts +7 -5
- package/core/modules/decrypt/mock.ts +6 -6
- package/core/modules/decrypt/module/api-p.ts +7 -7
- 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 +112 -6
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +24 -132
- 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/types/kms-p.ts +16 -1
- 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/kms/kmsExtraData.js +0 -82
- package/_cjs/core/kms/kmsExtraData.js.map +0 -1
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +0 -1
- package/_esm/core/kms/kmsExtraData.js +0 -99
- package/_esm/core/kms/kmsExtraData.js.map +0 -1
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.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/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +0 -1
- package/core/kms/kmsExtraData.ts +0 -127
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KmsSigncryptedShares-p.js","sourceRoot":"","sources":["../../../core/kms/KmsSigncryptedShares-p.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"KmsSigncryptedShares-p.js","sourceRoot":"","sources":["../../../core/kms/KmsSigncryptedShares-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { abiEncodeClearValues, createClearValueArray } from '../handle/ClearValu
|
|
|
15
15
|
import { toClearValueType } from '../handle/FheType.js';
|
|
16
16
|
import { kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
17
17
|
import { verifyKmsPublicDecryptEip712 } from './verifyKmsPublicDecryptEip712-p.js';
|
|
18
|
+
import { EXTRA_DATA_V0 } from './kmsExtraData-p.js';
|
|
18
19
|
//////////////////////////////////////////////////////////////////////////////
|
|
19
20
|
const PRIVATE_TOKEN = Symbol('PublicDecryptionProof.token');
|
|
20
21
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -79,7 +80,7 @@ export async function createPublicDecryptionProof(context, parameters) {
|
|
|
79
80
|
// Warning!!!! Do not use '0x00' here!! Only '0x' is permitted!
|
|
80
81
|
//
|
|
81
82
|
////////////////////////////////////////////////////////////////////////////
|
|
82
|
-
const
|
|
83
|
+
const signedExtraDataBytesHex = extraData.version === EXTRA_DATA_V0 ? '0x' : extraData.toBytesHex();
|
|
83
84
|
//////////////////////////////////////////////////////////////////////////////
|
|
84
85
|
// Compute the proof as numSigners + KMS signatures + extraData
|
|
85
86
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -91,7 +92,7 @@ export async function createPublicDecryptionProof(context, parameters) {
|
|
|
91
92
|
types: Array(kmsPublicDecryptEip712Signatures.length).fill('bytes'),
|
|
92
93
|
values: kmsPublicDecryptEip712Signatures,
|
|
93
94
|
});
|
|
94
|
-
const decryptionProof = concatBytesHex([packedNumSigners, packedSignatures,
|
|
95
|
+
const decryptionProof = concatBytesHex([packedNumSigners, packedSignatures, signedExtraDataBytesHex]);
|
|
95
96
|
//////////////////////////////////////////////////////////////////////////////
|
|
96
97
|
// Deserialize ordered decrypted result
|
|
97
98
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -116,7 +117,7 @@ export async function createPublicDecryptionProof(context, parameters) {
|
|
|
116
117
|
decryptionProof: decryptionProof,
|
|
117
118
|
orderedClearValues: orderedDecryptedFhevmHandles,
|
|
118
119
|
orderedAbiEncodedClearValues: orderedAbiEncodedDecryptedFhevmHandles.abiEncodedClearValues,
|
|
119
|
-
extraData:
|
|
120
|
+
extraData: signedExtraDataBytesHex,
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
123
|
//# sourceMappingURL=PublicDecryptionProof-p.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicDecryptionProof-p.js","sourceRoot":"","sources":["../../../core/kms/PublicDecryptionProof-p.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PublicDecryptionProof-p.js","sourceRoot":"","sources":["../../../core/kms/PublicDecryptionProof-p.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,8EAA8E;AAE9E,MAAM,aAAa,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAE5D,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAQpC,YACE,YAAoB,EACpB,UAKC;QAdH,0CAA0C;QACjC,6DAA2B;QAC3B,gEAAuD;QACvD,0EAAwC;QACjD,8BAA8B;QACrB,uDAAqB;QAW5B,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,UAAU,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,uBAAA,IAAI,8CAAoB,UAAU,CAAC,eAAe,MAAA,CAAC;QACnD,uBAAA,IAAI,iDAAuB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAsC,MAAA,CAAC;QAClH,uBAAA,IAAI,wCAAc,UAAU,CAAC,SAAS,MAAA,CAAC;QACvC,uBAAA,IAAI,2DAAiC,UAAU,CAAC,4BAA4B,MAAA,CAAC;IAC/E,CAAC;IAED,8EAA8E;IAC9E,UAAU;IACV,8EAA8E;IAE9E,IAAW,eAAe;QACxB,OAAO,uBAAA,IAAI,kDAAiB,CAAC;IAC/B,CAAC;IAED,IAAW,kBAAkB;QAC3B,OAAO,uBAAA,IAAI,qDAAoB,CAAC;IAClC,CAAC;IAED,IAAW,4BAA4B;QACrC,OAAO,uBAAA,IAAI,+DAA8B,CAAC;IAC5C,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,uBAAA,IAAI,4CAAW,CAAC;IACzB,CAAC;CACF;;AAED,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAmBnD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAgB,EAChB,UAAsB;IAEtB,+BAA+B;IAC/B,MAAM,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,EACJ,cAAc,EAAE,sBAAsB,EACtC,4BAA4B,EAC5B,gCAAgC,EAChC,iBAAiB,EACjB,WAAW,GACZ,GAAG,UAAU,CAAC;IAEf,8EAA8E;IAC9E,4CAA4C;IAC5C,8EAA8E;IAE9E,MAAM,SAAS,GAAiB,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IAEhF,4EAA4E;IAC5E,EAAE;IACF,+DAA+D;IAC/D,EAAE;IACF,4EAA4E;IAE5E,MAAM,uBAAuB,GAAG,SAAS,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAE,IAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAElH,8EAA8E;IAC9E,+DAA+D;IAC/D,8EAA8E;IAE9E,MAAM,gBAAgB,GAAa,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvE,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,MAAM,EAAE,CAAC,gCAAgC,CAAC,MAAM,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC7D,KAAK,EAAE,KAAK,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAa;QAC/E,MAAM,EAAE,gCAAgC;KACzC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAa,cAAc,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEhH,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAE9E,MAAM,eAAe,GAAgC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAEpH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,aAAa,GAAqB,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC9E,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAC5C,CAAC;IAEF,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;QACzD,cAAc,EAAE,sBAAsB;QACtC,aAAa;QACb,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,sCAAsC,GAAG,oBAAoB,CAAC,OAAO,EAAE;QAC3E,kBAAkB,EAAE,4BAA4B;KACjD,CAAC,CAAC;IAEH,OAAO,IAAI,yBAAyB,CAAC,aAAa,EAAE;QAClD,eAAe,EAAE,eAAe;QAChC,kBAAkB,EAAE,4BAA4B;QAChD,4BAA4B,EAAE,sCAAsC,CAAC,qBAAqB;QAC1F,SAAS,EAAE,uBAAuB;KACnC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -19,9 +19,8 @@ import { assertIsKmsUserDecryptEip712V1, createKmsUserDecryptEip712V1 } from './
|
|
|
19
19
|
import { assertIsKmsDelegatedUserDecryptEip712V1, createKmsDelegatedUserDecryptEip712V1, } from './createKmsDelegatedUserDecryptEip712V1.js';
|
|
20
20
|
import { assertRecordStringProperty } from '../base/string.js';
|
|
21
21
|
import { assertIsTransportKeyPair } from './TransportKeyPair-p.js';
|
|
22
|
-
import {
|
|
22
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
23
23
|
import { kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
24
|
-
import { fromKmsExtraData } from './kmsExtraData.js';
|
|
25
24
|
////////////////////////////////////////////////////////////////////////////////
|
|
26
25
|
const PRIVATE_TOKEN = Symbol('SignedDecryptionPermitV1.token');
|
|
27
26
|
const MAX_USER_DECRYPT_DURATION_DAYS = 365;
|
|
@@ -91,38 +90,9 @@ class SignedDecryptionPermitV1Impl {
|
|
|
91
90
|
assertNotExpired() {
|
|
92
91
|
assertKmsEip712V1DeadlineValidity(__classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message, MAX_USER_DECRYPT_DURATION_DAYS);
|
|
93
92
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Asserts that this permit was signed against the given {@link KmsSignersContext}.
|
|
96
|
-
*
|
|
97
|
-
* Compares the `extraData` embedded in the permit's EIP-712 message with the
|
|
98
|
-
* `extraData` derived from the provided context. A mismatch indicates the permit
|
|
99
|
-
* was created for a different KMS context (e.g. different context ID or version)
|
|
100
|
-
* and must not be used for decryption.
|
|
101
|
-
*
|
|
102
|
-
* @todo The current check is a strict byte-level comparison. A permit signed
|
|
103
|
-
* with the correct `kmsContextId` but a different `extraData` encoding format
|
|
104
|
-
* (e.g. a version change in the serialization scheme) will be rejected even
|
|
105
|
-
* though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
106
|
-
* instead of the raw `extraData` bytes.
|
|
107
|
-
*
|
|
108
|
-
* @param kmsSignersContext - The current KMS signers context to validate against.
|
|
109
|
-
* @throws If the permit's `extraData` does not match the context's `extraData`.
|
|
110
|
-
*/
|
|
111
|
-
assertMatchesKmsContext(kmsSignersContext) {
|
|
112
|
-
const expectedExtraData = kmsSignersContextToExtraData(kmsSignersContext);
|
|
113
|
-
if (expectedExtraData !== __classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message.extraData) {
|
|
114
|
-
throw new Error(`Invalid permit: extraData "${__classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message.extraData}" does not match expected "${expectedExtraData}" from KmsSignersContext.`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
93
|
get transportPublicKey() {
|
|
118
94
|
return __classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message.publicKey;
|
|
119
95
|
}
|
|
120
|
-
get kmsContextId() {
|
|
121
|
-
return fromKmsExtraData(__classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message.extraData).kmsContextId;
|
|
122
|
-
}
|
|
123
|
-
get kmsEpochId() {
|
|
124
|
-
return fromKmsExtraData(__classPrivateFieldGet(this, _SignedDecryptionPermitV1Impl_eip712, "f").message.extraData).kmsEpochId;
|
|
125
|
-
}
|
|
126
96
|
get encryptedDataOwnerAddress() {
|
|
127
97
|
if (this.eip712.primaryType === 'DelegatedUserDecryptRequestVerification') {
|
|
128
98
|
return this.eip712.message.delegatorAddress;
|
|
@@ -176,7 +146,7 @@ async function _createSignedDecryptionPermitV1(context, parameters) {
|
|
|
176
146
|
// signDecryptionPermitV1
|
|
177
147
|
////////////////////////////////////////////////////////////////////////////////
|
|
178
148
|
export async function signDecryptionPermitV1(context, parameters) {
|
|
179
|
-
const kmsSignersContext = await
|
|
149
|
+
const kmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
180
150
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
181
151
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
182
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedDecryptionPermitV1-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermitV1-p.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SignedDecryptionPermitV1-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermitV1-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,12 @@ import { assertRecordBytes65HexProperty } from '../base/bytes.js';
|
|
|
15
15
|
import { addressToChecksummedAddress, assertIsAddress, assertRecordAddressProperty } from '../base/address.js';
|
|
16
16
|
import { assertRecordStringProperty } from '../base/string.js';
|
|
17
17
|
import { assertIsTransportKeyPair } from './TransportKeyPair-p.js';
|
|
18
|
-
import {
|
|
18
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
19
19
|
import { kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
20
|
-
import { EXTRA_DATA_V2, fromKmsExtraData } from './kmsExtraData.js';
|
|
21
20
|
import { assertIsKmsUserDecryptEip712V2, createKmsUserDecryptEip712V2 } from './createKmsUserDecryptEip712V2.js';
|
|
22
21
|
import { verifyKmsUserDecryptEip712V2 } from '../utils-p/decrypt/verifyKmsUserDecryptEip712V2.js';
|
|
23
22
|
import { assert } from '../base/errors/InternalError.js';
|
|
23
|
+
import { EXTRA_DATA_V2 } from './kmsExtraData-p.js';
|
|
24
24
|
////////////////////////////////////////////////////////////////////////////////
|
|
25
25
|
const PRIVATE_TOKEN = Symbol('SignedDecryptionPermitV2.token');
|
|
26
26
|
const MAX_USER_DECRYPT_CONTRACT_ADDRESSES = 10;
|
|
@@ -84,18 +84,6 @@ class SignedDecryptionPermitV2Impl {
|
|
|
84
84
|
const { startTimestamp, durationSeconds } = __classPrivateFieldGet(this, _SignedDecryptionPermitV2Impl_eip712, "f").message;
|
|
85
85
|
assertKmsEip712V2DeadlineValidity({ startTimestamp, durationSeconds });
|
|
86
86
|
}
|
|
87
|
-
assertMatchesKmsContext(kmsSignersContext) {
|
|
88
|
-
const expectedExtraData = kmsSignersContextToExtraData(kmsSignersContext);
|
|
89
|
-
if (expectedExtraData !== __classPrivateFieldGet(this, _SignedDecryptionPermitV2Impl_eip712, "f").message.extraData) {
|
|
90
|
-
throw new Error(`Invalid permit: extraData "${__classPrivateFieldGet(this, _SignedDecryptionPermitV2Impl_eip712, "f").message.extraData}" does not match expected "${expectedExtraData}" from KmsSignersContext.`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
get kmsContextId() {
|
|
94
|
-
return fromKmsExtraData(__classPrivateFieldGet(this, _SignedDecryptionPermitV2Impl_eip712, "f").message.extraData).kmsContextId;
|
|
95
|
-
}
|
|
96
|
-
get kmsEpochId() {
|
|
97
|
-
return fromKmsExtraData(__classPrivateFieldGet(this, _SignedDecryptionPermitV2Impl_eip712, "f").message.extraData).kmsEpochId;
|
|
98
|
-
}
|
|
99
87
|
}
|
|
100
88
|
_SignedDecryptionPermitV2Impl_eip712 = new WeakMap(), _SignedDecryptionPermitV2Impl_signature = new WeakMap(), _SignedDecryptionPermitV2Impl_signerAddress = new WeakMap(), _SignedDecryptionPermitV2Impl_delegatorAddress = new WeakMap();
|
|
101
89
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -120,7 +108,7 @@ async function _createSignedDecryptionPermitV2(context, parameters) {
|
|
|
120
108
|
// signDecryptionPermitV2
|
|
121
109
|
////////////////////////////////////////////////////////////////////////////////
|
|
122
110
|
export async function signDecryptionPermitV2(context, parameters) {
|
|
123
|
-
const kmsSignersContext = await
|
|
111
|
+
const kmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
124
112
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
125
113
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
126
114
|
});
|
|
@@ -129,7 +117,7 @@ export async function signDecryptionPermitV2(context, parameters) {
|
|
|
129
117
|
// -----------------------
|
|
130
118
|
// In theory, it should not be possible to produce a unified eip712 (protocol v14+)
|
|
131
119
|
// with an extraData coming from an old protocol v11/12/13
|
|
132
|
-
assert(
|
|
120
|
+
assert(extraData.version >= EXTRA_DATA_V2, `signDecryptionPermitV2 error: Invalid extraData version extraData=${extraData.toBytesHex()}`);
|
|
133
121
|
const { contractAddresses, startTimestamp, durationSeconds: durationSecondsParam, signerAddress: signerAddressArg, transportKeyPair: transportKeyPair, signer, delegatorAddress: delegatorAddressArg, } = parameters;
|
|
134
122
|
if (durationSecondsParam <= 0) {
|
|
135
123
|
throw new RangeError(`durationSeconds must be positive, got ${durationSecondsParam}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedDecryptionPermitV2-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermitV2-p.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SignedDecryptionPermitV2-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermitV2-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { addressToChecksummedAddress, assertIsAddress, assertIsAddressArray, assertRecordChecksummedAddressProperty, } from '../base/address.js';
|
|
2
|
-
import { asBytesHex,
|
|
2
|
+
import { asBytesHex, bytesToHexLarge } from '../base/bytes.js';
|
|
3
3
|
import { ensure0x } from '../base/string.js';
|
|
4
4
|
import { assertIsUintNumber } from '../base/uint.js';
|
|
5
5
|
import { createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
6
6
|
import { _assertIsKmsUserDecryptEip712V1Base } from './createKmsUserDecryptEip712V1.js';
|
|
7
7
|
import { kmsDelegatedUserDecryptEip712V1Types } from './kmsDelegatedUserDecryptEip712V1Types.js';
|
|
8
|
-
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
8
|
+
import { assertIsKmsExtraData } from './kmsExtraData-p.js';
|
|
9
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
10
|
// createKmsDelegatedUserDecryptEip712V1
|
|
11
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -15,7 +15,6 @@ export function createKmsDelegatedUserDecryptEip712V1(parameters) {
|
|
|
15
15
|
assertIsAddressArray(contractAddresses, {});
|
|
16
16
|
assertIsUintNumber(startTimestamp, {});
|
|
17
17
|
assertIsUintNumber(durationDays, {});
|
|
18
|
-
assertIsBytesHex(extraData, {});
|
|
19
18
|
assertIsAddress(delegatorAddress, {});
|
|
20
19
|
assertIsKmsExtraData(extraData, {});
|
|
21
20
|
const checksummedContractAddresses = contractAddresses.map(addressToChecksummedAddress);
|
|
@@ -35,7 +34,7 @@ export function createKmsDelegatedUserDecryptEip712V1(parameters) {
|
|
|
35
34
|
delegatorAddress: checksummedDelegatorAddress,
|
|
36
35
|
startTimestamp: startTimestamp.toString(),
|
|
37
36
|
durationDays: durationDays.toString(),
|
|
38
|
-
extraData,
|
|
37
|
+
extraData: extraData.toBytesHex(),
|
|
39
38
|
},
|
|
40
39
|
};
|
|
41
40
|
Object.freeze(eip712);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createKmsDelegatedUserDecryptEip712V1.js","sourceRoot":"","sources":["../../../core/kms/createKmsDelegatedUserDecryptEip712V1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createKmsDelegatedUserDecryptEip712V1.js","sourceRoot":"","sources":["../../../core/kms/createKmsDelegatedUserDecryptEip712V1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { addressToChecksummedAddress, assertIsAddress, assertIsAddressArray, assertRecordChecksummedAddressArrayProperty, } from '../base/address.js';
|
|
2
2
|
import { assertIsKmsEip712Domain, createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
3
|
-
import { asBytesHex,
|
|
3
|
+
import { asBytesHex, assertRecordBytesHexProperty, bytesToHexLarge } from '../base/bytes.js';
|
|
4
4
|
import { assertRecordNonNullableProperty } from '../base/record.js';
|
|
5
5
|
import { assertRecordStringProperty, ensure0x } from '../base/string.js';
|
|
6
|
-
import { assertIsUint64, assertIsUintNumber } from '../base/uint.js';
|
|
7
|
-
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
6
|
+
import { assertIsUint64, assertIsUintNumber, assertIsUintString, MAX_UINT256 } from '../base/uint.js';
|
|
8
7
|
import { kmsUserDecryptEip712V1Types } from './kmsUserDecryptEip712V1Types.js';
|
|
9
8
|
import { kmsDelegatedUserDecryptEip712V1Types } from './kmsDelegatedUserDecryptEip712V1Types.js';
|
|
10
9
|
import { isDeepEqual } from '../base/object.js';
|
|
10
|
+
import { assertIsKmsExtraData, assertIsKmsExtraDataBytesHex } from './kmsExtraData-p.js';
|
|
11
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
12
12
|
// createKmsUserDecryptEip712V1
|
|
13
13
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -19,7 +19,6 @@ export function createKmsUserDecryptEip712V1(parameters) {
|
|
|
19
19
|
assertIsAddressArray(contractAddresses, {});
|
|
20
20
|
assertIsUintNumber(startTimestamp, {});
|
|
21
21
|
assertIsUintNumber(durationDays, {});
|
|
22
|
-
assertIsBytesHex(extraData, {});
|
|
23
22
|
assertIsKmsExtraData(extraData, {});
|
|
24
23
|
const checksummedContractAddresses = contractAddresses.map(addressToChecksummedAddress);
|
|
25
24
|
const primaryType = 'UserDecryptRequestVerification';
|
|
@@ -36,7 +35,7 @@ export function createKmsUserDecryptEip712V1(parameters) {
|
|
|
36
35
|
contractAddresses: checksummedContractAddresses,
|
|
37
36
|
startTimestamp: startTimestamp.toString(),
|
|
38
37
|
durationDays: durationDays.toString(),
|
|
39
|
-
extraData,
|
|
38
|
+
extraData: extraData.toBytesHex(),
|
|
40
39
|
},
|
|
41
40
|
};
|
|
42
41
|
Object.freeze(eip712);
|
|
@@ -85,7 +84,9 @@ function _assertIsKmsUserDecryptEip712V1Message(msg, msgName, options) {
|
|
|
85
84
|
assertRecordStringProperty(msg, 'startTimestamp', msgName, options);
|
|
86
85
|
assertRecordStringProperty(msg, 'durationDays', msgName, options);
|
|
87
86
|
assertRecordBytesHexProperty(msg, 'extraData', msgName, options);
|
|
88
|
-
|
|
87
|
+
assertIsKmsExtraDataBytesHex(msg.extraData, options);
|
|
88
|
+
assertIsUintString(msg.startTimestamp, { max: MAX_UINT256 });
|
|
89
|
+
assertIsUintString(msg.durationDays, { max: MAX_UINT256 });
|
|
89
90
|
}
|
|
90
91
|
////////////////////////////////////////////////////////////////////////////////
|
|
91
92
|
function _verifyPublicKeyArg(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createKmsUserDecryptEip712V1.js","sourceRoot":"","sources":["../../../core/kms/createKmsUserDecryptEip712V1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createKmsUserDecryptEip712V1.js","sourceRoot":"","sources":["../../../core/kms/createKmsUserDecryptEip712V1.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { addressToChecksummedAddress, assertIsAddress, assertIsAddressArray, assertRecordAddressProperty, assertRecordChecksummedAddressArrayProperty, } from '../base/address.js';
|
|
2
2
|
import { assertIsKmsEip712Domain, createKmsEip712Domain } from './createKmsEip712Domain.js';
|
|
3
|
-
import { asBytesHex,
|
|
3
|
+
import { asBytesHex, assertRecordBytesHexProperty, bytesToHexLarge } from '../base/bytes.js';
|
|
4
4
|
import { isDeepEqual } from '../base/object.js';
|
|
5
5
|
import { assertRecordNonNullableProperty } from '../base/record.js';
|
|
6
6
|
import { assertRecordStringProperty, ensure0x } from '../base/string.js';
|
|
7
7
|
import { assertIsUint256, assertIsUint64, assertIsUintString, MAX_UINT256 } from '../base/uint.js';
|
|
8
|
-
import { assertIsKmsExtraData } from './kmsExtraData.js';
|
|
9
8
|
import { kmsUserDecryptEip712V2Types } from './kmsUserDecryptEip712V2Types.js';
|
|
9
|
+
import { assertIsKmsExtraData, assertIsKmsExtraDataBytesHex } from './kmsExtraData-p.js';
|
|
10
10
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
// createKmsUserDecryptEip712V2 (RFC-016)
|
|
12
12
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -19,7 +19,6 @@ export function createKmsUserDecryptEip712V2(parameters) {
|
|
|
19
19
|
assertIsAddressArray(allowedContracts, {});
|
|
20
20
|
assertIsUint256(startTimestamp, {});
|
|
21
21
|
assertIsUint256(durationSeconds, {});
|
|
22
|
-
assertIsBytesHex(extraData, {});
|
|
23
22
|
assertIsKmsExtraData(extraData, {});
|
|
24
23
|
const checksummedUserAddress = addressToChecksummedAddress(userAddress);
|
|
25
24
|
const checksummedContractAddresses = allowedContracts.map(addressToChecksummedAddress);
|
|
@@ -38,7 +37,7 @@ export function createKmsUserDecryptEip712V2(parameters) {
|
|
|
38
37
|
allowedContracts: checksummedContractAddresses,
|
|
39
38
|
startTimestamp: startTimestamp.toString(),
|
|
40
39
|
durationSeconds: durationSeconds.toString(),
|
|
41
|
-
extraData,
|
|
40
|
+
extraData: extraData.toBytesHex(),
|
|
42
41
|
},
|
|
43
42
|
};
|
|
44
43
|
Object.freeze(eip712);
|
|
@@ -73,7 +72,7 @@ function _assertIsKmsUserDecryptEip712V2Message(msg, msgName, options) {
|
|
|
73
72
|
assertRecordStringProperty(msg, 'startTimestamp', msgName, options);
|
|
74
73
|
assertRecordStringProperty(msg, 'durationSeconds', msgName, options);
|
|
75
74
|
assertRecordBytesHexProperty(msg, 'extraData', msgName, options);
|
|
76
|
-
|
|
75
|
+
assertIsKmsExtraDataBytesHex(msg.extraData, options);
|
|
77
76
|
assertIsUintString(msg.startTimestamp, { max: MAX_UINT256 });
|
|
78
77
|
assertIsUintString(msg.durationSeconds, { max: MAX_UINT256 });
|
|
79
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createKmsUserDecryptEip712V2.js","sourceRoot":"","sources":["../../../core/kms/createKmsUserDecryptEip712V2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createKmsUserDecryptEip712V2.js","sourceRoot":"","sources":["../../../core/kms/createKmsUserDecryptEip712V2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
2
2
|
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
3
|
-
import {
|
|
3
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
4
4
|
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
5
5
|
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
6
6
|
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
@@ -95,7 +95,7 @@ export async function fetchKmsSigncryptedSharesV1(context, parameters) {
|
|
|
95
95
|
// (e.g. a version change in the serialization scheme) will be rejected even
|
|
96
96
|
// though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
97
97
|
// instead of the raw `extraData` bytes.
|
|
98
|
-
const requestedKmsSignersContext = await
|
|
98
|
+
const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
99
99
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
100
100
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
101
101
|
});
|
|
@@ -139,6 +139,30 @@ export async function fetchKmsSigncryptedSharesV1(context, parameters) {
|
|
|
139
139
|
handles,
|
|
140
140
|
tkmsVersion,
|
|
141
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
|
+
*/
|
|
142
166
|
// 12. The returned KmsSigncryptedShares is guaranteed to be fully verified:
|
|
143
167
|
// uniform extraData across shares, valid extraData format, and consistency
|
|
144
168
|
// with the KmsSignersContext (see KmsSigncryptedSharesImpl invariants).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchKmsSigncryptedSharesV1-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV1-p.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchKmsSigncryptedSharesV1-p.js","sourceRoot":"","sources":["../../../core/kms/fetchKmsSigncryptedSharesV1-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
2
2
|
import { createKmsSigncryptedShares } from './KmsSigncryptedShares-p.js';
|
|
3
|
-
import {
|
|
3
|
+
import { readCurrentKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
4
4
|
import { assertIsSignedDecryptionPermit } from './SignedDecryptionPermit-p.js';
|
|
5
5
|
import { assertKmsDecryptionBitLimit } from './utils.js';
|
|
6
6
|
import { checkPersistAllowed } from '../host-contracts/checkPersistAllowed.js';
|
|
@@ -79,7 +79,7 @@ export async function fetchKmsSigncryptedSharesV2(context, parameters) {
|
|
|
79
79
|
// (e.g. a version change in the serialization scheme) will be rejected even
|
|
80
80
|
// though the context ID matches. Consider comparing the decoded `kmsContextId`
|
|
81
81
|
// instead of the raw `extraData` bytes.
|
|
82
|
-
const requestedKmsSignersContext = await
|
|
82
|
+
const requestedKmsSignersContext = await readCurrentKmsSignersContext(context, {
|
|
83
83
|
kmsVerifierAddress: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
84
84
|
protocolConfigAddress: context.chain.fhevm.contracts.protocolConfig?.address,
|
|
85
85
|
});
|
|
@@ -1 +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,
|
|
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"}
|