@xgamesfun/solana 0.20.1 → 0.24.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 (70) hide show
  1. package/README.md +10 -10
  2. package/examples/coin-flip-arena.json +2 -7
  3. package/examples/elements-set.json +2 -9
  4. package/examples/expedition-guild.json +1 -8
  5. package/examples/guild-missions.json +3 -10
  6. package/examples/halving-seasons.json +4 -9
  7. package/examples/hero-trials.json +1 -4
  8. package/examples/merge-2048.json +5 -5
  9. package/examples/paper-hands-farm.json +4 -16
  10. package/examples/partner-vault.json +1 -4
  11. package/examples/stakers-draw.json +1 -8
  12. package/examples/star-fleet.json +1 -8
  13. package/examples/starforce.json +6 -6
  14. package/js/approve/details.mjs +8 -7
  15. package/js/approve/server.mjs +20 -5
  16. package/js/chain/borsh.js +9 -0
  17. package/js/chain/core.js +14 -2
  18. package/js/chain/lookup.js +8 -2
  19. package/js/chain/rpc.js +4 -2
  20. package/js/client/accounts.js +448 -116
  21. package/js/client/grant.js +125 -66
  22. package/js/client/idl/loot.js +1 -1
  23. package/js/client/idl/loot.json +2360 -2218
  24. package/js/client/index.js +1 -0
  25. package/js/client/ix.js +1204 -473
  26. package/js/client/pda.js +20 -16
  27. package/js/client/policy.js +44 -23
  28. package/js/client/random.js +70 -0
  29. package/js/client/sizes.js +255 -12
  30. package/js/economy/check.mjs +455 -210
  31. package/js/economy/cost.mjs +45 -30
  32. package/js/economy/examples.mjs +2 -2
  33. package/js/economy/explain.mjs +24 -20
  34. package/js/economy/guide.mjs +31 -30
  35. package/js/economy/live.mjs +30 -7
  36. package/js/economy/model.mjs +171 -56
  37. package/js/economy/plan.mjs +380 -112
  38. package/js/economy/schema.json +291 -143
  39. package/js/economy/simulate.mjs +154 -87
  40. package/js/mcp/tools.mjs +14 -8
  41. package/js/play/index.js +1121 -375
  42. package/js/play/keys.js +167 -0
  43. package/package.json +1 -1
  44. package/release.json +5 -5
  45. package/skills/xsolana-economy/SKILL.md +15 -11
  46. package/skills/xsolana-economy/references/after-launch.md +37 -27
  47. package/skills/xsolana-economy/references/apps.md +55 -19
  48. package/skills/xsolana-economy/references/sentence-to-spec.md +30 -22
  49. package/skills/xsolana-economy/references/telling-the-person.md +52 -11
  50. package/types/chain/core.d.ts +3 -1
  51. package/types/chain/lookup.d.ts +5 -2
  52. package/types/chain/rpc.d.ts +3 -1
  53. package/types/client/accounts.d.ts +195 -55
  54. package/types/client/grant.d.ts +72 -27
  55. package/types/client/idl/loot.d.ts +590 -559
  56. package/types/client/index.d.ts +1 -0
  57. package/types/client/ix.d.ts +3862 -234
  58. package/types/client/pda.d.ts +19 -15
  59. package/types/client/policy.d.ts +39 -14
  60. package/types/client/random.d.ts +26 -0
  61. package/types/client/sizes.d.ts +93 -5
  62. package/types/economy/check.d.mts +5 -10
  63. package/types/economy/cost.d.mts +2 -1
  64. package/types/economy/live.d.mts +16 -1
  65. package/types/economy/model.d.mts +105 -37
  66. package/types/economy/plan.d.mts +193 -192
  67. package/types/economy/simulate.d.mts +21 -13
  68. package/types/mcp/tools.d.mts +21 -13
  69. package/types/play/index.d.ts +450 -39
  70. package/types/play/keys.d.ts +51 -0
@@ -5,6 +5,3299 @@ export { IDL, ASSOCIATED_TOKEN_PROGRAM };
5
5
  export declare const TOKEN_METADATA_PROGRAM = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
6
6
  /** 32 bytes a project names a call by (a match id, a payout's reason). Zeros when not given. */
7
7
  export declare function reference(value: any): Uint8Array<ArrayBuffer>;
