@loyal-labs/private-transactions 0.2.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.
@@ -0,0 +1,759 @@
1
+ /**
2
+ * @loyal-labs/private-transactions - SDK for private Solana deposits with MagicBlock PER
3
+ *
4
+ * This SDK provides an interface for managing private token deposits using
5
+ * MagicBlock's Private Ephemeral Rollups (PER) for confidential transactions.
6
+ *
7
+ * @example
8
+ * // Base layer client for setup operations
9
+ * import { LoyalPrivateTransactionsClient } from '@loyal-labs/private-transactions';
10
+ * import { Connection, Keypair } from '@solana/web3.js';
11
+ *
12
+ * const connection = new Connection('https://api.devnet.solana.com');
13
+ * const client = LoyalPrivateTransactionsClient.from(connection, keypair);
14
+ *
15
+ * // Initialize and fund deposit
16
+ * await client.initializeDeposit({ user, tokenMint, payer });
17
+ * await client.modifyBalance({ user, tokenMint, amount, increase: true, ... });
18
+ *
19
+ * // Create permission and delegate to ephemeral rollup
20
+ * await client.createPermission({ user, tokenMint, payer });
21
+ * await client.delegateDeposit({ user, tokenMint, payer, validator });
22
+ *
23
+ * @example
24
+ * // Ephemeral rollup client for private operations
25
+ * const ephemeralClient = await LoyalPrivateTransactionsClient.fromEphemeral({
26
+ * signer: keypair,
27
+ * rpcEndpoint: 'http://localhost:7799',
28
+ * wsEndpoint: 'ws://localhost:7800',
29
+ * });
30
+ *
31
+ * // Execute private transfer
32
+ * await ephemeralClient.transferToUsernameDeposit({ username, tokenMint, amount, ... });
33
+ *
34
+ * // Commit and undelegate
35
+ * await ephemeralClient.undelegateDeposit({ user, tokenMint, ... });
36
+ */
37
+ export { LoyalPrivateTransactionsClient, waitForAccountOwnerChange, } from "./src/LoyalPrivateTransactionsClient";
38
+ export type { WalletSigner, WalletLike, RpcOptions, ClientConfig, DepositData, UsernameDepositData, InitializeDepositParams, ModifyBalanceParams, ModifyBalanceResult, DepositForUsernameParams, ClaimUsernameDepositParams, CreatePermissionParams, CreateUsernamePermissionParams, DelegateDepositParams, DelegateUsernameDepositParams, UndelegateDepositParams, UndelegateUsernameDepositParams, TransferDepositParams, TransferToUsernameDepositParams, DelegationRecord, DelegationStatusResult, DelegationStatusResponse, } from "./src/types";
39
+ export { isKeypair, isAnchorProvider, isWalletLike } from "./src/types";
40
+ export { ER_VALIDATOR, PROGRAM_ID, DELEGATION_PROGRAM_ID, PERMISSION_PROGRAM_ID, MAGIC_PROGRAM_ID, MAGIC_CONTEXT_ID, DEPOSIT_SEED, DEPOSIT_SEED_BYTES, USERNAME_DEPOSIT_SEED, USERNAME_DEPOSIT_SEED_BYTES, VAULT_SEED, VAULT_SEED_BYTES, PERMISSION_SEED, PERMISSION_SEED_BYTES, LAMPORTS_PER_SOL, solToLamports, lamportsToSol, } from "./src/constants";
41
+ export { findDepositPda, findUsernameDepositPda, findVaultPda, findPermissionPda, findDelegationRecordPda, findDelegationMetadataPda, findBufferPda, } from "./src/pda";
42
+ export declare const IDL: {
43
+ address: string;
44
+ metadata: {
45
+ name: string;
46
+ version: string;
47
+ spec: string;
48
+ description: string;
49
+ };
50
+ instructions: ({
51
+ name: string;
52
+ docs: string[];
53
+ discriminator: number[];
54
+ accounts: ({
55
+ name: string;
56
+ writable: boolean;
57
+ pda?: undefined;
58
+ relations?: undefined;
59
+ address?: undefined;
60
+ } | {
61
+ name: string;
62
+ writable: boolean;
63
+ pda: {
64
+ seeds: ({
65
+ kind: string;
66
+ value: number[];
67
+ path?: undefined;
68
+ } | {
69
+ kind: string;
70
+ path: string;
71
+ value?: undefined;
72
+ })[];
73
+ program?: undefined;
74
+ };
75
+ relations?: undefined;
76
+ address?: undefined;
77
+ } | {
78
+ name: string;
79
+ writable: boolean;
80
+ pda: {
81
+ seeds: ({
82
+ kind: string;
83
+ path: string;
84
+ value?: undefined;
85
+ } | {
86
+ kind: string;
87
+ value: number[];
88
+ path?: undefined;
89
+ })[];
90
+ program: {
91
+ kind: string;
92
+ value: number[];
93
+ };
94
+ };
95
+ relations?: undefined;
96
+ address?: undefined;
97
+ } | {
98
+ name: string;
99
+ writable: boolean;
100
+ pda: {
101
+ seeds: ({
102
+ kind: string;
103
+ value: number[];
104
+ path?: undefined;
105
+ account?: undefined;
106
+ } | {
107
+ kind: string;
108
+ path: string;
109
+ account: string;
110
+ value?: undefined;
111
+ })[];
112
+ program?: undefined;
113
+ };
114
+ relations?: undefined;
115
+ address?: undefined;
116
+ } | {
117
+ name: string;
118
+ relations: string[];
119
+ writable?: undefined;
120
+ pda?: undefined;
121
+ address?: undefined;
122
+ } | {
123
+ name: string;
124
+ writable?: undefined;
125
+ pda?: undefined;
126
+ relations?: undefined;
127
+ address?: undefined;
128
+ } | {
129
+ name: string;
130
+ address: string;
131
+ writable?: undefined;
132
+ pda?: undefined;
133
+ relations?: undefined;
134
+ })[];
135
+ args: {
136
+ name: string;
137
+ type: string;
138
+ }[];
139
+ } | {
140
+ name: string;
141
+ discriminator: number[];
142
+ accounts: ({
143
+ name: string;
144
+ relations: string[];
145
+ writable?: undefined;
146
+ pda?: undefined;
147
+ address?: undefined;
148
+ } | {
149
+ name: string;
150
+ writable: boolean;
151
+ pda: {
152
+ seeds: ({
153
+ kind: string;
154
+ value: number[];
155
+ path?: undefined;
156
+ account?: undefined;
157
+ } | {
158
+ kind: string;
159
+ path: string;
160
+ account: string;
161
+ value?: undefined;
162
+ })[];
163
+ };
164
+ relations?: undefined;
165
+ address?: undefined;
166
+ } | {
167
+ name: string;
168
+ relations?: undefined;
169
+ writable?: undefined;
170
+ pda?: undefined;
171
+ address?: undefined;
172
+ } | {
173
+ name: string;
174
+ address: string;
175
+ relations?: undefined;
176
+ writable?: undefined;
177
+ pda?: undefined;
178
+ })[];
179
+ args: {
180
+ name: string;
181
+ type: string;
182
+ }[];
183
+ docs?: undefined;
184
+ } | {
185
+ name: string;
186
+ docs: string[];
187
+ discriminator: number[];
188
+ accounts: ({
189
+ name: string;
190
+ writable: boolean;
191
+ signer: boolean;
192
+ pda?: undefined;
193
+ address?: undefined;
194
+ } | {
195
+ name: string;
196
+ signer: boolean;
197
+ writable?: undefined;
198
+ pda?: undefined;
199
+ address?: undefined;
200
+ } | {
201
+ name: string;
202
+ pda: {
203
+ seeds: ({
204
+ kind: string;
205
+ value: number[];
206
+ path?: undefined;
207
+ account?: undefined;
208
+ } | {
209
+ kind: string;
210
+ path: string;
211
+ value?: undefined;
212
+ account?: undefined;
213
+ } | {
214
+ kind: string;
215
+ path: string;
216
+ account: string;
217
+ value?: undefined;
218
+ })[];
219
+ };
220
+ writable?: undefined;
221
+ signer?: undefined;
222
+ address?: undefined;
223
+ } | {
224
+ name: string;
225
+ writable: boolean;
226
+ signer?: undefined;
227
+ pda?: undefined;
228
+ address?: undefined;
229
+ } | {
230
+ name: string;
231
+ writable?: undefined;
232
+ signer?: undefined;
233
+ pda?: undefined;
234
+ address?: undefined;
235
+ } | {
236
+ name: string;
237
+ address: string;
238
+ writable?: undefined;
239
+ signer?: undefined;
240
+ pda?: undefined;
241
+ })[];
242
+ args: never[];
243
+ } | {
244
+ name: string;
245
+ docs: string[];
246
+ discriminator: number[];
247
+ accounts: ({
248
+ name: string;
249
+ writable: boolean;
250
+ signer: boolean;
251
+ optional?: undefined;
252
+ pda?: undefined;
253
+ address?: undefined;
254
+ } | {
255
+ name: string;
256
+ optional: boolean;
257
+ writable?: undefined;
258
+ signer?: undefined;
259
+ pda?: undefined;
260
+ address?: undefined;
261
+ } | {
262
+ name: string;
263
+ writable: boolean;
264
+ pda: {
265
+ seeds: ({
266
+ kind: string;
267
+ value: number[];
268
+ path?: undefined;
269
+ } | {
270
+ kind: string;
271
+ path: string;
272
+ value?: undefined;
273
+ })[];
274
+ program: {
275
+ kind: string;
276
+ value: number[];
277
+ path?: undefined;
278
+ };
279
+ };
280
+ signer?: undefined;
281
+ optional?: undefined;
282
+ address?: undefined;
283
+ } | {
284
+ name: string;
285
+ writable: boolean;
286
+ pda: {
287
+ seeds: ({
288
+ kind: string;
289
+ value: number[];
290
+ path?: undefined;
291
+ } | {
292
+ kind: string;
293
+ path: string;
294
+ value?: undefined;
295
+ })[];
296
+ program: {
297
+ kind: string;
298
+ path: string;
299
+ value?: undefined;
300
+ };
301
+ };
302
+ signer?: undefined;
303
+ optional?: undefined;
304
+ address?: undefined;
305
+ } | {
306
+ name: string;
307
+ writable: boolean;
308
+ pda: {
309
+ seeds: ({
310
+ kind: string;
311
+ value: number[];
312
+ path?: undefined;
313
+ } | {
314
+ kind: string;
315
+ path: string;
316
+ value?: undefined;
317
+ })[];
318
+ program?: undefined;
319
+ };
320
+ signer?: undefined;
321
+ optional?: undefined;
322
+ address?: undefined;
323
+ } | {
324
+ name: string;
325
+ address: string;
326
+ writable?: undefined;
327
+ signer?: undefined;
328
+ optional?: undefined;
329
+ pda?: undefined;
330
+ })[];
331
+ args: {
332
+ name: string;
333
+ type: string;
334
+ }[];
335
+ } | {
336
+ name: string;
337
+ docs: string[];
338
+ discriminator: number[];
339
+ accounts: ({
340
+ name: string;
341
+ writable: boolean;
342
+ signer: boolean;
343
+ pda?: undefined;
344
+ address?: undefined;
345
+ } | {
346
+ name: string;
347
+ writable: boolean;
348
+ pda: {
349
+ seeds: ({
350
+ kind: string;
351
+ value: number[];
352
+ path?: undefined;
353
+ } | {
354
+ kind: string;
355
+ path: string;
356
+ value?: undefined;
357
+ })[];
358
+ program?: undefined;
359
+ };
360
+ signer?: undefined;
361
+ address?: undefined;
362
+ } | {
363
+ name: string;
364
+ writable: boolean;
365
+ pda: {
366
+ seeds: ({
367
+ kind: string;
368
+ path: string;
369
+ value?: undefined;
370
+ } | {
371
+ kind: string;
372
+ value: number[];
373
+ path?: undefined;
374
+ })[];
375
+ program: {
376
+ kind: string;
377
+ value: number[];
378
+ };
379
+ };
380
+ signer?: undefined;
381
+ address?: undefined;
382
+ } | {
383
+ name: string;
384
+ writable: boolean;
385
+ signer?: undefined;
386
+ pda?: undefined;
387
+ address?: undefined;
388
+ } | {
389
+ name: string;
390
+ writable?: undefined;
391
+ signer?: undefined;
392
+ pda?: undefined;
393
+ address?: undefined;
394
+ } | {
395
+ name: string;
396
+ address: string;
397
+ writable?: undefined;
398
+ signer?: undefined;
399
+ pda?: undefined;
400
+ })[];
401
+ args: {
402
+ name: string;
403
+ type: string;
404
+ }[];
405
+ } | {
406
+ name: string;
407
+ discriminator: number[];
408
+ accounts: ({
409
+ name: string;
410
+ writable: boolean;
411
+ signer: boolean;
412
+ pda?: undefined;
413
+ address?: undefined;
414
+ } | {
415
+ name: string;
416
+ writable: boolean;
417
+ pda: {
418
+ seeds: ({
419
+ kind: string;
420
+ value: number[];
421
+ path?: undefined;
422
+ } | {
423
+ kind: string;
424
+ path: string;
425
+ value?: undefined;
426
+ })[];
427
+ };
428
+ signer?: undefined;
429
+ address?: undefined;
430
+ } | {
431
+ name: string;
432
+ writable?: undefined;
433
+ signer?: undefined;
434
+ pda?: undefined;
435
+ address?: undefined;
436
+ } | {
437
+ name: string;
438
+ address: string;
439
+ writable?: undefined;
440
+ signer?: undefined;
441
+ pda?: undefined;
442
+ })[];
443
+ args: {
444
+ name: string;
445
+ type: string;
446
+ }[];
447
+ docs?: undefined;
448
+ } | {
449
+ name: string;
450
+ docs: string[];
451
+ discriminator: number[];
452
+ accounts: ({
453
+ name: string;
454
+ writable: boolean;
455
+ signer: boolean;
456
+ relations?: undefined;
457
+ pda?: undefined;
458
+ address?: undefined;
459
+ } | {
460
+ name: string;
461
+ signer: boolean;
462
+ relations: string[];
463
+ writable?: undefined;
464
+ pda?: undefined;
465
+ address?: undefined;
466
+ } | {
467
+ name: string;
468
+ writable: boolean;
469
+ pda: {
470
+ seeds: ({
471
+ kind: string;
472
+ value: number[];
473
+ path?: undefined;
474
+ account?: undefined;
475
+ } | {
476
+ kind: string;
477
+ path: string;
478
+ account: string;
479
+ value?: undefined;
480
+ })[];
481
+ program?: undefined;
482
+ };
483
+ signer?: undefined;
484
+ relations?: undefined;
485
+ address?: undefined;
486
+ } | {
487
+ name: string;
488
+ writable: boolean;
489
+ pda: {
490
+ seeds: ({
491
+ kind: string;
492
+ path: string;
493
+ value?: undefined;
494
+ } | {
495
+ kind: string;
496
+ value: number[];
497
+ path?: undefined;
498
+ })[];
499
+ program: {
500
+ kind: string;
501
+ value: number[];
502
+ };
503
+ };
504
+ signer?: undefined;
505
+ relations?: undefined;
506
+ address?: undefined;
507
+ } | {
508
+ name: string;
509
+ relations: string[];
510
+ writable?: undefined;
511
+ signer?: undefined;
512
+ pda?: undefined;
513
+ address?: undefined;
514
+ } | {
515
+ name: string;
516
+ address: string;
517
+ writable?: undefined;
518
+ signer?: undefined;
519
+ relations?: undefined;
520
+ pda?: undefined;
521
+ })[];
522
+ args: {
523
+ name: string;
524
+ type: {
525
+ defined: {
526
+ name: string;
527
+ };
528
+ };
529
+ }[];
530
+ } | {
531
+ name: string;
532
+ discriminator: number[];
533
+ accounts: ({
534
+ name: string;
535
+ writable: boolean;
536
+ } | {
537
+ name: string;
538
+ writable?: undefined;
539
+ })[];
540
+ args: {
541
+ name: string;
542
+ type: {
543
+ vec: string;
544
+ };
545
+ }[];
546
+ docs?: undefined;
547
+ } | {
548
+ name: string;
549
+ docs: string[];
550
+ discriminator: number[];
551
+ accounts: ({
552
+ name: string;
553
+ relations: string[];
554
+ writable?: undefined;
555
+ signer?: undefined;
556
+ optional?: undefined;
557
+ pda?: undefined;
558
+ address?: undefined;
559
+ } | {
560
+ name: string;
561
+ writable: boolean;
562
+ signer: boolean;
563
+ relations?: undefined;
564
+ optional?: undefined;
565
+ pda?: undefined;
566
+ address?: undefined;
567
+ } | {
568
+ name: string;
569
+ optional: boolean;
570
+ relations?: undefined;
571
+ writable?: undefined;
572
+ signer?: undefined;
573
+ pda?: undefined;
574
+ address?: undefined;
575
+ } | {
576
+ name: string;
577
+ writable: boolean;
578
+ pda: {
579
+ seeds: ({
580
+ kind: string;
581
+ value: number[];
582
+ path?: undefined;
583
+ account?: undefined;
584
+ } | {
585
+ kind: string;
586
+ path: string;
587
+ account: string;
588
+ value?: undefined;
589
+ })[];
590
+ };
591
+ relations?: undefined;
592
+ signer?: undefined;
593
+ optional?: undefined;
594
+ address?: undefined;
595
+ } | {
596
+ name: string;
597
+ address: string;
598
+ relations?: undefined;
599
+ writable?: undefined;
600
+ signer?: undefined;
601
+ optional?: undefined;
602
+ pda?: undefined;
603
+ })[];
604
+ args: {
605
+ name: string;
606
+ type: string;
607
+ }[];
608
+ } | {
609
+ name: string;
610
+ docs: string[];
611
+ discriminator: number[];
612
+ accounts: ({
613
+ name: string;
614
+ writable?: undefined;
615
+ signer?: undefined;
616
+ optional?: undefined;
617
+ pda?: undefined;
618
+ address?: undefined;
619
+ } | {
620
+ name: string;
621
+ writable: boolean;
622
+ signer: boolean;
623
+ optional?: undefined;
624
+ pda?: undefined;
625
+ address?: undefined;
626
+ } | {
627
+ name: string;
628
+ optional: boolean;
629
+ writable?: undefined;
630
+ signer?: undefined;
631
+ pda?: undefined;
632
+ address?: undefined;
633
+ } | {
634
+ name: string;
635
+ writable: boolean;
636
+ pda: {
637
+ seeds: ({
638
+ kind: string;
639
+ value: number[];
640
+ path?: undefined;
641
+ account?: undefined;
642
+ } | {
643
+ kind: string;
644
+ path: string;
645
+ value?: undefined;
646
+ account?: undefined;
647
+ } | {
648
+ kind: string;
649
+ path: string;
650
+ account: string;
651
+ value?: undefined;
652
+ })[];
653
+ };
654
+ signer?: undefined;
655
+ optional?: undefined;
656
+ address?: undefined;
657
+ } | {
658
+ name: string;
659
+ address: string;
660
+ writable?: undefined;
661
+ signer?: undefined;
662
+ optional?: undefined;
663
+ pda?: undefined;
664
+ } | {
665
+ name: string;
666
+ writable: boolean;
667
+ address: string;
668
+ signer?: undefined;
669
+ optional?: undefined;
670
+ pda?: undefined;
671
+ })[];
672
+ args: never[];
673
+ } | {
674
+ name: string;
675
+ docs: string[];
676
+ discriminator: number[];
677
+ accounts: ({
678
+ name: string;
679
+ writable: boolean;
680
+ signer: boolean;
681
+ pda?: undefined;
682
+ address?: undefined;
683
+ } | {
684
+ name: string;
685
+ writable?: undefined;
686
+ signer?: undefined;
687
+ pda?: undefined;
688
+ address?: undefined;
689
+ } | {
690
+ name: string;
691
+ writable: boolean;
692
+ pda: {
693
+ seeds: ({
694
+ kind: string;
695
+ value: number[];
696
+ path?: undefined;
697
+ } | {
698
+ kind: string;
699
+ path: string;
700
+ value?: undefined;
701
+ })[];
702
+ };
703
+ signer?: undefined;
704
+ address?: undefined;
705
+ } | {
706
+ name: string;
707
+ address: string;
708
+ writable?: undefined;
709
+ signer?: undefined;
710
+ pda?: undefined;
711
+ } | {
712
+ name: string;
713
+ writable: boolean;
714
+ address: string;
715
+ signer?: undefined;
716
+ pda?: undefined;
717
+ })[];
718
+ args: {
719
+ name: string;
720
+ type: string;
721
+ }[];
722
+ })[];
723
+ accounts: {
724
+ name: string;
725
+ discriminator: number[];
726
+ }[];
727
+ errors: {
728
+ code: number;
729
+ name: string;
730
+ msg: string;
731
+ }[];
732
+ types: ({
733
+ name: string;
734
+ docs: string[];
735
+ type: {
736
+ kind: string;
737
+ fields: {
738
+ name: string;
739
+ type: string;
740
+ }[];
741
+ };
742
+ } | {
743
+ name: string;
744
+ type: {
745
+ kind: string;
746
+ fields: ({
747
+ name: string;
748
+ type: string;
749
+ } | {
750
+ name: string;
751
+ type: {
752
+ option: string;
753
+ };
754
+ })[];
755
+ };
756
+ docs?: undefined;
757
+ })[];
758
+ };
759
+ export type { TelegramPrivateTransfer } from "./src/idl/telegram_private_transfer.ts";