@lightprotocol/stateless.js 0.22.0 → 0.22.1-alpha.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 (39) hide show
  1. package/README.md +10 -10
  2. package/dist/cjs/browser/compressible/action.d.ts +77 -0
  3. package/dist/cjs/browser/compressible/index.d.ts +13 -0
  4. package/dist/cjs/browser/compressible/instruction.d.ts +177 -0
  5. package/dist/cjs/browser/compressible/layout.d.ts +47 -0
  6. package/dist/cjs/browser/compressible/types.d.ts +112 -0
  7. package/dist/cjs/browser/compressible/utils.d.ts +16 -0
  8. package/dist/cjs/browser/constants.d.ts +7 -5
  9. package/dist/cjs/browser/index.cjs +1 -1
  10. package/dist/cjs/browser/index.cjs.map +1 -1
  11. package/dist/cjs/browser/index.d.ts +1 -0
  12. package/dist/cjs/browser/programs/system/pack.d.ts +79 -10
  13. package/dist/cjs/browser/rpc-interface.d.ts +47 -47
  14. package/dist/cjs/browser/rpc.d.ts +17 -3
  15. package/dist/cjs/browser/test-helpers/test-rpc/test-rpc.d.ts +6 -2
  16. package/dist/cjs/browser/utils/address.d.ts +13 -0
  17. package/dist/cjs/browser/utils/conversion.d.ts +1 -0
  18. package/dist/cjs/browser/utils/index.d.ts +1 -0
  19. package/dist/cjs/browser/utils/packed-accounts.d.ts +161 -0
  20. package/dist/cjs/node/compressible/action.d.ts +77 -0
  21. package/dist/cjs/node/compressible/index.d.ts +13 -0
  22. package/dist/cjs/node/compressible/instruction.d.ts +177 -0
  23. package/dist/cjs/node/compressible/layout.d.ts +47 -0
  24. package/dist/cjs/node/compressible/types.d.ts +112 -0
  25. package/dist/cjs/node/compressible/utils.d.ts +16 -0
  26. package/dist/cjs/node/constants.d.ts +7 -5
  27. package/dist/cjs/node/index.cjs +1 -1
  28. package/dist/cjs/node/index.cjs.map +1 -1
  29. package/dist/cjs/node/index.d.ts +1 -0
  30. package/dist/cjs/node/programs/system/pack.d.ts +79 -10
  31. package/dist/cjs/node/rpc-interface.d.ts +47 -47
  32. package/dist/cjs/node/rpc.d.ts +17 -3
  33. package/dist/cjs/node/test-helpers/test-rpc/test-rpc.d.ts +6 -2
  34. package/dist/cjs/node/utils/address.d.ts +13 -0
  35. package/dist/cjs/node/utils/conversion.d.ts +1 -0
  36. package/dist/cjs/node/utils/index.d.ts +1 -0
  37. package/dist/cjs/node/utils/packed-accounts.d.ts +161 -0
  38. package/dist/types/index.d.ts +665 -45
  39. package/package.json +1 -1
@@ -7,3 +7,4 @@ export * from './constants';
7
7
  export * from './errors';
8
8
  export * from './rpc-interface';
9
9
  export * from './rpc';
10
+ export * from './compressible';
@@ -1,6 +1,8 @@
1
1
  import { AccountMeta, PublicKey } from '@solana/web3.js';
2
- import { AccountProofInput, CompressedAccountLegacy, NewAddressProofInput, OutputCompressedAccountWithPackedContext, PackedCompressedAccountWithMerkleContext, TreeInfo } from '../../state';
2
+ import { AccountProofInput, CompressedAccountLegacy, NewAddressProofInput, OutputCompressedAccountWithPackedContext, PackedCompressedAccountWithMerkleContext, TreeInfo, ValidityProof } from '../../state';
3
+ import { ValidityProofWithContext } from '../../rpc-interface';
3
4
  import { CompressedAccountWithMerkleContextLegacy, PackedAddressTreeInfo, PackedStateTreeInfo } from '../../state/compressed-account';
