@wireio/stake 0.3.1 → 0.4.1

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 (36) hide show
  1. package/lib/stake.browser.js +12887 -10017
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +3305 -1364
  4. package/lib/stake.js +16298 -13436
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +12887 -10017
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +3 -1
  9. package/src/assets/solana/idl/liqsol_core.json +2327 -887
  10. package/src/assets/solana/idl/liqsol_token.json +1 -1
  11. package/src/assets/solana/idl/transfer_hook.json +192 -0
  12. package/src/assets/solana/idl/validator_leaderboard.json +147 -4
  13. package/src/assets/solana/types/liqsol_core.ts +2327 -887
  14. package/src/assets/solana/types/liqsol_token.ts +1 -1
  15. package/src/assets/solana/types/transfer_hook.ts +198 -0
  16. package/src/assets/solana/types/validator_leaderboard.ts +147 -4
  17. package/src/networks/ethereum/clients/{deposit.client.ts → convert.client.ts} +36 -4
  18. package/src/networks/ethereum/clients/opp.client.ts +390 -0
  19. package/src/networks/ethereum/clients/pretoken.client.ts +88 -49
  20. package/src/networks/ethereum/clients/receipt.client.ts +129 -0
  21. package/src/networks/ethereum/clients/stake.client.ts +1 -148
  22. package/src/networks/ethereum/contract.ts +7 -4
  23. package/src/networks/ethereum/ethereum.ts +44 -70
  24. package/src/networks/ethereum/types.ts +1 -0
  25. package/src/networks/ethereum/utils.ts +1 -1
  26. package/src/networks/solana/clients/deposit.client.ts +154 -8
  27. package/src/networks/solana/clients/distribution.client.ts +72 -291
  28. package/src/networks/solana/clients/leaderboard.client.ts +59 -14
  29. package/src/networks/solana/clients/outpost.client.ts +188 -359
  30. package/src/networks/solana/clients/token.client.ts +85 -100
  31. package/src/networks/solana/constants.ts +155 -64
  32. package/src/networks/solana/solana.ts +273 -154
  33. package/src/networks/solana/types.ts +532 -71
  34. package/src/networks/solana/utils.ts +68 -51
  35. package/src/types.ts +161 -17
  36. package/src/networks/ethereum/clients/liq.client.ts +0 -47
@@ -5,7 +5,7 @@
5
5
  * IDL can be found at `target/idl/liqsol_core.json`.
6
6
  */
