lfx-reward-back-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,998 @@
1
+ {
2
+ "address": "rwDAq5g55oUWSve43iiijTwebCe6NrPAJQ3ftpJ1tC1",
3
+ "metadata": {
4
+ "name": "lfx_reward_sc",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "LFX Reward Smart Contract",
8
+ "repository": "https://github.com/LIFENetworks/lfx_reward_sc"
9
+ },
10
+ "instructions": [
11
+ {
12
+ "name": "claim_reward",
13
+ "docs": [
14
+ "User",
15
+ "Claim reward tokens (user + API signer)."
16
+ ],
17
+ "discriminator": [
18
+ 149,
19
+ 95,
20
+ 181,
21
+ 242,
22
+ 94,
23
+ 90,
24
+ 158,
25
+ 162
26
+ ],
27
+ "accounts": [
28
+ {
29
+ "name": "user",
30
+ "docs": [
31
+ "User who receives the reward"
32
+ ],
33
+ "writable": true,
34
+ "signer": true
35
+ },
36
+ {
37
+ "name": "api",
38
+ "docs": [
39
+ "API wallet that authorizes the reward amount off-chain"
40
+ ],
41
+ "writable": true,
42
+ "signer": true
43
+ },
44
+ {
45
+ "name": "user_token_account",
46
+ "docs": [
47
+ "User's associated token account for the reward mint"
48
+ ],
49
+ "writable": true
50
+ },
51
+ {
52
+ "name": "vault_token_account",
53
+ "docs": [
54
+ "Vault token account PDA (Token-2022)"
55
+ ],
56
+ "writable": true,
57
+ "pda": {
58
+ "seeds": [
59
+ {
60
+ "kind": "const",
61
+ "value": [
62
+ 118,
63
+ 97,
64
+ 117,
65
+ 108,
66
+ 116
67
+ ]
68
+ }
69
+ ]
70
+ }
71
+ },
72
+ {
73
+ "name": "mint",
74
+ "docs": [
75
+ "Reward token mint (Token-2022)"
76
+ ],
77
+ "writable": true
78
+ },
79
+ {
80
+ "name": "global_info",
81
+ "docs": [
82
+ "Global config PDA"
83
+ ],
84
+ "writable": true,
85
+ "pda": {
86
+ "seeds": [
87
+ {
88
+ "kind": "const",
89
+ "value": [
90
+ 103,
91
+ 108,
92
+ 111,
93
+ 98,
94
+ 97,
95
+ 108
96
+ ]
97
+ }
98
+ ]
99
+ }
100
+ },
101
+ {
102
+ "name": "token_program",
103
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
104
+ },
105
+ {
106
+ "name": "system_program",
107
+ "address": "11111111111111111111111111111111"
108
+ }
109
+ ],
110
+ "args": [
111
+ {
112
+ "name": "args",
113
+ "type": {
114
+ "defined": {
115
+ "name": "ClaimRewardArgs"
116
+ }
117
+ }
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ "name": "deposit_tokens",
123
+ "docs": [
124
+ "Deposit reward tokens into the vault."
125
+ ],
126
+ "discriminator": [
127
+ 176,
128
+ 83,
129
+ 229,
130
+ 18,
131
+ 191,
132
+ 143,
133
+ 176,
134
+ 150
135
+ ],
136
+ "accounts": [
137
+ {
138
+ "name": "admin",
139
+ "writable": true,
140
+ "signer": true
141
+ },
142
+ {
143
+ "name": "admin_token_account",
144
+ "writable": true
145
+ },
146
+ {
147
+ "name": "vault_token_account",
148
+ "writable": true,
149
+ "pda": {
150
+ "seeds": [
151
+ {
152
+ "kind": "const",
153
+ "value": [
154
+ 118,
155
+ 97,
156
+ 117,
157
+ 108,
158
+ 116
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ {
165
+ "name": "mint",
166
+ "writable": true
167
+ },
168
+ {
169
+ "name": "global_info",
170
+ "writable": true,
171
+ "pda": {
172
+ "seeds": [
173
+ {
174
+ "kind": "const",
175
+ "value": [
176
+ 103,
177
+ 108,
178
+ 111,
179
+ 98,
180
+ 97,
181
+ 108
182
+ ]
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "token_program",
189
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
190
+ },
191
+ {
192
+ "name": "system_program",
193
+ "address": "11111111111111111111111111111111"
194
+ }
195
+ ],
196
+ "args": [
197
+ {
198
+ "name": "args",
199
+ "type": {
200
+ "defined": {
201
+ "name": "DepositTokensArgs"
202
+ }
203
+ }
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "name": "init_global_info",
209
+ "docs": [
210
+ "Admin",
211
+ "Initialize global reward configuration and vault."
212
+ ],
213
+ "discriminator": [
214
+ 181,
215
+ 239,
216
+ 139,
217
+ 80,
218
+ 66,
219
+ 140,
220
+ 67,
221
+ 140
222
+ ],
223
+ "accounts": [
224
+ {
225
+ "name": "init_wallet",
226
+ "docs": [
227
+ "Init wallet signer (must match hardcoded INIT_WALLET_ADDRESS)"
228
+ ],
229
+ "writable": true,
230
+ "signer": true
231
+ },
232
+ {
233
+ "name": "global_info",
234
+ "docs": [
235
+ "Global config PDA"
236
+ ],
237
+ "writable": true,
238
+ "pda": {
239
+ "seeds": [
240
+ {
241
+ "kind": "const",
242
+ "value": [
243
+ 103,
244
+ 108,
245
+ 111,
246
+ 98,
247
+ 97,
248
+ 108
249
+ ]
250
+ }
251
+ ]
252
+ }
253
+ },
254
+ {
255
+ "name": "vault_token_account",
256
+ "docs": [
257
+ "Vault token account PDA (Token-2022)"
258
+ ],
259
+ "writable": true,
260
+ "pda": {
261
+ "seeds": [
262
+ {
263
+ "kind": "const",
264
+ "value": [
265
+ 118,
266
+ 97,
267
+ 117,
268
+ 108,
269
+ 116
270
+ ]
271
+ }
272
+ ]
273
+ }
274
+ },
275
+ {
276
+ "name": "mint",
277
+ "docs": [
278
+ "Reward token mint (Token-2022)"
279
+ ]
280
+ },
281
+ {
282
+ "name": "token_program",
283
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
284
+ },
285
+ {
286
+ "name": "system_program",
287
+ "address": "11111111111111111111111111111111"
288
+ }
289
+ ],
290
+ "args": [
291
+ {
292
+ "name": "args",
293
+ "type": {
294
+ "defined": {
295
+ "name": "InitGlobalInfoArgs"
296
+ }
297
+ }
298
+ }
299
+ ]
300
+ },
301
+ {
302
+ "name": "start_withdrawal_vote",
303
+ "docs": [
304
+ "Start a withdrawal wallet change vote."
305
+ ],
306
+ "discriminator": [
307
+ 151,
308
+ 141,
309
+ 194,
310
+ 115,
311
+ 123,
312
+ 127,
313
+ 181,
314
+ 186
315
+ ],
316
+ "accounts": [
317
+ {
318
+ "name": "admin",
319
+ "writable": true,
320
+ "signer": true
321
+ },
322
+ {
323
+ "name": "global_info",
324
+ "writable": true,
325
+ "pda": {
326
+ "seeds": [
327
+ {
328
+ "kind": "const",
329
+ "value": [
330
+ 103,
331
+ 108,
332
+ 111,
333
+ 98,
334
+ 97,
335
+ 108
336
+ ]
337
+ }
338
+ ]
339
+ }
340
+ },
341
+ {
342
+ "name": "withdrawal_vote",
343
+ "docs": [
344
+ "Global withdrawal vote PDA (single instance for the program)"
345
+ ],
346
+ "writable": true,
347
+ "pda": {
348
+ "seeds": [
349
+ {
350
+ "kind": "const",
351
+ "value": [
352
+ 119,
353
+ 105,
354
+ 116,
355
+ 104,
356
+ 100,
357
+ 114,
358
+ 97,
359
+ 119,
360
+ 97,
361
+ 108,
362
+ 95,
363
+ 118,
364
+ 111,
365
+ 116,
366
+ 101
367
+ ]
368
+ }
369
+ ]
370
+ }
371
+ },
372
+ {
373
+ "name": "system_program",
374
+ "address": "11111111111111111111111111111111"
375
+ }
376
+ ],
377
+ "args": [
378
+ {
379
+ "name": "args",
380
+ "type": {
381
+ "defined": {
382
+ "name": "StartWithdrawalVoteArgs"
383
+ }
384
+ }
385
+ }
386
+ ]
387
+ },
388
+ {
389
+ "name": "update_global_info",
390
+ "docs": [
391
+ "Update global configuration (admin/api/internal multisig/emergency)."
392
+ ],
393
+ "discriminator": [
394
+ 84,
395
+ 172,
396
+ 119,
397
+ 223,
398
+ 36,
399
+ 64,
400
+ 248,
401
+ 180
402
+ ],
403
+ "accounts": [
404
+ {
405
+ "name": "admin",
406
+ "writable": true,
407
+ "signer": true
408
+ },
409
+ {
410
+ "name": "global_info",
411
+ "writable": true,
412
+ "pda": {
413
+ "seeds": [
414
+ {
415
+ "kind": "const",
416
+ "value": [
417
+ 103,
418
+ 108,
419
+ 111,
420
+ 98,
421
+ 97,
422
+ 108
423
+ ]
424
+ }
425
+ ]
426
+ }
427
+ }
428
+ ],
429
+ "args": [
430
+ {
431
+ "name": "args",
432
+ "type": {
433
+ "defined": {
434
+ "name": "UpdateGlobalInfoArgs"
435
+ }
436
+ }
437
+ }
438
+ ]
439
+ },
440
+ {
441
+ "name": "vote_withdrawal_wallet",
442
+ "docs": [
443
+ "Cast a vote for the current withdrawal wallet change proposal."
444
+ ],
445
+ "discriminator": [
446
+ 135,
447
+ 181,
448
+ 210,
449
+ 66,
450
+ 195,
451
+ 178,
452
+ 72,
453
+ 7
454
+ ],
455
+ "accounts": [
456
+ {
457
+ "name": "voter",
458
+ "docs": [
459
+ "One of the internal multisig wallets (must match one of the entries in global_info.internal_multisig_wallets)"
460
+ ],
461
+ "signer": true
462
+ },
463
+ {
464
+ "name": "global_info",
465
+ "writable": true,
466
+ "pda": {
467
+ "seeds": [
468
+ {
469
+ "kind": "const",
470
+ "value": [
471
+ 103,
472
+ 108,
473
+ 111,
474
+ 98,
475
+ 97,
476
+ 108
477
+ ]
478
+ }
479
+ ]
480
+ }
481
+ },
482
+ {
483
+ "name": "withdrawal_vote",
484
+ "writable": true,
485
+ "pda": {
486
+ "seeds": [
487
+ {
488
+ "kind": "const",
489
+ "value": [
490
+ 119,
491
+ 105,
492
+ 116,
493
+ 104,
494
+ 100,
495
+ 114,
496
+ 97,
497
+ 119,
498
+ 97,
499
+ 108,
500
+ 95,
501
+ 118,
502
+ 111,
503
+ 116,
504
+ 101
505
+ ]
506
+ }
507
+ ]
508
+ }
509
+ }
510
+ ],
511
+ "args": []
512
+ },
513
+ {
514
+ "name": "withdraw_tokens",
515
+ "docs": [
516
+ "Withdraw tokens from the vault to the configured withdrawal wallet."
517
+ ],
518
+ "discriminator": [
519
+ 2,
520
+ 4,
521
+ 225,
522
+ 61,
523
+ 19,
524
+ 182,
525
+ 106,
526
+ 170
527
+ ],
528
+ "accounts": [
529
+ {
530
+ "name": "admin",
531
+ "docs": [
532
+ "Admin signer (must match global_info.admin_wallet)"
533
+ ],
534
+ "writable": true,
535
+ "signer": true
536
+ },
537
+ {
538
+ "name": "recipient_token_account",
539
+ "docs": [
540
+ "Recipient token account (must belong to current withdrawal_wallet)"
541
+ ],
542
+ "writable": true
543
+ },
544
+ {
545
+ "name": "vault_token_account",
546
+ "docs": [
547
+ "Vault token account PDA (Token-2022)"
548
+ ],
549
+ "writable": true,
550
+ "pda": {
551
+ "seeds": [
552
+ {
553
+ "kind": "const",
554
+ "value": [
555
+ 118,
556
+ 97,
557
+ 117,
558
+ 108,
559
+ 116
560
+ ]
561
+ }
562
+ ]
563
+ }
564
+ },
565
+ {
566
+ "name": "mint",
567
+ "docs": [
568
+ "Reward token mint (Token-2022)"
569
+ ],
570
+ "writable": true
571
+ },
572
+ {
573
+ "name": "global_info",
574
+ "docs": [
575
+ "Global config PDA"
576
+ ],
577
+ "writable": true,
578
+ "pda": {
579
+ "seeds": [
580
+ {
581
+ "kind": "const",
582
+ "value": [
583
+ 103,
584
+ 108,
585
+ 111,
586
+ 98,
587
+ 97,
588
+ 108
589
+ ]
590
+ }
591
+ ]
592
+ }
593
+ },
594
+ {
595
+ "name": "token_program",
596
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
597
+ },
598
+ {
599
+ "name": "system_program",
600
+ "address": "11111111111111111111111111111111"
601
+ }
602
+ ],
603
+ "args": [
604
+ {
605
+ "name": "args",
606
+ "type": {
607
+ "defined": {
608
+ "name": "WithdrawTokensArgs"
609
+ }
610
+ }
611
+ }
612
+ ]
613
+ }
614
+ ],
615
+ "accounts": [
616
+ {
617
+ "name": "GlobalInfo",
618
+ "discriminator": [
619
+ 241,
620
+ 51,
621
+ 8,
622
+ 81,
623
+ 11,
624
+ 62,
625
+ 44,
626
+ 62
627
+ ]
628
+ },
629
+ {
630
+ "name": "WithdrawalVote",
631
+ "discriminator": [
632
+ 93,
633
+ 184,
634
+ 26,
635
+ 60,
636
+ 167,
637
+ 248,
638
+ 29,
639
+ 1
640
+ ]
641
+ }
642
+ ],
643
+ "errors": [
644
+ {
645
+ "code": 6000,
646
+ "name": "AccessDenied",
647
+ "msg": "Access denied"
648
+ },
649
+ {
650
+ "code": 6001,
651
+ "name": "InvalidArgs",
652
+ "msg": "Invalid arguments"
653
+ },
654
+ {
655
+ "code": 6002,
656
+ "name": "MathOverflow",
657
+ "msg": "Math overflow"
658
+ },
659
+ {
660
+ "code": 6003,
661
+ "name": "EmergencyModeEnabled",
662
+ "msg": "Emergency mode is enabled"
663
+ },
664
+ {
665
+ "code": 6004,
666
+ "name": "InvalidAdminWallet",
667
+ "msg": "Invalid admin wallet"
668
+ },
669
+ {
670
+ "code": 6005,
671
+ "name": "InvalidApiWallet",
672
+ "msg": "Invalid API wallet"
673
+ },
674
+ {
675
+ "code": 6006,
676
+ "name": "InvalidWithdrawalWallet",
677
+ "msg": "Invalid withdrawal wallet"
678
+ },
679
+ {
680
+ "code": 6007,
681
+ "name": "InvalidInternalMultisigWallet",
682
+ "msg": "Invalid internal multisig wallet"
683
+ },
684
+ {
685
+ "code": 6008,
686
+ "name": "InvalidTokenMint",
687
+ "msg": "Invalid token mint"
688
+ },
689
+ {
690
+ "code": 6009,
691
+ "name": "InsufficientVaultBalance",
692
+ "msg": "Insufficient vault balance"
693
+ },
694
+ {
695
+ "code": 6010,
696
+ "name": "WithdrawalVoteNotActive",
697
+ "msg": "Withdrawal vote is not active"
698
+ },
699
+ {
700
+ "code": 6011,
701
+ "name": "WithdrawalVoteCompleted",
702
+ "msg": "Withdrawal vote already completed"
703
+ },
704
+ {
705
+ "code": 6012,
706
+ "name": "NotInternalMultisigWallet",
707
+ "msg": "Not an internal multisig wallet"
708
+ }
709
+ ],
710
+ "types": [
711
+ {
712
+ "name": "ClaimRewardArgs",
713
+ "docs": [
714
+ "Claim arguments.",
715
+ "",
716
+ "The `amount` must already be validated off-chain by the trusted API backend."
717
+ ],
718
+ "type": {
719
+ "kind": "struct",
720
+ "fields": [
721
+ {
722
+ "name": "amount",
723
+ "docs": [
724
+ "Raw token amount including decimals (Token-2022 mint decimals)."
725
+ ],
726
+ "type": "u64"
727
+ }
728
+ ]
729
+ }
730
+ },
731
+ {
732
+ "name": "DepositTokensArgs",
733
+ "type": {
734
+ "kind": "struct",
735
+ "fields": [
736
+ {
737
+ "name": "amount",
738
+ "type": "u64"
739
+ }
740
+ ]
741
+ }
742
+ },
743
+ {
744
+ "name": "GlobalInfo",
745
+ "docs": [
746
+ "Global reward configuration and state.",
747
+ "",
748
+ "This account is the single source of truth for:",
749
+ "- Admin (multisig) wallet",
750
+ "- API wallet (trusted offchain backend)",
751
+ "- Internal multisig participant wallets (5 wallets)",
752
+ "- Current withdrawal wallet",
753
+ "- Token-2022 mint used for rewards",
754
+ "- Aggregate accounting fields"
755
+ ],
756
+ "type": {
757
+ "kind": "struct",
758
+ "fields": [
759
+ {
760
+ "name": "admin_wallet",
761
+ "docs": [
762
+ "Solana multisig admin wallet (e.g. SPL multisig program account)"
763
+ ],
764
+ "type": "pubkey"
765
+ },
766
+ {
767
+ "name": "api_wallet",
768
+ "docs": [
769
+ "API wallet that must co-sign reward claims together with the user"
770
+ ],
771
+ "type": "pubkey"
772
+ },
773
+ {
774
+ "name": "internal_multisig_wallets",
775
+ "docs": [
776
+ "Five internal multisig wallets for withdrawal wallet voting"
777
+ ],
778
+ "type": {
779
+ "array": [
780
+ "pubkey",
781
+ 5
782
+ ]
783
+ }
784
+ },
785
+ {
786
+ "name": "withdrawal_wallet",
787
+ "docs": [
788
+ "Current withdrawal wallet (all withdrawals must go here)"
789
+ ],
790
+ "type": "pubkey"
791
+ },
792
+ {
793
+ "name": "token_mint_address",
794
+ "docs": [
795
+ "Reward token mint (Token-2022)"
796
+ ],
797
+ "type": "pubkey"
798
+ },
799
+ {
800
+ "name": "total_allocated_token_amount",
801
+ "docs": [
802
+ "Total amount of tokens ever allocated into the vault"
803
+ ],
804
+ "type": "u64"
805
+ },
806
+ {
807
+ "name": "total_claimed_amount",
808
+ "docs": [
809
+ "Total amount of tokens ever claimed by users"
810
+ ],
811
+ "type": "u64"
812
+ },
813
+ {
814
+ "name": "is_emergency",
815
+ "docs": [
816
+ "Emergency flag - when true, claims should be blocked"
817
+ ],
818
+ "type": "bool"
819
+ },
820
+ {
821
+ "name": "bump",
822
+ "docs": [
823
+ "Bump for global PDA"
824
+ ],
825
+ "type": "u8"
826
+ },
827
+ {
828
+ "name": "vault_bump",
829
+ "docs": [
830
+ "Bump for vault token account PDA"
831
+ ],
832
+ "type": "u8"
833
+ },
834
+ {
835
+ "name": "reserved_data",
836
+ "docs": [
837
+ "Reserved for future use, always initialized to 0"
838
+ ],
839
+ "type": "u64"
840
+ }
841
+ ]
842
+ }
843
+ },
844
+ {
845
+ "name": "InitGlobalInfoArgs",
846
+ "type": {
847
+ "kind": "struct",
848
+ "fields": [
849
+ {
850
+ "name": "admin_wallet",
851
+ "type": "pubkey"
852
+ },
853
+ {
854
+ "name": "api_wallet",
855
+ "type": "pubkey"
856
+ },
857
+ {
858
+ "name": "internal_multisig_wallets",
859
+ "type": {
860
+ "array": [
861
+ "pubkey",
862
+ 5
863
+ ]
864
+ }
865
+ },
866
+ {
867
+ "name": "withdrawal_wallet",
868
+ "type": "pubkey"
869
+ }
870
+ ]
871
+ }
872
+ },
873
+ {
874
+ "name": "StartWithdrawalVoteArgs",
875
+ "type": {
876
+ "kind": "struct",
877
+ "fields": [
878
+ {
879
+ "name": "proposed_withdrawal_wallet",
880
+ "type": "pubkey"
881
+ }
882
+ ]
883
+ }
884
+ },
885
+ {
886
+ "name": "UpdateGlobalInfoArgs",
887
+ "type": {
888
+ "kind": "struct",
889
+ "fields": [
890
+ {
891
+ "name": "admin_wallet",
892
+ "type": {
893
+ "option": "pubkey"
894
+ }
895
+ },
896
+ {
897
+ "name": "is_emergency",
898
+ "type": {
899
+ "option": "bool"
900
+ }
901
+ },
902
+ {
903
+ "name": "api_wallet",
904
+ "type": {
905
+ "option": "pubkey"
906
+ }
907
+ },
908
+ {
909
+ "name": "internal_multisig_wallets",
910
+ "type": {
911
+ "option": {
912
+ "array": [
913
+ "pubkey",
914
+ 5
915
+ ]
916
+ }
917
+ }
918
+ }
919
+ ]
920
+ }
921
+ },
922
+ {
923
+ "name": "WithdrawTokensArgs",
924
+ "type": {
925
+ "kind": "struct",
926
+ "fields": [
927
+ {
928
+ "name": "amount",
929
+ "type": "u64"
930
+ }
931
+ ]
932
+ }
933
+ },
934
+ {
935
+ "name": "WithdrawalVote",
936
+ "docs": [
937
+ "Withdrawal wallet change voting state.",
938
+ "",
939
+ "There is a single global voting account (PDA) derived from `SEED_WITHDRAWAL_VOTE`.",
940
+ "Internal multisig wallets (stored in `GlobalInfo`) can approve a proposed",
941
+ "new withdrawal wallet. When approvals reach the threshold (3-of-5), the",
942
+ "program updates `GlobalInfo.withdrawal_wallet` and marks the vote as completed."
943
+ ],
944
+ "type": {
945
+ "kind": "struct",
946
+ "fields": [
947
+ {
948
+ "name": "current_withdrawal_wallet",
949
+ "docs": [
950
+ "The current withdrawal wallet at the time the vote was started."
951
+ ],
952
+ "type": "pubkey"
953
+ },
954
+ {
955
+ "name": "proposed_withdrawal_wallet",
956
+ "docs": [
957
+ "The proposed new withdrawal wallet."
958
+ ],
959
+ "type": "pubkey"
960
+ },
961
+ {
962
+ "name": "approvals",
963
+ "docs": [
964
+ "Approvals from internal multisig wallets, matched by index."
965
+ ],
966
+ "type": {
967
+ "array": [
968
+ "bool",
969
+ 5
970
+ ]
971
+ }
972
+ },
973
+ {
974
+ "name": "approvals_count",
975
+ "docs": [
976
+ "Number of approvals collected so far."
977
+ ],
978
+ "type": "u8"
979
+ },
980
+ {
981
+ "name": "is_active",
982
+ "docs": [
983
+ "Whether the vote is currently active."
984
+ ],
985
+ "type": "bool"
986
+ },
987
+ {
988
+ "name": "bump",
989
+ "docs": [
990
+ "Bump for the WithdrawalVote PDA."
991
+ ],
992
+ "type": "u8"
993
+ }
994
+ ]
995
+ }
996
+ }
997
+ ]
998
+ }