5
+ import { PackedAccounts, PackedAccountsSmall } from '../../utils';
4
6
  /**
5
7
  * @internal Finds the index of a PublicKey in an array, or adds it if not
6
8
  * present
@@ -24,15 +26,8 @@ export declare function getIndexOrAdd(accountsArray: PublicKey[], key: PublicKey
24
26
  */
25
27
  export declare function padOutputStateMerkleTrees(outputStateMerkleTrees: PublicKey, numberOfOutputCompressedAccounts: number): PublicKey[];
26
28
  export declare function toAccountMetas(remainingAccounts: PublicKey[]): AccountMeta[];
27
- export interface PackedStateTreeInfos {
28
- packedTreeInfos: PackedStateTreeInfo[];
29
- outputTreeIndex: number;
30
- }
31
- export interface PackedTreeInfos {
32
- stateTrees?: PackedStateTreeInfos;
33
- addressTrees: PackedAddressTreeInfo[];
34
- }
35
29
  /**
30
+ * @deprecated Use {@link packTreeInfos} instead.
36
31
  * Packs TreeInfos. Replaces PublicKey with index pointer to remaining accounts.
37
32
  *
38
33
  * Only use for MUT, CLOSE, NEW_ADDRESSES. For INIT, pass
@@ -48,7 +43,7 @@ export interface PackedTreeInfos {
48
43
  * @returns Remaining accounts, packed state and address tree infos, state tree
49
44
  * output index and address tree infos.
50
45
  */
51
- export declare function packTreeInfos(remainingAccounts: PublicKey[], accountProofInputs: AccountProofInput[], newAddressProofInputs: NewAddressProofInput[]): PackedTreeInfos;
46
+ export declare function packTreeInfosWithPubkeys(remainingAccounts: PublicKey[], accountProofInputs: AccountProofInput[], newAddressProofInputs: NewAddressProofInput[]): PackedTreeInfos;
52
47
  /**
53
48
  * Packs Compressed Accounts.
54
49
  *
@@ -72,3 +67,77 @@ export declare function packCompressedAccounts(inputCompressedAccounts: Compress
72
67
  packedOutputCompressedAccounts: OutputCompressedAccountWithPackedContext[];
73
68
  remainingAccounts: PublicKey[];
74
69
  };
70
+ /**
71
+ * Root index for state tree proofs.
72
+ */
73
+ export type RootIndex = {
74
+ proofByIndex: boolean;
75
+ rootIndex: number;
76
+ };
77
+ /**
78
+ * Creates a RootIndex for proving by merkle proof.
79
+ */
80
+ export declare function createRootIndex(rootIndex: number): RootIndex;
81
+ /**
82
+ * Creates a RootIndex for proving by leaf index.
83
+ */
84
+ export declare function createRootIndexByIndex(): RootIndex;
85
+ /**
86
+ * Account proof inputs for state tree accounts.
87
+ */
88
+ export type AccountProofInputs = {
89
+ hash: Uint8Array;
90
+ root: Uint8Array;
91
+ rootIndex: RootIndex;
92
+ leafIndex: number;
93
+ treeInfo: TreeInfo;
94
+ };
95
+ /**
96
+ * Address proof inputs for address tree accounts.
97
+ */
98
+ export type AddressProofInputs = {
99
+ address: Uint8Array;
100
+ root: Uint8Array;
101
+ rootIndex: number;
102
+ treeInfo: TreeInfo;
103
+ };
104
+ /**
105
+ * Validity proof with context structure that matches Rust implementation.
106
+ */
107
+ export type ValidityProofWithContextV2 = {
108
+ proof: ValidityProof | null;
109
+ accounts: AccountProofInputs[];
110
+ addresses: AddressProofInputs[];
111
+ };
112
+ /**
113
+ * Packed state tree infos.
114
+ */
115
+ export type PackedStateTreeInfos = {
116
+ packedTreeInfos: PackedStateTreeInfo[];
117
+ outputTreeIndex: number;
118
+ };
119
+ /**
120
+ * Packed tree infos containing both state and address trees.
121
+ */
122
+ export type PackedTreeInfos = {
123
+ stateTrees: PackedStateTreeInfos | null;
124
+ addressTrees: PackedAddressTreeInfo[];
125
+ };
126
+ /**
127
+ * Packs tree infos from ValidityProofWithContext into packed format. This is a
128
+ * TypeScript equivalent of the Rust pack_tree_infos method.
129
+ *
130
+ * @param validityProof - The validity proof with context (flat format)
131
+ * @param packedAccounts - The packed accounts manager (supports both PackedAccounts and PackedAccountsSmall)
132
+ * @returns Packed tree infos
133
+ */
134
+ export declare function packTreeInfos(validityProof: ValidityProofWithContext, packedAccounts: PackedAccounts | PackedAccountsSmall): PackedTreeInfos;
135
+ /**
136
+ * Packs tree infos from ValidityProofWithContextV2 into packed format. This is
137
+ * a TypeScript equivalent of the Rust pack_tree_infos method.
138
+ *
139
+ * @param validityProof - The validity proof with context (structured format)
140
+ * @param packedAccounts - The packed accounts manager (supports both PackedAccounts and PackedAccountsSmall)
141
+ * @returns Packed tree infos
142
+ */
143
+ export declare function packTreeInfos(validityProof: ValidityProofWithContextV2, packedAccounts: PackedAccounts | PackedAccountsSmall): PackedTreeInfos;
@@ -237,10 +237,10 @@ export declare const CompressedAccountResult: Struct<{
237
237
  dataHash: BN;
238
238
  discriminator: BN;
239
239
  } | null;