8
+ /** The IDL entry of the loot instruction whose data is `data` (its tag first), or null. */
9
+ export declare const instructionOf: (data: any) => {
10
+ name: string;
11
+ docs: string[];
12
+ discriminator: number[];
13
+ accounts: ({
14
+ name: string;
15
+ docs: string[];
16
+ writable: boolean;
17
+ signer: boolean;
18
+ address?: undefined;
19
+ } | {
20
+ signer?: undefined;
21
+ name: string;
22
+ docs: string[];
23
+ writable: boolean;
24
+ address?: undefined;
25
+ } | {
26
+ signer?: undefined;
27
+ name: string;
28
+ writable?: undefined;
29
+ docs?: undefined;
30
+ address?: undefined;
31
+ } | {
32
+ signer?: undefined;
33
+ name: string;
34
+ writable: boolean;
35
+ docs?: undefined;
36
+ address?: undefined;
37
+ } | {
38
+ signer?: undefined;
39
+ writable?: undefined;
40
+ name: string;
41
+ docs: string[];
42
+ address: string;
43
+ } | {
44
+ signer?: undefined;
45
+ writable?: undefined;
46
+ docs?: undefined;
47
+ name: string;
48
+ address: string;
49
+ })[];
50
+ args: {
51
+ name: string;
52
+ type: string;
53
+ }[];
54
+ } | {
55
+ name: string;
56
+ docs: string[];
57
+ discriminator: number[];
58
+ accounts: ({
59
+ docs?: undefined;
60
+ address?: undefined;
61
+ name: string;
62
+ writable: boolean;
63
+ signer: boolean;
64
+ optional?: undefined;
65
+ accounts?: undefined;
66
+ } | {
67
+ signer?: undefined;
68
+ writable?: undefined;
69
+ docs?: undefined;
70
+ address?: undefined;
71
+ name: string;
72
+ optional?: undefined;
73
+ accounts?: undefined;
74
+ } | {
75
+ signer?: undefined;
76
+ docs?: undefined;
77
+ address?: undefined;
78
+ name: string;
79
+ writable: boolean;
80
+ optional?: undefined;
81
+ accounts?: undefined;
82
+ } | {
83
+ signer?: undefined;
84
+ writable?: undefined;
85
+ address?: undefined;
86
+ name: string;
87
+ docs: string[];
88
+ optional?: undefined;
89
+ accounts?: undefined;
90
+ } | {
91
+ signer?: undefined;
92
+ address?: undefined;
93
+ name: string;
94
+ docs: string[];
95
+ writable: boolean;
96
+ optional: boolean;
97
+ accounts?: undefined;
98
+ } | {
99
+ signer?: undefined;
100
+ docs?: undefined;
101
+ address?: undefined;
102
+ name: string;
103
+ writable: boolean;
104
+ optional: boolean;
105
+ accounts?: undefined;
106
+ } | {
107
+ signer?: undefined;
108
+ writable?: undefined;
109
+ docs?: undefined;
110
+ optional?: undefined;
111
+ name: string;
112
+ address: string;
113
+ accounts?: undefined;
114
+ } | {
115
+ signer?: undefined;
116
+ writable?: undefined;
117
+ docs?: undefined;
118
+ address?: undefined;
119
+ optional?: undefined;
120
+ name: string;
121
+ accounts: ({
122
+ writable?: undefined;
123
+ docs?: undefined;
124
+ address?: undefined;
125
+ name: string;
126
+ } | {
127
+ address?: undefined;
128
+ name: string;
129
+ docs: string[];
130
+ writable: boolean;
131
+ } | {
132
+ writable?: undefined;
133
+ docs?: undefined;
134
+ name: string;
135
+ address: string;
136
+ })[];
137
+ })[];
138
+ args: ({
139
+ name: string;
140
+ type: string;
141
+ } | {
142
+ name: string;
143
+ type: {
144
+ array: (string | number)[];
145
+ };
146
+ })[];
147
+ } | {
148
+ name: string;
149
+ docs: string[];
150
+ discriminator: number[];
151
+ accounts: ({
152
+ address?: undefined;
153
+ optional?: undefined;
154
+ accounts?: undefined;
155
+ name: string;
156
+ docs: string[];
157
+ writable: boolean;
158
+ signer: boolean;
159
+ } | {
160
+ signer?: undefined;
161
+ writable?: undefined;
162
+ docs?: undefined;
163
+ address?: undefined;
164
+ optional?: undefined;
165
+ accounts?: undefined;
166
+ name: string;
167
+ } | {
168
+ signer?: undefined;
169
+ docs?: undefined;
170
+ address?: undefined;
171
+ optional?: undefined;
172
+ accounts?: undefined;
173
+ name: string;
174
+ writable: boolean;
175
+ } | {
176
+ signer?: undefined;
177
+ address?: undefined;
178
+ optional?: undefined;
179
+ accounts?: undefined;
180
+ name: string;
181
+ docs: string[];
182
+ writable: boolean;
183
+ } | {
184
+ signer?: undefined;
185
+ writable?: undefined;
186
+ docs?: undefined;
187
+ optional?: undefined;
188
+ accounts?: undefined;
189
+ name: string;
190
+ address: string;
191
+ } | {
192
+ signer?: undefined;
193
+ writable?: undefined;
194
+ address?: undefined;
195
+ optional?: undefined;
196
+ accounts?: undefined;
197
+ name: string;
198
+ docs: string[];
199
+ } | {
200
+ signer?: undefined;
201
+ writable?: undefined;
202
+ docs?: undefined;
203
+ address?: undefined;
204
+ optional?: undefined;
205
+ name: string;
206
+ accounts: ({
207
+ writable?: undefined;
208
+ docs?: undefined;
209
+ address?: undefined;
210
+ name: string;
211
+ } | {
212
+ address?: undefined;
213
+ name: string;
214
+ docs: string[];
215
+ writable: boolean;
216
+ } | {
217
+ writable?: undefined;
218
+ docs?: undefined;
219
+ name: string;
220
+ address: string;
221
+ })[];
222
+ } | {
223
+ signer?: undefined;
224
+ writable?: undefined;
225
+ address?: undefined;
226
+ accounts?: undefined;
227
+ name: string;
228
+ docs: string[];
229
+ optional: boolean;
230
+ } | {
231
+ signer?: undefined;
232
+ address?: undefined;
233
+ accounts?: undefined;
234
+ name: string;
235
+ docs: string[];
236
+ writable: boolean;
237
+ optional: boolean;
238
+ } | {
239
+ signer?: undefined;
240
+ writable?: undefined;
241
+ accounts?: undefined;
242
+ name: string;
243
+ docs: string[];
244
+ optional: boolean;
245
+ address: string;
246
+ })[];
247
+ args: ({
248
+ name: string;
249
+ type: string;
250
+ } | {
251
+ name: string;
252
+ type: {
253
+ option: string;
254
+ };
255
+ })[];
256
+ } | {
257
+ name: string;
258
+ docs: string[];
259
+ discriminator: number[];
260
+ accounts: ({
261
+ name: string;
262
+ docs: string[];
263
+ signer: boolean;
264
+ } | {
265
+ signer?: undefined;
266
+ docs?: undefined;
267
+ name: string;
268
+ })[];
269
+ args: {
270
+ name: string;
271
+ type: {
272
+ array: (string | number)[];
273
+ };
274
+ }[];
275
+ } | {
276
+ name: string;
277
+ docs: string[];
278
+ discriminator: number[];
279
+ accounts: ({
280
+ writable?: undefined;
281
+ name: string;
282
+ docs: string[];
283
+ signer: boolean;
284
+ } | {
285
+ signer?: undefined;
286
+ docs?: undefined;
287
+ name: string;
288
+ writable: boolean;
289
+ } | {
290
+ signer?: undefined;
291
+ name: string;
292
+ docs: string[];
293
+ writable: boolean;
294
+ } | {
295
+ signer?: undefined;
296
+ writable?: undefined;
297
+ name: string;
298
+ docs: string[];
299
+ })[];
300
+ args: {
301
+ name: string;
302
+ type: {
303
+ array: (string | number)[];
304
+ };
305
+ }[];
306
+ } | {
307
+ name: string;
308
+ docs: string[];
309
+ discriminator: number[];
310
+ accounts: ({
311
+ address?: undefined;
312
+ optional?: undefined;
313
+ name: string;
314
+ docs: string[];
315
+ writable: boolean;
316
+ signer: boolean;
317
+ pda?: undefined;
318
+ } | {
319
+ signer?: undefined;
320
+ writable?: undefined;
321
+ docs?: undefined;
322
+ address?: undefined;
323
+ optional?: undefined;
324
+ name: string;
325
+ pda?: undefined;
326
+ } | {
327
+ signer?: undefined;
328
+ docs?: undefined;
329
+ address?: undefined;
330
+ optional?: undefined;
331
+ name: string;
332
+ writable: boolean;
333
+ pda?: undefined;
334
+ } | {
335
+ signer?: undefined;
336
+ address?: undefined;
337
+ optional?: undefined;
338
+ name: string;
339
+ docs: string[];
340
+ writable: boolean;
341
+ pda?: undefined;
342
+ } | {
343
+ signer?: undefined;
344
+ docs?: undefined;
345
+ address?: undefined;
346
+ optional?: undefined;
347
+ name: string;
348
+ writable: boolean;
349
+ pda: {
350
+ seeds: ({
351
+ kind: string;
352
+ value: number[];
353
+ path?: undefined;
354
+ } | {
355
+ value?: undefined;
356
+ kind: string;
357
+ path: string;
358
+ })[];
359
+ };
360
+ } | {
361
+ signer?: undefined;
362
+ writable?: undefined;
363
+ address?: undefined;
364
+ optional?: undefined;
365
+ pda?: undefined;
366
+ name: string;
367
+ docs: string[];
368
+ } | {
369
+ signer?: undefined;
370
+ writable?: undefined;
371
+ docs?: undefined;
372
+ optional?: undefined;
373
+ pda?: undefined;
374
+ name: string;
375
+ address: string;
376
+ } | {
377
+ signer?: undefined;
378
+ address?: undefined;
379
+ pda?: undefined;
380
+ name: string;
381
+ docs: string[];
382
+ writable: boolean;
383
+ optional: boolean;
384
+ } | {
385
+ signer?: undefined;
386
+ docs?: undefined;
387
+ address?: undefined;
388
+ pda?: undefined;
389
+ name: string;
390
+ writable: boolean;
391
+ optional: boolean;
392
+ })[];
393
+ args: ({
394
+ name: string;
395
+ type: string;
396
+ } | {
397
+ name: string;
398
+ type: {
399
+ vec: string;
400
+ };
401
+ })[];
402
+ } | {
403
+ name: string;
404
+ docs: string[];
405
+ discriminator: number[];
406
+ accounts: ({
407
+ signer?: undefined;
408
+ writable?: undefined;
409
+ docs?: undefined;
410
+ address?: undefined;
411
+ optional?: undefined;
412
+ accounts?: undefined;
413
+ name: string;
414
+ } | {
415
+ signer?: undefined;
416
+ address?: undefined;
417
+ optional?: undefined;
418
+ accounts?: undefined;
419
+ name: string;
420
+ docs: string[];
421
+ writable: boolean;
422
+ } | {
423
+ address?: undefined;
424
+ optional?: undefined;
425
+ accounts?: undefined;
426
+ name: string;
427
+ docs: string[];
428
+ writable: boolean;
429
+ signer: boolean;
430
+ } | {
431
+ signer?: undefined;
432
+ address?: undefined;
433
+ accounts?: undefined;
434
+ name: string;
435
+ docs: string[];
436
+ writable: boolean;
437
+ optional: boolean;
438
+ } | {
439
+ signer?: undefined;
440
+ writable?: undefined;
441
+ docs?: undefined;
442
+ address?: undefined;
443
+ optional?: undefined;
444
+ name: string;
445
+ accounts: ({
446
+ writable?: undefined;
447
+ docs?: undefined;
448
+ address?: undefined;
449
+ name: string;
450
+ } | {
451
+ address?: undefined;
452
+ name: string;
453
+ docs: string[];
454
+ writable: boolean;
455
+ } | {
456
+ writable?: undefined;
457
+ docs?: undefined;
458
+ name: string;
459
+ address: string;
460
+ })[];
461
+ } | {
462
+ signer?: undefined;
463
+ writable?: undefined;
464
+ docs?: undefined;
465
+ accounts?: undefined;
466
+ name: string;
467
+ optional: boolean;
468
+ address: string;
469
+ } | {
470
+ signer?: undefined;
471
+ writable?: undefined;
472
+ address?: undefined;
473
+ accounts?: undefined;
474
+ name: string;
475
+ docs: string[];
476
+ optional: boolean;
477
+ })[];
478
+ args: ({
479
+ name: string;
480
+ type: {
481
+ vec: {
482
+ defined: {
483
+ name: string;
484
+ };
485
+ vec?: undefined;
486
+ };
487
+ array?: undefined;
488
+ };
489
+ } | {
490
+ name: string;
491
+ type: string;
492
+ } | {
493
+ name: string;
494
+ type: {
495
+ array: (string | number)[];
496
+ vec?: undefined;
497
+ };
498
+ } | {
499
+ name: string;
500
+ type: {
501
+ array?: undefined;
502
+ vec: {
503
+ defined?: undefined;
504
+ vec: {
505
+ array: (string | number)[];
506
+ };
507
+ };
508
+ };
509
+ })[];
510
+ } | {
511
+ name: string;
512
+ docs: string[];
513
+ discriminator: number[];
514
+ accounts: ({
515
+ writable?: undefined;
516
+ pda?: undefined;
517
+ name: string;
518
+ } | {
519
+ writable?: undefined;
520
+ name: string;
521
+ pda: {
522
+ seeds: ({
523
+ path?: undefined;
524
+ kind: string;
525
+ value: number[];
526
+ } | {
527
+ value?: undefined;
528
+ kind: string;
529
+ path: string;
530
+ })[];
531
+ };
532
+ } | {
533
+ pda?: undefined;
534
+ name: string;
535
+ writable: boolean;
536
+ })[];
537
+ args: {
538
+ name: string;
539
+ type: string;
540
+ }[];
541
+ } | {
542
+ name: string;
543
+ docs: string[];
544
+ discriminator: number[];
545
+ accounts: ({
546
+ optional?: undefined;
547
+ accounts?: undefined;
548
+ name: string;
549
+ docs: string[];
550
+ writable: boolean;
551
+ signer: boolean;
552
+ } | {
553
+ signer?: undefined;
554
+ writable?: undefined;
555
+ docs?: undefined;
556
+ optional?: undefined;
557
+ accounts?: undefined;
558
+ name: string;
559
+ } | {
560
+ signer?: undefined;
561
+ optional?: undefined;
562
+ accounts?: undefined;
563
+ name: string;
564
+ docs: string[];
565
+ writable: boolean;
566
+ } | {
567
+ signer?: undefined;
568
+ docs?: undefined;
569
+ accounts?: undefined;
570
+ name: string;
571
+ writable: boolean;
572
+ optional: boolean;
573
+ } | {
574
+ signer?: undefined;
575
+ writable?: undefined;
576
+ optional?: undefined;
577
+ accounts?: undefined;
578
+ name: string;
579
+ docs: string[];
580
+ } | {
581
+ signer?: undefined;
582
+ writable?: undefined;
583
+ docs?: undefined;
584
+ optional?: undefined;
585
+ name: string;
586
+ accounts: ({
587
+ writable?: undefined;
588
+ docs?: undefined;
589
+ address?: undefined;
590
+ name: string;
591
+ } | {
592
+ address?: undefined;
593
+ name: string;
594
+ docs: string[];
595
+ writable: boolean;
596
+ } | {
597
+ writable?: undefined;
598
+ docs?: undefined;
599
+ name: string;
600
+ address: string;
601
+ })[];
602
+ } | {
603
+ signer?: undefined;
604
+ accounts?: undefined;
605
+ name: string;
606
+ docs: string[];
607
+ writable: boolean;
608
+ optional: boolean;
609
+ })[];
610
+ args: ({
611
+ name: string;
612
+ type: {
613
+ array?: undefined;
614
+ defined: {
615
+ name: string;
616
+ };
617
+ };
618
+ } | {
619
+ name: string;
620
+ type: {
621
+ defined?: undefined;
622
+ array: (string | number)[];
623
+ };
624
+ })[];
625
+ } | {
626
+ docs?: undefined;
627
+ name: string;
628
+ discriminator: number[];
629
+ accounts: ({
630
+ address?: undefined;
631
+ pda?: undefined;
632
+ name: string;
633
+ docs: string[];
634
+ writable: boolean;
635
+ signer: boolean;
636
+ } | {
637
+ signer?: undefined;
638
+ writable?: undefined;
639
+ docs?: undefined;
640
+ address?: undefined;
641
+ pda?: undefined;
642
+ name: string;
643
+ } | {
644
+ signer?: undefined;
645
+ docs?: undefined;
646
+ address?: undefined;
647
+ name: string;
648
+ writable: boolean;
649
+ pda: {
650
+ seeds: ({
651
+ path?: undefined;
652
+ kind: string;
653
+ value: number[];
654
+ } | {
655
+ value?: undefined;
656
+ kind: string;
657
+ path: string;
658
+ })[];
659
+ };
660
+ } | {
661
+ signer?: undefined;
662
+ writable?: undefined;
663
+ address?: undefined;
664
+ pda?: undefined;
665
+ name: string;
666
+ docs: string[];
667
+ } | {
668
+ signer?: undefined;
669
+ writable?: undefined;
670
+ docs?: undefined;
671
+ pda?: undefined;
672
+ name: string;
673
+ address: string;
674
+ })[];
675
+ args: ({
676
+ name: string;
677
+ type: string;
678
+ } | {
679
+ name: string;
680
+ type: {
681
+ vec: string;
682
+ };
683
+ })[];
684
+ } | {
685
+ name: string;
686
+ docs: string[];
687
+ discriminator: number[];
688
+ accounts: ({
689
+ address?: undefined;
690
+ optional?: undefined;
691
+ accounts?: undefined;
692
+ pda?: undefined;
693
+ name: string;
694
+ docs: string[];
695
+ writable: boolean;
696
+ signer: boolean;
697
+ } | {
698
+ signer?: undefined;
699
+ writable?: undefined;
700
+ docs?: undefined;
701
+ address?: undefined;
702
+ optional?: undefined;
703
+ accounts?: undefined;
704
+ pda?: undefined;
705
+ name: string;
706
+ } | {
707
+ signer?: undefined;
708
+ docs?: undefined;
709
+ address?: undefined;
710
+ optional?: undefined;
711
+ accounts?: undefined;
712
+ pda?: undefined;
713
+ name: string;
714
+ writable: boolean;
715
+ } | {
716
+ signer?: undefined;
717
+ docs?: undefined;
718
+ address?: undefined;
719
+ optional?: undefined;
720
+ accounts?: undefined;
721
+ name: string;
722
+ writable: boolean;
723
+ pda: {
724
+ seeds: ({
725
+ path?: undefined;
726
+ kind: string;
727
+ value: number[];
728
+ } | {
729
+ value?: undefined;
730
+ kind: string;
731
+ path: string;
732
+ })[];
733
+ };
734
+ } | {
735
+ signer?: undefined;
736
+ writable?: undefined;
737
+ docs?: undefined;
738
+ optional?: undefined;
739
+ accounts?: undefined;
740
+ pda?: undefined;
741
+ name: string;
742
+ address: string;
743
+ } | {
744
+ signer?: undefined;
745
+ writable?: undefined;
746
+ address?: undefined;
747
+ optional?: undefined;
748
+ accounts?: undefined;
749
+ pda?: undefined;
750
+ name: string;
751
+ docs: string[];
752
+ } | {
753
+ signer?: undefined;
754
+ writable?: undefined;
755
+ docs?: undefined;
756
+ address?: undefined;
757
+ optional?: undefined;
758
+ pda?: undefined;
759
+ name: string;
760
+ accounts: ({
761
+ writable?: undefined;
762
+ docs?: undefined;
763
+ address?: undefined;
764
+ name: string;
765
+ } | {
766
+ address?: undefined;
767
+ name: string;
768
+ docs: string[];
769
+ writable: boolean;
770
+ } | {
771
+ writable?: undefined;
772
+ docs?: undefined;
773
+ name: string;
774
+ address: string;
775
+ })[];
776
+ } | {
777
+ signer?: undefined;
778
+ writable?: undefined;
779
+ docs?: undefined;
780
+ address?: undefined;
781
+ accounts?: undefined;
782
+ pda?: undefined;
783
+ name: string;
784
+ optional: boolean;
785
+ } | {
786
+ signer?: undefined;
787
+ docs?: undefined;
788
+ address?: undefined;
789
+ accounts?: undefined;
790
+ pda?: undefined;
791
+ name: string;
792
+ writable: boolean;
793
+ optional: boolean;
794
+ })[];
795
+ args: ({
796
+ name: string;
797
+ type: {
798
+ array?: undefined;
799
+ option: string;
800
+ };
801
+ } | {
802
+ name: string;
803
+ type: string;
804
+ } | {
805
+ name: string;
806
+ type: {
807
+ option?: undefined;
808
+ array: (string | number)[];
809
+ };
810
+ })[];
811
+ } | {
812
+ name: string;
813
+ docs: string[];
814
+ discriminator: number[];
815
+ accounts: ({
816
+ address?: undefined;
817
+ optional?: undefined;
818
+ name: string;
819
+ docs: string[];
820
+ writable: boolean;
821
+ signer: boolean;
822
+ } | {
823
+ signer?: undefined;
824
+ writable?: undefined;
825
+ docs?: undefined;
826
+ address?: undefined;
827
+ optional?: undefined;
828
+ name: string;
829
+ } | {
830
+ signer?: undefined;
831
+ address?: undefined;
832
+ name: string;
833
+ docs: string[];
834
+ writable: boolean;
835
+ optional: boolean;
836
+ } | {
837
+ signer?: undefined;
838
+ address?: undefined;
839
+ optional?: undefined;
840
+ name: string;
841
+ docs: string[];
842
+ writable: boolean;
843
+ } | {
844
+ signer?: undefined;
845
+ writable?: undefined;
846
+ optional?: undefined;
847
+ name: string;
848
+ docs: string[];
849
+ address: string;
850
+ } | {
851
+ signer?: undefined;
852
+ writable?: undefined;
853
+ docs?: undefined;
854
+ optional?: undefined;
855
+ name: string;
856
+ address: string;
857
+ } | {
858
+ signer?: undefined;
859
+ writable?: undefined;
860
+ address?: undefined;
861
+ optional?: undefined;
862
+ name: string;
863
+ docs: string[];
864
+ })[];
865
+ args: {
866
+ name: string;
867
+ type: string;
868
+ }[];
869
+ } | {
870
+ name: string;
871
+ docs: string[];
872
+ discriminator: number[];
873
+ accounts: ({
874
+ address?: undefined;
875
+ optional?: undefined;
876
+ accounts?: undefined;
877
+ name: string;
878
+ docs: string[];
879
+ writable: boolean;
880
+ signer: boolean;
881
+ } | {
882
+ signer?: undefined;
883
+ writable?: undefined;
884
+ docs?: undefined;
885
+ address?: undefined;
886
+ optional?: undefined;
887
+ accounts?: undefined;
888
+ name: string;
889
+ } | {
890
+ signer?: undefined;
891
+ docs?: undefined;
892
+ address?: undefined;
893
+ optional?: undefined;
894
+ accounts?: undefined;
895
+ name: string;
896
+ writable: boolean;
897
+ } | {
898
+ signer?: undefined;
899
+ address?: undefined;
900
+ optional?: undefined;
901
+ accounts?: undefined;
902
+ name: string;
903
+ docs: string[];
904
+ writable: boolean;
905
+ } | {
906
+ signer?: undefined;
907
+ writable?: undefined;
908
+ address?: undefined;
909
+ optional?: undefined;
910
+ accounts?: undefined;
911
+ name: string;
912
+ docs: string[];
913
+ } | {
914
+ signer?: undefined;
915
+ address?: undefined;
916
+ accounts?: undefined;
917
+ name: string;
918
+ docs: string[];
919
+ writable: boolean;
920
+ optional: boolean;
921
+ } | {
922
+ signer?: undefined;
923
+ writable?: undefined;
924
+ docs?: undefined;
925
+ address?: undefined;
926
+ optional?: undefined;
927
+ name: string;
928
+ accounts: ({
929
+ address?: undefined;
930
+ optional?: undefined;
931
+ name: string;
932
+ docs: string[];
933
+ writable: boolean;
934
+ } | {
935
+ address?: undefined;
936
+ name: string;
937
+ docs: string[];
938
+ writable: boolean;
939
+ optional: boolean;
940
+ } | {
941
+ writable?: undefined;
942
+ address?: undefined;
943
+ name: string;
944
+ docs: string[];
945
+ optional: boolean;
946
+ } | {
947
+ writable?: undefined;
948
+ docs?: undefined;
949
+ address?: undefined;
950
+ name: string;
951
+ optional: boolean;
952
+ } | {
953
+ docs?: undefined;
954
+ address?: undefined;
955
+ name: string;
956
+ writable: boolean;
957
+ optional: boolean;
958
+ } | {
959
+ writable?: undefined;
960
+ docs?: undefined;
961
+ name: string;
962
+ optional: boolean;
963
+ address: string;
964
+ })[];
965
+ } | {
966
+ signer?: undefined;
967
+ writable?: undefined;
968
+ docs?: undefined;
969
+ optional?: undefined;
970
+ accounts?: undefined;
971
+ name: string;
972
+ address: string;
973
+ } | {
974
+ signer?: undefined;
975
+ writable?: undefined;
976
+ docs?: undefined;
977
+ address?: undefined;
978
+ optional?: undefined;
979
+ name: string;
980
+ accounts: ({
981
+ writable?: undefined;
982
+ docs?: undefined;
983
+ address?: undefined;
984
+ name: string;
985
+ } | {
986
+ address?: undefined;
987
+ name: string;
988
+ docs: string[];
989
+ writable: boolean;
990
+ } | {
991
+ writable?: undefined;
992
+ docs?: undefined;
993
+ name: string;
994
+ address: string;
995
+ })[];
996
+ } | {
997
+ signer?: undefined;
998
+ writable?: undefined;
999
+ address?: undefined;
1000
+ accounts?: undefined;
1001
+ name: string;
1002
+ docs: string[];
1003
+ optional: boolean;
1004
+ })[];
1005
+ args: ({
1006
+ name: string;
1007
+ type: {
1008
+ array: (string | number)[];
1009
+ };
1010
+ } | {
1011
+ name: string;
1012
+ type: string;
1013
+ })[];
1014
+ } | {
1015
+ name: string;
1016
+ docs: string[];
1017
+ discriminator: number[];
1018
+ accounts: ({
1019
+ docs?: undefined;
1020
+ optional?: undefined;
1021
+ accounts?: undefined;
1022
+ name: string;
1023
+ writable: boolean;
1024
+ signer: boolean;
1025
+ } | {
1026
+ signer?: undefined;
1027
+ writable?: undefined;
1028
+ docs?: undefined;
1029
+ optional?: undefined;
1030
+ name: string;
1031
+ accounts: ({
1032
+ writable?: undefined;
1033
+ docs?: undefined;
1034
+ address?: undefined;
1035
+ optional?: undefined;
1036
+ pda?: undefined;
1037
+ name: string;
1038
+ } | {
1039
+ docs?: undefined;
1040
+ address?: undefined;
1041
+ optional?: undefined;
1042
+ pda?: undefined;
1043
+ name: string;
1044
+ writable: boolean;
1045
+ } | {
1046
+ docs?: undefined;
1047
+ address?: undefined;
1048
+ optional?: undefined;
1049
+ name: string;
1050
+ writable: boolean;
1051
+ pda: {
1052
+ seeds: ({
1053
+ path?: undefined;
1054
+ kind: string;
1055
+ value: number[];
1056
+ } | {
1057
+ value?: undefined;
1058
+ kind: string;
1059
+ path: string;
1060
+ })[];
1061
+ };
1062
+ } | {
1063
+ writable?: undefined;
1064
+ address?: undefined;
1065
+ optional?: undefined;
1066
+ pda?: undefined;
1067
+ name: string;
1068
+ docs: string[];
1069
+ } | {
1070
+ writable?: undefined;
1071
+ docs?: undefined;
1072
+ optional?: undefined;
1073
+ pda?: undefined;
1074
+ name: string;
1075
+ address: string;
1076
+ } | {
1077
+ docs?: undefined;
1078
+ address?: undefined;
1079
+ name: string;
1080
+ writable: boolean;
1081
+ optional: boolean;
1082
+ pda: {
1083
+ seeds: ({
1084
+ path?: undefined;
1085
+ kind: string;
1086
+ value: number[];
1087
+ } | {
1088
+ value?: undefined;
1089
+ kind: string;
1090
+ path: string;
1091
+ })[];
1092
+ };
1093
+ })[];
1094
+ } | {
1095
+ signer?: undefined;
1096
+ docs?: undefined;
1097
+ optional?: undefined;
1098
+ accounts?: undefined;
1099
+ name: string;
1100
+ writable: boolean;
1101
+ } | {
1102
+ signer?: undefined;
1103
+ writable?: undefined;
1104
+ docs?: undefined;
1105
+ optional?: undefined;
1106
+ name: string;
1107
+ accounts: ({
1108
+ writable?: undefined;
1109
+ docs?: undefined;
1110
+ address?: undefined;
1111
+ name: string;
1112
+ } | {
1113
+ address?: undefined;
1114
+ name: string;
1115
+ docs: string[];
1116
+ writable: boolean;
1117
+ } | {
1118
+ writable?: undefined;
1119
+ docs?: undefined;
1120
+ name: string;
1121
+ address: string;
1122
+ })[];
1123
+ } | {
1124
+ signer?: undefined;
1125
+ writable?: undefined;
1126
+ accounts?: undefined;
1127
+ name: string;
1128
+ docs: string[];
1129
+ optional: boolean;
1130
+ } | {
1131
+ signer?: undefined;
1132
+ writable?: undefined;
1133
+ docs?: undefined;
1134
+ accounts?: undefined;
1135
+ name: string;
1136
+ optional: boolean;
1137
+ } | {
1138
+ signer?: undefined;
1139
+ docs?: undefined;
1140
+ accounts?: undefined;
1141
+ name: string;
1142
+ writable: boolean;
1143
+ optional: boolean;
1144
+ })[];
1145
+ args: {
1146
+ name: string;
1147
+ type: string;
1148
+ }[];
1149
+ } | {
1150
+ name: string;
1151
+ docs: string[];
1152
+ discriminator: number[];
1153
+ accounts: ({
1154
+ address?: undefined;
1155
+ accounts?: undefined;
1156
+ pda?: undefined;
1157
+ name: string;
1158
+ writable: boolean;
1159
+ signer: boolean;
1160
+ } | {
1161
+ signer?: undefined;
1162
+ writable?: undefined;
1163
+ address?: undefined;
1164
+ accounts?: undefined;
1165
+ pda?: undefined;
1166
+ name: string;
1167
+ } | {
1168
+ signer?: undefined;
1169
+ address?: undefined;
1170
+ accounts?: undefined;
1171
+ name: string;
1172
+ writable: boolean;
1173
+ pda: {
1174
+ seeds: ({
1175
+ path?: undefined;
1176
+ kind: string;
1177
+ value: number[];
1178
+ account?: undefined;
1179
+ } | {
1180
+ value?: undefined;
1181
+ kind: string;
1182
+ path: string;
1183
+ account: string;
1184
+ } | {
1185
+ value?: undefined;
1186
+ account?: undefined;
1187
+ kind: string;
1188
+ path: string;
1189
+ })[];
1190
+ };
1191
+ } | {
1192
+ signer?: undefined;
1193
+ writable?: undefined;
1194
+ address?: undefined;
1195
+ pda?: undefined;
1196
+ name: string;
1197
+ accounts: ({
1198
+ address?: undefined;
1199
+ optional?: undefined;
1200
+ name: string;
1201
+ docs: string[];
1202
+ writable: boolean;
1203
+ } | {
1204
+ address?: undefined;
1205
+ name: string;
1206
+ docs: string[];
1207
+ writable: boolean;
1208
+ optional: boolean;
1209
+ } | {
1210
+ writable?: undefined;
1211
+ address?: undefined;
1212
+ name: string;
1213
+ docs: string[];
1214
+ optional: boolean;
1215
+ } | {
1216
+ writable?: undefined;
1217
+ docs?: undefined;
1218
+ address?: undefined;
1219
+ name: string;
1220
+ optional: boolean;
1221
+ } | {
1222
+ docs?: undefined;
1223
+ address?: undefined;
1224
+ name: string;
1225
+ writable: boolean;
1226
+ optional: boolean;
1227
+ } | {
1228
+ writable?: undefined;
1229
+ docs?: undefined;
1230
+ name: string;
1231
+ optional: boolean;
1232
+ address: string;
1233
+ })[];
1234
+ } | {
1235
+ signer?: undefined;
1236
+ writable?: undefined;
1237
+ address?: undefined;
1238
+ pda?: undefined;
1239
+ name: string;
1240
+ accounts: ({
1241
+ writable?: undefined;
1242
+ docs?: undefined;
1243
+ address?: undefined;
1244
+ name: string;
1245
+ } | {
1246
+ address?: undefined;
1247
+ name: string;
1248
+ docs: string[];
1249
+ writable: boolean;
1250
+ } | {
1251
+ writable?: undefined;
1252
+ docs?: undefined;
1253
+ name: string;
1254
+ address: string;
1255
+ })[];
1256
+ } | {
1257
+ signer?: undefined;
1258
+ writable?: undefined;
1259
+ accounts?: undefined;
1260
+ pda?: undefined;
1261
+ name: string;
1262
+ address: string;
1263
+ })[];
1264
+ args: ({
1265
+ name: string;
1266
+ type: string;
1267
+ } | {
1268
+ name: string;
1269
+ type: {
1270
+ array: (string | number)[];
1271
+ };
1272
+ })[];
1273
+ } | {
1274
+ docs?: undefined;
1275
+ name: string;
1276
+ discriminator: number[];
1277
+ accounts: ({
1278
+ address?: undefined;
1279
+ pda?: undefined;
1280
+ name: string;
1281
+ writable: boolean;
1282
+ signer: boolean;
1283
+ } | {
1284
+ signer?: undefined;
1285
+ address?: undefined;
1286
+ name: string;
1287
+ writable: boolean;
1288
+ pda: {
1289
+ seeds: {
1290
+ kind: string;
1291
+ value: number[];
1292
+ }[];
1293
+ };
1294
+ } | {
1295
+ signer?: undefined;
1296
+ writable?: undefined;
1297
+ address?: undefined;
1298
+ pda?: undefined;
1299
+ name: string;
1300
+ } | {
1301
+ signer?: undefined;
1302
+ writable?: undefined;
1303
+ pda?: undefined;
1304
+ name: string;
1305
+ address: string;
1306
+ })[];
1307
+ args: {
1308
+ name: string;
1309
+ type: {
1310
+ defined: {
1311
+ name: string;
1312
+ };
1313
+ };
1314
+ }[];
1315
+ } | {
1316
+ name: string;
1317
+ docs: string[];
1318
+ discriminator: number[];
1319
+ accounts: ({
1320
+ docs?: undefined;
1321
+ address?: undefined;
1322
+ optional?: undefined;
1323
+ accounts?: undefined;
1324
+ name: string;
1325
+ writable: boolean;
1326
+ signer: boolean;
1327
+ } | {
1328
+ signer?: undefined;
1329
+ writable?: undefined;
1330
+ docs?: undefined;
1331
+ address?: undefined;
1332
+ optional?: undefined;
1333
+ accounts?: undefined;
1334
+ name: string;
1335
+ } | {
1336
+ signer?: undefined;
1337
+ docs?: undefined;
1338
+ address?: undefined;
1339
+ accounts?: undefined;
1340
+ name: string;
1341
+ writable: boolean;
1342
+ optional: boolean;
1343
+ } | {
1344
+ signer?: undefined;
1345
+ writable?: undefined;
1346
+ address?: undefined;
1347
+ optional?: undefined;
1348
+ accounts?: undefined;
1349
+ name: string;
1350
+ docs: string[];
1351
+ } | {
1352
+ signer?: undefined;
1353
+ writable?: undefined;
1354
+ docs?: undefined;
1355
+ optional?: undefined;
1356
+ accounts?: undefined;
1357
+ name: string;
1358
+ address: string;
1359
+ } | {
1360
+ signer?: undefined;
1361
+ writable?: undefined;
1362
+ docs?: undefined;
1363
+ address?: undefined;
1364
+ optional?: undefined;
1365
+ name: string;
1366
+ accounts: ({
1367
+ writable?: undefined;
1368
+ docs?: undefined;
1369
+ address?: undefined;
1370
+ name: string;
1371
+ } | {
1372
+ address?: undefined;
1373
+ name: string;
1374
+ docs: string[];
1375
+ writable: boolean;
1376
+ } | {
1377
+ writable?: undefined;
1378
+ docs?: undefined;
1379
+ name: string;
1380
+ address: string;
1381
+ })[];
1382
+ } | {
1383
+ signer?: undefined;
1384
+ address?: undefined;
1385
+ accounts?: undefined;
1386
+ name: string;
1387
+ docs: string[];
1388
+ writable: boolean;
1389
+ optional: boolean;
1390
+ })[];
1391
+ args: ({
1392
+ name: string;
1393
+ type: {
1394
+ array?: undefined;
1395
+ defined: {
1396
+ name: string;
1397
+ };
1398
+ };
1399
+ } | {
1400
+ name: string;
1401
+ type: {
1402
+ defined?: undefined;
1403
+ array: (string | number)[];
1404
+ };
1405
+ })[];
1406
+ } | {
1407
+ name: string;
1408
+ docs: string[];
1409
+ discriminator: number[];
1410
+ accounts: ({
1411
+ optional?: undefined;
1412
+ accounts?: undefined;
1413
+ pda?: undefined;
1414
+ name: string;
1415
+ docs: string[];
1416
+ writable: boolean;
1417
+ signer: boolean;
1418
+ } | {
1419
+ signer?: undefined;
1420
+ writable?: undefined;
1421
+ docs?: undefined;
1422
+ optional?: undefined;
1423
+ accounts?: undefined;
1424
+ pda?: undefined;
1425
+ name: string;
1426
+ } | {
1427
+ signer?: undefined;
1428
+ docs?: undefined;
1429
+ optional?: undefined;
1430
+ accounts?: undefined;
1431
+ name: string;
1432
+ writable: boolean;
1433
+ pda: {
1434
+ seeds: ({
1435
+ path?: undefined;
1436
+ kind: string;
1437
+ value: number[];
1438
+ } | {
1439
+ value?: undefined;
1440
+ kind: string;
1441
+ path: string;
1442
+ })[];
1443
+ };
1444
+ } | {
1445
+ signer?: undefined;
1446
+ accounts?: undefined;
1447
+ pda?: undefined;
1448
+ name: string;
1449
+ docs: string[];
1450
+ writable: boolean;
1451
+ optional: boolean;
1452
+ } | {
1453
+ signer?: undefined;
1454
+ writable?: undefined;
1455
+ docs?: undefined;
1456
+ optional?: undefined;
1457
+ pda?: undefined;
1458
+ name: string;
1459
+ accounts: ({
1460
+ address?: undefined;
1461
+ optional?: undefined;
1462
+ name: string;
1463
+ docs: string[];
1464
+ writable: boolean;
1465
+ } | {
1466
+ address?: undefined;
1467
+ name: string;
1468
+ docs: string[];
1469
+ writable: boolean;
1470
+ optional: boolean;
1471
+ } | {
1472
+ writable?: undefined;
1473
+ address?: undefined;
1474
+ name: string;
1475
+ docs: string[];
1476
+ optional: boolean;
1477
+ } | {
1478
+ writable?: undefined;
1479
+ docs?: undefined;
1480
+ address?: undefined;
1481
+ name: string;
1482
+ optional: boolean;
1483
+ } | {
1484
+ docs?: undefined;
1485
+ address?: undefined;
1486
+ name: string;
1487
+ writable: boolean;
1488
+ optional: boolean;
1489
+ } | {
1490
+ writable?: undefined;
1491
+ docs?: undefined;
1492
+ name: string;
1493
+ optional: boolean;
1494
+ address: string;
1495
+ })[];
1496
+ } | {
1497
+ signer?: undefined;
1498
+ writable?: undefined;
1499
+ docs?: undefined;
1500
+ optional?: undefined;
1501
+ pda?: undefined;
1502
+ name: string;
1503
+ accounts: ({
1504
+ writable?: undefined;
1505
+ docs?: undefined;
1506
+ address?: undefined;
1507
+ name: string;
1508
+ } | {
1509
+ address?: undefined;
1510
+ name: string;
1511
+ docs: string[];
1512
+ writable: boolean;
1513
+ } | {
1514
+ writable?: undefined;
1515
+ docs?: undefined;
1516
+ name: string;
1517
+ address: string;
1518
+ })[];
1519
+ } | {
1520
+ signer?: undefined;
1521
+ writable?: undefined;
1522
+ docs?: undefined;
1523
+ accounts?: undefined;
1524
+ pda?: undefined;
1525
+ name: string;
1526
+ optional: boolean;
1527
+ })[];
1528
+ args: ({
1529
+ name: string;
1530
+ type: string;
1531
+ } | {
1532
+ name: string;
1533
+ type: {
1534
+ defined: {
1535
+ name: string;
1536
+ };
1537
+ };
1538
+ })[];
1539
+ } | {
1540
+ name: string;
1541
+ docs: string[];
1542
+ discriminator: number[];
1543
+ accounts: ({
1544
+ docs?: undefined;
1545
+ address?: undefined;
1546
+ optional?: undefined;
1547
+ accounts?: undefined;
1548
+ name: string;
1549
+ writable: boolean;
1550
+ } | {
1551
+ writable?: undefined;
1552
+ docs?: undefined;
1553
+ address?: undefined;
1554
+ optional?: undefined;
1555
+ name: string;
1556
+ accounts: ({
1557
+ docs?: undefined;
1558
+ address?: undefined;
1559
+ pda?: undefined;
1560
+ name: string;
1561
+ writable: boolean;
1562
+ signer: boolean;
1563
+ } | {
1564
+ signer?: undefined;
1565
+ writable?: undefined;
1566
+ docs?: undefined;
1567
+ address?: undefined;
1568
+ pda?: undefined;
1569
+ name: string;
1570
+ } | {
1571
+ signer?: undefined;
1572
+ address?: undefined;
1573
+ name: string;
1574
+ docs: string[];
1575
+ writable: boolean;
1576
+ pda: {
1577
+ seeds: ({
1578
+ path?: undefined;
1579
+ kind: string;
1580
+ value: number[];
1581
+ } | {
1582
+ value?: undefined;
1583
+ kind: string;
1584
+ path: string;
1585
+ })[];
1586
+ };
1587
+ } | {
1588
+ signer?: undefined;
1589
+ docs?: undefined;
1590
+ address?: undefined;
1591
+ pda?: undefined;
1592
+ name: string;
1593
+ writable: boolean;
1594
+ } | {
1595
+ signer?: undefined;
1596
+ address?: undefined;
1597
+ pda?: undefined;
1598
+ name: string;
1599
+ docs: string[];
1600
+ writable: boolean;
1601
+ } | {
1602
+ signer?: undefined;
1603
+ writable?: undefined;
1604
+ docs?: undefined;
1605
+ pda?: undefined;
1606
+ name: string;
1607
+ address: string;
1608
+ } | {
1609
+ signer?: undefined;
1610
+ writable?: undefined;
1611
+ address?: undefined;
1612
+ pda?: undefined;
1613
+ name: string;
1614
+ docs: string[];
1615
+ })[];
1616
+ } | {
1617
+ writable?: undefined;
1618
+ docs?: undefined;
1619
+ address?: undefined;
1620
+ optional?: undefined;
1621
+ name: string;
1622
+ accounts: ({
1623
+ address?: undefined;
1624
+ optional?: undefined;
1625
+ name: string;
1626
+ docs: string[];
1627
+ writable: boolean;
1628
+ } | {
1629
+ address?: undefined;
1630
+ name: string;
1631
+ docs: string[];
1632
+ writable: boolean;
1633
+ optional: boolean;
1634
+ } | {
1635
+ writable?: undefined;
1636
+ address?: undefined;
1637
+ name: string;
1638
+ docs: string[];
1639
+ optional: boolean;
1640
+ } | {
1641
+ writable?: undefined;
1642
+ docs?: undefined;
1643
+ address?: undefined;
1644
+ name: string;
1645
+ optional: boolean;
1646
+ } | {
1647
+ docs?: undefined;
1648
+ address?: undefined;
1649
+ name: string;
1650
+ writable: boolean;
1651
+ optional: boolean;
1652
+ } | {
1653
+ writable?: undefined;
1654
+ docs?: undefined;
1655
+ name: string;
1656
+ optional: boolean;
1657
+ address: string;
1658
+ })[];
1659
+ } | {
1660
+ address?: undefined;
1661
+ optional?: undefined;
1662
+ accounts?: undefined;
1663
+ name: string;
1664
+ docs: string[];
1665
+ writable: boolean;
1666
+ } | {
1667
+ writable?: undefined;
1668
+ docs?: undefined;
1669
+ address?: undefined;
1670
+ optional?: undefined;
1671
+ accounts?: undefined;
1672
+ name: string;
1673
+ } | {
1674
+ writable?: undefined;
1675
+ docs?: undefined;
1676
+ optional?: undefined;
1677
+ accounts?: undefined;
1678
+ name: string;
1679
+ address: string;
1680
+ } | {
1681
+ writable?: undefined;
1682
+ address?: undefined;
1683
+ accounts?: undefined;
1684
+ name: string;
1685
+ docs: string[];
1686
+ optional: boolean;
1687
+ } | {
1688
+ address?: undefined;
1689
+ accounts?: undefined;
1690
+ name: string;
1691
+ docs: string[];
1692
+ writable: boolean;
1693
+ optional: boolean;
1694
+ })[];
1695
+ args: ({
1696
+ name: string;
1697
+ type: string;
1698
+ } | {
1699
+ name: string;
1700
+ type: {
1701
+ option: string;
1702
+ };
1703
+ })[];
1704
+ } | {
1705
+ name: string;
1706
+ docs: string[];
1707
+ discriminator: number[];
1708
+ accounts: ({
1709
+ docs?: undefined;
1710
+ address?: undefined;
1711
+ optional?: undefined;
1712
+ accounts?: undefined;
1713
+ pda?: undefined;
1714
+ name: string;
1715
+ writable: boolean;
1716
+ signer: boolean;
1717
+ } | {
1718
+ signer?: undefined;
1719
+ docs?: undefined;
1720
+ address?: undefined;
1721
+ optional?: undefined;
1722
+ accounts?: undefined;
1723
+ pda?: undefined;
1724
+ name: string;
1725
+ writable: boolean;
1726
+ } | {
1727
+ signer?: undefined;
1728
+ docs?: undefined;
1729
+ address?: undefined;
1730
+ optional?: undefined;
1731
+ accounts?: undefined;
1732
+ name: string;
1733
+ writable: boolean;
1734
+ pda: {
1735
+ seeds: ({
1736
+ path?: undefined;
1737
+ kind: string;
1738
+ value: number[];
1739
+ } | {
1740
+ value?: undefined;
1741
+ kind: string;
1742
+ path: string;
1743
+ })[];
1744
+ };
1745
+ } | {
1746
+ signer?: undefined;
1747
+ writable?: undefined;
1748
+ docs?: undefined;
1749
+ address?: undefined;
1750
+ optional?: undefined;
1751
+ accounts?: undefined;
1752
+ pda?: undefined;
1753
+ name: string;
1754
+ } | {
1755
+ signer?: undefined;
1756
+ writable?: undefined;
1757
+ docs?: undefined;
1758
+ optional?: undefined;
1759
+ accounts?: undefined;
1760
+ pda?: undefined;
1761
+ name: string;
1762
+ address: string;
1763
+ } | {
1764
+ signer?: undefined;
1765
+ writable?: undefined;
1766
+ address?: undefined;
1767
+ optional?: undefined;
1768
+ accounts?: undefined;
1769
+ pda?: undefined;
1770
+ name: string;
1771
+ docs: string[];
1772
+ } | {
1773
+ signer?: undefined;
1774
+ writable?: undefined;
1775
+ docs?: undefined;
1776
+ address?: undefined;
1777
+ optional?: undefined;
1778
+ pda?: undefined;
1779
+ name: string;
1780
+ accounts: ({
1781
+ writable?: undefined;
1782
+ docs?: undefined;
1783
+ address?: undefined;
1784
+ name: string;
1785
+ } | {
1786
+ address?: undefined;
1787
+ name: string;
1788
+ docs: string[];
1789
+ writable: boolean;
1790
+ } | {
1791
+ writable?: undefined;
1792
+ docs?: undefined;
1793
+ name: string;
1794
+ address: string;
1795
+ })[];
1796
+ } | {
1797
+ signer?: undefined;
1798
+ writable?: undefined;
1799
+ docs?: undefined;
1800
+ address?: undefined;
1801
+ accounts?: undefined;
1802
+ pda?: undefined;
1803
+ name: string;
1804
+ optional: boolean;
1805
+ } | {
1806
+ signer?: undefined;
1807
+ docs?: undefined;
1808
+ address?: undefined;
1809
+ accounts?: undefined;
1810
+ pda?: undefined;
1811
+ name: string;
1812
+ writable: boolean;
1813
+ optional: boolean;
1814
+ } | {
1815
+ signer?: undefined;
1816
+ writable?: undefined;
1817
+ address?: undefined;
1818
+ accounts?: undefined;
1819
+ pda?: undefined;
1820
+ name: string;
1821
+ docs: string[];
1822
+ optional: boolean;
1823
+ })[];
1824
+ args: ({
1825
+ name: string;
1826
+ type: string;
1827
+ } | {
1828
+ name: string;
1829
+ type: {
1830
+ defined: {
1831
+ name: string;
1832
+ };
1833
+ };
1834
+ })[];
1835
+ } | {
1836
+ name: string;
1837
+ docs: string[];
1838
+ discriminator: number[];
1839
+ accounts: ({
1840
+ docs?: undefined;
1841
+ address?: undefined;
1842
+ optional?: undefined;
1843
+ accounts?: undefined;
1844
+ pda?: undefined;
1845
+ name: string;
1846
+ writable: boolean;
1847
+ signer: boolean;
1848
+ } | {
1849
+ signer?: undefined;
1850
+ writable?: undefined;
1851
+ docs?: undefined;
1852
+ address?: undefined;
1853
+ optional?: undefined;
1854
+ accounts?: undefined;
1855
+ pda?: undefined;
1856
+ name: string;
1857
+ } | {
1858
+ signer?: undefined;
1859
+ docs?: undefined;
1860
+ address?: undefined;
1861
+ optional?: undefined;
1862
+ accounts?: undefined;
1863
+ name: string;
1864
+ writable: boolean;
1865
+ pda: {
1866
+ seeds: ({
1867
+ path?: undefined;
1868
+ kind: string;
1869
+ value: number[];
1870
+ } | {
1871
+ value?: undefined;
1872
+ kind: string;
1873
+ path: string;
1874
+ })[];
1875
+ };
1876
+ } | {
1877
+ signer?: undefined;
1878
+ writable?: undefined;
1879
+ docs?: undefined;
1880
+ address?: undefined;
1881
+ accounts?: undefined;
1882
+ pda?: undefined;
1883
+ name: string;
1884
+ optional: boolean;
1885
+ } | {
1886
+ signer?: undefined;
1887
+ address?: undefined;
1888
+ accounts?: undefined;
1889
+ pda?: undefined;
1890
+ name: string;
1891
+ docs: string[];
1892
+ writable: boolean;
1893
+ optional: boolean;
1894
+ } | {
1895
+ signer?: undefined;
1896
+ writable?: undefined;
1897
+ docs?: undefined;
1898
+ optional?: undefined;
1899
+ accounts?: undefined;
1900
+ pda?: undefined;
1901
+ name: string;
1902
+ address: string;
1903
+ } | {
1904
+ signer?: undefined;
1905
+ writable?: undefined;
1906
+ address?: undefined;
1907
+ optional?: undefined;
1908
+ accounts?: undefined;
1909
+ pda?: undefined;
1910
+ name: string;
1911
+ docs: string[];
1912
+ } | {
1913
+ signer?: undefined;
1914
+ writable?: undefined;
1915
+ docs?: undefined;
1916
+ address?: undefined;
1917
+ optional?: undefined;
1918
+ pda?: undefined;
1919
+ name: string;
1920
+ accounts: ({
1921
+ writable?: undefined;
1922
+ docs?: undefined;
1923
+ address?: undefined;
1924
+ name: string;
1925
+ } | {
1926
+ address?: undefined;
1927
+ name: string;
1928
+ docs: string[];
1929
+ writable: boolean;
1930
+ } | {
1931
+ writable?: undefined;
1932
+ docs?: undefined;
1933
+ name: string;
1934
+ address: string;
1935
+ })[];
1936
+ } | {
1937
+ signer?: undefined;
1938
+ docs?: undefined;
1939
+ address?: undefined;
1940
+ accounts?: undefined;
1941
+ name: string;
1942
+ writable: boolean;
1943
+ optional: boolean;
1944
+ pda: {
1945
+ seeds: ({
1946
+ path?: undefined;
1947
+ kind: string;
1948
+ value: number[];
1949
+ } | {
1950
+ value?: undefined;
1951
+ kind: string;
1952
+ path: string;
1953
+ })[];
1954
+ };
1955
+ })[];
1956
+ args: ({
1957
+ name: string;
1958
+ type: string;
1959
+ } | {
1960
+ name: string;
1961
+ type: {
1962
+ defined: {
1963
+ name: string;
1964
+ };
1965
+ };
1966
+ })[];
1967
+ } | {
1968
+ name: string;
1969
+ docs: string[];
1970
+ discriminator: number[];
1971
+ accounts: ({
1972
+ accounts?: undefined;
1973
+ pda?: undefined;
1974
+ name: string;
1975
+ docs: string[];
1976
+ writable: boolean;
1977
+ signer: boolean;
1978
+ } | {
1979
+ signer?: undefined;
1980
+ writable?: undefined;
1981
+ docs?: undefined;
1982
+ accounts?: undefined;
1983
+ pda?: undefined;
1984
+ name: string;
1985
+ } | {
1986
+ signer?: undefined;
1987
+ docs?: undefined;
1988
+ accounts?: undefined;
1989
+ name: string;
1990
+ writable: boolean;
1991
+ pda: {
1992
+ seeds: ({
1993
+ path?: undefined;
1994
+ account?: undefined;
1995
+ kind: string;
1996
+ value: number[];
1997
+ } | {
1998
+ value?: undefined;
1999
+ account?: undefined;
2000
+ kind: string;
2001
+ path: string;
2002
+ } | {
2003
+ value?: undefined;
2004
+ kind: string;
2005
+ path: string;
2006
+ account: string;
2007
+ })[];
2008
+ };
2009
+ } | {
2010
+ signer?: undefined;
2011
+ writable?: undefined;
2012
+ docs?: undefined;
2013
+ pda?: undefined;
2014
+ name: string;
2015
+ accounts: ({
2016
+ address?: undefined;
2017
+ optional?: undefined;
2018
+ name: string;
2019
+ docs: string[];
2020
+ writable: boolean;
2021
+ } | {
2022
+ address?: undefined;
2023
+ name: string;
2024
+ docs: string[];
2025
+ writable: boolean;
2026
+ optional: boolean;
2027
+ } | {
2028
+ writable?: undefined;
2029
+ address?: undefined;
2030
+ name: string;
2031
+ docs: string[];
2032
+ optional: boolean;
2033
+ } | {
2034
+ writable?: undefined;
2035
+ docs?: undefined;
2036
+ address?: undefined;
2037
+ name: string;
2038
+ optional: boolean;
2039
+ } | {
2040
+ docs?: undefined;
2041
+ address?: undefined;
2042
+ name: string;
2043
+ writable: boolean;
2044
+ optional: boolean;
2045
+ } | {
2046
+ writable?: undefined;
2047
+ docs?: undefined;
2048
+ name: string;
2049
+ optional: boolean;
2050
+ address: string;
2051
+ })[];
2052
+ } | {
2053
+ signer?: undefined;
2054
+ writable?: undefined;
2055
+ accounts?: undefined;
2056
+ pda?: undefined;
2057
+ name: string;
2058
+ docs: string[];
2059
+ } | {
2060
+ signer?: undefined;
2061
+ writable?: undefined;
2062
+ docs?: undefined;
2063
+ pda?: undefined;
2064
+ name: string;
2065
+ accounts: ({
2066
+ writable?: undefined;
2067
+ docs?: undefined;
2068
+ address?: undefined;
2069
+ name: string;
2070
+ } | {
2071
+ address?: undefined;
2072
+ name: string;
2073
+ docs: string[];
2074
+ writable: boolean;
2075
+ } | {
2076
+ writable?: undefined;
2077
+ docs?: undefined;
2078
+ name: string;
2079
+ address: string;
2080
+ })[];
2081
+ })[];
2082
+ args: ({
2083
+ name: string;
2084
+ type: {
2085
+ vec?: undefined;
2086
+ defined: {
2087
+ name: string;
2088
+ };
2089
+ };
2090
+ } | {
2091
+ name: string;
2092
+ type: {
2093
+ defined?: undefined;
2094
+ vec: {
2095
+ defined: {
2096
+ name: string;
2097
+ };
2098
+ };
2099
+ };
2100
+ })[];
2101
+ } | {
2102
+ name: string;
2103
+ docs: string[];
2104
+ discriminator: number[];
2105
+ accounts: ({
2106
+ address?: undefined;
2107
+ accounts?: undefined;
2108
+ pda?: undefined;
2109
+ name: string;
2110
+ docs: string[];
2111
+ writable: boolean;
2112
+ signer: boolean;
2113
+ } | {
2114
+ signer?: undefined;
2115
+ writable?: undefined;
2116
+ docs?: undefined;
2117
+ address?: undefined;
2118
+ accounts?: undefined;
2119
+ pda?: undefined;
2120
+ name: string;
2121
+ } | {
2122
+ signer?: undefined;
2123
+ docs?: undefined;
2124
+ address?: undefined;
2125
+ accounts?: undefined;
2126
+ name: string;
2127
+ writable: boolean;
2128
+ pda: {
2129
+ seeds: ({
2130
+ path?: undefined;
2131
+ kind: string;
2132
+ value: number[];
2133
+ } | {
2134
+ value?: undefined;
2135
+ kind: string;
2136
+ path: string;
2137
+ })[];
2138
+ };
2139
+ } | {
2140
+ signer?: undefined;
2141
+ docs?: undefined;
2142
+ address?: undefined;
2143
+ accounts?: undefined;
2144
+ pda?: undefined;
2145
+ name: string;
2146
+ writable: boolean;
2147
+ } | {
2148
+ signer?: undefined;
2149
+ address?: undefined;
2150
+ accounts?: undefined;
2151
+ pda?: undefined;
2152
+ name: string;
2153
+ docs: string[];
2154
+ writable: boolean;
2155
+ } | {
2156
+ signer?: undefined;
2157
+ writable?: undefined;
2158
+ docs?: undefined;
2159
+ accounts?: undefined;
2160
+ pda?: undefined;
2161
+ name: string;
2162
+ address: string;
2163
+ } | {
2164
+ signer?: undefined;
2165
+ writable?: undefined;
2166
+ address?: undefined;
2167
+ accounts?: undefined;
2168
+ pda?: undefined;
2169
+ name: string;
2170
+ docs: string[];
2171
+ } | {
2172
+ signer?: undefined;
2173
+ writable?: undefined;
2174
+ docs?: undefined;
2175
+ address?: undefined;
2176
+ pda?: undefined;
2177
+ name: string;
2178
+ accounts: ({
2179
+ writable?: undefined;
2180
+ docs?: undefined;
2181
+ address?: undefined;
2182
+ name: string;
2183
+ } | {
2184
+ address?: undefined;
2185
+ name: string;
2186
+ docs: string[];
2187
+ writable: boolean;
2188
+ } | {
2189
+ writable?: undefined;
2190
+ docs?: undefined;
2191
+ name: string;
2192
+ address: string;
2193
+ })[];
2194
+ })[];
2195
+ args: ({
2196
+ name: string;
2197
+ type: string;
2198
+ } | {
2199
+ name: string;
2200
+ type: {
2201
+ defined: {
2202
+ name: string;
2203
+ };
2204
+ };
2205
+ })[];
2206
+ } | {
2207
+ docs?: undefined;
2208
+ name: string;
2209
+ discriminator: number[];
2210
+ accounts: ({
2211
+ docs?: undefined;
2212
+ address?: undefined;
2213
+ accounts?: undefined;
2214
+ pda?: undefined;
2215
+ name: string;
2216
+ writable: boolean;
2217
+ signer: boolean;
2218
+ } | {
2219
+ signer?: undefined;
2220
+ writable?: undefined;
2221
+ docs?: undefined;
2222
+ address?: undefined;
2223
+ accounts?: undefined;
2224
+ pda?: undefined;
2225
+ name: string;
2226
+ } | {
2227
+ signer?: undefined;
2228
+ docs?: undefined;
2229
+ address?: undefined;
2230
+ accounts?: undefined;
2231
+ name: string;
2232
+ writable: boolean;
2233
+ pda: {
2234
+ seeds: ({
2235
+ path?: undefined;
2236
+ kind: string;
2237
+ value: number[];
2238
+ } | {
2239
+ value?: undefined;
2240
+ kind: string;
2241
+ path: string;
2242
+ })[];
2243
+ };
2244
+ } | {
2245
+ signer?: undefined;
2246
+ writable?: undefined;
2247
+ docs?: undefined;
2248
+ accounts?: undefined;
2249
+ pda?: undefined;
2250
+ name: string;
2251
+ address: string;
2252
+ } | {
2253
+ signer?: undefined;
2254
+ writable?: undefined;
2255
+ address?: undefined;
2256
+ accounts?: undefined;
2257
+ pda?: undefined;
2258
+ name: string;
2259
+ docs: string[];
2260
+ } | {
2261
+ signer?: undefined;
2262
+ writable?: undefined;
2263
+ docs?: undefined;
2264
+ address?: undefined;
2265
+ pda?: undefined;
2266
+ name: string;
2267
+ accounts: ({
2268
+ writable?: undefined;
2269
+ docs?: undefined;
2270
+ address?: undefined;
2271
+ name: string;
2272
+ } | {
2273
+ address?: undefined;
2274
+ name: string;
2275
+ docs: string[];
2276
+ writable: boolean;
2277
+ } | {
2278
+ writable?: undefined;
2279
+ docs?: undefined;
2280
+ name: string;
2281
+ address: string;
2282
+ })[];
2283
+ })[];
2284
+ args: {
2285
+ name: string;
2286
+ type: string;
2287
+ }[];
2288
+ } | {
2289
+ name: string;
2290
+ docs: string[];
2291
+ discriminator: number[];
2292
+ accounts: ({
2293
+ docs?: undefined;
2294
+ address?: undefined;
2295
+ accounts?: undefined;
2296
+ name: string;
2297
+ writable: boolean;
2298
+ signer: boolean;
2299
+ } | {
2300
+ signer?: undefined;
2301
+ writable?: undefined;
2302
+ docs?: undefined;
2303
+ address?: undefined;
2304
+ accounts?: undefined;
2305
+ name: string;
2306
+ } | {
2307
+ signer?: undefined;
2308
+ writable?: undefined;
2309
+ address?: undefined;
2310
+ accounts?: undefined;
2311
+ name: string;
2312
+ docs: string[];
2313
+ } | {
2314
+ signer?: undefined;
2315
+ address?: undefined;
2316
+ accounts?: undefined;
2317
+ name: string;
2318
+ docs: string[];
2319
+ writable: boolean;
2320
+ } | {
2321
+ signer?: undefined;
2322
+ docs?: undefined;
2323
+ address?: undefined;
2324
+ accounts?: undefined;
2325
+ name: string;
2326
+ writable: boolean;
2327
+ } | {
2328
+ signer?: undefined;
2329
+ writable?: undefined;
2330
+ docs?: undefined;
2331
+ accounts?: undefined;
2332
+ name: string;
2333
+ address: string;
2334
+ } | {
2335
+ signer?: undefined;
2336
+ writable?: undefined;
2337
+ docs?: undefined;
2338
+ address?: undefined;
2339
+ name: string;
2340
+ accounts: ({
2341
+ writable?: undefined;
2342
+ docs?: undefined;
2343
+ address?: undefined;
2344
+ name: string;
2345
+ } | {
2346
+ address?: undefined;
2347
+ name: string;
2348
+ docs: string[];
2349
+ writable: boolean;
2350
+ } | {
2351
+ writable?: undefined;
2352
+ docs?: undefined;
2353
+ name: string;
2354
+ address: string;
2355
+ })[];
2356
+ })[];
2357
+ args: ({
2358
+ name: string;
2359
+ type: string;
2360
+ } | {
2361
+ name: string;
2362
+ type: {
2363
+ array?: undefined;
2364
+ vec: {
2365
+ defined: {
2366
+ name: string;
2367
+ };
2368
+ };
2369
+ };
2370
+ } | {
2371
+ name: string;
2372
+ type: {
2373
+ vec?: undefined;
2374
+ array: (string | number)[];
2375
+ };
2376
+ })[];
2377
+ } | {
2378
+ name: string;
2379
+ docs: string[];
2380
+ discriminator: number[];
2381
+ accounts: ({
2382
+ address?: undefined;
2383
+ name: string;
2384
+ docs: string[];
2385
+ writable: boolean;
2386
+ signer: boolean;
2387
+ } | {
2388
+ signer?: undefined;
2389
+ writable?: undefined;
2390
+ address?: undefined;
2391
+ name: string;
2392
+ docs: string[];
2393
+ } | {
2394
+ signer?: undefined;
2395
+ writable?: undefined;
2396
+ docs?: undefined;
2397
+ address?: undefined;
2398
+ name: string;
2399
+ } | {
2400
+ signer?: undefined;
2401
+ docs?: undefined;
2402
+ address?: undefined;
2403
+ name: string;
2404
+ writable: boolean;
2405
+ } | {
2406
+ signer?: undefined;
2407
+ writable?: undefined;
2408
+ docs?: undefined;
2409
+ name: string;
2410
+ address: string;
2411
+ })[];
2412
+ args: ({
2413
+ name: string;
2414
+ type: {
2415
+ vec: {
2416
+ array?: undefined;
2417
+ defined: {
2418
+ name: string;
2419
+ };
2420
+ };
2421
+ };
2422
+ } | {
2423
+ name: string;
2424
+ type: {
2425
+ vec: {
2426
+ defined?: undefined;
2427
+ array: (string | number)[];
2428
+ };
2429
+ };
2430
+ })[];
2431
+ } | {
2432
+ name: string;
2433
+ docs: string[];
2434
+ discriminator: number[];
2435
+ accounts: ({
2436
+ address?: undefined;
2437
+ optional?: undefined;
2438
+ name: string;
2439
+ docs: string[];
2440
+ writable: boolean;
2441
+ signer: boolean;
2442
+ } | {
2443
+ signer?: undefined;
2444
+ writable?: undefined;
2445
+ docs?: undefined;
2446
+ address?: undefined;
2447
+ optional?: undefined;
2448
+ name: string;
2449
+ } | {
2450
+ signer?: undefined;
2451
+ docs?: undefined;
2452
+ address?: undefined;
2453
+ optional?: undefined;
2454
+ name: string;
2455
+ writable: boolean;
2456
+ } | {
2457
+ signer?: undefined;
2458
+ address?: undefined;
2459
+ name: string;
2460
+ docs: string[];
2461
+ writable: boolean;
2462
+ optional: boolean;
2463
+ } | {
2464
+ signer?: undefined;
2465
+ docs?: undefined;
2466
+ address?: undefined;
2467
+ name: string;
2468
+ writable: boolean;
2469
+ optional: boolean;
2470
+ } | {
2471
+ signer?: undefined;
2472
+ writable?: undefined;
2473
+ docs?: undefined;
2474
+ optional?: undefined;
2475
+ name: string;
2476
+ address: string;
2477
+ } | {
2478
+ signer?: undefined;
2479
+ writable?: undefined;
2480
+ address?: undefined;
2481
+ optional?: undefined;
2482
+ name: string;
2483
+ docs: string[];
2484
+ })[];
2485
+ args: ({
2486
+ name: string;
2487
+ type: string;
2488
+ } | {
2489
+ name: string;
2490
+ type: {
2491
+ defined: {
2492
+ name: string;
2493
+ };
2494
+ };
2495
+ })[];
2496
+ } | {
2497
+ docs?: undefined;
2498
+ name: string;
2499
+ discriminator: number[];
2500
+ accounts: ({
2501
+ writable?: undefined;
2502
+ docs?: undefined;
2503
+ name: string;
2504
+ signer: boolean;
2505
+ } | {
2506
+ signer?: undefined;
2507
+ docs?: undefined;
2508
+ name: string;
2509
+ writable: boolean;
2510
+ } | {
2511
+ writable?: undefined;
2512
+ name: string;
2513
+ docs: string[];
2514
+ signer: boolean;
2515
+ })[];
2516
+ args: {
2517
+ name: string;
2518
+ type: {
2519
+ defined: {
2520
+ name: string;
2521
+ };
2522
+ };
2523
+ }[];
2524
+ } | {
2525
+ docs?: undefined;
2526
+ name: string;
2527
+ discriminator: number[];
2528
+ accounts: ({
2529
+ writable?: undefined;
2530
+ name: string;
2531
+ signer: boolean;
2532
+ } | {
2533
+ signer?: undefined;
2534
+ writable?: undefined;
2535
+ name: string;
2536
+ } | {
2537
+ signer?: undefined;
2538
+ name: string;
2539
+ writable: boolean;
2540
+ })[];
2541
+ args: {
2542
+ name: string;
2543
+ type: string;
2544
+ }[];
2545
+ } | {
2546
+ name: string;
2547
+ docs: string[];
2548
+ discriminator: number[];
2549
+ accounts: ({
2550
+ docs?: undefined;
2551
+ address?: undefined;
2552
+ optional?: undefined;
2553
+ accounts?: undefined;
2554
+ name: string;
2555
+ writable: boolean;
2556
+ signer: boolean;
2557
+ } | {
2558
+ signer?: undefined;
2559
+ writable?: undefined;
2560
+ docs?: undefined;
2561
+ address?: undefined;
2562
+ optional?: undefined;
2563
+ name: string;
2564
+ accounts: ({
2565
+ writable?: undefined;
2566
+ docs?: undefined;
2567
+ address?: undefined;
2568
+ optional?: undefined;
2569
+ pda?: undefined;
2570
+ name: string;
2571
+ } | {
2572
+ docs?: undefined;
2573
+ address?: undefined;
2574
+ optional?: undefined;
2575
+ pda?: undefined;
2576
+ name: string;
2577
+ writable: boolean;
2578
+ } | {
2579
+ docs?: undefined;
2580
+ address?: undefined;
2581
+ optional?: undefined;
2582
+ name: string;
2583
+ writable: boolean;
2584
+ pda: {
2585
+ seeds: ({
2586
+ path?: undefined;
2587
+ kind: string;
2588
+ value: number[];
2589
+ } | {
2590
+ value?: undefined;
2591
+ kind: string;
2592
+ path: string;
2593
+ })[];
2594
+ };
2595
+ } | {
2596
+ writable?: undefined;
2597
+ address?: undefined;
2598
+ optional?: undefined;
2599
+ pda?: undefined;
2600
+ name: string;
2601
+ docs: string[];
2602
+ } | {
2603
+ writable?: undefined;
2604
+ docs?: undefined;
2605
+ optional?: undefined;
2606
+ pda?: undefined;
2607
+ name: string;
2608
+ address: string;
2609
+ } | {
2610
+ docs?: undefined;
2611
+ address?: undefined;
2612
+ name: string;
2613
+ writable: boolean;
2614
+ optional: boolean;
2615
+ pda: {
2616
+ seeds: ({
2617
+ path?: undefined;
2618
+ kind: string;
2619
+ value: number[];
2620
+ } | {
2621
+ value?: undefined;
2622
+ kind: string;
2623
+ path: string;
2624
+ })[];
2625
+ };
2626
+ })[];
2627
+ } | {
2628
+ signer?: undefined;
2629
+ writable?: undefined;
2630
+ docs?: undefined;
2631
+ address?: undefined;
2632
+ optional?: undefined;
2633
+ name: string;
2634
+ accounts: ({
2635
+ address?: undefined;
2636
+ optional?: undefined;
2637
+ name: string;
2638
+ docs: string[];
2639
+ writable: boolean;
2640
+ } | {
2641
+ address?: undefined;
2642
+ name: string;
2643
+ docs: string[];
2644
+ writable: boolean;
2645
+ optional: boolean;
2646
+ } | {
2647
+ writable?: undefined;
2648
+ address?: undefined;
2649
+ name: string;
2650
+ docs: string[];
2651
+ optional: boolean;
2652
+ } | {
2653
+ writable?: undefined;
2654
+ docs?: undefined;
2655
+ address?: undefined;
2656
+ name: string;
2657
+ optional: boolean;
2658
+ } | {
2659
+ docs?: undefined;
2660
+ address?: undefined;
2661
+ name: string;
2662
+ writable: boolean;
2663
+ optional: boolean;
2664
+ } | {
2665
+ writable?: undefined;
2666
+ docs?: undefined;
2667
+ name: string;
2668
+ optional: boolean;
2669
+ address: string;
2670
+ })[];
2671
+ } | {
2672
+ signer?: undefined;
2673
+ address?: undefined;
2674
+ optional?: undefined;
2675
+ accounts?: undefined;
2676
+ name: string;
2677
+ docs: string[];
2678
+ writable: boolean;
2679
+ } | {
2680
+ signer?: undefined;
2681
+ address?: undefined;
2682
+ accounts?: undefined;
2683
+ name: string;
2684
+ docs: string[];
2685
+ writable: boolean;
2686
+ optional: boolean;
2687
+ } | {
2688
+ signer?: undefined;
2689
+ writable?: undefined;
2690
+ docs?: undefined;
2691
+ address?: undefined;
2692
+ optional?: undefined;
2693
+ name: string;
2694
+ accounts: ({
2695
+ writable?: undefined;
2696
+ docs?: undefined;
2697
+ address?: undefined;
2698
+ name: string;
2699
+ } | {
2700
+ address?: undefined;
2701
+ name: string;
2702
+ docs: string[];
2703
+ writable: boolean;
2704
+ } | {
2705
+ writable?: undefined;
2706
+ docs?: undefined;
2707
+ name: string;
2708
+ address: string;
2709
+ })[];
2710
+ } | {
2711
+ signer?: undefined;
2712
+ writable?: undefined;
2713
+ accounts?: undefined;
2714
+ name: string;
2715
+ docs: string[];
2716
+ optional: boolean;
2717
+ address: string;
2718
+ } | {
2719
+ signer?: undefined;
2720
+ writable?: undefined;
2721
+ address?: undefined;
2722
+ accounts?: undefined;
2723
+ name: string;
2724
+ docs: string[];
2725
+ optional: boolean;
2726
+ } | {
2727
+ signer?: undefined;
2728
+ docs?: undefined;
2729
+ address?: undefined;
2730
+ accounts?: undefined;
2731
+ name: string;
2732
+ writable: boolean;
2733
+ optional: boolean;
2734
+ })[];
2735
+ args: {
2736
+ name: string;
2737
+ type: string;
2738
+ }[];
2739
+ } | {
2740
+ name: string;
2741
+ docs: string[];
2742
+ discriminator: number[];
2743
+ accounts: ({
2744
+ docs?: undefined;
2745
+ optional?: undefined;
2746
+ accounts?: undefined;
2747
+ pda?: undefined;
2748
+ name: string;
2749
+ writable: boolean;
2750
+ signer: boolean;
2751
+ } | {
2752
+ signer?: undefined;
2753
+ writable?: undefined;
2754
+ docs?: undefined;
2755
+ optional?: undefined;
2756
+ pda?: undefined;
2757
+ name: string;
2758
+ accounts: ({
2759
+ writable?: undefined;
2760
+ docs?: undefined;
2761
+ address?: undefined;
2762
+ optional?: undefined;
2763
+ pda?: undefined;
2764
+ name: string;
2765
+ } | {
2766
+ docs?: undefined;
2767
+ address?: undefined;
2768
+ optional?: undefined;
2769
+ pda?: undefined;
2770
+ name: string;
2771
+ writable: boolean;
2772
+ } | {
2773
+ docs?: undefined;
2774
+ address?: undefined;
2775
+ optional?: undefined;
2776
+ name: string;
2777
+ writable: boolean;
2778
+ pda: {
2779
+ seeds: ({
2780
+ path?: undefined;
2781
+ kind: string;
2782
+ value: number[];
2783
+ } | {
2784
+ value?: undefined;
2785
+ kind: string;
2786
+ path: string;
2787
+ })[];
2788
+ };
2789
+ } | {
2790
+ writable?: undefined;
2791
+ address?: undefined;
2792
+ optional?: undefined;
2793
+ pda?: undefined;
2794
+ name: string;
2795
+ docs: string[];
2796
+ } | {
2797
+ writable?: undefined;
2798
+ docs?: undefined;
2799
+ optional?: undefined;
2800
+ pda?: undefined;
2801
+ name: string;
2802
+ address: string;
2803
+ } | {
2804
+ docs?: undefined;
2805
+ address?: undefined;
2806
+ name: string;
2807
+ writable: boolean;
2808
+ optional: boolean;
2809
+ pda: {
2810
+ seeds: ({
2811
+ path?: undefined;
2812
+ kind: string;
2813
+ value: number[];
2814
+ } | {
2815
+ value?: undefined;
2816
+ kind: string;
2817
+ path: string;
2818
+ })[];
2819
+ };
2820
+ })[];
2821
+ } | {
2822
+ signer?: undefined;
2823
+ optional?: undefined;
2824
+ accounts?: undefined;
2825
+ name: string;
2826
+ docs: string[];
2827
+ writable: boolean;
2828
+ pda: {
2829
+ seeds: ({
2830
+ path?: undefined;
2831
+ account?: undefined;
2832
+ kind: string;
2833
+ value: number[];
2834
+ } | {
2835
+ value?: undefined;
2836
+ kind: string;
2837
+ path: string;
2838
+ account: string;
2839
+ } | {
2840
+ value?: undefined;
2841
+ account?: undefined;
2842
+ kind: string;
2843
+ path: string;
2844
+ })[];
2845
+ };
2846
+ } | {
2847
+ signer?: undefined;
2848
+ writable?: undefined;
2849
+ docs?: undefined;
2850
+ optional?: undefined;
2851
+ accounts?: undefined;
2852
+ pda?: undefined;
2853
+ name: string;
2854
+ } | {
2855
+ signer?: undefined;
2856
+ optional?: undefined;
2857
+ accounts?: undefined;
2858
+ pda?: undefined;
2859
+ name: string;
2860
+ docs: string[];
2861
+ writable: boolean;
2862
+ } | {
2863
+ signer?: undefined;
2864
+ docs?: undefined;
2865
+ accounts?: undefined;
2866
+ pda?: undefined;
2867
+ name: string;
2868
+ writable: boolean;
2869
+ optional: boolean;
2870
+ } | {
2871
+ signer?: undefined;
2872
+ writable?: undefined;
2873
+ docs?: undefined;
2874
+ optional?: undefined;
2875
+ pda?: undefined;
2876
+ name: string;
2877
+ accounts: ({
2878
+ writable?: undefined;
2879
+ docs?: undefined;
2880
+ address?: undefined;
2881
+ name: string;
2882
+ } | {
2883
+ address?: undefined;
2884
+ name: string;
2885
+ docs: string[];
2886
+ writable: boolean;
2887
+ } | {
2888
+ writable?: undefined;
2889
+ docs?: undefined;
2890
+ name: string;
2891
+ address: string;
2892
+ })[];
2893
+ } | {
2894
+ signer?: undefined;
2895
+ accounts?: undefined;
2896
+ pda?: undefined;
2897
+ name: string;
2898
+ docs: string[];
2899
+ writable: boolean;
2900
+ optional: boolean;
2901
+ })[];
2902
+ args: {
2903
+ name: string;
2904
+ type: string;
2905
+ }[];
2906
+ } | {
2907
+ name: string;
2908
+ docs: string[];
2909
+ discriminator: number[];
2910
+ accounts: ({
2911
+ optional?: undefined;
2912
+ accounts?: undefined;
2913
+ name: string;
2914
+ docs: string[];
2915
+ writable: boolean;
2916
+ signer: boolean;
2917
+ } | {
2918
+ signer?: undefined;
2919
+ writable?: undefined;
2920
+ docs?: undefined;
2921
+ optional?: undefined;
2922
+ accounts?: undefined;
2923
+ name: string;
2924
+ } | {
2925
+ signer?: undefined;
2926
+ optional?: undefined;
2927
+ accounts?: undefined;
2928
+ name: string;
2929
+ docs: string[];
2930
+ writable: boolean;
2931
+ } | {
2932
+ signer?: undefined;
2933
+ writable?: undefined;
2934
+ docs?: undefined;
2935
+ optional?: undefined;
2936
+ name: string;
2937
+ accounts: ({
2938
+ address?: undefined;
2939
+ optional?: undefined;
2940
+ name: string;
2941
+ docs: string[];
2942
+ writable: boolean;
2943
+ } | {
2944
+ address?: undefined;
2945
+ name: string;
2946
+ docs: string[];
2947
+ writable: boolean;
2948
+ optional: boolean;
2949
+ } | {
2950
+ writable?: undefined;
2951
+ address?: undefined;
2952
+ name: string;
2953
+ docs: string[];
2954
+ optional: boolean;
2955
+ } | {
2956
+ writable?: undefined;
2957
+ docs?: undefined;
2958
+ address?: undefined;
2959
+ name: string;
2960
+ optional: boolean;
2961
+ } | {
2962
+ docs?: undefined;
2963
+ address?: undefined;
2964
+ name: string;
2965
+ writable: boolean;
2966
+ optional: boolean;
2967
+ } | {
2968
+ writable?: undefined;
2969
+ docs?: undefined;
2970
+ name: string;
2971
+ optional: boolean;
2972
+ address: string;
2973
+ })[];
2974
+ } | {
2975
+ signer?: undefined;
2976
+ writable?: undefined;
2977
+ docs?: undefined;
2978
+ optional?: undefined;
2979
+ name: string;
2980
+ accounts: ({
2981
+ writable?: undefined;
2982
+ docs?: undefined;
2983
+ address?: undefined;
2984
+ name: string;
2985
+ } | {
2986
+ address?: undefined;
2987
+ name: string;
2988
+ docs: string[];
2989
+ writable: boolean;
2990
+ } | {
2991
+ writable?: undefined;
2992
+ docs?: undefined;
2993
+ name: string;
2994
+ address: string;
2995
+ })[];
2996
+ } | {
2997
+ signer?: undefined;
2998
+ writable?: undefined;
2999
+ accounts?: undefined;
3000
+ name: string;
3001
+ docs: string[];
3002
+ optional: boolean;
3003
+ })[];
3004
+ args: ({
3005
+ name: string;
3006
+ type: {
3007
+ vec?: undefined;
3008
+ defined: {
3009
+ name: string;
3010
+ };
3011
+ };
3012
+ } | {
3013
+ name: string;
3014
+ type: string;
3015
+ } | {
3016
+ name: string;
3017
+ type: {
3018
+ defined?: undefined;
3019
+ vec: string;
3020
+ };
3021
+ })[];
3022
+ } | {
3023
+ name: string;
3024
+ docs: string[];
3025
+ discriminator: number[];
3026
+ accounts: ({
3027
+ address?: undefined;
3028
+ accounts?: undefined;
3029
+ pda?: undefined;
3030
+ name: string;
3031
+ docs: string[];
3032
+ writable: boolean;
3033
+ signer: boolean;
3034
+ } | {
3035
+ signer?: undefined;
3036
+ writable?: undefined;
3037
+ docs?: undefined;
3038
+ address?: undefined;
3039
+ accounts?: undefined;
3040
+ pda?: undefined;
3041
+ name: string;
3042
+ } | {
3043
+ signer?: undefined;
3044
+ docs?: undefined;
3045
+ address?: undefined;
3046
+ accounts?: undefined;
3047
+ name: string;
3048
+ writable: boolean;
3049
+ pda: {
3050
+ seeds: ({
3051
+ path?: undefined;
3052
+ account?: undefined;
3053
+ kind: string;
3054
+ value: number[];
3055
+ } | {
3056
+ value?: undefined;
3057
+ account?: undefined;
3058
+ kind: string;
3059
+ path: string;
3060
+ } | {
3061
+ value?: undefined;
3062
+ kind: string;
3063
+ path: string;
3064
+ account: string;
3065
+ })[];
3066
+ };
3067
+ } | {
3068
+ signer?: undefined;
3069
+ address?: undefined;
3070
+ accounts?: undefined;
3071
+ pda?: undefined;
3072
+ name: string;
3073
+ docs: string[];
3074
+ writable: boolean;
3075
+ } | {
3076
+ signer?: undefined;
3077
+ docs?: undefined;
3078
+ address?: undefined;
3079
+ accounts?: undefined;
3080
+ pda?: undefined;
3081
+ name: string;
3082
+ writable: boolean;
3083
+ } | {
3084
+ signer?: undefined;
3085
+ writable?: undefined;
3086
+ docs?: undefined;
3087
+ address?: undefined;
3088
+ pda?: undefined;
3089
+ name: string;
3090
+ accounts: ({
3091
+ address?: undefined;
3092
+ optional?: undefined;
3093
+ name: string;
3094
+ docs: string[];
3095
+ writable: boolean;
3096
+ } | {
3097
+ address?: undefined;
3098
+ name: string;
3099
+ docs: string[];
3100
+ writable: boolean;
3101
+ optional: boolean;
3102
+ } | {
3103
+ writable?: undefined;
3104
+ address?: undefined;
3105
+ name: string;
3106
+ docs: string[];
3107
+ optional: boolean;
3108
+ } | {
3109
+ writable?: undefined;
3110
+ docs?: undefined;
3111
+ address?: undefined;
3112
+ name: string;
3113
+ optional: boolean;
3114
+ } | {
3115
+ docs?: undefined;
3116
+ address?: undefined;
3117
+ name: string;
3118
+ writable: boolean;
3119
+ optional: boolean;
3120
+ } | {
3121
+ writable?: undefined;
3122
+ docs?: undefined;
3123
+ name: string;
3124
+ optional: boolean;
3125
+ address: string;
3126
+ })[];
3127
+ } | {
3128
+ signer?: undefined;
3129
+ writable?: undefined;
3130
+ docs?: undefined;
3131
+ accounts?: undefined;
3132
+ pda?: undefined;
3133
+ name: string;
3134
+ address: string;
3135
+ } | {
3136
+ signer?: undefined;
3137
+ writable?: undefined;
3138
+ address?: undefined;
3139
+ accounts?: undefined;
3140
+ pda?: undefined;
3141
+ name: string;
3142
+ docs: string[];
3143
+ } | {
3144
+ signer?: undefined;
3145
+ writable?: undefined;
3146
+ docs?: undefined;
3147
+ address?: undefined;
3148
+ pda?: undefined;
3149
+ name: string;
3150
+ accounts: ({
3151
+ writable?: undefined;
3152
+ docs?: undefined;
3153
+ address?: undefined;
3154
+ name: string;
3155
+ } | {
3156
+ address?: undefined;
3157
+ name: string;
3158
+ docs: string[];
3159
+ writable: boolean;
3160
+ } | {
3161
+ writable?: undefined;
3162
+ docs?: undefined;
3163
+ name: string;
3164
+ address: string;
3165
+ })[];
3166
+ })[];
3167
+ args: ({
3168
+ name: string;
3169
+ type: {
3170
+ array: (string | number)[];
3171
+ };
3172
+ } | {
3173
+ name: string;
3174
+ type: string;
3175
+ })[];
3176
+ } | {
3177
+ docs?: undefined;
3178
+ name: string;
3179
+ discriminator: number[];
3180
+ accounts: ({
3181
+ optional?: undefined;
3182
+ accounts?: undefined;
3183
+ name: string;
3184
+ docs: string[];
3185
+ writable: boolean;
3186
+ signer: boolean;
3187
+ } | {
3188
+ signer?: undefined;
3189
+ docs?: undefined;
3190
+ optional?: undefined;
3191
+ accounts?: undefined;
3192
+ name: string;
3193
+ writable: boolean;
3194
+ } | {
3195
+ writable?: undefined;
3196
+ accounts?: undefined;
3197
+ name: string;
3198
+ docs: string[];
3199
+ signer: boolean;
3200
+ optional: boolean;
3201
+ } | {
3202
+ signer?: undefined;
3203
+ writable?: undefined;
3204
+ accounts?: undefined;
3205
+ name: string;
3206
+ docs: string[];
3207
+ optional: boolean;
3208
+ } | {
3209
+ signer?: undefined;
3210
+ writable?: undefined;
3211
+ docs?: undefined;
3212
+ optional?: undefined;
3213
+ name: string;
3214
+ accounts: ({
3215
+ writable?: undefined;
3216
+ docs?: undefined;
3217
+ address?: undefined;
3218
+ name: string;
3219
+ } | {
3220
+ address?: undefined;
3221
+ name: string;
3222
+ docs: string[];
3223
+ writable: boolean;
3224
+ } | {
3225
+ writable?: undefined;
3226
+ docs?: undefined;
3227
+ name: string;
3228
+ address: string;
3229
+ })[];
3230
+ })[];
3231
+ args: {
3232
+ name: string;
3233
+ type: {
3234
+ defined: {
3235
+ name: string;
3236
+ };
3237
+ };
3238
+ }[];
3239
+ } | {
3240
+ name: string;
3241
+ docs: string[];
3242
+ discriminator: number[];
3243
+ accounts: ({
3244
+ accounts?: undefined;
3245
+ name: string;
3246
+ docs: string[];
3247
+ writable: boolean;
3248
+ signer: boolean;
3249
+ } | {
3250
+ signer?: undefined;
3251
+ docs?: undefined;
3252
+ accounts?: undefined;
3253
+ name: string;
3254
+ writable: boolean;
3255
+ } | {
3256
+ signer?: undefined;
3257
+ accounts?: undefined;
3258
+ name: string;
3259
+ docs: string[];
3260
+ writable: boolean;
3261
+ } | {
3262
+ signer?: undefined;
3263
+ writable?: undefined;
3264
+ docs?: undefined;
3265
+ name: string;
3266
+ accounts: ({
3267
+ writable?: undefined;
3268
+ docs?: undefined;
3269
+ address?: undefined;
3270
+ name: string;
3271
+ } | {
3272
+ address?: undefined;
3273
+ name: string;
3274
+ docs: string[];
3275
+ writable: boolean;
3276
+ } | {
3277
+ writable?: undefined;
3278
+ docs?: undefined;
3279
+ name: string;
3280
+ address: string;
3281
+ })[];
3282
+ })[];
3283
+ args: {
3284
+ name: string;
3285
+ type: {
3286
+ option: {
3287
+ defined: {
3288
+ name: string;
3289
+ };
3290
+ };
3291
+ };
3292
+ }[];
3293
+ } | null;
3294
+ /**
3295
+ * An instruction's tail (`tokens::tail`): the accounts every NFT move hands Core (what a check its collection carries
3296
+ * reads, an oracle's account) and every token transfer hands a transfer hook, after the route's own. It starts at the
3297
+ * Memo program's account, which serves a transfer into an account that requires a memo; with none, it is empty. So
3298
+ * `extra` (hook accounts, Core's adapters) goes after the Memo program, which this puts first.
3299
+ */
3300
+ export declare function tailOf(extra?: any[]): any[];
8
3301
  /**
9
3302
  * Any loot instruction. `accounts` names accounts by their IDL leaf name; `null` for an optional one passes "None".
10
3303
  * Options: `remaining` (metas after the instruction's own), `writable` and `signer` (leaf names whose flag is set
@@ -34,6 +3327,14 @@ export declare function destinationAccounts(project: any, to: any, mint: any, {
34
3327
  isWritable: any;
35
3328
  }[];
36
3329
  /** A split's destinations, in order. */
