@inco/js 0.7.1 → 0.7.3
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/dist/cjs/advancedacl/session-key.d.ts +9 -3
- package/dist/cjs/advancedacl/session-key.js +18 -7
- package/dist/cjs/attestedcompute/attested-compute.d.ts +32 -4
- package/dist/cjs/attestedcompute/attested-compute.js +13 -13
- package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +12 -6
- package/dist/cjs/attesteddecrypt/attested-decrypt.js +40 -7
- package/dist/cjs/attesteddecrypt/types.d.ts +1 -0
- package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +49 -0
- package/dist/cjs/generated/es/inco/covalidator/compute/v1/server_pb.js +16 -5
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +28 -14
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
- package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +364 -0
- package/dist/cjs/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +88 -0
- package/dist/cjs/generated/lightning.d.ts +20 -0
- package/dist/cjs/generated/lightning.js +22 -1
- package/dist/cjs/generated/local-node.d.ts +3 -3
- package/dist/cjs/generated/local-node.js +3 -3
- package/dist/cjs/kms/quorumClient.d.ts +1 -1
- package/dist/cjs/kms/quorumClient.js +118 -17
- package/dist/cjs/lite/attested-compute.d.ts +2 -2
- package/dist/cjs/lite/attested-compute.js +3 -3
- package/dist/cjs/lite/attested-decrypt.d.ts +2 -2
- package/dist/cjs/lite/attested-decrypt.js +3 -3
- package/dist/cjs/lite/lightning.d.ts +67 -7
- package/dist/cjs/lite/lightning.js +105 -40
- package/dist/cjs/test/mocks.js +4 -2
- package/dist/esm/advancedacl/session-key.d.ts +9 -3
- package/dist/esm/advancedacl/session-key.js +20 -9
- package/dist/esm/attestedcompute/attested-compute.d.ts +32 -4
- package/dist/esm/attestedcompute/attested-compute.js +14 -14
- package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +12 -6
- package/dist/esm/attesteddecrypt/attested-decrypt.js +39 -7
- package/dist/esm/attesteddecrypt/types.d.ts +1 -0
- package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +49 -0
- package/dist/esm/generated/es/inco/covalidator/compute/v1/server_pb.js +14 -3
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +28 -14
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -2
- package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +364 -0
- package/dist/esm/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.js +85 -0
- package/dist/esm/generated/lightning.d.ts +20 -0
- package/dist/esm/generated/lightning.js +22 -1
- package/dist/esm/generated/local-node.d.ts +3 -3
- package/dist/esm/generated/local-node.js +3 -3
- package/dist/esm/kms/quorumClient.d.ts +1 -1
- package/dist/esm/kms/quorumClient.js +118 -17
- package/dist/esm/lite/attested-compute.d.ts +2 -2
- package/dist/esm/lite/attested-compute.js +3 -3
- package/dist/esm/lite/attested-decrypt.d.ts +2 -2
- package/dist/esm/lite/attested-decrypt.js +3 -3
- package/dist/esm/lite/lightning.d.ts +67 -7
- package/dist/esm/lite/lightning.js +105 -40
- package/dist/esm/test/mocks.js +4 -2
- package/dist/types/advancedacl/session-key.d.ts +9 -3
- package/dist/types/attestedcompute/attested-compute.d.ts +32 -4
- package/dist/types/attesteddecrypt/attested-decrypt.d.ts +12 -6
- package/dist/types/attesteddecrypt/types.d.ts +1 -0
- package/dist/types/generated/es/inco/covalidator/compute/v1/server_pb.d.ts +49 -0
- package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +28 -14
- package/dist/types/generated/es/inco/sealingfetcher/v1/sealingfetcher_pb.d.ts +364 -0
- package/dist/types/generated/lightning.d.ts +20 -0
- package/dist/types/generated/local-node.d.ts +3 -3
- package/dist/types/kms/quorumClient.d.ts +1 -1
- package/dist/types/lite/attested-compute.d.ts +2 -2
- package/dist/types/lite/attested-decrypt.d.ts +2 -2
- package/dist/types/lite/lightning.d.ts +67 -7
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Account, type Address, type Chain, type Hex, type Transport, type WalletClient } from 'viem';
|
|
1
|
+
import { type Account, type Address, type Chain, type Hex, PublicClient, type Transport, type WalletClient } from 'viem';
|
|
2
2
|
import { DecryptionAttestation, EncryptedDecryptionAttestation } from '../attesteddecrypt/index.js';
|
|
3
3
|
import { SupportedChainId } from '../chain.js';
|
|
4
4
|
import { type EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
|
@@ -32,8 +32,12 @@ export interface SessionKeyAttestedComputeArgs {
|
|
|
32
32
|
op: AttestedComputeOP;
|
|
33
33
|
rhsPlaintext: bigint | boolean;
|
|
34
34
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
35
|
+
ethClient?: PublicClient<Transport, Chain> | WalletClient<Transport, Chain, Account> | undefined;
|
|
36
|
+
executorAddress?: HexString | undefined;
|
|
37
|
+
reencryptPubKey?: Uint8Array | undefined;
|
|
38
|
+
reencryptKeypair?: Secp256k1Keypair | undefined;
|
|
35
39
|
}
|
|
36
|
-
export declare function sessionKeyAttestedCompute<T extends SupportedFheType>({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsQuorumClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyAttestedComputeArgs): Promise<DecryptionAttestation<EciesScheme, SupportedFheType>>;
|
|
40
|
+
export declare function sessionKeyAttestedCompute<T extends SupportedFheType>({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsQuorumClient, ephemeralKeypair, allowanceVoucherWithSig, ethClient, executorAddress, reencryptPubKey, reencryptKeypair, }: SessionKeyAttestedComputeArgs): Promise<DecryptionAttestation<EciesScheme, SupportedFheType> | EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>;
|
|
37
41
|
export interface SessionKeyAttestedDecryptArgs {
|
|
38
42
|
chainId: SupportedChainId;
|
|
39
43
|
ephemeralKeypair: Secp256k1Keypair;
|
|
@@ -43,6 +47,8 @@ export interface SessionKeyAttestedDecryptArgs {
|
|
|
43
47
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
44
48
|
reencryptPubKey?: Uint8Array | undefined;
|
|
45
49
|
reencryptKeypair?: Secp256k1Keypair | undefined;
|
|
50
|
+
ethClient?: PublicClient<Transport, Chain> | WalletClient<Transport, Chain, Account> | undefined;
|
|
51
|
+
executorAddress?: HexString | undefined;
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
48
54
|
* Performs attested decrypts using a voucher-backed session key.
|
|
@@ -74,4 +80,4 @@ export interface SessionKeyAttestedDecryptArgs {
|
|
|
74
80
|
* );
|
|
75
81
|
* ```
|
|
76
82
|
*/
|
|
77
|
-
export declare function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, reencryptPubKey, reencryptKeypair, }: SessionKeyAttestedDecryptArgs): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType> | EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
83
|
+
export declare function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, reencryptPubKey, reencryptKeypair, ethClient, executorAddress, }: SessionKeyAttestedDecryptArgs): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType> | EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
@@ -18,6 +18,7 @@ const index_js_3 = require("../reencryption/index.js");
|
|
|
18
18
|
const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
|
|
19
19
|
const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
|
|
20
20
|
const types_pb_js_1 = require("../generated/es/inco/kms/lite/v1/types_pb.js");
|
|
21
|
+
const handle_js_1 = require("../handle.js");
|
|
21
22
|
// Given a sharer's wallet client, an incoLite contract address, and a
|
|
22
23
|
// (verifyingContract, callFunction, sharerArgData) tuple, this function
|
|
23
24
|
// creates an AllowanceVoucher.
|
|
@@ -88,10 +89,11 @@ async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWalletCli
|
|
|
88
89
|
}
|
|
89
90
|
// The sessionKeyAttestedCompute function is a decryptor that uses a session key
|
|
90
91
|
// to compute on a handle.
|
|
91
|
-
async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsQuorumClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
|
|
92
|
+
async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsQuorumClient, ephemeralKeypair, allowanceVoucherWithSig, ethClient, executorAddress, reencryptPubKey, reencryptKeypair, }) {
|
|
92
93
|
const requesterAccount = (0, accounts_1.privateKeyToAccount)(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
|
|
93
94
|
const rhsPlaintextBig = BigInt(rhsPlaintext);
|
|
94
|
-
const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0,
|
|
95
|
+
const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, handle_js_1.getHandleType)(lhsHandle), rhsPlaintextBig);
|
|
96
|
+
const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, index_js_2.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION, ethClient);
|
|
95
97
|
// Sign the EIP712 attesting that the requester has access to the private key
|
|
96
98
|
// corresponding to the ephemeral public key.
|
|
97
99
|
const eip712Payload = (0, index_js_3.createEIP712Payload)({
|
|
@@ -101,23 +103,26 @@ async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffC
|
|
|
101
103
|
{ name: 'op', type: 'uint8' },
|
|
102
104
|
{ name: 'lhsHandle', type: 'bytes32' },
|
|
103
105
|
{ name: 'rhsPlaintext', type: 'bytes32' },
|
|
106
|
+
{ name: 'publicKey', type: 'bytes' },
|
|
104
107
|
],
|
|
105
108
|
message: {
|
|
106
109
|
op: op,
|
|
107
110
|
lhsHandle: lhsHandle,
|
|
108
111
|
rhsPlaintext: (0, index_js_1.bigintToBytes32)(rhsPlaintextBig),
|
|
112
|
+
publicKey: (0, viem_1.bytesToHex)(reencryptPubKey ? reencryptPubKey : new Uint8Array()),
|
|
109
113
|
},
|
|
110
114
|
domainName: index_js_2.ATTESTED_COMPUTE_DOMAIN_NAME,
|
|
111
|
-
domainVersion:
|
|
115
|
+
domainVersion: eip712DomainVersion,
|
|
112
116
|
});
|
|
113
117
|
// Since the account is an ephemeral keypair stored in memory (not in Metamask),
|
|
114
118
|
// this step will NOT prompt the user with a pop-up.
|
|
115
119
|
const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
|
|
116
120
|
const attestedComputeRequest = (0, protobuf_1.create)(kms_service_pb_js_1.AttestedComputeRequestSchema, {
|
|
117
121
|
userAddress: requesterAccount.address,
|
|
122
|
+
reencryptPubKey: reencryptPubKey ? reencryptPubKey : new Uint8Array(),
|
|
118
123
|
op: op,
|
|
119
124
|
lhsHandle: lhsHandle,
|
|
120
|
-
rhsPlaintext:
|
|
125
|
+
rhsPlaintext: rhsPlaintextBig.toString(16),
|
|
121
126
|
eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
|
|
122
127
|
aclProof: {
|
|
123
128
|
proof: {
|
|
@@ -140,6 +145,11 @@ async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffC
|
|
|
140
145
|
},
|
|
141
146
|
});
|
|
142
147
|
let response = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig);
|
|
148
|
+
// If reencryptPubKey is provided with a keypair, decrypt the encrypted attestation
|
|
149
|
+
if (reencryptPubKey && reencryptKeypair) {
|
|
150
|
+
const [decryptedAttestation] = await (0, attested_decrypt_js_1.decryptEncryptedAttestations)([response], reencryptKeypair);
|
|
151
|
+
return decryptedAttestation;
|
|
152
|
+
}
|
|
143
153
|
return response;
|
|
144
154
|
}
|
|
145
155
|
/**
|
|
@@ -172,8 +182,9 @@ async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffC
|
|
|
172
182
|
* );
|
|
173
183
|
* ```
|
|
174
184
|
*/
|
|
175
|
-
async function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, reencryptPubKey, reencryptKeypair, }) {
|
|
185
|
+
async function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, reencryptPubKey, reencryptKeypair, ethClient, executorAddress, }) {
|
|
176
186
|
const requesterAccount = (0, accounts_1.privateKeyToAccount)(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
|
|
187
|
+
const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, index_js_2.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION, ethClient);
|
|
177
188
|
// Sign the EIP712 attesting that the requester has access to the private key
|
|
178
189
|
// corresponding to the ephemeral public key.
|
|
179
190
|
const eip712Payload = (0, index_js_3.createEIP712Payload)({
|
|
@@ -188,7 +199,7 @@ async function sessionKeyAttestedDecrypt({ chainId, kmsQuorumClient, handles, ep
|
|
|
188
199
|
publicKey: (0, viem_1.bytesToHex)(reencryptPubKey ? reencryptPubKey : Uint8Array.from([])),
|
|
189
200
|
},
|
|
190
201
|
domainName: index_js_2.ATTESTED_DECRYPT_DOMAIN_NAME,
|
|
191
|
-
domainVersion:
|
|
202
|
+
domainVersion: eip712DomainVersion,
|
|
192
203
|
});
|
|
193
204
|
// Since the account is an ephemeral keypair stored in memory (not in Metamask),
|
|
194
205
|
// this step will NOT prompt the user with a pop-up.
|
|
@@ -292,4 +303,4 @@ async function getIncoVerifier(incoLiteAddress, walletClient) {
|
|
|
292
303
|
client: walletClient,
|
|
293
304
|
});
|
|
294
305
|
}
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFvRkEsd0RBcUJDO0FBd0JELDBDQWlFQztBQUVELDRFQU9DO0FBMEJELDhEQXlGQztBQXVERCw4REE4RkM7QUFuZEQsaURBQTRDO0FBQzVDLCtCQVljO0FBQ2QsNENBQW9EO0FBTXBELCtEQUtxQztBQUNyQyxpRkFHZ0Q7QUFDaEQsaUVBR3dDO0FBQ3hDLCtEQUFnRTtBQUNoRSwwQ0FBd0U7QUFPeEUsK0NBSzBCO0FBQzFCLHVEQUErRDtBQUsvRCxnRkFBc0Y7QUFDdEYsMEZBRzREO0FBQzVELDhFQUtzRDtBQWtCdEQsc0VBQXNFO0FBQ3RFLHdFQUF3RTtBQUN4RSwrQkFBK0I7QUFDeEIsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxlQUF3QixFQUN4QixrQkFBMkQsRUFDM0QsaUJBQTBCLEVBQzFCLFlBQWlCLEVBQ2pCLGFBQWtCO0lBRWxCLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRTVFLDBFQUEwRTtJQUMxRSx3Q0FBd0M7SUFDeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDO1FBQ3JFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPO0tBQ25DLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixhQUFhO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUF1QkQsbURBQW1EO0FBQzVDLEtBQUssVUFBVSxlQUFlLENBQUMsRUFDcEMsT0FBTyxFQUNQLGVBQWUsRUFDZiw4QkFBOEIsRUFDOUIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixTQUFTLEdBQ1c7SUFDcEIsTUFBTSxPQUFPLEdBQUc7UUFDZCxTQUFTLEVB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
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5RkEsd0RBcUJDO0FBd0JELDBDQWlFQztBQUVELDRFQU9DO0FBdUNELDhEQXFIQztBQWdFRCw4REFzR0M7QUFsaEJELGlEQUE0QztBQUM1QywrQkFhYztBQUNkLDRDQUFvRDtBQU1wRCwrREFLcUM7QUFDckMsaUZBR2dEO0FBQ2hELGlFQUd3QztBQUN4QywrREFBZ0U7QUFDaEUsMENBQXlEO0FBT3pELCtDQUswQjtBQUMxQix1REFBK0Q7QUFLL0QsZ0ZBR2dEO0FBQ2hELDBGQUc0RDtBQUM1RCw4RUFLc0Q7QUFDdEQsNENBQTZDO0FBa0I3QyxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLCtCQUErQjtBQUN4QixLQUFLLFVBQVUsc0JBQXNCLENBQzFDLGVBQXdCLEVBQ3hCLGtCQUEyRCxFQUMzRCxpQkFBMEIsRUFDMUIsWUFBaUIsRUFDakIsYUFBa0I7SUFFbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFNUUsMEVBQTBFO0lBQzFFLHdDQUF3QztJQUN4QyxNQUFNLFlBQVksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUM7UUFDckUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU87S0FDbkMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGFBQWE7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQXVCRCxtREFBbUQ7QUFDNUMsS0FBSyxVQUFVLGVBQWUsQ0FBQyxFQUNwQyxPQUFPLEVBQ1AsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVztJQUNwQixNQUFNLE9BQU8sR0FB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
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
|
2
|
-
import { DecryptionAttestation } from '../attesteddecrypt/types.js';
|
|
2
|
+
import { DecryptionAttestation, EncryptedDecryptionAttestation } from '../attesteddecrypt/types.js';
|
|
3
3
|
import { HexString } from '../binary.js';
|
|
4
4
|
import { SupportedChainId } from '../chain.js';
|
|
5
|
-
import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
|
5
|
+
import type { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
|
6
6
|
import { KmsQuorumClient } from '../kms/quorumClient.js';
|
|
7
|
+
import type { Secp256k1Keypair } from '../lite/ecies.js';
|
|
7
8
|
import type { BackoffConfig } from '../retry.js';
|
|
8
9
|
import { AttestedComputeOP } from './types.js';
|
|
9
10
|
export declare const ATTESTED_COMPUTE_DOMAIN_NAME = "IncoAttestedCompute";
|
|
10
|
-
export declare const
|
|
11
|
+
export declare const DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = "2";
|
|
11
12
|
/**
|
|
12
13
|
* Arguments for creating an attested compute.
|
|
13
14
|
*/
|
|
@@ -27,7 +28,8 @@ export interface IncoLiteAttestedComputeArgs {
|
|
|
27
28
|
*
|
|
28
29
|
* @todo Support multiple operations in a single request.
|
|
29
30
|
*/
|
|
30
|
-
export declare function attestedCompute<T extends SupportedFheType>({ lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, }: {
|
|
31
|
+
export declare function attestedCompute<T extends SupportedFheType>({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, reencryptPubKey, reencryptKeypair, }: {
|
|
32
|
+
executorAddress: HexString;
|
|
31
33
|
lhsHandle: HexString;
|
|
32
34
|
op: AttestedComputeOP;
|
|
33
35
|
rhsPlaintext: bigint | boolean;
|
|
@@ -35,4 +37,30 @@ export declare function attestedCompute<T extends SupportedFheType>({ lhsHandle,
|
|
|
35
37
|
walletClient: WalletClient<Transport, Chain, Account>;
|
|
36
38
|
kmsQuorumClient: KmsQuorumClient;
|
|
37
39
|
chainId: SupportedChainId;
|
|
40
|
+
reencryptPubKey: Uint8Array;
|
|
41
|
+
reencryptKeypair: Secp256k1Keypair;
|
|
42
|
+
}): Promise<DecryptionAttestation<EciesScheme, T>>;
|
|
43
|
+
export declare function attestedCompute<T extends SupportedFheType>({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, reencryptPubKey, }: {
|
|
44
|
+
executorAddress: HexString;
|
|
45
|
+
lhsHandle: HexString;
|
|
46
|
+
op: AttestedComputeOP;
|
|
47
|
+
rhsPlaintext: bigint | boolean;
|
|
48
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
49
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
|
50
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
51
|
+
chainId: SupportedChainId;
|
|
52
|
+
reencryptPubKey: Uint8Array;
|
|
53
|
+
reencryptKeypair?: never;
|
|
54
|
+
}): Promise<EncryptedDecryptionAttestation<EciesScheme, T>>;
|
|
55
|
+
export declare function attestedCompute<T extends SupportedFheType>({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, }: {
|
|
56
|
+
executorAddress: HexString;
|
|
57
|
+
lhsHandle: HexString;
|
|
58
|
+
op: AttestedComputeOP;
|
|
59
|
+
rhsPlaintext: bigint | boolean;
|
|
60
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
61
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
|
62
|
+
kmsQuorumClient: KmsQuorumClient;
|
|
63
|
+
chainId: SupportedChainId;
|
|
64
|
+
reencryptPubKey?: never;
|
|
65
|
+
reencryptKeypair?: never;
|
|
38
66
|
}): Promise<DecryptionAttestation<EciesScheme, T>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = exports.ATTESTED_COMPUTE_DOMAIN_NAME = void 0;
|
|
4
4
|
exports.attestedCompute = attestedCompute;
|
|
5
5
|
const protobuf_1 = require("@bufbuild/protobuf");
|
|
6
6
|
const viem_1 = require("viem");
|
|
@@ -10,16 +10,8 @@ const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_servic
|
|
|
10
10
|
const eip712_js_1 = require("../reencryption/eip712.js");
|
|
11
11
|
const types_js_1 = require("./types.js");
|
|
12
12
|
exports.ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
|
|
13
|
-
exports.
|
|
14
|
-
|
|
15
|
-
* Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
|
|
16
|
-
* @param args - The arguments for creating the attested compute function
|
|
17
|
-
* @returns A function that can perform binary operation on a handle and return an attestation
|
|
18
|
-
* @throws {AttestedComputeError} If the creation fails
|
|
19
|
-
*
|
|
20
|
-
* @todo Support multiple operations in a single request.
|
|
21
|
-
*/
|
|
22
|
-
async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, }) {
|
|
13
|
+
exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION = '2';
|
|
14
|
+
async function attestedCompute({ executorAddress, lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsQuorumClient, chainId, reencryptPubKey, reencryptKeypair, }) {
|
|
23
15
|
try {
|
|
24
16
|
(0, attested_decrypt_js_1.validateHandle)(lhsHandle);
|
|
25
17
|
const rhsPlaintextBig = typeof rhsPlaintext === 'boolean'
|
|
@@ -27,6 +19,7 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
|
|
|
27
19
|
? 1n
|
|
28
20
|
: 0n
|
|
29
21
|
: BigInt(rhsPlaintext);
|
|
22
|
+
const eip712DomainVersion = await (0, attested_decrypt_js_1.fetchEip712DomainVersion)(executorAddress, exports.DEFAULT_ATTESTED_COMPUTE_DOMAIN_VERSION, walletClient);
|
|
30
23
|
// Create the EIP712 payload for the handles to decrypt
|
|
31
24
|
const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
|
|
32
25
|
chainId: BigInt(chainId),
|
|
@@ -35,19 +28,22 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
|
|
|
35
28
|
{ name: 'op', type: 'uint8' },
|
|
36
29
|
{ name: 'lhsHandle', type: 'bytes32' },
|
|
37
30
|
{ name: 'rhsPlaintext', type: 'bytes32' },
|
|
31
|
+
{ name: 'publicKey', type: 'bytes' },
|
|
38
32
|
],
|
|
39
33
|
message: {
|
|
40
34
|
op: op,
|
|
41
35
|
lhsHandle: lhsHandle,
|
|
42
36
|
rhsPlaintext: (0, binary_js_1.bigintToBytes32)(rhsPlaintextBig),
|
|
37
|
+
publicKey: (0, viem_1.bytesToHex)(reencryptPubKey ? reencryptPubKey : new Uint8Array()),
|
|
43
38
|
},
|
|
44
39
|
domainName: exports.ATTESTED_COMPUTE_DOMAIN_NAME,
|
|
45
|
-
domainVersion:
|
|
40
|
+
domainVersion: eip712DomainVersion,
|
|
46
41
|
});
|
|
47
42
|
// Sign the EIP712 message
|
|
48
43
|
const eip712Signature = await walletClient.signTypedData(eip712Payload);
|
|
49
44
|
const attestedComputeRequest = (0, protobuf_1.create)(kms_service_pb_js_1.AttestedComputeRequestSchema, {
|
|
50
45
|
userAddress: walletClient.account.address,
|
|
46
|
+
reencryptPubKey: reencryptPubKey ? reencryptPubKey : new Uint8Array(),
|
|
51
47
|
op: op,
|
|
52
48
|
lhsHandle: lhsHandle,
|
|
53
49
|
rhsPlaintext: rhsPlaintextBig.toString(16),
|
|
@@ -60,6 +56,10 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
|
|
|
60
56
|
},
|
|
61
57
|
});
|
|
62
58
|
let decryptionAttestation = await kmsQuorumClient.attestedCompute(attestedComputeRequest, backoffConfig);
|
|
59
|
+
if (reencryptPubKey && reencryptKeypair) {
|
|
60
|
+
const [decryptedAttestation] = await (0, attested_decrypt_js_1.decryptEncryptedAttestations)([decryptionAttestation], reencryptKeypair);
|
|
61
|
+
return decryptedAttestation;
|
|
62
|
+
}
|
|
63
63
|
return decryptionAttestation;
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
@@ -69,4 +69,4 @@ async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, wal
|
|
|
69
69
|
throw new types_js_1.AttestedComputeError('Failed to perform attested compute', error);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEySEEsMENBMkdDO0FBdE9ELGlEQUE0QztBQUU1QywrQkFBOEM7QUFDOUMsZ0ZBSWdEO0FBS2hELDRDQUEwRDtBQU0xRCwwRkFHNEQ7QUFHNUQseURBQWdFO0FBRWhFLHlDQUFxRTtBQUV4RCxRQUFBLDRCQUE0QixHQUFHLHFCQUFxQixDQUFDO0FBQ3JELFFBQUEsdUNBQXVDLEdBQUcsR0FBRyxDQUFDO0FBOEZwRCxLQUFLLFVBQVUsZUFBZSxDQUE2QixFQUNoRSxlQUFlLEVBQ2YsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixlQUFlLEVBQ2YsT0FBTyxFQUNQLGVBQWUsRUFDZixnQkFBZ0IsR0FZakI7SUFJQyxJQUFJLENBQUM7UUFDSCxJQUFBLG9DQUFjLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUIsTUFBTSxlQUFlLEdBQ25CLE9BQU8sWUFBWSxLQUFLLFNBQVM7WUFDL0IsQ0FBQyxDQUFDLFlBQVk7Z0JBQ1osQ0FBQyxDQUFDLEVBQUU7Z0JBQ0osQ0FBQyxDQUFDLEVBQUU7WUFDTixDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTNCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFBLDhDQUF3QixFQUN4RCxlQUFlLEVBQ2YsK0NBQXVDLEVBQ3ZDLFlBQVksQ0FDYixDQUFDO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUEsK0JBQW1CLEVBQUM7WUFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDeEIsV0FBVyxFQUFFLHdCQUF3QjtZQUNyQyxpQkFBaUIsRUFBRTtnQkFDakIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQzdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUN0QyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFDekMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7YUFDckM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFlBQVksRUFBRSxJQUFBLDJCQUFlLEVBQUMsZUFBZSxDQUFDO2dCQUM5QyxTQUFTLEVBQUUsSUFBQSxpQkFBVSxFQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FDckQ7YUFDRjtZQUNELFVBQVUsRUFBRSxvQ0FBNEI7WUFDeEMsYUFBYSxFQUFFLG1CQUFtQjtTQUNuQyxDQUFDLENBQUM7UUFFSCwwQkFBMEI7UUFDMUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhFLE1BQU0sc0JBQXNCLEdBQTJCLElBQUEsaUJBQU0sRUFDM0QsZ0RBQTRCLEVBQzVCO1lBQ0UsV0FBVyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUN6QyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFO1lBQ3JFLEVBQUUsRUFBRSxFQUFFO1lBQ04sU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFDLGVBQWUsRUFBRSxJQUFBLGlCQUFVLEVBQUMsZUFBZSxDQUFDO1lBQzVDLFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsS0FBSyxFQUFFLEVBQUU7aUJBQ1Y7YUFDRjtTQUNGLENBQ0YsQ0FBQztRQUVGLElBQUkscUJBQXFCLEdBQUcsTUFBTSxlQUFlLENBQUMsZUFBZSxDQUMvRCxzQkFBc0IsRUFDdEIsYUFBYSxDQUNkLENBQUM7UUFFRixJQUFJLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sSUFBQSxrREFBNEIsRUFDL0QsQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QixnQkFBZ0IsQ0FDakIsQ0FBQztZQUNGLE9BQU8sb0JBQTZELENBQUM7UUFDdkUsQ0FBQztRQUVELE9BQU8scUJBRTJDLENBQUM7SUFDckQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssWUFBWSwrQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sSUFBSSwrQkFBb0IsQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
|
1
|
+
import type { Account, Chain, PublicClient, Transport, WalletClient } from 'viem';
|
|
2
2
|
import { type HexString } from '../binary.js';
|
|
3
3
|
import { type SupportedChainId } from '../chain.js';
|
|
4
4
|
import { type EciesScheme, type SupportedFheType } from '../encryption/encryption.js';
|
|
@@ -7,7 +7,8 @@ import type { Secp256k1Keypair } from '../lite/ecies.js';
|
|
|
7
7
|
import type { BackoffConfig } from '../retry.js';
|
|
8
8
|
import { type DecryptionAttestation, type EncryptedDecryptionAttestation } from './types.js';
|
|
9
9
|
export declare const ATTESTED_DECRYPT_DOMAIN_NAME = "IncoAttestedDecrypt";
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = "2";
|
|
11
|
+
export declare const TEST_RPC_URL = "UNUSED IN TEST";
|
|
11
12
|
/**
|
|
12
13
|
* Arguments for creating an attested decrypt request.
|
|
13
14
|
*/
|
|
@@ -27,11 +28,12 @@ export interface IncoLiteAttestedDecryptorArgs {
|
|
|
27
28
|
* @returns A function that can decrypt handles and return an attestation
|
|
28
29
|
* @throws {AttestedDecryptError} If the creation fails
|
|
29
30
|
*/
|
|
30
|
-
export declare function attestedDecrypt({ handles, backoffConfig, chainId, kmsQuorumClient, }: {
|
|
31
|
+
export declare function attestedDecrypt({ handles, backoffConfig, chainId, kmsQuorumClient, executorAddress, }: {
|
|
31
32
|
handles: HexString[];
|
|
32
33
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
33
34
|
chainId: SupportedChainId;
|
|
34
35
|
kmsQuorumClient: KmsQuorumClient;
|
|
36
|
+
executorAddress: HexString;
|
|
35
37
|
}): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
36
38
|
/**
|
|
37
39
|
* Decrypt multiple handles in a single attested request.
|
|
@@ -41,7 +43,7 @@ export declare function attestedDecrypt({ handles, backoffConfig, chainId, kmsQu
|
|
|
41
43
|
* @returns A function that can decrypt handles and return an attestation
|
|
42
44
|
* @throws {AttestedDecryptError} If the creation fails
|
|
43
45
|
*/
|
|
44
|
-
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, }: {
|
|
46
|
+
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, executorAddress, }: {
|
|
45
47
|
handles: HexString[];
|
|
46
48
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
47
49
|
walletClient: WalletClient<Transport, Chain, Account>;
|
|
@@ -49,6 +51,7 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
49
51
|
reencryptPubKey: Uint8Array;
|
|
50
52
|
reencryptKeypair: Secp256k1Keypair;
|
|
51
53
|
kmsQuorumClient: KmsQuorumClient;
|
|
54
|
+
executorAddress: HexString;
|
|
52
55
|
}): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
53
56
|
/**
|
|
54
57
|
* Decrypt multiple handles in a single attested request.
|
|
@@ -58,7 +61,7 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
58
61
|
* @returns A function that can decrypt handles and return an attestation
|
|
59
62
|
* @throws {AttestedDecryptError} If the creation fails
|
|
60
63
|
*/
|
|
61
|
-
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, kmsQuorumClient, }: {
|
|
64
|
+
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, kmsQuorumClient, executorAddress, }: {
|
|
62
65
|
handles: HexString[];
|
|
63
66
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
64
67
|
walletClient: WalletClient<Transport, Chain, Account>;
|
|
@@ -66,6 +69,7 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
66
69
|
reencryptPubKey: Uint8Array;
|
|
67
70
|
reencryptKeypair?: never;
|
|
68
71
|
kmsQuorumClient: KmsQuorumClient;
|
|
72
|
+
executorAddress: HexString;
|
|
69
73
|
}): Promise<Array<EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
70
74
|
/**
|
|
71
75
|
* Decrypt multiple handles in a single attested request.
|
|
@@ -75,7 +79,7 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
75
79
|
* @returns A function that can decrypt handles and return an attestation
|
|
76
80
|
* @throws {AttestedDecryptError} If the creation fails
|
|
77
81
|
*/
|
|
78
|
-
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, kmsQuorumClient, }: {
|
|
82
|
+
export declare function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, kmsQuorumClient, executorAddress, }: {
|
|
79
83
|
handles: HexString[];
|
|
80
84
|
backoffConfig?: Partial<BackoffConfig> | undefined;
|
|
81
85
|
walletClient: WalletClient<Transport, Chain, Account>;
|
|
@@ -83,7 +87,9 @@ export declare function attestedDecrypt({ handles, backoffConfig, walletClient,
|
|
|
83
87
|
reencryptPubKey?: never;
|
|
84
88
|
reencryptKeypair?: never;
|
|
85
89
|
kmsQuorumClient: KmsQuorumClient;
|
|
90
|
+
executorAddress: HexString;
|
|
86
91
|
}): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
92
|
+
export declare function fetchEip712DomainVersion(executorAddress: HexString | undefined, defaultVersion: string, walletClient?: WalletClient<Transport, Chain, Account> | PublicClient<Transport, Chain>): Promise<string>;
|
|
87
93
|
export declare function decryptEncryptedAttestations(attestations: Array<DecryptionAttestation<EciesScheme, SupportedFheType> | EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>, reencryptKeypair: Secp256k1Keypair): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
|
88
94
|
/**
|
|
89
95
|
* Validates a handle format.
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TEST_RPC_URL = exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = exports.ATTESTED_DECRYPT_DOMAIN_NAME = void 0;
|
|
4
4
|
exports.attestedDecrypt = attestedDecrypt;
|
|
5
|
+
exports.fetchEip712DomainVersion = fetchEip712DomainVersion;
|
|
5
6
|
exports.decryptEncryptedAttestations = decryptEncryptedAttestations;
|
|
6
7
|
exports.validateHandle = validateHandle;
|
|
7
8
|
const protobuf_1 = require("@bufbuild/protobuf");
|
|
8
9
|
const viem_1 = require("viem");
|
|
9
10
|
const binary_js_1 = require("../binary.js");
|
|
10
11
|
const encryption_js_1 = require("../encryption/encryption.js");
|
|
12
|
+
const lightning_js_1 = require("../generated/abis/lightning.js");
|
|
13
|
+
const verifier_js_1 = require("../generated/abis/verifier.js");
|
|
11
14
|
const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
|
|
12
15
|
const types_pb_js_1 = require("../generated/es/inco/kms/lite/v1/types_pb.js");
|
|
13
16
|
const handle_js_1 = require("../handle.js");
|
|
@@ -15,7 +18,10 @@ const ecies_js_1 = require("../lite/ecies.js");
|
|
|
15
18
|
const eip712_js_1 = require("../reencryption/eip712.js");
|
|
16
19
|
const types_js_1 = require("./types.js");
|
|
17
20
|
exports.ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
|
|
18
|
-
|
|
21
|
+
// This version should match the return value of GetEIP712Version() in IncoVerifier and is used as fallback value in case run in tests (where walletClient is mocked)
|
|
22
|
+
exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION = '2';
|
|
23
|
+
// This magic RPC url is used in tests to detect a mock client (which cannot make real on-chain calls)
|
|
24
|
+
exports.TEST_RPC_URL = 'UNUSED IN TEST';
|
|
19
25
|
/**
|
|
20
26
|
* Decrypt multiple handles in a single attested request.
|
|
21
27
|
* Returns an array of attestations aligned with the response ordering.
|
|
@@ -24,10 +30,12 @@ exports.ATTESTED_DECRYPT_DOMAIN_VERSION = '1';
|
|
|
24
30
|
* @returns A function that can decrypt handles and return an attestation
|
|
25
31
|
* @throws {AttestedDecryptError} If the creation fails
|
|
26
32
|
*/
|
|
27
|
-
async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, }) {
|
|
33
|
+
async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId, reencryptPubKey, reencryptKeypair, kmsQuorumClient, executorAddress, }) {
|
|
28
34
|
try {
|
|
29
35
|
handles.forEach(validateHandle);
|
|
30
|
-
const eip712Payload = buildEip712Payload({
|
|
36
|
+
const eip712Payload = await buildEip712Payload({
|
|
37
|
+
executorAddress,
|
|
38
|
+
...(walletClient ? { walletClient } : {}),
|
|
31
39
|
chainId,
|
|
32
40
|
handles,
|
|
33
41
|
...(reencryptPubKey !== undefined ? { reencryptPubKey } : {}),
|
|
@@ -65,8 +73,33 @@ async function attestedDecrypt({ handles, backoffConfig, walletClient, chainId,
|
|
|
65
73
|
throw new types_js_1.AttestedDecryptError('Failed to decrypt handles', error);
|
|
66
74
|
}
|
|
67
75
|
}
|
|
76
|
+
// Fetches EIP712 domain version from on-chain verifier if walletClient is provided
|
|
77
|
+
async function fetchEip712DomainVersion(executorAddress, defaultVersion, walletClient) {
|
|
78
|
+
let eip712DomainVersion;
|
|
79
|
+
if (walletClient &&
|
|
80
|
+
executorAddress &&
|
|
81
|
+
walletClient.transport.url !== exports.TEST_RPC_URL) {
|
|
82
|
+
const lightning = (0, viem_1.getContract)({
|
|
83
|
+
address: executorAddress,
|
|
84
|
+
abi: lightning_js_1.incoLightningAbi,
|
|
85
|
+
client: walletClient,
|
|
86
|
+
});
|
|
87
|
+
const incoVerifierAddress = await lightning.read.incoVerifier();
|
|
88
|
+
const verifier = (0, viem_1.getContract)({
|
|
89
|
+
address: incoVerifierAddress,
|
|
90
|
+
abi: verifier_js_1.incoVerifierAbi,
|
|
91
|
+
client: walletClient,
|
|
92
|
+
});
|
|
93
|
+
eip712DomainVersion = await verifier.read.getEIP712Version();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
eip712DomainVersion = defaultVersion;
|
|
97
|
+
}
|
|
98
|
+
return eip712DomainVersion;
|
|
99
|
+
}
|
|
68
100
|
// Small helpers to make the main flow readable
|
|
69
|
-
function buildEip712Payload(params) {
|
|
101
|
+
async function buildEip712Payload(params) {
|
|
102
|
+
const eip712DomainVersion = await fetchEip712DomainVersion(params.executorAddress, exports.DEFAULT_ATTESTED_DECRYPT_DOMAIN_VERSION, params.walletClient);
|
|
70
103
|
return (0, eip712_js_1.createEIP712Payload)({
|
|
71
104
|
chainId: BigInt(params.chainId),
|
|
72
105
|
primaryType: 'AttestedDecryptRequest',
|
|
@@ -79,7 +112,7 @@ function buildEip712Payload(params) {
|
|
|
79
112
|
publicKey: (0, viem_1.bytesToHex)(params.reencryptPubKey ? params.reencryptPubKey : new Uint8Array()),
|
|
80
113
|
},
|
|
81
114
|
domainName: exports.ATTESTED_DECRYPT_DOMAIN_NAME,
|
|
82
|
-
domainVersion:
|
|
115
|
+
domainVersion: eip712DomainVersion,
|
|
83
116
|
});
|
|
84
117
|
}
|
|
85
118
|
async function signEip712(walletClient, eip712Payload) {
|
|
@@ -140,4 +173,4 @@ function validateHandle(handle) {
|
|
|
140
173
|
throw new types_js_1.AttestedDecryptError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
|
|
141
174
|
}
|
|
142
175
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpTEEsMENBcUZDO0FBR0QsNERBZ0NDO0FBMkVELG9FQTBDQztBQU9ELHdDQU1DO0FBM2FELGlEQUE0QztBQVE1QywrQkFBMkQ7QUFDM0QsNENBQTZEO0FBRTdELCtEQUtxQztBQUNyQyxpRUFBa0U7QUFDbEUsK0RBQWdFO0FBQ2hFLDBGQUs0RDtBQUM1RCw4RUFHc0Q7QUFDdEQsNENBQTZDO0FBRzdDLCtDQUEyQztBQUMzQyx5REFBZ0U7QUFFaEUseUNBSW9CO0FBRVAsUUFBQSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRSxxS0FBcUs7QUFDeEosUUFBQSx1Q0FBdUMsR0FBRyxHQUFHLENBQUM7QUFFM0Qsc0dBQXNHO0FBQ3pGLFFBQUEsWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBMkg3Qzs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FBQyxFQUNwQyxPQUFPLEVBQ1AsYUFBYSxFQUNiLFlBQVksRUFDWixPQUFPLEVBQ1AsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsZUFBZSxHQVVoQjtJQU1DLElBQUksQ0FBQztRQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztZQUM3QyxlQUFlO1lBQ2YsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU87WUFDUCxPQUFPO1lBQ1AsR0FBRyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUM5RCxDQUFDLENBQUM7UUFFSCxJQUFJLFFBR0gsQ0FBQztRQUVGLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLFVBQVUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFekUsTUFBTSxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUxRCxNQUFNLHNCQUFzQixHQUFHLDJCQUEyQixDQUFDO2dCQUN6RCxXQUFXLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUN6QyxpQkFBaUI7Z0JBQ2pCLGVBQWUsRUFBRSxJQUFBLGlCQUFVLEVBQUMsa0JBQWtCLENBQUM7Z0JBQy9DLEdBQUcsQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDOUQsQ0FBQyxDQUFDO1lBRUgsb0VBQW9FO1lBQ3BFLHVFQUF1RTtZQUN2RSxRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsZUFBZSxDQUM5QyxzQkFBc0IsRUFDdEIsYUFBYSxDQUNkLENBQUM7WUFDRixvRkFBb0Y7WUFDcEYsSUFBSSxlQUFlLEtBQUssU0FBUyxJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RELFFBQVEsR0FBRyxNQUFNLDRCQUE0QixDQUMzQyxRQUFRLEVBQ1IsZ0JBQWdCLENBQ2pCLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLHFCQUFxQixHQUEwQixJQUFBLGlCQUFNLEVBQ3pELCtDQUEyQixFQUMzQjtnQkFDRSxPQUFPLEVBQUUsT0FBTzthQUNqQixDQUNGLENBQUM7WUFDRixRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsY0FBYyxDQUM3QyxxQkFBcUIsRUFDckIsYUFBYSxDQUNkLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssWUFBWSwrQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sSUFBSSwrQkFBb0IsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0FBQ0gsQ0FBQztBQUVELG1GQUFtRjtBQUM1RSxLQUFLLFVBQVUsd0JBQXdCLENBQzVDLGVBQXNDLEVBQ3RDLGNBQXNCLEVBQ3RCLFlBRWtDO0lBRWxDLElBQUksbUJBQTJCLENBQUM7SUFFaEMsSUFDRSxZQUFZO1FBQ1osZUFBZTtRQUNmLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLG9CQUFZLEVBQzNDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFBLGtCQUFXLEVBQUM7WUFDNUIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsR0FBRyxFQUFFLCtCQUFnQjtZQUNyQixNQUFNLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7UUFFSCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFBLGtCQUFXLEVBQUM7WUFDM0IsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixHQUFHLEVBQUUsNkJBQWU7WUFDcEIsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsbUJBQW1CLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDL0QsQ0FBQztTQUFNLENBQUM7UUFDTixtQkFBbUIsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUNELE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVELCtDQUErQztBQUMvQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsTUFNakM7SUFDQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sd0JBQXdCLENBQ3hELE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLCtDQUF1QyxFQUN2QyxNQUFNLENBQUMsWUFBWSxDQUNwQixDQUFDO0lBRUYsT0FBTyxJQUFBLCtCQUFtQixFQUFDO1FBQ3pCLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixXQUFXLEVBQUUsd0JBQXdCO1FBQ3JDLGlCQUFpQixFQUFFO1lBQ2pCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ3JDO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLFNBQVMsRUFBRSxJQUFBLGlCQUFVLEVBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQ25FO1NBQ0Y7UUFDRCxVQUFVLEVBQUUsb0NBQTRCO1FBQ3hDLGFBQWEsRUFBRSxtQkFBbUI7S0FDbkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQU1ELEtBQUssVUFBVSxVQUFVLENBQ3ZCLFlBQXFELEVBQ3JELGFBQXdDO0lBRXhDLE9BQU8sTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQW9CO0lBQ2xELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzVCLE9BQU8sSUFBQSxpQkFBTSxFQUFDLG1DQUFxQixFQUFFO1lBQ25DLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxNQUtwQztJQUNDLE9BQU8sSUFBQSxpQkFBTSxFQUFDLGdEQUE0QixFQUFFO1FBQzFDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO1FBQzNDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtRQUN2QyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7WUFDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRTtLQUNyQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRU0sS0FBSyxVQUFVLDRCQUE0QixDQUNoRCxZQUdDLEVBQ0QsZ0JBQWtDO0lBRWxDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDN0IsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sR0FBMkQsQ0FBQztRQUNyRSxDQUFDO1FBRUQsK0NBQStDO1FBQy9DLElBQUksb0JBQW9CLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4RSxNQUFNLFlBQVksR0FBRyxHQUdwQixDQUFDO1lBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFBLGtCQUFPLEVBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYSxFQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQWEsRUFBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdEQsT0FBTztnQkFDTCxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU07Z0JBQzNCLFNBQVMsRUFBRSxJQUFBLGlDQUFpQixFQUMxQixpQ0FBaUIsQ0FBQyxLQUFLLEVBQ3ZCLFVBQThCLEVBQzlCLFdBQVcsQ0FDWjtnQkFDRCxxQkFBcUIsRUFBRSxZQUFZLENBQUMscUJBQXFCO2FBQ0YsQ0FBQztRQUM1RCxDQUFDO1FBRUQsTUFBTSxJQUFJLCtCQUFvQixDQUM1QixnREFBZ0QsQ0FDakQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxNQUFpQjtJQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDN0QsTUFBTSxJQUFJLCtCQUFvQixDQUM1QixvRUFBb0UsQ0FDckUsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -16,6 +16,7 @@ export type DecryptionAttestation<S extends EncryptionScheme, T extends Supporte
|
|
|
16
16
|
export type EncryptedDecryptionAttestation<S extends EncryptionScheme, T extends SupportedFheType> = {
|
|
17
17
|
handle: HexString;
|
|
18
18
|
encryptedPlaintext: EncryptResultOf<S, T>;
|
|
19
|
+
encryptedSignatures: Uint8Array[];
|
|
19
20
|
covalidatorSignatures: Uint8Array[];
|
|
20
21
|
};
|
|
21
22
|
export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: AttestedDecryptFnArgs<S, T>) => Promise<DecryptionAttestation<S, T>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
2
2
|
import type { InputCryptogram, StoredCryptogram } from "./types_pb";
|
|
3
|
+
import type { RATlsServer } from "../../../sealingfetcher/v1/sealingfetcher_pb";
|
|
3
4
|
import type { Message } from "@bufbuild/protobuf";
|
|
4
5
|
/**
|
|
5
6
|
* Describes the file inco/covalidator/compute/v1/server.proto.
|
|
@@ -472,6 +473,42 @@ export type InputToStoredCryptogramResponse = Message<"inco.covalidator.compute.
|
|
|
472
473
|
* Use `create(InputToStoredCryptogramResponseSchema)` to create a new message.
|
|
473
474
|
*/
|
|
474
475
|
export declare const InputToStoredCryptogramResponseSchema: GenMessage<InputToStoredCryptogramResponse>;
|
|
476
|
+
/**
|
|
477
|
+
* ConfigureRequest is a request to configure the compute service.
|
|
478
|
+
*
|
|
479
|
+
* @generated from message inco.covalidator.compute.v1.ConfigureRequest
|
|
480
|
+
*/
|
|
481
|
+
export type ConfigureRequest = Message<"inco.covalidator.compute.v1.ConfigureRequest"> & {
|
|
482
|
+
/**
|
|
483
|
+
* The sealing providers to use to fetch the TEE keys.
|
|
484
|
+
*
|
|
485
|
+
* @generated from field: repeated inco.sealingfetcher.v1.RATlsServer sealing_providers = 1;
|
|
486
|
+
*/
|
|
487
|
+
sealingProviders: RATlsServer[];
|
|
488
|
+
};
|
|
489
|
+
/**
|
|
490
|
+
* Describes the message inco.covalidator.compute.v1.ConfigureRequest.
|
|
491
|
+
* Use `create(ConfigureRequestSchema)` to create a new message.
|
|
492
|
+
*/
|
|
493
|
+
export declare const ConfigureRequestSchema: GenMessage<ConfigureRequest>;
|
|
494
|
+
/**
|
|
495
|
+
* ConfigureResponse is a response to ConfigureRequest.
|
|
496
|
+
*
|
|
497
|
+
* @generated from message inco.covalidator.compute.v1.ConfigureResponse
|
|
498
|
+
*/
|
|
499
|
+
export type ConfigureResponse = Message<"inco.covalidator.compute.v1.ConfigureResponse"> & {
|
|
500
|
+
/**
|
|
501
|
+
* True if the compute service was configured successfully.
|
|
502
|
+
*
|
|
503
|
+
* @generated from field: bool success = 1;
|
|
504
|
+
*/
|
|
505
|
+
success: boolean;
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Describes the message inco.covalidator.compute.v1.ConfigureResponse.
|
|
509
|
+
* Use `create(ConfigureResponseSchema)` to create a new message.
|
|
510
|
+
*/
|
|
511
|
+
export declare const ConfigureResponseSchema: GenMessage<ConfigureResponse>;
|
|
475
512
|
/**
|
|
476
513
|
* @generated from enum inco.covalidator.compute.v1.FheOperation
|
|
477
514
|
*/
|
|
@@ -603,6 +640,18 @@ export declare const FheOperationSchema: GenEnum<FheOperation>;
|
|
|
603
640
|
* @generated from service inco.covalidator.compute.v1.ComputeService
|
|
604
641
|
*/
|
|
605
642
|
export declare const ComputeService: GenService<{
|
|
643
|
+
/**
|
|
644
|
+
* Configure contains all necessary configuration to start the compute service
|
|
645
|
+
* which are not part of the MR_AGGREGATED fingerprint. These usually include
|
|
646
|
+
* parameters that are specific to each TEE operator.
|
|
647
|
+
*
|
|
648
|
+
* @generated from rpc inco.covalidator.compute.v1.ComputeService.Configure
|
|
649
|
+
*/
|
|
650
|
+
configure: {
|
|
651
|
+
methodKind: "unary";
|
|
652
|
+
input: typeof ConfigureRequestSchema;
|
|
653
|
+
output: typeof ConfigureResponseSchema;
|
|
654
|
+
};
|
|
606
655
|
/**
|
|
607
656
|
* InputToStoredCryptogram converts an input ciphertext into a compute
|
|
608
657
|
* ciphertext.
|