@lightprotocol/stateless.js 0.1.0-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 (44) hide show
  1. package/README.md +58 -0
  2. package/dist/cjs/index.cjs +4031 -0
  3. package/dist/es/index.js +3988 -0
  4. package/dist/types/actions/common.d.ts +3 -0
  5. package/dist/types/actions/compress-lamports.d.ts +16 -0
  6. package/dist/types/actions/decompress-lamports.d.ts +16 -0
  7. package/dist/types/actions/index.d.ts +4 -0
  8. package/dist/types/actions/init-sol-omnibus-account.d.ts +13 -0
  9. package/dist/types/constants.d.ts +34 -0
  10. package/dist/types/errors.d.ts +74 -0
  11. package/dist/types/idls/account_compression.d.ts +932 -0
  12. package/dist/types/idls/index.d.ts +5 -0
  13. package/dist/types/idls/light.d.ts +192 -0
  14. package/dist/types/idls/psp_compressed_pda.d.ts +607 -0
  15. package/dist/types/idls/user_registry.d.ts +69 -0
  16. package/dist/types/index.d.ts +12 -0
  17. package/dist/types/instruction/index.d.ts +1 -0
  18. package/dist/types/instruction/pack-compressed-accounts.d.ts +30 -0
  19. package/dist/types/programs/compressed-pda.d.ts +148 -0
  20. package/dist/types/programs/index.d.ts +1 -0
  21. package/dist/types/rpc-interface.d.ts +430 -0
  22. package/dist/types/rpc.d.ts +26 -0
  23. package/dist/types/state/BN254.d.ts +20 -0
  24. package/dist/types/state/compressed-account.d.ts +35 -0
  25. package/dist/types/state/index.d.ts +3 -0
  26. package/dist/types/state/types.d.ts +108 -0
  27. package/dist/types/test-utils/common.d.ts +32 -0
  28. package/dist/types/test-utils/index.d.ts +5 -0
  29. package/dist/types/test-utils/merkle-tree.d.ts +92 -0
  30. package/dist/types/test-utils/parse-event.d.ts +7 -0
  31. package/dist/types/test-utils/parse-validity-proof.d.ts +20 -0
  32. package/dist/types/test-utils/test-rpc.d.ts +51 -0
  33. package/dist/types/utils/airdrop.d.ts +7 -0
  34. package/dist/types/utils/conversion.d.ts +10 -0
  35. package/dist/types/utils/index.d.ts +6 -0
  36. package/dist/types/utils/pipe.d.ts +2 -0
  37. package/dist/types/utils/send-and-confirm.d.ts +18 -0
  38. package/dist/types/utils/sleep.d.ts +1 -0
  39. package/dist/types/utils/validation.d.ts +4 -0
  40. package/dist/types/wallet/index.d.ts +1 -0
  41. package/dist/types/wallet/interface.d.ts +25 -0
  42. package/dist/types/wallet/use-wallet.d.ts +9 -0
  43. package/dist/umd/index.js +4027 -0
  44. package/package.json +81 -0
