@inco/js 0.6.9 → 0.7.0

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.
Files changed (105) hide show
  1. package/README.md +8 -8
  2. package/dist/cjs/advancedacl/session-key.d.ts +39 -26
  3. package/dist/cjs/advancedacl/session-key.js +53 -136
  4. package/dist/cjs/attestedcompute/attested-compute.d.ts +6 -6
  5. package/dist/cjs/attestedcompute/attested-compute.js +5 -35
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +36 -21
  7. package/dist/cjs/attesteddecrypt/attested-decrypt.js +107 -108
  8. package/dist/cjs/attesteddecrypt/types.d.ts +4 -4
  9. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +15 -1
  10. package/dist/cjs/generated/es/inco/covalidator/compute/v1/types_pb.js +1 -1
  11. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +13 -5
  12. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +3 -4
  13. package/dist/cjs/generated/lightning.d.ts +40 -0
  14. package/dist/cjs/generated/lightning.js +43 -1
  15. package/dist/cjs/generated/local-node.d.ts +11 -7
  16. package/dist/cjs/generated/local-node.js +28 -8
  17. package/dist/cjs/kms/client.d.ts +8 -4
  18. package/dist/cjs/kms/client.js +9 -4
  19. package/dist/cjs/kms/quorumClient.d.ts +58 -0
  20. package/dist/cjs/kms/quorumClient.js +378 -0
  21. package/dist/cjs/kms/thresholdPromises.d.ts +7 -0
  22. package/dist/cjs/kms/thresholdPromises.js +52 -0
  23. package/dist/cjs/lite/index.d.ts +0 -1
  24. package/dist/cjs/lite/index.js +1 -2
  25. package/dist/cjs/lite/lightning.d.ts +87 -67
  26. package/dist/cjs/lite/lightning.js +231 -100
  27. package/dist/cjs/local/local-node.d.ts +1 -2
  28. package/dist/cjs/local/local-node.js +2 -3
  29. package/dist/cjs/test/mocks.d.ts +3 -0
  30. package/dist/cjs/test/mocks.js +19 -1
  31. package/dist/esm/advancedacl/session-key.d.ts +39 -26
  32. package/dist/esm/advancedacl/session-key.js +44 -126
  33. package/dist/esm/attestedcompute/attested-compute.d.ts +6 -6
  34. package/dist/esm/attestedcompute/attested-compute.js +6 -36
  35. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +36 -21
  36. package/dist/esm/attesteddecrypt/attested-decrypt.js +106 -108
  37. package/dist/esm/attesteddecrypt/types.d.ts +4 -4
  38. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +15 -1
  39. package/dist/esm/generated/es/inco/covalidator/compute/v1/types_pb.js +1 -1
  40. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +13 -5
  41. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +2 -3
  42. package/dist/esm/generated/lightning.d.ts +40 -0
  43. package/dist/esm/generated/lightning.js +43 -1
  44. package/dist/esm/generated/local-node.d.ts +11 -7
  45. package/dist/esm/generated/local-node.js +28 -8
  46. package/dist/esm/kms/client.d.ts +8 -4
  47. package/dist/esm/kms/client.js +8 -4
  48. package/dist/esm/kms/quorumClient.d.ts +58 -0
  49. package/dist/esm/kms/quorumClient.js +374 -0
  50. package/dist/esm/kms/thresholdPromises.d.ts +7 -0
  51. package/dist/esm/kms/thresholdPromises.js +49 -0
  52. package/dist/esm/lite/index.d.ts +0 -1
  53. package/dist/esm/lite/index.js +1 -2
  54. package/dist/esm/lite/lightning.d.ts +87 -67
  55. package/dist/esm/lite/lightning.js +234 -103
  56. package/dist/esm/local/local-node.d.ts +1 -2
  57. package/dist/esm/local/local-node.js +2 -3
  58. package/dist/esm/test/mocks.d.ts +3 -0
  59. package/dist/esm/test/mocks.js +17 -1
  60. package/dist/types/advancedacl/session-key.d.ts +39 -26
  61. package/dist/types/attestedcompute/attested-compute.d.ts +6 -6
  62. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +36 -21
  63. package/dist/types/attesteddecrypt/types.d.ts +4 -4
  64. package/dist/types/generated/es/inco/covalidator/compute/v1/types_pb.d.ts +15 -1
  65. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +13 -5
  66. package/dist/types/generated/lightning.d.ts +40 -0
  67. package/dist/types/generated/local-node.d.ts +11 -7
  68. package/dist/types/kms/client.d.ts +8 -4
  69. package/dist/types/kms/quorumClient.d.ts +58 -0
  70. package/dist/types/kms/thresholdPromises.d.ts +7 -0
  71. package/dist/types/lite/index.d.ts +0 -1
  72. package/dist/types/lite/lightning.d.ts +87 -67
  73. package/dist/types/local/local-node.d.ts +1 -2
  74. package/dist/types/test/mocks.d.ts +3 -0
  75. package/package.json +2 -2
  76. package/dist/cjs/attestedreveal/attested-reveal.d.ts +0 -21
  77. package/dist/cjs/attestedreveal/attested-reveal.js +0 -69
  78. package/dist/cjs/attestedreveal/index.d.ts +0 -1
  79. package/dist/cjs/attestedreveal/index.js +0 -18
  80. package/dist/cjs/attestedreveal/types.d.ts +0 -7
  81. package/dist/cjs/attestedreveal/types.js +0 -16
  82. package/dist/cjs/generated/es/cosmos_proto/cosmos_pb.d.ts +0 -174
  83. package/dist/cjs/generated/es/cosmos_proto/cosmos_pb.js +0 -118
  84. package/dist/cjs/generated/es/inco/fhe/v1/types_pb.d.ts +0 -419
  85. package/dist/cjs/generated/es/inco/fhe/v1/types_pb.js +0 -136
  86. package/dist/cjs/lite/reencrypt.d.ts +0 -21
  87. package/dist/cjs/lite/reencrypt.js +0 -141
  88. package/dist/esm/attestedreveal/attested-reveal.d.ts +0 -21
  89. package/dist/esm/attestedreveal/attested-reveal.js +0 -66
  90. package/dist/esm/attestedreveal/index.d.ts +0 -1
  91. package/dist/esm/attestedreveal/index.js +0 -2
  92. package/dist/esm/attestedreveal/types.d.ts +0 -7
  93. package/dist/esm/attestedreveal/types.js +0 -12
  94. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +0 -174
  95. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +0 -115
  96. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +0 -419
  97. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +0 -133
  98. package/dist/esm/lite/reencrypt.d.ts +0 -21
  99. package/dist/esm/lite/reencrypt.js +0 -131
  100. package/dist/types/attestedreveal/attested-reveal.d.ts +0 -21
  101. package/dist/types/attestedreveal/index.d.ts +0 -1
  102. package/dist/types/attestedreveal/types.d.ts +0 -7
  103. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +0 -174
  104. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +0 -419
  105. package/dist/types/lite/reencrypt.d.ts +0 -21
