proof-of-take-sdk 1.0.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 (90) hide show
  1. package/FINAL_USAGE.md +342 -0
  2. package/LIBRARY_GUIDE.md +400 -0
  3. package/LICENSE +22 -0
  4. package/README.md +370 -0
  5. package/dist/client.d.ts +32 -0
  6. package/dist/client.js +47 -0
  7. package/dist/constants/season.d.ts +18 -0
  8. package/dist/constants/season.js +22 -0
  9. package/dist/getters/getMiztake.d.ts +11 -0
  10. package/dist/getters/getMiztake.js +34 -0
  11. package/dist/getters/getMiztakeStatistics.d.ts +10 -0
  12. package/dist/getters/getMiztakeStatistics.js +20 -0
  13. package/dist/getters/getTokenVault.d.ts +30 -0
  14. package/dist/getters/getTokenVault.js +56 -0
  15. package/dist/getters/getUserStats.d.ts +21 -0
  16. package/dist/getters/getUserStats.js +43 -0
  17. package/dist/getters/index.d.ts +7 -0
  18. package/dist/getters/index.js +23 -0
  19. package/dist/idl/idl.d.ts +2 -0
  20. package/dist/idl/idl.js +8 -0
  21. package/dist/idl/proof_of_take.json +3803 -0
  22. package/dist/index.d.ts +48 -0
  23. package/dist/index.js +92 -0
  24. package/dist/instructions/claimReferralPenaltyForWindow.d.ts +38 -0
  25. package/dist/instructions/claimReferralPenaltyForWindow.js +72 -0
  26. package/dist/instructions/claimWindowRewards.d.ts +48 -0
  27. package/dist/instructions/claimWindowRewards.js +94 -0
  28. package/dist/instructions/confirmedPostOnX.d.ts +51 -0
  29. package/dist/instructions/confirmedPostOnX.js +78 -0
  30. package/dist/instructions/createMiztake.d.ts +90 -0
  31. package/dist/instructions/createMiztake.js +166 -0
  32. package/dist/instructions/initializeEscrowVault.d.ts +15 -0
  33. package/dist/instructions/initializeEscrowVault.js +36 -0
  34. package/dist/instructions/initializeSeasonSettings.d.ts +20 -0
  35. package/dist/instructions/initializeSeasonSettings.js +39 -0
  36. package/dist/instructions/initializeSeasonVault.d.ts +20 -0
  37. package/dist/instructions/initializeSeasonVault.js +43 -0
  38. package/dist/instructions/initializeStatistics.d.ts +32 -0
  39. package/dist/instructions/initializeStatistics.js +73 -0
  40. package/dist/instructions/joinSeason.d.ts +50 -0
  41. package/dist/instructions/joinSeason.js +120 -0
  42. package/dist/instructions/toggleSeasonPause.d.ts +22 -0
  43. package/dist/instructions/toggleSeasonPause.js +42 -0
  44. package/dist/instructions/updateSeasonAdmin.d.ts +23 -0
  45. package/dist/instructions/updateSeasonAdmin.js +43 -0
  46. package/dist/instructions/viewCurrentSeason.d.ts +12 -0
  47. package/dist/instructions/viewCurrentSeason.js +30 -0
  48. package/dist/instructions/viewSeasonMembershipStatus.d.ts +16 -0
  49. package/dist/instructions/viewSeasonMembershipStatus.js +33 -0
  50. package/dist/instructions/viewWindowStatus.d.ts +15 -0
  51. package/dist/instructions/viewWindowStatus.js +28 -0
  52. package/dist/instructions/withdrawSeasonDeposit.d.ts +38 -0
  53. package/dist/instructions/withdrawSeasonDeposit.js +66 -0
  54. package/dist/optimistic/index.d.ts +7 -0
  55. package/dist/optimistic/index.js +33 -0
  56. package/dist/types/accountTypes.d.ts +121 -0
  57. package/dist/types/accountTypes.js +2 -0
  58. package/dist/types/instructionResults.d.ts +44 -0
  59. package/dist/types/instructionResults.js +2 -0
  60. package/dist/types/proof_of_take.d.ts +3809 -0
  61. package/dist/types/proof_of_take.js +2 -0
  62. package/dist/types.d.ts +232 -0
  63. package/dist/types.js +16 -0
  64. package/dist/utils/accountUpdates.d.ts +245 -0
  65. package/dist/utils/accountUpdates.js +611 -0
  66. package/dist/utils/anchorHelpers.d.ts +7 -0
  67. package/dist/utils/anchorHelpers.js +21 -0
  68. package/dist/utils/constants.d.ts +21 -0
  69. package/dist/utils/constants.js +31 -0
  70. package/dist/utils/conversions.d.ts +25 -0
  71. package/dist/utils/conversions.js +53 -0
  72. package/dist/utils/enumHelpers.d.ts +63 -0
  73. package/dist/utils/enumHelpers.js +110 -0
  74. package/dist/utils/index.d.ts +0 -0
  75. package/dist/utils/index.js +2 -0
  76. package/dist/utils/pdaManager.d.ts +106 -0
  77. package/dist/utils/pdaManager.js +89 -0
  78. package/dist/utils/pdas.d.ts +68 -0
  79. package/dist/utils/pdas.js +128 -0
  80. package/dist/utils/programHelpers.d.ts +9 -0
  81. package/dist/utils/programHelpers.js +18 -0
  82. package/dist/utils/signerHelpers.d.ts +17 -0
  83. package/dist/utils/signerHelpers.js +21 -0
  84. package/dist/utils/simulationHelpers.d.ts +121 -0
  85. package/dist/utils/simulationHelpers.js +183 -0
  86. package/dist/utils/tierPenalty.d.ts +9 -0
  87. package/dist/utils/tierPenalty.js +24 -0
  88. package/dist/utils/transactionBuilder.d.ts +77 -0
  89. package/dist/utils/transactionBuilder.js +147 -0
  90. package/package.json +50 -0