3330
+ /** The most shares a split kept to be paid later holds (`MAX_SHARES`, not in the IDL): a box's, a lottery's, a contest's,
3331
+ * an auction's, an offer's or a listing's (a ninth is `BadShares`); a payment's own split has no such cap. */
3332
+ export declare const MAX_SHARES = 8;
3333
+ /** The most traits a fresh item draws (`MAX_ITEM_TRAITS`, not in the IDL): each is written as its unit is minted, which
3334
+ * one transaction must hold. */
3335
+ export declare const MAX_ITEM_TRAITS = 64;
3336
+ /** The longest name a fresh item's trait has, in bytes (`MAX_TRAIT_KEY`, not in the IDL). */
3337
+ export declare const MAX_TRAIT_KEY = 64;
37
3338
  export declare const shareAccounts: (project: any, shares: any, mint: any, options: any) => any;
38
3339
  /**
39
3340
  * A split with the buyer's choice written in, as the program does at `open_box` and `buy_tickets`: a wallet, the
@@ -46,9 +3347,11 @@ export declare const sharesBurn: (shares: any) => any;
46
3347
  /**
47
3348
  * The account each prize of a box's entries comes with at the roll, in entry order and each entry's prizes in order:
48
3349
  * its item for an item, its pool for tokens from one, its stash for an NFT of one (a named one, or one at random). All
49
- * written: the roll takes from them. Tokens minted and rolls take none here.
3350
+ * written: the roll takes from them. Tokens minted and rolls take none here. A fresh item's tables follow it while
3351
+ * they fit the box's table budget (`tableBudget`), walked in entry order; an item whose tables don't fit what is left
3352
+ * takes none, and is out of stock for that roll.
50
3353
  */
