@lightprotocol/stateless.js 0.18.0 → 0.20.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.
@@ -6,7 +6,22 @@ import { CompressedAccountWithMerkleContext } from '../state/compressed-account'
6
6
  * present
7
7
  * */
8
8
  export declare function getIndexOrAdd(accountsArray: PublicKey[], key: PublicKey): number;
9
- /** @internal */
9
+ /**
10
+ * @internal
11
+ * Pads output state trees with the 0th state tree of the input state.
12
+ *
13
+ * @param outputStateMerkleTrees Optional output state trees to be
14
+ * inserted into the output state.
15
+ * Defaults to the 0th state tree of
16
+ * the input state. Gets padded to the
17
+ * length of outputCompressedAccounts.
18
+ * @param numberOfOutputCompressedAccounts The number of output compressed
19
+ * accounts.
20
+ * @param inputCompressedAccountsWithMerkleContext The input compressed accounts
21
+ * with merkle context.
22
+ *
23
+ * @returns Padded output state trees.
24
+ */
10
25
  export declare function padOutputStateMerkleTrees(outputStateMerkleTrees: PublicKey[] | PublicKey | undefined, numberOfOutputCompressedAccounts: number, inputCompressedAccountsWithMerkleContext: CompressedAccountWithMerkleContext[]): PublicKey[];
11
26
  export declare function toAccountMetas(remainingAccounts: PublicKey[]): AccountMeta[];
