@xgamesfun/solana 0.20.1 → 0.25.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 (112) hide show
  1. package/README.md +95 -52
  2. package/bin/xsolana.mjs +23 -8
  3. package/examples/blind-forge.json +2 -4
  4. package/examples/coin-flip-arena.json +4 -12
  5. package/examples/duel-arena.json +1 -4
  6. package/examples/elements-set.json +2 -9
  7. package/examples/expedition-guild.json +1 -8
  8. package/examples/fair-presale.json +1 -3
  9. package/examples/guild-missions.json +3 -10
  10. package/examples/halving-seasons.json +4 -9
  11. package/examples/hero-trials.json +15 -6
  12. package/examples/holder-den.json +38 -0
  13. package/examples/holders-drop.json +105 -0
  14. package/examples/ideas.json +788 -788
  15. package/examples/match-predictions.json +24 -0
  16. package/examples/merge-2048.json +5 -5
  17. package/examples/nft-raffle.json +1 -0
  18. package/examples/pack-league.json +108 -0
  19. package/examples/paper-hands-farm.json +4 -16
  20. package/examples/partner-vault.json +20 -7
  21. package/examples/sacrifice-raffle.json +2 -10
  22. package/examples/shelter-fair.json +1 -0
  23. package/examples/stakers-draw.json +4 -15
  24. package/examples/star-fleet.json +1 -8
  25. package/examples/starforce.json +6 -6
  26. package/examples/stride-sneakers.json +164 -0
  27. package/examples/trade-in-shop.json +2 -3
  28. package/js/approve/details.mjs +122 -52
  29. package/js/approve/ed25519.mjs +5 -1
  30. package/js/approve/live-check.mjs +83 -26
  31. package/js/approve/page.html +217 -78
  32. package/js/approve/page.js +43 -15
  33. package/js/approve/server.mjs +290 -73
  34. package/js/chain/base58.js +7 -1
  35. package/js/chain/borsh.js +24 -11
  36. package/js/chain/bytes.js +11 -8
  37. package/js/chain/core.js +35 -7
  38. package/js/chain/curve.js +1 -1
  39. package/js/chain/lookup.js +124 -36
  40. package/js/chain/mint.js +6 -2
  41. package/js/chain/pda.js +2 -2
  42. package/js/chain/programs.js +6 -6
  43. package/js/chain/rpc.js +44 -16
  44. package/js/chain/token.js +13 -2
  45. package/js/chain/token2022.js +55 -16
  46. package/js/chain/tx.js +32 -22
  47. package/js/client/accounts.js +653 -131
  48. package/js/client/compressed.js +4 -3
  49. package/js/client/grant.js +267 -83
  50. package/js/client/idl/loot.js +1 -1
  51. package/js/client/idl/loot.json +2406 -2176
  52. package/js/client/index.js +1 -0
  53. package/js/client/ix.js +3059 -664
  54. package/js/client/pda.js +39 -33
  55. package/js/client/policy.js +52 -24
  56. package/js/client/random.js +70 -0
  57. package/js/client/sizes.js +414 -16
  58. package/js/client/traits.js +14 -5
  59. package/js/connect/connect.mjs +59 -17
  60. package/js/economy/check.mjs +4153 -725
  61. package/js/economy/cost.mjs +403 -64
  62. package/js/economy/examples.mjs +176 -35
  63. package/js/economy/explain.mjs +466 -111
  64. package/js/economy/guide.mjs +296 -72
  65. package/js/economy/legal.mjs +12 -6
  66. package/js/economy/live.mjs +83 -19
  67. package/js/economy/model.mjs +462 -124
  68. package/js/economy/plan.mjs +1306 -219
  69. package/js/economy/schema.json +390 -484
  70. package/js/economy/secrets.mjs +17 -7
  71. package/js/economy/simulate.mjs +883 -223
  72. package/js/economy/txsize.mjs +15 -3
  73. package/js/economy/validate.mjs +61 -24
  74. package/js/mcp/server.mjs +42 -14
  75. package/js/mcp/tools.mjs +307 -88
  76. package/js/play/index.js +2864 -619
  77. package/js/play/keys.js +193 -0
  78. package/js/results/index.js +223 -30
  79. package/js/results/server.js +230 -0
  80. package/js/results/wire.js +64 -16
  81. package/package.json +6 -4
  82. package/release.json +5 -5
  83. package/skills/xsolana-economy/SKILL.md +39 -21
  84. package/skills/xsolana-economy/references/after-launch.md +58 -38
  85. package/skills/xsolana-economy/references/apps.md +97 -50
  86. package/skills/xsolana-economy/references/sentence-to-spec.md +148 -121
  87. package/skills/xsolana-economy/references/telling-the-person.md +61 -17
  88. package/types/chain/core.d.ts +4 -2
  89. package/types/chain/lookup.d.ts +5 -2
  90. package/types/chain/rpc.d.ts +3 -1
  91. package/types/client/accounts.d.ts +217 -56
  92. package/types/client/grant.d.ts +72 -27
  93. package/types/client/idl/loot.d.ts +602 -549
  94. package/types/client/index.d.ts +1 -0
  95. package/types/client/ix.d.ts +3884 -247
  96. package/types/client/pda.d.ts +22 -16
  97. package/types/client/policy.d.ts +39 -14
  98. package/types/client/random.d.ts +26 -0
  99. package/types/client/sizes.d.ts +93 -5
  100. package/types/economy/check.d.mts +5 -10
  101. package/types/economy/cost.d.mts +2 -1
  102. package/types/economy/guide.d.mts +5 -0
  103. package/types/economy/live.d.mts +16 -1
  104. package/types/economy/model.d.mts +151 -38
  105. package/types/economy/plan.d.mts +237 -194
  106. package/types/economy/simulate.d.mts +21 -13
  107. package/types/mcp/tools.d.mts +21 -13
  108. package/types/play/index.d.ts +453 -53
  109. package/types/play/keys.d.ts +51 -0
  110. package/types/results/index.d.ts +7 -6
  111. package/types/results/server.d.ts +126 -0
  112. package/types/results/wire.d.ts +1 -1
@@ -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
  /**
@@ -242,7 +3574,7 @@ export declare const createProjectIx: ({ owner, id, authority, treasury, collect
242
3574
  * authority or treasury comes with the account at its key (`new_authority`, `new_treasury`), which the program checks
243
3575
  * as `createProjectIx`'s.
244
3576
  */