51
- export declare function entryAccounts(project: any, entries: any): any;
3354
+ export declare function entryAccounts(project: any, entries: any, items?: {}): any;
52
3355
  /**
53
3356
  * For each mint a box's tokens are in, in the order their prizes first name them, the mint (written when the roll
54
3357
  * mints from it) and the project's vault for it, where tokens won wait. `poolMints` maps a pool index to its mint (a
@@ -61,12 +3364,29 @@ export declare function prizeAccounts(project: any, entries: any, poolMints: {}
61
3364
  }[];
62
3365
  /** Whether a box leaves its outcome to the oracle: more than one entry, or an entry gives a stash's NFT at random. */
63
3366
  export declare const boxRolls: (entries: any) => any;
64
- /** What an order of `box` holds for the collectibles its roll may mint: a collectible's rent for each item the entry
65
- * with the most of them gives. */
66
- export declare const orderEscrow: (box: any) => bigint;
3367
+ /** The tables a fresh item's traits draw from, in the order of its traits (none for an item whose units are alike). */
3368
+ export declare const traitTables: (item: any) => any;
3369
+ /** Whether a box gives a fresh item (one with traits): its units' traits are drawn by the oracle (`items` maps an
3370
+ * item's id to its decoded Item, as `entryAccounts`). */
3371
+ export declare const boxFresh: (entries: any, items?: {}) => any;
3372
+ /**
3373
+ * What one prize a settle hands over may open or mint, at most: a collectible's Core asset with the program's plugins
3374
+ * (about 0.004 SOL), a stash's NFT's new token account, a fresh compressed NFT's Sheet, a token account of a mint, the
3375
+ * NFT rolled on's numbers or its stash row. A client's own figure (the program keeps no reserve): what a throwaway key
3376
+ * that settles is funded with for each, and gives back unspent.
3377
+ */
3378
+ export declare const SETTLE_RENT_UNIT = 6000000n;
3379
+ /**
3380
+ * What a settle of an order of `opens` opens of `box` may open or mint, at most, in lamports: whoever settles pays it
3381
+ * (the order lends nothing). For each draw of each open, each prize of the entry with the most of them that opens an
3382
+ * account (a collectible, a stash's NFT, a fresh compressed NFT's Sheet: `items` maps an item's id to its decoded
3383
+ * Item); once an order, each source of tokens it may pay, and the fate of the NFT it rolls on; one `SETTLE_RENT_UNIT`
3384
+ * each. A throwaway key that settles is funded with it, and gives back what it doesn't spend.
3385
+ */
3386
+ export declare function settleRent(box: any, opens?: number, items?: {}): bigint;
67
3387
  /**
68
3388
  * The nonce the `k`th roll an order won is named by when it settles: the first 8 bytes, little
69
- * endian, of sha256("roll" | order | its requested slot (u64 LE) | k (u8)). Like every prize's roll, its order is at
3389
+ * endian, of sha256("roll" | order | its requested slot (u64 LE) | k (u32 LE)). Like every prize's roll, its order is at
70
3390
  * `prizeRollNonce` of it.
71
3391
  */