12
27
  /**
@@ -14,6 +29,7 @@ export declare function toAccountMetas(remainingAccounts: PublicKey[]): AccountM
14
29
  *
15
30
  * Replaces PublicKey with index pointer to remaining accounts.
16
31
  *
32
+ *
17
33
  * @param inputCompressedAccounts Ix input state to be consumed
18
34
  * @param inputStateRootIndices The recent state root indices of the
19
35
  * input state. The expiry is tied to
@@ -165,24 +165,24 @@ export declare function jsonRpcResultAndContext<T, U>(value: Struct<T, U>): Stru
165
165
  export declare const CompressedAccountResult: Struct<{
166
166
  data: {
167
167
  data: string;
168
- discriminator: BN;
169
168
  dataHash: BN;
169
+ discriminator: BN;
170
170
  } | null;
171
- owner: PublicKey;
172
171
  lamports: BN;
173
172
  address: number[] | null;
174
- leafIndex: number;
175
- seq: BN | null;
176
173
  hash: BN;
174
+ owner: PublicKey;
175
+ leafIndex: number;
177
176
  tree: PublicKey;
177
+ seq: BN | null;
178
178
  slotCreated: BN;
179
179
  }, {
180
180
  address: Struct<number[] | null, null>;
181
181
  hash: Struct<BN, null>;
182
182
  data: Struct<{
183
183
  data: string;
184
- discriminator: BN;
185
184
  dataHash: BN;
185
+ discriminator: BN;
186
186
  } | null, {
187
187
  data: Struct<string, null>;
188
188
  dataHash: Struct<BN, null>;
@@ -222,16 +222,16 @@ export declare const CompressedTokenAccountResult: Struct<{
222
222
  account: {
223
223
  data: {
224
224
  data: string;
225
- discriminator: BN;
226
225
  dataHash: BN;
226
+ discriminator: BN;
227
227
  } | null;
228
- owner: PublicKey;
229
228
  lamports: BN;
230
229
  address: number[] | null;
231
- leafIndex: number;
232
- seq: BN | null;
233
230
  hash: BN;
231
+ owner: PublicKey;
232
+ leafIndex: number;
234
233
  tree: PublicKey;
234
+ seq: BN | null;
235
235
  slotCreated: BN;
236
236
  };
237
237
  }, {
@@ -251,24 +251,24 @@ export declare const CompressedTokenAccountResult: Struct<{
251
251
  account: Struct<{
252
252
  data: {
253
253
  data: string;
254
- discriminator: BN;
255
254
  dataHash: BN;
255
+ discriminator: BN;
256
256
  } | null;
257
- owner: PublicKey;
258
257
  lamports: BN;
259
258
  address: number[] | null;
260
- leafIndex: number;
261
- seq: BN | null;
262
259
  hash: BN;
260
+ owner: PublicKey;
261
+ leafIndex: number;
263
262
  tree: PublicKey;
263
+ seq: BN | null;
264
264
  slotCreated: BN;
265
265
  }, {
266
266
  address: Struct<number[] | null, null>;
267
267
  hash: Struct<BN, null>;
268
268
  data: Struct<{
269
269
  data: string;
270
- discriminator: BN;
271
270
  dataHash: BN;
271
+ discriminator: BN;
272
272
  } | null, {
273
273
  data: Struct<string, null>;
274
274
  dataHash: Struct<BN, null>;
@@ -289,54 +289,54 @@ export declare const MultipleCompressedAccountsResult: Struct<{
289
289
  items: {
290
290
  data: {
291
291
  data: string;
292
- discriminator: BN;
293
292
  dataHash: BN;
293
+ discriminator: BN;
294
294
  } | null;
295
- owner: PublicKey;
296
295
  lamports: BN;
297
296
  address: number[] | null;
298
- leafIndex: number;
299
- seq: BN | null;
300
297
  hash: BN;
298
+ owner: PublicKey;
299
+ leafIndex: number;
301
300
  tree: PublicKey;
301
+ seq: BN | null;
302
302
  slotCreated: BN;
303
303
  }[];
304
304
  }, {
305
305
  items: Struct<{
306
306
  data: {
307
307
  data: string;
308
- discriminator: BN;
309
308
  dataHash: BN;
309
+ discriminator: BN;
310
310
  } | null;
311
- owner: PublicKey;
312
311
  lamports: BN;
313
312
  address: number[] | null;
314
- leafIndex: number;
315
- seq: BN | null;
316
313
  hash: BN;
314
+ owner: PublicKey;
315
+ leafIndex: number;
317
316
  tree: PublicKey;
317
+ seq: BN | null;
318
318
  slotCreated: BN;
319
319
  }[], Struct<{
320
320
  data: {
321
321
  data: string;
322
- discriminator: BN;
323
322
  dataHash: BN;
323
+ discriminator: BN;
324
324
  } | null;
325
- owner: PublicKey;
326
325
  lamports: BN;
327
326
  address: number[] | null;
328
- leafIndex: number;
329
- seq: BN | null;
330
327
  hash: BN;
328
+ owner: PublicKey;
329
+ leafIndex: number;
331
330
  tree: PublicKey;
331
+ seq: BN | null;
332
332
  slotCreated: BN;
333
333
  }, {
334
334
  address: Struct<number[] | null, null>;
335
335
  hash: Struct<BN, null>;
336
336
  data: Struct<{
337
337
  data: string;
338
- discriminator: BN;
339
338
  dataHash: BN;
339
+ discriminator: BN;
340
340
  } | null, {
341
341
  data: Struct<string, null>;
342
342
  dataHash: Struct<BN, null>;
@@ -357,16 +357,16 @@ export declare const CompressedAccountsByOwnerResult: Struct<{
357
357
  items: {
358
358
  data: {
359
359
  data: string;
360
- discriminator: BN;
361
360
  dataHash: BN;
361
+ discriminator: BN;
362
362
  } | null;
363
- owner: PublicKey;
364
363
  lamports: BN;
365
364
  address: number[] | null;
366
- leafIndex: number;
367
- seq: BN | null;
368
365
  hash: BN;
366
+ owner: PublicKey;
367
+ leafIndex: number;
369
368
  tree: PublicKey;
369
+ seq: BN | null;
370
370
  slotCreated: BN;
371
371
  }[];
372
372
  cursor: string | null;
@@ -374,38 +374,38 @@ export declare const CompressedAccountsByOwnerResult: Struct<{
374
374
  items: Struct<{
375
375
  data: {
376
376
  data: string;
377
- discriminator: BN;
378
377
  dataHash: BN;
378
+ discriminator: BN;
379
379
  } | null;
380
- owner: PublicKey;
381
380
  lamports: BN;
382
381
  address: number[] | null;
383
- leafIndex: number;
384
- seq: BN | null;
385
382
  hash: BN;
383
+ owner: PublicKey;
384
+ leafIndex: number;
386
385
  tree: PublicKey;
386
+ seq: BN | null;
387
387
  slotCreated: BN;
388
388
  }[], Struct<{
389
389
  data: {
390
390
  data: string;
391
- discriminator: BN;
392
391
  dataHash: BN;
392
+ discriminator: BN;
393
393
  } | null;
394
- owner: PublicKey;
395
394
  lamports: BN;
396
395
  address: number[] | null;
397
- leafIndex: number;
398
- seq: BN | null;
399
396
  hash: BN;
397
+ owner: PublicKey;
398
+ leafIndex: number;
400
399
  tree: PublicKey;
400
+ seq: BN | null;
401
401
  slotCreated: BN;
402
402
  }, {
403
403
  address: Struct<number[] | null, null>;
404
404
  hash: Struct<BN, null>;
405
405
  data: Struct<{
406
406
  data: string;
407
- discriminator: BN;
408
407
  dataHash: BN;
408
+ discriminator: BN;
409
409
  } | null, {
410
410
  data: Struct<string, null>;
411
411
  dataHash: Struct<BN, null>;
@@ -435,16 +435,16 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
435
435
  account: {
436
436
  data: {
437
437
  data: string;
438
- discriminator: BN;
439
438
  dataHash: BN;
439
+ discriminator: BN;
440
440
  } | null;
441
- owner: PublicKey;
442
441
  lamports: BN;
443
442
  address: number[] | null;
444
- leafIndex: number;
445
- seq: BN | null;
446
443
  hash: BN;
444
+ owner: PublicKey;
445
+ leafIndex: number;
447
446
  tree: PublicKey;
447
+ seq: BN | null;
448
448
  slotCreated: BN;
449
449
  };
450
450
  }[];
@@ -461,16 +461,16 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
461
461
  account: {
462
462
  data: {
463
463
  data: string;
464
- discriminator: BN;
465
464
  dataHash: BN;
465
+ discriminator: BN;
466
466
  } | null;
467
- owner: PublicKey;
468
467
  lamports: BN;
469
468
  address: number[] | null;
470
- leafIndex: number;
471
- seq: BN | null;
472
469
  hash: BN;
470
+ owner: PublicKey;
471
+ leafIndex: number;
473
472
  tree: PublicKey;
473
+ seq: BN | null;
474
474
  slotCreated: BN;
475
475
  };
476
476
  }[], Struct<{
@@ -484,16 +484,16 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
484
484
  account: {
485
485
  data: {
486
486
  data: string;
487
- discriminator: BN;
488
487
  dataHash: BN;
488
+ discriminator: BN;
489
489
  } | null;
490
- owner: PublicKey;
491
490
  lamports: BN;
492
491
  address: number[] | null;
493
- leafIndex: number;
494
- seq: BN | null;
495
492
  hash: BN;
493
+ owner: PublicKey;
494
+ leafIndex: number;
496
495
  tree: PublicKey;
496
+ seq: BN | null;
497
497
  slotCreated: BN;
498
498
  };
499
499
  }, {
@@ -513,24 +513,24 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
513
513
  account: Struct<{
514
514
  data: {
515
515
  data: string;
516
- discriminator: BN;
517
516
  dataHash: BN;
517
+ discriminator: BN;
518
518
  } | null;
519
- owner: PublicKey;
520
519
  lamports: BN;
521
520
  address: number[] | null;
522
- leafIndex: number;
523
- seq: BN | null;
524
521
  hash: BN;
522
+ owner: PublicKey;
523
+ leafIndex: number;
525
524
  tree: PublicKey;
525
+ seq: BN | null;
526
526
  slotCreated: BN;
527
527
  }, {
528
528
  address: Struct<number[] | null, null>;
529
529
  hash: Struct<BN, null>;
530
530
  data: Struct<{
531
531
  data: string;
532
- discriminator: BN;
533
532
  dataHash: BN;
533
+ discriminator: BN;
534
534
  } | null, {
535
535
  data: Struct<string, null>;
536
536
  dataHash: Struct<BN, null>;
@@ -613,10 +613,10 @@ export declare const LatestNonVotingSignaturesResultPaginated: Struct<{
613
613
  */