@@ -0,0 +1,607 @@
1
+ export type PspCompressedPda = {
2
+ version: '0.3.0';
3
+ name: 'psp_compressed_pda';
4
+ constants: [
5
+ {
6
+ name: 'COMPRESSED_SOL_PDA_SEED';
7
+ type: 'bytes';
8
+ value: '[99, 111, 109, 112, 114, 101, 115, 115, 101, 100, 95, 115, 111, 108, 95, 112, 100, 97]';
9
+ }
10
+ ];
11
+ instructions: [
12
+ {
13
+ name: 'initCompressSolPda';
14
+ docs: [
15
+ 'Initializes the compressed sol pda.',
16
+ 'This pda is used to store compressed sol for the protocol.'
17
+ ];
18
+ accounts: [
19
+ {
20
+ name: 'feePayer';
21
+ isMut: true;
22
+ isSigner: true;
23
+ },
24
+ {
25
+ name: 'compressedSolPda';
26
+ isMut: true;
27
+ isSigner: false;
28
+ },
29
+ {
30
+ name: 'systemProgram';
31
+ isMut: false;
32
+ isSigner: false;
33
+ }
34
+ ];
35
+ args: [];
36
+ },
37
+ {
38
+ name: 'executeCompressedTransaction';
39
+ docs: [
40
+ 'This function can be used to transfer sol and execute any other compressed transaction.',
41
+ 'Instruction data is not optimized for space.',
42
+ 'This method can be called by cpi so that instruction data can be compressed with a custom algorithm.'
43
+ ];
44
+ accounts: [
45
+ {
46
+ name: 'signer';
47
+ isMut: false;
48
+ isSigner: true;
49
+ },
50
+ {
51
+ name: 'registeredProgramPda';
52
+ isMut: false;
53
+ isSigner: false;
54
+ },
55
+ {
56
+ name: 'noopProgram';
57
+ isMut: false;
58
+ isSigner: false;
59
+ },
60
+ {
61
+ name: 'pspAccountCompressionAuthority';
62
+ isMut: true;
63
+ isSigner: false;
64
+ },
65
+ {
66
+ name: 'accountCompressionProgram';
67
+ isMut: false;
68
+ isSigner: false;
69
+ },
70
+ {
71
+ name: 'cpiSignatureAccount';
72
+ isMut: false;
73
+ isSigner: false;
74
+ isOptional: true;
75
+ },
76
+ {
77
+ name: 'invokingProgram';
78
+ isMut: false;
79
+ isSigner: false;
80
+ isOptional: true;
81
+ },
82
+ {
83
+ name: 'compressedSolPda';
84
+ isMut: true;
85
+ isSigner: false;
86
+ isOptional: true;
87
+ },
88
+ {
89
+ name: 'compressionRecipient';
90
+ isMut: true;
91
+ isSigner: false;
92
+ isOptional: true;
93
+ },
94
+ {
95
+ name: 'systemProgram';
96
+ isMut: false;
97
+ isSigner: false;
98
+ isOptional: true;
99
+ }
100
+ ];
101
+ args: [
102
+ {
103
+ name: 'inputs';
104
+ type: 'bytes';
105
+ }
106
+ ];
107
+ returns: {
108
+ defined: 'crate::event::PublicTransactionEvent';
109
+ };
110
+ }
111
+ ];
112
+ accounts: [
113
+ {
114
+ name: 'cpiSignatureAccount';
115
+ docs: [
116
+ 'collects invocations without proofs',
117
+ 'invocations are collected and processed when an invocation with a proof is received'
118
+ ];
119
+ type: {
120
+ kind: 'struct';
121
+ fields: [
122
+ {
123
+ name: 'slot';
124
+ type: 'u64';
125
+ },
126
+ {
127
+ name: 'signatures';
128
+ type: {
129
+ vec: {
130
+ defined: 'InstructionDataTransfer';
131
+ };
132
+ };
133
+ }
134
+ ];
135
+ };
136
+ },
137
+ {
138
+ name: 'compressedSolPda';
139
+ type: {
140
+ kind: 'struct';
141
+ fields: [];
142
+ };
143
+ }
144
+ ];
145
+ types: [
146
+ {
147
+ name: 'CompressedAccountWithMerkleContext';
148
+ type: {
149
+ kind: 'struct';
150
+ fields: [
151
+ {
152
+ name: 'compressedAccount';
153
+ type: {
154
+ defined: 'CompressedAccount';
155
+ };
156
+ },
157
+ {
158
+ name: 'merkleTreePubkeyIndex';
159
+ type: 'u8';
160
+ },
161
+ {
162
+ name: 'nullifierQueuePubkeyIndex';
163
+ type: 'u8';
164
+ },
165
+ {
166
+ name: 'leafIndex';
167
+ type: 'u32';
168
+ }
169
+ ];
170
+ };
171
+ },
172
+ {
173
+ name: 'CompressedAccount';
174
+ type: {
175
+ kind: 'struct';
176
+ fields: [
177
+ {
178
+ name: 'owner';
179
+ type: 'publicKey';
180
+ },
181
+ {
182
+ name: 'lamports';
183
+ type: 'u64';
184
+ },
185
+ {
186
+ name: 'address';
187
+ type: {
188
+ option: {
189
+ array: ['u8', 32];
190
+ };
191
+ };
192
+ },
193
+ {
194
+ name: 'data';
195
+ type: {
196
+ option: {
197
+ defined: 'CompressedAccountData';
198
+ };
199
+ };
200
+ }
201
+ ];
202
+ };
203
+ },
204
+ {
205
+ name: 'CompressedAccountData';
206
+ type: {
207
+ kind: 'struct';
208
+ fields: [
209
+ {
210
+ name: 'discriminator';
211
+ type: {
212
+ array: ['u8', 8];
213
+ };
214
+ },
215
+ {
216
+ name: 'data';
217
+ type: 'bytes';
218
+ },
219
+ {
220
+ name: 'dataHash';
221
+ type: {
222
+ array: ['u8', 32];
223
+ };
224
+ }
225
+ ];
226
+ };
227
+ },
228
+ {
229
+ name: 'PublicTransactionEvent';
230
+ type: {
231
+ kind: 'struct';
232
+ fields: [
233
+ {
234
+ name: 'inputCompressedAccountHashes';
235
+ type: {
236
+ vec: {
237
+ array: ['u8', 32];
238
+ };
239
+ };
240
+ },
241
+ {
242
+ name: 'outputCompressedAccountHashes';
243
+ type: {
244
+ vec: {
245
+ array: ['u8', 32];
246
+ };
247
+ };
248
+ },
249
+ {
250
+ name: 'inputCompressedAccounts';
251
+ type: {
252
+ vec: {
253
+ defined: 'CompressedAccountWithMerkleContext';
254
+ };
255
+ };
256
+ },
257
+ {
258
+ name: 'outputCompressedAccounts';
259
+ type: {
260
+ vec: {
261
+ defined: 'CompressedAccount';
262
+ };
263
+ };
264
+ },
265
+ {
266
+ name: 'outputStateMerkleTreeAccountIndices';
267
+ type: 'bytes';
268
+ },
269
+ {
270
+ name: 'outputLeafIndices';
271
+ type: {
272
+ vec: 'u32';
273
+ };
274
+ },
275
+ {
276
+ name: 'relayFee';
277
+ type: {
278
+ option: 'u64';
279
+ };
280
+ },
281
+ {
282
+ name: 'isCompress';
283
+ type: 'bool';
284
+ },
285
+ {
286
+ name: 'compressionLamports';
287
+ type: {
288
+ option: 'u64';
289
+ };
290
+ },
291
+ {
292
+ name: 'pubkeyArray';
293
+ type: {
294
+ vec: 'publicKey';
295
+ };
296
+ },
297
+ {
298
+ name: 'message';
299
+ type: {
300
+ option: 'bytes';
301
+ };
302
+ }
303
+ ];
304
+ };
305
+ },
306
+ {
307
+ name: 'InstructionDataTransfer';
308
+ type: {
309
+ kind: 'struct';
310
+ fields: [
311
+ {
312
+ name: 'proof';
313
+ type: {
314
+ option: {
315
+ defined: 'CompressedProof';
316
+ };
317
+ };
318
+ },
319
+ {
320
+ name: 'newAddressParams';
321
+ type: {
322
+ vec: {
323
+ defined: 'NewAddressParamsPacked';
324
+ };
325
+ };
326
+ },
327
+ {
328
+ name: 'inputRootIndices';
329
+ type: {
330
+ vec: 'u16';
331
+ };
332
+ },
333
+ {
334
+ name: 'inputCompressedAccountsWithMerkleContext';
335
+ type: {
336
+ vec: {
337
+ defined: 'CompressedAccountWithMerkleContext';
338
+ };
339
+ };
340
+ },
341
+ {
342
+ name: 'outputCompressedAccounts';
343
+ type: {
344
+ vec: {
345
+ defined: 'CompressedAccount';
346
+ };
347
+ };
348
+ },
349
+ {
350
+ name: 'outputStateMerkleTreeAccountIndices';
351
+ docs: [
352
+ 'The indices of the accounts in the output state merkle tree.'
353
+ ];
354
+ type: 'bytes';
355
+ },
356
+ {
357
+ name: 'relayFee';
358
+ type: {
359
+ option: 'u64';
360
+ };
361
+ },
362
+ {
363
+ name: 'compressionLamports';
364
+ type: {
365
+ option: 'u64';
366
+ };
367
+ },
368
+ {
369
+ name: 'isCompress';
370
+ type: 'bool';
371
+ }
372
+ ];
373
+ };
374
+ },
375
+ {
376
+ name: 'NewAddressParamsPacked';
377
+ type: {
378
+ kind: 'struct';
379
+ fields: [
380
+ {
381
+ name: 'seed';
382
+ type: {
383
+ array: ['u8', 32];
384
+ };
385
+ },
386
+ {
387
+ name: 'addressQueueAccountIndex';
388
+ type: 'u8';
389
+ },
390
+ {
391
+ name: 'addressMerkleTreeAccountIndex';
392
+ type: 'u8';
393
+ },
394
+ {
395
+ name: 'addressMerkleTreeRootIndex';
396
+ type: 'u16';
397
+ }
398
+ ];
399
+ };
400
+ },
401
+ {
402
+ name: 'NewAddressParams';
403
+ type: {
404
+ kind: 'struct';
405
+ fields: [
406
+ {
407
+ name: 'seed';
408
+ type: {
409
+ array: ['u8', 32];
410
+ };
411
+ },
412
+ {
413
+ name: 'addressQueuePubkey';
414
+ type: 'publicKey';
415
+ },
416
+ {
417
+ name: 'addressMerkleTreePubkey';
418
+ type: 'publicKey';
419
+ },
420
+ {
421
+ name: 'addressMerkleTreeRootIndex';
422
+ type: 'u16';
423
+ }
424
+ ];
425
+ };
426
+ },
427
+ {
428
+ name: 'CompressedProof';
429
+ type: {
430
+ kind: 'struct';
431
+ fields: [
432
+ {
433
+ name: 'a';
434
+ type: {
435
+ array: ['u8', 32];
436
+ };
437
+ },
438
+ {
439
+ name: 'b';
440
+ type: {
441
+ array: ['u8', 64];
442
+ };
443
+ },
444
+ {
445
+ name: 'c';
446
+ type: {
447
+ array: ['u8', 32];
448
+ };
449
+ }
450
+ ];
451
+ };
452
+ }
453
+ ];
454
+ errors: [
455
+ {
456
+ code: 6000;
457
+ name: 'SumCheckFailed';
458
+ msg: 'Sum check failed';
459
+ },
460
+ {
461
+ code: 6001;
462
+ name: 'SignerCheckFailed';
463
+ msg: 'Signer check failed';
464
+ },
465
+ {
466
+ code: 6002;
467
+ name: 'CpiSignerCheckFailed';
468
+ msg: 'Cpi signer check failed';
469
+ },
470
+ {
471
+ code: 6003;
472
+ name: 'ComputeInputSumFailed';
473
+ msg: 'Computing input sum failed.';
474
+ },
475
+ {
476
+ code: 6004;
477
+ name: 'ComputeOutputSumFailed';
478
+ msg: 'Computing output sum failed.';
479
+ },
480
+ {
481
+ code: 6005;
482
+ name: 'ComputeRpcSumFailed';
483
+ msg: 'Computing rpc sum failed.';
484
+ },
485
+ {
486
+ code: 6006;
487
+ name: 'InUtxosAlreadyAdded';
488
+ msg: 'InUtxosAlreadyAdded';
489
+ },
490
+ {
491
+ code: 6007;
492
+ name: 'NumberOfLeavesMissmatch';
493
+ msg: 'NumberOfLeavesMissmatch';
494
+ },
495
+ {
496
+ code: 6008;
497
+ name: 'MerkleTreePubkeysMissmatch';
498
+ msg: 'MerkleTreePubkeysMissmatch';
499
+ },
500
+ {
501
+ code: 6009;
502
+ name: 'NullifierArrayPubkeysMissmatch';
503
+ msg: 'NullifierArrayPubkeysMissmatch';
504
+ },
505
+ {
506
+ code: 6010;
507
+ name: 'InvalidNoopPubkey';
508
+ msg: 'InvalidNoopPubkey';
509
+ },
510
+ {
511
+ code: 6011;
512
+ name: 'InvalidPublicInputsLength';
513
+ msg: 'InvalidPublicInputsLength';
514
+ },
515
+ {
516
+ code: 6012;
517
+ name: 'DecompressG1Failed';
518
+ msg: 'Decompress G1 Failed';
519
+ },
520
+ {
521
+ code: 6013;
522
+ name: 'DecompressG2Failed';
523
+ msg: 'Decompress G2 Failed';
524
+ },
525
+ {
526
+ code: 6014;
527
+ name: 'CreateGroth16VerifierFailed';
528
+ msg: 'CreateGroth16VerifierFailed';
529
+ },
530
+ {
531
+ code: 6015;
532
+ name: 'ProofVerificationFailed';
533
+ msg: 'ProofVerificationFailed';
534
+ },
535
+ {
536
+ code: 6016;
537
+ name: 'PublicInputsTryIntoFailed';
538
+ msg: 'PublicInputsTryIntoFailed';
539
+ },
540
+ {
541
+ code: 6017;
542
+ name: 'CompressedAccountHashError';
543
+ msg: 'CompressedAccountHashError';
544
+ },
545
+ {
546
+ code: 6018;
547
+ name: 'InvalidAddress';
548
+ msg: 'InvalidAddress';
549
+ },
550
+ {
551
+ code: 6019;
552
+ name: 'InvalidAddressQueue';
553
+ msg: 'InvalidAddressQueue';
554
+ },
555
+ {
556
+ code: 6020;
557
+ name: 'InvalidNullifierQueue';
558
+ msg: 'InvalidNullifierQueue';
559
+ },
560
+ {
561
+ code: 6021;
562
+ name: 'DeriveAddressError';
563
+ msg: 'DeriveAddressError';
564
+ },
565
+ {
566
+ code: 6022;
567
+ name: 'CompressSolTransferFailed';
568
+ msg: 'CompressSolTransferFailed';
569
+ },
570
+ {
571
+ code: 6023;
572
+ name: 'CompressedSolPdaUndefinedForCompressSol';
573
+ msg: 'CompressedSolPdaUndefinedForCompressSol';
574
+ },
575
+ {
576
+ code: 6024;
577
+ name: 'DeCompressLamportsUndefinedForCompressSol';
578
+ msg: 'DeCompressLamportsUndefinedForCompressSol';
579
+ },
580
+ {
581
+ code: 6025;
582
+ name: 'CompressedSolPdaUndefinedForDecompressSol';
583
+ msg: 'CompressedSolPdaUndefinedForDecompressSol';
584
+ },
585
+ {
586
+ code: 6026;
587
+ name: 'DeCompressLamportsUndefinedForDecompressSol';
588
+ msg: 'DeCompressLamportsUndefinedForDecompressSol';
589
+ },
590
+ {
591
+ code: 6027;
592
+ name: 'DecompressRecipientUndefinedForDecompressSol';
593
+ msg: 'DecompressRecipientUndefinedForDecompressSol';
594
+ },
595
+ {
596
+ code: 6028;
597
+ name: 'LengthMismatch';
598
+ msg: 'LengthMismatch';
599
+ },
600
+ {
601
+ code: 6029;
602
+ name: 'DelegateUndefined';
603
+ msg: 'DelegateUndefined while delegated amount is defined';
604
+ }
605
+ ];
606
+ };
607
+ export declare const IDL: PspCompressedPda;
@@ -0,0 +1,69 @@
1
+ export type UserRegistry = {
2
+ version: '0.3.0';
3
+ name: 'user_registry';
4
+ instructions: [
5
+ {
6
+ name: 'initializeUserEntry';
7
+ accounts: [
8
+ {
9
+ name: 'signer';
10
+ isMut: true;
11
+ isSigner: true;
12
+ },
13
+ {
14
+ name: 'systemProgram';
15
+ isMut: false;
16
+ isSigner: false;
17
+ },
18
+ {
19
+ name: 'userEntry';
20
+ isMut: true;
21
+ isSigner: false;
22
+ }
23
+ ];
24
+ args: [
25
+ {
26
+ name: 'lightPubkey';
27
+ type: {
28
+ array: ['u8', 32];
29
+ };
30
+ },
31
+ {
32
+ name: 'lightEncryptionPubkey';
33
+ type: {
34
+ array: ['u8', 32];
35
+ };
36
+ }
37
+ ];
38
+ }
39
+ ];
40
+ accounts: [
41
+ {
42
+ name: 'userEntry';
43
+ type: {
44
+ kind: 'struct';
45
+ fields: [
46
+ {
47
+ name: 'solanaPubkey';
48
+ type: {
49
+ array: ['u8', 32];
50
+ };
51
+ },
52
+ {
53
+ name: 'lightPubkey';
54
+ type: {
55
+ array: ['u8', 32];
56
+ };
57
+ },
58
+ {
59
+ name: 'lightEncryptionPubkey';
60
+ type: {
61
+ array: ['u8', 32];
62
+ };
63
+ }
64
+ ];
65
+ };
66
+ }
67
+ ];
68
+ };
69
+ export declare const IDL: UserRegistry;
@@ -0,0 +1,12 @@
1
+ export * from './actions';
2
+ export * from './idls';
3
+ export * from './instruction';
4
+ export * from './programs';
5
+ export * from './state';
6
+ export * from './test-utils';
7
+ export * from './utils';
8
+ export * from './wallet';
9
+ export * from './constants';
10
+ export * from './errors';
11
+ export * from './rpc-interface';
12
+ export * from './rpc';
@@ -0,0 +1 @@
1
+ export * from './pack-compressed-accounts';