72
3392
  export declare function rollNonce(order: any, requestedSlot: any, k: any): bigint;
@@ -80,6 +3400,12 @@ export declare const nonceOn: (asset: any) => bigint;
80
3400
  /** Whether a box's roll holds the NFT it rolls on, or moves its numbers: an entry burns it, gives it
81
3401
  * away or moves its numbers. Its order is at the NFT's nonce (`nonceOn`). */
82
3402
  export declare const boxHolds: (box: any) => any;
3403
+ /**
3404
+ * The nonce of the order a roll a sender names is made in: a craft's roll on a collectible kept (`RollOn`) and a
3405
+ * mission's roll on the NFT leaving it. On an NFT its box holds (`boxHolds`), the NFT's own (`nonceOn`), whatever was
3406
+ * named; otherwise `prizeRollNonce` of the named one, so no sender reaches the address of a roll an order won.
3407
+ */
3408
+ export declare const namedRollNonce: (box: any, asset: any, named: any) => bigint;
83
3409
  /**
84
3410
  * The accounts of an NFT the player shows, for a gate or for odds: right after the instruction's other accounts.
85
3411
  * `shown` is a Core asset the project has authority over (its address), one it has no authority over (`{ asset }`: then
@@ -99,8 +3425,8 @@ export declare function shownAccounts(project: any, shown: any): {
99
3425
  */
100
3426
  export declare const gateAccounts: (project: any, { gate, wallet, shown, listProof }?: Readonly<Record<string, any>>) => any[];
101
3427
  /**
102
- * A nonce a prize route names (its `nonce` argument), from what names the prize: a grant and its round, a lottery's
103
- * contribution, a contest's entry, an auction and its last bid. Any nonce works (the sender picks it); the roll's order
3428
+ * A nonce a prize route names (its `nonce` argument), from what names the prize: a grant, its wallet and rounds, a
3429
+ * contest and its player, an auction and its last bid. Any nonce works (the sender picks it); the roll's order
104
3430
  * is then at `prizeRollNonce` of it (plus the place where the route says so), which no roll on an NFT is at.
105
3431
  */
106
3432
  export declare const prizeNonce: (...parts: any[]) => bigint;
@@ -118,18 +3444,15 @@ export declare const prizeRollNonce: (n: any) => bigint;
118
3444
  * Tokens the mint (written when minted), the pool when they come from one, the winner's account of the mint;
119
3445
  * Item the item; for a collectible, its collection (the Item's), its address at the item's next serial, Metaplex Core;
120
3446
  * Nft the stash, the NFT as `piece` takes it, then a compressed NFT's proof;
121
- * Roll the box, then the order its roll is made in, at `prizeRollNonce(nonce)`; on a route the player pays or
122
- * asks for (`strict`: a buy, a craft, a grant's claim), then the box's prize mints (`rollMints`);
3447
+ * Roll the box, then the order its roll is made in, at `prizeRollNonce(nonce)` (what the roll can give is read
3448
+ * when it is asked: `askRollIx`);
123
3449
  * Held the lottery's own stash (`lottery`: the lottery's address), the NFT as `piece` takes it, then its proof.
124
3450
  * `poolMints` maps a pool's index to its mint (null for a pool never opened, which gives nothing: `projectMint` stands in
125
3451
  * for its mint); `items` an item's id to its decoded Item (for its next serial; `made`
126
3452
  * collectibles of the same item already made earlier in the instruction); `nft` the NFT's kind, as `piece` takes it
127
- * ({ collection, tokenMetadata, compressed }). A strict roll's `boxes` maps the box's id to its decoded LootBox (null
128
- * for one never written), and `rollPools` each pool its prizes name to its mint (null for one never opened;
129
- * `poolMints` when not given).
3453
+ * ({ collection, tokenMetadata, compressed }).
130
3454
  */