240
- lamports: BN;
241
240
  tree: PublicKey;
242
241
  address: number[] | null;
243
242
  hash: BN;
243
+ lamports: BN;
244
244
  owner: PublicKey;
245
245
  leafIndex: number;
246
246
  seq: BN | null;
@@ -270,9 +270,9 @@ export declare const CompressedAccountResultV2: Struct<{
270
270
  dataHash: BN;
271
271
  discriminator: BN;
272
272
  } | null;
273
- lamports: BN;
274
273
  address: number[] | null;
275
274
  hash: BN;
275
+ lamports: BN;
276
276
  owner: PublicKey;
277
277
  leafIndex: number;
278
278
  seq: BN | null;
@@ -367,10 +367,10 @@ export declare const CompressedTokenAccountResult: Struct<{
367
367
  dataHash: BN;
368
368
  discriminator: BN;
369
369
  } | null;
370
- lamports: BN;
371
370
  tree: PublicKey;
372
371
  address: number[] | null;
373
372
  hash: BN;
373
+ lamports: BN;
374
374
  owner: PublicKey;
375
375
  leafIndex: number;
376
376
  seq: BN | null;
@@ -396,10 +396,10 @@ export declare const CompressedTokenAccountResult: Struct<{
396
396
  dataHash: BN;
397
397
  discriminator: BN;
398
398
  } | null;
399
- lamports: BN;
400
399
  tree: PublicKey;
401
400
  address: number[] | null;
402
401
  hash: BN;
402
+ lamports: BN;
403
403
  owner: PublicKey;
404
404
  leafIndex: number;
405
405
  seq: BN | null;
@@ -441,9 +441,9 @@ export declare const CompressedTokenAccountResultV2: Struct<{
441
441
  dataHash: BN;
442
442
  discriminator: BN;
443
443
  } | null;
444
- lamports: BN;
445
444
  address: number[] | null;
446
445
  hash: BN;
446
+ lamports: BN;
447
447
  owner: PublicKey;
448
448
  leafIndex: number;
449
449
  seq: BN | null;
@@ -482,9 +482,9 @@ export declare const CompressedTokenAccountResultV2: Struct<{
482
482
  dataHash: BN;
483
483
  discriminator: BN;
484
484
  } | null;
485
- lamports: BN;
486
485
  address: number[] | null;
487
486
  hash: BN;
487
+ lamports: BN;
488
488
  owner: PublicKey;
489
489
  leafIndex: number;
490
490
  seq: BN | null;
@@ -560,10 +560,10 @@ export declare const MultipleCompressedAccountsResult: Struct<{
560
560
  dataHash: BN;
561
561
  discriminator: BN;
562
562
  } | null;
563
- lamports: BN;
564
563
  tree: PublicKey;
565
564
  address: number[] | null;
566
565
  hash: BN;
566
+ lamports: BN;
567
567
  owner: PublicKey;
568
568
  leafIndex: number;
569
569
  seq: BN | null;