@@ -5,5 +5,4 @@ export * from './deployments.js';
5
5
  export * from './ecies.js';
6
6
  export * from './hadu.js';
7
7
  export * from './lightning.js';
8
- export * from './reencrypt.js';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGl0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBTy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQyJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGl0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBTy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUMifQ==
@@ -1,13 +1,12 @@
1
1
  import { Account, Chain, PublicClient, Transport, WalletClient } from 'viem';
2
2
  import { AllowanceVoucherWithSig } from '../advancedacl/types.js';
3
3
  import { AttestedComputeOP } from '../attestedcompute/types.js';
4
- import { DecryptionAttestation } from '../attesteddecrypt/index.js';
4
+ import { DecryptionAttestation, EncryptedDecryptionAttestation } from '../attesteddecrypt/index.js';
5
5
  import { Address, HexString } from '../binary.js';
6
- import { EciesScheme, Encryptor, PlaintextOf, SupportedFheType } from '../encryption/index.js';
6
+ import { EciesScheme, Encryptor, SupportedFheType } from '../encryption/index.js';
7
7
  import { lightningDeployments } from '../generated/lightning.js';
8
8
  import { localNodeLightningConfig } from '../generated/local-node.js';
9
9
  import { LocalNodeEnv } from '../local/index.js';
10
- import type { Reencryptor } from '../reencryption/index.js';
11
10
  import { BackoffConfig } from '../retry.js';
12
11
  import { Secp256k1Keypair } from './ecies.js';
13
12
  type TupleToUnion<T> = T extends readonly unknown[] ? T[number] : never;