131
- export declare function prizeMetas({ project, collection, prize, winner, nonce, poolMints, items, nft, made, projectMint, programs, lottery, strict, boxes, rollPools }: {
132
- boxes?: {} | undefined;
3455
+ export declare function prizeMetas({ project, collection, prize, winner, nonce, poolMints, items, nft, made, projectMint, programs, lottery }: {
133
3456
  collection: any;
134
3457
  items?: {} | undefined;
135
3458
  lottery: any;
@@ -141,19 +3464,28 @@ export declare function prizeMetas({ project, collection, prize, winner, nonce,
141
3464
  programs: any;
142
3465
  project: any;
143
3466
  projectMint: any;
144
- rollPools?: any;
145
- strict?: boolean | undefined;
146
3467
  winner: any;
147
3468
  }): any[];
148
3469
  /**
149
- * The accounts the program reads after a roll's box and order, to check the roll can be asked for, on a route the
150
- * player pays or asks for (a craft's `Prize::Roll` or `RollOn`, a buy's roll, a grant's claim of one): for each of the
151
- * box's token prizes, in order, its pool and then, for a pool opened, the pool's mint; for tokens minted, their mint. The program refuses the whole
152
- * transaction (PrizeHasHook) when any of those mints has a transfer hook, so the player keeps what the route takes.
153
- * `box` is the decoded LootBox (null for one never written: no roll is made, and nothing follows); `pools` maps each
154
- * pool its prizes name to its mint, or null for a pool never opened (its address alone).
3470
+ * The roll accounts of a box, as `open_box`, `ask_roll` and the oracle's answer take them after their own: each entry's
3471
+ * prizes' (`entryAccounts`: an item, its tables when it is fresh and they fit the box's table budget; a pool; a stash),
3472
+ * then each mint its tokens are in and the project's vault for it (`prizeAccounts`). `box` is the decoded LootBox (null
3473
+ * for one never written: none). `rolls`: { items (an item's id to its decoded Item, null for none written), poolMints
3474
+ * (a pool's index to its mint, null for one never opened), programs }.
3475
+ */
3476
+ export declare function rollAccounts(project: any, box: any, rolls?: {}): any[];
3477
+ /**
3478
+ * What a write or a route that names boxes to roll later passes for them (`order::rollables`): each box once, in the
3479
+ * order they first come, and nothing after it. What a roll can give is read when it is asked.
155
3480
  */
156
- export declare function rollMints(project: any, box: any, pools?: {}): any;
3481
+ export declare function boxesAccounts(project: any, ids: any): {
3482
+ pubkey: any;
3483
+ isSigner: any;
3484
+ isWritable: any;
3485
+ }[];
3486
+ /** The boxes a record names to roll later (`Def::rolls`), in order: a box's entries' rolls, a recipe's rolls and
3487
+ * `RollOn`s, a grant's, a lottery's places'. */
3488
+ export declare function defRolls(def: any): any;
157
3489
  /** Bubblegum's signer for its calls to Core, `["mpl_core_cpi_signer"]`. */
158
3490
  export declare const BUBBLEGUM_CORE_SIGNER = "CbNY3JiXdXNE9tPNEk1aRZVEkWdj2v7kfJLNQwZZgpXk";
159
3491
  /**
@@ -271,16 +3603,23 @@ export declare function recordAddress(project: any, def: any): any;
271
3603
  * `def` with optional fields filled in (no window, no limit for each wallet, no key root, a fall on its own clock).
272
3604
  */
273
3605
  export declare function withDefaults(def: any): {
3606
+ Lottery: any;
3607
+ } | {
274
3608
  [x: string]: any;
3609
+ Lottery?: undefined;
275
3610
  };
276
3611
  /**
277
3612
  * The owner writes one record (`def`: { Item: { id, args } }, { Box: … }, …), at its own address. A lottery names
278
- * its pot's mint, its pot (which its first write opens), its ticket mint, its
279
- * funds and both token programs.
3613
+ * its pot's mint, its pot (which its first write opens), its ticket mint, both token programs and the round it waits on
3614
+ * (`lotteryState`: the lottery as it is, null for a new one; `idleRound`: its current round's record, or round 0's once
3615
+ * it drew once and ended: a lottery made again, edited once ended or made to repeat waits while that round runs or
3616
+ * still owes NFTs of its own stash), then its own stash when a place holds or draws an NFT of it. A box, a recipe, a grant or a lottery that
3617
+ * names a box to roll later passes that box after (`boxesAccounts`), which must be written: a box is written before
3618
+ * anything names it (it may name itself).
280
3619
  */
281
- export declare function upsertIx({ owner, project, def: given, lottery }: {
3620
+ export declare function upsertIx({ owner, project, def: given, lotteryState }: {
282
3621
  def: any;
283
- lottery?: null | undefined;
3622
+ lotteryState?: null | undefined;
284
3623
  owner: any;
285
3624
  project: any;
286
3625
  }): {
@@ -291,13 +3630,13 @@ export declare function upsertIx({ owner, project, def: given, lottery }: {
291
3630
  /**
292
3631
  * The owner closes the record at `target`, and its rent comes back: a grant's with the funds it held. A lottery
293
3632
  * (`lottery`: its decoded record) sends what its pot holds to `to`, a token account of the pot's mint (the owner's own
294
- * by default), and closes the pot.
3633
+ * by default), and closes the pot, once its current round has no record (one that drew once and ended: once its round 0
3634
+ * gave out every NFT of its own stash, `idleRound`).
295
3635
  */
296
- export declare function closeRecordIx({ owner, project, target, lottery, schedule, programs, to, paymentTo, extra }: {
3636
+ export declare function closeRecordIx({ owner, project, target, lottery, schedule, programs, to, extra }: {
297
3637
  extra?: never[] | undefined;
298
3638
  lottery: any;
299
3639
  owner: any;
300
- paymentTo: any;
301
3640
  programs: any;
302
3641
  project: any;
303
3642
  schedule: any;
@@ -335,17 +3674,19 @@ export declare function payIx({ player, project, mint, treasury, amount, shares,
335
3674
  * prizes take tokens from to its mint (a pool's tokens won wait in the project's vault for that mint); one not given
336
3675
  * is taken to be in the box's currency, one given as null is closed. `shown`: an NFT the player shows for the box's
337
3676
  * gate or odds; `listProof`: for a list gate, the proof's nodes. `chosenRecipient`: the wallet (or, for a share with an
338
- * item, the collectible, `chosen`) the buyer names for a share the box lets them choose. A box of one entry with
339
- * nothing random is rolled at once and takes no oracle accounts (a box that needs no roll at all sells with `buyIx`).
3677
+ * item, the collectible, `chosen`) the buyer names for a share the box lets them choose. Every open asks the oracle,
3678
+ * even of a box with nothing random (which sells in one step with `buyIx`, when it rolls on no NFT).
340
3679
  * The player opens the project's vault for the price's mint, and for each prize's, when it is not there. A box that
341
- * limits each wallet counts the purchase in the player's receipt (its rent theirs).
3680
+ * limits each wallet counts the purchase in the player's counts (`pda.counts`, its rent theirs).
342
3681
  */
343
- export declare function openBoxIx({ player, project, box, boxAddress, nonce, maxPrice, shown, listProof, subject, chosenRecipient, chosen, poolMints, playerToken, programs, extra }: {
3682
+ export declare function openBoxIx({ player, project, box, boxAddress, nonce, maxPrice, count, items, shown, listProof, subject, chosenRecipient, chosen, settler, poolMints, playerToken, programs, extra }: {
344
3683
  box: any;
345
3684
  boxAddress: any;
346
3685
  chosen?: null | undefined;
347
3686
  chosenRecipient?: null | undefined;
3687
+ count?: number | undefined;
348
3688
  extra?: never[] | undefined;
3689
+ items?: {} | undefined;
349
3690
  listProof: any;
350
3691
  maxPrice: any;
351
3692
  nonce: any;
@@ -354,6 +3695,7 @@ export declare function openBoxIx({ player, project, box, boxAddress, nonce, max
354
3695
  poolMints: any;
355
3696
  programs: any;
356
3697
  project: any;
3698
+ settler?: string | undefined;
357
3699
  shown: any;
358
3700
  subject: any;
359
3701
  }): {
@@ -362,20 +3704,22 @@ export declare function openBoxIx({ player, project, box, boxAddress, nonce, max
362
3704
  data: Uint8Array<any>;
363
3705
  };
364
3706
  /**
365
- * Buys a box that needs no roll (one entry, nothing random, no NFT to roll on: `boxRolls` false and no subject) in one
366
- * instruction: the price is split at once (or burned, for an entry that burns) and the entry's prizes are given to
367
- * the player (`prizeMetas`: `items` maps an item's id to its decoded Item, `poolMints` a pool's index to its mint,
368
- * `nfts` an NFT a prize names to its kind; a roll's `boxes` and `rollPools`, for the rolled box's prize mints). No
369
- * order. A prize that can't be given refuses the purchase. `treasury` is
370
- * the project's treasury wallet; `holders` maps a collectible a share pays to its holder; a roll the entry gives is
371
- * made at `nonce` (the next one for each roll after). `shown`/`listProof` pass the box's gate.
3707
+ * Buys `count` of a box that needs no roll (one entry, nothing random, no NFT to roll on: `boxRolls` false and no
3708
+ * subject) in one instruction, any number of draws each (a fixed pack): each at the price the one before it left, all
3709
+ * within `maxPrice` (the price times `count` when not given: pass the sum for a box whose price rises with each sale).
3710
+ * The price is split at once (a share may burn it) and the entry's prizes are given to the player: a fixed amount of
3711
+ * tokens once, the whole of every draw's, and every other prize once for each draw of each sale, its accounts repeated
3712
+ * (`prizeMetas`: `items` maps an item's id to its decoded Item, `poolMints` a pool's index to its mint, `nfts` an NFT a
3713
+ * prize names to its kind). No order. A prize that can't be given refuses the purchase. `treasury` is the project's
3714
+ * treasury wallet; `holders` maps a collectible a share pays to its holder; each roll the entry gives is made at the
3715
+ * next nonce from `nonce` (`buyRolls`). `shown`/`listProof` pass the box's gate.
372
3716
  */
373
- export declare function buyIx({ player, project, box, boxAddress, maxPrice, treasury, chosenRecipient, chosen, nonce, shown, listProof, items, poolMints, nfts, boxes, rollPools, holders, playerToken, programs, extra }: {
3717
+ export declare function buyIx({ player, project, box, boxAddress, maxPrice, count, treasury, chosenRecipient, chosen, nonce, shown, listProof, items, poolMints, nfts, holders, playerToken, programs, extra }: {
374
3718
  box: any;
375
3719
  boxAddress: any;
376
- boxes?: {} | undefined;
377
3720
  chosen?: null | undefined;
378
3721
  chosenRecipient?: null | undefined;
3722
+ count?: number | undefined;
379
3723
  extra?: never[] | undefined;
380
3724
  holders: any;
381
3725
  items?: {} | undefined;
@@ -388,7 +3732,6 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
388
3732
  poolMints?: {} | undefined;
389
3733
  programs: any;
390
3734
  project: any;
391
- rollPools?: any;
392
3735
  shown: any;
393
3736
  treasury: any;
394
3737
  }): {
@@ -396,6 +3739,16 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
396
3739
  keys: any[];
397
3740
  data: Uint8Array<any>;
398
3741
  };
3742
+ /**
3743
+ * What a `buy` of `count` of `box` gives, in the order it gives it (`buy.rs`): each prize of its one entry in turn, a
3744
+ * fixed amount of tokens once (`times` the box's draws × `count`), any other prize once for each of those draws. `k`
3745
+ * counts the gives: a roll given at `k` is made at the buy's `nonce + k` (its order at `prizeRollNonce` of it).
3746
+ */
3747
+ export declare function buyGives(box: any, count?: number): {
3748
+ prize: any;
3749
+ k: number;
3750
+ times: number;
3751
+ }[];
399
3752
  /**
400
3753
  * The oracle's answer to a box order (for a local simulation: on chain MagicBlock's oracle sends it). The accounts
401
3754
  * are the ones `open_box` handed the oracle: the order, the box, the roll's ticket (named by its first ask,
@@ -404,10 +3757,11 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
404
3757
  * for a prize in a mint with a transfer hook, the hook's accounts (`extra`). The buyer's odds boosts were fixed at
405
3758
  * purchase.
406
3759
  */
407
- export declare function callbackRollIx({ order, orderState, box, boxAddress, randomness, project, poolMints, programs, extra }: {
3760
+ export declare function callbackRollIx({ order, orderState, box, boxAddress, randomness, project, poolMints, items, programs, extra }: {
408
3761
  box: any;
409
3762
  boxAddress: any;
410
3763
  extra?: never[] | undefined;
3764
+ items?: {} | undefined;
411
3765
  order: any;
412
3766
  orderState: any;
413
3767
  poolMints: any;
@@ -421,20 +3775,40 @@ export declare function callbackRollIx({ order, orderState, box, boxAddress, ran
421
3775
  };
422
3776
  /**
423
3777
  * The accounts of what an order won (`order.won`), in order, as `settle` hands each over:
424
- * Item the item; for a collectible (`items[id]` its decoded Item), its collection, its address, Metaplex Core
3778
+ * Item the item; for a collectible (`items[id]` its decoded Item), its collection, its address, Metaplex Core;
3779
+ * for a fresh one (`drawn` set), then the table of each of its table traits
425
3780
  * Tokens the mint, the project's vault for it, the player's account of it (`prizeTo`, when given)
426
3781
  * Nft the NFT as `piece` takes it (`nfts[nft]` its kind), going to the player, then a compressed NFT's proof
427
- * Roll the box, then the order its roll is made in (`rollNonce`)
3782
+ * Compressed the item, the tree's config, the tree, the collection, Bubblegum's programs; for a fresh one, then its
3783
+ * tables and the Sheet of the NFT it mints
428
3784
  */
429
- export declare function wonAccounts({ orderAddress, order, items, nfts, prizeTo, putBack, programs }: {
3785
+ export declare function wonAccounts({ order, items, nfts, prizeTo, putBack, programs, from, upto, tree, treeMinted, unminted }: {
3786
+ from?: number | undefined;
430
3787
  items?: {} | undefined;
431
3788
  nfts?: {} | undefined;
432
3789
  order: any;
433
- orderAddress: any;
434
3790
  prizeTo: any;
435
3791
  programs: any;
436
3792
  putBack?: never[] | undefined;
3793
+ tree: any;
3794
+ treeMinted?: bigint | undefined;
3795
+ unminted?: never[] | undefined;
3796
+ upto?: any;
437
3797
  }): any;
3798
+ /** The calls a transaction may make, its own instructions and every call inside them (Solana's instruction trace). */
3799
+ export declare const TRACE_LIMIT = 64;
3800
+ /** The calls one prize makes when a settle hands it over, measured on the program (`tests/limits.rs`): a collectible's
3801
+ * mint by Core (4, so 14 a transaction), a compressed one's by Bubblegum (5) and with its Sheet (7), tokens (2), an NFT
3802
+ * moved (3). `items` maps an item's id to its decoded Item (a normal item makes none). */
3803
+ export declare function prizeCalls(won: any, items?: {}): 0 | 2 | 3 | 4 | 5 | 7;
3804
+ /** Where a settle part that starts at `from` ends: as many of the order's prizes as fit the instruction trace (an
3805
+ * NFT's move asks for the bigger heap, so at most three a part). Each part is its own transaction; anyone sends any. */
3806
+ export declare function settlePartEnd(order: any, from?: number, items?: {}): number;
3807
+ /** How many draws one open of `box` makes: its slots' counts, or one. */
3808
+ export declare const boxDraws: (box: any) => any;
3809
+ /** How many settle parts an order of `opens` opens of `box` takes at most: each card, at its most calls, and with
3810
+ * shares one more (the first call splits the payment, alone when no prize fits beside its shares: `upto` 0). */
3811
+ export declare function settleParts(box: any, opens?: number): number;
438
3812
  /** The heap a settle that moves three or more NFTs asks for (`settleHeapFrame`): all a transaction may have, 256 KiB. */
439
3813
  export declare const LARGE_SETTLE_HEAP: number;
440
3814
  /**
@@ -458,18 +3832,26 @@ export declare const MAX_COMPUTE_UNITS = 1400000;
458
3832
  * them). A limit costs nothing more when no priority fee is set.
459
3833
  */
460
3834
  export declare function settleComputeUnits(order: any): 800000 | 1400000;
3835
+ /** `settle`'s `upto` for its last part: past the end of any order. The last part gives what is left, pays back the share
3836
+ * of the draws the roll didn't make, carries out the roll on an NFT and closes the order. */
3837
+ export declare const SETTLE_LAST = 4294967295;
461
3838
  /**
462
3839
  * Carries out a rolled order: hands over what its roll set aside (`wonAccounts`: a collectible minted, the project's
463
- * backend delivering a normal item from the receipt; tokens from the project's vault; an NFT taken out of its stash;
464
- * a roll made for the player), then splits the payment, or burns it for an entry that burns. Anyone sends it, for the
465
- * order at `orderAddress`; `signer` opens any account it pays into that is not there, and pays a roll's order. `order`
466
- * is the decoded Order; `projectState` the decoded Project; `items` and `nfts` as `wonAccounts` takes them. `putBack`:
467
- * NFTs won that the player, signing, puts back into their stash in place of taking them (one its collection won't let move).
468
- * `handBack`: the wallet the box's fate gives the NFT rolled on to (`receiverOf`) is an account of the loot program
469
- * (`handsBack` of it as read), so the program gives it back to the player, and a Token Metadata NFT's `token` is the
470
- * player's. `extra`: a hook's or a memo's accounts.
471
- */
472
- export declare function settleIx({ signer, orderAddress, order, projectState, items, nfts, prizeTo, putBack, subject, handBack, holders, programs, extra }: {
3840
+ * backend delivering a normal item from the receipt; tokens from the project's vault; an NFT taken out of its stash),
3841
+ * then splits the payment (a share may burn it). The order's player, its settler or the project's keys send it, for the order at `orderAddress`; `signer` pays all
3842
+ * the settle opens or mints (Core assets, token accounts, Sheets, a stash's row, the fate's writes: the order lends
3843
+ * nothing, `settleRent`). `order` is the decoded Order; `projectState` the decoded Project; `items` and `nfts` as
3844
+ * `wonAccounts` takes them. `putBack`: NFTs won that the player, signing, puts back into their stash in place of taking
3845
+ * them (one its collection won't let move). `handBack`: the wallet the box's fate gives the NFT rolled on to
3846
+ * (`receiverOf`) is an account of the loot program (`handsBack` of it as read), so the program gives it back to the
3847
+ * player, and a Token Metadata NFT's `token` is the player's. `extra`: a hook's or a memo's accounts.
3848
+ *
3849
+ * `upto`, the part (`settle.rs`): `SETTLE_LAST` (the default, past the end) is the last part, all that is left (maybe
3850
+ * nothing); 0 gives no prize and only splits the payment; any other gives the prizes from where the last part stopped
3851
+ * (`settled`) up to it, and nothing more. The first call, whichever it is, splits the payment (its shares' accounts
3852
+ * ride on it).
3853
+ */
3854
+ export declare function settleIx({ signer, orderAddress, order, projectState, items, nfts, prizeTo, putBack, subject, handBack, holders, programs, upto, tree, treeMinted, unminted, extra }: {
473
3855
  extra?: never[] | undefined;
474
3856
  handBack?: boolean | undefined;
475
3857
  holders: any;
@@ -483,6 +3865,10 @@ export declare function settleIx({ signer, orderAddress, order, projectState, it
483
3865
  putBack: any;
484
3866
  signer: any;
485
3867
  subject: any;
3868
+ tree: any;
3869
+ treeMinted: any;
3870
+ unminted: any;
3871
+ upto?: number | undefined;
486
3872
  }): {
487
3873
  programId: string;
488
3874
  keys: any[];
@@ -505,8 +3891,9 @@ export declare const INCINERATOR = "1nc1nerator11111111111111111111111111111111"
505
3891
  /**
506
3892
  * Gives an order's payment back to its player, into their account of the mint (`signer`, anyone, opens it when it is
507
3893
  * not there): an order whose roll failed or never came. A rolled order is settled, never refunded
508
- * (`orderRefundSlot`). A purchase counted against a box's limit for each
509
- * wallet is given back. `extra`: a hook's or a memo's accounts.
3894
+ * (`orderRefundable`). A purchase counted against a box's limit for each
3895
+ * wallet is given back. A purchase that counts its draws in its box's `in_flight` (`order.reserved`, a box that stops
3896
+ * selling when an entry runs out) names the box, whose count it leaves. `extra`: a hook's or a memo's accounts.
510
3897
  */
511
3898
  export declare function refundIx({ signer, orderAddress, order, subject, programs, extra }: {
512
3899
  extra?: never[] | undefined;
@@ -521,36 +3908,44 @@ export declare function refundIx({ signer, orderAddress, order, subject, program
521
3908
  data: Uint8Array<any>;
522
3909
  };
523
3910
  /**
524
- * Anyone (`payer`, who pays the oracle) asks for the roll a mission's return, a recipe or a prize made (`order.status`
525
- * Waiting): the box's prizes' accounts, as `openBoxIx` passes them. It lands in `callback_roll`. Returns a list of
526
- * instructions: first `payer` opens the project's vault for each prize mint when it is not there (idempotent; the
527
- * program refuses the ask without them, since tokens won wait there), then the ask.
3911
+ * Its player or the project's keys (`payer`, who pays the oracle) ask for the roll a mission's return, a recipe or a prize made (`order.status`
3912
+ * Waiting): the box's roll accounts, as `openBoxIx` passes them (`items` maps an item a prize names to its decoded
3913
+ * Item, for a fresh one's tables). It lands in `callback_roll`. Returns a list of instructions: first `payer` opens the
3914
+ * project's vault for each prize mint when it is not there (idempotent; the program refuses the ask without them,
3915
+ * since tokens won wait there), then the ask. A box with nothing in stock is refused (`SoldOut`) unless the order's own
3916
+ * player asks in a later slot than the order was made or last asked in: a route that makes a roll and asks for it in
3917
+ * the same transaction fails whole on an empty box, and the player keeps what the route took. The player's own ask on
3918
+ * an empty box ends the roll there, with no oracle: rolled with nothing (an NFT it holds goes home as it was), or failed
3919
+ * for its refund when its winner paid for it (an auction's roll lot). An answer that finds nothing at all in stock puts
3920
+ * a free roll back to waiting (`Waiting`), for a restock or for its player to end it so. Once asked, every later ask
3921
+ * comes in a later slot than the last (`SameSlot`, `rollAskable`).
528
3922
  */
529
- export declare function askRollIx({ payer, orderAddress, order, box, poolMints, programs }: {
3923
+ export declare function askRollIx({ payer, orderAddress, order, box, settler, poolMints, items, programs }: {
530
3924
  box: any;
3925
+ items?: {} | undefined;
531
3926
  order: any;
532
3927
  orderAddress: any;
533
3928
  payer: any;
534
3929
  poolMints: any;
535
3930
  programs: any;
3931
+ settler?: string | undefined;
536
3932
  }): {
537
3933
  programId: string;
538
3934
  keys: any[];
539
3935
  data: Uint8Array<any>;
540
3936
  }[];
541
- /** The SOL a box order holds for each collectible its roll may mint (`orderEscrow`): its rent, given back unspent. The
542
- * IDL's `ESCROW_LAMPORTS`. */
543
- export declare const ESCROW_LAMPORTS: bigint;
544
3937
  /**
545
- * The authority moves the project's tokens: `from` { Pool: [i] } or { Mint: [mint] } (newly minted), `to` a pool, a
546
- * wallet, an account, the treasury (`treasury`, the project's wallet), a collectible's holder or 'Burn', `amount`
547
- * { Fixed: [n] } or { Bps: [bps] } of a pool. The authority opens the account it pays into when it is not there; a
548
- * collectible nobody holds gets nothing.
3938
+ * The authority moves the project's tokens: `from` { Pool: [i] }, { Mint: [mint] } (newly minted) or { Farm: [id] } (what
3939
+ * that farm's rewards vault holds free, beyond what it owes its seats: a fixed amount; `farm`: the farm decoded, so its
3940
+ * record of ends comes when it keeps one), `to` a pool, a wallet, an account, the treasury (`treasury`, the project's
3941
+ * wallet), a collectible's holder or 'Burn', `amount` { Fixed: [n] } or { Bps: [bps] } of a pool. The authority opens the
3942
+ * account it pays into when it is not there; a collectible nobody holds gets nothing.
549
3943
  */
550
- export declare function moveTokensIx({ authority, project, mint, from, to, amount, reference: ref, holders, programs, treasury, extra }: {
3944
+ export declare function moveTokensIx({ authority, project, mint, from, to, amount, reference: ref, holders, programs, treasury, farm, extra }: {
551
3945
  amount: any;
552
3946
  authority: any;
553
3947
  extra?: never[] | undefined;
3948
+ farm?: null | undefined;
554
3949
  from: any;
555
3950
  holders: any;
556
3951
  mint: any;
@@ -565,19 +3960,20 @@ export declare function moveTokensIx({ authority, project, mint, from, to, amoun
565
3960
  data: Uint8Array<any>;
566
3961
  };
567
3962
  /**
568
- * The authority makes, rewrites or burns a collectible. `change`: { Make: { attributes } } (then `item` is the item id
569
- * it makes one of, `asset` is a new key that signs, and `owner` receives it), { Set: [attributes] } or 'Burn'. `collection`: the project's for a Make
570
- * or a Burn; for a Set, the asset's own (`MPL_CORE_PROGRAM` for one in none). `hasAuthority` false for a `Set` on an
571
- * NFT the project has no authority over (a Core asset of another collection, or a Token Metadata NFT's mint): what it
572
- * writes goes in the NFT's Sheet, or on the NFT itself when its Attributes plugin names the project.
3963
+ * The authority rewrites or burns a collectible, or writes a wallet's profile. `change`: { Set: [attributes] }, 'Burn'
3964
+ * (`owner`: whoever holds it, who gets its rent) or { Profile: [attributes] } (`asset` the wallet). `collection`: for a
3965
+ * Burn the project's; for a Set the asset's own (`MPL_CORE_PROGRAM` for one in none). `hasAuthority` false for a `Set`
3966
+ * on an NFT the project has no authority over (a Core asset of another collection, or a Token Metadata NFT's mint):
3967
+ * what it writes goes in the NFT's Sheet, or on the NFT itself when its Attributes plugin names the project. A `Make`
3968
+ * goes to `makeIx`.
573
3969
  */
574
- export declare function collectibleIx({ authority, project, collection, asset, change, item, owner, hasAuthority, reference: ref }: {
3970
+ export declare function collectibleIx({ authority, project, collection, asset, change, owner, hasAuthority, reference: ref, ...make }: {
3971
+ [x: string]: any;
575
3972
  asset: any;
576
3973
  authority: any;
577
3974
  change: any;
578
3975
  collection: any;
579
3976
  hasAuthority?: boolean | undefined;
580
- item?: null | undefined;
581
3977
  owner?: null | undefined;
582
3978
  project: any;
583
3979
  reference: any;
@@ -586,57 +3982,88 @@ export declare function collectibleIx({ authority, project, collection, asset, c
586
3982
  keys: any[];
587
3983
  data: Uint8Array<any>;
588
3984
  };
3985
+ /**
3986
+ * The authority makes one of item `item` (`itemState`: its decoded Item, for its collection and next serial) for each
3987
+ * of `owners`, in serial order (an owner may come more than once), with `attributes` written over the program's own: a
3988
+ * collectible at `pda.itemAsset(item, serial)` (`madeAssets` says which), or with `tree`, a compressed NFT minted into
3989
+ * that tree of the project's (no attributes: they go in its Sheet). A switched-off item still makes; one sold out
3990
+ * refuses the whole call (`PrizeNotCovered`).
3991
+ */
3992
+ export declare function makeIx({ authority, project, item, itemState, owners, attributes, tree, reference: ref }: {
3993
+ attributes?: never[] | undefined;
3994
+ authority: any;
3995
+ item: any;
3996
+ itemState: any;
3997
+ owners: any;
3998
+ project: any;
3999
+ reference: any;
4000
+ tree?: null | undefined;
4001
+ }): {
4002
+ programId: string;
4003
+ keys: any[];
4004
+ data: Uint8Array<any>;
4005
+ };
4006
+ /** The collectibles a `makeIx` of `count` mints (not compressed): at the item's next serials. */
4007
+ export declare const madeAssets: (project: any, item: any, itemState: any, count?: number) => any[];
589
4008
  /**
590
4009
  * A held NFT goes to `to`: the authority's choice while the hold runs, home to its player (anyone) after; a repaid
591
4010
  * loan's home (anyone, whenever), an unpaid one's to its lender once due. `hold` is the
592
4011
  * decoded Hold: its address names its end (`pda.hold(asset, free_at)`), so a release sent late never lands on a later
593
- * hold. The NFT is any kind
4012
+ * hold; `address` names it when its `free_at` changed since (a repaid loan's is 0, at the address its loan named). The
4013
+ * NFT is any kind
594
4014
  * (`piece`): `asset` and `collection` for a Core asset, with `tokenMetadata` for a Token Metadata NFT, or `compressed`
595
4015
  * (after a `proveLeafIx`).
596
4016
  */
597
- export declare function releaseIx({ signer, project, collection, asset, tokenMetadata: tm, compressed, hold, to, reference: ref }: {
4017
+ export declare function releaseIx({ signer, project, collection, asset, tokenMetadata: tm, compressed, hold, address, to, treasury, reference: ref, more }: {
4018
+ address?: null | undefined;
598
4019
  asset: any;
599
4020
  collection: any;
600
4021
  compressed: any;
601
4022
  hold: any;
4023
+ more?: never[] | undefined;
602
4024
  project: any;
603
4025
  reference: any;
604
4026
  signer: any;
605
4027
  to: any;
606
4028
  tokenMetadata: any;
4029
+ treasury: any;
607
4030
  }): {
608
4031
  programId: string;
609
4032
  keys: any[];
610
4033
  data: Uint8Array<any>;
611
4034
  };
612
4035
  /**
613
- * The authority opens contest `id` in `mint`. `args`: { sides, closes_at, result_by, shares, gate, deciders,
614
- * min_pot, stake, prize, nft, prize_split }: `prize`, what each winning entry gets when it is claimed (`prizeMetas`);
615
- * `nft`, a rule an NFT each entry stakes passes, in place of tokens (no shares then, no stake: the NFTs are the pot).
616
- * With `args.prize_split`, its token prize is set aside whole when it is
617
- * decided, in the contest's own vault (`pda.prizeVault`, opened now at the authority's rent), and each winning entry
4036
+ * The authority opens contest `id` in `mint` (`projectState`: the decoded Project, whose next incarnation names the
4037
+ * contest's list of entries). `args`: { sides, closes_at, result_by, shares, gate, deciders, min_pot, stake, prize, nft,
4038
+ * prize_split, cap }: `prize`, what each winning entry gets with its first claim (`prizeMetas`); `nft`, a rule an NFT
4039
+ * each entry stakes passes, in place of tokens (no shares then, no stake: the NFTs are the pot), each winner sharing the
4040
+ * losers' NFTs, at most `cap` each (null: no cap). With `args.prize_split`, its token prize is set aside whole when it
4041
+ * is decided, in the contest's own vault (`pda.prizeVault`, opened now at the authority's rent), and each winning entry
618
4042
  * takes its part by what it put in: `prizeMint` names the prize's mint when it comes from a pool.
619
4043
  */
620
- export declare const openContestIx: ({ authority, project, id, mint, args, prizeMint }: {
4044
+ export declare const openContestIx: ({ authority, project, projectState, id, mint, args, prizeMint }: {
621
4045
  args: any;
622
4046
  authority: any;
623
4047
  id: any;
624
4048
  mint: any;
625
4049
  prizeMint: any;
626
4050
  project: any;
4051
+ projectState: any;
627
4052
  }) => {
628
4053
  programId: string;
629
4054
  keys: any[];
630
4055
  data: Uint8Array<any>;
631
4056
  };
4057
+ /** A contest's list of entries, from its decoded Contest. */
4058
+ export declare const contestEntries: (contestAddress: any, contest: any) => any;
632
4059
  /** The prefix of a contest's verdict (`verdictBytes`). */
633
- export declare const VERDICT_DOMAIN = "loot-verdict-v3";
4060
+ export declare const VERDICT_DOMAIN = "loot-verdict-v4";
634
4061
  /**
635
- * The bytes a contest's decider key signs: "loot-verdict-v3" | program (32) | contest (32) | incarnation (u64 LE) |
636
- * side (1; 255 calls it off) | expires (i64 LE), then | recipient (32) when the verdict names the wallet the
637
- * contest's chosen share pays. `incarnation` is the contest's (the decoded Contest's), so a verdict decides only the
638
- * contest it was signed for, never one opened later at the same id. `decide` rebuilds them from its own accounts and
639
- * arguments.
4062
+ * The bytes a contest's decider key signs: "loot-verdict-v4" | sha256(program (32) | contest (32) | incarnation (u64
4063
+ * LE) | side (u16 LE; 65535 calls it off) | expires (i64 LE), then | recipient (32) when the verdict names the wallet
4064
+ * the contest's chosen share pays). `incarnation` is the contest's (the decoded Contest's), so a verdict decides only
4065
+ * the contest it was signed for, never one opened later at the same id. `decide` rebuilds them from its own accounts
4066
+ * and arguments.
640
4067
  */
641
4068
  export declare function verdictBytes({ program, contest, incarnation, side, expires, recipient }: {
642
4069
  contest: any;
@@ -650,7 +4077,8 @@ export declare function verdictBytes({ program, contest, incarnation, side, expi
650
4077
  * Names the side that won (`side`), or calls the contest off (`side: null`). `signer` is the authority; or anyone
651
4078
  * sending a decider's verdict (`verdict: { expires }`, taken once entries have closed): then this instruction goes
652
4079
  * right after the Ed25519 check of the decider's signature over `verdictBytes` (`ed25519Ix` in grant.js), and
653
- * `signer` pays the fee. Anyone writes down a contest that is off by itself. The contest's incarnation names it, so a
4080
+ * `signer` pays the fee, as the authority does. A contest that is off by itself (overdue) needs no decision, and takes
4081
+ * none (`ResultOverdue`): `claim` closes it. The contest's incarnation names it, so a
654
4082
  * decision sent late never decides a contest opened later at the same id. A call-off takes no share accounts. A
655
4083
  * contest with a chosen share is decided naming its `recipient`, a wallet (a bounty's worker); a decider's verdict
656
4084
  * signs it too (`verdictBytes`).
@@ -699,10 +4127,12 @@ export declare const callbackRandomIx: ({ project, reference: ref, randomness }:
699
4127
  data: Uint8Array<any>;
700
4128
  };
701
4129
  /**
702
- * Anyone (`payer`) runs a schedule that is due, and opens the account it pays into when that is not there.
4130
+ * The project's keys or who it pays (`payer`; a sealed burn: anyone) run a schedule that is due, and open the account it
4131
+ * pays into when that is not there. A run missed is missed: it pays once, for the latest run due, and the runs before it
4132
+ * lapse; only a sealed schedule's fixed amount pays every run due, up to `upto` runs made (`scheduleCatchesUp`).
703
4133
  * `poolMint`: the mint of the pool it moves from (when it moves from one). `extra`: a hook's or a memo's accounts.
704
4134
  */
705
- export declare function runScheduleIx({ payer, project, id, schedule, poolMint, holders, programs, treasury, extra }: {
4135
+ export declare function runScheduleIx({ payer, project, id, schedule, poolMint, holders, programs, treasury, upto, extra }: {
706
4136
  extra?: never[] | undefined;
707
4137
  holders: any;
708
4138
  id: any;
@@ -712,61 +4142,77 @@ export declare function runScheduleIx({ payer, project, id, schedule, poolMint,
712
4142
  project: any;
713
4143
  schedule: any;
714
4144
  treasury: any;
4145
+ upto?: number | undefined;
715
4146
  }): {
716
4147
  programId: string;
717
4148
  keys: any[];
718
4149
  data: Uint8Array<any>;
719
4150
  };
720
- export declare const lotteryPaymentMint: (lottery: any) => any;
4151
+ /** The address of a lottery's current round's record (there or not), from its decoded Lottery. */
4152
+ export declare const currentRound: (lotteryAddress: any, lottery: any) => any;
721
4153
  /**
722
- * `player` buys `count` tickets: a contribution of their own at `nonce` (any number they have no contribution at in
723
- * this lottery), whose rent they pay and get back once it is finished. The ticket money waits in the lottery's
724
- * escrow until the draw. Whoever holds a collectible a fixed share pays is fixed now, from that collectible. It buys
725
- * only at the `lottery`'s incarnation and revision (`TermsChanged` once the owner edits or recreates it). A lottery
726
- * whose ticket costs an NFT (`lottery.nft_ticket`) sells one at a time, for `nft` ({ asset, collection, tokenMetadata,
727
- * compressed }, as `piece` takes it), which the project holds until the round is drawn (then it goes where its `then`
728
- * says, `spentTo`) or cancelled (then back to its buyer).
4154
+ * `player` buys `count` tickets of lottery `id`'s current round (`lottery` decoded; `round` its decoded record, null when
4155
+ * nobody bought into it yet: then this purchase opens it, and the lottery's spare SOL pays its rent, or the buyer fronts
4156
+ * it, back at the close). It buys only at the revision the round copied (`TermsChanged` otherwise), and its round's
4157
+ * address names the lottery's incarnation and round (a purchase that lands as the round moves on fails, and is sent
4158
+ * again). A share the buyer chooses is paid now, out of the price, from the buyer's own account: to the wallet they name
4159
+ * (`chosenRecipient`), the holder of the collectible `chosen` (its holder in `holders`), or with no choice the project's
4160
+ * `treasury` wallet. A lottery whose ticket costs an NFT sells one at a time, for `nft` ({ asset, collection,
4161
+ * tokenMetadata, compressed }, as `piece` takes it).
729
4162
  */
730
- export declare function buyTicketsIx({ player, project, id, lottery, mint, count, nonce, shown, listProof, chosenRecipient, chosen, nft, playerToken, programs, extra }: {
4163
+ export declare function buyTicketsIx({ player, project, id, lottery, round, mint, count, shown, listProof, chosenRecipient, chosen, nft, holders, treasury, playerToken, programs, extra }: {
731
4164
  chosen?: null | undefined;
732
4165
  chosenRecipient?: null | undefined;
733
4166
  count: any;
734
4167
  extra?: never[] | undefined;
4168
+ holders?: {} | undefined;
735
4169
  id: any;
736
4170
  listProof: any;
737
4171
  lottery: any;
738
4172
  mint: any;
739
4173
  nft: any;
740
- nonce: any;
741
4174
  player: any;
742
4175
  playerToken: any;
743
4176
  programs: any;
744
4177
  project: any;
4178
+ round?: null | undefined;
745
4179
  shown: any;
4180
+ treasury: any;
746
4181
  }): {
747
4182
  programId: string;
748
4183
  keys: any[];
749
4184
  data: Uint8Array<any>;
750
4185
  };
751
- /** Anyone asks for a lottery's draw once it is due. */
752
- export declare const drawLotteryIx: ({ payer, project, id }: {
4186
+ /**
4187
+ * Anyone asks for the draw of a lottery's round once it is due (`lottery` decoded). `round`: the decoded record of the
4188
+ * round asked for (null when nobody bought into the current one: it moves on, or a lottery that draws once ends, with
4189
+ * no ask), and `roundAddress` its address when it is not the current round's (an older round still waiting for its
4190
+ * answer: asked again after `STALE_SECONDS`, or after the timeout cancelled, with no lottery account, so `lottery` may be
4191
+ * null then; without `round`, the current round's, with the lottery's terms). A round's first ask fixes its money: it takes
4192
+ * the lottery's pot, its mint and the round's account of it, then each run of token prizes in place order, its mint and
4193
+ * for a pool, the pool and the round's account of the mint (`poolMints`: a pool's index to its mint). With `skipHooked`
4194
+ * (the project's authority only) a hooked pool or pot gives the round nothing. `extra`: hook accounts.
4195
+ */
4196
+ export declare function drawLotteryIx({ payer, project, id, lottery, round, roundAddress, skipHooked, poolMints, extra }: {
4197
+ extra?: never[] | undefined;
753
4198
  id: any;
4199
+ lottery: any;
754
4200
  payer: any;
4201
+ poolMints?: {} | undefined;
755
4202
  project: any;
756
- }) => {
4203
+ round?: null | undefined;
4204
+ roundAddress?: null | undefined;
4205
+ skipHooked?: boolean | undefined;
4206
+ }): {
757
4207
  programId: string;
758
4208
  keys: any[];
759
4209
  data: Uint8Array<any>;
760
4210
  };
761
- /** The oracle's answer to a draw (for a local simulation). Every request of a round names the round's ticket, fixed
762
- * at its first ask (`asked_first`): a re-ask keeps it, so the first answer to land draws the round. */
763
- export declare function callbackLotteryIx({ project, id, lottery, askedFirst, randomness }: {
764
- askedFirst?: any;
765
- id: any;
766
- lottery: any;
767
- project: any;
4211
+ /** The oracle's answer to a round's draw (for a local simulation): the round's record is its only account. */
4212
+ export declare const callbackLotteryIx: ({ round, randomness }: {
768
4213
  randomness: any;
769
- }): {
4214
+ round: any;
4215
+ }) => {
770
4216
  programId: string;
771
4217
  keys: {
772
4218
  pubkey: any;
@@ -775,61 +4221,88 @@ export declare function callbackLotteryIx({ project, id, lottery, askedFirst, ra
775
4221
  }[];
776
4222
  data: Uint8Array<any>;
777
4223
  };
778
- export declare const cancelLotteryIx: ({ project, id }: {
779
- id: any;
780
- project: any;
781
- }) => {
782
- programId: string;
783
- keys: any[];
784
- data: Uint8Array<any>;
785
- };
786
- /** Where a decoded contribution's shares go: as fixed when it was bought. */
787
- export declare function lotteryContributionShares(lottery: any, contribution: any): any;
788
- /**
789
- * Anyone (`payer`) sends a contribution's next step (`lotteryStep`; `contributionAddress`, decoded `contribution`):
790
- * - a drawn round gives every place's prize first: the step of a contribution that won a place with a prize gives
791
- * the first such prize not given yet to its buyer, one place a call (`prizeMetas`: `collection`, `poolMints`, `items`, `nfts` as it takes them; a roll's
792
- * order at `nonce` plus the place, `prizeNonce(contributionAddress)` by default), and nothing else moves;
793
- * - once every prize is given, it is routed through its shares into the pot (or its tickets burned, or its NFT ticket
794
- * spent); a cancelled round's, or a lottery's that returns its tickets, goes back to its buyer, never waiting;
795
- * - one that holds a winning ticket stays (`done`): once every contribution is finished, it pays its buyer every
796
- * place's share of the pot it won, into their account of the pot's mint.
797
- * `payer` opens any account it pays into that is not there. `treasury`: the project's treasury wallet, for a share
798
- * that names it. A ticket an NFT paid for passes that NFT (`ticket`: its kind, as `piece` takes it); `handBack` when the
799
- * wallet its price gives it to is an account of the loot program (`handsBack`), where it goes back to its buyer (a
800
- * Token Metadata NFT into the buyer's token account).
801
- */
802
- export declare function finishLotteryContributionIx({ payer, project, id, lottery, contributionAddress, contribution, treasury, nonce, collection, poolMints, items, nfts, ticket, handBack, programs, extra }: {
803
- collection: any;
804
- contribution: any;
805
- contributionAddress: any;
4224
+ /** The accounts a round's close takes after a pull's own: each of its token accounts, its mint and who opened it (the
4225
+ * lottery, which gets its spare back, or a buyer who fronted it; `owner` for one the lottery opened, once it is closed). */
4226
+ export declare const roundCloseMetas: (key: any, r: any, owner?: null) => any;
4227
+ /** The NFT a raffle's place draws from the lottery's own stash (`stash` decoded, as it is now) with the round's answer. */
4228
+ export declare const raffledNft: (stash: any, answer: any, place: any) => any;
4229
+ /**
4230
+ * The NFT of the lottery's own stash each place of a drawn round that holds or draws one gets, in place order, as the
4231
+ * pulls take them out (`LotteryRound::assign`): the ones already taken out (`r.nfts`), then the rest as the stash
4232
+ * (`stash`, decoded as it is now) gives them, a named one found or one drawn by weight with the round's answer, each
4233
+ * taken out before the next. null for a place whose NFT isn't there (it gets nothing).
4234
+ */
4235
+ export declare function stashNfts(r: any, stash: any): any;
4236
+ /**
4237
+ * Anyone (`payer`) pulls `part` of the round at `roundAddress` (`round` decoded; `partsOwed` and `commonOwed` say what is
4238
+ * owed):
4239
+ * 'Own' entry `entry`'s own part: a refund, a no-loss ticket's price, or its NFT ticket back or where its
4240
+ * price sends it (`ticket` its kind as `piece` takes it; `handBack` when the wallet its price gives
4241
+ * it to is an account of the loot program; `hold`: made a hold for whoever it is owed to instead);
4242
+ * { Pot: [run] } the entry's places in the run, their part of the pot, paid into the buyer's account;
4243
+ * { Prize: [run] } their prize: tokens into the buyer's account, or each place's prize (`prize`: { stash, the lottery's
4244
+ * own stash decoded, for NFTs not taken out yet (`stashNfts`); stashes, a project stash's id to its
4245
+ * decoded stash; nfts, an NFT's kind by its asset; hold, NFTs made holds; most, the most places a
4246
+ * pull carries; and what `prizeMetas` takes: collection, poolMints, items, projectMint }), a roll's
4247
+ * order at `prizeRollNonce(nonce + place)` (ask it in the same transaction: `pullRolls`);
4248
+ * { Common: [i] } a part owed in common: share `i`, the pot's (`i` = the shares' count), a pool's prize back after a
4249
+ * cancel (past it), paid where it goes (`holders`, `programs`); `toTreasury` when that can't take it
4250
+ * (a pool never opened, the pot closed since or made again in another mint, an account gone: a
4251
+ * holder nobody is is found here).
4252
+ * The pull that leaves nothing owed closes the round (`projectState`: its treasury and owner; `lotteryClosed` when the
4253
+ * lottery is gone, so rent it lent goes to the owner). A round that owes nothing and waits only for its close is closed
4254
+ * by any pull.
4255
+ */
4256
+ export declare function pullIx({ payer, project, roundAddress: key, round: r, entry, part, projectState, ticket, handBack, hold, nonce, prize, holders, toTreasury, lotteryClosed, programs, extra }: {
4257
+ entry?: number | undefined;
806
4258
  extra?: never[] | undefined;
807
4259
  handBack?: boolean | undefined;
808
- id: any;
809
- items: any;
810
- lottery: any;
811
- nfts?: {} | undefined;
812
- nonce: any;
4260
+ hold?: boolean | undefined;
4261
+ holders?: {} | undefined;
4262
+ lotteryClosed?: boolean | undefined;
4263
+ nonce?: bigint | undefined;
4264
+ part?: string | undefined;
813
4265
  payer: any;
814
- poolMints: any;
4266
+ prize?: {} | undefined;
815
4267
  programs: any;
816
4268
  project: any;
4269
+ projectState: any;
4270
+ round: any;
4271
+ roundAddress: any;
817
4272
  ticket?: {} | undefined;
818
- treasury: any;
4273
+ toTreasury?: boolean | undefined;
819
4274
  }): {
820
4275
  programId: string;
821
4276
  keys: any[];
822
4277
  data: Uint8Array<any>;
823
4278
  };
4279
+ /** The orders the rolls a `{ Prize: [run] }` pull of entry `entry` makes (a place's prize that is a roll), each with its
4280
+ * box: [{ order, box }], at `prizeRollNonce(nonce + place)` for the entry's buyer. Ask each in the pull's transaction. */
4281
+ export declare function pullRolls({ project, round: r, entry, part, nonce }: {
4282
+ entry: any;
4283
+ nonce?: bigint | undefined;
4284
+ part: any;
4285
+ project: any;
4286
+ round: any;
4287
+ }): {
4288
+ order: any;
4289
+ box: any;
4290
+ }[];
824
4291
  /**
825
- * The owner opens farm `id`: of `stakedMint`'s tokens, or of collectibles when it is null. Its rewards come from pool
826
- * `args.rewards_pool`, whose mint is `rewardsMint`: all it receives, shared, or with `args.rate` ({ per_day, mints })
827
- * a fixed rate, minted or from that pool (a rate of 0 pays nothing: a farm that only grows or gives prizes).
828
- * `args.gates`: the rules an NFT must all pass. `args.growth`: up to 4 of { key, per_day, level, steps, streak }, each
829
- * writing points (and a level) on what is staked; tiers' `prize` is paid from `args.prize` ({ Mint: [mint] } or
830
- * { Pool: [index] }), whose mint is `prizeMint`. `args.ends_at`: when it ends (0: never). For a farm of collectibles,
831
- * `args.lock_key`: the attribute a staked NFT's lock is written under, as the time it ends, so recipes and rolls can
832
- * move it; `args.upkeep_key`: the attribute that says until when it earns and grows (fuel). Empty: none.
4292
+ * The owner opens farm `id`: of `stakedMint`'s tokens, or of collectibles when it is null. Its rewards are `rewardsMint`'s,
4293
+ * in its own rewards vault (`pda.rewards(farm)`), which anything funds by a plain transfer (a share or a schedule paying
4294
+ * `{ Account: [vault] }`): all that lands there, shared, or with `args.rate` ({ per_day, mints, shared, halve_every }) a
4295
+ * fixed rate, for each seat at x1 or with `shared` the whole farm's shared by weight, halving every `halve_every`
4296
+ * seconds from the farm's opening (0: never), minted when a seat is paid or paid from what the vault holds free while it
4297
+ * lasts (a rate of 0 pays nothing: a farm that only grows or gives prizes). `args.gates`: the rules an NFT must all
4298
+ * pass. `args.growth`: any number of { key, per_day, level, steps, streak, profile, at_least }, each writing points (and
4299
+ * a level) on what is staked, or with `profile` on the staker's profile (a token seat only while it stakes `at_least`);
4300
+ * a tier's `earns_for`: seconds a seat earns and grows after its lock started (0: no end). `args.ends_at`: when it ends
4301
+ * (0: never). For a farm of collectibles, `args.lock_key`: the attribute a staked NFT's lock is written under, as the
4302
+ * time it ends, so recipes and rolls can move it; `args.upkeep_key`: the attribute that says until when it earns and
4303
+ * grows (fuel). Empty: none. `args.exit_to`: where early-exit fees go, 'Burn', { Pool: [index] } or 'Rewards' (the
4304
+ * farm's own vault: a farm whose staked token is its rewards'). A farm whose seats can stop earning and that pays keeps a
4305
+ * record of when (`farmKeepsEnds`, `pda.ends`), made here at the owner's rent; each new time costs its writer `END_BYTES`.
833
4306
  */
834
4307
  export declare const openFarmIx: ({ owner, project, id, args, rewardsMint, stakedMint }: {
835
4308
  args: any;
@@ -844,9 +4317,66 @@ export declare const openFarmIx: ({ owner, project, id, args, rewardsMint, stake
844
4317
  data: Uint8Array<any>;
845
4318
  };
846
4319
  /**
847
- * `player` stakes `amount` at lock tier `tier`. `farm` is decoded; `extra` carries token hook/memo accounts. A new tier
848
- * on a seat with a booster, in a farm with growth, needs the booster's growth written first: put a `refreshSeatIx` of
849
- * the seat before it, in the same transaction.
4320
+ * Whether a farm with these args keeps a record of when its seats stop earning (`Farm::keeps_ends`): a tier has a term
4321
+ * (`earns_for`) or the farm reads an upkeep (`upkeep_key`), and it pays something (no rate, or a rate above 0). The farm
4322
+ * and every move of it then pass the record (`WrongEnds` otherwise).
4323
+ */
4324
+ export declare const farmKeepsEnds: (args: any) => any;
4325
+ /**
4326
+ * What a farm has to walk (`Farm::walk`): the times of its record of ends (`ends`, from `decodeEnds`; an empty list for none)
4327
+ * past its clock, up to `now` (Unix seconds, the chain's clock) or the farm's end. Every move walks all of them first, each a
4328
+ * little compute, so a farm idle past many ends may leave a move no room: `farmNeedsWalk`.
4329
+ */
4330
+ export declare function endsToWalk(farm: any, ends: any, now: any): any;
4331
+ /** How many ends `walk_farm` walks in one transaction at `WALK_COMPUTE_UNITS`: an end takes at most some 2,300 units, with a
4332
+ * halving rate (`js/test/farm-ends.test.mjs` measures it). */
4333
+ export declare const WALK_PER_TX = 500;
4334
+ /** The compute units a transaction that walks ends asks for: `walk_farm`, or a move with ends to walk first. */
4335
+ export declare const WALK_COMPUTE_UNITS = 1400000;
4336
+ /** How many ends a move can walk first at `WALK_COMPUTE_UNITS` and still do its own work: past this, the farm is walked
4337
+ * first (`farmNeedsWalk`). */
4338
+ export declare const MOVE_WALK_ROOM = 400;
4339
+ /**
4340
+ * Whether a farm has passed more ends than a move can walk in its own transaction (`endsToWalk`, `MOVE_WALK_ROOM`): such
4341
+ * a move fails on compute until `walk_farm` has caught the farm up. Nothing is lost by waiting: what a seat earned by
4342
+ * its end is written when the farm walks past it, however late.
4343
+ */
4344
+ export declare const farmNeedsWalk: (farm: any, ends: any, now: any) => boolean;
4345
+ /**
4346
+ * The transactions that walk a farm up to now, oldest ends first: one `walkFarmIx` each, `perTx` ends at most, `[]` when
4347
+ * it has nothing to walk. Anyone may send them, in order; each is free but for its network fee.
4348
+ */
4349
+ export declare function walkFarmParts({ project, id, farm, ends, now, perTx }: {
4350
+ ends: any;
4351
+ farm: any;
4352
+ id: any;
4353
+ now: any;
4354
+ perTx?: number | undefined;
4355
+ project: any;
4356
+ }): {
4357
+ programId: string;
4358
+ keys: any[];
4359
+ data: Uint8Array<any>;
4360
+ }[];
4361
+ /**
4362
+ * Credits a farm up to at most `most` of the times its seats stopped earning. Anyone may send it, signing nothing but its
4363
+ * network fee: it decides nothing, every move walks the same times the same way. For a farm that has passed more of them
4364
+ * than a move's transaction can walk (`farmNeedsWalk`, `walkFarmParts`).
4365
+ */
4366
+ export declare const walkFarmIx: ({ project, id, farm, most }: {
4367
+ farm: any;
4368
+ id: any;
4369
+ most?: number | undefined;
4370
+ project: any;
4371
+ }) => {
4372
+ programId: string;
4373
+ keys: any[];
4374
+ data: Uint8Array<any>;
4375
+ };
4376
+ /**
4377
+ * `player` stakes `amount` at lock tier `tier`. `farm` is decoded; `extra` carries token hook/memo accounts. A seat with
4378
+ * a booster on, or one whose growth the stake changes, needs a `refreshSeatIx` of it first, in the same transaction
4379
+ * (`stakeRefreshFirst`).
850
4380
  */
851
4381
  export declare const stakeTokensIx: ({ player, project, id, farm, amount, tier, programs, shown, extra }: {
852
4382
  amount: any;
@@ -864,10 +4394,9 @@ export declare const stakeTokensIx: ({ player, project, id, farm, amount, tier,
864
4394
  data: Uint8Array<any>;
865
4395
  };
866
4396
  /**
867
- * `player` takes `amount` out (0: only collects what is owed, and takes out tokens whose unbonding wait is over);
868
- * `forfeit` gives up rewards that can't move. Before the tier's lock has run, a tier with an early-exit fee
869
- * (`exit_bps`) lets it leave, leaving that share of `amount` to the farm's `exit_to`. In a farm that unbonds
870
- * (`unbond`), what is taken out waits that long first, earning nothing (`withdrawable`).
4397
+ * `player` takes `amount` out (0: only collects what is owed); `forfeit` gives up rewards that can't move. Before the
4398
+ * tier's lock has run, a tier with an early-exit fee (`exit_bps`) lets it leave, leaving that share of `amount` to the
4399
+ * farm's `exit_to`; it keeps the rewards it was credited.
871
4400
  */
872
4401
  export declare const unstakeTokensIx: ({ player, project, id, farm, amount, forfeit, programs, extra }: {
873
4402
  amount: any;
@@ -883,8 +4412,34 @@ export declare const unstakeTokensIx: ({ player, project, id, farm, amount, forf
883
4412
  keys: any[];
884
4413
  data: Uint8Array<any>;
885
4414
  };
886
- /** What a token seat may take out now (Unix seconds `now`): its unbonded tokens once their wait is over, else 0. */
887
- export declare const withdrawable: (seat: any, now: any) => bigint;
4415
+ /**
4416
+ * Whether taking `amount` out of a token seat (decoded `seat`) needs a `refreshSeatIx` of it first, in the same
4417
+ * transaction (`RefreshFirst`): the farm grows, and the exit closes the seat or drops it below a growth's least stake, so
4418
+ * what it grew since its last refresh is written before it goes. Never under `forfeit`.
4419
+ */
4420
+ export declare const refreshFirst: (farm: any, seat: any, amount: any, forfeit?: boolean) => any;
4421
+ /**
4422
+ * Whether a stake of tokens at `tier` in a token seat (decoded `seat`; null for a new one), or with `compound` a
4423
+ * compound of what it is owed, needs a `refreshSeatIx` of it first, in the same transaction (`RefreshFirst`), at `now`
4424
+ * (Unix seconds, the chain's clock): a seat with a booster on (its boost is read again there, so a top-up never stakes
4425
+ * more at a boost its booster no longer gives), or a seat that grows (a booster's growth, or its player's profile's)
4426
+ * when the stake changes how: a new tier, a farm whose growth reads the amount, a seat past its term; a compound when
4427
+ * that growth reads the amount.
4428
+ * @param {any} farm
4429
+ * @param {any} seat
4430
+ * @param {{ tier?: number, now?: bigint | number, compound?: boolean }} [options]
4431
+ */
4432
+ export declare function stakeRefreshFirst(farm: any, seat: any, { tier, now, compound }?: {
4433
+ tier?: number;
4434
+ now?: bigint | number;
4435
+ compound?: boolean;
4436
+ }): any;
4437
+ /**
4438
+ * Whether a booster put on a token seat of `farm` (decoded) needs the seat refreshed first, in the same transaction
4439
+ * (`stake_nft`'s `RefreshFirst`): in a farm of tokens whose growth writes its players' profiles, the booster's growth
4440
+ * starts from now, so what the seat grew before is written first.
4441
+ */
4442
+ export declare const boosterRefreshFirst: (farm: any) => any;
888
4443
  /**
889
4444
  * Whether a farm (decoded) takes a stake at lock tier `tier` at `now` (Unix seconds, the chain's clock), as the program
890
4445
  * judges it: a farm with an end (`ends_at`, 0 for never) takes none at its end or after it, nor one whose lock
@@ -922,6 +4477,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
922
4477
  wallet: any;
923
4478
  writes?: boolean | undefined;
924
4479
  }): {
4480
+ kind: string;
925
4481
  accounts: {
926
4482
  mpl_core_program: null;
927
4483
  metadata: null;
@@ -974,6 +4530,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
974
4530
  proof: any;
975
4531
  writable: string[];
976
4532
  } | {
4533
+ kind: string;
977
4534
  accounts: {
978
4535
  collection: null;
979
4536
  mpl_core_program: null;
@@ -1002,6 +4559,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
1002
4559
  proof: never[];
1003
4560
  writable: never[];
1004
4561
  } | {
4562
+ kind: string;
1005
4563
  accounts: {
1006
4564
  metadata: null;
1007
4565
  edition: null;
@@ -1030,6 +4588,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
1030
4588
  proof: never[];
1031
4589
  writable: string[];
1032
4590
  };
4591
+ export declare function anotherMetas(p: any): any[];
1033
4592
  /** The account an NFT paid goes to: the wallet it is given to, the stash it goes into, or the
1034
4593
  * incinerator for a burn (any account stands in for a Core asset, which Core burns). `then`: 'Burn', { Give: [wallet] }
1035
4594
  * or { Stash: [id] }. */
@@ -1113,16 +4672,48 @@ export declare function freshNftAccount({ payer, holder, mint, index, there }: {
1113
4672
  export declare const FRESH_NFT_ACCOUNTS = 8;
1114
4673
  /** A token account's rent on every cluster (165 bytes). */
1115
4674
  export declare const TOKEN_ACCOUNT_RENT = 2039280n;
1116
- /** Anyone closes a compressed NFT's record (`pda.leaf`) that no longer matches its tree; its rent goes to `payer`, who paid it. */
1117
- export declare const closeLeafIx: ({ asset, tree, payer }: {
4675
+ /**
4676
+ * A compressed NFT's record (`pda.leaf`) closes, its rent back to `payer`, who paid it: at any time with `payer` signing
4677
+ * (`signs`, the default), or by anyone once it no longer matches its tree. A route that finds no record asks for a proof
4678
+ * again (`NotProven`), so a client closes it in the transaction that used it (`withLeafCloses`).
4679
+ */
4680
+ export declare const closeLeafIx: ({ asset, tree, payer, signs }: {
1118
4681
  asset: any;
1119
4682
  payer: any;
4683
+ signs?: boolean | undefined;
1120
4684
  tree: any;
1121
4685
  }) => {
1122
4686
  programId: string;
1123
4687
  keys: any[];
1124
4688
  data: Uint8Array<any>;
1125
4689
  };
4690
+ /**
4691
+ * `instructions` with a `close_leaf` after them for each compressed NFT's record a `prove_leaf` among them makes, its
4692
+ * prover signing as the record's payer, so the record's rent comes back in the same transaction (one closed already is
4693
+ * left alone).
4694
+ */
4695
+ export declare function withLeafCloses(instructions: any): any;
4696
+ /**
4697
+ * Anyone closes the Sheet of an NFT that is burned: `burned` is what shows it (the Core asset's own address, burned to
4698
+ * one byte; a Token Metadata mint holding none; or a compressed NFT's record proving its leaf burned). Its rent goes to
4699
+ * the project's `treasury` wallet. A compressed NFT's (`tree`: the tree it was minted in) closes only on a record proven
4700
+ * empty (its data hash all zeros: a live leaf of the default owner is not burned) that still reads against that tree,
4701
+ * or whose tree is gone: the tree goes in the edition's place, and `burned` defaults to the NFT's record
4702
+ * (`pda.leaf`). A Token Metadata NFT's (`tokenMetadata`: true, or its kind) names its edition, which must be closed
4703
+ * too: its mint holds none, with no mint authority but its edition (`NotBurned` otherwise).
4704
+ */
4705
+ export declare const closeSheetIx: ({ project, nft, tree, burned, treasury, tokenMetadata: tm }: {
4706
+ burned?: any;
4707
+ nft: any;
4708
+ project: any;
4709
+ tokenMetadata?: null | undefined;
4710
+ treasury: any;
4711
+ tree?: null | undefined;
4712
+ }) => {
4713
+ programId: string;
4714
+ keys: any[];
4715
+ data: Uint8Array<any>;
4716
+ };
1126
4717
  /**
1127
4718
  * Anyone proves a compressed NFT's leaf (`compressed` from `compressedFromDas`): put it before the instruction that
1128
4719
  * uses the NFT, in the same transaction. The proof must be against the tree's current root (`StaleProof` otherwise:
@@ -1165,10 +4756,11 @@ export declare const proveTraitsIx: ({ signer, project, key, nft, attributes, pr
1165
4756
  * `player` stakes an NFT: on a seat of its own in a farm of collectibles, or as the booster of the player's token seat
1166
4757
  * in a farm of tokens. Any kind (`piece`): a Core asset, a Token Metadata NFT's mint with `tokenMetadata`, or
1167
4758
  * `compressed` (after a `proveLeafIx` in the same transaction). `previous`: in a farm that watches, the last staker of
1168
- * an NFT that changed hands, whose seat this takes over. `extra` carries reward token hooks/memos and Core transfer
1169
- * adapter accounts.
4759
+ * an NFT that changed hands, whose seat this takes over (alone). In a farm of collectibles, `more` NFTs (each { asset,
4760
+ * collection, hasAuthority, tokenMetadata, compressed }) go in the same call at the same tier, one fee, by their seats'
4761
+ * addresses. `extra` carries reward token hooks/memos and Core transfer adapter accounts.
1170
4762
  */
1171
- export declare const stakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, previous, tier, programs, extra }: {
4763
+ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, previous, tier, programs, more, extra }: {
1172
4764
  asset: any;
1173
4765
  collection: any;
1174
4766
  compressed: any;
@@ -1176,6 +4768,7 @@ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection
1176
4768
  farm: any;
1177
4769
  hasAuthority?: boolean | undefined;
1178
4770
  id: any;
4771
+ more?: never[] | undefined;
1179
4772
  player: any;
1180
4773
  previous?: null | undefined;
1181
4774
  programs: any;
@@ -1190,11 +4783,16 @@ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection
1190
4783
  /**
1191
4784
  * `player` takes an NFT out once its lock has run: it grows on its way out (a farm with growth writes on it, or on its
1192
4785
  * Sheet), and from its own seat takes its tier's prize. `forfeit` gives up the rewards and the prize. Leaving a tier
1193
- * that rolls (`roll`: its box id), the NFT is rolled on that box, in an order at `nonce` (anyone then asks the oracle,
1194
- * `askRollIx`, and settles); a box that can burn it or give it away keeps it in the project's hands until then.
4786
+ * that rolls (`roll`: its box id, `boxes` its decoded box by id), the NFT is rolled on that box, in an order named by
4787
+ * `nonce` (`namedRollNonce`: the NFT's own on a box that holds it; its player or the project's keys then ask the oracle,
4788
+ * `askRollIx`, and settles); a box that can burn it or give it away keeps it in the project's hands until then. `more`
4789
+ * NFTs of the player's in the farm (each { asset, collection, hasAuthority, tokenMetadata, compressed, tier, roll }) leave
4790
+ * in the same call, one fee, one transfer of rewards: by their seats' addresses, the `i`th's roll at `nonce + 2i` and its
4791
+ * prize's at `nonce + 2i + 1` (`seatNonces` says which NFT has which). One still locked refuses the whole call.
1195
4792
  */
1196
- export declare const unstakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, forfeit, roll, nonce, tier, projectCollection, poolMints, items, nft, programs, extra }: {
4793
+ export declare const unstakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, forfeit, roll, nonce, tier, projectCollection, poolMints, items, nft, boxes, programs, more, extra }: {
1197
4794
  asset: any;
4795
+ boxes?: {} | undefined;
1198
4796
  collection: any;
1199
4797
  compressed: any;
1200
4798
  extra?: never[] | undefined;
@@ -1203,6 +4801,7 @@ export declare const unstakeNftIx: ({ player, project, id, farm, asset, collecti
1203
4801
  hasAuthority?: boolean | undefined;
1204
4802
  id: any;
1205
4803
  items: any;
4804
+ more?: never[] | undefined;
1206
4805
  nft: any;
1207
4806
  nonce?: bigint | undefined;
1208
4807
  player: any;
@@ -1218,18 +4817,26 @@ export declare const unstakeNftIx: ({ player, project, id, farm, asset, collecti
1218
4817
  keys: any[];
1219
4818
  data: Uint8Array<any>;
1220
4819
  };
4820
+ /** The nonce each NFT's mission roll is named by in an `unstakeNftIx` of several (`assets`), in the order the call
4821
+ * takes them: the `i`th by its seat's address `nonce + 2i` (its order at `namedRollNonce` of it), its prize's roll
4822
+ * `nonce + 2i + 1` (at `prizeRollNonce`). */
4823
+ export declare const seatNonces: (project: any, id: any, farm: any, player: any, assets: any, nonce?: bigint) => any;
1221
4824
  /**
1222
- * `player` collects what the seat of `by` owes (their own address for tokens, a collectible's asset). `held`: in a farm
4825
+ * `player` collects what the seat of `by` owes (their own address for tokens, a collectible's asset); with `compound`, a
4826
+ * token seat's is staked instead (a seat with a booster on needs a `refreshSeatIx` of it first: `stakeRefreshFirst`). `held`: in a farm
1223
4827
  * that watches, what shows the player still holds the seat's NFT (the Core asset, their token account of a Token
1224
- * Metadata NFT, or a compressed NFT's record, `pda.leaf`, with its `tree`), which such a farm refuses to go without.
4828
+ * Metadata NFT, or a compressed NFT's record, `pda.leaf`, with its `tree`), which such a farm refuses to go without
4829
+ * (`NotProven`). `more` seats of the player's in the farm (each { by, held, tree }) collect in the same call, one fee,
4830
+ * one transfer.
1225
4831
  */
1226
- export declare const harvestIx: ({ player, project, id, farm, by, held, tree, compound, programs, extra }: {
4832
+ export declare const harvestIx: ({ player, project, id, farm, by, held, tree, compound, programs, more, extra }: {
1227
4833
  by?: any;
1228
4834
  compound?: boolean | undefined;
1229
4835
  extra?: never[] | undefined;
1230
4836
  farm: any;
1231
4837
  held?: null | undefined;
1232
4838
  id: any;
4839
+ more?: never[] | undefined;
1233
4840
  player: any;
1234
4841
  programs: any;
1235
4842
  project: any;
@@ -1269,19 +4876,23 @@ export declare const refreshSeatIx: ({ signer, project, id, farm, by, seat, coll
1269
4876
  * `player` crafts recipe `id` (`recipe` decoded, the version shown to them), `times` over. `assets`: the
1270
4877
  * collectibles handed in, in the recipe's order (the burned, the used, and for a `Show` line the NFT shown: its address
1271
4878
  * when it is the project's, `{ asset, collection }` for a Core NFT of another collection, `{ mint, owner }` for a Token
1272
- * Metadata one; for a `Trade` line the NFT traded in, as `piece` takes it: `{ asset, collection, tokenMetadata,
1273
- * compressed }`). A collectible used or renewed that is staked in a farm holding it for the player (escrow) is
1274
- * `{ asset, farm }`, `farm` that farm's id: its seat and farm follow it. A `Staked` line names the farm its collectible
4879
+ * Metadata one, `{ compressed, tree }` for a compressed one; with `farm` (a farm's id: `{ asset, farm }` for the
4880
+ * project's own) when the project locks it in the player's wallet on a seat of that farm, which freezes, and a raise on
4881
+ * it lowers a number: its seat and farm follow it, and the raise may not lower a number that farm reads; for a `Trade` line the NFT traded in, as `piece` takes it: `{ asset, collection, tokenMetadata,
4882
+ * compressed }`). A collectible used that is staked in a farm holding it for the player (escrow) or locking it in their
4883
+ * wallet (freeze) is `{ asset, farm }`, `farm` that farm's id: its seat and farm follow it (a raise on it may not lower a
4884
+ * number its farm reads: `BadRecipe`). A `Staked` line names the farm its collectible
1275
4885
  * is staked in (`Input::Staked { item, farm }`, escrowed or frozen there): its address, or `{ asset, farm }` with that
1276
4886
  * farm, and its seat and that farm follow it. Each item line passes its item's collection
1277
4887
  * (`items[id].collection`, the decoded Items; `collection` when not given), written for a burn: Core writes it as it
1278
4888
  * burns a collectible. A recipe's `raises` write on the kept ones, in their Sheet when the project has no
1279
4889
  * authority over them. The player opens any account a line pays into that is not there. A roll it makes (a
1280
- * `Prize::Roll` or a `RollOn`) passes its box's prize mints (`rollMints`): `boxes` maps the box's id to its decoded
1281
- * LootBox, `rollPools` each pool its prizes name to its mint (null for one never opened; `poolMints` when not given).
4890
+ * `Prize::Roll` or a `RollOn`) passes its box and its order, nothing more; a `RollOn`'s order is where `namedRollNonce`
4891
+ * says, which reads the rolled box (`boxes`: a box's id to its decoded LootBox). Its player or the project's keys then ask for the roll
4892
+ * (`askRollIx`, in the same transaction when it fits).
1282
4893
  * A craft makes several Core calls: raise the compute limit. `extra`: a token's hook accounts.
1283
4894
  */
1284
- export declare function craftIx({ player, project, collection, id, recipe, assets, times, nonce, holders, programs, treasury, poolMints, items, nfts, boxes, rollPools, extra }: {
4895
+ export declare function craftIx({ player, project, collection, id, recipe, assets, times, nonce, holders, programs, treasury, poolMints, items, nfts, boxes, extra }: {
1285
4896
  assets?: never[] | undefined;
1286
4897
  boxes?: {} | undefined;
1287
4898
  collection: any;
@@ -1296,7 +4907,6 @@ export declare function craftIx({ player, project, collection, id, recipe, asset
1296
4907
  programs: any;
1297
4908
  project: any;
1298
4909
  recipe: any;
1299
- rollPools?: any;
1300
4910
  times?: number | undefined;
1301
4911
  treasury: any;
1302
4912
  }): {
@@ -1311,11 +4921,12 @@ export declare const craftNewAssets: (recipe: any) => any;
1311
4921
  * asset (`collection` its own, Core's address for none), a Token Metadata NFT (`tokenMetadata`), or `compressed` (after
1312
4922
  * a `proveLeafIx`).
1313
4923
  */
1314
- export declare function holdIx({ player, project, collection, asset, tokenMetadata: tm, compressed, freeAt, reference: ref }: {
4924
+ export declare function holdIx({ player, project, collection, asset, tokenMetadata: tm, compressed, freeAt, reference: ref, more }: {
1315
4925
  asset: any;
1316
4926
  collection: any;
1317
4927
  compressed: any;
1318
4928
  freeAt: any;
4929
+ more?: never[] | undefined;
1319
4930
  player: any;
1320
4931
  project: any;
1321
4932
  reference: any;
@@ -1329,19 +4940,24 @@ export declare function holdIx({ player, project, collection, asset, tokenMetada
1329
4940
  * The project's owner or authority (`signer`) puts an NFT it holds into stash `id`, or (`out`: a wallet) takes one the
1330
4941
  * stash holds out to that wallet. The NFT is any kind, as `piece` takes it: `collection` a Core asset's own,
1331
4942
  * `tokenMetadata`, or `compressed` after a `proveLeafIx` in the same transaction. The signer pays what the stash grows
1332
- * by, and gets back the rent it no longer needs. Taken out with `out` the project's own address, the entry is only dropped
1333
- * from the stash and the NFT stays where it is. `out` is never another account of the program (`ToTheProject`).
4943
+ * by, and gets back the rent it no longer needs. `drop`: the NFT leaves the stash and stays where it is, owed to the
4944
+ * treasury in its hold (`["hold", nft, 0]`, the signer paying its rent until anyone `release`s it to the treasury, one
4945
+ * NFT a call). `out` is never the project's own address nor another account of the program (`ToTheProject`).
1334
4946
  */
1335
- export declare function stashIx({ signer, project, id, lottery, asset, out, collection, tokenMetadata: tm, compressed }: {
4947
+ export declare function stashIx({ signer, project, id, lottery, lotteryState, asset, out, drop, weight, collection, tokenMetadata: tm, compressed, more }: {
1336
4948
  asset: any;
1337
4949
  collection: any;
1338
4950
  compressed: any;
4951
+ drop?: boolean | undefined;
1339
4952
  id: any;
1340
4953
  lottery?: null | undefined;
4954
+ lotteryState?: null | undefined;
4955
+ more?: never[] | undefined;
1341
4956
  out?: null | undefined;
1342
4957
  project: any;
1343
4958
  signer: any;
1344
4959
  tokenMetadata: any;
4960
+ weight?: number | undefined;
1345
4961
  }): {
1346
4962
  programId: string;
1347
4963
  keys: any[];
@@ -1351,7 +4967,7 @@ export declare function stashIx({ signer, project, id, lottery, asset, out, coll
1351
4967
  * `player` backs `side` with `amount`, naming the contest's incarnation (which fixes its terms). `contest` is the
1352
4968
  * decoded Contest. A contest of NFTs (`contest.nft`) takes one NFT instead (`nft`: { asset, collection, tokenMetadata,
1353
4969
  * compressed }, as `piece` takes it), which the contest holds until it is claimed. `shown`/`listProof` pass its gate.
1354
- * `extra`: a hook's accounts.
4970
+ * A new entry's record is the player's to pay (not refunded). `extra`: a hook's accounts.
1355
4971
  */
1356
4972
  export declare function enterIx({ player, project, id, contest, side, amount, shown, listProof, nft, playerToken, programs, extra }: {
1357
4973
  amount: any;
@@ -1372,63 +4988,61 @@ export declare function enterIx({ player, project, id, contest, side, amount, sh
1372
4988
  data: Uint8Array<any>;
1373
4989
  };
1374
4990
  /**
1375
- * Anyone (`payer`) claims `player`'s entry on `side`, into the player's account of the mint, which `payer` opens when
1376
- * it is not there (the last entry's claim closes the pot and writes the mint). A winning entry of a contest with a
1377
- * prize (`contest.prize`) also gets it (`prizeMetas`: `collection`, `poolMints`, `items`, `nft`; a roll's order at
1378
- * `nonce`, `prizeNonce(entry)` by default), `payer` paying what it opens. For a contest of NFTs, `entry` is the decoded
1379
- * Entry: its own NFT (`own`, its kind as `piece` takes it) goes back to its player, or to the opener for a loser's NFT
1380
- * no winner took; a winner, while losers' NFTs are left, also takes one (`taking`: { player, side } of a losing entry
1381
- * that still holds one, and `kind`, its NFT's kind). While losers' NFTs are left only the winner sends their claim, and
1382
- * picks which (`payer` the player; `WinnerPicks` otherwise). `extra`: a hook's accounts.
4991
+ * Anyone (`payer`) claims `player`'s entry (`entries`: the contest's decoded entries, `decodeEntries`), into the
4992
+ * player's account of the mint, which `payer` opens when it is not there. A winner's first claim also gives the
4993
+ * contest's prize (`prizeMetas`: `collection`, `poolMints`, `items`, `nft`; a roll's order at `nonce`, `prizeNonce` of the
4994
+ * contest and the player by default), unless the player (signing) `forgo`es it. In a contest of NFTs it moves the NFTs of
4995
+ * the entries `nfts` names by their place in the list (the player's own by default, while the contest holds it): an
4996
+ * entry's own back to its player (anyone sends it); a loser's to the winner while it has picks left of its share (only
4997
+ * the winner sends it, and picks which: `WinnerPicks`), or to the opener once no winner has picks left. `kinds` maps an
4998
+ * NFT to its kind, as `piece` takes it. With `hold` (true, or a list of assets), each becomes a hold for the wallet it goes to (an NFT that can't
4999
+ * move now); with `end`, the winner leaves the rest of its share to the opener. The claim that leaves nothing owed
5000
+ * closes the contest (`projectState`: its treasury); a contest that owes nothing (nobody entered, every part claimed,
5001
+ * off by itself with none in) is closed by any claim, the `payer`'s. `extra`: a hook's accounts.
1383
5002
  */
1384
- export declare function claimIx({ payer, project, id, contest, player, side, entry, own, taking, nonce, collection, poolMints, items, nft, prizeMint, forgo, programs, extra }: {
5003
+ export declare function claimIx({ payer, project, projectState, id, contest, entries, player, nfts, kinds, nonce, collection, poolMints, items, nft, prizeMint, forgo, end, hold, programs, extra }: {
1385
5004
  collection: any;
1386
5005
  contest: any;
1387
- entry: any;
5006
+ end?: boolean | undefined;
5007
+ entries: any;
1388
5008
  extra?: never[] | undefined;
1389
5009
  forgo?: boolean | undefined;
5010
+ hold?: boolean | undefined;
1390
5011
  id: any;
1391
5012
  items: any;
5013
+ kinds?: {} | undefined;
1392
5014
  nft: any;
5015
+ nfts: any;
1393
5016
  nonce: any;
1394
- own?: {} | undefined;
1395
5017
  payer: any;
1396
5018
  player: any;
1397
5019
  poolMints: any;
1398
5020
  prizeMint: any;
1399
5021
  programs: any;
1400
5022
  project: any;
1401
- side: any;
1402
- taking: any;
5023
+ projectState: any;
1403
5024
  }): {
1404
5025
  programId: string;
1405
5026
  keys: any[];
1406
5027
  data: Uint8Array<any>;
1407
5028
  };
1408
- /** What a bid signs: sha256(mint | Borsh(AuctionArgs)). */
1409
- export declare function auctionTerms(mint: any, args: any): Uint8Array<ArrayBuffer>;
1410
- /** An auction's AuctionArgs from its decoded account (what `open_auction` fixed). */
1411
- export declare const auctionArgsOf: (auction: any) => {
1412
- lot: any;
1413
- reserve: any;
1414
- min_raise_bps: any;
1415
- starts_at: any;
1416
- ends_at: any;
1417
- extend: any;
1418
- shares: any;
1419
- gate: any;
1420
- nft_bids: any;
1421
- };
5029
+ /**
5030
+ * What a bid signs: the auction's bytes but the bid, which sits last (`high_bidder`, `high`, `last_bid_at`, `held`:
5031
+ * 60 bytes, and an auction of NFT bids' room for `MAX_BID_NFTS` after them). `auction`: the decoded Auction, or its
5032
+ * account's bytes.
5033
+ */
5034
+ export declare function auctionTerms(auction: any): Uint8Array<ArrayBuffer>;
1422
5035
  /** When bids close, as the program reckons it: `ends_at`, or `extend` seconds after the last bid when that is later. */
1423
5036
  export declare const auctionEnds: (auction: any) => bigint;
1424
- /** The least next bid the program takes, or null when no u64 amount can top it. */
5037
+ /** The least next bid the program takes, or null when nothing can top it (no u64 amount; a bid of NFTs past `MAX_BID_NFTS`). */
1425
5038
  export declare function leastBid(auction: any): bigint | null;
1426
5039
  /**
1427
5040
  * `seller` opens its auction `id` of `args.lot` ({ Item: [id] }, { Asset: [address] } or { Roll: [box id] }), alone,
1428
5041
  * and pays its rent: a player for an NFT of the project's own collection they hold; the project's owner or authority for an
1429
5042
  * NFT of any kind it holds (`piece`: `collection` a Core asset's own, `tokenMetadata`, or `compressed` after a
1430
- * `proveLeafIx`), a new unit of its item, or a roll of one of its boxes (a mystery lot). Its address names the seller, so an
1431
- * id is the seller's own.
5043
+ * `proveLeafIx`), a new unit of its item, or a roll of one of its boxes (a mystery lot: the box must be written, burn
5044
+ * no share of its price, and make an order with the auction's shares within one call's growth: `LotRefused`). Its
5045
+ * address names the seller, so an id is the seller's own.
1432
5046
  */
1433
5047
  export declare function openAuctionIx({ seller, project, collection, tokenMetadata: tm, compressed, id, mint, args }: {
1434
5048
  args: any;
@@ -1444,20 +5058,25 @@ export declare function openAuctionIx({ seller, project, collection, tokenMetada
1444
5058
  keys: any[];
1445
5059
  data: Uint8Array<any>;
1446
5060
  };
5061
+ /** The most NFTs one bid of an auction of NFT bids holds (`MAX_BID_NFTS`, not in the IDL): a bid of more fails
5062
+ * (`BidTooLow`), and a high bid of this many can't be topped. Its reserve is 1 to this many (`BadAuction`). */
5063
+ export declare const MAX_BID_NFTS = 3;
1447
5064
  /**
1448
5065
  * `bidder` bids `amount` on auction `id`, signing its terms; the bid it tops goes back to the high bidder's account
1449
5066
  * of the mint, which `bidder` opens when it is not there. `auction` is the decoded Auction. `shown`/`listProof`: what
1450
5067
  * passes the auction's gate. An auction of NFT bids (`auction.nft_bids`) takes `nfts` instead ([{ asset, collection,
1451
5068
  * tokenMetadata }], as `piece` takes each; never a compressed NFT: `CompressedBid`), handed to the project, and gives the high bid's NFTs
1452
- * (`held`, the kinds of `auction.held`, in order) back to its bidder. `extra`: a hook's accounts.
5069
+ * (`held`, the kinds of `auction.held`, in order) back to its bidder; one that can't move now (`hold`: true for all, or a
5070
+ * list of assets) becomes a hold for them instead, `bidder` paying its rent until its release. `extra`: a hook's accounts.
1453
5071
  */
1454
- export declare function bidIx({ bidder, project, id, auction, amount, shown, listProof, nfts, held, bidderToken, programs, extra }: {
5072
+ export declare function bidIx({ bidder, project, id, auction, amount, shown, listProof, nfts, held, hold, bidderToken, programs, extra }: {
1455
5073
  amount: any;
1456
5074
  auction: any;
1457
5075
  bidder: any;
1458
5076
  bidderToken: any;
1459
5077
  extra?: never[] | undefined;
1460
5078
  held?: never[] | undefined;
5079
+ hold?: boolean | undefined;
1461
5080
  id: any;
1462
5081
  listProof: any;
1463
5082
  nfts?: never[] | undefined;
@@ -1477,13 +5096,18 @@ export declare function bidIx({ bidder, project, id, auction, amount, shown, lis
1477
5096
  * roll), however long after the end it is sent. With no bid, the lot goes home. `signer` opens any account the end pays into that is
1478
5097
  * not there. `item` is the decoded Item of an item lot; for an NFT lot, `collection` its Core collection now (the
1479
5098
  * project's when left out), `tokenMetadata` for a Token Metadata NFT, or `compressed` (after a `proveLeafIx`).
5099
+ * `hold` (anyone may; true for all, or a list of assets): an end that wouldn't fit otherwise (a compressed lot's long
5100
+ * proof, a hooked mint, many shares) makes the NFT lot a hold for whoever it goes to (its hold passed as `order`, no
5101
+ * piece nor proof), and a winning NFT of a bid a hold for `proceeds` (its hold's address in its piece's place); anyone
5102
+ * then delivers each with `releaseIx`, and the end's sender gets the rent back then.
1480
5103
  */
1481
- export declare function endAuctionIx({ signer, project, projectState, id, auction, item, collection, tokenMetadata: tm, compressed, held, reference: ref, nonce, holders, programs, extra }: {
5104
+ export declare function endAuctionIx({ signer, project, projectState, id, auction, item, collection, tokenMetadata: tm, compressed, held, hold, reference: ref, nonce, holders, programs, extra }: {
1482
5105
  auction: any;
1483
5106
  collection: any;
1484
5107
  compressed: any;
1485
5108
  extra?: never[] | undefined;
1486
5109
  held?: never[] | undefined;
5110
+ hold?: boolean | undefined;
1487
5111
  holders: any;
1488
5112
  id: any;
1489
5113
  item?: null | undefined;
@@ -1499,8 +5123,9 @@ export declare function endAuctionIx({ signer, project, projectState, id, auctio
1499
5123
  keys: any[];
1500
5124
  data: Uint8Array<any>;
1501
5125
  };
1502
- /** The hash a taker signs, as the program rebuilds it: sha256(mint | rule | deal | shares), Borsh. `offer` is the decoded Offer. */
1503
- export declare function offerTerms(offer: any): Uint8Array<ArrayBuffer>;
5126
+ /** What a taker signs: the offer's bytes but `left`, its last 2 (what a take changes). `offer`: the decoded Offer, or its
5127
+ * account's bytes. */
5128
+ export declare const offerTerms: (offer: any) => Uint8Array<ArrayBuffer>;
1504
5129
  /** What one take of a deal pays out of its offer's money: a bid's price, a loan's amount. */
1505
5130
  export declare const dealUnit: (deal: any) => bigint;
1506
5131
  /**
@@ -1587,23 +5212,26 @@ export declare function borrowIx({ borrower, project, id, offer, due, asset, col
1587
5212
  /**
1588
5213
  * Anyone (`payer`: the borrower, a friend) repays a loan before it is due (`hold` the decoded Hold, with its debt): the
1589
5214
  * debt's `repay` goes to the lender, and the NFT is the borrower's again. Only money moves: anyone then sends the NFT
1590
- * home with `releaseIx` (in the same transaction, or later: a repaid loan's release has no deadline). Free. `extra`: a
5215
+ * home with `releaseIx` (in the same transaction, or later: a repaid loan's release has no deadline). Free. `repay`: the
5216
+ * debt the payer was shown (`hold.debt.repay` as read): any other amount is refused (`TermsChanged`). `extra`: a
1591
5217
  * transfer hook's accounts.
1592
5218
  */
1593
- export declare function repayIx({ payer, project, hold, payerToken, programs, extra }: {
5219
+ export declare function repayIx({ payer, project, hold, repay, payerToken, programs, extra }: {
1594
5220
  extra?: never[] | undefined;
1595
5221
  hold: any;
1596
5222
  payer: any;
1597
5223
  payerToken: any;
1598
5224
  programs: any;
1599
5225
  project: any;
5226
+ repay: any;
1600
5227
  }): {
1601
5228
  programId: string;
1602
5229
  keys: any[];
1603
5230
  data: Uint8Array<any>;
1604
5231
  };
1605
- /** What a taker signs: sha256(maker | asset | mint | Borsh(ListingDeal) | Borsh(shares)). */
1606
- export declare function listingTerms(listing: any): Uint8Array<ArrayBuffer>;
5232
+ /** What a taker signs: the listing's bytes but `user`, `until` and `stopped` (bytes 129 to 170, what a rental changes).
5233
+ * `listing`: the decoded Listing, or its account's bytes. */
5234
+ export declare const listingTerms: (listing: any) => Uint8Array<ArrayBuffer>;
1607
5235
  /**
1608
5236
  * `maker` (any wallet, signing alone) lists an NFT they hold, of any kind (as `piece` takes it), for sale
1609
5237
  * (`deal: { Sell: { price } }`) or for rent (`{ Rent: { price, lasts, max_periods } }`: `price` a period of `lasts`