@@ -576,10 +576,10 @@ export declare const MultipleCompressedAccountsResult: Struct<{
576
576
  dataHash: BN;
577
577
  discriminator: BN;
578
578
  } | null;
579
- lamports: BN;
580
579
  tree: PublicKey;
581
580
  address: number[] | null;
582
581
  hash: BN;
582
+ lamports: BN;
583
583
  owner: PublicKey;
584
584
  leafIndex: number;
585
585
  seq: BN | null;
@@ -590,10 +590,10 @@ export declare const MultipleCompressedAccountsResult: Struct<{
590
590
  dataHash: BN;
591
591
  discriminator: BN;
592
592
  } | null;
593
- lamports: BN;
594
593
  tree: PublicKey;
595
594
  address: number[] | null;
596
595
  hash: BN;
596
+ lamports: BN;
597
597
  owner: PublicKey;
598
598
  leafIndex: number;
599
599
  seq: BN | null;
@@ -628,9 +628,9 @@ export declare const MultipleCompressedAccountsResultV2: Struct<{
628
628
  dataHash: BN;
629
629
  discriminator: BN;
630
630
  } | null;
631
- lamports: BN;
632
631
  address: number[] | null;
633
632
  hash: BN;
633
+ lamports: BN;
634
634
  owner: PublicKey;
635
635
  leafIndex: number;
636
636
  seq: BN | null;
@@ -656,9 +656,9 @@ export declare const MultipleCompressedAccountsResultV2: Struct<{
656
656
  dataHash: BN;
657
657
  discriminator: BN;
658
658
  } | null;
659
- lamports: BN;
660
659
  address: number[] | null;
661
660
  hash: BN;
661
+ lamports: BN;
662
662
  owner: PublicKey;
663
663
  leafIndex: number;
664
664
  seq: BN | null;
@@ -682,9 +682,9 @@ export declare const MultipleCompressedAccountsResultV2: Struct<{
682
682
  dataHash: BN;
683
683
  discriminator: BN;
684
684
  } | null;
685
- lamports: BN;
686
685
  address: number[] | null;
687
686
  hash: BN;
687
+ lamports: BN;
688
688
  owner: PublicKey;
689
689
  leafIndex: number;
690
690
  seq: BN | null;
@@ -760,10 +760,10 @@ export declare const CompressedAccountsByOwnerResult: Struct<{
760
760
  dataHash: BN;
761
761
  discriminator: BN;
762
762
  } | null;
763
- lamports: BN;
764
763
  tree: PublicKey;
765
764
  address: number[] | null;
766
765
  hash: BN;
766
+ lamports: BN;
767
767
  owner: PublicKey;
768
768
  leafIndex: number;
769
769
  seq: BN | null;
@@ -777,10 +777,10 @@ export declare const CompressedAccountsByOwnerResult: Struct<{
777
777
  dataHash: BN;
778
778
  discriminator: BN;
779
779
  } | null;
780
- lamports: BN;
781
780
  tree: PublicKey;
782
781
  address: number[] | null;
783
782
  hash: BN;
783
+ lamports: BN;
784
784
  owner: PublicKey;
785
785
  leafIndex: number;
786
786
  seq: BN | null;
@@ -791,10 +791,10 @@ export declare const CompressedAccountsByOwnerResult: Struct<{
791
791
  dataHash: BN;
792
792
  discriminator: BN;
793
793
  } | null;
794
- lamports: BN;
795
794
  tree: PublicKey;
796
795
  address: number[] | null;
797
796
  hash: BN;
797
+ lamports: BN;
798
798
  owner: PublicKey;
799
799
  leafIndex: number;
800
800
  seq: BN | null;
@@ -830,9 +830,9 @@ export declare const CompressedAccountsByOwnerResultV2: Struct<{
830
830
  dataHash: BN;
831
831
  discriminator: BN;
832
832
  } | null;
833
- lamports: BN;
834
833
  address: number[] | null;
835
834
  hash: BN;
835
+ lamports: BN;
836
836
  owner: PublicKey;
837
837
  leafIndex: number;
838
838
  seq: BN | null;