614
614
  export declare const MerkeProofResult: Struct<{
615
615
  root: BN;
616
- proof: BN[];
617
- leafIndex: number;
618
616
  hash: BN;
617
+ leafIndex: number;
619
618
  merkleTree: PublicKey;
619
+ proof: BN[];
620
620
  rootSeq: number;
621
621
  }, {
622
622
  hash: Struct<BN, null>;
@@ -631,9 +631,9 @@ export declare const MerkeProofResult: Struct<{
631
631
  */
632
632
  export declare const NewAddressProofResult: Struct<{
633
633
  root: BN;
634
- proof: BN[];
635
634
  address: BN;
636
635
  merkleTree: PublicKey;
636
+ proof: BN[];
637
637
  rootSeq: number;
638
638
  nextIndex: number;
639
639
  lowerRangeAddress: BN;
@@ -685,17 +685,17 @@ export declare const ValidityProofResult: Struct<{
685
685
  */
686
686
  export declare const MultipleMerkleProofsResult: Struct<{
687
687
  root: BN;
688
- proof: BN[];
689
- leafIndex: number;
690
688
  hash: BN;
689
+ leafIndex: number;
691
690
  merkleTree: PublicKey;
691
+ proof: BN[];
692
692
  rootSeq: number;
693
693
  }[], Struct<{
694
694
  root: BN;
695
- proof: BN[];
696
- leafIndex: number;
697
695
  hash: BN;
696
+ leafIndex: number;
698
697
  merkleTree: PublicKey;
698
+ proof: BN[];
699
699
  rootSeq: number;
700
700
  }, {
701
701
  hash: Struct<BN, null>;
@@ -780,8 +780,8 @@ export declare const CompressedMintTokenHoldersResult: Struct<{
780
780
  }>;
781
781
  export declare const AccountProofResult: Struct<{
782
782
  root: number[];
783
- proof: number[][];
784
783
  hash: number[];
784
+ proof: number[][];
785
785
  }, {
786
786
  hash: Struct<number[], Struct<number, null>>;
787
787
  root: Struct<number[], Struct<number, null>>;
@@ -838,16 +838,16 @@ export declare const CompressedTransactionResult: Struct<{
838
838
  account: {
839
839
  data: {
840
840
  data: string;
841
- discriminator: BN;
842
841
  dataHash: BN;
842
+ discriminator: BN;
843
843
  } | null;
844
- owner: PublicKey;
845
844
  lamports: BN;
846
845
  address: number[] | null;
847
- leafIndex: number;
848
- seq: BN | null;
849
846
  hash: BN;
847
+ owner: PublicKey;
848
+ leafIndex: number;
850
849
  tree: PublicKey;
850
+ seq: BN | null;
851
851
  slotCreated: BN;
852
852
  };
853
853
  optionalTokenData: {
@@ -862,16 +862,16 @@ export declare const CompressedTransactionResult: Struct<{
862
862
  account: {
863
863
  data: {
864
864
  data: string;
865
- discriminator: BN;
866
865
  dataHash: BN;
866
+ discriminator: BN;
867
867
  } | null;
868
- owner: PublicKey;
869
868
  lamports: BN;
870
869
  address: number[] | null;
871
- leafIndex: number;
872
- seq: BN | null;
873
870
  hash: BN;
871
+ owner: PublicKey;
872
+ leafIndex: number;
874
873
  tree: PublicKey;
874
+ seq: BN | null;
875
875
  slotCreated: BN;
876
876
  };
877
877
  optionalTokenData: {
@@ -890,16 +890,16 @@ export declare const CompressedTransactionResult: Struct<{
890
890
  account: {
891
891
  data: {
892
892
  data: string;
893
- discriminator: BN;
894
893
  dataHash: BN;
894
+ discriminator: BN;
895
895
  } | null;
896
- owner: PublicKey;
897
896
  lamports: BN;
898
897
  address: number[] | null;
899
- leafIndex: number;
900
- seq: BN | null;
901
898
  hash: BN;
899
+ owner: PublicKey;
900
+ leafIndex: number;
902
901
  tree: PublicKey;
902
+ seq: BN | null;
903
903
  slotCreated: BN;
904
904
  };
905
905
  optionalTokenData: {
@@ -914,16 +914,16 @@ export declare const CompressedTransactionResult: Struct<{
914
914
  account: {
915
915
  data: {
916
916
  data: string;
917
- discriminator: BN;
918
917
  dataHash: BN;
918
+ discriminator: BN;
919
919
  } | null;
920
- owner: PublicKey;
921
920
  lamports: BN;
922
921
  address: number[] | null;
923
- leafIndex: number;
924
- seq: BN | null;
925
922
  hash: BN;
923
+ owner: PublicKey;
924
+ leafIndex: number;
926
925
  tree: PublicKey;
926
+ seq: BN | null;
927
927
  slotCreated: BN;
928
928
  };
929
929
  optionalTokenData: {
@@ -939,16 +939,16 @@ export declare const CompressedTransactionResult: Struct<{
939
939
  account: {
940
940
  data: {
941
941
  data: string;
942
- discriminator: BN;
943
942
  dataHash: BN;
943
+ discriminator: BN;
944
944
  } | null;
945
- owner: PublicKey;
946
945
  lamports: BN;
947
946
  address: number[] | null;
948
- leafIndex: number;
949
- seq: BN | null;
950
947
  hash: BN;
948
+ owner: PublicKey;
949
+ leafIndex: number;
951
950
  tree: PublicKey;
951
+ seq: BN | null;
952
952
  slotCreated: BN;
953
953
  };
954
954
  optionalTokenData: {
@@ -962,16 +962,16 @@ export declare const CompressedTransactionResult: Struct<{
962
962
  account: {
963
963
  data: {
964
964
  data: string;
965
- discriminator: BN;
966
965
  dataHash: BN;
966
+ discriminator: BN;
967
967
  } | null;
968
- owner: PublicKey;
969
968
  lamports: BN;
970
969
  address: number[] | null;
971
- leafIndex: number;
972
- seq: BN | null;
973
970
  hash: BN;
971
+ owner: PublicKey;
972
+ leafIndex: number;
974
973
  tree: PublicKey;
974
+ seq: BN | null;
975
975
  slotCreated: BN;
976
976
  };
977
977
  optionalTokenData: {
@@ -985,24 +985,24 @@ export declare const CompressedTransactionResult: Struct<{
985
985
  account: Struct<{
986
986
  data: {
987
987
  data: string;
988
- discriminator: BN;
989
988
  dataHash: BN;
989
+ discriminator: BN;
990
990
  } | null;
991
- owner: PublicKey;
992
991
  lamports: BN;
993
992
  address: number[] | null;
994
- leafIndex: number;
995
- seq: BN | null;
996
993
  hash: BN;
994
+ owner: PublicKey;
995
+ leafIndex: number;
997
996
  tree: PublicKey;
997
+ seq: BN | null;
998
998
  slotCreated: BN;
999
999
  }, {
1000
1000
  address: Struct<number[] | null, null>;
1001
1001
  hash: Struct<BN, null>;
1002
1002
  data: Struct<{
1003
1003
  data: string;
1004
- discriminator: BN;
1005
1004
  dataHash: BN;
1005
+ discriminator: BN;
1006
1006
  } | null, {
1007
1007
  data: Struct<string, null>;
1008
1008
  dataHash: Struct<BN, null>;
@@ -1033,16 +1033,16 @@ export declare const CompressedTransactionResult: Struct<{
1033
1033
  account: {
1034
1034
  data: {
1035
1035
  data: string;
1036
- discriminator: BN;
1037
1036
  dataHash: BN;
1037
+ discriminator: BN;
1038
1038
  } | null;
1039
- owner: PublicKey;
1040
1039
  lamports: BN;
1041
1040
  address: number[] | null;
1042
- leafIndex: number;
1043
- seq: BN | null;
1044
1041
  hash: BN;
1042
+ owner: PublicKey;
1043
+ leafIndex: number;
1045
1044
  tree: PublicKey;
1045
+ seq: BN | null;
1046
1046
  slotCreated: BN;
1047
1047
  };
1048
1048
  optionalTokenData: {
@@ -1056,16 +1056,16 @@ export declare const CompressedTransactionResult: Struct<{
1056
1056
  account: {
1057
1057
  data: {
1058
1058
  data: string;
1059
- discriminator: BN;
1060
1059
  dataHash: BN;
1060
+ discriminator: BN;
1061
1061
  } | null;
1062
- owner: PublicKey;
1063
1062
  lamports: BN;
1064
1063
  address: number[] | null;
1065
- leafIndex: number;
1066
- seq: BN | null;
1067
1064
  hash: BN;
1065
+ owner: PublicKey;
1066
+ leafIndex: number;
1068
1067
  tree: PublicKey;
1068
+ seq: BN | null;
1069
1069
  slotCreated: BN;
1070
1070
  };
1071
1071
  optionalTokenData: {
@@ -1079,24 +1079,24 @@ export declare const CompressedTransactionResult: Struct<{
1079
1079
  account: Struct<{
1080
1080
  data: {
1081
1081
  data: string;
1082
- discriminator: BN;
1083
1082
  dataHash: BN;
1083
+ discriminator: BN;
1084
1084
  } | null;
1085
- owner: PublicKey;
1086
1085
  lamports: BN;
1087
1086
  address: number[] | null;
1088
- leafIndex: number;
1089
- seq: BN | null;
1090
1087
  hash: BN;
1088
+ owner: PublicKey;
1089
+ leafIndex: number;
1091
1090
  tree: PublicKey;
1091
+ seq: BN | null;
1092
1092
  slotCreated: BN;
1093
1093
  }, {
1094
1094
  address: Struct<number[] | null, null>;
1095
1095
  hash: Struct<BN, null>;
1096
1096
  data: Struct<{
1097
1097
  data: string;
1098
- discriminator: BN;
1099
1098
  dataHash: BN;
1099
+ discriminator: BN;
1100
1100
  } | null, {
1101
1101
  data: Struct<string, null>;
1102
1102
  dataHash: Struct<BN, null>;
@@ -3,6 +3,8 @@ import { Buffer } from 'buffer';
3
3
  import { CompressedProofWithContext, CompressedTransaction, CompressionApiInterface, GetCompressedTokenAccountsByOwnerOrDelegateOptions, HexInputsForProver, ParsedTokenAccount, SignatureWithMetadata, LatestNonVotingSignatures, LatestNonVotingSignaturesPaginated, WithContext, GetCompressedAccountsByOwnerConfig, WithCursor, AddressWithTree, HashWithTree, CompressedMintTokenHolders, TokenBalance, PaginatedOptions } from './rpc-interface';
4
4
  import { MerkleContextWithMerkleProof, BN254, CompressedAccountWithMerkleContext, CompressedProof } from './state';
5
5
  import BN from 'bn.js';
6
+ import { LightWasm } from './test-helpers';
7
+ import { ActiveTreeBundle } from './state/types';
6
8
  /** @internal */
7
9
  export declare function parseAccountData({ discriminator, data, dataHash, }: {
8
10
  discriminator: BN;
@@ -60,23 +62,56 @@ export type NonInclusionJsonStruct = {
60
62
  };
61
63
  export declare function convertMerkleProofsWithContextToHex(merkleProofsWithContext: MerkleContextWithMerkleProof[]): HexInputsForProver[];
62
64
  export declare function convertNonInclusionMerkleProofInputsToHex(nonInclusionMerkleProofInputs: MerkleContextWithNewAddressProof[]): NonInclusionJsonStruct[];
63
- import { LightWasm } from './test-helpers';
64
65
  export declare function getPublicInputHash(accountProofs: MerkleContextWithMerkleProof[], accountHashes: BN254[], newAddressProofs: MerkleContextWithNewAddressProof[], lightWasm: LightWasm): BN;
66
+ /**
67
+ * Get the queue for a given tree
68
+ *
69
+ * @param info - The active state tree addresses
70
+ * @param tree - The tree to get the queue for
71
+ * @returns The queue for the given tree, or undefined if not found
72
+ */
73
+ export declare function getQueueForTree(info: ActiveTreeBundle[], tree: PublicKey): PublicKey;
74
+ /**
75
+ * Get the tree for a given queue
76
+ *
77
+ * @param info - The active state tree addresses
78
+ * @param queue - The queue to get the tree for
79
+ * @returns The tree for the given queue, or undefined if not found
80
+ */
81
+ export declare function getTreeForQueue(info: ActiveTreeBundle[], queue: PublicKey): PublicKey;
82
+ /**
83
+ * Get a random tree and queue from the active state tree addresses.
84
+ *
85
+ * Prevents write lock contention on state trees.
86
+ *
87
+ * @param info - The active state tree addresses
88
+ * @returns A random tree and queue
89
+ */
90
+ export declare function pickRandomTreeAndQueue(info: ActiveTreeBundle[]): {
91
+ tree: PublicKey;
92
+ queue: PublicKey;
93
+ };
65
94
  /**
66
95
  *
67
96
  */
68
97
  export declare class Rpc extends Connection implements CompressionApiInterface {
69
98
  compressionApiEndpoint: string;
70
99
  proverEndpoint: string;
100
+ activeStateTreeInfo: ActiveTreeBundle[] | null;
101
+ constructor(endpoint: string, compressionApiEndpoint: string, proverEndpoint: string, config?: ConnectionConfig);
71
102
  /**
72
- * Establish a Compression-compatible JSON RPC connection
73
- *
74
- * @param endpoint Endpoint to the solana cluster
75
- * @param compressionApiEndpoint Endpoint to the compression server
76
- * @param proverEndpoint Endpoint to the prover server.
77
- * @param connectionConfig Optional connection config
103
+ * Manually set state tree addresses
78
104
  */
79
- constructor(endpoint: string, compressionApiEndpoint: string, proverEndpoint: string, config?: ConnectionConfig);
105
+ setStateTreeInfo(info: ActiveTreeBundle[]): void;
106
+ /**
107
+ * Get the active state tree addresses from the cluster.
108
+ * If not already cached, fetches from the cluster.
109
+ */
110
+ getCachedActiveStateTreeInfo(): Promise<ActiveTreeBundle[]>;
111
+ /**
112
+ * Fetch the latest state tree addresses from the cluster.
113
+ */
114
+ getLatestActiveStateTreeInfo(): Promise<ActiveTreeBundle[]>;
80
115
  /**
81
116
  * Fetch the compressed account for the specified account address or hash
82
117
  */
@@ -226,6 +261,10 @@ export declare class Rpc extends Connection implements CompressionApiInterface {
226
261
  */
227
262
  getValidityProofDirect(hashes?: BN254[], newAddresses?: BN254[]): Promise<CompressedProofWithContext>;
228
263
  /**
264
+ * @deprecated use {@link getValidityProofV0} instead.
265
+ *
266
+ *
267
+ *
229
268
  * Fetch the latest validity proof for (1) compressed accounts specified by
230
269
  * an array of account hashes. (2) new unique addresses specified by an
231
270
  * array of addresses.