@@ -31,22 +30,28 @@ export type DeploymentSlice = {
31
30
  export type CustomConfig = {
32
31
  executorAddress: string;
33
32
  chainId: number;
34
- covalidatorUrl: string;
33
+ covalidatorUrls: string[];
34
+ signers?: Address[];
35
35
  hostChainRpcUrl?: string;
36
36
  senderPrivateKey?: HexString;
37
37
  };
38
38
  export type CustomDeployment = DeploymentSlice & CustomConfig;
39
+ type LocalNodeEnvFileSource = {
40
+ filePath: string;
41
+ };
39
42
  /**
40
43
  * The Lightning class provides a convenient way to interact with the Inco Lightning contract by binding to a specific
41
44
  * deployment.
42
45
  */
43
46
  export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
44
47
  private readonly _deployment;
45
- readonly covalidatorUrl: string;
48
+ readonly covalidatorUrls: string[];
49
+ readonly signers: Address[];
50
+ readonly threshold: number;
46
51
  readonly executorAddress: Address;
47
52
  readonly chainId: bigint;
48
53
  private readonly ephemeralKeypair;
49
- private readonly kmsClient;
54
+ private readonly kmsQuorumClient;
50
55
  private constructor();
51
56
  /**
52
57
  * Get a Lightning instance bound to the latest Lightning deployment for the Base Sepolia testnet.
@@ -73,7 +78,7 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
73
78
  *
74
79
  * @param filePath the path to the file containing the environment variables in dotenv format
75
80
  */
76
- static localNodeFromEnv(filePath?: string): Promise<Lightning<CustomDeployment>>;
81
+ static localNodeFromEnv(source?: string | Buffer | LocalNodeEnvFileSource): Promise<Lightning<CustomDeployment>>;
77
82
  /**
78
83
  * Get a Lightning deployment by name or executor address on a particular chain.
79
84
  *
@@ -102,7 +107,7 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
102
107
  * will not be compatible with the new version.
103
108
  *
104
109
  * @param pepper the pepper to use to filter the deployments
105
- * @param chainId the chainId to use to filter the deployments
110
+ * @param chain the chain to use to filter the deployments
106
111
  */
107
112
  static latest<P extends Pepper>(pepper: P, chainId: ChainId): Promise<Lightning<Deployment>>;
108
113
  get deployment(): T;
@@ -115,13 +120,11 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
115
120
  */
116
121
  encrypt<T extends SupportedNativeType>(value: T, { accountAddress, dappAddress }: EncryptionContext, encryptor: Encryptor<EciesScheme>): Promise<HexString>;
117
122
  /**
118
- * Obtain a reencryptor for a particular Externally Owned Account (EOA) to request decrypted values.
119
- * The account associated with the walletClient must have permissions to decrypt the handle or ciphertext passed
120
- * to the reencryptor function.
123
+ * Get the encryptor for a specific ECIES public key.
121
124
  *
122
- * @param walletClient the wallet client to use for signing the reencrypt request.
125
+ * @param eciesPubkey the ECIES public key to use for encryption
126
+ * @returns an Encryptor instance configured for the specified ECIES public key
123
127
  */
124
- getReencryptor(walletClient: WalletClient<Transport, Chain, Account>): Promise<Reencryptor<EciesScheme>>;
125
128
  getEncryptor(eciesPubkey: HexString): Encryptor<EciesScheme>;
126
129
  /**
127
130
  * Grants a session key allowance voucher for secure reencryption operations.
@@ -147,24 +150,6 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
147
150
  * ```
148
151
  */
149
152
  grantSessionKeyAllowanceVoucher(walletClient: WalletClient<Transport, Chain, Account>, granteeAddress: string, expiresAt: Date, sessionVerifierAddress: string): Promise<AllowanceVoucherWithSig>;
150
- /**
151
- * Creates a session key reencryptor for secure data reencryption operations.
152
- *
153
- * This method returns a reencryptor instance that can be used to perform reencryption
154
- * operations using session keys. The reencryptor is configured with the provided
155
- * allowance voucher and ephemeral keypair for secure communication.
156
- *
157
- * @param allowanceVoucherWithSig - The signed allowance voucher obtained from grantSessionKeyAllowanceVoucher
158
- * @param ephemeralKeypair - The ephemeral keypair used for secure communication with the KMS make sure it has allowance to voucher
159
- * @returns A reencryptor instance configured for session key operations
160
- *
161
- * @example
162
- * ```typescript
163
- * const reencryptor = await lightning.getSessionKeyRencryptor(voucher, ephemeralKeypair);
164
- * const decryptedValue = await reencryptor({handle: resultHandle});
165
- * ```
166
- */
167
- getSessionKeyRencryptor(allowanceVoucherWithSig: AllowanceVoucherWithSig, ephemeralKeypair: Secp256k1Keypair): Promise<(<T_1 extends SupportedFheType>({ handle, }: import("../reencryption/types.js").ReencryptFnArgs<EciesScheme, T_1>) => Promise<PlaintextOf<1, 0 | 5 | 7 | 8>>)>;
168
153
  /**
169
154
  * Updates the active session nonce for the given wallet client.
170
155
  *
@@ -176,35 +161,68 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
176
161
  */
177
162
  updateActiveVouchersSessionNonce(walletClient: WalletClient<Transport, Chain, Account>): Promise<HexString>;
178
163
  /**
179
- * Get an attested decryptor for the given wallet client.
164
+ * Requests attested decrypts signed by the covalidator using a wallet client.
180
165
  *
181
- * @param walletClient - The wallet client used for signing the attested decrypt request
182
- * @param handles - The handles to decrypt
183
- * @param backoffConfig - The backoff configuration for the attested decrypt request
184
- * @returns The decryption attestations
166
+ * @param walletClient Wallet used to sign the EIP-712 request.
167
+ * @param handles 32-byte handles to decrypt.
168
+ * @param backoffConfig Optional retry configuration.
185
169
  *
186
- * @example
187
- * ```typescript
188
- * const response = await lightning.attestedDecrypt(walletClient, [handle1, handle2]);
189
- * const { plaintext, covalidatorSignature } = response[0];
170
+ * @example Plaintext results
171
+ * ```ts
172
+ * const attestations = await lightning.attestedDecrypt(walletClient, [handle]);
173
+ * console.log(attestations[0].plaintext.value);
174
+ * ```
175
+ *
176
+ * @example Reencrypt for a delegate
177
+ * ```ts
178
+ * const encrypted = await lightning.attestedDecrypt(walletClient, [handle], delegatePubKey);
179
+ * console.log(encrypted[0].encryptedPlaintext.ciphertext.value);
180
+ * ```
181
+ *
182
+ * @example Reencrypt and decrypt locally
183
+ * ```ts
184
+ * const decrypted = await lightning.attestedDecrypt(
185
+ * walletClient,
186
+ * [handle],
187
+ * keypair.encodePublicKey(),
188
+ * keypair,
189
+ * );
190
+ * console.log(decrypted[0].plaintext.value);
190
191
  * ```
191
192
  */
192
193
  attestedDecrypt(walletClient: WalletClient<Transport, Chain, Account>, handles: HexString[], backoffConfig?: Partial<BackoffConfig>): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
194
+ attestedDecrypt(walletClient: WalletClient<Transport, Chain, Account>, handles: HexString[], reencryptPubKey: Uint8Array, backoffConfig?: Partial<BackoffConfig>): Promise<Array<EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>>;
195
+ attestedDecrypt(walletClient: WalletClient<Transport, Chain, Account>, handles: HexString[], reencryptPubKey: Uint8Array, reencryptKeypair: Secp256k1Keypair, backoffConfig?: Partial<BackoffConfig>): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
193
196
  /**
194
- * @notice Attested decryption using a session key.
195
- * @dev This method is used when you want to perform attested decryption
196
- * via an ephemeral session key and an allowance voucher. The session
197
- * key setup is typically faster and more flexible than using a wallet.
197
+ * Requests attested decrypts using a voucher-backed session key.
198
198
  *
199
- * @param ephemeralKeypair The ephemeral Secp256k1 keypair used for secure communication.
200
- * @param allowanceVoucherWithSig The signed allowance voucher, obtained from
201
- * `grantSessionKeyAllowanceVoucher`, proving the session key's decryption rights.
202
- * @param handles The encrypted handles to be decrypted.
203
- * @param backoffConfig Optional configuration for retry and backoff strategy.
199
+ * @param ephemeralKeypair Session keypair matching the voucher grantee.
200
+ * @param allowanceVoucherWithSig Signed allowance voucher.
201
+ * @param handles Handles to decrypt.
202
+ * @param options Optional reencryption/backoff configuration.
204
203
  *
205
- * @returns A promise that resolves to an array of decryption attestations.
204
+ * @example Plaintext results
205
+ * ```ts
206
+ * const attestations = await lightning.attestedDecryptWithVoucher(
207
+ * ephemeralKeypair,
208
+ * voucher,
209
+ * [handle],
210
+ * );
211
+ * ```
212
+ *
213
+ * @example Reencrypt for a delegate
214
+ * ```ts
215
+ * const encrypted = await lightning.attestedDecryptWithVoucher(
216
+ * ephemeralKeypair,
217
+ * voucher,
218
+ * [handle],
219
+ * { reencryptPubKey: delegateKeypair.encodePublicKey() },
220
+ * );
221
+ * ```
206
222
  */
207
- attestedDecrypt(ephemeralKeypair: Secp256k1Keypair, allowanceVoucherWithSig: AllowanceVoucherWithSig, handles: HexString[], backoffConfig?: Partial<BackoffConfig>): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
223
+ attestedDecryptWithVoucher(ephemeralKeypair: Secp256k1Keypair, allowanceVoucherWithSig: AllowanceVoucherWithSig, handles: HexString[], backoffConfig?: Partial<BackoffConfig>): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
224
+ attestedDecryptWithVoucher(ephemeralKeypair: Secp256k1Keypair, allowanceVoucherWithSig: AllowanceVoucherWithSig, handles: HexString[], reencryptPubKey: Uint8Array, backoffConfig?: Partial<BackoffConfig>): Promise<Array<EncryptedDecryptionAttestation<EciesScheme, SupportedFheType>>>;
225
+ attestedDecryptWithVoucher(ephemeralKeypair: Secp256k1Keypair, allowanceVoucherWithSig: AllowanceVoucherWithSig, handles: HexString[], reencryptPubKey: Uint8Array, reencryptKeypair: Secp256k1Keypair, backoffConfig?: Partial<BackoffConfig>): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
208
226
  /**
209
227
  * Get an attested compute for the given wallet client.
210
228
  *
@@ -227,22 +245,20 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
227
245
  */
228
246
  attestedCompute(walletClient: WalletClient<Transport, Chain, Account>, lhsHandle: HexString, op: AttestedComputeOP, rhsPlaintext: bigint | boolean, backoffConfig?: Partial<BackoffConfig>): Promise<DecryptionAttestation<EciesScheme, SupportedFheType>>;
229
247
  /**
230
- * @notice Attested compute using a session key.
231
- * @dev This method is used when you want to perform attested compute
232
- * via an ephemeral session key and an allowance voucher. The session
233
- * key setup is typically faster and more flexible than using a wallet.
234
- *
235
- * @param ephemeralKeypair The ephemeral Secp256k1 keypair used for secure communication.
236
- * @param lhsHandle The handle to compute on
237
- * @param op The operation to perform
238
- * @param rhsPlaintext The plaintext to compute with
239
- * @param allowanceVoucherWithSig The signed allowance voucher, obtained from
240
- * `grantSessionKeyAllowanceVoucher`, proving the session key's compute rights.
241
- * @param backoffConfig Optional configuration for retry and backoff strategy.
248
+ * Performs attested compute via a voucher-backed session key.
242
249
  *
243
- * @returns A promise that resolves to a compute attestation.
250
+ * @example
251
+ * ```ts
252
+ * const attestation = await lightning.attestedComputeWithVoucher(
253
+ * ephemeralKeypair,
254
+ * voucher,
255
+ * lhsHandle,
256
+ * AttestedComputeSupportedOps.Eq,
257
+ * true,
258
+ * );
259
+ * ```
244
260
  */
245
- attestedCompute(ephemeralKeypair: Secp256k1Keypair, lhsHandle: HexString, op: AttestedComputeOP, rhsPlaintext: bigint | boolean, allowanceVoucherWithSig: AllowanceVoucherWithSig, backoffConfig?: Partial<BackoffConfig>): Promise<DecryptionAttestation<EciesScheme, SupportedFheType>>;
261
+ attestedComputeWithVoucher(ephemeralKeypair: Secp256k1Keypair, allowanceVoucherWithSig: AllowanceVoucherWithSig, lhsHandle: HexString, op: AttestedComputeOP, rhsPlaintext: bigint | boolean, backoffConfig?: Partial<BackoffConfig>): Promise<DecryptionAttestation<EciesScheme, SupportedFheType>>;
246
262
  /**
247
263
  * Get an decryption of publicly revealed handles.
248
264
  *
@@ -260,10 +276,14 @@ export declare class Lightning<T extends DeploymentSlice = DeploymentSlice> {
260
276
  /**
261
277
  * Get the GRPC endpoint for the covalidator that services this deployment.
262
278
  */
263
- static getCovalidatorUrl(deployment: DeploymentSlice & {
279
+ static getCovalidatorUrls(deployment: DeploymentSlice & {
264
280
  pepper: string;
265
- }): string;
281
+ }, threshold: number): string[];
266
282
  private static isIdByName;
267
283
  private static plaintextFromValue;
284
+ private static getContractThresholdAndSigners;
285
+ private static getThresholdAndSigners;
286
+ private static supportsThresholdRetrieval;
287
+ private static getDefaultThresholdAndSigners;
268
288
  }
269
289
  export {};