@@ -859,9 +859,9 @@ export declare const CompressedAccountsByOwnerResultV2: Struct<{
859
859
  dataHash: BN;
860
860
  discriminator: BN;
861
861
  } | null;
862
- lamports: BN;
863
862
  address: number[] | null;
864
863
  hash: BN;
864
+ lamports: BN;
865
865
  owner: PublicKey;
866
866
  leafIndex: number;
867
867
  seq: BN | null;
@@ -885,9 +885,9 @@ export declare const CompressedAccountsByOwnerResultV2: Struct<{
885
885
  dataHash: BN;
886
886
  discriminator: BN;
887
887
  } | null;
888
- lamports: BN;
889
888
  address: number[] | null;
890
889
  hash: BN;
890
+ lamports: BN;
891
891
  owner: PublicKey;
892
892
  leafIndex: number;
893
893
  seq: BN | null;
@@ -972,10 +972,10 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
972
972
  dataHash: BN;
973
973
  discriminator: BN;
974
974
  } | null;
975
- lamports: BN;
976
975
  tree: PublicKey;
977
976
  address: number[] | null;
978
977
  hash: BN;
978
+ lamports: BN;
979
979
  owner: PublicKey;
980
980
  leafIndex: number;
981
981
  seq: BN | null;
@@ -998,10 +998,10 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
998
998
  dataHash: BN;
999
999
  discriminator: BN;
1000
1000
  } | null;
1001
- lamports: BN;
1002
1001
  tree: PublicKey;
1003
1002
  address: number[] | null;
1004
1003
  hash: BN;
1004
+ lamports: BN;
1005
1005
  owner: PublicKey;
1006
1006
  leafIndex: number;
1007
1007
  seq: BN | null;
@@ -1021,10 +1021,10 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
1021
1021
  dataHash: BN;
1022
1022
  discriminator: BN;
1023
1023
  } | null;
1024
- lamports: BN;
1025
1024
  tree: PublicKey;
1026
1025
  address: number[] | null;
1027
1026
  hash: BN;
1027
+ lamports: BN;
1028
1028
  owner: PublicKey;
1029
1029
  leafIndex: number;
1030
1030
  seq: BN | null;
@@ -1050,10 +1050,10 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResult: Struct<{
1050
1050
  dataHash: BN;
1051
1051
  discriminator: BN;
1052
1052
  } | null;
1053
- lamports: BN;
1054
1053
  tree: PublicKey;
1055
1054
  address: number[] | null;
1056
1055
  hash: BN;
1056
+ lamports: BN;
1057
1057
  owner: PublicKey;
1058
1058
  leafIndex: number;
1059
1059
  seq: BN | null;
@@ -1098,9 +1098,9 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResultV2: Struct<{
1098
1098
  dataHash: BN;
1099
1099
  discriminator: BN;
1100
1100
  } | null;
1101
- lamports: BN;
1102
1101
  address: number[] | null;
1103
1102
  hash: BN;
1103
+ lamports: BN;
1104
1104
  owner: PublicKey;
1105
1105
  leafIndex: number;
1106
1106
  seq: BN | null;
@@ -1136,9 +1136,9 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResultV2: Struct<{
1136
1136
  dataHash: BN;
1137
1137
  discriminator: BN;
1138
1138
  } | null;
1139
- lamports: BN;
1140
1139
  address: number[] | null;
1141
1140
  hash: BN;
1141
+ lamports: BN;
1142
1142
  owner: PublicKey;
1143
1143
  leafIndex: number;
1144
1144
  seq: BN | null;
@@ -1171,9 +1171,9 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResultV2: Struct<{
1171
1171
  dataHash: BN;
1172
1172
  discriminator: BN;
1173
1173
  } | null;
1174
- lamports: BN;
1175
1174
  address: number[] | null;
1176
1175
  hash: BN;
1176
+ lamports: BN;
1177
1177
  owner: PublicKey;
1178
1178
  leafIndex: number;
1179
1179
  seq: BN | null;
@@ -1212,9 +1212,9 @@ export declare const CompressedTokenAccountsByOwnerOrDelegateResultV2: Struct<{
1212
1212
  dataHash: BN;
1213
1213
  discriminator: BN;
1214
1214
  } | null;
1215
- lamports: BN;
1216
1215
  address: number[] | null;
