@fhevm/sdk 1.0.0-alpha.4 → 1.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/core/_version.js +1 -1
- package/_cjs/core/actions/base/fetchEncryptedValues.js +18 -0
- package/_cjs/core/actions/base/fetchEncryptedValues.js.map +1 -0
- package/_cjs/core/actions/base/index.js +3 -1
- package/_cjs/core/actions/base/index.js.map +1 -1
- package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -1
- package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -1
- package/_cjs/core/actions/chain/index.js +5 -5
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +2 -2
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/parseTransportKeyPair.js +8 -0
- package/_cjs/core/actions/chain/parseTransportKeyPair.js.map +1 -0
- package/_cjs/core/actions/chain/serializeTransportKeyPair.js +8 -0
- package/_cjs/core/actions/chain/serializeTransportKeyPair.js.map +1 -0
- package/_cjs/core/actions/decrypt/generateTransportKeyPair.js +8 -0
- package/_cjs/core/actions/decrypt/generateTransportKeyPair.js.map +1 -0
- package/_cjs/core/actions/decrypt/index.js +3 -3
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/base/address.js.map +1 -1
- package/_cjs/core/base/fetch.js +2 -2
- package/_cjs/core/base/fetch.js.map +1 -1
- package/_cjs/core/base/sign.js +12 -6
- package/_cjs/core/base/sign.js.map +1 -1
- package/_cjs/core/base/wasm.js +1 -1
- package/_cjs/core/base/wasm.js.map +1 -1
- package/_cjs/core/clients/decorators/base.js +4 -4
- package/_cjs/core/clients/decorators/decrypt.js +2 -2
- package/_cjs/core/coprocessor/ZkProof-p.js +2 -1
- package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_cjs/core/handle/EncryptedValue.js +0 -4
- package/_cjs/core/handle/EncryptedValue.js.map +1 -1
- package/_cjs/core/handle/FheType.js.map +1 -1
- package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +3 -3
- package/_cjs/core/kms/SignedDecryptionPermit-p.js +10 -10
- package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_cjs/core/kms/{TransportKeypair-p.js → TransportKeyPair-p.js} +48 -48
- package/_cjs/core/kms/{TransportKeypair-p.js.map → TransportKeyPair-p.js.map} +1 -1
- package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js +3 -3
- package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/decryptValuesFromPairs.js +2 -2
- package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/kms/index.js +0 -1
- package/_cjs/core/kms/kmsExtraData.js +7 -1
- package/_cjs/core/kms/kmsExtraData.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/init-p.js +3 -7
- package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/index.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/init-p.js +18 -13
- package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/guards/RelayerErrorBody.js +27 -0
- package/_cjs/core/modules/relayer/module/guards/RelayerErrorBody.js.map +1 -0
- package/_cjs/core/types/index.js +4 -0
- package/_cjs/core/types/index.js.map +1 -1
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeyPair.js +14 -0
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeyPair.js.map +1 -0
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -1
- package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/fetchEncryptedValues.js +16 -0
- package/_esm/core/actions/base/fetchEncryptedValues.js.map +1 -0
- package/_esm/core/actions/base/index.js +1 -0
- package/_esm/core/actions/base/index.js.map +1 -1
- package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -1
- package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -1
- package/_esm/core/actions/chain/index.js +2 -2
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +3 -3
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/parseTransportKeyPair.js +5 -0
- package/_esm/core/actions/chain/parseTransportKeyPair.js.map +1 -0
- package/_esm/core/actions/chain/serializeTransportKeyPair.js +5 -0
- package/_esm/core/actions/chain/{serializeTransportKeypair.js.map → serializeTransportKeyPair.js.map} +1 -1
- package/_esm/core/actions/decrypt/generateTransportKeyPair.js +6 -0
- package/_esm/core/actions/decrypt/{generateTransportKeypair.js.map → generateTransportKeyPair.js.map} +1 -1
- package/_esm/core/actions/decrypt/index.js +3 -1
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/base/address.js.map +1 -1
- package/_esm/core/base/fetch.js +2 -2
- package/_esm/core/base/fetch.js.map +1 -1
- package/_esm/core/base/sign.js +15 -8
- package/_esm/core/base/sign.js.map +1 -1
- package/_esm/core/base/wasm.js +1 -1
- package/_esm/core/base/wasm.js.map +1 -1
- package/_esm/core/clients/decorators/base.js +4 -4
- package/_esm/core/clients/decorators/decrypt.js +2 -2
- package/_esm/core/coprocessor/ZkProof-p.js +3 -2
- package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_esm/core/handle/EncryptedValue.js +0 -3
- package/_esm/core/handle/EncryptedValue.js.map +1 -1
- package/_esm/core/handle/FheType.js +10 -17
- package/_esm/core/handle/FheType.js.map +1 -1
- package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +3 -3
- package/_esm/core/kms/SignedDecryptionPermit-p.js +10 -10
- package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
- package/_esm/core/kms/{TransportKeypair-p.js → TransportKeyPair-p.js} +55 -55
- package/_esm/core/kms/{TransportKeypair-p.js.map → TransportKeyPair-p.js.map} +1 -1
- package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js +4 -4
- package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -1
- package/_esm/core/kms/decryptValuesFromPairs.js +2 -2
- package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/kms/kmsExtraData.js +7 -1
- package/_esm/core/kms/kmsExtraData.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/decrypt/module/init-p.js +13 -11
- package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/encrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/encrypt/module/index.js.map +1 -1
- package/_esm/core/modules/encrypt/module/init-p.js +34 -17
- package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +13 -0
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/guards/RelayerErrorBody.js +24 -0
- package/_esm/core/modules/relayer/module/guards/RelayerErrorBody.js.map +1 -0
- package/_esm/core/types/index.js +1 -1
- package/_esm/core/types/index.js.map +1 -1
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeyPair.js +19 -0
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeyPair.js.map +1 -0
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +1 -1
- package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -1
- package/_types/core/actions/base/fetchEncryptedValues.d.ts +16 -0
- package/_types/core/actions/base/fetchEncryptedValues.d.ts.map +1 -0
- package/_types/core/actions/base/index.d.ts +1 -0
- package/_types/core/actions/base/index.d.ts.map +1 -1
- package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -1
- package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +1 -1
- package/_types/core/actions/chain/index.d.ts +2 -2
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +4 -4
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/{parseTransportKeypair.d.ts → parseTransportKeyPair.d.ts} +5 -5
- package/_types/core/actions/chain/{parseTransportKeypair.d.ts.map → parseTransportKeyPair.d.ts.map} +1 -1
- package/_types/core/actions/chain/{serializeTransportKeypair.d.ts → serializeTransportKeyPair.d.ts} +6 -6
- package/_types/core/actions/chain/{serializeTransportKeypair.d.ts.map → serializeTransportKeyPair.d.ts.map} +1 -1
- package/_types/core/actions/decrypt/canDecryptValue.d.ts +4 -4
- package/_types/core/actions/decrypt/canDecryptValues.d.ts +2 -2
- package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +2 -2
- package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts +2 -2
- package/_types/core/actions/decrypt/decryptValue.d.ts +2 -2
- package/_types/core/actions/decrypt/decryptValues.d.ts +2 -2
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +2 -2
- package/_types/core/actions/decrypt/{generateTransportKeypair.d.ts → generateTransportKeyPair.d.ts} +4 -4
- package/_types/core/actions/decrypt/{generateTransportKeypair.d.ts.map → generateTransportKeyPair.d.ts.map} +1 -1
- package/_types/core/actions/decrypt/index.d.ts +3 -1
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/base/address.d.ts.map +1 -1
- package/_types/core/base/sign.d.ts.map +1 -1
- package/_types/core/clients/decorators/base.d.ts +6 -6
- package/_types/core/clients/decorators/base.d.ts.map +1 -1
- package/_types/core/clients/decorators/decrypt.d.ts +2 -2
- package/_types/core/coprocessor/ZkProof-p.d.ts +2 -1
- package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
- package/_types/core/handle/EncryptedValue.d.ts +0 -1
- package/_types/core/handle/EncryptedValue.d.ts.map +1 -1
- package/_types/core/handle/FheType.d.ts +10 -17
- package/_types/core/handle/FheType.d.ts.map +1 -1
- package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +2 -2
- package/_types/core/kms/SignedDecryptionPermit-p.d.ts +6 -6
- package/_types/core/kms/{TransportKeypair-p.d.ts → TransportKeyPair-p.d.ts} +23 -23
- package/_types/core/kms/{TransportKeypair-p.d.ts.map → TransportKeyPair-p.d.ts.map} +1 -1
- package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts +2 -2
- package/_types/core/kms/decryptValuesFromPairs.d.ts +3 -3
- package/_types/core/kms/index.d.ts +1 -1
- package/_types/core/kms/index.d.ts.map +1 -1
- package/_types/core/kms/kmsExtraData.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/mock.d.ts +2 -2
- package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/api-p.d.ts +2 -2
- package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/types.d.ts +2 -2
- package/_types/core/modules/encrypt/types.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/guards/RelayerErrorBody.d.ts +13 -0
- package/_types/core/modules/relayer/module/guards/RelayerErrorBody.d.ts.map +1 -0
- package/_types/core/types/index.d.ts +3 -0
- package/_types/core/types/index.d.ts.map +1 -1
- package/_types/core/types/signedDecryptionPermit.d.ts +1 -1
- package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/utils-p/decrypt/assertPermitMatchesKeyPair.d.ts +12 -0
- package/_types/core/utils-p/decrypt/{assertPermitMatchesKeypair.d.ts.map → assertPermitMatchesKeyPair.d.ts.map} +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/fetchEncryptedValues.ts +42 -0
- package/core/actions/base/index.ts +6 -0
- package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +1 -2
- package/core/actions/chain/createKmsUserDecryptEip712.ts +1 -2
- package/core/actions/chain/index.ts +8 -8
- package/core/actions/chain/parseSignedDecryptionPermit.ts +6 -6
- package/core/actions/chain/{parseTransportKeypair.ts → parseTransportKeyPair.ts} +7 -7
- package/core/actions/chain/{serializeTransportKeypair.ts → serializeTransportKeyPair.ts} +10 -10
- package/core/actions/decrypt/canDecryptValue.ts +4 -4
- package/core/actions/decrypt/canDecryptValues.ts +2 -2
- package/core/actions/decrypt/canDecryptValuesFromPairs.ts +2 -2
- package/core/actions/decrypt/decryptKmsSignedcryptedShares.ts +2 -2
- package/core/actions/decrypt/decryptValue.ts +2 -2
- package/core/actions/decrypt/decryptValues.ts +2 -2
- package/core/actions/decrypt/decryptValuesFromPairs.ts +2 -2
- package/core/actions/decrypt/{generateTransportKeypair.ts → generateTransportKeyPair.ts} +7 -7
- package/core/actions/decrypt/index.ts +8 -4
- package/core/base/address.ts +2 -2
- package/core/base/fetch.ts +2 -2
- package/core/base/sign.ts +16 -8
- package/core/base/wasm.ts +1 -1
- package/core/clients/decorators/base.ts +18 -18
- package/core/clients/decorators/decrypt.ts +4 -4
- package/core/coprocessor/ZkProof-p.ts +6 -6
- package/core/handle/EncryptedValue.ts +0 -4
- package/core/handle/FheType.ts +10 -17
- package/core/host-contracts/canDecryptValuesFromPairs.ts +5 -5
- package/core/kms/SignedDecryptionPermit-p.ts +14 -14
- package/core/kms/{TransportKeypair-p.ts → TransportKeyPair-p.ts} +42 -42
- package/core/kms/decryptKmsSignedcryptedShares-p.ts +6 -6
- package/core/kms/decryptValuesFromPairs.ts +5 -5
- package/core/kms/index.ts +0 -1
- package/core/kms/kmsExtraData.ts +8 -1
- package/core/modules/decrypt/mock.ts +3 -3
- package/core/modules/decrypt/module/init-p.ts +13 -14
- package/core/modules/encrypt/mock.ts +4 -6
- package/core/modules/encrypt/module/api-p.ts +4 -6
- package/core/modules/encrypt/module/index.ts +2 -2
- package/core/modules/encrypt/module/init-p.ts +37 -21
- package/core/modules/encrypt/types.ts +2 -2
- package/core/modules/relayer/module/RelayerAsyncRequest.ts +14 -0
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +2 -2
- package/core/modules/relayer/module/fetchUserDecrypt.ts +1 -2
- package/core/modules/relayer/module/guards/RelayerErrorBody.ts +33 -0
- package/core/types/index.ts +3 -0
- package/core/types/signedDecryptionPermit.ts +1 -1
- package/core/utils-p/decrypt/assertPermitMatchesKeyPair.ts +27 -0
- package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +1 -1
- package/package.json +3 -2
- package/_cjs/core/actions/chain/parseTransportKeypair.js +0 -8
- package/_cjs/core/actions/chain/parseTransportKeypair.js.map +0 -1
- package/_cjs/core/actions/chain/serializeTransportKeypair.js +0 -8
- package/_cjs/core/actions/chain/serializeTransportKeypair.js.map +0 -1
- package/_cjs/core/actions/decrypt/generateTransportKeypair.js +0 -8
- package/_cjs/core/actions/decrypt/generateTransportKeypair.js.map +0 -1
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js +0 -14
- package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +0 -1
- package/_esm/core/actions/chain/parseTransportKeypair.js +0 -5
- package/_esm/core/actions/chain/parseTransportKeypair.js.map +0 -1
- package/_esm/core/actions/chain/serializeTransportKeypair.js +0 -5
- package/_esm/core/actions/decrypt/generateTransportKeypair.js +0 -6
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js +0 -19
- package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +0 -1
- package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts +0 -12
- package/core/utils-p/decrypt/assertPermitMatchesKeypair.ts +0 -27
- package/tsconfig.json +0 -9
- package/vitest.config.ts +0 -17
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assertIsFhevmBaseClient } from '../../runtime/CoreFhevm-p.js';
|
|
2
2
|
import { signDecryptionPermit, } from '../../actions/base/signDecryptionPermit.js';
|
|
3
|
-
import {
|
|
3
|
+
import { parseTransportKeyPair, } from '../../actions/chain/parseTransportKeyPair.js';
|
|
4
4
|
import { fetchFheEncryptionKeyBytes, } from '../../actions/chain/fetchFheEncryptionKeyBytes.js';
|
|
5
|
-
import {
|
|
5
|
+
import { serializeTransportKeyPair } from '../../actions/chain/serializeTransportKeyPair.js';
|
|
6
6
|
import { serializeSignedDecryptionPermit, } from '../../actions/chain/serializeSignedDecryptionPermit.js';
|
|
7
7
|
import { parseSignedDecryptionPermit, } from '../../actions/chain/parseSignedDecryptionPermit.js';
|
|
8
8
|
import { readPublicValue, } from '../../actions/base/readPublicValue.js';
|
|
@@ -17,8 +17,8 @@ function _baseActions(fhevm) {
|
|
|
17
17
|
// Preserve the original action overloads on the decorated client API.
|
|
18
18
|
// Runtime behavior is unchanged: this is a direct pass-through wrapper.
|
|
19
19
|
signDecryptionPermit: ((parameters) => signDecryptionPermit(fhevm, parameters)),
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
parseTransportKeyPair: (parameters) => parseTransportKeyPair(fhevm, parameters),
|
|
21
|
+
serializeTransportKeyPair: (parameters) => serializeTransportKeyPair(fhevm, parameters),
|
|
22
22
|
serializeSignedDecryptionPermit: (parameters) => serializeSignedDecryptionPermit(fhevm, parameters),
|
|
23
23
|
parseSignedDecryptionPermit: (parameters) => parseSignedDecryptionPermit(fhevm, parameters),
|
|
24
24
|
fetchFheEncryptionKeyBytes: (parameters) => fetchFheEncryptionKeyBytes(fhevm, parameters),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { asFhevmClientWith, assertIsFhevmClientWith } from '../../runtime/CoreFhevm-p.js';
|
|
2
|
-
import {
|
|
2
|
+
import { generateTransportKeyPair } from '../../kms/TransportKeyPair-p.js';
|
|
3
3
|
import { decryptValue, } from '../../actions/decrypt/decryptValue.js';
|
|
4
4
|
import { decryptValues, } from '../../actions/decrypt/decryptValues.js';
|
|
5
5
|
import { decryptValuesFromPairs, } from '../../actions/decrypt/decryptValuesFromPairs.js';
|
|
@@ -11,7 +11,7 @@ function _decryptActions(fhevm) {
|
|
|
11
11
|
decryptValue: (parameters) => decryptValue(fhevm, parameters),
|
|
12
12
|
decryptValues: (parameters) => decryptValues(fhevm, parameters),
|
|
13
13
|
decryptValuesFromPairs: (parameters) => decryptValuesFromPairs(fhevm, parameters),
|
|
14
|
-
|
|
14
|
+
generateTransportKeyPair: () => generateTransportKeyPair(fhevm),
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -14,7 +14,7 @@ import { addressToChecksummedAddress, assertIsAddress, assertIsChecksummedAddres
|
|
|
14
14
|
import { bytes32ToHex, bytesToHexLarge, concatBytes, hexToBytes32, toBytes } from '../base/bytes.js';
|
|
15
15
|
import { assertIsUint64, assertIsUint8, asUint64BigInt, uint64ToBytes32 } from '../base/uint.js';
|
|
16
16
|
import { ZkProofError } from '../errors/ZkProofError.js';
|
|
17
|
-
import { assertIsEncryptionBitsArray, fheTypeIdFromEncryptionBits } from '../handle/FheType.js';
|
|
17
|
+
import { asEncryptionBits, assertIsEncryptionBitsArray, fheTypeIdFromEncryptionBits } from '../handle/FheType.js';
|
|
18
18
|
import { buildHandle } from '../handle/FhevmHandle.js';
|
|
19
19
|
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
20
20
|
import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
|
|
@@ -47,7 +47,7 @@ class ZkProofImpl {
|
|
|
47
47
|
__classPrivateFieldSet(this, _ZkProofImpl_userAddress, parameters.userAddress, "f");
|
|
48
48
|
__classPrivateFieldSet(this, _ZkProofImpl_ciphertextWithZkProof, parameters.ciphertextWithZkProof, "f");
|
|
49
49
|
__classPrivateFieldSet(this, _ZkProofImpl_encryptionBits, Object.freeze([...parameters.encryptionBits]), "f");
|
|
50
|
-
__classPrivateFieldSet(this, _ZkProofImpl_fheTypeIds, Object.freeze(__classPrivateFieldGet(this, _ZkProofImpl_encryptionBits, "f").map(fheTypeIdFromEncryptionBits)), "f");
|
|
50
|
+
__classPrivateFieldSet(this, _ZkProofImpl_fheTypeIds, Object.freeze(__classPrivateFieldGet(this, _ZkProofImpl_encryptionBits, "f").map((w) => fheTypeIdFromEncryptionBits(asEncryptionBits(w)))), "f");
|
|
51
51
|
__classPrivateFieldSet(this, _ZkProofImpl_extraData, parameters.extraData, "f");
|
|
52
52
|
Object.freeze(this);
|
|
53
53
|
}
|
|
@@ -152,6 +152,7 @@ export function assertIsZkProof(value, options) {
|
|
|
152
152
|
subject: options.subject,
|
|
153
153
|
type: typeof value,
|
|
154
154
|
expectedType: 'ZkProof',
|
|
155
|
+
metaMessages: options.metaMessages,
|
|
155
156
|
}, options);
|
|
156
157
|
}
|
|
157
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZkProof-p.js","sourceRoot":"","sources":["../../../core/coprocessor/ZkProof-p.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ZkProof-p.js","sourceRoot":"","sources":["../../../core/coprocessor/ZkProof-p.ts"],"names":[],"mappings":";;;;;;;;;;;;AAeA,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,gFAAgF;AAEhF,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEtE,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,MAAM,CAAC,MAAM,yCAAyC,GAAG,UAAU,CAAC;AACpE,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW;IAaf,YACE,YAAoB,EACpB,UAQC;QAtBM,uCAAuB;QACvB,kDAAwC;QACxC,+CAAqC;QACrC,2CAAiC;QACjC,qDAA8B,CAAC,cAAc;QAC7C,8CAA2C,CAAC,eAAe;QAC3D,0CAAkC,CAAC,eAAe;QAC3D,4CAAyC;QAEzC,oDAAoD;QAC3C,yCAAqB;QAc5B,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,uBAAA,IAAI,wBAAY,UAAU,CAAC,OAAO,MAAA,CAAC;QACnC,uBAAA,IAAI,mCAAuB,UAAU,CAAC,kBAAkB,MAAA,CAAC;QACzD,uBAAA,IAAI,gCAAoB,UAAU,CAAC,eAAe,MAAA,CAAC;QACnD,uBAAA,IAAI,4BAAgB,UAAU,CAAC,WAAW,MAAA,CAAC;QAC3C,uBAAA,IAAI,sCAA0B,UAAU,CAAC,qBAAqB,MAAA,CAAC;QAC/D,uBAAA,IAAI,+BAAmB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,MAAA,CAAC;QACrE,uBAAA,IAAI,2BAAe,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,mCAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,CAAC;QACpH,uBAAA,IAAI,0BAAc,UAAU,CAAC,SAAS,MAAA,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,8CAA8C;IAC9C,IAAW,OAAO;QAChB,OAAO,uBAAA,IAAI,4BAAS,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,IAAW,kBAAkB;QAC3B,OAAO,uBAAA,IAAI,uCAAoB,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC9D,IAAW,eAAe;QACxB,OAAO,uBAAA,IAAI,oCAAiB,CAAC;IAC/B,CAAC;IAED,mDAAmD;IACnD,IAAW,WAAW;QACpB,OAAO,uBAAA,IAAI,gCAAa,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,IAAW,qBAAqB;QAC9B,OAAO,IAAI,UAAU,CAAC,uBAAA,IAAI,0CAAuB,CAAC,CAAC;IACrD,CAAC;IAED,sEAAsE;IACtE,IAAW,cAAc;QACvB,OAAO,uBAAA,IAAI,mCAAgB,CAAC;IAC9B,CAAC;IAED,8DAA8D;IAC9D,IAAW,UAAU;QACnB,OAAO,uBAAA,IAAI,+BAAY,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,8YAAC,yBAAyB,EAAC,CAAC,KAAa;QAC9C,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,uBAAA,IAAI,0CAAuB,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,OAAO,mBAAmB,MAAM,CAAC,uBAAA,IAAI,4BAAS,CAAC,cAAc,uBAAA,IAAI,oCAAiB,UAAU,uBAAA,IAAI,gCAAa,WAAW,uBAAA,IAAI,+BAAY,CAAC,MAAM,WAAW,MAAM,CAAC,uBAAA,IAAI,0CAAuB,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1M,CAAC;IAEM,eAAe;QACpB,IAAI,uBAAA,IAAI,iCAAc,KAAK,SAAS,EAAE,CAAC;YACrC,uBAAA,IAAI,6BAAiB,sBAAsB,CAAC;gBAC1C,qBAAqB,EAAE,uBAAA,IAAI,0CAAuB;gBAClD,kBAAkB,EAAE,uBAAA,IAAI,uCAAoB;gBAC5C,UAAU,EAAE,uBAAA,IAAI,+BAAY;gBAC5B,OAAO,EAAE,uBAAA,IAAI,4BAAS;aACvB,CAAC,MAAA,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,iCAAc,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,uBAAA,IAAI,iCAAc,CAAC;IAC5B,CAAC;IAEM,YAAY;QACjB,OAAO,uBAAA,IAAI,8BAAW,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,OAAO;IACP,8EAA8E;IAE9E;;;;OAIG;IACI,MAAM;QAIX,OAAO;YACL,OAAO,EAAE,uBAAA,IAAI,4BAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAA,IAAI,4BAAS,CAAC,CAAC,CAAC,CAAC,uBAAA,IAAI,4BAAS;YACzF,kBAAkB,EAAE,uBAAA,IAAI,uCAAoB;YAC5C,eAAe,EAAE,uBAAA,IAAI,oCAAiB;YACtC,WAAW,EAAE,uBAAA,IAAI,gCAAa;YAC9B,qBAAqB,EAAE,eAAe,CAAC,uBAAA,IAAI,0CAAuB,CAAC;YACnE,cAAc,EAAE,uBAAA,IAAI,mCAAgB;YACpC,UAAU,EAAE,uBAAA,IAAI,+BAAY;SAC7B,CAAC;IACJ,CAAC;CACF;AAED,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAErC,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAc,EACd,OAA0G;IAE1G,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CACxB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,KAAK;YAClB,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,WAAwB,EACxB,SAAmB,EACnB,OAGC;IAED,IAAI,WAAW,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qBAAqB;IACrB,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAiB,CAAC;IAE5D,eAAe,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACpD,eAAe,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACjD,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,kBAAkB,GAAuB,2BAA2B,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC3G,MAAM,eAAe,GAAuB,2BAA2B,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACrG,MAAM,WAAW,GAAuB,2BAA2B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAE7F,+CAA+C;IAC/C,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE;QACvE,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,KAAK;KAC9B,CAAC,CAAC;IAEH,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,YAAY,CAAC;YACrB,OAAO,EAAE,oDAAoD;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,cAAc,GAAG,MAAM,yBAAyB,CACpD,WAAW,CAAC,cAAc,EAC1B,qBAAqB,EACrB,OAAO,EAAE,aAAa,CACvB,CAAC;IAEF,OAAO,IAAI,WAAW,CAAC,aAAa,EAAE;QACpC,OAAO;QACP,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,qBAAqB;QACrB,cAAc;QACd,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAwB,EACxB,OAGC;IAED,IAAI,WAAW,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,0BAA0B,CAAC,WAAW,CAAC,kBAAkB,EAAE;QACzD,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,yBAAyB,CACpD,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,qBAAqB,EACjC,OAAO,EAAE,aAAa,CACvB,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE;QACvE,OAAO,EAAE,uBAAuB;KACjC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErC,OAAO,sBAAsB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB;QAC5C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;QAClD,UAAU;QACV,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KACrE,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,MAAiC,EAAE,QAAmC;IACxG,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,YAAY,CAAC;YACrB,OAAO,EAAE,uCAAuC,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG;SACzF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC;gBACrB,OAAO,EAAE,qCAAqC,CAAC,GAAG;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,sBAAsB,CAC7B,IAKC,EACD,OAEC;IAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAEjF,MAAM,kBAAkB,GAAe,YAAY,CACjD,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE/G,YAAY,CAAC,IAAI,CACf,WAAW,CAAC;YACV,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,KAAK,EAAE,CAAC;SACT,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,eAAe;AACtC,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CACtC,cAA6C,EAC7C,qBAA0C,EAC1C,aAAkE;IAElE,oFAAoF;IACpF,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAC3B,2BAA2B,CAAC,cAAc,EAAE;YAC1C,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,oCAAoC,CAAC;gBACtE,qBAAqB,EAAE,qBAAqB;aAC7C,CAAC,CAAC;YACH,0BAA0B,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,4EAA4E;IAC5E,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,oCAAoC,CAAC;YACtE,qBAAqB,EAAE,qBAAqB;SAC7C,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,uDAAuD;IACvD,MAAM,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,mBAAmB,CAC1B,eAAwB,EACxB,UAA8B,EAC9B,OAAe,EACf,KAAa;IAEb,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,YAAY,CACjC,UAAU,CACR,WAAW,CAAC,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,cAAc,CAAC,CAC9G,CACF,CAAC;IAEF,2CAA2C;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAe,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedValue.js","sourceRoot":"","sources":["../../../core/handle/EncryptedValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9B,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC;QACH,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,UAAuC,CAAC;IACvD,CAAC;IACD,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC
|
|
1
|
+
{"version":3,"file":"EncryptedValue.js","sourceRoot":"","sources":["../../../core/handle/EncryptedValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9B,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC;QACH,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,UAAuC,CAAC;IACvD,CAAC;IACD,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -229,8 +229,6 @@ export function assertIsEncryptionBitsArray(value, options) {
|
|
|
229
229
|
////////////////////////////////////////////////////////////////////////////////
|
|
230
230
|
/**
|
|
231
231
|
* Converts an encryption bit width to its corresponding FheTypeId.
|
|
232
|
-
* Accepts loose `number` input; validates internally via `isEncryptionBits`.
|
|
233
|
-
* @throws A {@link FheTypeError} If bitwidth is not a valid encryption bit width.
|
|
234
232
|
* @example fheTypeIdFromEncryptionBits(8) // 2 (euint8)
|
|
235
233
|
*/
|
|
236
234
|
export function fheTypeIdFromEncryptionBits(bitwidth) {
|
|
@@ -238,8 +236,6 @@ export function fheTypeIdFromEncryptionBits(bitwidth) {
|
|
|
238
236
|
}
|
|
239
237
|
/**
|
|
240
238
|
* Converts an FheType to its corresponding FheTypeId.
|
|
241
|
-
* Accepts loose `string` input; validates internally via `isFheType`.
|
|
242
|
-
* @throws A {@link FheTypeError} If name is not a valid FheType.
|
|
243
239
|
* @example fheTypeIdFromName('euint8') // 2
|
|
244
240
|
*/
|
|
245
241
|
export function fheTypeIdFromName(name) {
|
|
@@ -247,7 +243,6 @@ export function fheTypeIdFromName(name) {
|
|
|
247
243
|
}
|
|
248
244
|
/**
|
|
249
245
|
* Converts an FheTypeId to its corresponding FheType.
|
|
250
|
-
* @throws A {@link FheTypeError} If id is not a valid FheTypeId.
|
|
251
246
|
* @example fheTypeNameFromId(2) // 'euint8'
|
|
252
247
|
*/
|
|
253
248
|
export function fheTypeNameFromId(typeId) {
|
|
@@ -262,7 +257,7 @@ export function fheTypeNameFromTypeName(typeName) {
|
|
|
262
257
|
}
|
|
263
258
|
/**
|
|
264
259
|
* Converts a FheType to its corresponding TypeName.
|
|
265
|
-
* @example
|
|
260
|
+
* @example typeNameFromFheTypeName('euint8') // 'uint8'
|
|
266
261
|
*/
|
|
267
262
|
export function typeNameFromFheTypeName(fheType) {
|
|
268
263
|
return fheType.substring(1);
|
|
@@ -272,7 +267,6 @@ export function typeNameFromFheTypeName(fheType) {
|
|
|
272
267
|
////////////////////////////////////////////////////////////////////////////////
|
|
273
268
|
/**
|
|
274
269
|
* Returns the Solidity primitive type name for an FheTypeId.
|
|
275
|
-
* Accepts loose `number` input; validates internally via `isFheTypeId`.
|
|
276
270
|
* @example solidityPrimitiveTypeNameFromFheTypeId(0) // 'bool'
|
|
277
271
|
* @example solidityPrimitiveTypeNameFromFheTypeId(7) // 'address'
|
|
278
272
|
* @example solidityPrimitiveTypeNameFromFheTypeId(2) // 'uint256'
|
|
@@ -300,9 +294,9 @@ export function encryptionBitsFromFheTypeId(typeId) {
|
|
|
300
294
|
* Returns the encryption bit width for an FheType name.
|
|
301
295
|
* @param name - The FHE type name (e.g., 'ebool', 'euint32', 'eaddress')
|
|
302
296
|
* @returns The encryption bit width (always \>= 2)
|
|
303
|
-
* @example
|
|
304
|
-
* @example
|
|
305
|
-
* @example
|
|
297
|
+
* @example encryptionBitsFromFheType('ebool') // 2
|
|
298
|
+
* @example encryptionBitsFromFheType('euint32') // 32
|
|
299
|
+
* @example encryptionBitsFromFheType('eaddress') // 160
|
|
306
300
|
*/
|
|
307
301
|
export function encryptionBitsFromFheType(name) {
|
|
308
302
|
const bw = FheTypeIdToEncryptionBits[FheTypeNameToId[name]];
|
|
@@ -355,11 +349,11 @@ export function bytesToClearValueType(fheType, bytes) {
|
|
|
355
349
|
* and returns it narrowed. No conversion is performed.
|
|
356
350
|
*
|
|
357
351
|
* - `ebool` → `boolean`
|
|
358
|
-
* - `eaddress` → `string` (
|
|
352
|
+
* - `eaddress` → `string` (validated address)
|
|
359
353
|
* - `euint8/16/32` → `number`
|
|
360
354
|
* - `euint64/128/256` → `bigint`
|
|
361
355
|
*
|
|
362
|
-
* @throws If `value` is not the expected JS type
|
|
356
|
+
* @throws If `value` is not the expected JS type.
|
|
363
357
|
*/
|
|
364
358
|
export function asClearValueType(fheTypeName, value, options) {
|
|
365
359
|
switch (fheTypeName) {
|
|
@@ -391,14 +385,13 @@ export function asClearValueType(fheTypeName, value, options) {
|
|
|
391
385
|
}
|
|
392
386
|
/**
|
|
393
387
|
* Converts `value` to the correct JS type for the given `fheTypeName`.
|
|
394
|
-
* Accepts any uint-like input (number, bigint, string) and coerces it.
|
|
395
388
|
*
|
|
396
|
-
* - `ebool` → `boolean`
|
|
389
|
+
* - `ebool` → `boolean` (value must already be a `boolean`; no coercion)
|
|
397
390
|
* - `eaddress` → `string` (validated address)
|
|
398
|
-
* - `euint8/16/32` → coerced to `number` via `Number()`
|
|
399
|
-
* - `euint64/128/256` → coerced to `bigint` via `BigInt()`
|
|
391
|
+
* - `euint8/16/32` → coerced to `number` via `Number()` (accepts `number` or `bigint`)
|
|
392
|
+
* - `euint64/128/256` → coerced to `bigint` via `BigInt()` (accepts `number` or `bigint`)
|
|
400
393
|
*
|
|
401
|
-
* @throws If `value`
|
|
394
|
+
* @throws If `value` is not the expected JS type or cannot be coerced.
|
|
402
395
|
*/
|
|
403
396
|
export function toClearValueType(fheTypeName, value, options) {
|
|
404
397
|
switch (fheTypeName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FheType.js","sourceRoot":"","sources":["../../../core/handle/FheType.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FheType.js","sourceRoot":"","sources":["../../../core/handle/FheType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { addressToChecksummedAddress, assertIsAddress } from '../base/address.js';
|
|
2
2
|
import { assertHandlesBelongToSameChainId } from '../handle/FhevmHandle.js';
|
|
3
3
|
import { assertIsSignedDecryptionPermit, assertPermitIncludesContractAddresses, } from '../kms/SignedDecryptionPermit-p.js';
|
|
4
|
-
import {
|
|
4
|
+
import { assertPermitMatchesKeyPair } from '../utils-p/decrypt/assertPermitMatchesKeyPair.js';
|
|
5
5
|
import { isUserDecryptable } from '../host-contracts/isUserDecryptable.js';
|
|
6
6
|
////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
export async function canDecryptValuesFromPairs(context, parameters) {
|
|
@@ -22,8 +22,8 @@ export async function canDecryptValuesFromPairs(context, parameters) {
|
|
|
22
22
|
assertIsSignedDecryptionPermit(signedPermit, { subject: 'signedPermit' });
|
|
23
23
|
signedPermit.assertNotExpired();
|
|
24
24
|
assertPermitIncludesContractAddresses(signedPermit, contractAddresses);
|
|
25
|
-
if (parameters.
|
|
26
|
-
|
|
25
|
+
if (parameters.transportKeyPair !== undefined) {
|
|
26
|
+
assertPermitMatchesKeyPair(signedPermit, parameters.transportKeyPair);
|
|
27
27
|
}
|
|
28
28
|
userAddress = signedPermit.encryptedDataOwnerAddress;
|
|
29
29
|
}
|
|
@@ -19,7 +19,7 @@ import { addressToChecksummedAddress, assertIsAddress, assertRecordAddressProper
|
|
|
19
19
|
import { assertIsKmsUserDecryptEip712, createKmsUserDecryptEip712 } from './createKmsUserDecryptEip712.js';
|
|
20
20
|
import { assertIsKmsDelegatedUserDecryptEip712, createKmsDelegatedUserDecryptEip712, } from './createKmsDelegatedUserDecryptEip712.js';
|
|
21
21
|
import { assertRecordStringProperty } from '../base/string.js';
|
|
22
|
-
import {
|
|
22
|
+
import { assertIsTransportKeyPair } from './TransportKeyPair-p.js';
|
|
23
23
|
import { assertKmsEIP712DeadlineValidity } from './utils.js';
|
|
24
24
|
import { readKmsSignersContext } from '../host-contracts/readKmsSignersContext-p.js';
|
|
25
25
|
import { kmsSignersContextToExtraData } from '../host-contracts/KmsSignersContext-p.js';
|
|
@@ -92,7 +92,7 @@ class SignedDecryptionPermitBaseImpl {
|
|
|
92
92
|
throw new Error(`Invalid permit: extraData "${__classPrivateFieldGet(this, _SignedDecryptionPermitBaseImpl_eip712, "f").message.extraData}" does not match expected "${expectedExtraData}" from KmsSignersContext.`);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
get
|
|
95
|
+
get transportPublicKey() {
|
|
96
96
|
return __classPrivateFieldGet(this, _SignedDecryptionPermitBaseImpl_eip712, "f").message.publicKey;
|
|
97
97
|
}
|
|
98
98
|
get kmsContextId() {
|
|
@@ -215,8 +215,8 @@ export async function signDecryptionPermit(context, parameters) {
|
|
|
215
215
|
address: context.chain.fhevm.contracts.kmsVerifier.address,
|
|
216
216
|
});
|
|
217
217
|
const extraData = kmsSignersContextToExtraData(kmsSignersContext);
|
|
218
|
-
const { contractAddresses, startTimestamp, durationDays, signerAddress: signerAddressArg,
|
|
219
|
-
|
|
218
|
+
const { contractAddresses, startTimestamp, durationDays, signerAddress: signerAddressArg, transportKeyPair: transportKeyPair, signer, delegatorAddress, } = parameters;
|
|
219
|
+
assertIsTransportKeyPair(transportKeyPair, {});
|
|
220
220
|
assertIsAddress(signerAddressArg, {});
|
|
221
221
|
if (delegatorAddress !== undefined) {
|
|
222
222
|
assertIsAddress(delegatorAddress, {});
|
|
@@ -233,7 +233,7 @@ export async function signDecryptionPermit(context, parameters) {
|
|
|
233
233
|
durationDays,
|
|
234
234
|
startTimestamp,
|
|
235
235
|
extraData,
|
|
236
|
-
publicKey:
|
|
236
|
+
publicKey: transportKeyPair.publicKey,
|
|
237
237
|
};
|
|
238
238
|
const eip712 = delegatorAddress !== undefined
|
|
239
239
|
? createKmsDelegatedUserDecryptEip712({
|
|
@@ -254,8 +254,8 @@ export async function signDecryptionPermit(context, parameters) {
|
|
|
254
254
|
////////////////////////////////////////////////////////////////////////////////
|
|
255
255
|
// parseSignedDecryptionPermit
|
|
256
256
|
////////////////////////////////////////////////////////////////////////////////
|
|
257
|
-
export async function parseSignedDecryptionPermit(context,
|
|
258
|
-
|
|
257
|
+
export async function parseSignedDecryptionPermit(context, transportKeyPair, permit) {
|
|
258
|
+
assertIsTransportKeyPair(transportKeyPair, {});
|
|
259
259
|
const permitName = 'permit';
|
|
260
260
|
const options = {};
|
|
261
261
|
assertRecordNonNullableProperty(permit, 'eip712', permitName, options);
|
|
@@ -273,9 +273,9 @@ export async function parseSignedDecryptionPermit(context, transportKeypair, per
|
|
|
273
273
|
else {
|
|
274
274
|
throw new Error(`Unknown permit primaryType: ${primaryType}`);
|
|
275
275
|
}
|
|
276
|
-
if (eip712.message.publicKey.toLowerCase() !==
|
|
277
|
-
throw new Error("The permit's publicKey does not match the
|
|
278
|
-
'Ensure the permit was signed with the same
|
|
276
|
+
if (eip712.message.publicKey.toLowerCase() !== transportKeyPair.publicKey.toLowerCase()) {
|
|
277
|
+
throw new Error("The permit's publicKey does not match the TransportKeyPairKeyPair's publicKey. " +
|
|
278
|
+
'Ensure the permit was signed with the same key pair.');
|
|
279
279
|
}
|
|
280
280
|
return await _createSignedDecryptionPermit(context, {
|
|
281
281
|
signature: permit.signature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedDecryptionPermit-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermit-p.ts"],"names":[],"mappings":";;;;;;;;;;;;AAmBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,mCAAmC,EAAE,MAAM,2DAA2D,CAAC;AAChH,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC3G,OAAO,EACL,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,gFAAgF;AAEhF,MAAM,aAAa,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAC7D,MAAM,8BAA8B,GAAG,GAAiB,CAAC;AACzD,MAAM,mCAAmC,GAAG,EAAiB,CAAC;AAE9D,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAe,8BAA8B;IAK3C,YACE,YAAoB,EACpB,UAIC;QAVM,yDAA8D;QAC9D,4DAAuB;QACvB,gEAAmC;QAU1C,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,uBAAA,IAAI,0CAAW,UAAU,CAAC,MAAM,MAAA,CAAC;QACjC,uBAAA,IAAI,6CAAc,UAAU,CAAC,SAAS,MAAA,CAAC;QACvC,uBAAA,IAAI,iDAAkB,UAAU,CAAC,aAAa,MAAA,CAAC;IACjD,CAAC;IAED,IAAW,MAAM;QACf,OAAO,uBAAA,IAAI,8CAAQ,CAAC;IACtB,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,uBAAA,IAAI,iDAAW,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,uBAAA,IAAI,qDAAe,CAAC;IAC7B,CAAC;IAKM,gBAAgB;QACrB,+BAA+B,CAAC,uBAAA,IAAI,8CAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,uBAAuB,CAAC,iBAAoC;QACjE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;QAC1E,IAAI,iBAAiB,KAAK,uBAAA,IAAI,8CAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,8BAA8B,uBAAA,IAAI,8CAAQ,CAAC,OAAO,CAAC,SAAS,8BAA8B,iBAAiB,2BAA2B,CACvI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAW,
|
|
1
|
+
{"version":3,"file":"SignedDecryptionPermit-p.js","sourceRoot":"","sources":["../../../core/kms/SignedDecryptionPermit-p.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,19 +9,19 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
12
|
+
var _TransportKeyPairImpl_publicKeyBytesHex, _TransportKeyPairImpl_privateKeyBytes, _TransportKeyPairImpl_runtime, _TransportKeyPairImpl_tkmsPrivateKey;
|
|
13
13
|
import { assertIsBytesOrBytesHex, bytesToHexLarge, hexToBytesFaster } from '../base/bytes.js';
|
|
14
14
|
import { InvalidTypeError } from '../base/errors/InvalidTypeError.js';
|
|
15
15
|
import { assertRecordNonNullableProperty } from '../base/record.js';
|
|
16
16
|
import { asFhevmRuntimeWith } from '../runtime/CoreFhevmRuntime-p.js';
|
|
17
17
|
import { verifyTkmsPublicKey } from '../utils-p/decrypt/verifyTkmsPublicKey.js';
|
|
18
18
|
////////////////////////////////////////////////////////////////////////////////
|
|
19
|
-
const PRIVATE_TOKEN = Symbol('
|
|
19
|
+
const PRIVATE_TOKEN = Symbol('TransportKeyPair.token');
|
|
20
20
|
////////////////////////////////////////////////////////////////////////////////
|
|
21
|
-
//
|
|
21
|
+
// TransportKeyPairImpl
|
|
22
22
|
//
|
|
23
23
|
// Unexported class wrapping closures that bind a tkmsPrivateKey.
|
|
24
|
-
// - Class: enables instanceof checks (
|
|
24
|
+
// - Class: enables instanceof checks (isTransportKeyPair)
|
|
25
25
|
// - Closures: methods capture privateKey without exposing it
|
|
26
26
|
// - Frozen: instance, class, and prototype are all immutable
|
|
27
27
|
// - Tree-shakable: unused exports are eliminated by bundlers
|
|
@@ -29,22 +29,22 @@ const PRIVATE_TOKEN = Symbol('TransportKeypair.token');
|
|
|
29
29
|
// - tamper-resistant: class + private token + frozen prototype
|
|
30
30
|
const GetTkmsPrivateKeyFn = Symbol();
|
|
31
31
|
const SerializeFn = Symbol();
|
|
32
|
-
class
|
|
32
|
+
class TransportKeyPairImpl {
|
|
33
33
|
constructor(privateToken, runtime, parameters) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
_TransportKeyPairImpl_publicKeyBytesHex.set(this, void 0);
|
|
35
|
+
_TransportKeyPairImpl_privateKeyBytes.set(this, void 0);
|
|
36
|
+
_TransportKeyPairImpl_runtime.set(this, void 0);
|
|
37
|
+
_TransportKeyPairImpl_tkmsPrivateKey.set(this, void 0);
|
|
38
38
|
if (privateToken !== PRIVATE_TOKEN) {
|
|
39
39
|
throw new Error('Unauthorized');
|
|
40
40
|
}
|
|
41
|
-
__classPrivateFieldSet(this,
|
|
42
|
-
__classPrivateFieldSet(this,
|
|
43
|
-
__classPrivateFieldSet(this,
|
|
44
|
-
__classPrivateFieldSet(this,
|
|
41
|
+
__classPrivateFieldSet(this, _TransportKeyPairImpl_runtime, new WeakRef(runtime), "f");
|
|
42
|
+
__classPrivateFieldSet(this, _TransportKeyPairImpl_publicKeyBytesHex, parameters.publicKeyBytesHex, "f");
|
|
43
|
+
__classPrivateFieldSet(this, _TransportKeyPairImpl_privateKeyBytes, parameters.privateKeyBytes, "f");
|
|
44
|
+
__classPrivateFieldSet(this, _TransportKeyPairImpl_tkmsPrivateKey, parameters.tkmsPrivateKey, "f");
|
|
45
45
|
}
|
|
46
46
|
get publicKey() {
|
|
47
|
-
return __classPrivateFieldGet(this,
|
|
47
|
+
return __classPrivateFieldGet(this, _TransportKeyPairImpl_publicKeyBytesHex, "f");
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Hidden method (Symbol key) that returns the deserialized TKMS private key.
|
|
@@ -57,31 +57,31 @@ class TransportKeypairImpl {
|
|
|
57
57
|
*
|
|
58
58
|
* @throws If `privateToken` is invalid or `expectedRuntime` does not match.
|
|
59
59
|
*/
|
|
60
|
-
async [(
|
|
60
|
+
async [(_TransportKeyPairImpl_publicKeyBytesHex = new WeakMap(), _TransportKeyPairImpl_privateKeyBytes = new WeakMap(), _TransportKeyPairImpl_runtime = new WeakMap(), _TransportKeyPairImpl_tkmsPrivateKey = new WeakMap(), GetTkmsPrivateKeyFn)](privateToken, expectedRuntime) {
|
|
61
61
|
if (privateToken !== PRIVATE_TOKEN) {
|
|
62
62
|
throw new Error('Unauthorized');
|
|
63
63
|
}
|
|
64
64
|
// If the runtime was GC'd, deref() returns undefined, which !== expectedRuntime → throws.
|
|
65
|
-
// This is intentional: a GC'd runtime means the
|
|
66
|
-
if (expectedRuntime !== __classPrivateFieldGet(this,
|
|
65
|
+
// This is intentional: a GC'd runtime means the key pair is stale.
|
|
66
|
+
if (expectedRuntime !== __classPrivateFieldGet(this, _TransportKeyPairImpl_runtime, "f").deref()) {
|
|
67
67
|
throw new Error('Invalid runtime');
|
|
68
68
|
}
|
|
69
|
-
if (__classPrivateFieldGet(this,
|
|
70
|
-
return __classPrivateFieldGet(this,
|
|
69
|
+
if (__classPrivateFieldGet(this, _TransportKeyPairImpl_tkmsPrivateKey, "f") !== undefined) {
|
|
70
|
+
return __classPrivateFieldGet(this, _TransportKeyPairImpl_tkmsPrivateKey, "f");
|
|
71
71
|
}
|
|
72
72
|
const runtimeWithDecrypt = asFhevmRuntimeWith(expectedRuntime, 'decrypt');
|
|
73
|
-
__classPrivateFieldSet(this,
|
|
74
|
-
tkmsPrivateKeyBytes: __classPrivateFieldGet(this,
|
|
73
|
+
__classPrivateFieldSet(this, _TransportKeyPairImpl_tkmsPrivateKey, await runtimeWithDecrypt.decrypt.deserializeTkmsPrivateKey({
|
|
74
|
+
tkmsPrivateKeyBytes: __classPrivateFieldGet(this, _TransportKeyPairImpl_privateKeyBytes, "f"),
|
|
75
75
|
}), "f");
|
|
76
76
|
// Verify the key is valid
|
|
77
77
|
await verifyTkmsPublicKey({ runtime: runtimeWithDecrypt }, {
|
|
78
|
-
tkmsPrivateKey: __classPrivateFieldGet(this,
|
|
79
|
-
tkmsPublicKeyBytesHex: __classPrivateFieldGet(this,
|
|
78
|
+
tkmsPrivateKey: __classPrivateFieldGet(this, _TransportKeyPairImpl_tkmsPrivateKey, "f"),
|
|
79
|
+
tkmsPublicKeyBytesHex: __classPrivateFieldGet(this, _TransportKeyPairImpl_publicKeyBytesHex, "f"),
|
|
80
80
|
});
|
|
81
|
-
return __classPrivateFieldGet(this,
|
|
81
|
+
return __classPrivateFieldGet(this, _TransportKeyPairImpl_tkmsPrivateKey, "f");
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
|
-
* Hidden method (Symbol key) that serializes the
|
|
84
|
+
* Hidden method (Symbol key) that serializes the key pair including the private key.
|
|
85
85
|
*
|
|
86
86
|
* Access is protected by the Symbol key (not exported) and the private token.
|
|
87
87
|
*/
|
|
@@ -90,8 +90,8 @@ class TransportKeypairImpl {
|
|
|
90
90
|
throw new Error('Unauthorized');
|
|
91
91
|
}
|
|
92
92
|
return {
|
|
93
|
-
publicKey: __classPrivateFieldGet(this,
|
|
94
|
-
privateKey: bytesToHexLarge(__classPrivateFieldGet(this,
|
|
93
|
+
publicKey: __classPrivateFieldGet(this, _TransportKeyPairImpl_publicKeyBytesHex, "f"),
|
|
94
|
+
privateKey: bytesToHexLarge(__classPrivateFieldGet(this, _TransportKeyPairImpl_privateKeyBytes, "f"), false /* no0x */),
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
@@ -99,57 +99,57 @@ class TransportKeypairImpl {
|
|
|
99
99
|
* Only the public key is included in the output.
|
|
100
100
|
*/
|
|
101
101
|
toJSON() {
|
|
102
|
-
return { publicKey: __classPrivateFieldGet(this,
|
|
102
|
+
return { publicKey: __classPrivateFieldGet(this, _TransportKeyPairImpl_publicKeyBytesHex, "f") };
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
Object.freeze(
|
|
106
|
-
Object.freeze(
|
|
105
|
+
Object.freeze(TransportKeyPairImpl);
|
|
106
|
+
Object.freeze(TransportKeyPairImpl.prototype);
|
|
107
107
|
////////////////////////////////////////////////////////////////////////////////
|
|
108
108
|
/** Type guard. */
|
|
109
|
-
export function
|
|
110
|
-
return value instanceof
|
|
109
|
+
export function isTransportKeyPair(value) {
|
|
110
|
+
return value instanceof TransportKeyPairImpl;
|
|
111
111
|
}
|
|
112
112
|
////////////////////////////////////////////////////////////////////////////////
|
|
113
|
-
/** Throws {@link InvalidTypeError} if value is not a valid {@link
|
|
114
|
-
export function
|
|
115
|
-
if (!
|
|
113
|
+
/** Throws {@link InvalidTypeError} if value is not a valid {@link TransportKeyPair}. */
|
|
114
|
+
export function assertIsTransportKeyPair(value, options) {
|
|
115
|
+
if (!isTransportKeyPair(value)) {
|
|
116
116
|
throw new InvalidTypeError({
|
|
117
117
|
subject: options.subject,
|
|
118
118
|
type: typeof value,
|
|
119
|
-
expectedType: '
|
|
119
|
+
expectedType: 'TransportKeyPair',
|
|
120
120
|
}, options);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
////////////////////////////////////////////////////////////////////////////////
|
|
124
|
-
/** Generates a fresh {@link
|
|
125
|
-
export async function
|
|
124
|
+
/** Generates a fresh {@link TransportKeyPair}. */
|
|
125
|
+
export async function generateTransportKeyPair(context) {
|
|
126
126
|
const tkmsPrivateKey = await context.runtime.decrypt.generateTkmsPrivateKey();
|
|
127
127
|
const tkmsPrivateKeyBytes = await context.runtime.decrypt.serializeTkmsPrivateKey({ tkmsPrivateKey });
|
|
128
128
|
const tkmsPublicKeyBytesHex = await context.runtime.decrypt.getTkmsPublicKeyHex({
|
|
129
129
|
tkmsPrivateKey,
|
|
130
130
|
});
|
|
131
|
-
return new
|
|
131
|
+
return new TransportKeyPairImpl(PRIVATE_TOKEN, context.runtime, {
|
|
132
132
|
privateKeyBytes: tkmsPrivateKeyBytes,
|
|
133
133
|
publicKeyBytesHex: tkmsPublicKeyBytesHex,
|
|
134
134
|
tkmsPrivateKey,
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
|
-
* Converts an unknown value into a {@link
|
|
138
|
+
* Converts an unknown value into a {@link TransportKeyPair}.
|
|
139
139
|
*
|
|
140
140
|
* Accepted inputs:
|
|
141
|
-
* - An existing {@link
|
|
141
|
+
* - An existing {@link TransportKeyPair} (returned as-is)
|
|
142
142
|
* - A plain object `{ publicKey, privateKey }` where each is `Bytes` or `BytesHex`
|
|
143
143
|
*
|
|
144
|
-
* @throws {InvalidTypeError} If `value` is not a recognized
|
|
144
|
+
* @throws {InvalidTypeError} If `value` is not a recognized key pair shape.
|
|
145
145
|
*/
|
|
146
|
-
export async function
|
|
147
|
-
if (
|
|
146
|
+
export async function toTransportKeyPair(context, value) {
|
|
147
|
+
if (isTransportKeyPair(value)) {
|
|
148
148
|
// Force realize
|
|
149
149
|
await value[GetTkmsPrivateKeyFn](PRIVATE_TOKEN, context.runtime);
|
|
150
150
|
return value;
|
|
151
151
|
}
|
|
152
|
-
const name = '
|
|
152
|
+
const name = 'TransportKeyPair';
|
|
153
153
|
const options = {};
|
|
154
154
|
assertRecordNonNullableProperty(value, 'publicKey', name, {
|
|
155
155
|
expectedType: 'Bytes | BytesHex',
|
|
@@ -180,32 +180,32 @@ export async function toTransportKeypair(context, value) {
|
|
|
180
180
|
});
|
|
181
181
|
await verifyTkmsPublicKey({ runtime: runtimeWithDecrypt }, { tkmsPrivateKey, tkmsPublicKeyBytesHex });
|
|
182
182
|
}
|
|
183
|
-
return new
|
|
183
|
+
return new TransportKeyPairImpl(PRIVATE_TOKEN, context.runtime, {
|
|
184
184
|
privateKeyBytes: tkmsPrivateKeyBytes,
|
|
185
185
|
publicKeyBytesHex: tkmsPublicKeyBytesHex,
|
|
186
186
|
tkmsPrivateKey,
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
190
|
-
* Serializes an {@link
|
|
190
|
+
* Serializes an {@link TransportKeyPair} including the private key.
|
|
191
191
|
*
|
|
192
192
|
* **The output contains sensitive key material — handle and store securely.**
|
|
193
193
|
*
|
|
194
|
-
* @throws {InvalidTypeError} If `value` is not a valid {@link
|
|
194
|
+
* @throws {InvalidTypeError} If `value` is not a valid {@link TransportKeyPair}.
|
|
195
195
|
*/
|
|
196
|
-
export function
|
|
197
|
-
|
|
196
|
+
export function serializeTransportKeyPair(value) {
|
|
197
|
+
assertIsTransportKeyPair(value, {});
|
|
198
198
|
return value[SerializeFn](PRIVATE_TOKEN);
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
|
-
* Extracts the deserialized TKMS private key from an {@link
|
|
201
|
+
* Extracts the deserialized TKMS private key from an {@link TransportKeyPair}.
|
|
202
202
|
* Lazily deserializes and verifies the key on first access.
|
|
203
203
|
*
|
|
204
|
-
* @throws {InvalidTypeError} If `value` is not a valid {@link
|
|
204
|
+
* @throws {InvalidTypeError} If `value` is not a valid {@link TransportKeyPair}.
|
|
205
205
|
* @throws If the runtime does not match or the key verification fails.
|
|
206
206
|
*/
|
|
207
|
-
export async function
|
|
208
|
-
|
|
207
|
+
export async function transportKeyPairToTkmsPrivateKey(context, value) {
|
|
208
|
+
assertIsTransportKeyPair(value, {});
|
|
209
209
|
return await value[GetTkmsPrivateKeyFn](PRIVATE_TOKEN, context.runtime);
|
|
210
210
|
}
|
|
211
|
-
//# sourceMappingURL=
|
|
211
|
+
//# sourceMappingURL=TransportKeyPair-p.js.map
|