7
7
  export type LiqsolCore = {
8
- "address": "BBkVcNWNQz1vZ6esv5US4QnNFWPRqxWbdpJHur9GVXSu",
8
+ "address": "2qSsCXBYUSwF7zrzTT9jFpRpCmWoDpEyHr9exfCMq56P",
9
9
  "metadata": {
10
10
  "name": "liqsolCore",
11
11
  "version": "0.1.0",
@@ -18,7 +18,8 @@ export type LiqsolCore = {
18
18
  "docs": [
19
19
  "Accumulate unstake requests to be processed in next allocation cycle",
20
20
  "Multiple requests can be accumulated before calculating allocations",
21
- "Returns the target epoch when this unstake request will be processed"
21
+ "Returns the target epoch when this unstake request will be processed",
22
+ "We should not be able to"
22
23
  ],
23
24
  "discriminator": [
24
25
  24,
@@ -67,10 +68,56 @@ export type LiqsolCore = {
67
68
  ],
68
69
  "returns": "u64"
69
70
  },
71
+ {
72
+ "name": "addTopPerformersBatch",
73
+ "docs": [
74
+ "Process batch of ranks for addition (top performers from leaderboard)"
75
+ ],
76
+ "discriminator": [
77
+ 152,
78
+ 7,
79
+ 241,
80
+ 69,
81
+ 197,
82
+ 73,
83
+ 32,
84
+ 12
85
+ ],
86
+ "accounts": [
87
+ {
88
+ "name": "allocationState",
89
+ "writable": true
90
+ },
91
+ {
92
+ "name": "activeList",
93
+ "writable": true
94
+ },
95
+ {
96
+ "name": "graveyardList",
97
+ "writable": true
98
+ },
99
+ {
100
+ "name": "leaderboardState"
101
+ },
102
+ {
103
+ "name": "maintenanceLedger",
104
+ "writable": true
105
+ },
106
+ {
107
+ "name": "processingState",
108
+ "writable": true
109
+ },
110
+ {
111
+ "name": "authority",
112
+ "signer": true
113
+ }
114
+ ],
115
+ "args": []
116
+ },
70
117
  {
71
118
  "name": "addValidatorV2",
72
119
  "docs": [
73
- "Add a new validator"
120
+ "Add a new validator bbypassing the looking at leaderboard and getting validators form there"
74
121
  ],
75
122
  "discriminator": [
76
123
  217,
@@ -151,6 +198,13 @@ export type LiqsolCore = {
151
198
  240
152
199
  ],
153
200
  "accounts": [
201
+ {
202
+ "name": "authority",
203
+ "docs": [
204
+ "Authority that can update serviceable epoch"
205
+ ],
206
+ "signer": true
207
+ },
154
208
  {
155
209
  "name": "global",
156
210
  "writable": true
@@ -194,10 +248,6 @@ export type LiqsolCore = {
194
248
  "name": "epochState",
195
249
  "writable": true
196
250
  },
197
- {
198
- "name": "payoutState",
199
- "writable": true
200
- },
201
251
  {
202
252
  "name": "processingState",
203
253
  "writable": true
@@ -245,6 +295,43 @@ export type LiqsolCore = {
245
295
  }
246
296
  ]
247
297
  },
298
+ {
299
+ "name": "bondRole",
300
+ "discriminator": [
301
+ 143,
302
+ 136,
303
+ 20,
304
+ 230,
305
+ 136,
306
+ 103,
307
+ 107,
308
+ 167
309
+ ],
310
+ "accounts": [
311
+ {
312
+ "name": "user",
313
+ "writable": true,
314
+ "signer": true
315
+ },
316
+ {
317
+ "name": "globalState"
318
+ },
319
+ {
320
+ "name": "outpostAccount",
321
+ "writable": true
322
+ }
323
+ ],
324
+ "args": [
325
+ {
326
+ "name": "role",
327
+ "type": {
328
+ "defined": {
329
+ "name": "role"
330
+ }
331
+ }
332
+ }
333
+ ]
334
+ },
248
335
  {
249
336
  "name": "calculateUnstakeAllocations",
250
337
  "docs": [
@@ -350,18 +437,77 @@ export type LiqsolCore = {
350
437
  },
351
438
  {
352
439
  "name": "clock"
440
+ },
441
+ {
442
+ "name": "global",
443
+ "docs": [
444
+ "Global withdraw operator state - to read total_encumbered_funds"
445
+ ]
353
446
  }
354
447
  ],
355
- "args": [
448
+ "args": []
449
+ },
450
+ {
451
+ "name": "claimRewards",
452
+ "discriminator": [
453
+ 4,
454
+ 144,
455
+ 132,
456
+ 71,
457
+ 116,
458
+ 23,
459
+ 151,
460
+ 80
461
+ ],
462
+ "accounts": [
356
463
  {
357
- "name": "encumberedFunds",
358
- "type": "u64"
464
+ "name": "user",
465
+ "writable": true,
466
+ "signer": true
359
467
  },
360
468
  {
361
- "name": "validatorsCount",
362
- "type": "u8"
469
+ "name": "userAta",
470
+ "writable": true
471
+ },
472
+ {
473
+ "name": "userRecord",
474
+ "writable": true
475
+ },
476
+ {
477
+ "name": "bucketUserRecord",
478
+ "writable": true
479
+ },
480
+ {
481
+ "name": "distributionState",
482
+ "writable": true
483
+ },
484
+ {
485
+ "name": "extraAccountMetaList"
486
+ },
487
+ {
488
+ "name": "liqsolCoreProgram"
489
+ },
490
+ {
491
+ "name": "transferHookProgram"
492
+ },
493
+ {
494
+ "name": "liqsolMint"
495
+ },
496
+ {
497
+ "name": "bucketAuthority"
498
+ },
499
+ {
500
+ "name": "bucketTokenAccount",
501
+ "docs": [
502
+ "The bucket's associated token account holding liqSOL"
503
+ ],
504
+ "writable": true
505
+ },
506
+ {
507
+ "name": "tokenProgram"
363
508
  }
364
- ]
509
+ ],
510
+ "args": []
365
511
  },
366
512
  {
367
513
  "name": "claimWithdraw",
@@ -406,9 +552,25 @@ export type LiqsolCore = {
406
552
  "name": "ownerAta",
407
553
  "writable": true
408
554
  },
555
+ {
556
+ "name": "reservePool",
557
+ "writable": true
558
+ },
559
+ {
560
+ "name": "vault"
561
+ },
562
+ {
563
+ "name": "clock"
564
+ },
565
+ {
566
+ "name": "stakeHistory"
567
+ },
409
568
  {
410
569
  "name": "tokenProgram"
411
570
  },
571
+ {
572
+ "name": "stakeProgram"
573
+ },
412
574
  {
413
575
  "name": "systemProgram"
414
576
  },
@@ -419,96 +581,340 @@ export type LiqsolCore = {
419
581
  "args": []
420
582
  },
421
583
  {
422
- "name": "cleanupFromGraveyard",
584
+ "name": "cleanupGraveyardBatch",
423
585
  "docs": [
424
- "Cleanup a validator from graveyard after cooldown expires, get him outta here//"
586
+ "Cleanup graveyard validators batch: remove validators that have been NotDelegated for > 10 epochs",
587
+ "This function should be called after aggregate_stake_metrics.",
588
+ "Validators meeting the cleanup criteria will have their PDAs closed and rent returned to admin."
425
589
  ],
426
590
  "discriminator": [
427
- 154,
428
- 168,
429
- 171,
430
- 22,
431
- 38,
432
- 14,
433
- 26,
434
- 229
591
+ 241,
592
+ 120,
593
+ 180,
594
+ 4,
595
+ 160,
596
+ 109,
597
+ 206,
598
+ 71
435
599
  ],
436
600
  "accounts": [
437
601
  {
438
- "name": "authority",
439
- "writable": true,
440
- "signer": true
602
+ "name": "graveyardList",
603
+ "writable": true
441
604
  },
442
605
  {
443
- "name": "graveyardList",
444
- "docs": [
445
- "Graveyard list - will remove from here"
446
- ],
606
+ "name": "maintenanceLedger",
447
607
  "writable": true
448
608
  },
449
609
  {
450
- "name": "validatorInfo",
451
- "docs": [
452
- "Validator info - check cooldown, optionally close"
453
- ],
610
+ "name": "processingState",
454
611
  "writable": true
455
612
  },
456
613
  {
457
- "name": "validatorTransient",
614
+ "name": "controllerState",
458
615
  "docs": [
459
- "Validator transient - close and refund rent"
460
- ],
461
- "writable": true
616
+ "Stake controller state - used to verify authority"
617
+ ]
462
618
  },
463
619
  {
464
- "name": "stakeAllocationState",
620
+ "name": "clock"
621
+ },
622
+ {
623
+ "name": "authority",
465
624
  "docs": [
466
- "Stake allocation state - DO NOT update (validator not going back to active list during cleanup)",
467
- "This is here for consistency but won't be used in cleanup_from_graveyard"
625
+ "Authority must match the stored authority in controller_state"
468
626
  ],
469
- "writable": true
627
+ "writable": true,
628
+ "signer": true
629
+ }
630
+ ],
631
+ "args": []
632
+ },
633
+ {
634
+ "name": "completeUnbondRole",
635
+ "discriminator": [
636
+ 204,
637
+ 50,
638
+ 36,
639
+ 17,
640
+ 192,
641
+ 156,
642
+ 246,
643
+ 64
644
+ ],
645
+ "accounts": [
646
+ {
647
+ "name": "admin",
648
+ "signer": true
470
649
  },
471
650
  {
472
- "name": "systemProgram"
651
+ "name": "globalState"
652
+ },
653
+ {
654
+ "name": "user",
655
+ "docs": [
656
+ "The user whose unbond is being completed"
657
+ ]
658
+ },
659
+ {
660
+ "name": "outpostAccount",
661
+ "writable": true
473
662
  }
474
663
  ],
475
664
  "args": [
476
665
  {
477
- "name": "voteAccount",
478
- "type": "pubkey"
666
+ "name": "role",
667
+ "type": {
668
+ "defined": {
669
+ "name": "role"
670
+ }
671
+ }
479
672
  }
480
673
  ]
481
674
  },
482
675
  {
483
- "name": "deposit",
676
+ "name": "completeWithdraw",
484
677
  "discriminator": [
485
- 242,
486
- 35,
487
- 198,
488
- 137,
489
- 82,
490
- 225,
491
- 242,
492
- 182
678
+ 172,
679
+ 129,
680
+ 141,
681
+ 17,
682
+ 95,
683
+ 253,
684
+ 251,
685
+ 98
493
686
  ],
494
687
  "accounts": [
495
688
  {
496
- "name": "user",
497
- "writable": true,
689
+ "name": "admin",
498
690
  "signer": true
499
691
  },
500
692
  {
501
- "name": "depositAuthority",
693
+ "name": "globalState",
502
694
  "writable": true
503
695
  },
504
696
  {
505
- "name": "systemProgram"
697
+ "name": "distributionState",
698
+ "writable": true
506
699
  },
507
700
  {
508
- "name": "tokenProgram"
701
+ "name": "user"
509
702
  },
510
703
  {
511
- "name": "associatedTokenProgram"
704
+ "name": "outpostAccount",
705
+ "writable": true
706
+ },
707
+ {
708
+ "name": "liqsolMint",
709
+ "writable": true
710
+ },
711
+ {
712
+ "name": "poolAuthority"
713
+ },
714
+ {
715
+ "name": "bucketAuthority"
716
+ },
717
+ {
718
+ "name": "bucketTokenAccount",
719
+ "writable": true
720
+ },
721
+ {
722
+ "name": "bucketUserRecord",
723
+ "writable": true
724
+ },
725
+ {
726
+ "name": "senderUserRecord",
727
+ "writable": true
728
+ },
729
+ {
730
+ "name": "receiverUserRecord",
731
+ "writable": true
732
+ },
733
+ {
734
+ "name": "extraAccountMetaList"
735
+ },
736
+ {
737
+ "name": "liqsolCoreProgram"
738
+ },
739
+ {
740
+ "name": "transferHookProgram"
741
+ },
742
+ {
743
+ "name": "liqsolPoolAta",
744
+ "writable": true
745
+ },
746
+ {
747
+ "name": "userAta",
748
+ "writable": true
749
+ },
750
+ {
751
+ "name": "tokenProgram"
752
+ },
753
+ {
754
+ "name": "systemProgram"
755
+ }
756
+ ],
757
+ "args": [
758
+ {
759
+ "name": "userKey",
760
+ "type": "pubkey"
761
+ },
762
+ {
763
+ "name": "amount",
764
+ "type": "u64"
765
+ }
766
+ ]
767
+ },
768
+ {
769
+ "name": "concludeMergeActivating",
770
+ "docs": [
771
+ "Conclude merge activating - marks merge complete if all validators processed or 0 validators"
772
+ ],
773
+ "discriminator": [
774
+ 207,
775
+ 32,
776
+ 222,
777
+ 98,
778
+ 243,
779
+ 188,
780
+ 38,
781
+ 67
782
+ ],
783
+ "accounts": [
784
+ {
785
+ "name": "admin",
786
+ "signer": true
787
+ },
788
+ {
789
+ "name": "processingState",
790
+ "writable": true
791
+ },
792
+ {
793
+ "name": "epochState",
794
+ "writable": true
795
+ },
796
+ {
797
+ "name": "activeList"
798
+ },
799
+ {
800
+ "name": "graveyardList"
801
+ },
802
+ {
803
+ "name": "clock"
804
+ }
805
+ ],
806
+ "args": []
807
+ },
808
+ {
809
+ "name": "concludeMergeDeactivating",
810
+ "docs": [
811
+ "Conclude merge deactivating - marks merge complete if all validators processed or 0 validators"
812
+ ],
813
+ "discriminator": [
814
+ 66,
815
+ 206,
816
+ 43,
817
+ 71,
818
+ 122,
819
+ 97,
820
+ 33,
821
+ 24
822
+ ],
823
+ "accounts": [
824
+ {
825
+ "name": "admin",
826
+ "signer": true
827
+ },
828
+ {
829
+ "name": "processingState",
830
+ "writable": true
831
+ },
832
+ {
833
+ "name": "epochState",
834
+ "writable": true
835
+ },
836
+ {
837
+ "name": "activeList"
838
+ },
839
+ {
840
+ "name": "graveyardList"
841
+ },
842
+ {
843
+ "name": "clock"
844
+ }
845
+ ],
846
+ "args": []
847
+ },
848
+ {
849
+ "name": "concludeSyncStakes",
850
+ "docs": [
851
+ "Conclude sync stakes - marks sync complete if all validators processed or 0 validators"
852
+ ],
853
+ "discriminator": [
854
+ 77,
855
+ 127,
856
+ 231,
857
+ 78,
858
+ 151,
859
+ 23,
860
+ 237,
861
+ 207
862
+ ],
863
+ "accounts": [
864
+ {
865
+ "name": "admin",
866
+ "signer": true
867
+ },
868
+ {
869
+ "name": "processingState",
870
+ "writable": true
871
+ },
872
+ {
873
+ "name": "epochState",
874
+ "writable": true
875
+ },
876
+ {
877
+ "name": "activeList"
878
+ },
879
+ {
880
+ "name": "graveyardList"
881
+ },
882
+ {
883
+ "name": "clock"
884
+ }
885
+ ],
886
+ "args": []
887
+ },
888
+ {
889
+ "name": "deposit",
890
+ "discriminator": [
891
+ 242,
892
+ 35,
893
+ 198,
894
+ 137,
895
+ 82,
896
+ 225,
897
+ 242,
898
+ 182
899
+ ],
900
+ "accounts": [
901
+ {
902
+ "name": "user",
903
+ "writable": true,
904
+ "signer": true
905
+ },
906
+ {
907
+ "name": "depositAuthority",
908
+ "writable": true
909
+ },
910
+ {
911
+ "name": "systemProgram"
912
+ },
913
+ {
914
+ "name": "tokenProgram"
915
+ },
916
+ {
917
+ "name": "associatedTokenProgram"
512
918
  },
513
919
  {
514
920
  "name": "liqsolProgram"
@@ -577,17 +983,107 @@ export type LiqsolCore = {
577
983
  "name": "stakeHistory"
578
984
  },
579
985
  {
580
- "name": "rent"
986
+ "name": "rent"
987
+ }
988
+ ],
989
+ "args": [
990
+ {
991
+ "name": "amount",
992
+ "type": "u64"
993
+ },
994
+ {
995
+ "name": "seed",
996
+ "type": "u32"
997
+ }
998
+ ]
999
+ },
1000
+ {
1001
+ "name": "desynd",
1002
+ "discriminator": [
1003
+ 12,
1004
+ 71,
1005
+ 102,
1006
+ 46,
1007
+ 8,
1008
+ 179,
1009
+ 29,
1010
+ 190
1011
+ ],
1012
+ "accounts": [
1013
+ {
1014
+ "name": "user",
1015
+ "writable": true,
1016
+ "signer": true
1017
+ },
1018
+ {
1019
+ "name": "liqsolMint",
1020
+ "writable": true
1021
+ },
1022
+ {
1023
+ "name": "globalState",
1024
+ "writable": true
1025
+ },
1026
+ {
1027
+ "name": "distributionState",
1028
+ "writable": true
1029
+ },
1030
+ {
1031
+ "name": "userAta",
1032
+ "writable": true
1033
+ },
1034
+ {
1035
+ "name": "poolAuthority"
1036
+ },
1037
+ {
1038
+ "name": "bucketAuthority"
1039
+ },
1040
+ {
1041
+ "name": "bucketTokenAccount",
1042
+ "writable": true
1043
+ },
1044
+ {
1045
+ "name": "bucketUserRecord",
1046
+ "writable": true
1047
+ },
1048
+ {
1049
+ "name": "senderUserRecord",
1050
+ "writable": true
1051
+ },
1052
+ {
1053
+ "name": "receiverUserRecord",
1054
+ "writable": true
1055
+ },
1056
+ {
1057
+ "name": "extraAccountMetaList"
1058
+ },
1059
+ {
1060
+ "name": "liqsolCoreProgram"
1061
+ },
1062
+ {
1063
+ "name": "transferHookProgram"
1064
+ },
1065
+ {
1066
+ "name": "liqsolPoolAta",
1067
+ "writable": true
1068
+ },
1069
+ {
1070
+ "name": "outpostAccount",
1071
+ "docs": [
1072
+ "User's outpost account"
1073
+ ],
1074
+ "writable": true
1075
+ },
1076
+ {
1077
+ "name": "tokenProgram"
1078
+ },
1079
+ {
1080
+ "name": "systemProgram"
581
1081
  }
582
1082
  ],
583
1083
  "args": [
584
1084
  {
585
1085
  "name": "amount",
586
1086
  "type": "u64"
587
- },
588
- {
589
- "name": "seed",
590
- "type": "u32"
591
1087
  }
592
1088
  ]
593
1089
  },
@@ -684,6 +1180,10 @@ export type LiqsolCore = {
684
1180
  "name": "bucketTokenAccount",
685
1181
  "writable": true
686
1182
  },
1183
+ {
1184
+ "name": "bucketUserRecord",
1185
+ "writable": true
1186
+ },
687
1187
  {
688
1188
  "name": "liqsolMint"
689
1189
  },
@@ -699,6 +1199,68 @@ export type LiqsolCore = {
699
1199
  ],
700
1200
  "args": []
701
1201
  },
1202
+ {
1203
+ "name": "initTrancheState",
1204
+ "discriminator": [
1205
+ 87,
1206
+ 134,
1207
+ 47,
1208
+ 11,
1209
+ 241,
1210
+ 14,
1211
+ 118,
1212
+ 201
1213
+ ],
1214
+ "accounts": [
1215
+ {
1216
+ "name": "authority",
1217
+ "writable": true,
1218
+ "signer": true
1219
+ },
1220
+ {
1221
+ "name": "trancheState",
1222
+ "writable": true
1223
+ },
1224
+ {
1225
+ "name": "chainlinkFeed"
1226
+ },
1227
+ {
1228
+ "name": "chainlinkProgram"
1229
+ },
1230
+ {
1231
+ "name": "systemProgram"
1232
+ }
1233
+ ],
1234
+ "args": []
1235
+ },
1236
+ {
1237
+ "name": "initWireConfig",
1238
+ "discriminator": [
1239
+ 109,
1240
+ 159,
1241
+ 158,
1242
+ 174,
1243
+ 192,
1244
+ 150,
1245
+ 14,
1246
+ 34
1247
+ ],
1248
+ "accounts": [
1249
+ {
1250
+ "name": "admin",
1251
+ "writable": true,
1252
+ "signer": true
1253
+ },
1254
+ {
1255
+ "name": "globalState",
1256
+ "writable": true
1257
+ },
1258
+ {
1259
+ "name": "systemProgram"
1260
+ }
1261
+ ],
1262
+ "args": []
1263
+ },
702
1264
  {
703
1265
  "name": "initialize",
704
1266
  "discriminator": [
@@ -724,6 +1286,12 @@ export type LiqsolCore = {
724
1286
  "name": "distributionState",
725
1287
  "writable": true
726
1288
  },
1289
+ {
1290
+ "name": "bucketAuthority"
1291
+ },
1292
+ {
1293
+ "name": "poolAuthority"
1294
+ },
727
1295
  {
728
1296
  "name": "tokenProgram"
729
1297
  },
@@ -1063,40 +1631,6 @@ export type LiqsolCore = {
1063
1631
  ],
1064
1632
  "args": []
1065
1633
  },
1066
- {
1067
- "name": "initializeTrancheState",
1068
- "discriminator": [
1069
- 160,
1070
- 50,
1071
- 212,
1072
- 249,
1073
- 197,
1074
- 155,
1075
- 79,
1076
- 226
1077
- ],
1078
- "accounts": [
1079
- {
1080
- "name": "authority",
1081
- "writable": true,
1082
- "signer": true
1083
- },
1084
- {
1085
- "name": "trancheState",
1086
- "writable": true
1087
- },
1088
- {
1089
- "name": "chainlinkFeed"
1090
- },
1091
- {
1092
- "name": "chainlinkProgram"
1093
- },
1094
- {
1095
- "name": "systemProgram"
1096
- }
1097
- ],
1098
- "args": []
1099
- },
1100
1634
  {
1101
1635
  "name": "initializeVault",
1102
1636
  "docs": [
@@ -1133,33 +1667,82 @@ export type LiqsolCore = {
1133
1667
  "args": []
1134
1668
  },
1135
1669
  {
1136
- "name": "initializeWireConfig",
1670
+ "name": "initializeWithdrawGlobal",
1137
1671
  "discriminator": [
1138
- 65,
1139
- 61,
1140
- 193,
1141
- 228,
1142
- 121,
1143
- 252,
1144
- 165,
1145
- 207
1672
+ 110,
1673
+ 0,
1674
+ 210,
1675
+ 101,
1676
+ 59,
1677
+ 75,
1678
+ 224,
1679
+ 158
1146
1680
  ],
1147
1681
  "accounts": [
1148
1682
  {
1149
- "name": "admin",
1683
+ "name": "authority",
1150
1684
  "writable": true,
1151
1685
  "signer": true
1152
1686
  },
1153
1687
  {
1154
- "name": "globalState",
1688
+ "name": "liqsolMint",
1689
+ "docs": [
1690
+ "liqSOL Token-2022 mint"
1691
+ ]
1692
+ },
1693
+ {
1694
+ "name": "global",
1155
1695
  "writable": true
1156
1696
  },
1697
+ {
1698
+ "name": "tokenProgram"
1699
+ },
1157
1700
  {
1158
1701
  "name": "systemProgram"
1702
+ },
1703
+ {
1704
+ "name": "rent"
1159
1705
  }
1160
1706
  ],
1161
1707
  "args": []
1162
1708
  },
1709
+ {
1710
+ "name": "initializeWithdrawMetadata",
1711
+ "discriminator": [
1712
+ 0,
1713
+ 170,
1714
+ 135,
1715
+ 3,
1716
+ 35,
1717
+ 58,
1718
+ 213,
1719
+ 75
1720
+ ],
1721
+ "accounts": [
1722
+ {
1723
+ "name": "payer",
1724
+ "writable": true,
1725
+ "signer": true
1726
+ },
1727
+ {
1728
+ "name": "metadata",
1729
+ "writable": true
1730
+ },
1731
+ {
1732
+ "name": "systemProgram"
1733
+ }
1734
+ ],
1735
+ "args": [
1736
+ {
1737
+ "name": "args",
1738
+ "type": {
1739
+ "defined": {
1740
+ "name": "metadataArgs"
1741
+ }
1742
+ }
1743
+ }
1744
+ ]
1745
+ },
1163
1746
  {
1164
1747
  "name": "mergeActivatingStakes",
1165
1748
  "docs": [
@@ -1239,10 +1822,6 @@ export type LiqsolCore = {
1239
1822
  {
1240
1823
  "name": "voteAccount",
1241
1824
  "type": "pubkey"
1242
- },
1243
- {
1244
- "name": "startEpoch",
1245
- "type": "u64"
1246
1825
  }
1247
1826
  ],
1248
1827
  "returns": "u16"
@@ -1263,8 +1842,17 @@ export type LiqsolCore = {
1263
1842
  73
1264
1843
  ],
1265
1844
  "accounts": [
1845
+ {
1846
+ "name": "controllerState",
1847
+ "docs": [
1848
+ "Stake controller state - used to verify admin authority"
1849
+ ]
1850
+ },
1266
1851
  {
1267
1852
  "name": "admin",
1853
+ "docs": [
1854
+ "Admin must match the stored authority in controller_state"
1855
+ ],
1268
1856
  "writable": true,
1269
1857
  "signer": true
1270
1858
  },
@@ -1320,6 +1908,10 @@ export type LiqsolCore = {
1320
1908
  {
1321
1909
  "name": "processingState",
1322
1910
  "writable": true
1911
+ },
1912
+ {
1913
+ "name": "reservePool",
1914
+ "writable": true
1323
1915
  }
1324
1916
  ],
1325
1917
  "args": [
@@ -1330,73 +1922,43 @@ export type LiqsolCore = {
1330
1922
  ]
1331
1923
  },
1332
1924
  {
1333
- "name": "moveToGraveyard",
1925
+ "name": "processGraveyardValidatorsBatch",
1334
1926
  "docs": [
1335
- "Move a validator from active list to graveyard, this is a serious function called in exceptional cases where something has gone awry with the validator",
1336
- "and our system would be too late to catch it"
1927
+ "Process graveyard validators batch: check transient resolution, queue main stake deactivation",
1928
+ "Validators in graveyard with resolved transients will have their main stake queued for deactivation"
1337
1929
  ],
1338
1930
  "discriminator": [
1339
- 171,
1340
- 61,
1341
- 145,
1342
- 127,
1343
- 189,
1344
- 218,
1345
- 221,
1346
- 199
1931
+ 141,
1932
+ 178,
1933
+ 8,
1934
+ 118,
1935
+ 133,
1936
+ 183,
1937
+ 86,
1938
+ 233
1347
1939
  ],
1348
1940
  "accounts": [
1349
- {
1350
- "name": "authority",
1351
- "writable": true,
1352
- "signer": true
1353
- },
1354
- {
1355
- "name": "activeList",
1356
- "docs": [
1357
- "Active list - will remove from here"
1358
- ],
1359
- "writable": true
1360
- },
1361
1941
  {
1362
1942
  "name": "graveyardList",
1363
- "docs": [
1364
- "Graveyard list - will add here"
1365
- ],
1366
1943
  "writable": true
1367
1944
  },
1368
1945
  {
1369
- "name": "validatorInfo",
1370
- "docs": [
1371
- "Update the validator info to mark as blacklisted/underperforming"
1372
- ],
1946
+ "name": "maintenanceLedger",
1373
1947
  "writable": true
1374
1948
  },
1375
1949
  {
1376
- "name": "stakeAllocationState",
1377
- "docs": [
1378
- "Stake allocation state - to update total_active_vpp when removing validator"
1379
- ],
1950
+ "name": "processingState",
1380
1951
  "writable": true
1381
1952
  },
1382
1953
  {
1383
- "name": "systemProgram"
1384
- }
1385
- ],
1386
- "args": [
1387
- {
1388
- "name": "voteAccount",
1389
- "type": "pubkey"
1954
+ "name": "clock"
1390
1955
  },
1391
1956
  {
1392
- "name": "reason",
1393
- "type": {
1394
- "defined": {
1395
- "name": "validatorStateChangeReason"
1396
- }
1397
- }
1957
+ "name": "authority",
1958
+ "signer": true
1398
1959
  }
1399
- ]
1960
+ ],
1961
+ "args": []
1400
1962
  },
1401
1963
  {
1402
1964
  "name": "processPayCycle",
@@ -1418,6 +1980,10 @@ export type LiqsolCore = {
1418
1980
  "name": "admin",
1419
1981
  "signer": true
1420
1982
  },
1983
+ {
1984
+ "name": "maintenanceLedger",
1985
+ "writable": true
1986
+ },
1421
1987
  {
1422
1988
  "name": "stakeMetrics",
1423
1989
  "writable": true
@@ -1464,7 +2030,8 @@ export type LiqsolCore = {
1464
2030
  {
1465
2031
  "name": "processStakeOrders",
1466
2032
  "docs": [
1467
- "V2: Process stake orders using PDA architecture with pre-calculated allocations"
2033
+ "V2: Process stake orders using PDA architecture with pre-calculated allocations",
2034
+ "Validators must be sent contiguously from the active list starting at validators_processed_this_epoch"
1468
2035
  ],
1469
2036
  "discriminator": [
1470
2037
  92,
@@ -1511,35 +2078,73 @@ export type LiqsolCore = {
1511
2078
  "writable": true
1512
2079
  },
1513
2080
  {
1514
- "name": "stakeProgram"
2081
+ "name": "stakeProgram"
2082
+ },
2083
+ {
2084
+ "name": "systemProgram"
2085
+ },
2086
+ {
2087
+ "name": "clock"
2088
+ },
2089
+ {
2090
+ "name": "stakeHistory"
2091
+ },
2092
+ {
2093
+ "name": "stakeConfig"
2094
+ },
2095
+ {
2096
+ "name": "rent"
2097
+ }
2098
+ ],
2099
+ "args": []
2100
+ },
2101
+ {
2102
+ "name": "processTransferHook",
2103
+ "discriminator": [
2104
+ 167,
2105
+ 45,
2106
+ 151,
2107
+ 64,
2108
+ 209,
2109
+ 186,
2110
+ 192,
2111
+ 78
2112
+ ],
2113
+ "accounts": [
2114
+ {
2115
+ "name": "sourceToken"
1515
2116
  },
1516
2117
  {
1517
- "name": "systemProgram"
2118
+ "name": "destinationToken"
1518
2119
  },
1519
2120
  {
1520
- "name": "clock"
2121
+ "name": "senderUserRecord",
2122
+ "writable": true
1521
2123
  },
1522
2124
  {
1523
- "name": "stakeHistory"
2125
+ "name": "receiverUserRecord",
2126
+ "writable": true
1524
2127
  },
1525
2128
  {
1526
- "name": "stakeConfig"
2129
+ "name": "distributionState",
2130
+ "writable": true
1527
2131
  },
1528
2132
  {
1529
- "name": "rent"
2133
+ "name": "bucketTokenAccount"
1530
2134
  }
1531
2135
  ],
1532
2136
  "args": [
1533
2137
  {
1534
- "name": "validatorsCount",
1535
- "type": "u8"
2138
+ "name": "amount",
2139
+ "type": "u64"
1536
2140
  }
1537
2141
  ]
1538
2142
  },
1539
2143
  {
1540
2144
  "name": "processUnstakeOrders",
1541
2145
  "docs": [
1542
- "V2: Process unstake orders by splitting and deactivating stakes"
2146
+ "V2: Process unstake orders by splitting and deactivating stakes",
2147
+ "Validators must be sent contiguously: first from active list, then graveyard list"
1543
2148
  ],
1544
2149
  "discriminator": [
1545
2150
  44,
@@ -1599,24 +2204,19 @@ export type LiqsolCore = {
1599
2204
  "name": "stakeProgram"
1600
2205
  }
1601
2206
  ],
1602
- "args": [
1603
- {
1604
- "name": "validatorsCount",
1605
- "type": "u8"
1606
- }
1607
- ]
2207
+ "args": []
1608
2208
  },
1609
2209
  {
1610
- "name": "purchaseWarrantsFromYield",
2210
+ "name": "purchase",
1611
2211
  "discriminator": [
1612
- 42,
1613
- 126,
1614
- 140,
1615
- 136,
1616
- 176,
1617
- 155,
1618
- 106,
1619
- 139
2212
+ 21,
2213
+ 93,
2214
+ 113,
2215
+ 154,
2216
+ 193,
2217
+ 160,
2218
+ 242,
2219
+ 168
1620
2220
  ],
1621
2221
  "accounts": [
1622
2222
  {
@@ -1624,63 +2224,70 @@ export type LiqsolCore = {
1624
2224
  "writable": true,
1625
2225
  "signer": true
1626
2226
  },
2227
+ {
2228
+ "name": "liqsolMint",
2229
+ "writable": true
2230
+ },
1627
2231
  {
1628
2232
  "name": "globalState",
1629
2233
  "writable": true
1630
2234
  },
1631
2235
  {
1632
- "name": "liqsolMint"
2236
+ "name": "distributionState",
2237
+ "writable": true
1633
2238
  },
1634
2239
  {
1635
- "name": "poolAuthority",
1636
- "docs": [
1637
- "Pool authority PDA"
1638
- ]
2240
+ "name": "buyerAta",
2241
+ "writable": true
1639
2242
  },
1640
2243
  {
1641
- "name": "liqsolPoolAta",
1642
- "docs": [
1643
- "Pool's liqSOL ATA - deterministically derived from pool_authority + liqsol_mint"
1644
- ],
2244
+ "name": "poolAuthority"
2245
+ },
2246
+ {
2247
+ "name": "bucketAuthority"
2248
+ },
2249
+ {
2250
+ "name": "bucketTokenAccount",
1645
2251
  "writable": true
1646
2252
  },
1647
2253
  {
1648
- "name": "solBucket",
1649
- "docs": [
1650
- "SOL bucket for raw SOL warrant purchases"
1651
- ],
2254
+ "name": "bucketUserRecord",
1652
2255
  "writable": true
1653
2256
  },
1654
2257
  {
1655
- "name": "liqsolPoolUserRecord",
2258
+ "name": "senderUserRecord",
1656
2259
  "writable": true
1657
2260
  },
1658
2261
  {
1659
- "name": "distributionState",
2262
+ "name": "receiverUserRecord",
1660
2263
  "writable": true
1661
2264
  },
1662
2265
  {
1663
- "name": "payRateHistory"
2266
+ "name": "extraAccountMetaList"
1664
2267
  },
1665
2268
  {
1666
- "name": "bucketAuthority"
2269
+ "name": "liqsolCoreProgram"
1667
2270
  },
1668
2271
  {
1669
- "name": "bucketTokenAccount",
1670
- "writable": true
2272
+ "name": "transferHookProgram"
1671
2273
  },
1672
2274
  {
1673
- "name": "tokenProgram"
2275
+ "name": "liqsolPoolAta",
2276
+ "writable": true
1674
2277
  },
1675
2278
  {
1676
- "name": "systemProgram"
2279
+ "name": "outpostAccount",
2280
+ "docs": [
2281
+ "User's pretoken deposit record"
2282
+ ],
2283
+ "writable": true
1677
2284
  },
1678
2285
  {
1679
2286
  "name": "trancheState",
1680
2287
  "writable": true
1681
2288
  },
1682
2289
  {
1683
- "name": "userWarrantRecord",
2290
+ "name": "userPretokenRecord",
1684
2291
  "writable": true
1685
2292
  },
1686
2293
  {
@@ -1688,21 +2295,35 @@ export type LiqsolCore = {
1688
2295
  },
1689
2296
  {
1690
2297
  "name": "chainlinkProgram"
2298
+ },
2299
+ {
2300
+ "name": "tokenProgram"
2301
+ },
2302
+ {
2303
+ "name": "associatedTokenProgram"
2304
+ },
2305
+ {
2306
+ "name": "systemProgram"
1691
2307
  }
1692
2308
  ],
1693
- "args": []
2309
+ "args": [
2310
+ {
2311
+ "name": "amount",
2312
+ "type": "u64"
2313
+ }
2314
+ ]
1694
2315
  },
1695
2316
  {
1696
- "name": "purchaseWithLiqsol",
2317
+ "name": "purchaseFromYield",
1697
2318
  "discriminator": [
1698
- 90,
1699
- 74,
1700
- 45,
1701
- 119,
1702
- 201,
1703
- 62,
1704
- 148,
1705
- 74
2319
+ 232,
2320
+ 143,
2321
+ 47,
2322
+ 77,
2323
+ 246,
2324
+ 113,
2325
+ 31,
2326
+ 202
1706
2327
  ],
1707
2328
  "accounts": [
1708
2329
  {
@@ -1711,61 +2332,65 @@ export type LiqsolCore = {
1711
2332
  "signer": true
1712
2333
  },
1713
2334
  {
1714
- "name": "liqsolMint",
2335
+ "name": "globalState",
1715
2336
  "writable": true
1716
2337
  },
1717
2338
  {
1718
- "name": "globalState",
2339
+ "name": "distributionState",
1719
2340
  "writable": true
1720
2341
  },
1721
2342
  {
1722
- "name": "buyerAta",
1723
- "writable": true
2343
+ "name": "liqsolMint"
1724
2344
  },
1725
2345
  {
1726
- "name": "poolAuthority"
2346
+ "name": "poolAuthority",
2347
+ "docs": [
2348
+ "Pool authority PDA"
2349
+ ]
1727
2350
  },
1728
2351
  {
1729
- "name": "liqsolPoolAta",
2352
+ "name": "bucketAuthority"
2353
+ },
2354
+ {
2355
+ "name": "bucketTokenAccount",
1730
2356
  "writable": true
1731
2357
  },
1732
2358
  {
1733
- "name": "warrantDepositRecord",
1734
- "docs": [
1735
- "User's warrant deposit record"
1736
- ],
2359
+ "name": "bucketUserRecord",
1737
2360
  "writable": true
1738
2361
  },
1739
2362
  {
1740
- "name": "liqsolPoolUserRecord",
2363
+ "name": "liqsolPoolAta",
1741
2364
  "docs": [
1742
- "Pool's UserRecord in distribution system (for yield tracking)"
2365
+ "Pool's liqSOL ATA - deterministically derived from pool_authority + liqsol_mint"
1743
2366
  ],
1744
2367
  "writable": true
1745
2368
  },
1746
2369
  {
1747
- "name": "distributionState",
2370
+ "name": "liqsolPoolUserRecord",
1748
2371
  "writable": true
1749
2372
  },
1750
2373
  {
1751
- "name": "payRateHistory"
2374
+ "name": "extraAccountMetaList"
1752
2375
  },
1753
2376
  {
1754
- "name": "bucketAuthority"
2377
+ "name": "liqsolCoreProgram"
1755
2378
  },
1756
2379
  {
1757
- "name": "bucketTokenAccount",
1758
- "writable": true
2380
+ "name": "transferHookProgram"
1759
2381
  },
1760
2382
  {
1761
- "name": "solBucket"
2383
+ "name": "tokenProgram"
2384
+ },
2385
+ {
2386
+ "name": "systemProgram"
1762
2387
  },
1763
2388
  {
1764
2389
  "name": "trancheState",
1765
2390
  "writable": true
1766
2391
  },
1767
2392
  {
1768
- "name": "userWarrantRecord",
2393
+ "name": "userPretokenRecord",
1769
2394
  "writable": true
1770
2395
  },
1771
2396
  {
@@ -1773,162 +2398,259 @@ export type LiqsolCore = {
1773
2398
  },
1774
2399
  {
1775
2400
  "name": "chainlinkProgram"
2401
+ }
2402
+ ],
2403
+ "args": []
2404
+ },
2405
+ {
2406
+ "name": "recordPrice",
2407
+ "discriminator": [
2408
+ 210,
2409
+ 113,
2410
+ 46,
2411
+ 101,
2412
+ 107,
2413
+ 218,
2414
+ 83,
2415
+ 51
2416
+ ],
2417
+ "accounts": [
2418
+ {
2419
+ "name": "payer",
2420
+ "writable": true,
2421
+ "signer": true
1776
2422
  },
1777
2423
  {
1778
- "name": "tokenProgram"
2424
+ "name": "trancheState"
1779
2425
  },
1780
2426
  {
1781
- "name": "associatedTokenProgram"
2427
+ "name": "priceHistory",
2428
+ "writable": true
2429
+ },
2430
+ {
2431
+ "name": "chainlinkProgram"
2432
+ },
2433
+ {
2434
+ "name": "chainlinkFeed"
1782
2435
  },
1783
2436
  {
1784
2437
  "name": "systemProgram"
1785
2438
  }
1786
2439
  ],
1787
- "args": [
2440
+ "args": []
2441
+ },
2442
+ {
2443
+ "name": "refreshStakeMetricsPostLateEpoch",
2444
+ "docs": [
2445
+ "Refresh stake metrics after all late-epoch operations (ProcessStakeOrders, ProcessUnstakeOrders)",
2446
+ "Requires Distribution + UnstakeOrder as prerequisites",
2447
+ "Tracks completion in last_post_late_epoch_stake_metrics_refresh_epoch"
2448
+ ],
2449
+ "discriminator": [
2450
+ 11,
2451
+ 226,
2452
+ 87,
2453
+ 114,
2454
+ 47,
2455
+ 159,
2456
+ 99,
2457
+ 157
2458
+ ],
2459
+ "accounts": [
1788
2460
  {
1789
- "name": "amount",
1790
- "type": "u64"
2461
+ "name": "admin",
2462
+ "writable": true,
2463
+ "signer": true
2464
+ },
2465
+ {
2466
+ "name": "stakeMetrics",
2467
+ "writable": true
2468
+ },
2469
+ {
2470
+ "name": "epochState",
2471
+ "writable": true
2472
+ },
2473
+ {
2474
+ "name": "processingState",
2475
+ "writable": true
2476
+ },
2477
+ {
2478
+ "name": "activeList"
1791
2479
  }
1792
- ]
2480
+ ],
2481
+ "args": []
1793
2482
  },
1794
2483
  {
1795
- "name": "purchaseWithSol",
2484
+ "name": "refreshStakeMetricsPostSync",
2485
+ "docs": [
2486
+ "V2: Refresh stake metrics after removal selection + PDA setup",
2487
+ "Requires ActiveInfosSynced + ValidatorPdaSetup as prerequisites",
2488
+ "Tracks completion in last_post_sync_stake_metrics_refresh_epoch"
2489
+ ],
1796
2490
  "discriminator": [
1797
- 27,
1798
- 238,
1799
- 240,
2491
+ 177,
2492
+ 250,
2493
+ 32,
1800
2494
  155,
1801
- 170,
1802
- 180,
1803
- 26,
1804
- 118
2495
+ 196,
2496
+ 199,
2497
+ 199,
2498
+ 249
2499
+ ],
2500
+ "accounts": [
2501
+ {
2502
+ "name": "admin",
2503
+ "signer": true
2504
+ },
2505
+ {
2506
+ "name": "stakeMetrics",
2507
+ "writable": true
2508
+ },
2509
+ {
2510
+ "name": "epochState",
2511
+ "writable": true
2512
+ },
2513
+ {
2514
+ "name": "processingState",
2515
+ "writable": true
2516
+ },
2517
+ {
2518
+ "name": "activeList"
2519
+ }
2520
+ ],
2521
+ "args": []
2522
+ },
2523
+ {
2524
+ "name": "registerUser",
2525
+ "discriminator": [
2526
+ 2,
2527
+ 241,
2528
+ 150,
2529
+ 223,
2530
+ 99,
2531
+ 214,
2532
+ 116,
2533
+ 97
1805
2534
  ],
1806
2535
  "accounts": [
1807
2536
  {
1808
2537
  "name": "user",
1809
- "writable": true,
1810
- "signer": true
1811
- },
1812
- {
1813
- "name": "liqsolMint",
1814
2538
  "writable": true
1815
2539
  },
1816
2540
  {
1817
- "name": "globalState",
2541
+ "name": "userAta",
1818
2542
  "writable": true
1819
2543
  },
1820
2544
  {
1821
- "name": "poolAuthority",
1822
- "docs": [
1823
- "Pool authority PDA"
1824
- ]
1825
- },
1826
- {
1827
- "name": "liqsolPoolAta",
1828
- "docs": [
1829
- "Pool's liqSOL ATA (for baseline tracking)"
1830
- ],
2545
+ "name": "userRecord",
1831
2546
  "writable": true
1832
2547
  },
1833
2548
  {
1834
- "name": "liqsolPoolUserRecord",
2549
+ "name": "payer",
1835
2550
  "docs": [
1836
- "Pool's UserRecord in distribution system (for yield tracking)"
2551
+ "Payer for the user record PDA creation (always the user)"
1837
2552
  ],
1838
- "writable": true
2553
+ "writable": true,
2554
+ "signer": true
1839
2555
  },
1840
2556
  {
1841
2557
  "name": "distributionState",
1842
2558
  "writable": true
1843
2559
  },
1844
- {
1845
- "name": "payRateHistory"
1846
- },
1847
2560
  {
1848
2561
  "name": "bucketAuthority"
1849
2562
  },
1850
2563
  {
1851
2564
  "name": "bucketTokenAccount",
1852
- "writable": true
1853
- },
1854
- {
1855
- "name": "solBucket",
1856
2565
  "docs": [
1857
- "Native SOL bucket (System Account PDA)"
2566
+ "The bucket's associated token account holding liqSOL (for index sync)"
1858
2567
  ],
1859
2568
  "writable": true
1860
2569
  },
1861
2570
  {
1862
- "name": "warrantDepositRecord",
1863
- "docs": [
1864
- "User's warrant deposit record"
1865
- ],
1866
- "writable": true
1867
- },
2571
+ "name": "systemProgram"
2572
+ }
2573
+ ],
2574
+ "args": []
2575
+ },
2576
+ {
2577
+ "name": "removeLowPerformersBatch",
2578
+ "docs": [
2579
+ "Process batch of validators for removal (below exit threshold)"
2580
+ ],
2581
+ "discriminator": [
2582
+ 91,
2583
+ 142,
2584
+ 166,
2585
+ 98,
2586
+ 245,
2587
+ 245,
2588
+ 159,
2589
+ 44
2590
+ ],
2591
+ "accounts": [
1868
2592
  {
1869
- "name": "trancheState",
2593
+ "name": "activeList",
1870
2594
  "writable": true
1871
2595
  },
1872
2596
  {
1873
- "name": "userWarrantRecord",
2597
+ "name": "graveyardList",
1874
2598
  "writable": true
1875
2599
  },
1876
2600
  {
1877
- "name": "chainlinkFeed"
2601
+ "name": "maintenanceLedger",
2602
+ "writable": true
1878
2603
  },
1879
2604
  {
1880
- "name": "chainlinkProgram"
2605
+ "name": "processingState",
2606
+ "writable": true
1881
2607
  },
1882
2608
  {
1883
- "name": "tokenProgram"
2609
+ "name": "allocationState"
1884
2610
  },
1885
2611
  {
1886
- "name": "systemProgram"
2612
+ "name": "authority",
2613
+ "signer": true
1887
2614
  }
1888
2615
  ],
1889
- "args": [
1890
- {
1891
- "name": "amount",
1892
- "type": "u64"
1893
- }
1894
- ]
2616
+ "args": []
1895
2617
  },
1896
2618
  {
1897
- "name": "recordPrice",
2619
+ "name": "requestUnbondRole",
1898
2620
  "discriminator": [
1899
- 210,
1900
- 113,
1901
- 46,
1902
- 101,
1903
- 107,
1904
- 218,
2621
+ 223,
2622
+ 225,
2623
+ 84,
1905
2624
  83,
1906
- 51
2625
+ 115,
2626
+ 183,
2627
+ 80,
2628
+ 33
1907
2629
  ],
1908
2630
  "accounts": [
1909
2631
  {
1910
- "name": "payer",
2632
+ "name": "user",
1911
2633
  "writable": true,
1912
2634
  "signer": true
1913
2635
  },
1914
2636
  {
1915
- "name": "trancheState"
2637
+ "name": "globalState"
1916
2638
  },
1917
2639
  {
1918
- "name": "priceHistory",
2640
+ "name": "outpostAccount",
1919
2641
  "writable": true
1920
- },
1921
- {
1922
- "name": "chainlinkProgram"
1923
- },
1924
- {
1925
- "name": "chainlinkFeed"
1926
- },
1927
- {
1928
- "name": "systemProgram"
1929
2642
  }
1930
2643
  ],
1931
- "args": []
2644
+ "args": [
2645
+ {
2646
+ "name": "role",
2647
+ "type": {
2648
+ "defined": {
2649
+ "name": "role"
2650
+ }
2651
+ }
2652
+ }
2653
+ ]
1932
2654
  },
1933
2655
  {
1934
2656
  "name": "requestWithdraw",
@@ -1966,7 +2688,8 @@ export type LiqsolCore = {
1966
2688
  "name": "liqsolMint",
1967
2689
  "docs": [
1968
2690
  "liqSOL mint reference (must match Global.liqsol_mint so we can read decimals)"
1969
- ]
2691
+ ],
2692
+ "writable": true
1970
2693
  },
1971
2694
  {
1972
2695
  "name": "userAta",
@@ -1976,6 +2699,48 @@ export type LiqsolCore = {
1976
2699
  "name": "userRecord",
1977
2700
  "writable": true
1978
2701
  },
2702
+ {
2703
+ "name": "distributionState",
2704
+ "docs": [
2705
+ "Distribution state for index tracking"
2706
+ ],
2707
+ "writable": true
2708
+ },
2709
+ {
2710
+ "name": "bucketTokenAccount",
2711
+ "docs": [
2712
+ "The bucket's token account holding liqSOL (for sync_index balance)"
2713
+ ]
2714
+ },
2715
+ {
2716
+ "name": "reservePool",
2717
+ "docs": [
2718
+ "Reserve pool - to check available balance for instant withdrawals"
2719
+ ],
2720
+ "writable": true
2721
+ },
2722
+ {
2723
+ "name": "stakeAllocationState",
2724
+ "docs": [
2725
+ "Stake allocation state - for accumulate_unstake_request"
2726
+ ],
2727
+ "writable": true
2728
+ },
2729
+ {
2730
+ "name": "stakeMetrics",
2731
+ "docs": [
2732
+ "Stake metrics - for accumulate_unstake_request"
2733
+ ]
2734
+ },
2735
+ {
2736
+ "name": "maintenanceLedger",
2737
+ "docs": [
2738
+ "Maintenance ledger - for accumulate_unstake_request"
2739
+ ]
2740
+ },
2741
+ {
2742
+ "name": "clock"
2743
+ },
1979
2744
  {
1980
2745
  "name": "mintAuthority"
1981
2746
  },
@@ -1989,6 +2754,9 @@ export type LiqsolCore = {
1989
2754
  },
1990
2755
  {
1991
2756
  "name": "nftMint",
2757
+ "docs": [
2758
+ "Uses global.next_receipt_id for deterministic, collision-free address generation"
2759
+ ],
1992
2760
  "writable": true
1993
2761
  },
1994
2762
  {
@@ -2015,10 +2783,6 @@ export type LiqsolCore = {
2015
2783
  {
2016
2784
  "name": "amount",
2017
2785
  "type": "u64"
2018
- },
2019
- {
2020
- "name": "ts",
2021
- "type": "u64"
2022
2786
  }
2023
2787
  ]
2024
2788
  },
@@ -2066,6 +2830,22 @@ export type LiqsolCore = {
2066
2830
  {
2067
2831
  "name": "globalState",
2068
2832
  "writable": true
2833
+ },
2834
+ {
2835
+ "name": "poolAuthority"
2836
+ },
2837
+ {
2838
+ "name": "liqsolMint"
2839
+ },
2840
+ {
2841
+ "name": "liqsolPoolAta",
2842
+ "writable": true
2843
+ },
2844
+ {
2845
+ "name": "tokenProgram"
2846
+ },
2847
+ {
2848
+ "name": "associatedTokenProgram"
2069
2849
  }
2070
2850
  ],
2071
2851
  "args": []
@@ -2135,76 +2915,54 @@ export type LiqsolCore = {
2135
2915
  "args": []
2136
2916
  },
2137
2917
  {
2138
- "name": "restoreFromGraveyard",
2918
+ "name": "setLastStateChangeEpoch",
2139
2919
  "docs": [
2140
- "Move a validator from the graveyard to the active list, this is a serious function called in exceptional cases where something has gone awry with our programmatic",
2141
- "decision to put the validator in the graveyard"
2920
+ "Admin function to directly set last_state_change_epoch (useful for testing cooldowns)"
2142
2921
  ],
2143
2922
  "discriminator": [
2144
- 13,
2145
- 118,
2146
- 10,
2147
- 220,
2148
- 199,
2149
- 124,
2150
- 142,
2151
- 248
2923
+ 94,
2924
+ 57,
2925
+ 139,
2926
+ 195,
2927
+ 123,
2928
+ 224,
2929
+ 227,
2930
+ 106
2152
2931
  ],
2153
2932
  "accounts": [
2154
- {
2155
- "name": "authority",
2156
- "writable": true,
2157
- "signer": true
2158
- },
2159
- {
2160
- "name": "activeList",
2161
- "docs": [
2162
- "Active list - will remove from here"
2163
- ],
2164
- "writable": true
2165
- },
2166
- {
2167
- "name": "graveyardList",
2168
- "docs": [
2169
- "Graveyard list - will add here"
2170
- ],
2171
- "writable": true
2172
- },
2173
2933
  {
2174
2934
  "name": "validatorInfo",
2175
- "docs": [
2176
- "Update the validator info to mark as blacklisted/underperforming"
2177
- ],
2178
2935
  "writable": true
2179
2936
  },
2180
2937
  {
2181
2938
  "name": "stakeAllocationState",
2182
2939
  "docs": [
2183
- "Stake allocation state - to update total_active_vpp when removing validator"
2940
+ "Stake allocation state - to update total_active_vpp when VPP changes"
2184
2941
  ],
2185
2942
  "writable": true
2186
- },
2187
- {
2188
- "name": "systemProgram"
2189
2943
  }
2190
2944
  ],
2191
2945
  "args": [
2192
2946
  {
2193
2947
  "name": "voteAccount",
2194
2948
  "type": "pubkey"
2949
+ },
2950
+ {
2951
+ "name": "epoch",
2952
+ "type": "u16"
2195
2953
  }
2196
2954
  ]
2197
2955
  },
2198
2956
  {
2199
- "name": "setDDay",
2957
+ "name": "setPaused",
2200
2958
  "discriminator": [
2201
- 161,
2202
- 160,
2203
- 249,
2204
- 85,
2205
- 122,
2206
- 254,
2207
- 165,
2959
+ 91,
2960
+ 60,
2961
+ 125,
2962
+ 192,
2963
+ 176,
2964
+ 225,
2965
+ 166,
2208
2966
  218
2209
2967
  ],
2210
2968
  "accounts": [
@@ -2219,61 +2977,59 @@ export type LiqsolCore = {
2219
2977
  ],
2220
2978
  "args": [
2221
2979
  {
2222
- "name": "dDay",
2980
+ "name": "paused",
2223
2981
  "type": "bool"
2224
2982
  }
2225
2983
  ]
2226
2984
  },
2227
2985
  {
2228
- "name": "setLastStateChangeEpoch",
2229
- "docs": [
2230
- "Admin function to directly set last_state_change_epoch (useful for testing cooldowns)"
2231
- ],
2986
+ "name": "setRolePrincipal",
2232
2987
  "discriminator": [
2233
- 94,
2234
- 57,
2235
- 139,
2236
- 195,
2237
- 123,
2238
- 224,
2239
- 227,
2240
- 106
2988
+ 33,
2989
+ 199,
2990
+ 203,
2991
+ 50,
2992
+ 60,
2993
+ 167,
2994
+ 90,
2995
+ 92
2241
2996
  ],
2242
2997
  "accounts": [
2243
2998
  {
2244
- "name": "validatorInfo",
2245
- "writable": true
2999
+ "name": "admin",
3000
+ "signer": true
2246
3001
  },
2247
3002
  {
2248
- "name": "stakeAllocationState",
2249
- "docs": [
2250
- "Stake allocation state - to update total_active_vpp when VPP changes"
2251
- ],
3003
+ "name": "globalState",
2252
3004
  "writable": true
2253
3005
  }
2254
3006
  ],
2255
3007
  "args": [
2256
3008
  {
2257
- "name": "voteAccount",
2258
- "type": "pubkey"
3009
+ "name": "role",
3010
+ "type": {
3011
+ "defined": {
3012
+ "name": "role"
3013
+ }
3014
+ }
2259
3015
  },
2260
3016
  {
2261
- "name": "epoch",
2262
- "type": "u16"
3017
+ "name": "principal",
3018
+ "type": "u64"
2263
3019
  }
2264
3020
  ]
2265
3021
  },
2266
3022
  {
2267
- "name": "setPaused",
3023
+ "name": "setRoleWarmupDuration",
2268
3024
  "discriminator": [
2269
- 91,
2270
- 60,
2271
- 125,
2272
- 192,
2273
- 176,
2274
- 225,
2275
- 166,
2276
- 218
3025
+ 229,
3026
+ 188,
3027
+ 179,
3028
+ 162,
3029
+ 56,
3030
+ 173,
3031
+ 228,
3032
+ 68
2277
3033
  ],
2278
3034
  "accounts": [
2279
3035
  {
@@ -2287,22 +3043,22 @@ export type LiqsolCore = {
2287
3043
  ],
2288
3044
  "args": [
2289
3045
  {
2290
- "name": "paused",
2291
- "type": "bool"
3046
+ "name": "durationSeconds",
3047
+ "type": "i64"
2292
3048
  }
2293
3049
  ]
2294
3050
  },
2295
3051
  {
2296
- "name": "setRefundActive",
3052
+ "name": "setWireState",
2297
3053
  "discriminator": [
2298
- 104,
2299
- 25,
2300
- 45,
2301
- 139,
2302
- 207,
3054
+ 62,
3055
+ 194,
2303
3056
  254,
2304
- 129,
2305
- 237
3057
+ 126,
3058
+ 251,
3059
+ 69,
3060
+ 35,
3061
+ 228
2306
3062
  ],
2307
3063
  "accounts": [
2308
3064
  {
@@ -2316,95 +3072,157 @@ export type LiqsolCore = {
2316
3072
  ],
2317
3073
  "args": [
2318
3074
  {
2319
- "name": "refundActive",
2320
- "type": "bool"
3075
+ "name": "wireState",
3076
+ "type": {
3077
+ "defined": {
3078
+ "name": "wireState"
3079
+ }
3080
+ }
2321
3081
  }
2322
3082
  ]
2323
3083
  },
2324
3084
  {
2325
- "name": "stakeLiqsol",
3085
+ "name": "setupValidatorPdasBatch",
2326
3086
  "discriminator": [
2327
- 135,
2328
- 102,
2329
- 130,
2330
- 67,
2331
- 57,
2332
- 29,
2333
- 101,
2334
- 95
3087
+ 115,
3088
+ 37,
3089
+ 9,
3090
+ 246,
3091
+ 144,
3092
+ 224,
3093
+ 178,
3094
+ 79
2335
3095
  ],
2336
3096
  "accounts": [
2337
3097
  {
2338
- "name": "user",
3098
+ "name": "authority",
2339
3099
  "writable": true,
2340
3100
  "signer": true
2341
3101
  },
2342
3102
  {
2343
- "name": "liqsolMint",
3103
+ "name": "activeList",
2344
3104
  "writable": true
2345
3105
  },
2346
3106
  {
2347
- "name": "globalState",
3107
+ "name": "processingState",
2348
3108
  "writable": true
2349
3109
  },
2350
3110
  {
2351
- "name": "userAta",
3111
+ "name": "maintenanceLedger",
2352
3112
  "writable": true
2353
3113
  },
2354
3114
  {
2355
- "name": "poolAuthority"
2356
- },
2357
- {
2358
- "name": "liqsolPoolAta",
3115
+ "name": "allocationState",
2359
3116
  "writable": true
2360
3117
  },
2361
3118
  {
2362
- "name": "warrantDepositRecord",
3119
+ "name": "systemProgram",
2363
3120
  "docs": [
2364
- "User's warrant deposit record"
2365
- ],
2366
- "writable": true
3121
+ "Needed for manual PDA creation"
3122
+ ]
3123
+ }
3124
+ ],
3125
+ "args": []
3126
+ },
3127
+ {
3128
+ "name": "slashBond",
3129
+ "discriminator": [
3130
+ 143,
3131
+ 246,
3132
+ 51,
3133
+ 243,
3134
+ 88,
3135
+ 198,
3136
+ 217,
3137
+ 48
3138
+ ],
3139
+ "accounts": [
3140
+ {
3141
+ "name": "admin",
3142
+ "signer": true
2367
3143
  },
2368
3144
  {
2369
- "name": "liqsolPoolUserRecord",
3145
+ "name": "globalState"
3146
+ },
3147
+ {
3148
+ "name": "user",
2370
3149
  "docs": [
2371
- "Pool's UserRecord in distribution system (for yield tracking)"
2372
- ],
2373
- "writable": true
3150
+ "The user being slashed"
3151
+ ]
2374
3152
  },
2375
3153
  {
2376
- "name": "distributionState",
3154
+ "name": "outpostAccount",
2377
3155
  "writable": true
2378
- },
3156
+ }
3157
+ ],
3158
+ "args": []
3159
+ },
3160
+ {
3161
+ "name": "syncActiveScores",
3162
+ "discriminator": [
3163
+ 38,
3164
+ 188,
3165
+ 30,
3166
+ 93,
3167
+ 139,
3168
+ 1,
3169
+ 140,
3170
+ 168
3171
+ ],
3172
+ "accounts": [
2379
3173
  {
2380
- "name": "payRateHistory"
3174
+ "name": "activeList",
3175
+ "writable": true
2381
3176
  },
2382
3177
  {
2383
- "name": "bucketAuthority"
3178
+ "name": "leaderboardState"
2384
3179
  },
2385
3180
  {
2386
- "name": "bucketTokenAccount",
3181
+ "name": "maintenanceLedger",
2387
3182
  "writable": true
2388
3183
  },
2389
3184
  {
2390
- "name": "solBucket"
3185
+ "name": "authority",
3186
+ "signer": true
3187
+ }
3188
+ ],
3189
+ "args": []
3190
+ },
3191
+ {
3192
+ "name": "syncDistributionIndex",
3193
+ "discriminator": [
3194
+ 82,
3195
+ 159,
3196
+ 232,
3197
+ 125,
3198
+ 12,
3199
+ 29,
3200
+ 9,
3201
+ 226
3202
+ ],
3203
+ "accounts": [
3204
+ {
3205
+ "name": "authority",
3206
+ "docs": [
3207
+ "Admin or crank that triggers the index sync"
3208
+ ],
3209
+ "signer": true
2391
3210
  },
2392
3211
  {
2393
- "name": "tokenProgram"
3212
+ "name": "distributionState",
3213
+ "writable": true
2394
3214
  },
2395
3215
  {
2396
- "name": "associatedTokenProgram"
3216
+ "name": "bucketAuthority",
3217
+ "docs": [
3218
+ "The bucket's associated token account holding liqSOL"
3219
+ ]
2397
3220
  },
2398
3221
  {
2399
- "name": "systemProgram"
3222
+ "name": "bucketTokenAccount"
2400
3223
  }
2401
3224
  ],
2402
- "args": [
2403
- {
2404
- "name": "amount",
2405
- "type": "u64"
2406
- }
2407
- ]
3225
+ "args": []
2408
3226
  },
2409
3227
  {
2410
3228
  "name": "syncMainStakeAccounts",
@@ -2445,13 +3263,13 @@ export type LiqsolCore = {
2445
3263
  {
2446
3264
  "name": "activeList",
2447
3265
  "docs": [
2448
- "Active validator list - to check validator counts"
3266
+ "Active validator list - to check validator counts and membership"
2449
3267
  ]
2450
3268
  },
2451
3269
  {
2452
3270
  "name": "graveyardList",
2453
3271
  "docs": [
2454
- "Graveyard validator list - to check validator counts"
3272
+ "Graveyard validator list - graveyard validators also need syncing for merge operations"
2455
3273
  ]
2456
3274
  },
2457
3275
  {
@@ -2461,353 +3279,243 @@ export type LiqsolCore = {
2461
3279
  "args": []
2462
3280
  },
2463
3281
  {
2464
- "name": "updateGrowthParameters",
2465
- "discriminator": [
2466
- 172,
2467
- 187,
2468
- 237,
2469
- 233,
2470
- 250,
2471
- 160,
2472
- 115,
2473
- 239
2474
- ],
2475
- "accounts": [
2476
- {
2477
- "name": "admin",
2478
- "writable": true,
2479
- "signer": true
2480
- },
2481
- {
2482
- "name": "trancheState",
2483
- "writable": true
2484
- },
2485
- {
2486
- "name": "priceHistory",
2487
- "writable": true
2488
- },
2489
- {
2490
- "name": "systemProgram"
2491
- }
2492
- ],
2493
- "args": [
2494
- {
2495
- "name": "supplyGrowthBps",
2496
- "type": "u16"
2497
- },
2498
- {
2499
- "name": "priceGrowthBps",
2500
- "type": "u16"
2501
- }
2502
- ]
2503
- },
2504
- {
2505
- "name": "updatePriceBounds",
2506
- "discriminator": [
2507
- 241,
2508
- 116,
2509
- 141,
2510
- 65,
2511
- 61,
2512
- 95,
2513
- 232,
2514
- 28
2515
- ],
2516
- "accounts": [
2517
- {
2518
- "name": "admin",
2519
- "writable": true,
2520
- "signer": true
2521
- },
2522
- {
2523
- "name": "trancheState",
2524
- "writable": true
2525
- },
2526
- {
2527
- "name": "priceHistory",
2528
- "writable": true
2529
- },
2530
- {
2531
- "name": "systemProgram"
2532
- }
3282
+ "name": "syncValidatorSelectionThresholds",
3283
+ "docs": [
3284
+ "Calculate and store entry/exit thresholds from validator leaderboard"
2533
3285
  ],
2534
- "args": [
2535
- {
2536
- "name": "minPriceUsd",
2537
- "type": "i128"
2538
- },
2539
- {
2540
- "name": "maxPriceUsd",
2541
- "type": "i128"
2542
- },
2543
- {
2544
- "name": "maxStalenessSeconds",
2545
- "type": "i64"
2546
- }
2547
- ]
2548
- },
2549
- {
2550
- "name": "updateUser",
2551
3286
  "discriminator": [
2552
- 9,
2553
- 2,
2554
- 160,
2555
- 169,
2556
- 118,
2557
- 12,
2558
- 207,
2559
- 84
3287
+ 102,
3288
+ 171,
3289
+ 32,
3290
+ 136,
3291
+ 205,
3292
+ 105,
3293
+ 208,
3294
+ 225
2560
3295
  ],
2561
3296
  "accounts": [
2562
3297
  {
2563
- "name": "user",
2564
- "writable": true
3298
+ "name": "leaderboardState"
2565
3299
  },
2566
3300
  {
2567
- "name": "userAta",
3301
+ "name": "allocationState",
2568
3302
  "writable": true
2569
3303
  },
2570
3304
  {
2571
- "name": "userRecord",
3305
+ "name": "maintenanceLedger",
2572
3306
  "writable": true
2573
3307
  },
2574
3308
  {
2575
3309
  "name": "authority",
2576
- "docs": [
2577
- "Authority that can update this user record",
2578
- "- For manual registration: user's keypair",
2579
- "- For deposit flow: deposit program's program_authority PDA"
2580
- ],
2581
3310
  "signer": true
2582
- },
3311
+ }
3312
+ ],
3313
+ "args": []
3314
+ },
3315
+ {
3316
+ "name": "synd",
3317
+ "discriminator": [
3318
+ 153,
3319
+ 175,
3320
+ 231,
3321
+ 40,
3322
+ 44,
3323
+ 65,
3324
+ 175,
3325
+ 172
3326
+ ],
3327
+ "accounts": [
2583
3328
  {
2584
- "name": "payer",
2585
- "docs": [
2586
- "Payer for the user record PDA creation (always the user)"
2587
- ],
3329
+ "name": "user",
2588
3330
  "writable": true,
2589
3331
  "signer": true
2590
3332
  },
2591
3333
  {
2592
- "name": "distributionState",
3334
+ "name": "liqsolMint",
2593
3335
  "writable": true
2594
3336
  },
2595
3337
  {
2596
- "name": "liqsolMint"
3338
+ "name": "globalState",
3339
+ "writable": true
2597
3340
  },
2598
3341
  {
2599
- "name": "instructionsSysvar"
3342
+ "name": "distributionState",
3343
+ "writable": true
2600
3344
  },
2601
3345
  {
2602
- "name": "tokenProgram"
3346
+ "name": "userAta",
3347
+ "writable": true
2603
3348
  },
2604
3349
  {
2605
- "name": "payRateHistory"
3350
+ "name": "poolAuthority"
2606
3351
  },
2607
3352
  {
2608
3353
  "name": "bucketAuthority"
2609
3354
  },
2610
3355
  {
2611
3356
  "name": "bucketTokenAccount",
2612
- "docs": [
2613
- "The bucket's associated token account holding liq"
2614
- ],
2615
3357
  "writable": true
2616
3358
  },
2617
3359
  {
2618
- "name": "systemProgram"
2619
- }
2620
- ],
2621
- "args": []
2622
- },
2623
- {
2624
- "name": "updateValidatorInfoV2",
2625
- "docs": [
2626
- "Update validator info fields (V2), function to force update a validator's info, should not be used unless in development for testing"
2627
- ],
2628
- "discriminator": [
2629
- 123,
2630
- 47,
2631
- 0,
2632
- 192,
2633
- 74,
2634
- 132,
2635
- 84,
2636
- 46
2637
- ],
2638
- "accounts": [
3360
+ "name": "bucketUserRecord",
3361
+ "writable": true
3362
+ },
2639
3363
  {
2640
- "name": "validatorInfo",
3364
+ "name": "senderUserRecord",
2641
3365
  "writable": true
2642
3366
  },
2643
3367
  {
2644
- "name": "stakeAllocationState",
2645
- "docs": [
2646
- "Stake allocation state - to update total_active_vpp when VPP changes"
2647
- ],
3368
+ "name": "receiverUserRecord",
2648
3369
  "writable": true
2649
- }
2650
- ],
2651
- "args": [
3370
+ },
2652
3371
  {
2653
- "name": "voteAccount",
2654
- "type": "pubkey"
3372
+ "name": "extraAccountMetaList"
2655
3373
  },
2656
3374
  {
2657
- "name": "currentActiveStakeAmount",
2658
- "type": {
2659
- "option": "u64"
2660
- }
3375
+ "name": "liqsolCoreProgram"
2661
3376
  },
2662
3377
  {
2663
- "name": "epochRewardAmount",
2664
- "type": {
2665
- "option": "u64"
2666
- }
3378
+ "name": "transferHookProgram"
2667
3379
  },
2668
3380
  {
2669
- "name": "transientActiveStakeAmount",
2670
- "type": {
2671
- "option": "u64"
2672
- }
3381
+ "name": "liqsolPoolAta",
3382
+ "writable": true
2673
3383
  },
2674
3384
  {
2675
- "name": "epoch",
2676
- "type": {
2677
- "option": "u64"
2678
- }
3385
+ "name": "outpostAccount",
3386
+ "docs": [
3387
+ "User's pretoken deposit record"
3388
+ ],
3389
+ "writable": true
2679
3390
  },
2680
3391
  {
2681
- "name": "performanceScore",
2682
- "type": {
2683
- "option": "u8"
2684
- }
3392
+ "name": "tokenProgram"
3393
+ },
3394
+ {
3395
+ "name": "associatedTokenProgram"
3396
+ },
3397
+ {
3398
+ "name": "systemProgram"
3399
+ }
3400
+ ],
3401
+ "args": [
3402
+ {
3403
+ "name": "amount",
3404
+ "type": "u64"
2685
3405
  }
2686
3406
  ]
2687
3407
  },
2688
3408
  {
2689
- "name": "updateValidatorTransient",
2690
- "docs": [
2691
- "Update validator transient tracking (V2), another function not to be really used in production except for testing//",
2692
- "TODO: discuss wether to let this function be ?"
2693
- ],
3409
+ "name": "testClearActiveList",
2694
3410
  "discriminator": [
2695
- 124,
2696
- 36,
2697
- 28,
2698
- 172,
2699
- 25,
2700
- 233,
2701
- 39,
2702
- 219
3411
+ 17,
3412
+ 195,
3413
+ 59,
3414
+ 174,
3415
+ 184,
3416
+ 137,
3417
+ 149,
3418
+ 144
2703
3419
  ],
2704
3420
  "accounts": [
2705
3421
  {
2706
- "name": "validatorTransient",
3422
+ "name": "activeList",
2707
3423
  "writable": true
2708
- }
2709
- ],
2710
- "args": [
2711
- {
2712
- "name": "voteAccount",
2713
- "type": "pubkey"
2714
3424
  },
2715
3425
  {
2716
- "name": "maxResolvedEpochDeactivations",
2717
- "type": {
2718
- "option": "u16"
2719
- }
3426
+ "name": "processingState",
3427
+ "writable": true
2720
3428
  },
2721
3429
  {
2722
- "name": "maxResolvedActivatingStake",
2723
- "type": {
2724
- "option": "u16"
2725
- }
3430
+ "name": "authority",
3431
+ "signer": true
2726
3432
  }
2727
- ]
3433
+ ],
3434
+ "args": []
2728
3435
  },
2729
3436
  {
2730
- "name": "withdrawStake",
3437
+ "name": "updateGrowthParameters",
2731
3438
  "discriminator": [
2732
- 153,
2733
- 8,
2734
- 22,
2735
- 138,
2736
- 105,
2737
- 176,
2738
- 87,
2739
- 66
3439
+ 172,
3440
+ 187,
3441
+ 237,
3442
+ 233,
3443
+ 250,
3444
+ 160,
3445
+ 115,
3446
+ 239
2740
3447
  ],
2741
3448
  "accounts": [
2742
3449
  {
2743
- "name": "user",
3450
+ "name": "admin",
2744
3451
  "writable": true,
2745
3452
  "signer": true
2746
3453
  },
2747
3454
  {
2748
- "name": "liqsolMint",
2749
- "writable": true
2750
- },
2751
- {
2752
- "name": "globalState",
3455
+ "name": "trancheState",
2753
3456
  "writable": true
2754
3457
  },
2755
3458
  {
2756
- "name": "userAta",
3459
+ "name": "priceHistory",
2757
3460
  "writable": true
2758
3461
  },
2759
3462
  {
2760
- "name": "poolAuthority"
2761
- },
3463
+ "name": "systemProgram"
3464
+ }
3465
+ ],
3466
+ "args": [
2762
3467
  {
2763
- "name": "liqsolPoolAta",
2764
- "writable": true
3468
+ "name": "supplyGrowthBps",
3469
+ "type": "u16"
2765
3470
  },
2766
3471
  {
2767
- "name": "warrantDepositRecord",
2768
- "docs": [
2769
- "User's warrant deposit record"
2770
- ],
2771
- "writable": true
2772
- },
3472
+ "name": "priceGrowthBps",
3473
+ "type": "u16"
3474
+ }
3475
+ ]
3476
+ },
3477
+ {
3478
+ "name": "updatePriceBounds",
3479
+ "discriminator": [
3480
+ 241,
3481
+ 116,
3482
+ 141,
3483
+ 65,
3484
+ 61,
3485
+ 95,
3486
+ 232,
3487
+ 28
3488
+ ],
3489
+ "accounts": [
2773
3490
  {
2774
- "name": "liqsolPoolUserRecord",
2775
- "docs": [
2776
- "Pool's UserRecord in distribution system (for yield tracking)"
2777
- ],
2778
- "writable": true
3491
+ "name": "admin",
3492
+ "writable": true,
3493
+ "signer": true
2779
3494
  },
2780
3495
  {
2781
- "name": "distributionState",
3496
+ "name": "trancheState",
2782
3497
  "writable": true
2783
3498
  },
2784
3499
  {
2785
- "name": "payRateHistory"
2786
- },
2787
- {
2788
- "name": "bucketAuthority"
2789
- },
2790
- {
2791
- "name": "bucketTokenAccount",
2792
- "docs": [
2793
- "The bucket's associated token account holding liqSOL"
2794
- ],
3500
+ "name": "priceHistory",
2795
3501
  "writable": true
2796
3502
  },
2797
- {
2798
- "name": "solBucket"
2799
- },
2800
- {
2801
- "name": "tokenProgram"
2802
- },
2803
3503
  {
2804
3504
  "name": "systemProgram"
2805
3505
  }
2806
3506
  ],
2807
3507
  "args": [
2808
3508
  {
2809
- "name": "amount",
2810
- "type": "u64"
3509
+ "name": "minPriceUsd",
3510
+ "type": "i128"
3511
+ },
3512
+ {
3513
+ "name": "maxPriceUsd",
3514
+ "type": "i128"
3515
+ },
3516
+ {
3517
+ "name": "maxStalenessSeconds",
3518
+ "type": "i64"
2811
3519
  }
2812
3520
  ]
2813
3521
  }
@@ -2865,6 +3573,19 @@ export type LiqsolCore = {
2865
3573
  98
2866
3574
  ]
2867
3575
  },
3576
+ {
3577
+ "name": "leaderboardState",
3578
+ "discriminator": [
3579
+ 211,
3580
+ 181,
3581
+ 29,
3582
+ 120,
3583
+ 189,
3584
+ 4,
3585
+ 106,
3586
+ 111
3587
+ ]
3588
+ },
2868
3589
  {
2869
3590
  "name": "liqReceiptData",
2870
3591
  "discriminator": [
@@ -2891,6 +3612,19 @@ export type LiqsolCore = {
2891
3612
  39
2892
3613
  ]
2893
3614
  },
3615
+ {
3616
+ "name": "outpostAccount",
3617
+ "discriminator": [
3618
+ 87,
3619
+ 205,
3620
+ 242,
3621
+ 192,
3622
+ 212,
3623
+ 51,
3624
+ 26,
3625
+ 93
3626
+ ]
3627
+ },
2894
3628
  {
2895
3629
  "name": "payRateHistory",
2896
3630
  "discriminator": [
@@ -2995,6 +3729,19 @@ export type LiqsolCore = {
2995
3729
  105
2996
3730
  ]
2997
3731
  },
3732
+ {
3733
+ "name": "userPretokenRecord",
3734
+ "discriminator": [
3735
+ 117,
3736
+ 99,
3737
+ 159,
3738
+ 251,
3739
+ 98,
3740
+ 253,
3741
+ 6,
3742
+ 238
3743
+ ]
3744
+ },
2998
3745
  {
2999
3746
  "name": "userRecord",
3000
3747
  "discriminator": [
@@ -3008,32 +3755,6 @@ export type LiqsolCore = {
3008
3755
  167
3009
3756
  ]
3010
3757
  },
3011
- {
3012
- "name": "userWarrantRecord",
3013
- "discriminator": [
3014
- 241,
3015
- 1,
3016
- 155,
3017
- 227,
3018
- 164,
3019
- 252,
3020
- 70,
3021
- 195
3022
- ]
3023
- },
3024
- {
3025
- "name": "userWithdrawRecord",
3026
- "discriminator": [
3027
- 127,
3028
- 174,
3029
- 233,
3030
- 74,
3031
- 19,
3032
- 123,
3033
- 21,
3034
- 13
3035
- ]
3036
- },
3037
3758
  {
3038
3759
  "name": "validatorInfoAccount",
3039
3760
  "discriminator": [
@@ -3072,19 +3793,6 @@ export type LiqsolCore = {
3072
3793
  118,
3073
3794
  161
3074
3795
  ]
3075
- },
3076
- {
3077
- "name": "wireReceipt",
3078
- "discriminator": [
3079
- 166,
3080
- 10,
3081
- 172,
3082
- 11,
3083
- 51,
3084
- 126,
3085
- 156,
3086
- 221
3087
- ]
3088
3796
  }
3089
3797
  ],
3090
3798
  "events": [
@@ -3101,6 +3809,45 @@ export type LiqsolCore = {
3101
3809
  65
3102
3810
  ]
3103
3811
  },
3812
+ {
3813
+ "name": "graveyardDeactivationQueuedEvent",
3814
+ "discriminator": [
3815
+ 131,
3816
+ 241,
3817
+ 122,
3818
+ 229,
3819
+ 108,
3820
+ 21,
3821
+ 67,
3822
+ 37
3823
+ ]
3824
+ },
3825
+ {
3826
+ "name": "graveyardValidatorCleanedEvent",
3827
+ "discriminator": [
3828
+ 3,
3829
+ 252,
3830
+ 58,
3831
+ 228,
3832
+ 135,
3833
+ 135,
3834
+ 104,
3835
+ 34
3836
+ ]
3837
+ },
3838
+ {
3839
+ "name": "pretokenPurchased",
3840
+ "discriminator": [
3841
+ 39,
3842
+ 1,
3843
+ 143,
3844
+ 191,
3845
+ 8,
3846
+ 14,
3847
+ 80,
3848
+ 41
3849
+ ]
3850
+ },
3104
3851
  {
3105
3852
  "name": "stakesMerged",
3106
3853
  "discriminator": [
@@ -3114,6 +3861,45 @@ export type LiqsolCore = {
3114
3861
  97
3115
3862
  ]
3116
3863
  },
3864
+ {
3865
+ "name": "validatorAddedEvent",
3866
+ "discriminator": [
3867
+ 71,
3868
+ 123,
3869
+ 103,
3870
+ 213,
3871
+ 174,
3872
+ 178,
3873
+ 82,
3874
+ 130
3875
+ ]
3876
+ },
3877
+ {
3878
+ "name": "validatorRemovedEvent",
3879
+ "discriminator": [
3880
+ 49,
3881
+ 23,
3882
+ 179,
3883
+ 208,
3884
+ 124,
3885
+ 3,
3886
+ 231,
3887
+ 59
3888
+ ]
3889
+ },
3890
+ {
3891
+ "name": "validatorSwappedEvent",
3892
+ "discriminator": [
3893
+ 33,
3894
+ 50,
3895
+ 10,
3896
+ 35,
3897
+ 69,
3898
+ 113,
3899
+ 96,
3900
+ 180
3901
+ ]
3902
+ },
3117
3903
  {
3118
3904
  "name": "validatorsSyncedEvent",
3119
3905
  "discriminator": [
@@ -3157,8 +3943,118 @@ export type LiqsolCore = {
3157
3943
  "errors": [
3158
3944
  {
3159
3945
  "code": 6000,
3160
- "name": "accountBorrowFailed",
3161
- "msg": "Util Acc borrow Failed"
3946
+ "name": "destinationAccountDoesNotExist",
3947
+ "msg": "Destination stake account does not exist"
3948
+ },
3949
+ {
3950
+ "code": 6001,
3951
+ "name": "sourceAccountDoesNotExist",
3952
+ "msg": "Source stake account does not exist"
3953
+ },
3954
+ {
3955
+ "code": 6002,
3956
+ "name": "invalidDestinationOwner",
3957
+ "msg": "Destination account not owned by stake program"
3958
+ },
3959
+ {
3960
+ "code": 6003,
3961
+ "name": "invalidSourceOwner",
3962
+ "msg": "Source account not owned by stake program"
3963
+ },
3964
+ {
3965
+ "code": 6004,
3966
+ "name": "clockBorrowFailed",
3967
+ "msg": "Failed to borrow clock data"
3968
+ },
3969
+ {
3970
+ "code": 6005,
3971
+ "name": "clockDeserializeFailed",
3972
+ "msg": "Failed to deserialize clock"
3973
+ },
3974
+ {
3975
+ "code": 6006,
3976
+ "name": "destinationAnalysisFailed",
3977
+ "msg": "Failed to analyze destination stake account"
3978
+ },
3979
+ {
3980
+ "code": 6007,
3981
+ "name": "sourceAnalysisFailed",
3982
+ "msg": "Failed to analyze source stake account"
3983
+ },
3984
+ {
3985
+ "code": 6008,
3986
+ "name": "destinationStillActivating",
3987
+ "msg": "Destination stake is still activating"
3988
+ },
3989
+ {
3990
+ "code": 6009,
3991
+ "name": "destinationDeactivating",
3992
+ "msg": "Destination stake is deactivating"
3993
+ },
3994
+ {
3995
+ "code": 6010,
3996
+ "name": "sourceStillActivating",
3997
+ "msg": "Source stake is still activating"
3998
+ },
3999
+ {
4000
+ "code": 6011,
4001
+ "name": "sourceDeactivating",
4002
+ "msg": "Source stake is deactivating"
4003
+ },
4004
+ {
4005
+ "code": 6012,
4006
+ "name": "destinationBorrowFailed",
4007
+ "msg": "Failed to borrow destination account data"
4008
+ },
4009
+ {
4010
+ "code": 6013,
4011
+ "name": "destinationParseFailed",
4012
+ "msg": "Failed to parse destination stake state"
4013
+ },
4014
+ {
4015
+ "code": 6014,
4016
+ "name": "sourceBorrowFailed",
4017
+ "msg": "Failed to borrow source account data"
4018
+ },
4019
+ {
4020
+ "code": 6015,
4021
+ "name": "sourceParseFailed",
4022
+ "msg": "Failed to parse source stake state"
4023
+ },
4024
+ {
4025
+ "code": 6016,
4026
+ "name": "differentValidators",
4027
+ "msg": "Stakes are delegated to different validators"
4028
+ },
4029
+ {
4030
+ "code": 6017,
4031
+ "name": "differentStakers",
4032
+ "msg": "Stakes have different staker authorities"
4033
+ },
4034
+ {
4035
+ "code": 6018,
4036
+ "name": "differentWithdrawers",
4037
+ "msg": "Stakes have different withdrawer authorities"
4038
+ },
4039
+ {
4040
+ "code": 6019,
4041
+ "name": "authoritiesNotFound",
4042
+ "msg": "Could not extract authorities from accounts"
4043
+ },
4044
+ {
4045
+ "code": 6020,
4046
+ "name": "mergeInstructionFailed",
4047
+ "msg": "Merge instruction failed"
4048
+ },
4049
+ {
4050
+ "code": 6021,
4051
+ "name": "epochRewardsActive",
4052
+ "msg": "Epoch rewards distribution is active - stake operations blocked"
4053
+ },
4054
+ {
4055
+ "code": 6022,
4056
+ "name": "differentCreditsObserved",
4057
+ "msg": "Stakes have different credits_observed - cannot merge until both earn same rewards"
3162
4058
  }
3163
4059
  ],
3164
4060
  "types": [
@@ -3171,41 +4067,25 @@ export type LiqsolCore = {
3171
4067
  "name": "validatorsProcessedThisEpoch",
3172
4068
  "type": "u8"
3173
4069
  },
3174
- {
3175
- "name": "currentMergeProcessingEpoch",
3176
- "docs": [
3177
- "Intra batch state, how many validators have been processed for activating transient merges - reset to 0 at the end of each epoch OR at the beginning of the function call when there is a mismatch",
3178
- "between the current_merge_processing_epoch and the actual current epoch//"
3179
- ],
3180
- "type": "u64"
3181
- },
3182
4070
  {
3183
4071
  "name": "validatorsMergeProcessedThisEpoch",
3184
- "type": "u8"
3185
- },
3186
- {
3187
- "name": "currentDeactivatingMergeEpoch",
3188
- "type": "u64"
4072
+ "type": "u16"
3189
4073
  },
3190
4074
  {
3191
4075
  "name": "validatorsDeactivatingMergeProcessed",
3192
- "type": "u8"
4076
+ "type": "u16"
3193
4077
  },
3194
4078
  {
3195
4079
  "name": "validatorsSyncProcessedThisEpoch",
3196
- "type": "u8"
4080
+ "type": "u16"
3197
4081
  },
3198
4082
  {
3199
4083
  "name": "validatorsUnstakeProcessedThisEpoch",
3200
- "type": "u8"
3201
- },
3202
- {
3203
- "name": "distributionInProgress",
3204
- "type": "bool"
4084
+ "type": "u16"
3205
4085
  },
3206
4086
  {
3207
4087
  "name": "validatorsAggregateProcessedThisEpoch",
3208
- "type": "u8"
4088
+ "type": "u16"
3209
4089
  },
3210
4090
  {
3211
4091
  "name": "tempTotalActiveStake",
@@ -3226,6 +4106,64 @@ export type LiqsolCore = {
3226
4106
  {
3227
4107
  "name": "bump",
3228
4108
  "type": "u8"
4109
+ },
4110
+ {
4111
+ "name": "infraNextIndex",
4112
+ "docs": [
4113
+ "Next active_list index to process for PDA setup"
4114
+ ],
4115
+ "type": "u16"
4116
+ },
4117
+ {
4118
+ "name": "infosNextIndex",
4119
+ "docs": [
4120
+ "Next active_list index to process for infos sync"
4121
+ ],
4122
+ "type": "u16"
4123
+ },
4124
+ {
4125
+ "name": "removalNextIndex",
4126
+ "docs": [
4127
+ "Next index in active list to check for removal"
4128
+ ],
4129
+ "type": "u16"
4130
+ },
4131
+ {
4132
+ "name": "additionNextRank",
4133
+ "docs": [
4134
+ "Next rank in leaderboard to check for addition"
4135
+ ],
4136
+ "type": "u16"
4137
+ },
4138
+ {
4139
+ "name": "additionTargetRank",
4140
+ "docs": [
4141
+ "Target (inclusive) leaderboard rank to process up to"
4142
+ ],
4143
+ "type": "u16"
4144
+ },
4145
+ {
4146
+ "name": "graveyardNextIndex",
4147
+ "docs": [
4148
+ "Next index in graveyard list to process"
4149
+ ],
4150
+ "type": "u16"
4151
+ },
4152
+ {
4153
+ "name": "graveyardCleanupNextIndex",
4154
+ "docs": [
4155
+ "Next index in graveyard list to check for cleanup"
4156
+ ],
4157
+ "type": "u16"
4158
+ },
4159
+ {
4160
+ "name": "reserved",
4161
+ "type": {
4162
+ "array": [
4163
+ "u8",
4164
+ 32
4165
+ ]
4166
+ }
3229
4167
  }
3230
4168
  ]
3231
4169
  }
@@ -3240,16 +4178,54 @@ export type LiqsolCore = {
3240
4178
  "type": "pubkey"
3241
4179
  },
3242
4180
  {
3243
- "name": "totalTrackedBalance",
4181
+ "name": "currentIndex",
4182
+ "type": "u64"
4183
+ },
4184
+ {
4185
+ "name": "totalShares",
4186
+ "docs": [
4187
+ "Sum of all user shares across the system"
4188
+ ],
3244
4189
  "type": "u64"
3245
4190
  },
3246
4191
  {
3247
- "name": "availableBalance",
4192
+ "name": "lastBucketBalance",
4193
+ "docs": [
4194
+ "Last observed bucket balance used for incremental index updates"
4195
+ ],
3248
4196
  "type": "u64"
3249
4197
  },
3250
4198
  {
3251
4199
  "name": "bump",
3252
4200
  "type": "u8"
4201
+ },
4202
+ {
4203
+ "name": "bucketBump",
4204
+ "docs": [
4205
+ "Cached bucket authority bump to avoid repeated find_program_address calls"
4206
+ ],
4207
+ "type": "u8"
4208
+ },
4209
+ {
4210
+ "name": "poolBump",
4211
+ "docs": [
4212
+ "Cached pool authority bump to avoid repeated find_program_address calls"
4213
+ ],
4214
+ "type": "u8"
4215
+ },
4216
+ {
4217
+ "name": "bucketAuthority",
4218
+ "docs": [
4219
+ "Cached bucket authority pubkey for transfer-hook optimization"
4220
+ ],
4221
+ "type": "pubkey"
4222
+ },
4223
+ {
4224
+ "name": "poolAuthority",
4225
+ "docs": [
4226
+ "Cached pool authority pubkey for transfer-hook optimization"
4227
+ ],
4228
+ "type": "pubkey"
3253
4229
  }
3254
4230
  ]
3255
4231
  }
@@ -3291,6 +4267,13 @@ export type LiqsolCore = {
3291
4267
  "name": "bump",
3292
4268
  "type": "u8"
3293
4269
  },
4270
+ {
4271
+ "name": "authority",
4272
+ "docs": [
4273
+ "Authority that can update serviceable_epoch"
4274
+ ],
4275
+ "type": "pubkey"
4276
+ },
3294
4277
  {
3295
4278
  "name": "liqsolMint",
3296
4279
  "docs": [
@@ -3301,7 +4284,22 @@ export type LiqsolCore = {
3301
4284
  {
3302
4285
  "name": "serviceableEpoch",
3303
4286
  "docs": [
3304
- "Highest epoch that is currently claimable."
4287
+ "Highest epoch that is currently claimable."
4288
+ ],
4289
+ "type": "u64"
4290
+ },
4291
+ {
4292
+ "name": "totalEncumberedFunds",
4293
+ "docs": [
4294
+ "Total SOL encumbered for pending withdrawal requests.",
4295
+ "This amount is reserved from the reserve pool and will be paid out when receipts are claimed."
4296
+ ],
4297
+ "type": "u64"
4298
+ },
4299
+ {
4300
+ "name": "nextReceiptId",
4301
+ "docs": [
4302
+ "Monotonic counter for generating unique receipt IDs"
3305
4303
  ],
3306
4304
  "type": "u64"
3307
4305
  }
@@ -3317,25 +4315,8 @@ export type LiqsolCore = {
3317
4315
  "name": "admin",
3318
4316
  "type": "pubkey"
3319
4317
  },
3320
- {
3321
- "name": "dDay",
3322
- "docs": [
3323
- "D-Day flag - when true, staking withdrawals are disabled"
3324
- ],
3325
- "type": "bool"
3326
- },
3327
- {
3328
- "name": "refundActive",
3329
- "docs": [
3330
- "Refund flag - when true, users may burn their positions for principal"
3331
- ],
3332
- "type": "bool"
3333
- },
3334
4318
  {
3335
4319
  "name": "deployedAt",
3336
- "docs": [
3337
- "Delay before refunds automatically activate (seconds)"
3338
- ],
3339
4320
  "type": "i64"
3340
4321
  },
3341
4322
  {
@@ -3352,28 +4333,28 @@ export type LiqsolCore = {
3352
4333
  {
3353
4334
  "name": "totalStakedLiqsol",
3354
4335
  "docs": [
3355
- "Aggregate liqSOL staked through warrants (maps to distribution tracked balance)"
4336
+ "Aggregate liqSOL staked through pretokens (maps to distribution tracked balance)"
3356
4337
  ],
3357
4338
  "type": "u64"
3358
4339
  },
3359
4340
  {
3360
4341
  "name": "totalPurchasedLiqsol",
3361
4342
  "docs": [
3362
- "Aggregate liqSOL warrant purchases (part of distribution tracked balance)"
4343
+ "Aggregate liqSOL pretoken purchases (part of distribution tracked balance)"
3363
4344
  ],
3364
4345
  "type": "u64"
3365
4346
  },
3366
4347
  {
3367
- "name": "totalPurchasedSol",
4348
+ "name": "totalShares",
3368
4349
  "docs": [
3369
- "Aggregate raw SOL warrant purchases (custodied in SOL bucket)"
4350
+ "Total shares issued to all users (for share/index yield isolation)"
3370
4351
  ],
3371
4352
  "type": "u64"
3372
4353
  },
3373
4354
  {
3374
- "name": "totalShares",
4355
+ "name": "protocolShares",
3375
4356
  "docs": [
3376
- "Total shares issued to all users (for share/index yield isolation)"
4357
+ "Total shares issued to protocol (for share/index yield isolation)"
3377
4358
  ],
3378
4359
  "type": "u64"
3379
4360
  },
@@ -3388,27 +4369,172 @@ export type LiqsolCore = {
3388
4369
  {
3389
4370
  "name": "lastPoolLiqsolBalance",
3390
4371
  "docs": [
3391
- "Last observed liqSOL pool balance (for proportional yield calculation)"
4372
+ "Last observed liqSOL pool balance (for yield calculation)"
3392
4373
  ],
3393
4374
  "type": "u64"
3394
4375
  },
3395
4376
  {
3396
- "name": "lastPoolSolBalance",
4377
+ "name": "yieldAccumulatedLiqsol",
3397
4378
  "docs": [
3398
- "Last observed raw SOL pool balance (for proportional yield calculation)"
4379
+ "Accumulated liqSOL yield available for protocol pretoken purchases"
3399
4380
  ],
3400
4381
  "type": "u64"
3401
4382
  },
3402
4383
  {
3403
- "name": "yieldAccumulatedSolEq",
4384
+ "name": "rolePrincipals",
4385
+ "docs": [
4386
+ "Required principal (liqSOL) per role [YieldOp, BatchOp, Underwriter, PoolOp]"
4387
+ ],
4388
+ "type": {
4389
+ "array": [
4390
+ "u64",
4391
+ 4
4392
+ ]
4393
+ }
4394
+ },
4395
+ {
4396
+ "name": "roleWarmupDuration",
3404
4397
  "docs": [
3405
- "Accumulated yield (in equivalent units) available for protocol warrant purchases"
4398
+ "Warmup duration in seconds (applies when ANY new role is bonded)"
3406
4399
  ],
4400
+ "type": "i64"
4401
+ },
4402
+ {
4403
+ "name": "wireState",
4404
+ "type": {
4405
+ "defined": {
4406
+ "name": "wireState"
4407
+ }
4408
+ }
4409
+ },
4410
+ {
4411
+ "name": "bump",
4412
+ "type": "u8"
4413
+ }
4414
+ ]
4415
+ }
4416
+ },
4417
+ {
4418
+ "name": "graveyardDeactivationQueuedEvent",
4419
+ "docs": [
4420
+ "Event emitted when a graveyard validator's main stake deactivation is queued"
4421
+ ],
4422
+ "type": {
4423
+ "kind": "struct",
4424
+ "fields": [
4425
+ {
4426
+ "name": "voteAccount",
4427
+ "type": "pubkey"
4428
+ },
4429
+ {
4430
+ "name": "amountToUnstake",
3407
4431
  "type": "u64"
4432
+ }
4433
+ ]
4434
+ }
4435
+ },
4436
+ {
4437
+ "name": "graveyardValidatorCleanedEvent",
4438
+ "docs": [
4439
+ "Event emitted when a graveyard validator is cleaned up"
4440
+ ],
4441
+ "type": {
4442
+ "kind": "struct",
4443
+ "fields": [
4444
+ {
4445
+ "name": "voteAccount",
4446
+ "type": "pubkey"
4447
+ },
4448
+ {
4449
+ "name": "epochsSinceStateChange",
4450
+ "type": "u16"
4451
+ }
4452
+ ]
4453
+ }
4454
+ },
4455
+ {
4456
+ "name": "leaderboardState",
4457
+ "docs": [
4458
+ "Central leaderboard state using parallel arrays for efficient ranking and CPI access",
4459
+ "Stores VPP scores and sorted rankings for up to 1024 validators",
4460
+ "Uses zero-copy for efficient access from other programs via CPI"
4461
+ ],
4462
+ "serialization": "bytemuck",
4463
+ "repr": {
4464
+ "kind": "c"
4465
+ },
4466
+ "type": {
4467
+ "kind": "struct",
4468
+ "fields": [
4469
+ {
4470
+ "name": "scores",
4471
+ "docs": [
4472
+ "VPP scores indexed by registry_index (0-100 range)",
4473
+ "registry_index is assigned on first validator registration and never changes"
4474
+ ],
4475
+ "type": {
4476
+ "array": [
4477
+ "u8",
4478
+ 1024
4479
+ ]
4480
+ }
4481
+ },
4482
+ {
4483
+ "name": "sortedIndices",
4484
+ "docs": [
4485
+ "Validator indices sorted by VPP score descending",
4486
+ "sorted_indices[0] = registry_index of highest VPP validator",
4487
+ "sorted_indices[1] = registry_index of 2nd highest VPP validator, etc."
4488
+ ],
4489
+ "type": {
4490
+ "array": [
4491
+ "u16",
4492
+ 1024
4493
+ ]
4494
+ }
4495
+ },
4496
+ {
4497
+ "name": "voteAccounts",
4498
+ "docs": [
4499
+ "Vote account pubkeys indexed by registry_index",
4500
+ "Allows CPI callers to get vote accounts for top N validators"
4501
+ ],
4502
+ "type": {
4503
+ "array": [
4504
+ {
4505
+ "defined": {
4506
+ "name": "pubkeyBytes"
4507
+ }
4508
+ },
4509
+ 1024
4510
+ ]
4511
+ }
4512
+ },
4513
+ {
4514
+ "name": "numValidators",
4515
+ "docs": [
4516
+ "Number of active validators currently in the leaderboard"
4517
+ ],
4518
+ "type": "u16"
3408
4519
  },
3409
4520
  {
3410
4521
  "name": "bump",
4522
+ "docs": [
4523
+ "PDA bump seed"
4524
+ ],
3411
4525
  "type": "u8"
4526
+ },
4527
+ {
4528
+ "name": "padding",
4529
+ "docs": [
4530
+ "Reserved space for future upgrades"
4531
+ ],
4532
+ "type": {
4533
+ "array": [
4534
+ "u8",
4535
+ 5
4536
+ ]
4537
+ }
3412
4538
  }
3413
4539
  ]
3414
4540
  }
@@ -3442,6 +4568,14 @@ export type LiqsolCore = {
3442
4568
  "name": "lastSyncEpoch",
3443
4569
  "type": "u16"
3444
4570
  },
4571
+ {
4572
+ "name": "lastValidatorScoreSyncEpoch",
4573
+ "type": "u16"
4574
+ },
4575
+ {
4576
+ "name": "lastActiveInfosSyncedEpoch",
4577
+ "type": "u16"
4578
+ },
3445
4579
  {
3446
4580
  "name": "lastUpdatedStakeMetricsEpoch",
3447
4581
  "type": "u64"
@@ -3484,6 +4618,137 @@ export type LiqsolCore = {
3484
4618
  "name": "minMaxResolvedEpochDeactivations",
3485
4619
  "type": "u16"
3486
4620
  },
4621
+ {
4622
+ "name": "lastThresholdSyncEpoch",
4623
+ "type": "u16"
4624
+ },
4625
+ {
4626
+ "name": "lastValidatorRemovalSelectionEpoch",
4627
+ "type": "u16"
4628
+ },
4629
+ {
4630
+ "name": "lastValidatorAdditionSelectionEpoch",
4631
+ "type": "u16"
4632
+ },
4633
+ {
4634
+ "name": "lastValidatorPdaSetupEpoch",
4635
+ "type": "u16"
4636
+ },
4637
+ {
4638
+ "name": "lastGraveyardProcessingEpoch",
4639
+ "type": "u16"
4640
+ },
4641
+ {
4642
+ "name": "lastPostSyncStakeMetricsRefreshEpoch",
4643
+ "type": "u16"
4644
+ },
4645
+ {
4646
+ "name": "lastGraveyardCleanupEpoch",
4647
+ "type": "u16"
4648
+ },
4649
+ {
4650
+ "name": "lastPostLateEpochStakeMetricsRefreshEpoch",
4651
+ "type": "u16"
4652
+ },
4653
+ {
4654
+ "name": "bump",
4655
+ "type": "u8"
4656
+ }
4657
+ ]
4658
+ }
4659
+ },
4660
+ {
4661
+ "name": "metadataArgs",
4662
+ "type": {
4663
+ "kind": "struct",
4664
+ "fields": [
4665
+ {
4666
+ "name": "name",
4667
+ "type": "string"
4668
+ },
4669
+ {
4670
+ "name": "symbol",
4671
+ "type": "string"
4672
+ },
4673
+ {
4674
+ "name": "uri",
4675
+ "type": "string"
4676
+ }
4677
+ ]
4678
+ }
4679
+ },
4680
+ {
4681
+ "name": "outpostAccount",
4682
+ "type": {
4683
+ "kind": "struct",
4684
+ "fields": [
4685
+ {
4686
+ "name": "user",
4687
+ "type": "pubkey"
4688
+ },
4689
+ {
4690
+ "name": "stakedLiqsol",
4691
+ "docs": [
4692
+ "STAKE deposits (withdrawable pre-D-Day)",
4693
+ "Principal amount staked (for display/tracking)"
4694
+ ],
4695
+ "type": "u64"
4696
+ },
4697
+ {
4698
+ "name": "stakedShares",
4699
+ "docs": [
4700
+ "Shares from staking (actual accounting for yield isolation)"
4701
+ ],
4702
+ "type": "u64"
4703
+ },
4704
+ {
4705
+ "name": "purchasedLiqsol",
4706
+ "docs": [
4707
+ "WARRANT_PURCHASE deposits with liqSOL (permanent)",
4708
+ "Principal amount spent on pretokens (for display/tracking)"
4709
+ ],
4710
+ "type": "u64"
4711
+ },
4712
+ {
4713
+ "name": "purchasedShares",
4714
+ "docs": [
4715
+ "Shares from liqSOL pretoken purchases (actual accounting for yield isolation)"
4716
+ ],
4717
+ "type": "u64"
4718
+ },
4719
+ {
4720
+ "name": "bondedPrincipals",
4721
+ "docs": [
4722
+ "LiqSOL locked by bonds per role"
4723
+ ],
4724
+ "type": {
4725
+ "array": [
4726
+ "u64",
4727
+ 4
4728
+ ]
4729
+ }
4730
+ },
4731
+ {
4732
+ "name": "bondedRoles",
4733
+ "docs": [
4734
+ "Bitmap of bonded roles (bits 0-3 for YieldOp, BatchOp, Underwriter, PoolOp)"
4735
+ ],
4736
+ "type": "u8"
4737
+ },
4738
+ {
4739
+ "name": "unbondRequested",
4740
+ "docs": [
4741
+ "Bitmap of roles with pending unbond requests (bits 0-3)"
4742
+ ],
4743
+ "type": "u8"
4744
+ },
4745
+ {
4746
+ "name": "warmupEndsAt",
4747
+ "docs": [
4748
+ "Warmup end timestamp - has_role returns false until this time"
4749
+ ],
4750
+ "type": "i64"
4751
+ },
3487
4752
  {
3488
4753
  "name": "bump",
3489
4754
  "type": "u8"
@@ -3567,16 +4832,36 @@ export type LiqsolCore = {
3567
4832
  "type": "u64"
3568
4833
  },
3569
4834
  {
3570
- "name": "timestamp",
3571
- "type": "i64"
4835
+ "name": "timestamp",
4836
+ "type": "i64"
4837
+ },
4838
+ {
4839
+ "name": "epoch",
4840
+ "type": "u16"
4841
+ },
4842
+ {
4843
+ "name": "bump",
4844
+ "type": "u8"
4845
+ }
4846
+ ]
4847
+ }
4848
+ },
4849
+ {
4850
+ "name": "pretokenPurchased",
4851
+ "type": {
4852
+ "kind": "struct",
4853
+ "fields": [
4854
+ {
4855
+ "name": "user",
4856
+ "type": "pubkey"
3572
4857
  },
3573
4858
  {
3574
- "name": "epoch",
3575
- "type": "u16"
4859
+ "name": "trancheNumber",
4860
+ "type": "u64"
3576
4861
  },
3577
4862
  {
3578
- "name": "bump",
3579
- "type": "u8"
4863
+ "name": "pretokensPurchased",
4864
+ "type": "i128"
3580
4865
  }
3581
4866
  ]
3582
4867
  }
@@ -3627,6 +4912,54 @@ export type LiqsolCore = {
3627
4912
  ]
3628
4913
  }
3629
4914
  },
4915
+ {
4916
+ "name": "pubkeyBytes",
4917
+ "docs": [
4918
+ "Fixed-size representation of a `Pubkey` that satisfies Anchor's zero-copy rules.",
4919
+ "Stores the raw 32-byte array and offers helpers to convert to/from `Pubkey`."
4920
+ ],
4921
+ "serialization": "bytemuck",
4922
+ "repr": {
4923
+ "kind": "transparent"
4924
+ },
4925
+ "type": {
4926
+ "kind": "struct",
4927
+ "fields": [
4928
+ {
4929
+ "name": "bytes",
4930
+ "type": {
4931
+ "array": [
4932
+ "u8",
4933
+ 32
4934
+ ]
4935
+ }
4936
+ }
4937
+ ]
4938
+ }
4939
+ },
4940
+ {
4941
+ "name": "role",
4942
+ "repr": {
4943
+ "kind": "rust"
4944
+ },
4945
+ "type": {
4946
+ "kind": "enum",
4947
+ "variants": [
4948
+ {
4949
+ "name": "yieldOperator"
4950
+ },
4951
+ {
4952
+ "name": "batchOperator"
4953
+ },
4954
+ {
4955
+ "name": "underwriter"
4956
+ },
4957
+ {
4958
+ "name": "poolOperator"
4959
+ }
4960
+ ]
4961
+ }
4962
+ },
3630
4963
  {
3631
4964
  "name": "stakeAllocationState",
3632
4965
  "docs": [
@@ -3639,9 +4972,10 @@ export type LiqsolCore = {
3639
4972
  {
3640
4973
  "name": "totalActiveVpp",
3641
4974
  "docs": [
3642
- "Sum of all VPP scores for Trusted validators in the active list"
4975
+ "Sum of all VPP scores (0-100 each) for Trusted validators in the active list",
4976
+ "Max with 200 validators at 100 each = 20,000, fits in u32"
3643
4977
  ],
3644
- "type": "u64"
4978
+ "type": "u32"
3645
4979
  },
3646
4980
  {
3647
4981
  "name": "bump",
@@ -3687,6 +5021,13 @@ export type LiqsolCore = {
3687
5021
  ],
3688
5022
  "type": "u64"
3689
5023
  },
5024
+ {
5025
+ "name": "amountDistributedThisUnstakeAllocation",
5026
+ "docs": [
5027
+ "Tracks cumulative amount distributed across all batches in current unstake allocation cycle"
5028
+ ],
5029
+ "type": "u64"
5030
+ },
3690
5031
  {
3691
5032
  "name": "rebalanceInProgress",
3692
5033
  "docs": [
@@ -3708,6 +5049,91 @@ export type LiqsolCore = {
3708
5049
  "Saved at the start to ensure consistency across all batches"
3709
5050
  ],
3710
5051
  "type": "u64"
5052
+ },
5053
+ {
5054
+ "name": "cumulativeStakeRequestedThisRebalance",
5055
+ "docs": [
5056
+ "Tracks cumulative stake requested (sum of positive deltas) across all batches in current rebalance cycle"
5057
+ ],
5058
+ "type": "u64"
5059
+ },
5060
+ {
5061
+ "name": "rebalanceStakeScaleFactor",
5062
+ "docs": [
5063
+ "Scale factor to apply during process_stake_orders (uses PAY_RATE_SCALE_FACTOR precision)",
5064
+ "Set to PAY_RATE_SCALE_FACTOR (1.0) if no scaling needed, or lower if cumulative > available"
5065
+ ],
5066
+ "type": "u64"
5067
+ },
5068
+ {
5069
+ "name": "selectionEntryThresholdVpp",
5070
+ "docs": [
5071
+ "Entry threshold VPP from leaderboard (validators must meet this to be added, 0-100)"
5072
+ ],
5073
+ "type": "u8"
5074
+ },
5075
+ {
5076
+ "name": "selectionExitThresholdVpp",
5077
+ "docs": [
5078
+ "Exit threshold VPP from leaderboard (validators below this are removed, 0-100)"
5079
+ ],
5080
+ "type": "u8"
5081
+ },
5082
+ {
5083
+ "name": "additionInProgress",
5084
+ "docs": [
5085
+ "Whether validator addition selection is currently in progress (batched processing)"
5086
+ ],
5087
+ "type": "bool"
5088
+ },
5089
+ {
5090
+ "name": "additionNextRank",
5091
+ "docs": [
5092
+ "Next rank to process in leaderboard sorted_indices"
5093
+ ],
5094
+ "type": "u16"
5095
+ },
5096
+ {
5097
+ "name": "additionTargetRank",
5098
+ "docs": [
5099
+ "Target rank to process up to (inclusive)"
5100
+ ],
5101
+ "type": "u16"
5102
+ },
5103
+ {
5104
+ "name": "validatorsAddedThisSelection",
5105
+ "docs": [
5106
+ "Number of validators added in the current selection cycle"
5107
+ ],
5108
+ "type": "u16"
5109
+ },
5110
+ {
5111
+ "name": "removalInProgress",
5112
+ "docs": [
5113
+ "Whether validator removal selection is currently in progress (batched processing)"
5114
+ ],
5115
+ "type": "bool"
5116
+ },
5117
+ {
5118
+ "name": "removalNextIndex",
5119
+ "docs": [
5120
+ "Next index in active list to check for removal"
5121
+ ],
5122
+ "type": "u16"
5123
+ },
5124
+ {
5125
+ "name": "removalActiveListSnapshot",
5126
+ "docs": [
5127
+ "Snapshot of active list count at start of removal (frozen)"
5128
+ ],
5129
+ "type": "u16"
5130
+ },
5131
+ {
5132
+ "name": "validatorsRemovedThisSelection",
5133
+ "docs": [
5134
+ "Number of validators removed in the current selection cycle"
5135
+ ],
5136
+ "type": "u16"
3711
5137
  }
3712
5138
  ]
3713
5139
  }
@@ -3842,7 +5268,7 @@ export type LiqsolCore = {
3842
5268
  "type": "i128"
3843
5269
  },
3844
5270
  {
3845
- "name": "totalWarrantsSold",
5271
+ "name": "totalPretokensSold",
3846
5272
  "type": "i128"
3847
5273
  },
3848
5274
  {
@@ -3906,25 +5332,29 @@ export type LiqsolCore = {
3906
5332
  }
3907
5333
  },
3908
5334
  {
3909
- "name": "userRecord",
5335
+ "name": "userPretokenRecord",
3910
5336
  "type": {
3911
5337
  "kind": "struct",
3912
5338
  "fields": [
3913
5339
  {
3914
- "name": "userAta",
5340
+ "name": "user",
3915
5341
  "type": "pubkey"
3916
5342
  },
3917
5343
  {
3918
- "name": "trackedBalance",
5344
+ "name": "totalSolDeposited",
3919
5345
  "type": "u64"
3920
5346
  },
3921
5347
  {
3922
- "name": "claimBalance",
5348
+ "name": "totalPretokensPurchased",
5349
+ "type": "i128"
5350
+ },
5351
+ {
5352
+ "name": "lastTrancheNumber",
3923
5353
  "type": "u64"
3924
5354
  },
3925
5355
  {
3926
- "name": "lastClaimTimestamp",
3927
- "type": "i64"
5356
+ "name": "lastTranchePriceUsd",
5357
+ "type": "i128"
3928
5358
  },
3929
5359
  {
3930
5360
  "name": "bump",
@@ -3934,30 +5364,18 @@ export type LiqsolCore = {
3934
5364
  }
3935
5365
  },
3936
5366
  {
3937
- "name": "userWarrantRecord",
5367
+ "name": "userRecord",
3938
5368
  "type": {
3939
5369
  "kind": "struct",
3940
5370
  "fields": [
3941
5371
  {
3942
- "name": "user",
3943
- "type": "pubkey"
3944
- },
3945
- {
3946
- "name": "totalSolDeposited",
3947
- "type": "u64"
3948
- },
3949
- {
3950
- "name": "totalWarrantsPurchased",
3951
- "type": "i128"
3952
- },
3953
- {
3954
- "name": "lastTrancheNumber",
5372
+ "name": "shares",
5373
+ "docs": [
5374
+ "User's share of the distribution pool",
5375
+ "entitled_balance = shares * current_index / INDEX_SCALE"
5376
+ ],
3955
5377
  "type": "u64"
3956
5378
  },
3957
- {
3958
- "name": "lastTranchePriceUsd",
3959
- "type": "i128"
3960
- },
3961
5379
  {
3962
5380
  "name": "bump",
3963
5381
  "type": "u8"
@@ -3966,17 +5384,17 @@ export type LiqsolCore = {
3966
5384
  }
3967
5385
  },
3968
5386
  {
3969
- "name": "userWithdrawRecord",
5387
+ "name": "validatorAddedEvent",
3970
5388
  "type": {
3971
5389
  "kind": "struct",
3972
5390
  "fields": [
3973
5391
  {
3974
- "name": "bump",
3975
- "type": "u8"
5392
+ "name": "voteAccount",
5393
+ "type": "pubkey"
3976
5394
  },
3977
5395
  {
3978
- "name": "trackedBalance",
3979
- "type": "u64"
5396
+ "name": "vpp",
5397
+ "type": "u8"
3980
5398
  }
3981
5399
  ]
3982
5400
  }
@@ -4162,7 +5580,7 @@ export type LiqsolCore = {
4162
5580
  "name": "validatorListEntry"
4163
5581
  }
4164
5582
  },
4165
- 256
5583
+ 200
4166
5584
  ]
4167
5585
  }
4168
5586
  }
@@ -4184,6 +5602,55 @@ export type LiqsolCore = {
4184
5602
  "Vote account pubkey (all zeros = empty slot)"
4185
5603
  ],
4186
5604
  "type": "pubkey"
5605
+ },
5606
+ {
5607
+ "name": "registryIndex",
5608
+ "docs": [
5609
+ "Immutable index into the validator leaderboard arrays (u16::MAX = unknown)"
5610
+ ],
5611
+ "type": "u16"
5612
+ },
5613
+ {
5614
+ "name": "pdasInitialized",
5615
+ "docs": [
5616
+ "Whether per-validator PDAs (info/transient) are initialized"
5617
+ ],
5618
+ "type": "bool"
5619
+ },
5620
+ {
5621
+ "name": "vpp",
5622
+ "docs": [
5623
+ "Cached VPP score (0-100) refreshed at the start of a maintenance run"
5624
+ ],
5625
+ "type": "u8"
5626
+ },
5627
+ {
5628
+ "name": "pad",
5629
+ "docs": [
5630
+ "Padding to keep 8-byte alignment (32 + 2 + 1 + 1 + 4 = 40 bytes)"
5631
+ ],
5632
+ "type": {
5633
+ "array": [
5634
+ "u8",
5635
+ 4
5636
+ ]
5637
+ }
5638
+ }
5639
+ ]
5640
+ }
5641
+ },
5642
+ {
5643
+ "name": "validatorRemovedEvent",
5644
+ "type": {
5645
+ "kind": "struct",
5646
+ "fields": [
5647
+ {
5648
+ "name": "voteAccount",
5649
+ "type": "pubkey"
5650
+ },
5651
+ {
5652
+ "name": "vpp",
5653
+ "type": "u8"
4187
5654
  }
4188
5655
  ]
4189
5656
  }
@@ -4221,20 +5688,33 @@ export type LiqsolCore = {
4221
5688
  },
4222
5689
  {
4223
5690
  "name": "warm"
5691
+ },
5692
+ {
5693
+ "name": "readyToCool"
4224
5694
  }
4225
5695
  ]
4226
5696
  }
4227
5697
  },
4228
5698
  {
4229
- "name": "validatorStateChangeReason",
5699
+ "name": "validatorSwappedEvent",
4230
5700
  "type": {
4231
- "kind": "enum",
4232
- "variants": [
5701
+ "kind": "struct",
5702
+ "fields": [
4233
5703
  {
4234
- "name": "blacklisted"
5704
+ "name": "removedVote",
5705
+ "type": "pubkey"
4235
5706
  },
4236
5707
  {
4237
- "name": "underPerforming"
5708
+ "name": "removedVpp",
5709
+ "type": "u8"
5710
+ },
5711
+ {
5712
+ "name": "addedVote",
5713
+ "type": "pubkey"
5714
+ },
5715
+ {
5716
+ "name": "addedVpp",
5717
+ "type": "u8"
4238
5718
  }
4239
5719
  ]
4240
5720
  }
@@ -4331,62 +5811,18 @@ export type LiqsolCore = {
4331
5811
  }
4332
5812
  },
4333
5813
  {
4334
- "name": "wireReceipt",
5814
+ "name": "wireState",
4335
5815
  "type": {
4336
- "kind": "struct",
4337
- "fields": [
4338
- {
4339
- "name": "user",
4340
- "type": "pubkey"
4341
- },
4342
- {
4343
- "name": "stakedLiqsol",
4344
- "docs": [
4345
- "STAKE deposits (withdrawable pre-D-Day)",
4346
- "Principal amount staked (for display/tracking)"
4347
- ],
4348
- "type": "u64"
4349
- },
4350
- {
4351
- "name": "stakedShares",
4352
- "docs": [
4353
- "Shares from staking (actual accounting for yield isolation)"
4354
- ],
4355
- "type": "u64"
4356
- },
4357
- {
4358
- "name": "purchasedLiqsol",
4359
- "docs": [
4360
- "WARRANT_PURCHASE deposits with liqSOL (permanent)",
4361
- "Principal amount spent on warrants (for display/tracking)"
4362
- ],
4363
- "type": "u64"
4364
- },
4365
- {
4366
- "name": "purchasedShares",
4367
- "docs": [
4368
- "Shares from liqSOL warrant purchases (actual accounting for yield isolation)"
4369
- ],
4370
- "type": "u64"
4371
- },
5816
+ "kind": "enum",
5817
+ "variants": [
4372
5818
  {
4373
- "name": "purchasedWithSol",
4374
- "docs": [
4375
- "WARRANT_PURCHASE deposits with raw SOL (permanent, separate settlement)",
4376
- "Principal amount in lamports spent on warrants"
4377
- ],
4378
- "type": "u64"
5819
+ "name": "preLaunch"
4379
5820
  },
4380
5821
  {
4381
- "name": "purchasedSolShares",
4382
- "docs": [
4383
- "Shares from SOL warrant purchases (actual accounting for yield isolation)"
4384
- ],
4385
- "type": "u64"
5822
+ "name": "postLaunch"
4386
5823
  },
4387
5824
  {
4388
- "name": "bump",
4389
- "type": "u8"
5825
+ "name": "refund"
4390
5826
  }
4391
5827
  ]
4392
5828
  }
@@ -4427,6 +5863,10 @@ export type LiqsolCore = {
4427
5863
  {
4428
5864
  "name": "user",
4429
5865
  "type": "pubkey"
5866
+ },
5867
+ {
5868
+ "name": "receiptId",
5869
+ "type": "u64"
4430
5870
  }
4431
5871
  ]
4432
5872
  }