1217
1216
  hash: BN;
1217
+ lamports: BN;
1218
1218
  owner: PublicKey;
1219
1219
  leafIndex: number;
1220
1220
  seq: BN | null;
@@ -1925,10 +1925,10 @@ export declare const CompressedTransactionResult: Struct<{
1925
1925
  dataHash: BN;
1926
1926
  discriminator: BN;
1927
1927
  } | null;
1928
- lamports: BN;
1929
1928
  tree: PublicKey;
1930
1929
  address: number[] | null;
1931
1930
  hash: BN;
1931
+ lamports: BN;
1932
1932
  owner: PublicKey;
1933
1933
  leafIndex: number;
1934
1934
  seq: BN | null;
@@ -1949,10 +1949,10 @@ export declare const CompressedTransactionResult: Struct<{
1949
1949
  dataHash: BN;
1950
1950
  discriminator: BN;
1951
1951
  } | null;
1952
- lamports: BN;
1953
1952
  tree: PublicKey;
1954
1953
  address: number[] | null;
1955
1954
  hash: BN;
1955
+ lamports: BN;
1956
1956
  owner: PublicKey;
1957
1957
  leafIndex: number;
1958
1958
  seq: BN | null;
@@ -1977,10 +1977,10 @@ export declare const CompressedTransactionResult: Struct<{
1977
1977
  dataHash: BN;
1978
1978
  discriminator: BN;
1979
1979
  } | null;
1980
- lamports: BN;
1981
1980
  tree: PublicKey;
1982
1981
  address: number[] | null;
1983
1982
  hash: BN;
1983
+ lamports: BN;
1984
1984
  owner: PublicKey;
1985
1985
  leafIndex: number;
1986
1986
  seq: BN | null;
@@ -2001,10 +2001,10 @@ export declare const CompressedTransactionResult: Struct<{
2001
2001
  dataHash: BN;
2002
2002
  discriminator: BN;
2003
2003
  } | null;
2004
- lamports: BN;
2005
2004
  tree: PublicKey;
2006
2005
  address: number[] | null;
2007
2006
  hash: BN;
2007
+ lamports: BN;
2008
2008
  owner: PublicKey;
2009
2009
  leafIndex: number;
2010
2010
  seq: BN | null;
@@ -2026,10 +2026,10 @@ export declare const CompressedTransactionResult: Struct<{
2026
2026
  dataHash: BN;
2027
2027
  discriminator: BN;
2028
2028
  } | null;
2029
- lamports: BN;
2030
2029
  tree: PublicKey;
2031
2030
  address: number[] | null;
2032
2031
  hash: BN;
2032
+ lamports: BN;
2033
2033
  owner: PublicKey;
2034
2034
  leafIndex: number;
2035
2035
  seq: BN | null;
@@ -2049,10 +2049,10 @@ export declare const CompressedTransactionResult: Struct<{
2049
2049
  dataHash: BN;
2050
2050
  discriminator: BN;
2051
2051
  } | null;
2052
- lamports: BN;
2053
2052
  tree: PublicKey;
2054
2053
  address: number[] | null;
2055
2054
  hash: BN;
2055
+ lamports: BN;
2056
2056
  owner: PublicKey;
2057
2057
  leafIndex: number;
2058
2058
  seq: BN | null;
@@ -2072,10 +2072,10 @@ export declare const CompressedTransactionResult: Struct<{
2072
2072
  dataHash: BN;
2073
2073
  discriminator: BN;
2074
2074
  } | null;
2075
- lamports: BN;
2076
2075
  tree: PublicKey;
2077
2076
  address: number[] | null;
2078
2077
  hash: BN;
2078
+ lamports: BN;
2079
2079
  owner: PublicKey;
2080
2080
  leafIndex: number;
2081
2081
  seq: BN | null;
@@ -2120,10 +2120,10 @@ export declare const CompressedTransactionResult: Struct<{
2120
2120
  dataHash: BN;
2121
2121
  discriminator: BN;
2122
2122
  } | null;
2123
- lamports: BN;
2124
2123
  tree: PublicKey;
2125
2124
  address: number[] | null;
2126
2125
  hash: BN;
2126
+ lamports: BN;
2127
2127
  owner: PublicKey;