@@ -0,0 +1,3809 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/proof_of_take.json`.
6
+ */
7
+ export type ProofOfTake = {
8
+ "address": "takeA82AwosboZgG7HQx8D3dGLbbbPUyQCva9HpLJBr";
9
+ "metadata": {
10
+ "name": "proofOfTake";
11
+ "version": "0.1.0";
12
+ "spec": "0.1.0";
13
+ "description": "Created with Anchor";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "claimReferralPenaltyForWindow";
18
+ "discriminator": [
19
+ 36,
20
+ 163,
21
+ 95,
22
+ 86,
23
+ 240,
24
+ 28,
25
+ 24,
26
+ 56
27
+ ];
28
+ "accounts": [
29
+ {
30
+ "name": "seasonSettings";
31
+ "pda": {
32
+ "seeds": [
33
+ {
34
+ "kind": "const";
35
+ "value": [
36
+ 115,
37
+ 101,
38
+ 97,
39
+ 115,
40
+ 111,
41
+ 110,
42
+ 95,
43
+ 115,
44
+ 101,
45
+ 116,
46
+ 116,
47
+ 105,
48
+ 110,
49
+ 103,
50
+ 115
51
+ ];
52
+ }
53
+ ];
54
+ };
55
+ },
56
+ {
57
+ "name": "season";
58
+ "pda": {
59
+ "seeds": [
60
+ {
61
+ "kind": "const";
62
+ "value": [
63
+ 115,
64
+ 101,
65
+ 97,
66
+ 115,
67
+ 111,
68
+ 110
69
+ ];
70
+ },
71
+ {
72
+ "kind": "arg";
73
+ "path": "seasonNumber";
74
+ }
75
+ ];
76
+ };
77
+ },
78
+ {
79
+ "name": "seasonMembership";
80
+ "pda": {
81
+ "seeds": [
82
+ {
83
+ "kind": "const";
84
+ "value": [
85
+ 115,
86
+ 101,
87
+ 97,
88
+ 115,
89
+ 111,
90
+ 110,
91
+ 95,
92
+ 109,
93
+ 101,
94
+ 109,
95
+ 98,
96
+ 101,
97
+ 114,
98
+ 115,
99
+ 104,
100
+ 105,
101
+ 112
102
+ ];
103
+ },
104
+ {
105
+ "kind": "arg";
106
+ "path": "referredUser";
107
+ },
108
+ {
109
+ "kind": "arg";
110
+ "path": "seasonMembershipId";
111
+ }
112
+ ];
113
+ };
114
+ },
115
+ {
116
+ "name": "userWindowParticipation";
117
+ "writable": true;
118
+ "pda": {
119
+ "seeds": [
120
+ {
121
+ "kind": "const";
122
+ "value": [
123
+ 117,
124
+ 115,
125
+ 101,
126
+ 114,
127
+ 95,
128
+ 119,
129
+ 105,
130
+ 110,
131
+ 100,
132
+ 111,
133
+ 119
134
+ ];
135
+ },
136
+ {
137
+ "kind": "arg";
138
+ "path": "referredUser";
139
+ },
140
+ {
141
+ "kind": "arg";
142
+ "path": "seasonNumber";
143
+ },
144
+ {
145
+ "kind": "arg";
146
+ "path": "windowNumber";
147
+ },
148
+ {
149
+ "kind": "arg";
150
+ "path": "seasonMembershipId";
151
+ }
152
+ ];
153
+ };
154
+ },
155
+ {
156
+ "name": "referralPenaltyClaim";
157
+ "writable": true;
158
+ "pda": {
159
+ "seeds": [
160
+ {
161
+ "kind": "const";
162
+ "value": [
163
+ 114,
164
+ 101,
165
+ 102,
166
+ 101,
167
+ 114,
168
+ 114,
169
+ 97,
170
+ 108,
171
+ 95,
172
+ 112,
173
+ 101,
174
+ 110,
175
+ 97,
176
+ 108,
177
+ 116,
178
+ 121,
179
+ 95,
180
+ 99,
181
+ 108,
182
+ 97,
183
+ 105,
184
+ 109
185
+ ];
186
+ },
187
+ {
188
+ "kind": "arg";
189
+ "path": "referredUser";
190
+ },
191
+ {
192
+ "kind": "arg";
193
+ "path": "seasonNumber";
194
+ },
195
+ {
196
+ "kind": "arg";
197
+ "path": "windowNumber";
198
+ },
199
+ {
200
+ "kind": "arg";
201
+ "path": "seasonMembershipId";
202
+ }
203
+ ];
204
+ };
205
+ },
206
+ {
207
+ "name": "seasonDepositVault";
208
+ "writable": true;
209
+ "pda": {
210
+ "seeds": [
211
+ {
212
+ "kind": "const";
213
+ "value": [
214
+ 115,
215
+ 101,
216
+ 97,
217
+ 115,
218
+ 111,
219
+ 110,
220
+ 95,
221
+ 100,
222
+ 101,
223
+ 112,
224
+ 111,
225
+ 115,
226
+ 105,
227
+ 116,
228
+ 95,
229
+ 118,
230
+ 97,
231
+ 117,
232
+ 108,
233
+ 116
234
+ ];
235
+ }
236
+ ];
237
+ };
238
+ },
239
+ {
240
+ "name": "mizdMint";
241
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
242
+ },
243
+ {
244
+ "name": "recipientTokenAccount";
245
+ "writable": true;
246
+ },
247
+ {
248
+ "name": "claimant";
249
+ "writable": true;
250
+ "signer": true;
251
+ },
252
+ {
253
+ "name": "tokenProgram";
254
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
255
+ },
256
+ {
257
+ "name": "systemProgram";
258
+ "address": "11111111111111111111111111111111";
259
+ }
260
+ ];
261
+ "args": [
262
+ {
263
+ "name": "seasonNumber";
264
+ "type": "u64";
265
+ },
266
+ {
267
+ "name": "windowNumber";
268
+ "type": "u64";
269
+ },
270
+ {
271
+ "name": "referredUser";
272
+ "type": "pubkey";
273
+ },
274
+ {
275
+ "name": "seasonMembershipId";
276
+ "type": "u64";
277
+ }
278
+ ];
279
+ },
280
+ {
281
+ "name": "claimWindowRewards";
282
+ "discriminator": [
283
+ 22,
284
+ 18,
285
+ 31,
286
+ 222,
287
+ 219,
288
+ 48,
289
+ 9,
290
+ 95
291
+ ];
292
+ "accounts": [
293
+ {
294
+ "name": "seasonSettings";
295
+ "pda": {
296
+ "seeds": [
297
+ {
298
+ "kind": "const";
299
+ "value": [
300
+ 115,
301
+ 101,
302
+ 97,
303
+ 115,
304
+ 111,
305
+ 110,
306
+ 95,
307
+ 115,
308
+ 101,
309
+ 116,
310
+ 116,
311
+ 105,
312
+ 110,
313
+ 103,
314
+ 115
315
+ ];
316
+ }
317
+ ];
318
+ };
319
+ },
320
+ {
321
+ "name": "season";
322
+ "writable": true;
323
+ "pda": {
324
+ "seeds": [
325
+ {
326
+ "kind": "const";
327
+ "value": [
328
+ 115,
329
+ 101,
330
+ 97,
331
+ 115,
332
+ 111,
333
+ 110
334
+ ];
335
+ },
336
+ {
337
+ "kind": "arg";
338
+ "path": "seasonNumber";
339
+ }
340
+ ];
341
+ };
342
+ },
343
+ {
344
+ "name": "rewardWindow";
345
+ "writable": true;
346
+ "pda": {
347
+ "seeds": [
348
+ {
349
+ "kind": "const";
350
+ "value": [
351
+ 114,
352
+ 101,
353
+ 119,
354
+ 97,
355
+ 114,
356
+ 100,
357
+ 95,
358
+ 119,
359
+ 105,
360
+ 110,
361
+ 100,
362
+ 111,
363
+ 119
364
+ ];
365
+ },
366
+ {
367
+ "kind": "arg";
368
+ "path": "seasonNumber";
369
+ },
370
+ {
371
+ "kind": "arg";
372
+ "path": "windowNumber";
373
+ }
374
+ ];
375
+ };
376
+ },
377
+ {
378
+ "name": "userWindowParticipation";
379
+ "writable": true;
380
+ "pda": {
381
+ "seeds": [
382
+ {
383
+ "kind": "const";
384
+ "value": [
385
+ 117,
386
+ 115,
387
+ 101,
388
+ 114,
389
+ 95,
390
+ 119,
391
+ 105,
392
+ 110,
393
+ 100,
394
+ 111,
395
+ 119
396
+ ];
397
+ },
398
+ {
399
+ "kind": "account";
400
+ "path": "user";
401
+ },
402
+ {
403
+ "kind": "arg";
404
+ "path": "seasonNumber";
405
+ },
406
+ {
407
+ "kind": "arg";
408
+ "path": "windowNumber";
409
+ },
410
+ {
411
+ "kind": "account";
412
+ "path": "user_window_participation.season_membership_id";
413
+ "account": "userWindowParticipation";
414
+ }
415
+ ];
416
+ };
417
+ },
418
+ {
419
+ "name": "seasonMembership";
420
+ "writable": true;
421
+ "pda": {
422
+ "seeds": [
423
+ {
424
+ "kind": "const";
425
+ "value": [
426
+ 115,
427
+ 101,
428
+ 97,
429
+ 115,
430
+ 111,
431
+ 110,
432
+ 95,
433
+ 109,
434
+ 101,
435
+ 109,
436
+ 98,
437
+ 101,
438
+ 114,
439
+ 115,
440
+ 104,
441
+ 105,
442
+ 112
443
+ ];
444
+ },
445
+ {
446
+ "kind": "account";
447
+ "path": "user";
448
+ },
449
+ {
450
+ "kind": "account";
451
+ "path": "user_window_participation.season_membership_id";
452
+ "account": "userWindowParticipation";
453
+ }
454
+ ];
455
+ };
456
+ },
457
+ {
458
+ "name": "seasonDepositVault";
459
+ "writable": true;
460
+ "pda": {
461
+ "seeds": [
462
+ {
463
+ "kind": "const";
464
+ "value": [
465
+ 115,
466
+ 101,
467
+ 97,
468
+ 115,
469
+ 111,
470
+ 110,
471
+ 95,
472
+ 100,
473
+ 101,
474
+ 112,
475
+ 111,
476
+ 115,
477
+ 105,
478
+ 116,
479
+ 95,
480
+ 118,
481
+ 97,
482
+ 117,
483
+ 108,
484
+ 116
485
+ ];
486
+ }
487
+ ];
488
+ };
489
+ },
490
+ {
491
+ "name": "mizdMint";
492
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
493
+ },
494
+ {
495
+ "name": "userTokenAccount";
496
+ "writable": true;
497
+ },
498
+ {
499
+ "name": "referrerTokenAccount";
500
+ "writable": true;
501
+ },
502
+ {
503
+ "name": "user";
504
+ "signer": true;
505
+ },
506
+ {
507
+ "name": "tokenProgram";
508
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
509
+ }
510
+ ];
511
+ "args": [
512
+ {
513
+ "name": "seasonNumber";
514
+ "type": "u64";
515
+ },
516
+ {
517
+ "name": "windowNumber";
518
+ "type": "u64";
519
+ }
520
+ ];
521
+ },
522
+ {
523
+ "name": "confirmedPostOnX";
524
+ "discriminator": [
525
+ 65,
526
+ 44,
527
+ 52,
528
+ 57,
529
+ 52,
530
+ 84,
531
+ 64,
532
+ 224
533
+ ];
534
+ "accounts": [
535
+ {
536
+ "name": "seasonSettings";
537
+ "pda": {
538
+ "seeds": [
539
+ {
540
+ "kind": "const";
541
+ "value": [
542
+ 115,
543
+ 101,
544
+ 97,
545
+ 115,
546
+ 111,
547
+ 110,
548
+ 95,
549
+ 115,
550
+ 101,
551
+ 116,
552
+ 116,
553
+ 105,
554
+ 110,
555
+ 103,
556
+ 115
557
+ ];
558
+ }
559
+ ];
560
+ };
561
+ },
562
+ {
563
+ "name": "seasonMembership";
564
+ "writable": true;
565
+ "pda": {
566
+ "seeds": [
567
+ {
568
+ "kind": "const";
569
+ "value": [
570
+ 115,
571
+ 101,
572
+ 97,
573
+ 115,
574
+ 111,
575
+ 110,
576
+ 95,
577
+ 109,
578
+ 101,
579
+ 109,
580
+ 98,
581
+ 101,
582
+ 114,
583
+ 115,
584
+ 104,
585
+ 105,
586
+ 112
587
+ ];
588
+ },
589
+ {
590
+ "kind": "arg";
591
+ "path": "user";
592
+ },
593
+ {
594
+ "kind": "arg";
595
+ "path": "seasonMembershipId";
596
+ }
597
+ ];
598
+ };
599
+ },
600
+ {
601
+ "name": "season";
602
+ "writable": true;
603
+ "pda": {
604
+ "seeds": [
605
+ {
606
+ "kind": "const";
607
+ "value": [
608
+ 115,
609
+ 101,
610
+ 97,
611
+ 115,
612
+ 111,
613
+ 110
614
+ ];
615
+ },
616
+ {
617
+ "kind": "account";
618
+ "path": "season_membership.season_number";
619
+ "account": "seasonMembership";
620
+ }
621
+ ];
622
+ };
623
+ },
624
+ {
625
+ "name": "rewardWindow";
626
+ "writable": true;
627
+ "pda": {
628
+ "seeds": [
629
+ {
630
+ "kind": "const";
631
+ "value": [
632
+ 114,
633
+ 101,
634
+ 119,
635
+ 97,
636
+ 114,
637
+ 100,
638
+ 95,
639
+ 119,
640
+ 105,
641
+ 110,
642
+ 100,
643
+ 111,
644
+ 119
645
+ ];
646
+ },
647
+ {
648
+ "kind": "account";
649
+ "path": "season_membership.season_number";
650
+ "account": "seasonMembership";
651
+ },
652
+ {
653
+ "kind": "arg";
654
+ "path": "windowNumber";
655
+ }
656
+ ];
657
+ };
658
+ },
659
+ {
660
+ "name": "userWindowParticipation";
661
+ "writable": true;
662
+ "pda": {
663
+ "seeds": [
664
+ {
665
+ "kind": "const";
666
+ "value": [
667
+ 117,
668
+ 115,
669
+ 101,
670
+ 114,
671
+ 95,
672
+ 119,
673
+ 105,
674
+ 110,
675
+ 100,
676
+ 111,
677
+ 119
678
+ ];
679
+ },
680
+ {
681
+ "kind": "arg";
682
+ "path": "user";
683
+ },
684
+ {
685
+ "kind": "account";
686
+ "path": "season_membership.season_number";
687
+ "account": "seasonMembership";
688
+ },
689
+ {
690
+ "kind": "arg";
691
+ "path": "windowNumber";
692
+ },
693
+ {
694
+ "kind": "arg";
695
+ "path": "seasonMembershipId";
696
+ }
697
+ ];
698
+ };
699
+ },
700
+ {
701
+ "name": "miztake";
702
+ "writable": true;
703
+ "pda": {
704
+ "seeds": [
705
+ {
706
+ "kind": "const";
707
+ "value": [
708
+ 109,
709
+ 105,
710
+ 122,
711
+ 116,
712
+ 97,
713
+ 107,
714
+ 101
715
+ ];
716
+ },
717
+ {
718
+ "kind": "arg";
719
+ "path": "miztakeShaHashBytes";
720
+ }
721
+ ];
722
+ };
723
+ },
724
+ {
725
+ "name": "admin";
726
+ "docs": [
727
+ "SEASON ADMIN account (SeasonSettings.admin - rotatable)",
728
+ "This is the season admin for day-to-day operations (post confirmation)",
729
+ "Can be rotated via update_season_admin instruction"
730
+ ];
731
+ "signer": true;
732
+ }
733
+ ];
734
+ "args": [
735
+ {
736
+ "name": "user";
737
+ "type": "pubkey";
738
+ },
739
+ {
740
+ "name": "seasonMembershipId";
741
+ "type": "u64";
742
+ },
743
+ {
744
+ "name": "windowNumber";
745
+ "type": "u64";
746
+ },
747
+ {
748
+ "name": "miztakeShaHashBytes";
749
+ "type": {
750
+ "array": [
751
+ "u8",
752
+ 32
753
+ ];
754
+ };
755
+ }
756
+ ];
757
+ },
758
+ {
759
+ "name": "createMiztake";
760
+ "discriminator": [
761
+ 221,
762
+ 90,
763
+ 182,
764
+ 65,
765
+ 213,
766
+ 115,
767
+ 93,
768
+ 114
769
+ ];
770
+ "accounts": [
771
+ {
772
+ "name": "miztake";
773
+ "writable": true;
774
+ "pda": {
775
+ "seeds": [
776
+ {
777
+ "kind": "const";
778
+ "value": [
779
+ 109,
780
+ 105,
781
+ 122,
782
+ 116,
783
+ 97,
784
+ 107,
785
+ 101
786
+ ];
787
+ },
788
+ {
789
+ "kind": "arg";
790
+ "path": "shaHashBytes";
791
+ }
792
+ ];
793
+ };
794
+ },
795
+ {
796
+ "name": "userStats";
797
+ "writable": true;
798
+ "pda": {
799
+ "seeds": [
800
+ {
801
+ "kind": "const";
802
+ "value": [
803
+ 117,
804
+ 115,
805
+ 101,
806
+ 114,
807
+ 95,
808
+ 115,
809
+ 116,
810
+ 97,
811
+ 116,
812
+ 115
813
+ ];
814
+ },
815
+ {
816
+ "kind": "arg";
817
+ "path": "telegramId";
818
+ }
819
+ ];
820
+ };
821
+ },
822
+ {
823
+ "name": "miztakeStatistics";
824
+ "writable": true;
825
+ "pda": {
826
+ "seeds": [
827
+ {
828
+ "kind": "const";
829
+ "value": [
830
+ 109,
831
+ 105,
832
+ 122,
833
+ 116,
834
+ 97,
835
+ 107,
836
+ 101,
837
+ 95,
838
+ 115,
839
+ 116,
840
+ 97,
841
+ 116,
842
+ 105,
843
+ 115,
844
+ 116,
845
+ 105,
846
+ 99,
847
+ 115
848
+ ];
849
+ }
850
+ ];
851
+ };
852
+ },
853
+ {
854
+ "name": "seasonSettings";
855
+ "pda": {
856
+ "seeds": [
857
+ {
858
+ "kind": "const";
859
+ "value": [
860
+ 115,
861
+ 101,
862
+ 97,
863
+ 115,
864
+ 111,
865
+ 110,
866
+ 95,
867
+ 115,
868
+ 101,
869
+ 116,
870
+ 116,
871
+ 105,
872
+ 110,
873
+ 103,
874
+ 115
875
+ ];
876
+ }
877
+ ];
878
+ };
879
+ },
880
+ {
881
+ "name": "season";
882
+ "pda": {
883
+ "seeds": [
884
+ {
885
+ "kind": "const";
886
+ "value": [
887
+ 115,
888
+ 101,
889
+ 97,
890
+ 115,
891
+ 111,
892
+ 110
893
+ ];
894
+ },
895
+ {
896
+ "kind": "arg";
897
+ "path": "seasonNumber";
898
+ }
899
+ ];
900
+ };
901
+ },
902
+ {
903
+ "name": "seasonMembership";
904
+ "pda": {
905
+ "seeds": [
906
+ {
907
+ "kind": "const";
908
+ "value": [
909
+ 115,
910
+ 101,
911
+ 97,
912
+ 115,
913
+ 111,
914
+ 110,
915
+ 95,
916
+ 109,
917
+ 101,
918
+ 109,
919
+ 98,
920
+ 101,
921
+ 114,
922
+ 115,
923
+ 104,
924
+ 105,
925
+ 112
926
+ ];
927
+ },
928
+ {
929
+ "kind": "account";
930
+ "path": "user";
931
+ },
932
+ {
933
+ "kind": "arg";
934
+ "path": "seasonMembershipId";
935
+ }
936
+ ];
937
+ };
938
+ },
939
+ {
940
+ "name": "rewardWindow";
941
+ "writable": true;
942
+ "pda": {
943
+ "seeds": [
944
+ {
945
+ "kind": "const";
946
+ "value": [
947
+ 114,
948
+ 101,
949
+ 119,
950
+ 97,
951
+ 114,
952
+ 100,
953
+ 95,
954
+ 119,
955
+ 105,
956
+ 110,
957
+ 100,
958
+ 111,
959
+ 119
960
+ ];
961
+ },
962
+ {
963
+ "kind": "arg";
964
+ "path": "seasonNumber";
965
+ },
966
+ {
967
+ "kind": "arg";
968
+ "path": "windowNumber";
969
+ }
970
+ ];
971
+ };
972
+ },
973
+ {
974
+ "name": "userWindowParticipation";
975
+ "writable": true;
976
+ "pda": {
977
+ "seeds": [
978
+ {
979
+ "kind": "const";
980
+ "value": [
981
+ 117,
982
+ 115,
983
+ 101,
984
+ 114,
985
+ 95,
986
+ 119,
987
+ 105,
988
+ 110,
989
+ 100,
990
+ 111,
991
+ 119
992
+ ];
993
+ },
994
+ {
995
+ "kind": "account";
996
+ "path": "user";
997
+ },
998
+ {
999
+ "kind": "arg";
1000
+ "path": "seasonNumber";
1001
+ },
1002
+ {
1003
+ "kind": "arg";
1004
+ "path": "windowNumber";
1005
+ },
1006
+ {
1007
+ "kind": "arg";
1008
+ "path": "seasonMembershipId";
1009
+ }
1010
+ ];
1011
+ };
1012
+ },
1013
+ {
1014
+ "name": "user";
1015
+ "docs": [
1016
+ "User who created the miztake"
1017
+ ];
1018
+ "writable": true;
1019
+ "signer": true;
1020
+ },
1021
+ {
1022
+ "name": "admin";
1023
+ "docs": [
1024
+ "ROOT ADMIN account (ADMIN_PUBLIC_KEY - immutable)",
1025
+ "This is the root admin for core protocol operations (miztake creation approval)",
1026
+ "Separate from SeasonSettings.admin which handles day-to-day season operations"
1027
+ ];
1028
+ "writable": true;
1029
+ "signer": true;
1030
+ },
1031
+ {
1032
+ "name": "systemProgram";
1033
+ "address": "11111111111111111111111111111111";
1034
+ }
1035
+ ];
1036
+ "args": [
1037
+ {
1038
+ "name": "telegramId";
1039
+ "type": "u64";
1040
+ },
1041
+ {
1042
+ "name": "telegramUsername";
1043
+ "type": "string";
1044
+ },
1045
+ {
1046
+ "name": "perceptualHash";
1047
+ "type": "string";
1048
+ },
1049
+ {
1050
+ "name": "averageHash";
1051
+ "type": "string";
1052
+ },
1053
+ {
1054
+ "name": "differenceHash";
1055
+ "type": "string";
1056
+ },
1057
+ {
1058
+ "name": "waveletHash";
1059
+ "type": "string";
1060
+ },
1061
+ {
1062
+ "name": "shaHash";
1063
+ "type": "string";
1064
+ },
1065
+ {
1066
+ "name": "shaHashBytes";
1067
+ "type": {
1068
+ "array": [
1069
+ "u8",
1070
+ 32
1071
+ ];
1072
+ };
1073
+ },
1074
+ {
1075
+ "name": "computedAt";
1076
+ "type": "string";
1077
+ },
1078
+ {
1079
+ "name": "seasonNumber";
1080
+ "type": "u64";
1081
+ },
1082
+ {
1083
+ "name": "windowNumber";
1084
+ "type": "u64";
1085
+ },
1086
+ {
1087
+ "name": "seasonMembershipId";
1088
+ "type": "u64";
1089
+ }
1090
+ ];
1091
+ },
1092
+ {
1093
+ "name": "initializeEscrowVault";
1094
+ "discriminator": [
1095
+ 61,
1096
+ 154,
1097
+ 64,
1098
+ 227,
1099
+ 167,
1100
+ 114,
1101
+ 244,
1102
+ 221
1103
+ ];
1104
+ "accounts": [
1105
+ {
1106
+ "name": "seasonEscrowVault";
1107
+ "writable": true;
1108
+ "pda": {
1109
+ "seeds": [
1110
+ {
1111
+ "kind": "const";
1112
+ "value": [
1113
+ 115,
1114
+ 101,
1115
+ 97,
1116
+ 115,
1117
+ 111,
1118
+ 110,
1119
+ 95,
1120
+ 101,
1121
+ 115,
1122
+ 99,
1123
+ 114,
1124
+ 111,
1125
+ 119,
1126
+ 95,
1127
+ 118,
1128
+ 97,
1129
+ 117,
1130
+ 108,
1131
+ 116
1132
+ ];
1133
+ }
1134
+ ];
1135
+ };
1136
+ },
1137
+ {
1138
+ "name": "mizdMint";
1139
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
1140
+ },
1141
+ {
1142
+ "name": "admin";
1143
+ "writable": true;
1144
+ "signer": true;
1145
+ },
1146
+ {
1147
+ "name": "tokenProgram";
1148
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
1149
+ },
1150
+ {
1151
+ "name": "systemProgram";
1152
+ "address": "11111111111111111111111111111111";
1153
+ }
1154
+ ];
1155
+ "args": [];
1156
+ },
1157
+ {
1158
+ "name": "initializeSeasonSettings";
1159
+ "discriminator": [
1160
+ 47,
1161
+ 102,
1162
+ 235,
1163
+ 151,
1164
+ 102,
1165
+ 64,
1166
+ 177,
1167
+ 93
1168
+ ];
1169
+ "accounts": [
1170
+ {
1171
+ "name": "seasonSettings";
1172
+ "writable": true;
1173
+ "pda": {
1174
+ "seeds": [
1175
+ {
1176
+ "kind": "const";
1177
+ "value": [
1178
+ 115,
1179
+ 101,
1180
+ 97,
1181
+ 115,
1182
+ 111,
1183
+ 110,
1184
+ 95,
1185
+ 115,
1186
+ 101,
1187
+ 116,
1188
+ 116,
1189
+ 105,
1190
+ 110,
1191
+ 103,
1192
+ 115
1193
+ ];
1194
+ }
1195
+ ];
1196
+ };
1197
+ },
1198
+ {
1199
+ "name": "admin";
1200
+ "docs": [
1201
+ "ROOT ADMIN account (ADMIN_PUBLIC_KEY - immutable)",
1202
+ "This is the root admin for core protocol one-time initialization."
1203
+ ];
1204
+ "writable": true;
1205
+ "signer": true;
1206
+ },
1207
+ {
1208
+ "name": "systemProgram";
1209
+ "address": "11111111111111111111111111111111";
1210
+ }
1211
+ ];
1212
+ "args": [];
1213
+ },
1214
+ {
1215
+ "name": "initializeSeasonVault";
1216
+ "discriminator": [
1217
+ 204,
1218
+ 20,
1219
+ 98,
1220
+ 132,
1221
+ 165,
1222
+ 51,
1223
+ 111,
1224
+ 88
1225
+ ];
1226
+ "accounts": [
1227
+ {
1228
+ "name": "seasonDepositVault";
1229
+ "writable": true;
1230
+ "pda": {
1231
+ "seeds": [
1232
+ {
1233
+ "kind": "const";
1234
+ "value": [
1235
+ 115,
1236
+ 101,
1237
+ 97,
1238
+ 115,
1239
+ 111,
1240
+ 110,
1241
+ 95,
1242
+ 100,
1243
+ 101,
1244
+ 112,
1245
+ 111,
1246
+ 115,
1247
+ 105,
1248
+ 116,
1249
+ 95,
1250
+ 118,
1251
+ 97,
1252
+ 117,
1253
+ 108,
1254
+ 116
1255
+ ];
1256
+ }
1257
+ ];
1258
+ };
1259
+ },
1260
+ {
1261
+ "name": "mizdMint";
1262
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
1263
+ },
1264
+ {
1265
+ "name": "admin";
1266
+ "docs": [
1267
+ "ROOT ADMIN account (ADMIN_PUBLIC_KEY - immutable)"
1268
+ ];
1269
+ "writable": true;
1270
+ "signer": true;
1271
+ },
1272
+ {
1273
+ "name": "tokenProgram";
1274
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
1275
+ },
1276
+ {
1277
+ "name": "systemProgram";
1278
+ "address": "11111111111111111111111111111111";
1279
+ }
1280
+ ];
1281
+ "args": [];
1282
+ },
1283
+ {
1284
+ "name": "initializeStatistics";
1285
+ "discriminator": [
1286
+ 129,
1287
+ 124,
1288
+ 166,
1289
+ 22,
1290
+ 217,
1291
+ 242,
1292
+ 69,
1293
+ 180
1294
+ ];
1295
+ "accounts": [
1296
+ {
1297
+ "name": "miztakeStatistics";
1298
+ "writable": true;
1299
+ "pda": {
1300
+ "seeds": [
1301
+ {
1302
+ "kind": "const";
1303
+ "value": [
1304
+ 109,
1305
+ 105,
1306
+ 122,
1307
+ 116,
1308
+ 97,
1309
+ 107,
1310
+ 101,
1311
+ 95,
1312
+ 115,
1313
+ 116,
1314
+ 97,
1315
+ 116,
1316
+ 105,
1317
+ 115,
1318
+ 116,
1319
+ 105,
1320
+ 99,
1321
+ 115
1322
+ ];
1323
+ }
1324
+ ];
1325
+ };
1326
+ },
1327
+ {
1328
+ "name": "admin";
1329
+ "docs": [
1330
+ "ROOT ADMIN account (ADMIN_PUBLIC_KEY - immutable)",
1331
+ "Required for one-time statistics initialization"
1332
+ ];
1333
+ "signer": true;
1334
+ },
1335
+ {
1336
+ "name": "payer";
1337
+ "writable": true;
1338
+ "signer": true;
1339
+ },
1340
+ {
1341
+ "name": "systemProgram";
1342
+ "address": "11111111111111111111111111111111";
1343
+ }
1344
+ ];
1345
+ "args": [];
1346
+ },
1347
+ {
1348
+ "name": "joinSeason";
1349
+ "discriminator": [
1350
+ 36,
1351
+ 202,
1352
+ 202,
1353
+ 158,
1354
+ 82,
1355
+ 34,
1356
+ 248,
1357
+ 231
1358
+ ];
1359
+ "accounts": [
1360
+ {
1361
+ "name": "seasonSettings";
1362
+ "writable": true;
1363
+ "pda": {
1364
+ "seeds": [
1365
+ {
1366
+ "kind": "const";
1367
+ "value": [
1368
+ 115,
1369
+ 101,
1370
+ 97,
1371
+ 115,
1372
+ 111,
1373
+ 110,
1374
+ 95,
1375
+ 115,
1376
+ 101,
1377
+ 116,
1378
+ 116,
1379
+ 105,
1380
+ 110,
1381
+ 103,
1382
+ 115
1383
+ ];
1384
+ }
1385
+ ];
1386
+ };
1387
+ },
1388
+ {
1389
+ "name": "season";
1390
+ "writable": true;
1391
+ "pda": {
1392
+ "seeds": [
1393
+ {
1394
+ "kind": "const";
1395
+ "value": [
1396
+ 115,
1397
+ 101,
1398
+ 97,
1399
+ 115,
1400
+ 111,
1401
+ 110
1402
+ ];
1403
+ },
1404
+ {
1405
+ "kind": "arg";
1406
+ "path": "seasonNumber";
1407
+ }
1408
+ ];
1409
+ };
1410
+ },
1411
+ {
1412
+ "name": "seasonMembership";
1413
+ "writable": true;
1414
+ "pda": {
1415
+ "seeds": [
1416
+ {
1417
+ "kind": "const";
1418
+ "value": [
1419
+ 115,
1420
+ 101,
1421
+ 97,
1422
+ 115,
1423
+ 111,
1424
+ 110,
1425
+ 95,
1426
+ 109,
1427
+ 101,
1428
+ 109,
1429
+ 98,
1430
+ 101,
1431
+ 114,
1432
+ 115,
1433
+ 104,
1434
+ 105,
1435
+ 112
1436
+ ];
1437
+ },
1438
+ {
1439
+ "kind": "account";
1440
+ "path": "user";
1441
+ },
1442
+ {
1443
+ "kind": "arg";
1444
+ "path": "seasonMembershipId";
1445
+ }
1446
+ ];
1447
+ };
1448
+ },
1449
+ {
1450
+ "name": "seasonDepositVault";
1451
+ "writable": true;
1452
+ "pda": {
1453
+ "seeds": [
1454
+ {
1455
+ "kind": "const";
1456
+ "value": [
1457
+ 115,
1458
+ 101,
1459
+ 97,
1460
+ 115,
1461
+ 111,
1462
+ 110,
1463
+ 95,
1464
+ 100,
1465
+ 101,
1466
+ 112,
1467
+ 111,
1468
+ 115,
1469
+ 105,
1470
+ 116,
1471
+ 95,
1472
+ 118,
1473
+ 97,
1474
+ 117,
1475
+ 108,
1476
+ 116
1477
+ ];
1478
+ }
1479
+ ];
1480
+ };
1481
+ },
1482
+ {
1483
+ "name": "seasonEscrowVault";
1484
+ "writable": true;
1485
+ "pda": {
1486
+ "seeds": [
1487
+ {
1488
+ "kind": "const";
1489
+ "value": [
1490
+ 115,
1491
+ 101,
1492
+ 97,
1493
+ 115,
1494
+ 111,
1495
+ 110,
1496
+ 95,
1497
+ 101,
1498
+ 115,
1499
+ 99,
1500
+ 114,
1501
+ 111,
1502
+ 119,
1503
+ 95,
1504
+ 118,
1505
+ 97,
1506
+ 117,
1507
+ 108,
1508
+ 116
1509
+ ];
1510
+ }
1511
+ ];
1512
+ };
1513
+ },
1514
+ {
1515
+ "name": "mizdMint";
1516
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
1517
+ },
1518
+ {
1519
+ "name": "userTokenAccount";
1520
+ "writable": true;
1521
+ },
1522
+ {
1523
+ "name": "user";
1524
+ "writable": true;
1525
+ "signer": true;
1526
+ },
1527
+ {
1528
+ "name": "tokenProgram";
1529
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
1530
+ },
1531
+ {
1532
+ "name": "systemProgram";
1533
+ "address": "11111111111111111111111111111111";
1534
+ }
1535
+ ];
1536
+ "args": [
1537
+ {
1538
+ "name": "seasonMembershipId";
1539
+ "type": "u64";
1540
+ },
1541
+ {
1542
+ "name": "seasonNumber";
1543
+ "type": "u64";
1544
+ },
1545
+ {
1546
+ "name": "depositTier";
1547
+ "type": {
1548
+ "defined": {
1549
+ "name": "seasonDepositTier";
1550
+ };
1551
+ };
1552
+ },
1553
+ {
1554
+ "name": "referrer";
1555
+ "type": "pubkey";
1556
+ }
1557
+ ];
1558
+ },
1559
+ {
1560
+ "name": "toggleSeasonPause";
1561
+ "discriminator": [
1562
+ 219,
1563
+ 104,
1564
+ 185,
1565
+ 18,
1566
+ 26,
1567
+ 249,
1568
+ 117,
1569
+ 51
1570
+ ];
1571
+ "accounts": [
1572
+ {
1573
+ "name": "seasonSettings";
1574
+ "writable": true;
1575
+ "pda": {
1576
+ "seeds": [
1577
+ {
1578
+ "kind": "const";
1579
+ "value": [
1580
+ 115,
1581
+ 101,
1582
+ 97,
1583
+ 115,
1584
+ 111,
1585
+ 110,
1586
+ 95,
1587
+ 115,
1588
+ 101,
1589
+ 116,
1590
+ 116,
1591
+ 105,
1592
+ 110,
1593
+ 103,
1594
+ 115
1595
+ ];
1596
+ }
1597
+ ];
1598
+ };
1599
+ },
1600
+ {
1601
+ "name": "admin";
1602
+ "docs": [
1603
+ "Admin account (verified via helper)"
1604
+ ];
1605
+ "signer": true;
1606
+ }
1607
+ ];
1608
+ "args": [];
1609
+ },
1610
+ {
1611
+ "name": "updateSeasonAdmin";
1612
+ "discriminator": [
1613
+ 110,
1614
+ 248,
1615
+ 154,
1616
+ 206,
1617
+ 201,
1618
+ 69,
1619
+ 145,
1620
+ 19
1621
+ ];
1622
+ "accounts": [
1623
+ {
1624
+ "name": "seasonSettings";
1625
+ "writable": true;
1626
+ "pda": {
1627
+ "seeds": [
1628
+ {
1629
+ "kind": "const";
1630
+ "value": [
1631
+ 115,
1632
+ 101,
1633
+ 97,
1634
+ 115,
1635
+ 111,
1636
+ 110,
1637
+ 95,
1638
+ 115,
1639
+ 101,
1640
+ 116,
1641
+ 116,
1642
+ 105,
1643
+ 110,
1644
+ 103,
1645
+ 115
1646
+ ];
1647
+ }
1648
+ ];
1649
+ };
1650
+ },
1651
+ {
1652
+ "name": "currentAdmin";
1653
+ "docs": [
1654
+ "Current admin account (verified via helper)"
1655
+ ];
1656
+ "signer": true;
1657
+ }
1658
+ ];
1659
+ "args": [
1660
+ {
1661
+ "name": "newAdmin";
1662
+ "type": "pubkey";
1663
+ }
1664
+ ];
1665
+ },
1666
+ {
1667
+ "name": "viewCurrentSeason";
1668
+ "discriminator": [
1669
+ 76,
1670
+ 129,
1671
+ 100,
1672
+ 27,
1673
+ 148,
1674
+ 87,
1675
+ 190,
1676
+ 57
1677
+ ];
1678
+ "accounts": [
1679
+ {
1680
+ "name": "seasonSettings";
1681
+ "pda": {
1682
+ "seeds": [
1683
+ {
1684
+ "kind": "const";
1685
+ "value": [
1686
+ 115,
1687
+ 101,
1688
+ 97,
1689
+ 115,
1690
+ 111,
1691
+ 110,
1692
+ 95,
1693
+ 115,
1694
+ 101,
1695
+ 116,
1696
+ 116,
1697
+ 105,
1698
+ 110,
1699
+ 103,
1700
+ 115
1701
+ ];
1702
+ }
1703
+ ];
1704
+ };
1705
+ },
1706
+ {
1707
+ "name": "season";
1708
+ }
1709
+ ];
1710
+ "args": [];
1711
+ "returns": {
1712
+ "defined": {
1713
+ "name": "currentSeasonView";
1714
+ };
1715
+ };
1716
+ },
1717
+ {
1718
+ "name": "viewSeasonMembershipStatus";
1719
+ "discriminator": [
1720
+ 60,
1721
+ 141,
1722
+ 192,
1723
+ 3,
1724
+ 159,
1725
+ 138,
1726
+ 206,
1727
+ 207
1728
+ ];
1729
+ "accounts": [
1730
+ {
1731
+ "name": "seasonSettings";
1732
+ "pda": {
1733
+ "seeds": [
1734
+ {
1735
+ "kind": "const";
1736
+ "value": [
1737
+ 115,
1738
+ 101,
1739
+ 97,
1740
+ 115,
1741
+ 111,
1742
+ 110,
1743
+ 95,
1744
+ 115,
1745
+ 101,
1746
+ 116,
1747
+ 116,
1748
+ 105,
1749
+ 110,
1750
+ 103,
1751
+ 115
1752
+ ];
1753
+ }
1754
+ ];
1755
+ };
1756
+ },
1757
+ {
1758
+ "name": "season";
1759
+ "pda": {
1760
+ "seeds": [
1761
+ {
1762
+ "kind": "const";
1763
+ "value": [
1764
+ 115,
1765
+ 101,
1766
+ 97,
1767
+ 115,
1768
+ 111,
1769
+ 110
1770
+ ];
1771
+ },
1772
+ {
1773
+ "kind": "account";
1774
+ "path": "season_membership.season_number";
1775
+ "account": "seasonMembership";
1776
+ }
1777
+ ];
1778
+ };
1779
+ },
1780
+ {
1781
+ "name": "seasonMembership";
1782
+ }
1783
+ ];
1784
+ "args": [];
1785
+ "returns": {
1786
+ "defined": {
1787
+ "name": "seasonMembershipStatusView";
1788
+ };
1789
+ };
1790
+ },
1791
+ {
1792
+ "name": "viewWindowStatus";
1793
+ "discriminator": [
1794
+ 41,
1795
+ 1,
1796
+ 169,
1797
+ 46,
1798
+ 223,
1799
+ 218,
1800
+ 51,
1801
+ 241
1802
+ ];
1803
+ "accounts": [
1804
+ {
1805
+ "name": "rewardWindow";
1806
+ }
1807
+ ];
1808
+ "args": [];
1809
+ "returns": {
1810
+ "defined": {
1811
+ "name": "windowStatusView";
1812
+ };
1813
+ };
1814
+ },
1815
+ {
1816
+ "name": "withdrawSeasonDeposit";
1817
+ "discriminator": [
1818
+ 225,
1819
+ 167,
1820
+ 83,
1821
+ 31,
1822
+ 26,
1823
+ 222,
1824
+ 40,
1825
+ 44
1826
+ ];
1827
+ "accounts": [
1828
+ {
1829
+ "name": "seasonSettings";
1830
+ "writable": true;
1831
+ "pda": {
1832
+ "seeds": [
1833
+ {
1834
+ "kind": "const";
1835
+ "value": [
1836
+ 115,
1837
+ 101,
1838
+ 97,
1839
+ 115,
1840
+ 111,
1841
+ 110,
1842
+ 95,
1843
+ 115,
1844
+ 101,
1845
+ 116,
1846
+ 116,
1847
+ 105,
1848
+ 110,
1849
+ 103,
1850
+ 115
1851
+ ];
1852
+ }
1853
+ ];
1854
+ };
1855
+ },
1856
+ {
1857
+ "name": "season";
1858
+ "writable": true;
1859
+ "pda": {
1860
+ "seeds": [
1861
+ {
1862
+ "kind": "const";
1863
+ "value": [
1864
+ 115,
1865
+ 101,
1866
+ 97,
1867
+ 115,
1868
+ 111,
1869
+ 110
1870
+ ];
1871
+ },
1872
+ {
1873
+ "kind": "account";
1874
+ "path": "season_membership.season_number";
1875
+ "account": "seasonMembership";
1876
+ }
1877
+ ];
1878
+ };
1879
+ },
1880
+ {
1881
+ "name": "seasonMembership";
1882
+ "writable": true;
1883
+ "pda": {
1884
+ "seeds": [
1885
+ {
1886
+ "kind": "const";
1887
+ "value": [
1888
+ 115,
1889
+ 101,
1890
+ 97,
1891
+ 115,
1892
+ 111,
1893
+ 110,
1894
+ 95,
1895
+ 109,
1896
+ 101,
1897
+ 109,
1898
+ 98,
1899
+ 101,
1900
+ 114,
1901
+ 115,
1902
+ 104,
1903
+ 105,
1904
+ 112
1905
+ ];
1906
+ },
1907
+ {
1908
+ "kind": "account";
1909
+ "path": "user";
1910
+ },
1911
+ {
1912
+ "kind": "account";
1913
+ "path": "season_membership.id";
1914
+ "account": "seasonMembership";
1915
+ }
1916
+ ];
1917
+ };
1918
+ },
1919
+ {
1920
+ "name": "seasonDepositVault";
1921
+ "writable": true;
1922
+ "pda": {
1923
+ "seeds": [
1924
+ {
1925
+ "kind": "const";
1926
+ "value": [
1927
+ 115,
1928
+ 101,
1929
+ 97,
1930
+ 115,
1931
+ 111,
1932
+ 110,
1933
+ 95,
1934
+ 100,
1935
+ 101,
1936
+ 112,
1937
+ 111,
1938
+ 115,
1939
+ 105,
1940
+ 116,
1941
+ 95,
1942
+ 118,
1943
+ 97,
1944
+ 117,
1945
+ 108,
1946
+ 116
1947
+ ];
1948
+ }
1949
+ ];
1950
+ };
1951
+ },
1952
+ {
1953
+ "name": "seasonEscrowVault";
1954
+ "writable": true;
1955
+ "pda": {
1956
+ "seeds": [
1957
+ {
1958
+ "kind": "const";
1959
+ "value": [
1960
+ 115,
1961
+ 101,
1962
+ 97,
1963
+ 115,
1964
+ 111,
1965
+ 110,
1966
+ 95,
1967
+ 101,
1968
+ 115,
1969
+ 99,
1970
+ 114,
1971
+ 111,
1972
+ 119,
1973
+ 95,
1974
+ 118,
1975
+ 97,
1976
+ 117,
1977
+ 108,
1978
+ 116
1979
+ ];
1980
+ }
1981
+ ];
1982
+ };
1983
+ },
1984
+ {
1985
+ "name": "mizdMint";
1986
+ "address": "mizdS9fDNUKWZcXBeRhJoJQHJJmsTeF4fFRyPdXWv99";
1987
+ },
1988
+ {
1989
+ "name": "userTokenAccount";
1990
+ "writable": true;
1991
+ },
1992
+ {
1993
+ "name": "user";
1994
+ "signer": true;
1995
+ },
1996
+ {
1997
+ "name": "tokenProgram";
1998
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
1999
+ }
2000
+ ];
2001
+ "args": [];
2002
+ }
2003
+ ];
2004
+ "accounts": [
2005
+ {
2006
+ "name": "miztake";
2007
+ "discriminator": [
2008
+ 129,
2009
+ 206,
2010
+ 211,
2011
+ 252,
2012
+ 240,
2013
+ 167,
2014
+ 211,
2015
+ 33
2016
+ ];
2017
+ },
2018
+ {
2019
+ "name": "miztakeStatistics";
2020
+ "discriminator": [
2021
+ 117,
2022
+ 72,
2023
+ 186,
2024
+ 23,
2025
+ 192,
2026
+ 11,
2027
+ 30,
2028
+ 211
2029
+ ];
2030
+ },
2031
+ {
2032
+ "name": "referralPenaltyClaim";
2033
+ "discriminator": [
2034
+ 123,
2035
+ 213,
2036
+ 130,
2037
+ 197,
2038
+ 108,
2039
+ 102,
2040
+ 61,
2041
+ 214
2042
+ ];
2043
+ },
2044
+ {
2045
+ "name": "rewardWindow";
2046
+ "discriminator": [
2047
+ 24,
2048
+ 236,
2049
+ 122,
2050
+ 67,
2051
+ 55,
2052
+ 183,
2053
+ 103,
2054
+ 82
2055
+ ];
2056
+ },
2057
+ {
2058
+ "name": "season";
2059
+ "discriminator": [
2060
+ 76,
2061
+ 67,
2062
+ 93,
2063
+ 156,
2064
+ 180,
2065
+ 157,
2066
+ 248,
2067
+ 47
2068
+ ];
2069
+ },
2070
+ {
2071
+ "name": "seasonMembership";
2072
+ "discriminator": [
2073
+ 206,
2074
+ 10,
2075
+ 3,
2076
+ 120,
2077
+ 168,
2078
+ 33,
2079
+ 47,
2080
+ 103
2081
+ ];
2082
+ },
2083
+ {
2084
+ "name": "seasonSettings";
2085
+ "discriminator": [
2086
+ 1,
2087
+ 18,
2088
+ 140,
2089
+ 59,
2090
+ 137,
2091
+ 33,
2092
+ 168,
2093
+ 162
2094
+ ];
2095
+ },
2096
+ {
2097
+ "name": "userStats";
2098
+ "discriminator": [
2099
+ 176,
2100
+ 223,
2101
+ 136,
2102
+ 27,
2103
+ 122,
2104
+ 79,
2105
+ 32,
2106
+ 227
2107
+ ];
2108
+ },
2109
+ {
2110
+ "name": "userWindowParticipation";
2111
+ "discriminator": [
2112
+ 209,
2113
+ 255,
2114
+ 41,
2115
+ 42,
2116
+ 4,
2117
+ 20,
2118
+ 122,
2119
+ 30
2120
+ ];
2121
+ }
2122
+ ];
2123
+ "events": [
2124
+ {
2125
+ "name": "miztakeCreated";
2126
+ "discriminator": [
2127
+ 31,
2128
+ 177,
2129
+ 151,
2130
+ 81,
2131
+ 77,
2132
+ 97,
2133
+ 39,
2134
+ 14
2135
+ ];
2136
+ },
2137
+ {
2138
+ "name": "postConfirmed";
2139
+ "discriminator": [
2140
+ 166,
2141
+ 81,
2142
+ 224,
2143
+ 32,
2144
+ 49,
2145
+ 74,
2146
+ 62,
2147
+ 45
2148
+ ];
2149
+ },
2150
+ {
2151
+ "name": "referralPenaltyClaimed";
2152
+ "discriminator": [
2153
+ 214,
2154
+ 61,
2155
+ 130,
2156
+ 197,
2157
+ 204,
2158
+ 74,
2159
+ 63,
2160
+ 196
2161
+ ];
2162
+ },
2163
+ {
2164
+ "name": "referralRewardPaid";
2165
+ "discriminator": [
2166
+ 247,
2167
+ 206,
2168
+ 14,
2169
+ 191,
2170
+ 85,
2171
+ 164,
2172
+ 46,
2173
+ 228
2174
+ ];
2175
+ },
2176
+ {
2177
+ "name": "seasonAdminUpdated";
2178
+ "discriminator": [
2179
+ 157,
2180
+ 243,
2181
+ 217,
2182
+ 33,
2183
+ 45,
2184
+ 103,
2185
+ 74,
2186
+ 124
2187
+ ];
2188
+ },
2189
+ {
2190
+ "name": "seasonDepositWithdrawn";
2191
+ "discriminator": [
2192
+ 68,
2193
+ 246,
2194
+ 67,
2195
+ 191,
2196
+ 70,
2197
+ 105,
2198
+ 44,
2199
+ 27
2200
+ ];
2201
+ },
2202
+ {
2203
+ "name": "seasonFinalized";
2204
+ "discriminator": [
2205
+ 17,
2206
+ 0,
2207
+ 146,
2208
+ 8,
2209
+ 1,
2210
+ 167,
2211
+ 147,
2212
+ 101
2213
+ ];
2214
+ },
2215
+ {
2216
+ "name": "seasonInitialized";
2217
+ "discriminator": [
2218
+ 192,
2219
+ 104,
2220
+ 122,
2221
+ 236,
2222
+ 147,
2223
+ 151,
2224
+ 4,
2225
+ 93
2226
+ ];
2227
+ },
2228
+ {
2229
+ "name": "seasonJoined";
2230
+ "discriminator": [
2231
+ 85,
2232
+ 246,
2233
+ 110,
2234
+ 209,
2235
+ 46,
2236
+ 188,
2237
+ 215,
2238
+ 93
2239
+ ];
2240
+ },
2241
+ {
2242
+ "name": "seasonSystemPauseToggled";
2243
+ "discriminator": [
2244
+ 152,
2245
+ 81,
2246
+ 137,
2247
+ 83,
2248
+ 147,
2249
+ 138,
2250
+ 200,
2251
+ 123
2252
+ ];
2253
+ },
2254
+ {
2255
+ "name": "windowFinalized";
2256
+ "discriminator": [
2257
+ 88,
2258
+ 205,
2259
+ 50,
2260
+ 2,
2261
+ 189,
2262
+ 54,
2263
+ 157,
2264
+ 192
2265
+ ];
2266
+ },
2267
+ {
2268
+ "name": "windowRewardClaimed";
2269
+ "discriminator": [
2270
+ 226,
2271
+ 46,
2272
+ 195,
2273
+ 61,
2274
+ 7,
2275
+ 100,
2276
+ 120,
2277
+ 152
2278
+ ];
2279
+ }
2280
+ ];
2281
+ "errors": [
2282
+ {
2283
+ "code": 6000;
2284
+ "name": "usernameTooLong";
2285
+ "msg": "Telegram username cannot be longer than 21 characters";
2286
+ },
2287
+ {
2288
+ "code": 6001;
2289
+ "name": "unauthorized";
2290
+ "msg": "Unauthorized: Only admin can perform this action";
2291
+ },
2292
+ {
2293
+ "code": 6002;
2294
+ "name": "overflow";
2295
+ "msg": "Arithmetic overflow";
2296
+ },
2297
+ {
2298
+ "code": 6003;
2299
+ "name": "insufficientVaultBalance";
2300
+ "msg": "Insufficient vault balance";
2301
+ },
2302
+ {
2303
+ "code": 6004;
2304
+ "name": "invalidHashLength";
2305
+ "msg": "SHA hash must be 64 hex characters (32 bytes)";
2306
+ },
2307
+ {
2308
+ "code": 6005;
2309
+ "name": "invalidHashFormat";
2310
+ "msg": "Invalid hash format (must be hex string)";
2311
+ },
2312
+ {
2313
+ "code": 6006;
2314
+ "name": "seasonSystemPaused";
2315
+ "msg": "Season system is paused";
2316
+ },
2317
+ {
2318
+ "code": 6007;
2319
+ "name": "cannotInitializeNewSeason";
2320
+ "msg": "Cannot initialize new season yet";
2321
+ },
2322
+ {
2323
+ "code": 6008;
2324
+ "name": "previousSeasonStillActive";
2325
+ "msg": "Previous season is still active";
2326
+ },
2327
+ {
2328
+ "code": 6009;
2329
+ "name": "seasonNotActive";
2330
+ "msg": "Season is not active";
2331
+ },
2332
+ {
2333
+ "code": 6010;
2334
+ "name": "seasonEnded";
2335
+ "msg": "Season has ended";
2336
+ },
2337
+ {
2338
+ "code": 6011;
2339
+ "name": "seasonStillActive";
2340
+ "msg": "Season is still active (cannot withdraw yet)";
2341
+ },
2342
+ {
2343
+ "code": 6012;
2344
+ "name": "invalidTimestamp";
2345
+ "msg": "Invalid timestamp";
2346
+ },
2347
+ {
2348
+ "code": 6013;
2349
+ "name": "invalidWindowNumber";
2350
+ "msg": "Invalid window number";
2351
+ },
2352
+ {
2353
+ "code": 6014;
2354
+ "name": "invalidSeasonMembership";
2355
+ "msg": "Invalid season membership";
2356
+ },
2357
+ {
2358
+ "code": 6015;
2359
+ "name": "seasonMembershipInactive";
2360
+ "msg": "Season membership is inactive";
2361
+ },
2362
+ {
2363
+ "code": 6016;
2364
+ "name": "wrongSeason";
2365
+ "msg": "Wrong season";
2366
+ },
2367
+ {
2368
+ "code": 6017;
2369
+ "name": "alreadyPostedThisWindow";
2370
+ "msg": "User already posted in this window";
2371
+ },
2372
+ {
2373
+ "code": 6018;
2374
+ "name": "miztakeNotInWindow";
2375
+ "msg": "Miztake was not created within the reward window";
2376
+ },
2377
+ {
2378
+ "code": 6019;
2379
+ "name": "miztakeOwnershipMismatch";
2380
+ "msg": "Miztake does not belong to the user";
2381
+ },
2382
+ {
2383
+ "code": 6020;
2384
+ "name": "miztakeAlreadyUsed";
2385
+ "msg": "Miztake has already been used for another season window";
2386
+ },
2387
+ {
2388
+ "code": 6021;
2389
+ "name": "windowStillActive";
2390
+ "msg": "Window is still active (cannot finalize yet)";
2391
+ },
2392
+ {
2393
+ "code": 6022;
2394
+ "name": "windowConfirmationClosed";
2395
+ "msg": "Confirmation closed for this window (claim buffer has started)";
2396
+ },
2397
+ {
2398
+ "code": 6023;
2399
+ "name": "windowUninitialized";
2400
+ "msg": "Window is not initialized";
2401
+ },
2402
+ {
2403
+ "code": 6024;
2404
+ "name": "didNotPostSuccessfully";
2405
+ "msg": "User did not post successfully in this window";
2406
+ },
2407
+ {
2408
+ "code": 6025;
2409
+ "name": "rewardAlreadyClaimed";
2410
+ "msg": "Reward already claimed";
2411
+ },
2412
+ {
2413
+ "code": 6026;
2414
+ "name": "depositAlreadyWithdrawn";
2415
+ "msg": "Deposit already withdrawn";
2416
+ },
2417
+ {
2418
+ "code": 6027;
2419
+ "name": "divisionByZero";
2420
+ "msg": "Division by zero";
2421
+ },
2422
+ {
2423
+ "code": 6028;
2424
+ "name": "seasonFull";
2425
+ "msg": "Season is full (maximum members reached)";
2426
+ },
2427
+ {
2428
+ "code": 6029;
2429
+ "name": "miztakeAlreadyExistsForWindow";
2430
+ "msg": "A miztake already exists for this window participation";
2431
+ },
2432
+ {
2433
+ "code": 6030;
2434
+ "name": "miztakeMismatch";
2435
+ "msg": "Miztake does not match the participation record";
2436
+ },
2437
+ {
2438
+ "code": 6031;
2439
+ "name": "invalidContext";
2440
+ "msg": "Invalid context for lazy initialization";
2441
+ },
2442
+ {
2443
+ "code": 6032;
2444
+ "name": "invalidSeasonSettings";
2445
+ "msg": "Invalid season settings configuration";
2446
+ },
2447
+ {
2448
+ "code": 6033;
2449
+ "name": "invalidReferrer";
2450
+ "msg": "Invalid referrer";
2451
+ },
2452
+ {
2453
+ "code": 6034;
2454
+ "name": "invalidReferrerTokenAccount";
2455
+ "msg": "Invalid referrer token account";
2456
+ },
2457
+ {
2458
+ "code": 6035;
2459
+ "name": "referralPenaltyAlreadyClaimed";
2460
+ "msg": "Referral penalty already claimed for this user/window";
2461
+ },
2462
+ {
2463
+ "code": 6036;
2464
+ "name": "referralPenaltyClaimNotAvailableYet";
2465
+ "msg": "Referral penalty claim not available yet (must wait until window end + claim buffer)";
2466
+ },
2467
+ {
2468
+ "code": 6037;
2469
+ "name": "referralPenaltyNotEligibleForWindow";
2470
+ "msg": "Referred user was not eligible for this window";
2471
+ },
2472
+ {
2473
+ "code": 6038;
2474
+ "name": "referralPenaltyNoMissedPenalty";
2475
+ "msg": "Referred user posted successfully (no penalty to claim)";
2476
+ }
2477
+ ];
2478
+ "types": [
2479
+ {
2480
+ "name": "currentSeasonView";
2481
+ "type": {
2482
+ "kind": "struct";
2483
+ "fields": [
2484
+ {
2485
+ "name": "seasonNumber";
2486
+ "type": "u64";
2487
+ },
2488
+ {
2489
+ "name": "startedAt";
2490
+ "type": "i64";
2491
+ },
2492
+ {
2493
+ "name": "endsAt";
2494
+ "type": "i64";
2495
+ },
2496
+ {
2497
+ "name": "totalWindows";
2498
+ "type": "u8";
2499
+ },
2500
+ {
2501
+ "name": "totalMembers";
2502
+ "type": "u64";
2503
+ },
2504
+ {
2505
+ "name": "totalDepositsHeld";
2506
+ "type": "u64";
2507
+ },
2508
+ {
2509
+ "name": "totalSuccessfulPosts";
2510
+ "type": "u64";
2511
+ },
2512
+ {
2513
+ "name": "totalPenaltiesCollected";
2514
+ "type": "u64";
2515
+ },
2516
+ {
2517
+ "name": "currentWindowNumber";
2518
+ "type": "u64";
2519
+ },
2520
+ {
2521
+ "name": "windowsRemaining";
2522
+ "type": "u64";
2523
+ },
2524
+ {
2525
+ "name": "timeRemaining";
2526
+ "type": "i64";
2527
+ },
2528
+ {
2529
+ "name": "isActive";
2530
+ "type": "bool";
2531
+ },
2532
+ {
2533
+ "name": "isJoinable";
2534
+ "type": "bool";
2535
+ }
2536
+ ];
2537
+ };
2538
+ },
2539
+ {
2540
+ "name": "miztake";
2541
+ "type": {
2542
+ "kind": "struct";
2543
+ "fields": [
2544
+ {
2545
+ "name": "id";
2546
+ "type": "u64";
2547
+ },
2548
+ {
2549
+ "name": "telegramId";
2550
+ "type": "u64";
2551
+ },
2552
+ {
2553
+ "name": "telegramUsername";
2554
+ "type": "string";
2555
+ },
2556
+ {
2557
+ "name": "perceptualHash";
2558
+ "type": "string";
2559
+ },
2560
+ {
2561
+ "name": "averageHash";
2562
+ "type": "string";
2563
+ },
2564
+ {
2565
+ "name": "differenceHash";
2566
+ "type": "string";
2567
+ },
2568
+ {
2569
+ "name": "waveletHash";
2570
+ "type": "string";
2571
+ },
2572
+ {
2573
+ "name": "shaHash";
2574
+ "type": "string";
2575
+ },
2576
+ {
2577
+ "name": "computedAt";
2578
+ "type": "string";
2579
+ },
2580
+ {
2581
+ "name": "creator";
2582
+ "type": "pubkey";
2583
+ },
2584
+ {
2585
+ "name": "userStats";
2586
+ "type": "pubkey";
2587
+ },
2588
+ {
2589
+ "name": "userKey";
2590
+ "type": "pubkey";
2591
+ },
2592
+ {
2593
+ "name": "onchainCreatedAt";
2594
+ "docs": [
2595
+ "Timestamp when miztake was created"
2596
+ ];
2597
+ "type": "i64";
2598
+ },
2599
+ {
2600
+ "name": "usedInSeason";
2601
+ "docs": [
2602
+ "Season number where this Miztake was used (0 if never used)"
2603
+ ];
2604
+ "type": "u64";
2605
+ },
2606
+ {
2607
+ "name": "usedInWindow";
2608
+ "docs": [
2609
+ "Window number where this Miztake was used (0 if never used)"
2610
+ ];
2611
+ "type": "u64";
2612
+ }
2613
+ ];
2614
+ };
2615
+ },
2616
+ {
2617
+ "name": "miztakeCreated";
2618
+ "type": {
2619
+ "kind": "struct";
2620
+ "fields": [
2621
+ {
2622
+ "name": "miztakeId";
2623
+ "type": "u64";
2624
+ },
2625
+ {
2626
+ "name": "telegramId";
2627
+ "type": "u64";
2628
+ },
2629
+ {
2630
+ "name": "telegramUsername";
2631
+ "type": "string";
2632
+ },
2633
+ {
2634
+ "name": "creator";
2635
+ "type": "pubkey";
2636
+ },
2637
+ {
2638
+ "name": "userStats";
2639
+ "type": "pubkey";
2640
+ },
2641
+ {
2642
+ "name": "seasonNumber";
2643
+ "type": "u64";
2644
+ },
2645
+ {
2646
+ "name": "windowNumber";
2647
+ "type": "u64";
2648
+ },
2649
+ {
2650
+ "name": "seasonMembershipId";
2651
+ "type": "u64";
2652
+ },
2653
+ {
2654
+ "name": "timestamp";
2655
+ "type": "i64";
2656
+ }
2657
+ ];
2658
+ };
2659
+ },
2660
+ {
2661
+ "name": "miztakeStatistics";
2662
+ "type": {
2663
+ "kind": "struct";
2664
+ "fields": [
2665
+ {
2666
+ "name": "totalMiztakes";
2667
+ "docs": [
2668
+ "Total number of miztakes created (global counter for Miztake IDs)"
2669
+ ];
2670
+ "type": "u64";
2671
+ },
2672
+ {
2673
+ "name": "bump";
2674
+ "docs": [
2675
+ "Bump seed for PDA"
2676
+ ];
2677
+ "type": "u8";
2678
+ }
2679
+ ];
2680
+ };
2681
+ },
2682
+ {
2683
+ "name": "postConfirmed";
2684
+ "type": {
2685
+ "kind": "struct";
2686
+ "fields": [
2687
+ {
2688
+ "name": "seasonNumber";
2689
+ "type": "u64";
2690
+ },
2691
+ {
2692
+ "name": "windowNumber";
2693
+ "type": "u64";
2694
+ },
2695
+ {
2696
+ "name": "user";
2697
+ "type": "pubkey";
2698
+ },
2699
+ {
2700
+ "name": "seasonMembershipId";
2701
+ "type": "u64";
2702
+ },
2703
+ {
2704
+ "name": "miztakeId";
2705
+ "type": "u64";
2706
+ },
2707
+ {
2708
+ "name": "wasOnTime";
2709
+ "type": "bool";
2710
+ },
2711
+ {
2712
+ "name": "penaltyAmount";
2713
+ "type": "u64";
2714
+ },
2715
+ {
2716
+ "name": "timestamp";
2717
+ "type": "i64";
2718
+ }
2719
+ ];
2720
+ };
2721
+ },
2722
+ {
2723
+ "name": "referralPenaltyClaim";
2724
+ "type": {
2725
+ "kind": "struct";
2726
+ "fields": [
2727
+ {
2728
+ "name": "referredUser";
2729
+ "docs": [
2730
+ "Referred user (the user who missed)"
2731
+ ];
2732
+ "type": "pubkey";
2733
+ },
2734
+ {
2735
+ "name": "seasonNumber";
2736
+ "docs": [
2737
+ "Season number"
2738
+ ];
2739
+ "type": "u64";
2740
+ },
2741
+ {
2742
+ "name": "windowNumber";
2743
+ "docs": [
2744
+ "Window number"
2745
+ ];
2746
+ "type": "u64";
2747
+ },
2748
+ {
2749
+ "name": "seasonMembershipId";
2750
+ "docs": [
2751
+ "Referred user's season membership id"
2752
+ ];
2753
+ "type": "u64";
2754
+ },
2755
+ {
2756
+ "name": "claimant";
2757
+ "docs": [
2758
+ "Who claimed (referrer or root admin)"
2759
+ ];
2760
+ "type": "pubkey";
2761
+ },
2762
+ {
2763
+ "name": "amount";
2764
+ "docs": [
2765
+ "Amount paid out (20% of per-window penalty)"
2766
+ ];
2767
+ "type": "u64";
2768
+ },
2769
+ {
2770
+ "name": "claimedAt";
2771
+ "docs": [
2772
+ "When claim was executed"
2773
+ ];
2774
+ "type": "i64";
2775
+ },
2776
+ {
2777
+ "name": "claimed";
2778
+ "docs": [
2779
+ "Whether claim has been executed"
2780
+ ];
2781
+ "type": "bool";
2782
+ },
2783
+ {
2784
+ "name": "bump";
2785
+ "docs": [
2786
+ "PDA bump"
2787
+ ];
2788
+ "type": "u8";
2789
+ }
2790
+ ];
2791
+ };
2792
+ },
2793
+ {
2794
+ "name": "referralPenaltyClaimed";
2795
+ "type": {
2796
+ "kind": "struct";
2797
+ "fields": [
2798
+ {
2799
+ "name": "seasonNumber";
2800
+ "type": "u64";
2801
+ },
2802
+ {
2803
+ "name": "windowNumber";
2804
+ "type": "u64";
2805
+ },
2806
+ {
2807
+ "name": "referredUser";
2808
+ "type": "pubkey";
2809
+ },
2810
+ {
2811
+ "name": "seasonMembershipId";
2812
+ "type": "u64";
2813
+ },
2814
+ {
2815
+ "name": "claimant";
2816
+ "type": "pubkey";
2817
+ },
2818
+ {
2819
+ "name": "recipient";
2820
+ "type": "pubkey";
2821
+ },
2822
+ {
2823
+ "name": "amount";
2824
+ "type": "u64";
2825
+ },
2826
+ {
2827
+ "name": "timestamp";
2828
+ "type": "i64";
2829
+ }
2830
+ ];
2831
+ };
2832
+ },
2833
+ {
2834
+ "name": "referralRewardPaid";
2835
+ "type": {
2836
+ "kind": "struct";
2837
+ "fields": [
2838
+ {
2839
+ "name": "seasonNumber";
2840
+ "type": "u64";
2841
+ },
2842
+ {
2843
+ "name": "windowNumber";
2844
+ "type": "u64";
2845
+ },
2846
+ {
2847
+ "name": "user";
2848
+ "type": "pubkey";
2849
+ },
2850
+ {
2851
+ "name": "referrer";
2852
+ "type": "pubkey";
2853
+ },
2854
+ {
2855
+ "name": "userAmount";
2856
+ "type": "u64";
2857
+ },
2858
+ {
2859
+ "name": "referralAmount";
2860
+ "type": "u64";
2861
+ },
2862
+ {
2863
+ "name": "timestamp";
2864
+ "type": "i64";
2865
+ }
2866
+ ];
2867
+ };
2868
+ },
2869
+ {
2870
+ "name": "rewardWindow";
2871
+ "type": {
2872
+ "kind": "struct";
2873
+ "fields": [
2874
+ {
2875
+ "name": "seasonNumber";
2876
+ "docs": [
2877
+ "Season this window belongs to"
2878
+ ];
2879
+ "type": "u64";
2880
+ },
2881
+ {
2882
+ "name": "windowNumber";
2883
+ "docs": [
2884
+ "Window number (0-20)"
2885
+ ];
2886
+ "type": "u64";
2887
+ },
2888
+ {
2889
+ "name": "windowState";
2890
+ "docs": [
2891
+ "Current state of the window"
2892
+ ];
2893
+ "type": {
2894
+ "defined": {
2895
+ "name": "windowState";
2896
+ };
2897
+ };
2898
+ },
2899
+ {
2900
+ "name": "startedAt";
2901
+ "docs": [
2902
+ "Timestamp when window started"
2903
+ ];
2904
+ "type": "i64";
2905
+ },
2906
+ {
2907
+ "name": "endsAt";
2908
+ "docs": [
2909
+ "Timestamp when window ends"
2910
+ ];
2911
+ "type": "i64";
2912
+ },
2913
+ {
2914
+ "name": "totalMembersInSeason";
2915
+ "docs": [
2916
+ "Total members in season (snapshot at window finalization)"
2917
+ ];
2918
+ "type": "u64";
2919
+ },
2920
+ {
2921
+ "name": "penaltyPool";
2922
+ "docs": [
2923
+ "Accumulated penalties from missed/late posts (tracked for redundancy)"
2924
+ ];
2925
+ "type": "u64";
2926
+ },
2927
+ {
2928
+ "name": "successfulPostersCount";
2929
+ "docs": [
2930
+ "Number of users who posted successfully"
2931
+ ];
2932
+ "type": "u64";
2933
+ },
2934
+ {
2935
+ "name": "successfulStakeTotal";
2936
+ "docs": [
2937
+ "Total stake of on-time confirmed posters for this window (Y), in base units."
2938
+ ];
2939
+ "type": "u64";
2940
+ },
2941
+ {
2942
+ "name": "rewardPerPoster";
2943
+ "docs": [
2944
+ "Reward amount per successful poster (calculated when finalized)"
2945
+ ];
2946
+ "type": "u64";
2947
+ },
2948
+ {
2949
+ "name": "isFinalized";
2950
+ "docs": [
2951
+ "Whether rewards have been calculated"
2952
+ ];
2953
+ "type": "bool";
2954
+ },
2955
+ {
2956
+ "name": "bump";
2957
+ "docs": [
2958
+ "Bump seed for PDA"
2959
+ ];
2960
+ "type": "u8";
2961
+ }
2962
+ ];
2963
+ };
2964
+ },
2965
+ {
2966
+ "name": "season";
2967
+ "type": {
2968
+ "kind": "struct";
2969
+ "fields": [
2970
+ {
2971
+ "name": "seasonNumber";
2972
+ "docs": [
2973
+ "Unique season number"
2974
+ ];
2975
+ "type": "u64";
2976
+ },
2977
+ {
2978
+ "name": "seasonState";
2979
+ "docs": [
2980
+ "Current state of the season"
2981
+ ];
2982
+ "type": {
2983
+ "defined": {
2984
+ "name": "seasonState";
2985
+ };
2986
+ };
2987
+ },
2988
+ {
2989
+ "name": "startedAt";
2990
+ "docs": [
2991
+ "Timestamp when season started"
2992
+ ];
2993
+ "type": "i64";
2994
+ },
2995
+ {
2996
+ "name": "endsAt";
2997
+ "docs": [
2998
+ "Timestamp when season ends"
2999
+ ];
3000
+ "type": "i64";
3001
+ },
3002
+ {
3003
+ "name": "totalWindows";
3004
+ "docs": [
3005
+ "Total number of windows in this season"
3006
+ ];
3007
+ "type": "u8";
3008
+ },
3009
+ {
3010
+ "name": "totalMembers";
3011
+ "docs": [
3012
+ "Total number of members who joined"
3013
+ ];
3014
+ "type": "u64";
3015
+ },
3016
+ {
3017
+ "name": "copperMembersCount";
3018
+ "docs": [
3019
+ "Per-tier join counters (count total joins per season; not decremented on withdraw)"
3020
+ ];
3021
+ "type": "u64";
3022
+ },
3023
+ {
3024
+ "name": "silverMembersCount";
3025
+ "type": "u64";
3026
+ },
3027
+ {
3028
+ "name": "goldMembersCount";
3029
+ "type": "u64";
3030
+ },
3031
+ {
3032
+ "name": "platinumMembersCount";
3033
+ "type": "u64";
3034
+ },
3035
+ {
3036
+ "name": "mithrilMembersCount";
3037
+ "type": "u64";
3038
+ },
3039
+ {
3040
+ "name": "eligibleStakePerWindow";
3041
+ "docs": [
3042
+ "Total eligible stake per window (X), in base units.",
3043
+ "Index is the window_number (0..20)."
3044
+ ];
3045
+ "type": {
3046
+ "array": [
3047
+ "u64",
3048
+ 21
3049
+ ];
3050
+ };
3051
+ },
3052
+ {
3053
+ "name": "totalDepositsHeld";
3054
+ "docs": [
3055
+ "Total deposits held for this season"
3056
+ ];
3057
+ "type": "u64";
3058
+ },
3059
+ {
3060
+ "name": "totalSuccessfulPosts";
3061
+ "docs": [
3062
+ "Total successful posts across all windows"
3063
+ ];
3064
+ "type": "u64";
3065
+ },
3066
+ {
3067
+ "name": "totalPenaltiesCollected";
3068
+ "docs": [
3069
+ "Total penalties collected this season"
3070
+ ];
3071
+ "type": "u64";
3072
+ },
3073
+ {
3074
+ "name": "bump";
3075
+ "docs": [
3076
+ "Bump seed for PDA"
3077
+ ];
3078
+ "type": "u8";
3079
+ }
3080
+ ];
3081
+ };
3082
+ },
3083
+ {
3084
+ "name": "seasonAdminUpdated";
3085
+ "type": {
3086
+ "kind": "struct";
3087
+ "fields": [
3088
+ {
3089
+ "name": "oldAdmin";
3090
+ "type": "pubkey";
3091
+ },
3092
+ {
3093
+ "name": "newAdmin";
3094
+ "type": "pubkey";
3095
+ },
3096
+ {
3097
+ "name": "timestamp";
3098
+ "type": "i64";
3099
+ }
3100
+ ];
3101
+ };
3102
+ },
3103
+ {
3104
+ "name": "seasonDepositTier";
3105
+ "docs": [
3106
+ "Season deposit tier chosen by the user.",
3107
+ "",
3108
+ "Economics:",
3109
+ "- Per-window penalty is tier-based (fixed amount per window)",
3110
+ "- Full season deposit is (per-window penalty) * total_windows_per_season"
3111
+ ];
3112
+ "type": {
3113
+ "kind": "enum";
3114
+ "variants": [
3115
+ {
3116
+ "name": "copper";
3117
+ },
3118
+ {
3119
+ "name": "silver";
3120
+ },
3121
+ {
3122
+ "name": "gold";
3123
+ },
3124
+ {
3125
+ "name": "platinum";
3126
+ },
3127
+ {
3128
+ "name": "mithril";
3129
+ }
3130
+ ];
3131
+ };
3132
+ },
3133
+ {
3134
+ "name": "seasonDepositWithdrawn";
3135
+ "type": {
3136
+ "kind": "struct";
3137
+ "fields": [
3138
+ {
3139
+ "name": "seasonNumber";
3140
+ "type": "u64";
3141
+ },
3142
+ {
3143
+ "name": "seasonMembershipId";
3144
+ "type": "u64";
3145
+ },
3146
+ {
3147
+ "name": "user";
3148
+ "type": "pubkey";
3149
+ },
3150
+ {
3151
+ "name": "depositAmount";
3152
+ "type": "u64";
3153
+ },
3154
+ {
3155
+ "name": "penaltiesPaid";
3156
+ "type": "u64";
3157
+ },
3158
+ {
3159
+ "name": "withdrawalAmount";
3160
+ "type": "u64";
3161
+ },
3162
+ {
3163
+ "name": "timestamp";
3164
+ "type": "i64";
3165
+ }
3166
+ ];
3167
+ };
3168
+ },
3169
+ {
3170
+ "name": "seasonFinalized";
3171
+ "type": {
3172
+ "kind": "struct";
3173
+ "fields": [
3174
+ {
3175
+ "name": "seasonNumber";
3176
+ "type": "u64";
3177
+ },
3178
+ {
3179
+ "name": "totalMembers";
3180
+ "type": "u64";
3181
+ },
3182
+ {
3183
+ "name": "totalWindows";
3184
+ "type": "u8";
3185
+ },
3186
+ {
3187
+ "name": "timestamp";
3188
+ "type": "i64";
3189
+ }
3190
+ ];
3191
+ };
3192
+ },
3193
+ {
3194
+ "name": "seasonInitialized";
3195
+ "type": {
3196
+ "kind": "struct";
3197
+ "fields": [
3198
+ {
3199
+ "name": "seasonNumber";
3200
+ "type": "u64";
3201
+ },
3202
+ {
3203
+ "name": "startedAt";
3204
+ "type": "i64";
3205
+ },
3206
+ {
3207
+ "name": "endsAt";
3208
+ "type": "i64";
3209
+ },
3210
+ {
3211
+ "name": "totalWindows";
3212
+ "type": "u8";
3213
+ },
3214
+ {
3215
+ "name": "timestamp";
3216
+ "type": "i64";
3217
+ }
3218
+ ];
3219
+ };
3220
+ },
3221
+ {
3222
+ "name": "seasonJoined";
3223
+ "type": {
3224
+ "kind": "struct";
3225
+ "fields": [
3226
+ {
3227
+ "name": "seasonNumber";
3228
+ "type": "u64";
3229
+ },
3230
+ {
3231
+ "name": "seasonMembershipId";
3232
+ "type": "u64";
3233
+ },
3234
+ {
3235
+ "name": "user";
3236
+ "type": "pubkey";
3237
+ },
3238
+ {
3239
+ "name": "joinedAt";
3240
+ "type": "i64";
3241
+ },
3242
+ {
3243
+ "name": "joinedWindowNumber";
3244
+ "type": "u64";
3245
+ },
3246
+ {
3247
+ "name": "depositAmount";
3248
+ "type": "u64";
3249
+ },
3250
+ {
3251
+ "name": "timestamp";
3252
+ "type": "i64";
3253
+ }
3254
+ ];
3255
+ };
3256
+ },
3257
+ {
3258
+ "name": "seasonMembership";
3259
+ "type": {
3260
+ "kind": "struct";
3261
+ "fields": [
3262
+ {
3263
+ "name": "id";
3264
+ "docs": [
3265
+ "Unique membership ID for this user"
3266
+ ];
3267
+ "type": "u64";
3268
+ },
3269
+ {
3270
+ "name": "owner";
3271
+ "docs": [
3272
+ "Owner of this membership"
3273
+ ];
3274
+ "type": "pubkey";
3275
+ },
3276
+ {
3277
+ "name": "referrer";
3278
+ "docs": [
3279
+ "Optional referrer for this membership (Pubkey::default() means no referrer)"
3280
+ ];
3281
+ "type": "pubkey";
3282
+ },
3283
+ {
3284
+ "name": "seasonNumber";
3285
+ "docs": [
3286
+ "Season this membership is for"
3287
+ ];
3288
+ "type": "u64";
3289
+ },
3290
+ {
3291
+ "name": "depositTier";
3292
+ "docs": [
3293
+ "Tier chosen at join time"
3294
+ ];
3295
+ "type": {
3296
+ "defined": {
3297
+ "name": "seasonDepositTier";
3298
+ };
3299
+ };
3300
+ },
3301
+ {
3302
+ "name": "depositAmount";
3303
+ "docs": [
3304
+ "Amount deposited into the season vault that participates in the game (active portion)"
3305
+ ];
3306
+ "type": "u64";
3307
+ },
3308
+ {
3309
+ "name": "depositEscrowedAmount";
3310
+ "docs": [
3311
+ "Portion of the full season deposit that is escrowed (pre-join windows) and always refundable"
3312
+ ];
3313
+ "type": "u64";
3314
+ },
3315
+ {
3316
+ "name": "joinedAt";
3317
+ "docs": [
3318
+ "Timestamp when user joined"
3319
+ ];
3320
+ "type": "i64";
3321
+ },
3322
+ {
3323
+ "name": "joinedWindowNumber";
3324
+ "docs": [
3325
+ "Window number when user joined"
3326
+ ];
3327
+ "type": "u64";
3328
+ },
3329
+ {
3330
+ "name": "successfulPostsCount";
3331
+ "docs": [
3332
+ "Total successful posts made (incremented in confirmed_post_on_x)"
3333
+ ];
3334
+ "type": "u64";
3335
+ },
3336
+ {
3337
+ "name": "totalRewardsClaimed";
3338
+ "docs": [
3339
+ "Total base refunds claimed (1.375 MIZD × successful_posts)",
3340
+ "Note: This tracks only the \"refund\" portion, NOT bonus rewards from others"
3341
+ ];
3342
+ "type": "u64";
3343
+ },
3344
+ {
3345
+ "name": "totalPenaltiesPaid";
3346
+ "docs": [
3347
+ "Total penalties paid for missed windows (tracked for redundancy)"
3348
+ ];
3349
+ "type": "u64";
3350
+ },
3351
+ {
3352
+ "name": "depositWithdrawn";
3353
+ "docs": [
3354
+ "Whether the user has already withdrawn their season deposit (prevents double-withdraw)"
3355
+ ];
3356
+ "type": "bool";
3357
+ },
3358
+ {
3359
+ "name": "isActive";
3360
+ "docs": [
3361
+ "Whether membership is still active"
3362
+ ];
3363
+ "type": "bool";
3364
+ },
3365
+ {
3366
+ "name": "bump";
3367
+ "docs": [
3368
+ "Bump seed for PDA"
3369
+ ];
3370
+ "type": "u8";
3371
+ }
3372
+ ];
3373
+ };
3374
+ },
3375
+ {
3376
+ "name": "seasonMembershipStatusView";
3377
+ "type": {
3378
+ "kind": "struct";
3379
+ "fields": [
3380
+ {
3381
+ "name": "owner";
3382
+ "type": "pubkey";
3383
+ },
3384
+ {
3385
+ "name": "seasonNumber";
3386
+ "type": "u64";
3387
+ },
3388
+ {
3389
+ "name": "depositAmount";
3390
+ "type": "u64";
3391
+ },
3392
+ {
3393
+ "name": "joinedAt";
3394
+ "type": "i64";
3395
+ },
3396
+ {
3397
+ "name": "joinedWindowNumber";
3398
+ "type": "u64";
3399
+ },
3400
+ {
3401
+ "name": "successfulPostsCount";
3402
+ "type": "u64";
3403
+ },
3404
+ {
3405
+ "name": "totalRewardsClaimed";
3406
+ "type": "u64";
3407
+ },
3408
+ {
3409
+ "name": "totalPenaltiesPaid";
3410
+ "type": "u64";
3411
+ },
3412
+ {
3413
+ "name": "depositWithdrawn";
3414
+ "type": "bool";
3415
+ },
3416
+ {
3417
+ "name": "isActive";
3418
+ "type": "bool";
3419
+ },
3420
+ {
3421
+ "name": "seasonStartedAt";
3422
+ "type": "i64";
3423
+ },
3424
+ {
3425
+ "name": "seasonEndsAt";
3426
+ "type": "i64";
3427
+ },
3428
+ {
3429
+ "name": "seasonTotalMembers";
3430
+ "type": "u64";
3431
+ },
3432
+ {
3433
+ "name": "currentWindowNumber";
3434
+ "type": "u64";
3435
+ },
3436
+ {
3437
+ "name": "windowsRemaining";
3438
+ "type": "u64";
3439
+ }
3440
+ ];
3441
+ };
3442
+ },
3443
+ {
3444
+ "name": "seasonSettings";
3445
+ "type": {
3446
+ "kind": "struct";
3447
+ "fields": [
3448
+ {
3449
+ "name": "completedSeasons";
3450
+ "docs": [
3451
+ "Total number of completed seasons"
3452
+ ];
3453
+ "type": "u64";
3454
+ },
3455
+ {
3456
+ "name": "seasonDuration";
3457
+ "docs": [
3458
+ "Duration of each season in seconds (7 days = 604,800)"
3459
+ ];
3460
+ "type": "i64";
3461
+ },
3462
+ {
3463
+ "name": "windowDuration";
3464
+ "docs": [
3465
+ "Duration of each window in seconds (8 hours = 28,800)"
3466
+ ];
3467
+ "type": "i64";
3468
+ },
3469
+ {
3470
+ "name": "totalWindowsPerSeason";
3471
+ "docs": [
3472
+ "Total number of windows per season (21)"
3473
+ ];
3474
+ "type": "u8";
3475
+ },
3476
+ {
3477
+ "name": "canInitializeNextSeason";
3478
+ "docs": [
3479
+ "Whether new seasons can be initialized"
3480
+ ];
3481
+ "type": "bool";
3482
+ },
3483
+ {
3484
+ "name": "lastSeasonEndsAt";
3485
+ "docs": [
3486
+ "Timestamp when the last season ends (for gating)"
3487
+ ];
3488
+ "type": "i64";
3489
+ },
3490
+ {
3491
+ "name": "currentSeasonNumber";
3492
+ "docs": [
3493
+ "Current active season number"
3494
+ ];
3495
+ "type": "u64";
3496
+ },
3497
+ {
3498
+ "name": "admin";
3499
+ "docs": [
3500
+ "Admin who can confirm posts"
3501
+ ];
3502
+ "type": "pubkey";
3503
+ },
3504
+ {
3505
+ "name": "isPaused";
3506
+ "docs": [
3507
+ "Emergency pause flag"
3508
+ ];
3509
+ "type": "bool";
3510
+ },
3511
+ {
3512
+ "name": "maxMembersPerSeason";
3513
+ "docs": [
3514
+ "Maximum members allowed per season (DOS protection)"
3515
+ ];
3516
+ "type": "u64";
3517
+ },
3518
+ {
3519
+ "name": "bump";
3520
+ "docs": [
3521
+ "Bump seed for PDA"
3522
+ ];
3523
+ "type": "u8";
3524
+ }
3525
+ ];
3526
+ };
3527
+ },
3528
+ {
3529
+ "name": "seasonState";
3530
+ "type": {
3531
+ "kind": "enum";
3532
+ "variants": [
3533
+ {
3534
+ "name": "uninitialized";
3535
+ },
3536
+ {
3537
+ "name": "active";
3538
+ },
3539
+ {
3540
+ "name": "ended";
3541
+ }
3542
+ ];
3543
+ };
3544
+ },
3545
+ {
3546
+ "name": "seasonSystemPauseToggled";
3547
+ "type": {
3548
+ "kind": "struct";
3549
+ "fields": [
3550
+ {
3551
+ "name": "admin";
3552
+ "type": "pubkey";
3553
+ },
3554
+ {
3555
+ "name": "isPaused";
3556
+ "type": "bool";
3557
+ },
3558
+ {
3559
+ "name": "timestamp";
3560
+ "type": "i64";
3561
+ }
3562
+ ];
3563
+ };
3564
+ },
3565
+ {
3566
+ "name": "userStats";
3567
+ "type": {
3568
+ "kind": "struct";
3569
+ "fields": [
3570
+ {
3571
+ "name": "telegramId";
3572
+ "docs": [
3573
+ "Telegram ID of the user"
3574
+ ];
3575
+ "type": "u64";
3576
+ },
3577
+ {
3578
+ "name": "totalNumberOfMiztakes";
3579
+ "docs": [
3580
+ "Total number of miztakes created by this user (cross-season count)"
3581
+ ];
3582
+ "type": "u64";
3583
+ },
3584
+ {
3585
+ "name": "onchainFirstMiztakeAt";
3586
+ "docs": [
3587
+ "Timestamp of first miztake created"
3588
+ ];
3589
+ "type": "i64";
3590
+ },
3591
+ {
3592
+ "name": "onchainLastMiztakeAt";
3593
+ "docs": [
3594
+ "Timestamp of last miztake created"
3595
+ ];
3596
+ "type": "i64";
3597
+ },
3598
+ {
3599
+ "name": "bump";
3600
+ "docs": [
3601
+ "Bump seed for PDA"
3602
+ ];
3603
+ "type": "u8";
3604
+ }
3605
+ ];
3606
+ };
3607
+ },
3608
+ {
3609
+ "name": "userWindowParticipation";
3610
+ "type": {
3611
+ "kind": "struct";
3612
+ "fields": [
3613
+ {
3614
+ "name": "user";
3615
+ "docs": [
3616
+ "User who participated"
3617
+ ];
3618
+ "type": "pubkey";
3619
+ },
3620
+ {
3621
+ "name": "seasonNumber";
3622
+ "docs": [
3623
+ "Season number"
3624
+ ];
3625
+ "type": "u64";
3626
+ },
3627
+ {
3628
+ "name": "windowNumber";
3629
+ "docs": [
3630
+ "Window number"
3631
+ ];
3632
+ "type": "u64";
3633
+ },
3634
+ {
3635
+ "name": "seasonMembershipId";
3636
+ "docs": [
3637
+ "User's season membership ID"
3638
+ ];
3639
+ "type": "u64";
3640
+ },
3641
+ {
3642
+ "name": "postedSuccessfully";
3643
+ "docs": [
3644
+ "Whether user posted successfully in this window"
3645
+ ];
3646
+ "type": "bool";
3647
+ },
3648
+ {
3649
+ "name": "claimedReward";
3650
+ "docs": [
3651
+ "Whether user has claimed their reward"
3652
+ ];
3653
+ "type": "bool";
3654
+ },
3655
+ {
3656
+ "name": "rewardAmount";
3657
+ "docs": [
3658
+ "Amount of reward claimed"
3659
+ ];
3660
+ "type": "u64";
3661
+ },
3662
+ {
3663
+ "name": "miztakeId";
3664
+ "docs": [
3665
+ "ID of the Miztake used for this window (0 if not posted)"
3666
+ ];
3667
+ "type": "u64";
3668
+ },
3669
+ {
3670
+ "name": "bump";
3671
+ "docs": [
3672
+ "Bump seed for PDA"
3673
+ ];
3674
+ "type": "u8";
3675
+ }
3676
+ ];
3677
+ };
3678
+ },
3679
+ {
3680
+ "name": "windowFinalized";
3681
+ "type": {
3682
+ "kind": "struct";
3683
+ "fields": [
3684
+ {
3685
+ "name": "seasonNumber";
3686
+ "type": "u64";
3687
+ },
3688
+ {
3689
+ "name": "windowNumber";
3690
+ "type": "u64";
3691
+ },
3692
+ {
3693
+ "name": "penaltyPool";
3694
+ "type": "u64";
3695
+ },
3696
+ {
3697
+ "name": "successfulPostersCount";
3698
+ "type": "u64";
3699
+ },
3700
+ {
3701
+ "name": "rewardPerPoster";
3702
+ "type": "u64";
3703
+ },
3704
+ {
3705
+ "name": "timestamp";
3706
+ "type": "i64";
3707
+ }
3708
+ ];
3709
+ };
3710
+ },
3711
+ {
3712
+ "name": "windowRewardClaimed";
3713
+ "type": {
3714
+ "kind": "struct";
3715
+ "fields": [
3716
+ {
3717
+ "name": "seasonNumber";
3718
+ "type": "u64";
3719
+ },
3720
+ {
3721
+ "name": "windowNumber";
3722
+ "type": "u64";
3723
+ },
3724
+ {
3725
+ "name": "user";
3726
+ "type": "pubkey";
3727
+ },
3728
+ {
3729
+ "name": "rewardAmount";
3730
+ "type": "u64";
3731
+ },
3732
+ {
3733
+ "name": "timestamp";
3734
+ "type": "i64";
3735
+ }
3736
+ ];
3737
+ };
3738
+ },
3739
+ {
3740
+ "name": "windowState";
3741
+ "type": {
3742
+ "kind": "enum";
3743
+ "variants": [
3744
+ {
3745
+ "name": "uninitialized";
3746
+ },
3747
+ {
3748
+ "name": "active";
3749
+ },
3750
+ {
3751
+ "name": "finalized";
3752
+ }
3753
+ ];
3754
+ };
3755
+ },
3756
+ {
3757
+ "name": "windowStatusView";
3758
+ "type": {
3759
+ "kind": "struct";
3760
+ "fields": [
3761
+ {
3762
+ "name": "seasonNumber";
3763
+ "type": "u64";
3764
+ },
3765
+ {
3766
+ "name": "windowNumber";
3767
+ "type": "u64";
3768
+ },
3769
+ {
3770
+ "name": "startedAt";
3771
+ "type": "i64";
3772
+ },
3773
+ {
3774
+ "name": "endsAt";
3775
+ "type": "i64";
3776
+ },
3777
+ {
3778
+ "name": "totalMembersInSeason";
3779
+ "type": "u64";
3780
+ },
3781
+ {
3782
+ "name": "successfulPostersCount";
3783
+ "type": "u64";
3784
+ },
3785
+ {
3786
+ "name": "penaltyPool";
3787
+ "type": "u64";
3788
+ },
3789
+ {
3790
+ "name": "rewardPerPoster";
3791
+ "type": "u64";
3792
+ },
3793
+ {
3794
+ "name": "isFinalized";
3795
+ "type": "bool";
3796
+ },
3797
+ {
3798
+ "name": "isActive";
3799
+ "type": "bool";
3800
+ },
3801
+ {
3802
+ "name": "isEnded";
3803
+ "type": "bool";
3804
+ }
3805
+ ];
3806
+ };
3807
+ }
3808
+ ];
3809
+ };