245
- export declare const updateProjectIx: ({ owner, project, authority, paused, treasury, collections, newOwner }: {
3577
+ export declare const updateProjectIx: ({ owner, project, authority, paused, treasury, collections, newOwner, }: {
246
3578
  authority?: null | undefined;
247
3579
  collections?: null | undefined;
248
3580
  newOwner?: null | undefined;
@@ -271,16 +3603,24 @@ 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 mint, the pot its terms pay from (which a write opens when it isn't open; pot 0's address for a lottery whose
3614
+ * rounds pay from their own money, where any account will do), its ticket mint, both token programs and the round it waits on
3615
+ * (`lotteryState`: the lottery as it is, null for a new one; `idleRound`: its current round's record, or round 0's once
3616
+ * it drew once and ended: a lottery made again, edited once ended or made to repeat waits while that round runs or
3617
+ * 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
3618
+ * names a box to roll later passes that box after (`boxesAccounts`), which must be written: a box is written before
3619
+ * anything names it (it may name itself).
280
3620
  */
281
- export declare function upsertIx({ owner, project, def: given, lottery }: {
3621
+ export declare function upsertIx({ owner, project, def: given, lotteryState }: {
282
3622
  def: any;
283
- lottery?: null | undefined;
3623
+ lotteryState?: null | undefined;
284
3624
  owner: any;
285
3625
  project: any;
286
3626
  }): {
@@ -290,14 +3630,15 @@ export declare function upsertIx({ owner, project, def: given, lottery }: {
290
3630
  };
291
3631
  /**
292
3632
  * The owner closes the record at `target`, and its rent comes back: a grant's with the funds it held. A lottery
293
- * (`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
+ * (`lottery`: its decoded record) sends what every pot it opened holds (`Lottery::pots`) to `to`, a token account of its
3634
+ * mint (the owner's own by default), and closes each, once its current round has no record (one that drew once and
3635
+ * ended: once its round 0 gave out every NFT of its own stash, `idleRound`), and once the round its `owing` names has
3636
+ * moved in what it owes its pot (pull it first, `Part::Common`). One that never opened a pot names only those rounds.
295
3637
  */
296
- export declare function closeRecordIx({ owner, project, target, lottery, schedule, programs, to, paymentTo, extra }: {
3638
+ export declare function closeRecordIx({ owner, project, target, lottery, schedule, programs, to, extra }: {
297
3639
  extra?: never[] | undefined;
298
3640
  lottery: any;
299
3641
  owner: any;
300
- paymentTo: any;
301
3642
  programs: any;
302
3643
  project: any;
303
3644
  schedule: any;
@@ -312,7 +3653,7 @@ export declare function closeRecordIx({ owner, project, target, lottery, schedul
312
3653
  * `player` (or a sponsor, or the project's own keys funding a pool) pays `amount` of `mint`, split at once by `shares`.
313
3654
  * The rest goes to the project's `treasury` wallet. The player opens any account this pays into that is not there.
314
3655
  */
315
- export declare function payIx({ player, project, mint, treasury, amount, shares, reference: ref, playerToken, holders, programs, extra }: {
3656
+ export declare function payIx({ player, project, mint, treasury, amount, shares, reference: ref, playerToken, holders, programs, extra, }: {
316
3657
  amount: any;
317
3658
  extra?: never[] | undefined;
318
3659
  holders: any;
@@ -335,17 +3676,19 @@ export declare function payIx({ player, project, mint, treasury, amount, shares,
335
3676
  * 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
3677
  * 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
3678
  * 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`).
3679
+ * item, the collectible, `chosen`) the buyer names for a share the box lets them choose. Every open asks the oracle,
3680
+ * even of a box with nothing random (which sells in one step with `buyIx`, when it rolls on no NFT).
340
3681
  * 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).
3682
+ * limits each wallet counts the purchase in the player's counts (`pda.counts`, its rent theirs).
342
3683
  */
343
- export declare function openBoxIx({ player, project, box, boxAddress, nonce, maxPrice, shown, listProof, subject, chosenRecipient, chosen, poolMints, playerToken, programs, extra }: {
3684
+ export declare function openBoxIx({ player, project, box, boxAddress, nonce, maxPrice, count, items, shown, listProof, subject, chosenRecipient, chosen, settler, poolMints, playerToken, programs, extra, }: {
344
3685
  box: any;
345
3686
  boxAddress: any;
346
3687
  chosen?: null | undefined;
347
3688
  chosenRecipient?: null | undefined;
3689
+ count?: number | undefined;
348
3690
  extra?: never[] | undefined;
3691
+ items?: {} | undefined;
349
3692
  listProof: any;
350
3693
  maxPrice: any;
351
3694
  nonce: any;
@@ -354,6 +3697,7 @@ export declare function openBoxIx({ player, project, box, boxAddress, nonce, max
354
3697
  poolMints: any;
355
3698
  programs: any;
356
3699
  project: any;
3700
+ settler?: string | undefined;
357
3701
  shown: any;
358
3702
  subject: any;
359
3703
  }): {
@@ -362,20 +3706,22 @@ export declare function openBoxIx({ player, project, box, boxAddress, nonce, max
362
3706
  data: Uint8Array<any>;
363
3707
  };
364
3708
  /**
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.
3709
+ * Buys `count` of a box that needs no roll (one entry, nothing random, no NFT to roll on: `boxRolls` false and no
3710
+ * subject) in one instruction, any number of draws each (a fixed pack): each at the price the one before it left, all
3711
+ * within `maxPrice` (the price times `count` when not given: pass the sum for a box whose price rises with each sale).
3712
+ * 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
3713
+ * tokens once, the whole of every draw's, and every other prize once for each draw of each sale, its accounts repeated
3714
+ * (`prizeMetas`: `items` maps an item's id to its decoded Item, `poolMints` a pool's index to its mint, `nfts` an NFT a
3715
+ * prize names to its kind). No order. A prize that can't be given refuses the purchase. `treasury` is the project's
3716
+ * treasury wallet; `holders` maps a collectible a share pays to its holder; each roll the entry gives is made at the
3717
+ * next nonce from `nonce` (`buyRolls`). `shown`/`listProof` pass the box's gate.
372
3718
  */
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 }: {
3719
+ export declare function buyIx({ player, project, box, boxAddress, maxPrice, count, treasury, chosenRecipient, chosen, nonce, shown, listProof, items, poolMints, nfts, holders, playerToken, programs, extra, }: {
374
3720
  box: any;
375
3721
  boxAddress: any;
376
- boxes?: {} | undefined;
377
3722
  chosen?: null | undefined;
378
3723
  chosenRecipient?: null | undefined;
3724
+ count?: number | undefined;
379
3725
  extra?: never[] | undefined;
380
3726
  holders: any;
381
3727
  items?: {} | undefined;
@@ -388,7 +3734,6 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
388
3734
  poolMints?: {} | undefined;
389
3735
  programs: any;
390
3736
  project: any;
391
- rollPools?: any;
392
3737
  shown: any;
393
3738
  treasury: any;
394
3739
  }): {
@@ -396,6 +3741,16 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
396
3741
  keys: any[];
397
3742
  data: Uint8Array<any>;
398
3743
  };
3744
+ /**
3745
+ * 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
3746
+ * fixed amount of tokens once (`times` the box's draws × `count`), any other prize once for each of those draws. `k`
3747
+ * counts the gives: a roll given at `k` is made at the buy's `nonce + k` (its order at `prizeRollNonce` of it).
3748
+ */
3749
+ export declare function buyGives(box: any, count?: number): {
3750
+ prize: any;
3751
+ k: number;
3752
+ times: number;
3753
+ }[];
399
3754
  /**
400
3755
  * The oracle's answer to a box order (for a local simulation: on chain MagicBlock's oracle sends it). The accounts
401
3756
  * are the ones `open_box` handed the oracle: the order, the box, the roll's ticket (named by its first ask,
@@ -404,10 +3759,11 @@ export declare function buyIx({ player, project, box, boxAddress, maxPrice, trea
404
3759
  * for a prize in a mint with a transfer hook, the hook's accounts (`extra`). The buyer's odds boosts were fixed at
405
3760
  * purchase.
406
3761
  */
407
- export declare function callbackRollIx({ order, orderState, box, boxAddress, randomness, project, poolMints, programs, extra }: {
3762
+ export declare function callbackRollIx({ order, orderState, box, boxAddress, randomness, project, poolMints, items, programs, extra, }: {
408
3763
  box: any;
409
3764
  boxAddress: any;
410
3765
  extra?: never[] | undefined;
3766
+ items?: {} | undefined;
411
3767
  order: any;
412
3768
  orderState: any;
413
3769
  poolMints: any;
@@ -421,20 +3777,40 @@ export declare function callbackRollIx({ order, orderState, box, boxAddress, ran
421
3777
  };
422
3778
  /**
423
3779
  * 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
3780
+ * Item the item; for a collectible (`items[id]` its decoded Item), its collection, its address, Metaplex Core;
3781
+ * for a fresh one (`drawn` set), then the table of each of its table traits
425
3782
  * Tokens the mint, the project's vault for it, the player's account of it (`prizeTo`, when given)
426
3783
  * 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`)
3784
+ * Compressed the item, the tree's config, the tree, the collection, Bubblegum's programs; for a fresh one, then its
3785
+ * tables and the Sheet of the NFT it mints
428
3786
  */
429
- export declare function wonAccounts({ orderAddress, order, items, nfts, prizeTo, putBack, programs }: {
3787
+ export declare function wonAccounts({ order, items, nfts, prizeTo, putBack, programs, from, upto, tree, treeMinted, unminted, }: {
3788
+ from?: number | undefined;
430
3789
  items?: {} | undefined;
431
3790
  nfts?: {} | undefined;
432
3791
  order: any;
433
- orderAddress: any;
434
3792
  prizeTo: any;
435
3793
  programs: any;
436
3794
  putBack?: never[] | undefined;
3795
+ tree: any;
3796
+ treeMinted?: bigint | undefined;
3797
+ unminted?: never[] | undefined;
3798
+ upto?: any;
437
3799
  }): any;
3800
+ /** The calls a transaction may make, its own instructions and every call inside them (Solana's instruction trace). */
3801
+ export declare const TRACE_LIMIT = 64;
3802
+ /** The calls one prize makes when a settle hands it over, measured on the program (`tests/limits.rs`): a collectible's
3803
+ * mint by Core (4, so 14 a transaction), a compressed one's by Bubblegum (5) and with its Sheet (7), tokens (2), an NFT
3804
+ * moved (3). `items` maps an item's id to its decoded Item (a normal item makes none). */
3805
+ export declare function prizeCalls(won: any, items?: {}): 0 | 2 | 3 | 4 | 5 | 7;
3806
+ /** Where a settle part that starts at `from` ends: as many of the order's prizes as fit the instruction trace (an
3807
+ * NFT's move asks for the bigger heap, so at most three a part). Each part is its own transaction; anyone sends any. */
3808
+ export declare function settlePartEnd(order: any, from?: number, items?: {}): number;
3809
+ /** How many draws one open of `box` makes: its slots' counts, or one. */
3810
+ export declare const boxDraws: (box: any) => any;
3811
+ /** How many settle parts an order of `opens` opens of `box` takes at most: each card, at its most calls, and with
3812
+ * shares one more (the first call splits the payment, alone when no prize fits beside its shares: `upto` 0). */
3813
+ export declare function settleParts(box: any, opens?: number): number;
438
3814
  /** The heap a settle that moves three or more NFTs asks for (`settleHeapFrame`): all a transaction may have, 256 KiB. */
439
3815
  export declare const LARGE_SETTLE_HEAP: number;
440
3816
  /**
@@ -458,18 +3834,26 @@ export declare const MAX_COMPUTE_UNITS = 1400000;
458
3834
  * them). A limit costs nothing more when no priority fee is set.
459
3835
  */
460
3836
  export declare function settleComputeUnits(order: any): 800000 | 1400000;
3837
+ /** `settle`'s `upto` for its last part: past the end of any order. The last part gives what is left, pays back the share
3838
+ * of the draws the roll didn't make, carries out the roll on an NFT and closes the order. */
3839
+ export declare const SETTLE_LAST = 4294967295;
461
3840
  /**
462
3841
  * 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 }: {
3842
+ * backend delivering a normal item from the receipt; tokens from the project's vault; an NFT taken out of its stash),
3843
+ * 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
3844
+ * the settle opens or mints (Core assets, token accounts, Sheets, a stash's row, the fate's writes: the order lends
3845
+ * nothing, `settleRent`). `order` is the decoded Order; `projectState` the decoded Project; `items` and `nfts` as
3846
+ * `wonAccounts` takes them. `putBack`: NFTs won that the player, signing, puts back into their stash in place of taking
3847
+ * them (one its collection won't let move). `handBack`: the wallet the box's fate gives the NFT rolled on to
3848
+ * (`receiverOf`) is an account of the loot program (`handsBack` of it as read), so the program gives it back to the
3849
+ * player, and a Token Metadata NFT's `token` is the player's. `extra`: a hook's or a memo's accounts.
3850
+ *
3851
+ * `upto`, the part (`settle.rs`): `SETTLE_LAST` (the default, past the end) is the last part, all that is left (maybe
3852
+ * nothing); 0 gives no prize and only splits the payment; any other gives the prizes from where the last part stopped
3853
+ * (`settled`) up to it, and nothing more. The first call, whichever it is, splits the payment (its shares' accounts
3854
+ * ride on it).
3855
+ */
3856
+ export declare function settleIx({ signer, orderAddress, order, projectState, items, nfts, prizeTo, putBack, subject, handBack, holders, programs, upto, tree, treeMinted, unminted, extra, }: {
473
3857
  extra?: never[] | undefined;
474
3858
  handBack?: boolean | undefined;
475
3859
  holders: any;
@@ -483,6 +3867,10 @@ export declare function settleIx({ signer, orderAddress, order, projectState, it
483
3867
  putBack: any;
484
3868
  signer: any;
485
3869
  subject: any;
3870
+ tree: any;
3871
+ treeMinted: any;
3872
+ unminted: any;
3873
+ upto?: number | undefined;
486
3874
  }): {
487
3875
  programId: string;
488
3876
  keys: any[];
@@ -505,8 +3893,9 @@ export declare const INCINERATOR = "1nc1nerator11111111111111111111111111111111"
505
3893
  /**
506
3894
  * Gives an order's payment back to its player, into their account of the mint (`signer`, anyone, opens it when it is
507
3895
  * 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.
3896
+ * (`orderRefundable`). A purchase counted against a box's limit for each
3897
+ * wallet is given back. A purchase that counts its draws in its box's `in_flight` (`order.reserved`, a box that stops
3898
+ * selling when an entry runs out) names the box, whose count it leaves. `extra`: a hook's or a memo's accounts.
510
3899
  */
511
3900
  export declare function refundIx({ signer, orderAddress, order, subject, programs, extra }: {
512
3901
  extra?: never[] | undefined;
@@ -521,36 +3910,44 @@ export declare function refundIx({ signer, orderAddress, order, subject, program
521
3910
  data: Uint8Array<any>;
522
3911
  };
523
3912
  /**
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.
3913
+ * 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`
3914
+ * Waiting): the box's roll accounts, as `openBoxIx` passes them (`items` maps an item a prize names to its decoded
3915
+ * Item, for a fresh one's tables). It lands in `callback_roll`. Returns a list of instructions: first `payer` opens the
3916
+ * project's vault for each prize mint when it is not there (idempotent; the program refuses the ask without them,
3917
+ * since tokens won wait there), then the ask. A box with nothing in stock is refused (`SoldOut`) unless the order's own
3918
+ * 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
3919
+ * the same transaction fails whole on an empty box, and the player keeps what the route took. The player's own ask on
3920
+ * an empty box ends the roll there, with no oracle: rolled with nothing (an NFT it holds goes home as it was), or failed
3921
+ * for its refund when its winner paid for it (an auction's roll lot). An answer that finds nothing at all in stock puts
3922
+ * a free roll back to waiting (`Waiting`), for a restock or for its player to end it so. Once asked, every later ask
3923
+ * comes in a later slot than the last (`SameSlot`, `rollAskable`).
528
3924
  */
529
- export declare function askRollIx({ payer, orderAddress, order, box, poolMints, programs }: {
3925
+ export declare function askRollIx({ payer, orderAddress, order, box, settler, poolMints, items, programs }: {
530
3926
  box: any;
3927
+ items?: {} | undefined;
531
3928
  order: any;
532
3929
  orderAddress: any;
533
3930
  payer: any;
534
3931
  poolMints: any;
535
3932
  programs: any;
3933
+ settler?: string | undefined;
536
3934
  }): {
537
3935
  programId: string;
538
3936
  keys: any[];
539
3937
  data: Uint8Array<any>;
540
3938
  }[];
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
3939
  /**
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.
3940
+ * The authority moves the project's tokens: `from` { Pool: [i] }, { Mint: [mint] } (newly minted) or { Farm: [id] } (what
3941
+ * that farm's rewards vault holds free, beyond what it owes its seats: a fixed amount; `farm`: the farm decoded, so its
3942
+ * record of ends comes when it keeps one), `to` a pool, a wallet, an account, the treasury (`treasury`, the project's
3943
+ * wallet), a collectible's holder or 'Burn', `amount` { Fixed: [n] } or { Bps: [bps] } of a pool. The authority opens the
3944
+ * account it pays into when it is not there; a collectible nobody holds gets nothing.
549
3945
  */
550
- export declare function moveTokensIx({ authority, project, mint, from, to, amount, reference: ref, holders, programs, treasury, extra }: {
3946
+ export declare function moveTokensIx({ authority, project, mint, from, to, amount, reference: ref, holders, programs, treasury, farm, extra, }: {
551
3947
  amount: any;
552
3948
  authority: any;
553
3949
  extra?: never[] | undefined;
3950
+ farm?: null | undefined;
554
3951
  from: any;
555
3952
  holders: any;
556
3953
  mint: any;
@@ -565,19 +3962,20 @@ export declare function moveTokensIx({ authority, project, mint, from, to, amoun
565
3962
  data: Uint8Array<any>;
566
3963
  };
567
3964
  /**
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.
3965
+ * The authority rewrites or burns a collectible, or writes a wallet's profile. `change`: { Set: [attributes] }, 'Burn'
3966
+ * (`owner`: whoever holds it, who gets its rent) or { Profile: [attributes] } (`asset` the wallet). `collection`: for a
3967
+ * Burn the project's; for a Set the asset's own (`MPL_CORE_PROGRAM` for one in none). `hasAuthority` false for a `Set`
3968
+ * on an NFT the project has no authority over (a Core asset of another collection, or a Token Metadata NFT's mint):
3969
+ * what it writes goes in the NFT's Sheet, or on the NFT itself when its Attributes plugin names the project. A `Make`
3970
+ * goes to `makeIx`.
573
3971
  */
574
- export declare function collectibleIx({ authority, project, collection, asset, change, item, owner, hasAuthority, reference: ref }: {
3972
+ export declare function collectibleIx({ authority, project, collection, asset, change, owner, hasAuthority, reference: ref, ...make }: {
3973
+ [x: string]: any;
575
3974
  asset: any;
576
3975
  authority: any;
577
3976
  change: any;
578
3977
  collection: any;
579
3978
  hasAuthority?: boolean | undefined;
580
- item?: null | undefined;
581
3979
  owner?: null | undefined;
582
3980
  project: any;
583
3981
  reference: any;
@@ -586,57 +3984,88 @@ export declare function collectibleIx({ authority, project, collection, asset, c
586
3984
  keys: any[];
587
3985
  data: Uint8Array<any>;
588
3986
  };
3987
+ /**
3988
+ * The authority makes one of item `item` (`itemState`: its decoded Item, for its collection and next serial) for each
3989
+ * of `owners`, in serial order (an owner may come more than once), with `attributes` written over the program's own: a
3990
+ * collectible at `pda.itemAsset(item, serial)` (`madeAssets` says which), or with `tree`, a compressed NFT minted into
3991
+ * that tree of the project's (no attributes: they go in its Sheet). A switched-off item still makes; one sold out
3992
+ * refuses the whole call (`PrizeNotCovered`).
3993
+ */
3994
+ export declare function makeIx({ authority, project, item, itemState, owners, attributes, tree, reference: ref }: {
3995
+ attributes?: never[] | undefined;
3996
+ authority: any;
3997
+ item: any;
3998
+ itemState: any;
3999
+ owners: any;
4000
+ project: any;
4001
+ reference: any;
4002
+ tree?: null | undefined;
4003
+ }): {
4004
+ programId: string;
4005
+ keys: any[];
4006
+ data: Uint8Array<any>;
4007
+ };
4008
+ /** The collectibles a `makeIx` of `count` mints (not compressed): at the item's next serials. */
4009
+ export declare const madeAssets: (project: any, item: any, itemState: any, count?: number) => any[];
589
4010
  /**
590
4011
  * A held NFT goes to `to`: the authority's choice while the hold runs, home to its player (anyone) after; a repaid
591
4012
  * loan's home (anyone, whenever), an unpaid one's to its lender once due. `hold` is the
592
4013
  * 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
4014
+ * hold; `address` names it when its `free_at` changed since (a repaid loan's is 0, at the address its loan named). The
4015
+ * NFT is any kind
594
4016
  * (`piece`): `asset` and `collection` for a Core asset, with `tokenMetadata` for a Token Metadata NFT, or `compressed`
595
4017
  * (after a `proveLeafIx`).
596
4018
  */
597
- export declare function releaseIx({ signer, project, collection, asset, tokenMetadata: tm, compressed, hold, to, reference: ref }: {
4019
+ export declare function releaseIx({ signer, project, collection, asset, tokenMetadata: tm, compressed, hold, address, to, treasury, reference: ref, more, }: {
4020
+ address?: null | undefined;
598
4021
  asset: any;
599
4022
  collection: any;
600
4023
  compressed: any;
601
4024
  hold: any;
4025
+ more?: never[] | undefined;
602
4026
  project: any;
603
4027
  reference: any;
604
4028
  signer: any;
605
4029
  to: any;
606
4030
  tokenMetadata: any;
4031
+ treasury: any;
607
4032
  }): {
608
4033
  programId: string;
609
4034
  keys: any[];
610
4035
  data: Uint8Array<any>;
611
4036
  };
612
4037
  /**
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
4038
+ * The authority opens contest `id` in `mint` (`projectState`: the decoded Project, whose next incarnation names the
4039
+ * contest's list of entries). `args`: { sides, closes_at, result_by, shares, gate, deciders, min_pot, stake, prize, nft,
4040
+ * prize_split, cap }: `prize`, what each winning entry gets with its first claim (`prizeMetas`); `nft`, a rule an NFT
4041
+ * each entry stakes passes, in place of tokens (no shares then, no stake: the NFTs are the pot), each winner sharing the
4042
+ * losers' NFTs, at most `cap` each (null: no cap). With `args.prize_split`, its token prize is set aside whole when it
4043
+ * is decided, in the contest's own vault (`pda.prizeVault`, opened now at the authority's rent), and each winning entry
618
4044
  * takes its part by what it put in: `prizeMint` names the prize's mint when it comes from a pool.
619
4045
  */
620
- export declare const openContestIx: ({ authority, project, id, mint, args, prizeMint }: {
4046
+ export declare const openContestIx: ({ authority, project, projectState, id, mint, args, prizeMint }: {
621
4047
  args: any;
622
4048
  authority: any;
623
4049
  id: any;
624
4050
  mint: any;
625
4051
  prizeMint: any;
626
4052
  project: any;
4053
+ projectState: any;
627
4054
  }) => {
628
4055
  programId: string;
629
4056
  keys: any[];
630
4057
  data: Uint8Array<any>;
631
4058
  };
4059
+ /** A contest's list of entries, from its decoded Contest. */
4060
+ export declare const contestEntries: (contestAddress: any, contest: any) => any;
632
4061
  /** The prefix of a contest's verdict (`verdictBytes`). */
633
- export declare const VERDICT_DOMAIN = "loot-verdict-v3";
4062
+ export declare const VERDICT_DOMAIN = "loot-verdict-v4";
634
4063
  /**
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.
4064
+ * The bytes a contest's decider key signs: "loot-verdict-v4" | sha256(program (32) | contest (32) | incarnation (u64
4065
+ * LE) | side (u16 LE; 65535 calls it off) | expires (i64 LE), then | recipient (32) when the verdict names the wallet
4066
+ * the contest's chosen share pays). `incarnation` is the contest's (the decoded Contest's), so a verdict decides only
4067
+ * the contest it was signed for, never one opened later at the same id. `decide` rebuilds them from its own accounts
4068
+ * and arguments.
640
4069
  */
641
4070
  export declare function verdictBytes({ program, contest, incarnation, side, expires, recipient }: {
642
4071
  contest: any;
@@ -650,12 +4079,13 @@ export declare function verdictBytes({ program, contest, incarnation, side, expi
650
4079
  * Names the side that won (`side`), or calls the contest off (`side: null`). `signer` is the authority; or anyone
651
4080
  * sending a decider's verdict (`verdict: { expires }`, taken once entries have closed): then this instruction goes
652
4081
  * 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
4082
+ * `signer` pays the fee, as the authority does. A contest that is off by itself (overdue) needs no decision, and takes
4083
+ * none (`ResultOverdue`): `claim` closes it. The contest's incarnation names it, so a
654
4084
  * decision sent late never decides a contest opened later at the same id. A call-off takes no share accounts. A
655
4085
  * contest with a chosen share is decided naming its `recipient`, a wallet (a bounty's worker); a decider's verdict
656
4086
  * signs it too (`verdictBytes`).
657
4087
  */
658
- export declare function decideIx({ signer, project, projectState, contestAddress, contest, side, recipient, verdict, reference: ref, holders, prizeMint, programs, extra }: {
4088
+ export declare function decideIx({ signer, project, projectState, contestAddress, contest, side, recipient, verdict, reference: ref, holders, prizeMint, programs, extra, }: {
659
4089
  contest: any;
660
4090
  contestAddress: any;
661
4091
  extra?: never[] | undefined;
@@ -699,10 +4129,12 @@ export declare const callbackRandomIx: ({ project, reference: ref, randomness }:
699
4129
  data: Uint8Array<any>;
700
4130
  };
701
4131
  /**
702
- * Anyone (`payer`) runs a schedule that is due, and opens the account it pays into when that is not there.
4132
+ * The project's keys or who it pays (`payer`; a sealed burn: anyone) run a schedule that is due, and open the account it
4133
+ * 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
4134
+ * lapse; only a sealed schedule's fixed amount pays every run due, up to `upto` runs made (`scheduleCatchesUp`).
703
4135
  * `poolMint`: the mint of the pool it moves from (when it moves from one). `extra`: a hook's or a memo's accounts.
704
4136
  */
705
- export declare function runScheduleIx({ payer, project, id, schedule, poolMint, holders, programs, treasury, extra }: {
4137
+ export declare function runScheduleIx({ payer, project, id, schedule, poolMint, holders, programs, treasury, upto, extra, }: {
706
4138
  extra?: never[] | undefined;
707
4139
  holders: any;
708
4140
  id: any;
@@ -712,61 +4144,81 @@ export declare function runScheduleIx({ payer, project, id, schedule, poolMint,
712
4144
  project: any;
713
4145
  schedule: any;
714
4146
  treasury: any;
4147
+ upto?: number | undefined;
715
4148
  }): {
716
4149
  programId: string;
717
4150
  keys: any[];
718
4151
  data: Uint8Array<any>;
719
4152
  };
720
- export declare const lotteryPaymentMint: (lottery: any) => any;
4153
+ /** The address of a lottery's current round's record (there or not), from its decoded Lottery. */
4154
+ export declare const currentRound: (lotteryAddress: any, lottery: any) => any;
721
4155
  /**
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).
4156
+ * `player` buys `count` tickets of lottery `id`'s current round (`lottery` decoded; `round` its decoded record, null when
4157
+ * nobody bought into it yet: then this purchase opens it, and the lottery's spare SOL pays its rent, or the buyer fronts
4158
+ * it, back at the close). It buys only at the revision the round copied (`TermsChanged` otherwise), and its round's
4159
+ * address names the lottery's incarnation and round (a purchase that lands as the round moves on fails, and is sent
4160
+ * again). A share the buyer chooses is paid now, out of the price, from the buyer's own account: to the wallet they name
4161
+ * (`chosenRecipient`), the holder of the collectible `chosen` (its holder in `holders`), or with no choice the project's
4162
+ * `treasury` wallet. A lottery whose ticket costs an NFT sells one at a time, for `nft` ({ asset, collection,
4163
+ * tokenMetadata, compressed }, as `piece` takes it).
729
4164
  */
730
- export declare function buyTicketsIx({ player, project, id, lottery, mint, count, nonce, shown, listProof, chosenRecipient, chosen, nft, playerToken, programs, extra }: {
4165
+ export declare function buyTicketsIx({ player, project, id, lottery, round, mint, count, shown, listProof, chosenRecipient, chosen, nft, holders, treasury, playerToken, programs, extra, }: {
731
4166
  chosen?: null | undefined;
732
4167
  chosenRecipient?: null | undefined;
733
4168
  count: any;
734
4169
  extra?: never[] | undefined;
4170
+ holders?: {} | undefined;
735
4171
  id: any;
736
4172
  listProof: any;
737
4173
  lottery: any;
738
4174
  mint: any;
739
4175
  nft: any;
740
- nonce: any;
741
4176
  player: any;
742
4177
  playerToken: any;
743
4178
  programs: any;
744
4179
  project: any;
4180
+ round?: null | undefined;
745
4181
  shown: any;
4182
+ treasury: any;
746
4183
  }): {
747
4184
  programId: string;
748
4185
  keys: any[];
749
4186
  data: Uint8Array<any>;
750
4187
  };
751
- /** Anyone asks for a lottery's draw once it is due. */
752
- export declare const drawLotteryIx: ({ payer, project, id }: {
4188
+ /**
4189
+ * Anyone asks for the draw of a lottery's round once it is due (`lottery` decoded). `round`: the decoded record of the
4190
+ * round asked for (null when nobody bought into the current one: it moves on, or a lottery that draws once ends, with
4191
+ * no ask), and `roundAddress` its address when it is not the current round's (an older round still waiting for its
4192
+ * answer: asked again after `STALE_SECONDS`, or after the timeout cancelled, with no lottery account, so `lottery` may be
4193
+ * null then; without `round`, the current round's, with the lottery's terms). A round's first ask fixes its money. Paid
4194
+ * from a pot, it takes the pot, its mint and the round's account of it, then, when the lottery names a round that may
4195
+ * still owe a pot (`lottery.owing`), that round, its account of the mint and its pot (`owing`: that round's decoded
4196
+ * record, whose terms name its pot; without it, or when the record is gone, the pot this round pays from). A round paid
4197
+ * from its own money takes none of these. Then each run of token prizes in place order, its mint and for a pool, the
4198
+ * pool and the round's account of the mint (`poolMints`: a pool's index to its mint). With `skipHooked` (the project's
4199
+ * authority only) a hooked pool or pot gives the round nothing. `extra`: hook accounts.
4200
+ */
4201
+ export declare function drawLotteryIx({ payer, project, id, lottery, round, roundAddress, owing, skipHooked, poolMints, extra, }: {
4202
+ extra?: never[] | undefined;
753
4203
  id: any;
4204
+ lottery: any;
4205
+ owing?: null | undefined;
754
4206
  payer: any;
4207
+ poolMints?: {} | undefined;
755
4208
  project: any;
756
- }) => {
4209
+ round?: null | undefined;
4210
+ roundAddress?: null | undefined;
4211
+ skipHooked?: boolean | undefined;
4212
+ }): {
757
4213
  programId: string;
758
4214
  keys: any[];
759
4215
  data: Uint8Array<any>;
760
4216
  };
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;
4217
+ /** The oracle's answer to a round's draw (for a local simulation): the round's record is its only account. */
4218
+ export declare const callbackLotteryIx: ({ round, randomness }: {
768
4219
  randomness: any;
769
- }): {
4220
+ round: any;
4221
+ }) => {
770
4222
  programId: string;
771
4223
  keys: {
772
4224
  pubkey: any;
@@ -775,61 +4227,89 @@ export declare function callbackLotteryIx({ project, id, lottery, askedFirst, ra
775
4227
  }[];
776
4228
  data: Uint8Array<any>;
777
4229
  };
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;
4230
+ /** The accounts a round's close takes after a pull's own: each of its token accounts, its mint and who opened it (the
4231
+ * lottery, which gets its spare back, or a buyer who fronted it; `owner` for one the lottery opened, once it is closed). */
4232
+ export declare const roundCloseMetas: (key: any, r: any, owner?: null) => any;
4233
+ /** The NFT a raffle's place draws from the lottery's own stash (`stash` decoded, as it is now) with the round's answer. */
4234
+ export declare const raffledNft: (stash: any, answer: any, place: any) => any;
4235
+ /**
4236
+ * 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
4237
+ * pulls take them out (`LotteryRound::assign`): the ones already taken out (`r.nfts`), then the rest as the stash
4238
+ * (`stash`, decoded as it is now) gives them, a named one found or one drawn by weight with the round's answer, each
4239
+ * taken out before the next. null for a place whose NFT isn't there (it gets nothing).
4240
+ */
4241
+ export declare function stashNfts(r: any, stash: any): any;
4242
+ /**
4243
+ * Anyone (`payer`) pulls `part` of the round at `roundAddress` (`round` decoded; `partsOwed` and `commonOwed` say what is
4244
+ * owed):
4245
+ * 'Own' entry `entry`'s own part: a refund, a no-loss ticket's price, or its NFT ticket back or where its
4246
+ * price sends it (`ticket` its kind as `piece` takes it; `handBack` when the wallet its price gives
4247
+ * it to is an account of the loot program; `hold`: made a hold for whoever it is owed to instead);
4248
+ * { Pot: [run] } the entry's places in the run, their part of what the round pays from, paid into the buyer's account;
4249
+ * { Prize: [run] } their prize: tokens into the buyer's account, or each place's prize (`prize`: { stash, the lottery's
4250
+ * own stash decoded, for NFTs not taken out yet (`stashNfts`); stashes, a project stash's id to its
4251
+ * decoded stash; nfts, an NFT's kind by its asset; hold, NFTs made holds; most, the most places a
4252
+ * pull carries; and what `prizeMetas` takes: collection, poolMints, items, projectMint }), a roll's
4253
+ * order at `prizeRollNonce(nonce + place)` (ask it in the same transaction: `pullRolls`);
4254
+ * { Common: [i] } a part owed in common: share `i`, what the places leave (`i` = the shares' count: to the pot, or
4255
+ * to `rest` for a round paid from its own money; never owed when that burns), a pool's prize back after a
4256
+ * cancel (past it), paid where it goes (`holders`, `programs`); `toTreasury` when that can't take it
4257
+ * (a pool never opened, the pot closed since or made again in another mint, an account gone: a
4258
+ * holder nobody is is found here).
4259
+ * The pull that leaves nothing owed closes the round (`projectState`: its treasury and owner; `lotteryClosed` when the
4260
+ * lottery is gone, so rent it lent goes to the owner). A round that owes nothing and waits only for its close is closed
4261
+ * by any pull.
4262
+ */
4263
+ export declare function pullIx({ payer, project, roundAddress: key, round: r, entry, part, projectState, ticket, handBack, hold, nonce, prize, holders, toTreasury, lotteryClosed, programs, extra, }: {
4264
+ entry?: number | undefined;
806
4265
  extra?: never[] | undefined;
807
4266
  handBack?: boolean | undefined;
808
- id: any;
809
- items: any;
810
- lottery: any;
811
- nfts?: {} | undefined;
812
- nonce: any;
4267
+ hold?: boolean | undefined;
4268
+ holders?: {} | undefined;
4269
+ lotteryClosed?: boolean | undefined;
4270
+ nonce?: bigint | undefined;
4271
+ part?: string | undefined;
813
4272
  payer: any;
814
- poolMints: any;
4273
+ prize?: {} | undefined;
815
4274
  programs: any;
816
4275
  project: any;
4276
+ projectState: any;
4277
+ round: any;
4278
+ roundAddress: any;
817
4279
  ticket?: {} | undefined;
818
- treasury: any;
4280
+ toTreasury?: boolean | undefined;
819
4281
  }): {
820
4282
  programId: string;
821
4283
  keys: any[];
822
4284
  data: Uint8Array<any>;
823
4285
  };
4286
+ /** The orders the rolls a `{ Prize: [run] }` pull of entry `entry` makes (a place's prize that is a roll), each with its
4287
+ * box: [{ order, box }], at `prizeRollNonce(nonce + place)` for the entry's buyer. Ask each in the pull's transaction. */
4288
+ export declare function pullRolls({ project, round: r, entry, part, nonce }: {
4289
+ entry: any;
4290
+ nonce?: bigint | undefined;
4291
+ part: any;
4292
+ project: any;
4293
+ round: any;
4294
+ }): {
4295
+ order: any;
4296
+ box: any;
4297
+ }[];
824
4298
  /**
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.
4299
+ * The owner opens farm `id`: of `stakedMint`'s tokens, or of collectibles when it is null. Its rewards are `rewardsMint`'s,
4300
+ * in its own rewards vault (`pda.rewards(farm)`), which anything funds by a plain transfer (a share or a schedule paying
4301
+ * `{ Account: [vault] }`): all that lands there, shared, or with `args.rate` ({ per_day, mints, shared, halve_every }) a
4302
+ * fixed rate, for each seat at x1 or with `shared` the whole farm's shared by weight, halving every `halve_every`
4303
+ * seconds from the farm's opening (0: never), minted when a seat is paid or paid from what the vault holds free while it
4304
+ * lasts (a rate of 0 pays nothing: a farm that only grows or gives prizes). `args.gates`: the rules an NFT must all
4305
+ * pass. `args.growth`: any number of { key, per_day, level, steps, streak, profile, at_least }, each writing points (and
4306
+ * a level) on what is staked, or with `profile` on the staker's profile (a token seat only while it stakes `at_least`);
4307
+ * a tier's `earns_for`: seconds a seat earns and grows after its lock started (0: no end). `args.ends_at`: when it ends
4308
+ * (0: never). For a farm of collectibles, `args.lock_key`: the attribute a staked NFT's lock is written under, as the
4309
+ * time it ends, so recipes and rolls can move it; `args.upkeep_key`: the attribute that says until when it earns and
4310
+ * grows (fuel). Empty: none. `args.exit_to`: where early-exit fees go, 'Burn', { Pool: [index] } or 'Rewards' (the
4311
+ * farm's own vault: a farm whose staked token is its rewards'). A farm whose seats can stop earning and that pays keeps a
4312
+ * record of when (`farmKeepsEnds`, `pda.ends`), made here at the owner's rent; each new time costs its writer `END_BYTES`.
833
4313
  */
834
4314
  export declare const openFarmIx: ({ owner, project, id, args, rewardsMint, stakedMint }: {
835
4315
  args: any;
@@ -844,9 +4324,66 @@ export declare const openFarmIx: ({ owner, project, id, args, rewardsMint, stake
844
4324
  data: Uint8Array<any>;
845
4325
  };
846
4326
  /**
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.
4327
+ * Whether a farm with these args keeps a record of when its seats stop earning (`Farm::keeps_ends`): a tier has a term
4328
+ * (`earns_for`) or the farm reads an upkeep (`upkeep_key`), and it pays something (no rate, or a rate above 0). The farm
4329
+ * and every move of it then pass the record (`WrongEnds` otherwise).
4330
+ */
4331
+ export declare const farmKeepsEnds: (args: any) => any;
4332
+ /**
4333
+ * What a farm has to walk (`Farm::walk`): the times of its record of ends (`ends`, from `decodeEnds`; an empty list for none)
4334
+ * 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
4335
+ * little compute, so a farm idle past many ends may leave a move no room: `farmNeedsWalk`.
4336
+ */
4337
+ export declare function endsToWalk(farm: any, ends: any, now: any): any;
4338
+ /** How many ends `walk_farm` walks in one transaction at `WALK_COMPUTE_UNITS`: an end takes at most some 2,300 units, with a
4339
+ * halving rate (`js/test/farm-ends.test.mjs` measures it). */
4340
+ export declare const WALK_PER_TX = 500;
4341
+ /** The compute units a transaction that walks ends asks for: `walk_farm`, or a move with ends to walk first. */
4342
+ export declare const WALK_COMPUTE_UNITS = 1400000;
4343
+ /** How many ends a move can walk first at `WALK_COMPUTE_UNITS` and still do its own work: past this, the farm is walked
4344
+ * first (`farmNeedsWalk`). */
4345
+ export declare const MOVE_WALK_ROOM = 400;
4346
+ /**
4347
+ * Whether a farm has passed more ends than a move can walk in its own transaction (`endsToWalk`, `MOVE_WALK_ROOM`): such
4348
+ * a move fails on compute until `walk_farm` has caught the farm up. Nothing is lost by waiting: what a seat earned by
4349
+ * its end is written when the farm walks past it, however late.
4350
+ */
4351
+ export declare const farmNeedsWalk: (farm: any, ends: any, now: any) => boolean;
4352
+ /**
4353
+ * The transactions that walk a farm up to now, oldest ends first: one `walkFarmIx` each, `perTx` ends at most, `[]` when
4354
+ * it has nothing to walk. Anyone may send them, in order; each is free but for its network fee.
4355
+ */
4356
+ export declare function walkFarmParts({ project, id, farm, ends, now, perTx }: {
4357
+ ends: any;
4358
+ farm: any;
4359
+ id: any;
4360
+ now: any;
4361
+ perTx?: number | undefined;
4362
+ project: any;
4363
+ }): {
4364
+ programId: string;
4365
+ keys: any[];
4366
+ data: Uint8Array<any>;
4367
+ }[];
4368
+ /**
4369
+ * Credits a farm up to at most `most` of the times its seats stopped earning. Anyone may send it, signing nothing but its
4370
+ * network fee: it decides nothing, every move walks the same times the same way. For a farm that has passed more of them
4371
+ * than a move's transaction can walk (`farmNeedsWalk`, `walkFarmParts`).
4372
+ */
4373
+ export declare const walkFarmIx: ({ project, id, farm, most }: {
4374
+ farm: any;
4375
+ id: any;
4376
+ most?: number | undefined;
4377
+ project: any;
4378
+ }) => {
4379
+ programId: string;
4380
+ keys: any[];
4381
+ data: Uint8Array<any>;
4382
+ };
4383
+ /**
4384
+ * `player` stakes `amount` at lock tier `tier`. `farm` is decoded; `extra` carries token hook/memo accounts. A seat with
4385
+ * a booster on, or one whose growth the stake changes, needs a `refreshSeatIx` of it first, in the same transaction
4386
+ * (`stakeRefreshFirst`).
850
4387
  */
851
4388
  export declare const stakeTokensIx: ({ player, project, id, farm, amount, tier, programs, shown, extra }: {
852
4389
  amount: any;
@@ -864,10 +4401,9 @@ export declare const stakeTokensIx: ({ player, project, id, farm, amount, tier,
864
4401
  data: Uint8Array<any>;
865
4402
  };
866
4403
  /**
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`).
4404
+ * `player` takes `amount` out (0: only collects what is owed); `forfeit` gives up rewards that can't move. Before the
4405
+ * tier's lock has run, a tier with an early-exit fee (`exit_bps`) lets it leave, leaving that share of `amount` to the
4406
+ * farm's `exit_to`; it keeps the rewards it was credited.
871
4407
  */
872
4408
  export declare const unstakeTokensIx: ({ player, project, id, farm, amount, forfeit, programs, extra }: {
873
4409
  amount: any;
@@ -883,8 +4419,34 @@ export declare const unstakeTokensIx: ({ player, project, id, farm, amount, forf
883
4419
  keys: any[];
884
4420
  data: Uint8Array<any>;
885
4421
  };
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;
4422
+ /**
4423
+ * Whether taking `amount` out of a token seat (decoded `seat`) needs a `refreshSeatIx` of it first, in the same
4424
+ * transaction (`RefreshFirst`): the farm grows, and the exit closes the seat or drops it below a growth's least stake, so
4425
+ * what it grew since its last refresh is written before it goes. Never under `forfeit`.
4426
+ */
4427
+ export declare const refreshFirst: (farm: any, seat: any, amount: any, forfeit?: boolean) => any;
4428
+ /**
4429
+ * Whether a stake of tokens at `tier` in a token seat (decoded `seat`; null for a new one), or with `compound` a
4430
+ * compound of what it is owed, needs a `refreshSeatIx` of it first, in the same transaction (`RefreshFirst`), at `now`
4431
+ * (Unix seconds, the chain's clock): a seat with a booster on (its boost is read again there, so a top-up never stakes
4432
+ * more at a boost its booster no longer gives), or a seat that grows (a booster's growth, or its player's profile's)
4433
+ * when the stake changes how: a new tier, a farm whose growth reads the amount, a seat past its term; a compound when
4434
+ * that growth reads the amount.
4435
+ * @param {any} farm
4436
+ * @param {any} seat
4437
+ * @param {{ tier?: number, now?: bigint | number, compound?: boolean }} [options]
4438
+ */
4439
+ export declare function stakeRefreshFirst(farm: any, seat: any, { tier, now, compound }?: {
4440
+ tier?: number;
4441
+ now?: bigint | number;
4442
+ compound?: boolean;
4443
+ }): any;
4444
+ /**
4445
+ * Whether a booster put on a token seat of `farm` (decoded) needs the seat refreshed first, in the same transaction
4446
+ * (`stake_nft`'s `RefreshFirst`): in a farm of tokens whose growth writes its players' profiles, the booster's growth
4447
+ * starts from now, so what the seat grew before is written first.
4448
+ */
4449
+ export declare const boosterRefreshFirst: (farm: any) => any;
888
4450
  /**
889
4451
  * Whether a farm (decoded) takes a stake at lock tier `tier` at `now` (Unix seconds, the chain's clock), as the program
890
4452
  * judges it: a farm with an end (`ends_at`, 0 for never) takes none at its end or after it, nor one whose lock
@@ -907,7 +4469,7 @@ export declare const AUTH_RULES_PROGRAM = "auth9SigNpDKz4sJJ1DfCTuZrZNSAgh9sFD3r
907
4469
  * `burns`: burns a Core asset (false when left out); `reads`: reads its Sheet; `held`: reads it in the project's token
908
4470
  * account (an escrow farm).
909
4471
  */
910
- export declare function piece({ project, asset, wallet, collection, hasAuthority, tokenMetadata: tm, compressed: c, moves, locks, writes, burns, reads, held }: {
4472
+ export declare function piece({ project, asset, wallet, collection, hasAuthority, tokenMetadata: tm, compressed: c, moves, locks, writes, burns, reads, held, }: {
911
4473
  asset: any;
912
4474
  burns?: boolean | undefined;
913
4475
  collection: any;
@@ -922,6 +4484,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
922
4484
  wallet: any;
923
4485
  writes?: boolean | undefined;
924
4486
  }): {
4487
+ kind: string;
925
4488
  accounts: {
926
4489
  mpl_core_program: null;
927
4490
  metadata: null;
@@ -974,6 +4537,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
974
4537
  proof: any;
975
4538
  writable: string[];
976
4539
  } | {
4540
+ kind: string;
977
4541
  accounts: {
978
4542
  collection: null;
979
4543
  mpl_core_program: null;
@@ -1002,6 +4566,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
1002
4566
  proof: never[];
1003
4567
  writable: never[];
1004
4568
  } | {
4569
+ kind: string;
1005
4570
  accounts: {
1006
4571
  metadata: null;
1007
4572
  edition: null;
@@ -1030,6 +4595,7 @@ export declare function piece({ project, asset, wallet, collection, hasAuthority
1030
4595
  proof: never[];
1031
4596
  writable: string[];
1032
4597
  };
4598
+ export declare function anotherMetas(p: any): any[];
1033
4599
  /** The account an NFT paid goes to: the wallet it is given to, the stash it goes into, or the
1034
4600
  * incinerator for a burn (any account stands in for a Core asset, which Core burns). `then`: 'Burn', { Give: [wallet] }
1035
4601
  * or { Stash: [id] }. */
@@ -1055,7 +4621,7 @@ export declare function nftPaid({ project, owner, then, asset, collection, hasAu
1055
4621
  * place), or given to the wallet `to` (the treasury, a partner). The receipt (`PaidNft`) is the record: an app admits the player when the NFT, where it went (`to`: a payment to the player's own wallet pays nothing) and the reference
1056
4622
  * are the ones it asked for. `extra`: Core's transfer adapters.
1057
4623
  */
1058
- export declare function payNftIx({ player, project, asset, to, collection, hasAuthority, tokenMetadata: tm, compressed, reference: ref, extra }: {
4624
+ export declare function payNftIx({ player, project, asset, to, collection, hasAuthority, tokenMetadata: tm, compressed, reference: ref, extra, }: {
1059
4625
  asset: any;
1060
4626
  collection: any;
1061
4627
  compressed: any;
@@ -1113,16 +4679,48 @@ export declare function freshNftAccount({ payer, holder, mint, index, there }: {
1113
4679
  export declare const FRESH_NFT_ACCOUNTS = 8;
1114
4680
  /** A token account's rent on every cluster (165 bytes). */
1115
4681
  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 }: {
4682
+ /**
4683
+ * A compressed NFT's record (`pda.leaf`) closes, its rent back to `payer`, who paid it: at any time with `payer` signing
4684
+ * (`signs`, the default), or by anyone once it no longer matches its tree. A route that finds no record asks for a proof
4685
+ * again (`NotProven`), so a client closes it in the transaction that used it (`withLeafCloses`).
4686
+ */
4687
+ export declare const closeLeafIx: ({ asset, tree, payer, signs }: {
1118
4688
  asset: any;
1119
4689
  payer: any;
4690
+ signs?: boolean | undefined;
1120
4691
  tree: any;
1121
4692
  }) => {
1122
4693
  programId: string;
1123
4694
  keys: any[];
1124
4695
  data: Uint8Array<any>;
1125
4696
  };
4697
+ /**
4698
+ * `instructions` with a `close_leaf` after them for each compressed NFT's record a `prove_leaf` among them makes, its
4699
+ * prover signing as the record's payer, so the record's rent comes back in the same transaction (one closed already is
4700
+ * left alone).
4701
+ */
4702
+ export declare function withLeafCloses(instructions: any): any;
4703
+ /**
4704
+ * Anyone closes the Sheet of an NFT that is burned: `burned` is what shows it (the Core asset's own address, burned to
4705
+ * one byte; a Token Metadata mint holding none; or a compressed NFT's record proving its leaf burned). Its rent goes to
4706
+ * the project's `treasury` wallet. A compressed NFT's (`tree`: the tree it was minted in) closes only on a record proven
4707
+ * empty (its data hash all zeros: a live leaf of the default owner is not burned) that still reads against that tree,
4708
+ * or whose tree is gone: the tree goes in the edition's place, and `burned` defaults to the NFT's record
4709
+ * (`pda.leaf`). A Token Metadata NFT's (`tokenMetadata`: true, or its kind) names its edition, which must be closed
4710
+ * too: its mint holds none, with no mint authority but its edition (`NotBurned` otherwise).
4711
+ */
4712
+ export declare const closeSheetIx: ({ project, nft, tree, burned, treasury, tokenMetadata: tm, }: {
4713
+ burned?: any;
4714
+ nft: any;
4715
+ project: any;
4716
+ tokenMetadata?: null | undefined;
4717
+ treasury: any;
4718
+ tree?: null | undefined;
4719
+ }) => {
4720
+ programId: string;
4721
+ keys: any[];
4722
+ data: Uint8Array<any>;
4723
+ };
1126
4724
  /**
1127
4725
  * Anyone proves a compressed NFT's leaf (`compressed` from `compressedFromDas`): put it before the instruction that
1128
4726
  * uses the NFT, in the same transaction. The proof must be against the tree's current root (`StaleProof` otherwise:
@@ -1165,10 +4763,11 @@ export declare const proveTraitsIx: ({ signer, project, key, nft, attributes, pr
1165
4763
  * `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
4764
  * in a farm of tokens. Any kind (`piece`): a Core asset, a Token Metadata NFT's mint with `tokenMetadata`, or
1167
4765
  * `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.
4766
+ * an NFT that changed hands, whose seat this takes over (alone). In a farm of collectibles, `more` NFTs (each { asset,
4767
+ * collection, hasAuthority, tokenMetadata, compressed }) go in the same call at the same tier, one fee, by their seats'
4768
+ * addresses. `extra` carries reward token hooks/memos and Core transfer adapter accounts.
1170
4769
  */
1171
- export declare const stakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, previous, tier, programs, extra }: {
4770
+ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection, hasAuthority, tokenMetadata: tm, compressed, previous, tier, programs, more, extra, }: {
1172
4771
  asset: any;
1173
4772
  collection: any;
1174
4773
  compressed: any;
@@ -1176,6 +4775,7 @@ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection
1176
4775
  farm: any;
1177
4776
  hasAuthority?: boolean | undefined;
1178
4777
  id: any;
4778
+ more?: never[] | undefined;
1179
4779
  player: any;
1180
4780
  previous?: null | undefined;
1181
4781
  programs: any;
@@ -1190,11 +4790,16 @@ export declare const stakeNftIx: ({ player, project, id, farm, asset, collection
1190
4790
  /**
1191
4791
  * `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
4792
  * 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.
4793
+ * that rolls (`roll`: its box id, `boxes` its decoded box by id), the NFT is rolled on that box, in an order named by
4794
+ * `nonce` (`namedRollNonce`: the NFT's own on a box that holds it; its player or the project's keys then ask the oracle,
4795
+ * `askRollIx`, and settles); a box that can burn it or give it away keeps it in the project's hands until then. `more`
4796
+ * NFTs of the player's in the farm (each { asset, collection, hasAuthority, tokenMetadata, compressed, tier, roll }) leave
4797
+ * in the same call, one fee, one transfer of rewards: by their seats' addresses, the `i`th's roll at `nonce + 2i` and its
4798
+ * prize's at `nonce + 2i + 1` (`seatNonces` says which NFT has which). One still locked refuses the whole call.
1195
4799
  */
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 }: {
4800
+ 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
4801
  asset: any;
4802
+ boxes?: {} | undefined;
1198
4803
  collection: any;
1199
4804
  compressed: any;
1200
4805
  extra?: never[] | undefined;
@@ -1203,6 +4808,7 @@ export declare const unstakeNftIx: ({ player, project, id, farm, asset, collecti
1203
4808
  hasAuthority?: boolean | undefined;
1204
4809
  id: any;
1205
4810
  items: any;
4811
+ more?: never[] | undefined;
1206
4812
  nft: any;
1207
4813
  nonce?: bigint | undefined;
1208
4814
  player: any;
@@ -1218,18 +4824,26 @@ export declare const unstakeNftIx: ({ player, project, id, farm, asset, collecti
1218
4824
  keys: any[];
1219
4825
  data: Uint8Array<any>;
1220
4826
  };
4827
+ /** The nonce each NFT's mission roll is named by in an `unstakeNftIx` of several (`assets`), in the order the call
4828
+ * takes them: the `i`th by its seat's address `nonce + 2i` (its order at `namedRollNonce` of it), its prize's roll
4829
+ * `nonce + 2i + 1` (at `prizeRollNonce`). */
4830
+ export declare const seatNonces: (project: any, id: any, farm: any, player: any, assets: any, nonce?: bigint) => any;
1221
4831
  /**
1222
- * `player` collects what the seat of `by` owes (their own address for tokens, a collectible's asset). `held`: in a farm
4832
+ * `player` collects what the seat of `by` owes (their own address for tokens, a collectible's asset); with `compound`, a
4833
+ * token seat's is staked instead (a seat with a booster on needs a `refreshSeatIx` of it first: `stakeRefreshFirst`). `held`: in a farm
1223
4834
  * 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.
4835
+ * Metadata NFT, or a compressed NFT's record, `pda.leaf`, with its `tree`), which such a farm refuses to go without
4836
+ * (`NotProven`). `more` seats of the player's in the farm (each { by, held, tree }) collect in the same call, one fee,
4837
+ * one transfer.
1225
4838
  */
1226
- export declare const harvestIx: ({ player, project, id, farm, by, held, tree, compound, programs, extra }: {
4839
+ export declare const harvestIx: ({ player, project, id, farm, by, held, tree, compound, programs, more, extra, }: {
1227
4840
  by?: any;
1228
4841
  compound?: boolean | undefined;
1229
4842
  extra?: never[] | undefined;
1230
4843
  farm: any;
1231
4844
  held?: null | undefined;
1232
4845
  id: any;
4846
+ more?: never[] | undefined;
1233
4847
  player: any;
1234
4848
  programs: any;
1235
4849
  project: any;
@@ -1247,7 +4861,7 @@ export declare const harvestIx: ({ player, project, id, farm, by, held, tree, co
1247
4861
  * NFT's token account that holds it, `holder`'s (its staker's, or a watched NFT's buyer's). `signer` pays for what the
1248
4862
  * write adds. `extra`: the reward mint's hook accounts.
1249
4863
  */
1250
- export declare const refreshSeatIx: ({ signer, project, id, farm, by, seat, collection, hasAuthority, tokenMetadata: tm, compressed, holder, extra }: {
4864
+ export declare const refreshSeatIx: ({ signer, project, id, farm, by, seat, collection, hasAuthority, tokenMetadata: tm, compressed, holder, extra, }: {
1251
4865
  by: any;
1252
4866
  collection: any;
1253
4867
  compressed: any;
@@ -1269,19 +4883,25 @@ export declare const refreshSeatIx: ({ signer, project, id, farm, by, seat, coll
1269
4883
  * `player` crafts recipe `id` (`recipe` decoded, the version shown to them), `times` over. `assets`: the
1270
4884
  * collectibles handed in, in the recipe's order (the burned, the used, and for a `Show` line the NFT shown: its address
1271
4885
  * 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
4886
+ * Metadata one, `{ compressed, tree }` for a compressed one; with `farm` (a farm's id: `{ asset, farm }` for the
4887
+ * 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
4888
+ * 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,
4889
+ * compressed }`). A collectible used that is staked in a farm holding it for the player (escrow) or locking it in their
4890
+ * wallet (freeze) is `{ asset, farm }`, `farm` that farm's id: its seat and farm follow it (a raise on it may not lower a
4891
+ * number its farm reads: `BadRecipe`). One that boosts the player's token seat in a farm of tokens is
4892
+ * `{ asset, farm, booster: true }`: the player's token seat (`["seat", farm, player]`) and that farm follow it, on a kept
4893
+ * `Use` line or a `Show` line alike. A `Staked` line names the farm its collectible
1275
4894
  * is staked in (`Input::Staked { item, farm }`, escrowed or frozen there): its address, or `{ asset, farm }` with that
1276
4895
  * farm, and its seat and that farm follow it. Each item line passes its item's collection
1277
4896
  * (`items[id].collection`, the decoded Items; `collection` when not given), written for a burn: Core writes it as it
1278
4897
  * burns a collectible. A recipe's `raises` write on the kept ones, in their Sheet when the project has no
1279
4898
  * 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).
4899
+ * `Prize::Roll` or a `RollOn`) passes its box and its order, nothing more; a `RollOn`'s order is where `namedRollNonce`
4900
+ * 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
4901
+ * (`askRollIx`, in the same transaction when it fits).
1282
4902
  * A craft makes several Core calls: raise the compute limit. `extra`: a token's hook accounts.
1283
4903
  */
1284
- export declare function craftIx({ player, project, collection, id, recipe, assets, times, nonce, holders, programs, treasury, poolMints, items, nfts, boxes, rollPools, extra }: {
4904
+ export declare function craftIx({ player, project, collection, id, recipe, assets, times, nonce, holders, programs, treasury, poolMints, items, nfts, boxes, extra, }: {
1285
4905
  assets?: never[] | undefined;
1286
4906
  boxes?: {} | undefined;
1287
4907
  collection: any;
@@ -1296,7 +4916,6 @@ export declare function craftIx({ player, project, collection, id, recipe, asset
1296
4916
  programs: any;
1297
4917
  project: any;
1298
4918
  recipe: any;
1299
- rollPools?: any;
1300
4919
  times?: number | undefined;
1301
4920
  treasury: any;
1302
4921
  }): {
@@ -1311,11 +4930,12 @@ export declare const craftNewAssets: (recipe: any) => any;
1311
4930
  * asset (`collection` its own, Core's address for none), a Token Metadata NFT (`tokenMetadata`), or `compressed` (after
1312
4931
  * a `proveLeafIx`).
1313
4932
  */
1314
- export declare function holdIx({ player, project, collection, asset, tokenMetadata: tm, compressed, freeAt, reference: ref }: {
4933
+ export declare function holdIx({ player, project, collection, asset, tokenMetadata: tm, compressed, freeAt, reference: ref, more, }: {
1315
4934
  asset: any;
1316
4935
  collection: any;
1317
4936
  compressed: any;
1318
4937
  freeAt: any;
4938
+ more?: never[] | undefined;
1319
4939
  player: any;
1320
4940
  project: any;
1321
4941
  reference: any;
@@ -1329,19 +4949,24 @@ export declare function holdIx({ player, project, collection, asset, tokenMetada
1329
4949
  * The project's owner or authority (`signer`) puts an NFT it holds into stash `id`, or (`out`: a wallet) takes one the
1330
4950
  * stash holds out to that wallet. The NFT is any kind, as `piece` takes it: `collection` a Core asset's own,
1331
4951
  * `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`).
4952
+ * by, and gets back the rent it no longer needs. `drop`: the NFT leaves the stash and stays where it is, owed to the
4953
+ * treasury in its hold (`["hold", nft, 0]`, the signer paying its rent until anyone `release`s it to the treasury, one
4954
+ * NFT a call). `out` is never the project's own address nor another account of the program (`ToTheProject`).
1334
4955
  */
1335
- export declare function stashIx({ signer, project, id, lottery, asset, out, collection, tokenMetadata: tm, compressed }: {
4956
+ export declare function stashIx({ signer, project, id, lottery, lotteryState, asset, out, drop, weight, collection, tokenMetadata: tm, compressed, more, }: {
1336
4957
  asset: any;
1337
4958
  collection: any;
1338
4959
  compressed: any;
4960
+ drop?: boolean | undefined;
1339
4961
  id: any;
1340
4962
  lottery?: null | undefined;
4963
+ lotteryState?: null | undefined;
4964
+ more?: never[] | undefined;
1341
4965
  out?: null | undefined;
1342
4966
  project: any;
1343
4967
  signer: any;
1344
4968
  tokenMetadata: any;
4969
+ weight?: number | undefined;
1345
4970
  }): {
1346
4971
  programId: string;
1347
4972
  keys: any[];
@@ -1351,9 +4976,9 @@ export declare function stashIx({ signer, project, id, lottery, asset, out, coll
1351
4976
  * `player` backs `side` with `amount`, naming the contest's incarnation (which fixes its terms). `contest` is the
1352
4977
  * decoded Contest. A contest of NFTs (`contest.nft`) takes one NFT instead (`nft`: { asset, collection, tokenMetadata,
1353
4978
  * compressed }, as `piece` takes it), which the contest holds until it is claimed. `shown`/`listProof` pass its gate.
1354
- * `extra`: a hook's accounts.
4979
+ * A new entry's record is the player's to pay (not refunded). `extra`: a hook's accounts.
1355
4980
  */
1356
- export declare function enterIx({ player, project, id, contest, side, amount, shown, listProof, nft, playerToken, programs, extra }: {
4981
+ export declare function enterIx({ player, project, id, contest, side, amount, shown, listProof, nft, playerToken, programs, extra, }: {
1357
4982
  amount: any;
1358
4983
  contest: any;
1359
4984
  extra?: never[] | undefined;
@@ -1372,63 +4997,61 @@ export declare function enterIx({ player, project, id, contest, side, amount, sh
1372
4997
  data: Uint8Array<any>;
1373
4998
  };
1374
4999
  /**
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.
5000
+ * Anyone (`payer`) claims `player`'s entry (`entries`: the contest's decoded entries, `decodeEntries`), into the
5001
+ * player's account of the mint, which `payer` opens when it is not there. A winner's first claim also gives the
5002
+ * contest's prize (`prizeMetas`: `collection`, `poolMints`, `items`, `nft`; a roll's order at `nonce`, `prizeNonce` of the
5003
+ * contest and the player by default), unless the player (signing) `forgo`es it. In a contest of NFTs it moves the NFTs of
5004
+ * the entries `nfts` names by their place in the list (the player's own by default, while the contest holds it): an
5005
+ * 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
5006
+ * the winner sends it, and picks which: `WinnerPicks`), or to the opener once no winner has picks left. `kinds` maps an
5007
+ * 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
5008
+ * move now); with `end`, the winner leaves the rest of its share to the opener. The claim that leaves nothing owed
5009
+ * closes the contest (`projectState`: its treasury); a contest that owes nothing (nobody entered, every part claimed,
5010
+ * off by itself with none in) is closed by any claim, the `payer`'s. `extra`: a hook's accounts.
1383
5011
  */
1384
- export declare function claimIx({ payer, project, id, contest, player, side, entry, own, taking, nonce, collection, poolMints, items, nft, prizeMint, forgo, programs, extra }: {
5012
+ 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
5013
  collection: any;
1386
5014
  contest: any;
1387
- entry: any;
5015
+ end?: boolean | undefined;
5016
+ entries: any;
1388
5017
  extra?: never[] | undefined;
1389
5018
  forgo?: boolean | undefined;
5019
+ hold?: boolean | undefined;
1390
5020
  id: any;
1391
5021
  items: any;
5022
+ kinds?: {} | undefined;
1392
5023
  nft: any;
5024
+ nfts: any;
1393
5025
  nonce: any;
1394
- own?: {} | undefined;
1395
5026
  payer: any;
1396
5027
  player: any;
1397
5028
  poolMints: any;
1398
5029
  prizeMint: any;
1399
5030
  programs: any;
1400
5031
  project: any;
1401
- side: any;
1402
- taking: any;
5032
+ projectState: any;
1403
5033
  }): {
1404
5034
  programId: string;
1405
5035
  keys: any[];
1406
5036
  data: Uint8Array<any>;
1407
5037
  };
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
- };
5038
+ /**
5039
+ * What a bid signs: the auction's bytes but the bid, which sits last (`high_bidder`, `high`, `last_bid_at`, `held`:
5040
+ * 60 bytes, and an auction of NFT bids' room for `MAX_BID_NFTS` after them). `auction`: the decoded Auction, or its
5041
+ * account's bytes.
5042
+ */
5043
+ export declare function auctionTerms(auction: any): Uint8Array<ArrayBuffer>;
1422
5044
  /** When bids close, as the program reckons it: `ends_at`, or `extend` seconds after the last bid when that is later. */
1423
5045
  export declare const auctionEnds: (auction: any) => bigint;
1424
- /** The least next bid the program takes, or null when no u64 amount can top it. */
5046
+ /** 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
5047
  export declare function leastBid(auction: any): bigint | null;
1426
5048
  /**
1427
5049
  * `seller` opens its auction `id` of `args.lot` ({ Item: [id] }, { Asset: [address] } or { Roll: [box id] }), alone,
1428
5050
  * 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
5051
  * 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.
5052
+ * `proveLeafIx`), a new unit of its item, or a roll of one of its boxes (a mystery lot: the box must be written, burn
5053
+ * no share of its price, and make an order with the auction's shares within one call's growth: `LotRefused`). Its
5054
+ * address names the seller, so an id is the seller's own.
1432
5055
  */
1433
5056
  export declare function openAuctionIx({ seller, project, collection, tokenMetadata: tm, compressed, id, mint, args }: {
1434
5057
  args: any;
@@ -1444,20 +5067,25 @@ export declare function openAuctionIx({ seller, project, collection, tokenMetada
1444
5067
  keys: any[];
1445
5068
  data: Uint8Array<any>;
1446
5069
  };
5070
+ /** The most NFTs one bid of an auction of NFT bids holds (`MAX_BID_NFTS`, not in the IDL): a bid of more fails
5071
+ * (`BidTooLow`), and a high bid of this many can't be topped. Its reserve is 1 to this many (`BadAuction`). */
5072
+ export declare const MAX_BID_NFTS = 3;
1447
5073
  /**
1448
5074
  * `bidder` bids `amount` on auction `id`, signing its terms; the bid it tops goes back to the high bidder's account
1449
5075
  * of the mint, which `bidder` opens when it is not there. `auction` is the decoded Auction. `shown`/`listProof`: what
1450
5076
  * passes the auction's gate. An auction of NFT bids (`auction.nft_bids`) takes `nfts` instead ([{ asset, collection,
1451
5077
  * 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.
5078
+ * (`held`, the kinds of `auction.held`, in order) back to its bidder; one that can't move now (`hold`: true for all, or a
5079
+ * list of assets) becomes a hold for them instead, `bidder` paying its rent until its release. `extra`: a hook's accounts.
1453
5080
  */
1454
- export declare function bidIx({ bidder, project, id, auction, amount, shown, listProof, nfts, held, bidderToken, programs, extra }: {
5081
+ export declare function bidIx({ bidder, project, id, auction, amount, shown, listProof, nfts, held, hold, bidderToken, programs, extra, }: {
1455
5082
  amount: any;
1456
5083
  auction: any;
1457
5084
  bidder: any;
1458
5085
  bidderToken: any;
1459
5086
  extra?: never[] | undefined;
1460
5087
  held?: never[] | undefined;
5088
+ hold?: boolean | undefined;
1461
5089
  id: any;
1462
5090
  listProof: any;
1463
5091
  nfts?: never[] | undefined;
@@ -1477,13 +5105,18 @@ export declare function bidIx({ bidder, project, id, auction, amount, shown, lis
1477
5105
  * 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
5106
  * not there. `item` is the decoded Item of an item lot; for an NFT lot, `collection` its Core collection now (the
1479
5107
  * project's when left out), `tokenMetadata` for a Token Metadata NFT, or `compressed` (after a `proveLeafIx`).
5108
+ * `hold` (anyone may; true for all, or a list of assets): an end that wouldn't fit otherwise (a compressed lot's long
5109
+ * proof, a hooked mint, many shares) makes the NFT lot a hold for whoever it goes to (its hold passed as `order`, no
5110
+ * piece nor proof), and a winning NFT of a bid a hold for `proceeds` (its hold's address in its piece's place); anyone
5111
+ * then delivers each with `releaseIx`, and the end's sender gets the rent back then.
1480
5112
  */
1481
- export declare function endAuctionIx({ signer, project, projectState, id, auction, item, collection, tokenMetadata: tm, compressed, held, reference: ref, nonce, holders, programs, extra }: {
5113
+ export declare function endAuctionIx({ signer, project, projectState, id, auction, item, collection, tokenMetadata: tm, compressed, held, hold, reference: ref, nonce, holders, programs, extra, }: {
1482
5114
  auction: any;
1483
5115
  collection: any;
1484
5116
  compressed: any;
1485
5117
  extra?: never[] | undefined;
1486
5118
  held?: never[] | undefined;
5119
+ hold?: boolean | undefined;
1487
5120
  holders: any;
1488
5121
  id: any;
1489
5122
  item?: null | undefined;
@@ -1499,8 +5132,9 @@ export declare function endAuctionIx({ signer, project, projectState, id, auctio
1499
5132
  keys: any[];
1500
5133
  data: Uint8Array<any>;
1501
5134
  };
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>;
5135
+ /** What a taker signs: the offer's bytes but `left`, its last 2 (what a take changes). `offer`: the decoded Offer, or its
5136
+ * account's bytes. */
5137
+ export declare const offerTerms: (offer: any) => Uint8Array<ArrayBuffer>;
1504
5138
  /** What one take of a deal pays out of its offer's money: a bid's price, a loan's amount. */
1505
5139
  export declare const dealUnit: (deal: any) => bigint;
1506
5140
  /**
@@ -1541,7 +5175,7 @@ export declare function closeOfferIx({ maker, project, id, offer, programs, extr
1541
5175
  * any kind, as `piece` takes it (`collection`, `hasAuthority` false for a Core asset of another collection,
1542
5176
  * `tokenMetadata`, or `compressed` after a `proveLeafIx`).
1543
5177
  */
1544
- export declare function sellToOfferIx({ seller, project, projectState, id, offer, asset, collection, hasAuthority, tokenMetadata: tm, compressed, holders, programs, extra }: {
5178
+ export declare function sellToOfferIx({ seller, project, projectState, id, offer, asset, collection, hasAuthority, tokenMetadata: tm, compressed, holders, programs, extra, }: {
1545
5179
  asset: any;
1546
5180
  collection: any;
1547
5181
  compressed: any;
@@ -1566,7 +5200,7 @@ export declare function sellToOfferIx({ seller, project, projectState, id, offer
1566
5200
  * `pda.hold(asset, due)` until it is repaid (`repayIx`, then `releaseIx` sends it home) or, once due, sent to the
1567
5201
  * lender (`releaseIx` with `to` the lender); the loan goes to the borrower. The NFT is any kind, as `sellToOfferIx` takes it.
1568
5202
  */
1569
- export declare function borrowIx({ borrower, project, id, offer, due, asset, collection, hasAuthority, tokenMetadata: tm, compressed, programs, extra }: {
5203
+ export declare function borrowIx({ borrower, project, id, offer, due, asset, collection, hasAuthority, tokenMetadata: tm, compressed, programs, extra, }: {
1570
5204
  asset: any;
1571
5205
  borrower: any;
1572
5206
  collection: any;
@@ -1587,23 +5221,26 @@ export declare function borrowIx({ borrower, project, id, offer, due, asset, col
1587
5221
  /**
1588
5222
  * Anyone (`payer`: the borrower, a friend) repays a loan before it is due (`hold` the decoded Hold, with its debt): the
1589
5223
  * 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
5224
+ * home with `releaseIx` (in the same transaction, or later: a repaid loan's release has no deadline). Free. `repay`: the
5225
+ * debt the payer was shown (`hold.debt.repay` as read): any other amount is refused (`TermsChanged`). `extra`: a
1591
5226
  * transfer hook's accounts.
1592
5227
  */
1593
- export declare function repayIx({ payer, project, hold, payerToken, programs, extra }: {
5228
+ export declare function repayIx({ payer, project, hold, repay, payerToken, programs, extra }: {
1594
5229
  extra?: never[] | undefined;
1595
5230
  hold: any;
1596
5231
  payer: any;
1597
5232
  payerToken: any;
1598
5233
  programs: any;
1599
5234
  project: any;
5235
+ repay: any;
1600
5236
  }): {
1601
5237
  programId: string;
1602
5238
  keys: any[];
1603
5239
  data: Uint8Array<any>;
1604
5240
  };
1605
- /** What a taker signs: sha256(maker | asset | mint | Borsh(ListingDeal) | Borsh(shares)). */
1606
- export declare function listingTerms(listing: any): Uint8Array<ArrayBuffer>;
5241
+ /** What a taker signs: the listing's bytes but `user`, `until` and `stopped` (bytes 129 to 170, what a rental changes).
5242
+ * `listing`: the decoded Listing, or its account's bytes. */
5243
+ export declare const listingTerms: (listing: any) => Uint8Array<ArrayBuffer>;
1607
5244
  /**
1608
5245
  * `maker` (any wallet, signing alone) lists an NFT they hold, of any kind (as `piece` takes it), for sale
1609
5246
  * (`deal: { Sell: { price } }`) or for rent (`{ Rent: { price, lasts, max_periods } }`: `price` a period of `lasts`
@@ -1611,7 +5248,7 @@ export declare function listingTerms(listing: any): Uint8Array<ArrayBuffer>;
1611
5248
  * goes to the project until it is sold or the listing is closed. The listing's address names the NFT
1612
5249
  * (`pda.listing(project, asset)`), so a game finds it, and its renter, with one account read.
1613
5250
  */
1614
- export declare function openListingIx({ maker, project, asset, mint, deal, shares, collection, hasAuthority, tokenMetadata: tm, compressed, extra }: {
5251
+ export declare function openListingIx({ maker, project, asset, mint, deal, shares, collection, hasAuthority, tokenMetadata: tm, compressed, extra, }: {
1615
5252
  asset: any;
1616
5253
  collection: any;
1617
5254
  compressed: any;
@@ -1636,7 +5273,7 @@ export declare function openListingIx({ maker, project, asset, mint, deal, share
1636
5273
  * take's own accounts come a sale's compressed NFT's proof, then the shares' accounts, then (in `extra`) Core's
1637
5274
  * transfer adapters and any transfer hook's accounts, which the program finds by address after the shares'.
1638
5275
  */
1639
- export declare function takeListingIx({ taker, project, projectState, listing, periods, collection, hasAuthority, tokenMetadata: tm, compressed, holders, programs, takerToken, extra }: {
5276
+ export declare function takeListingIx({ taker, project, projectState, listing, periods, collection, hasAuthority, tokenMetadata: tm, compressed, holders, programs, takerToken, extra, }: {
1640
5277
  collection: any;
1641
5278
  compressed: any;
1642
5279
  extra?: never[] | undefined;
@@ -1659,7 +5296,7 @@ export declare function takeListingIx({ taker, project, projectState, listing, p
1659
5296
  * Its maker closes a listing (`listing` the decoded Listing): the NFT goes home. While a rental runs it only stops (no
1660
5297
  * renter takes it again), and the same call once the rental is over takes it home. Free.
1661
5298
  */
1662
- export declare function closeListingIx({ maker, project, listing, collection, hasAuthority, tokenMetadata: tm, compressed, extra }: {
5299
+ export declare function closeListingIx({ maker, project, listing, collection, hasAuthority, tokenMetadata: tm, compressed, extra, }: {
1663
5300
  collection: any;
1664
5301
  compressed: any;
1665
5302
  extra?: never[] | undefined;