2128
2128
  leafIndex: number;
2129
2129
  seq: BN | null;
@@ -2143,10 +2143,10 @@ export declare const CompressedTransactionResult: Struct<{
2143
2143
  dataHash: BN;
2144
2144
  discriminator: BN;
2145
2145
  } | null;
2146
- lamports: BN;
2147
2146
  tree: PublicKey;
2148
2147
  address: number[] | null;
2149
2148
  hash: BN;
2149
+ lamports: BN;
2150
2150
  owner: PublicKey;
2151
2151
  leafIndex: number;
2152
2152
  seq: BN | null;
@@ -2166,10 +2166,10 @@ export declare const CompressedTransactionResult: Struct<{
2166
2166
  dataHash: BN;
2167
2167
  discriminator: BN;
2168
2168
  } | null;
2169
- lamports: BN;
2170
2169
  tree: PublicKey;
2171
2170
  address: number[] | null;
2172
2171
  hash: BN;
2172
+ lamports: BN;
2173
2173
  owner: PublicKey;
2174
2174
  leafIndex: number;
2175
2175
  seq: BN | null;
@@ -2223,9 +2223,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2223
2223
  dataHash: BN;
2224
2224
  discriminator: BN;
2225
2225
  } | null;
2226
- lamports: BN;
2227
2226
  address: number[] | null;
2228
2227
  hash: BN;
2228
+ lamports: BN;
2229
2229
  owner: PublicKey;
2230
2230
  leafIndex: number;
2231
2231
  seq: BN | null;
@@ -2262,9 +2262,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2262
2262
  dataHash: BN;
2263
2263
  discriminator: BN;
2264
2264
  } | null;
2265
- lamports: BN;
2266
2265
  address: number[] | null;
2267
2266
  hash: BN;
2267
+ lamports: BN;
2268
2268
  owner: PublicKey;
2269
2269
  leafIndex: number;
2270
2270
  seq: BN | null;
@@ -2303,9 +2303,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2303
2303
  dataHash: BN;
2304
2304
  discriminator: BN;
2305
2305
  } | null;
2306
- lamports: BN;
2307
2306
  address: number[] | null;
2308
2307
  hash: BN;
2308
+ lamports: BN;
2309
2309
  owner: PublicKey;
2310
2310
  leafIndex: number;
2311
2311
  seq: BN | null;
@@ -2342,9 +2342,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2342
2342
  dataHash: BN;
2343
2343
  discriminator: BN;
2344
2344
  } | null;
2345
- lamports: BN;
2346
2345
  address: number[] | null;
2347
2346
  hash: BN;
2347
+ lamports: BN;
2348
2348
  owner: PublicKey;
2349
2349
  leafIndex: number;
2350
2350
  seq: BN | null;
@@ -2380,9 +2380,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2380
2380
  dataHash: BN;
2381
2381
  discriminator: BN;
2382
2382
  } | null;
2383
- lamports: BN;
2384
2383
  address: number[] | null;
2385
2384
  hash: BN;
2385
+ lamports: BN;
2386
2386
  owner: PublicKey;
2387
2387
  leafIndex: number;
2388
2388
  seq: BN | null;
@@ -2419,9 +2419,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2419
2419
  dataHash: BN;
2420
2420
  discriminator: BN;
2421
2421
  } | null;
2422
- lamports: BN;
2423
2422
  address: number[] | null;
2424
2423
  hash: BN;
2424
+ lamports: BN;
2425
2425
  owner: PublicKey;
2426
2426
  leafIndex: number;
2427
2427
  seq: BN | null;
@@ -2458,9 +2458,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2458
2458
  dataHash: BN;
2459
2459
  discriminator: BN;
2460
2460
  } | null;
2461
- lamports: BN;
2462
2461
  address: number[] | null;
2463
2462
  hash: BN;
2463
+ lamports: BN;
2464
2464
  owner: PublicKey;
2465
2465
  leafIndex: number;
2466
2466
  seq: BN | null;
@@ -2488,9 +2488,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2488
2488
  dataHash: BN;
2489
2489
  discriminator: BN;
2490
2490
  } | null;
2491
- lamports: BN;
2492
2491
  address: number[] | null;
2493
2492
  hash: BN;
2493
+ lamports: BN;
2494
2494
  owner: PublicKey;
2495
2495
  leafIndex: number;
2496
2496
  seq: BN | null;
@@ -2579,9 +2579,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2579
2579
  dataHash: BN;
2580
2580
  discriminator: BN;
2581
2581
  } | null;
2582
- lamports: BN;
2583
2582
  address: number[] | null;
2584
2583
  hash: BN;
2584
+ lamports: BN;
2585
2585
  owner: PublicKey;
2586
2586
  leafIndex: number;
2587
2587
  seq: BN | null;
@@ -2614,9 +2614,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2614
2614
  dataHash: BN;
2615
2615
  discriminator: BN;
2616
2616
  } | null;
2617
- lamports: BN;
2618
2617
  address: number[] | null;
2619
2618
  hash: BN;
2619
+ lamports: BN;
2620
2620
  owner: PublicKey;
2621
2621
  leafIndex: number;
2622
2622
  seq: BN | null;
@@ -2649,9 +2649,9 @@ export declare const CompressedTransactionResultV2: Struct<{
2649
2649
  dataHash: BN;
2650
2650
  discriminator: BN;
2651
2651
  } | null;
2652
- lamports: BN;
2653
2652
  address: number[] | null;
2654
2653
  hash: BN;
2654
+ lamports: BN;
2655
2655
  owner: PublicKey;
2656
2656
  leafIndex: number;
2657
2657
  seq: BN | null;
@@ -1,7 +1,7 @@
1
- import { Connection, ConnectionConfig, PublicKey } from '@solana/web3.js';
1
+ import { AccountInfo, Connection, ConnectionConfig, PublicKey } from '@solana/web3.js';
2
2
  import { Buffer } from 'buffer';
3
3
  import { ValidityProofWithContext, CompressedTransaction, CompressionApiInterface, GetCompressedTokenAccountsByOwnerOrDelegateOptions, HexInputsForProver, ParsedTokenAccount, SignatureWithMetadata, LatestNonVotingSignatures, LatestNonVotingSignaturesPaginated, WithContext, GetCompressedAccountsByOwnerConfig, WithCursor, AddressWithTree, HashWithTree, CompressedMintTokenHolders, TokenBalance, PaginatedOptions } from './rpc-interface';
4
- import { MerkleContextWithMerkleProof, BN254, CompressedAccountWithMerkleContext, ValidityProof, AddressTreeInfo } from './state';
4
+ import { MerkleContextWithMerkleProof, BN254, CompressedAccountWithMerkleContext, ValidityProof, AddressTreeInfo, MerkleContext } from './state';
5
5
  import BN from 'bn.js';
6
6
  import { LightWasm } from './test-helpers';
7
7
  import { TreeInfo } from './state/types';
@@ -12,7 +12,7 @@ export declare function parseAccountData({ discriminator, data, dataHash, }: {
12
12
  dataHash: BN;
13
13
  }): {
14
14
  discriminator: number[];
15
- data: Buffer;
15
+ data: Buffer<ArrayBuffer>;
16
16
  dataHash: number[];
17
17
  };
18
18
  /**
@@ -277,4 +277,18 @@ export declare class Rpc extends Connection implements CompressionApiInterface {
277
277
  * @returns validity proof with context
278
278
  */
279
279
  getValidityProofAndRpcContext(hashes?: HashWithTree[], newAddresses?: AddressWithTree[]): Promise<WithContext<ValidityProofWithContext>>;
280
+ /**
281
+ * Get account info from either compressed or onchain storage.
282
+ * @param address The account address to fetch.
283
+ * @param programId The owner program ID.
284
+ * @param addressTreeInfo The address tree info used to store the account.
285
+ * @param rpc The RPC client to use.
286
+ *
287
+ * @returns Account info with compression info, or null if account
288
+ * doesn't exist.
289
+ */
290
+ getCompressibleAccountInfo(address: PublicKey, programId: PublicKey, addressTreeInfo: TreeInfo, rpc: Rpc): Promise<{
291
+ accountInfo: AccountInfo<Buffer>;
292
+ merkleContext?: MerkleContext;
293
+ } | null>;
280
294
  }