@wireio/stake 0.4.1 → 0.4.3

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "2qSsCXBYUSwF7zrzTT9jFpRpCmWoDpEyHr9exfCMq56P",
2
+ "address": "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH",
3
3
  "metadata": {
4
4
  "name": "liqsol_core",
5
5
  "version": "0.1.0",
@@ -13,7 +13,8 @@
13
13
  "Accumulate unstake requests to be processed in next allocation cycle",
14
14
  "Multiple requests can be accumulated before calculating allocations",
15
15
  "Returns the target epoch when this unstake request will be processed",
16
- "We should not be able to"
16
+ "We should not be able to call this without development feature enabled",
17
+ ""
17
18
  ],
18
19
  "discriminator": [
19
20
  24,
@@ -50,6 +51,12 @@
50
51
  "Maintenance ledger - to determine target processing epoch"
51
52
  ]
52
53
  },
54
+ {
55
+ "name": "global_config",
56
+ "docs": [
57
+ "Global config for min_unstake_request setting"
58
+ ]
59
+ },
53
60
  {
54
61
  "name": "clock"
55
62
  }
@@ -101,6 +108,12 @@
101
108
  "name": "processing_state",
102
109
  "writable": true
103
110
  },
111
+ {
112
+ "name": "global_config",
113
+ "docs": [
114
+ "Global config for threshold parameters"
115
+ ]
116
+ },
104
117
  {
105
118
  "name": "authority",
106
119
  "signer": true
@@ -176,44 +189,6 @@
176
189
  }
177
190
  ]
178
191
  },
179
- {
180
- "name": "advance_serviceability",
181
- "docs": [
182
- "Advance the max servicable receipt ID"
183
- ],
184
- "discriminator": [
185
- 139,
186
- 89,
187
- 79,
188
- 2,
189
- 90,
190
- 211,
191
- 173,
192
- 240
193
- ],
194
- "accounts": [
195
- {
196
- "name": "authority",
197
- "docs": [
198
- "Authority that can update serviceable epoch"
199
- ],
200
- "signer": true
201
- },
202
- {
203
- "name": "global",
204
- "writable": true
205
- },
206
- {
207
- "name": "runtime_program"
208
- }
209
- ],
210
- "args": [
211
- {
212
- "name": "resolved_epoch",
213
- "type": "u64"
214
- }
215
- ]
216
- },
217
192
  {
218
193
  "name": "aggregate_stake_metrics",
219
194
  "docs": [
@@ -374,6 +349,12 @@
374
349
  "Maintenance ledger - to track last unstake allocation epoch"
375
350
  ],
376
351
  "writable": true
352
+ },
353
+ {
354
+ "name": "global_config",
355
+ "docs": [
356
+ "Global config for late epoch slot gate"
357
+ ]
377
358
  }
378
359
  ],
379
360
  "args": []
@@ -437,6 +418,12 @@
437
418
  "docs": [
438
419
  "Global withdraw operator state - to read total_encumbered_funds"
439
420
  ]
421
+ },
422
+ {
423
+ "name": "global_config",
424
+ "docs": [
425
+ "Global config for rebalancing thresholds"
426
+ ]
440
427
  }
441
428
  ],
442
429
  "args": []
@@ -559,6 +546,12 @@
559
546
  {
560
547
  "name": "stake_history"
561
548
  },
549
+ {
550
+ "name": "global_config",
551
+ "docs": [
552
+ "Global config for claim_withdrawals_enabled check"
553
+ ]
554
+ },
562
555
  {
563
556
  "name": "token_program"
564
557
  },
@@ -610,6 +603,12 @@
610
603
  "Stake controller state - used to verify authority"
611
604
  ]
612
605
  },
606
+ {
607
+ "name": "global_config",
608
+ "docs": [
609
+ "Global config for cooldown_epochs"
610
+ ]
611
+ },
613
612
  {
614
613
  "name": "clock"
615
614
  },
@@ -945,6 +944,12 @@
945
944
  "name": "controller_state",
946
945
  "writable": true
947
946
  },
947
+ {
948
+ "name": "global_config",
949
+ "docs": [
950
+ "Global config for deposit settings"
951
+ ]
952
+ },
948
953
  {
949
954
  "name": "payout_state",
950
955
  "writable": true
@@ -1081,47 +1086,6 @@
1081
1086
  }
1082
1087
  ]
1083
1088
  },
1084
- {
1085
- "name": "force_validator_unstake",
1086
- "docs": [
1087
- "A function you can call to directly influence the amount to unstake from a particular validator",
1088
- "Tbh this is a bypass of the system and should not be called unless you know what you are doing"
1089
- ],
1090
- "discriminator": [
1091
- 7,
1092
- 208,
1093
- 146,
1094
- 241,
1095
- 10,
1096
- 219,
1097
- 109,
1098
- 30
1099
- ],
1100
- "accounts": [
1101
- {
1102
- "name": "admin",
1103
- "writable": true,
1104
- "signer": true
1105
- },
1106
- {
1107
- "name": "validator_info",
1108
- "docs": [
1109
- "Validator info account to update"
1110
- ],
1111
- "writable": true
1112
- }
1113
- ],
1114
- "args": [
1115
- {
1116
- "name": "vote_account",
1117
- "type": "pubkey"
1118
- },
1119
- {
1120
- "name": "amount",
1121
- "type": "u64"
1122
- }
1123
- ]
1124
- },
1125
1089
  {
1126
1090
  "name": "get_min_max_resolved_epoch_deactivations",
1127
1091
  "docs": [
@@ -1360,6 +1324,37 @@
1360
1324
  ],
1361
1325
  "args": []
1362
1326
  },
1327
+ {
1328
+ "name": "initialize_global_config",
1329
+ "discriminator": [
1330
+ 113,
1331
+ 216,
1332
+ 122,
1333
+ 131,
1334
+ 225,
1335
+ 209,
1336
+ 22,
1337
+ 55
1338
+ ],
1339
+ "accounts": [
1340
+ {
1341
+ "name": "global_config",
1342
+ "writable": true
1343
+ },
1344
+ {
1345
+ "name": "controller_state"
1346
+ },
1347
+ {
1348
+ "name": "payer",
1349
+ "writable": true,
1350
+ "signer": true
1351
+ },
1352
+ {
1353
+ "name": "system_program"
1354
+ }
1355
+ ],
1356
+ "args": []
1357
+ },
1363
1358
  {
1364
1359
  "name": "initialize_graveyard_list",
1365
1360
  "docs": [
@@ -1880,6 +1875,10 @@
1880
1875
  ],
1881
1876
  "writable": true
1882
1877
  },
1878
+ {
1879
+ "name": "withdraw_global",
1880
+ "writable": true
1881
+ },
1883
1882
  {
1884
1883
  "name": "stake_program"
1885
1884
  },
@@ -1944,6 +1943,12 @@
1944
1943
  "name": "processing_state",
1945
1944
  "writable": true
1946
1945
  },
1946
+ {
1947
+ "name": "global_config",
1948
+ "docs": [
1949
+ "Global config for late epoch slot gate"
1950
+ ]
1951
+ },
1947
1952
  {
1948
1953
  "name": "clock"
1949
1954
  },
@@ -2017,6 +2022,12 @@
2017
2022
  },
2018
2023
  {
2019
2024
  "name": "instructions"
2025
+ },
2026
+ {
2027
+ "name": "global_config",
2028
+ "docs": [
2029
+ "Global config for process_pay_cycle_enabled check"
2030
+ ]
2020
2031
  }
2021
2032
  ],
2022
2033
  "args": []
@@ -2088,6 +2099,12 @@
2088
2099
  },
2089
2100
  {
2090
2101
  "name": "rent"
2102
+ },
2103
+ {
2104
+ "name": "global_config",
2105
+ "docs": [
2106
+ "Global config for process_stake_orders_enabled check"
2107
+ ]
2091
2108
  }
2092
2109
  ],
2093
2110
  "args": []
@@ -2196,6 +2213,12 @@
2196
2213
  },
2197
2214
  {
2198
2215
  "name": "stake_program"
2216
+ },
2217
+ {
2218
+ "name": "global_config",
2219
+ "docs": [
2220
+ "Global config for process_unstake_orders_enabled check"
2221
+ ]
2199
2222
  }
2200
2223
  ],
2201
2224
  "args": []
@@ -2470,6 +2493,12 @@
2470
2493
  },
2471
2494
  {
2472
2495
  "name": "active_list"
2496
+ },
2497
+ {
2498
+ "name": "global_config",
2499
+ "docs": [
2500
+ "Global config for late epoch slot gate"
2501
+ ]
2473
2502
  }
2474
2503
  ],
2475
2504
  "args": []
@@ -2510,6 +2539,12 @@
2510
2539
  },
2511
2540
  {
2512
2541
  "name": "active_list"
2542
+ },
2543
+ {
2544
+ "name": "global_config",
2545
+ "docs": [
2546
+ "Global config for late epoch slot gate"
2547
+ ]
2513
2548
  }
2514
2549
  ],
2515
2550
  "args": []
@@ -2602,6 +2637,12 @@
2602
2637
  {
2603
2638
  "name": "allocation_state"
2604
2639
  },
2640
+ {
2641
+ "name": "global_config",
2642
+ "docs": [
2643
+ "Global config for late epoch slot gate"
2644
+ ]
2645
+ },
2605
2646
  {
2606
2647
  "name": "authority",
2607
2648
  "signer": true
@@ -2732,6 +2773,12 @@
2732
2773
  "Maintenance ledger - for accumulate_unstake_request"
2733
2774
  ]
2734
2775
  },
2776
+ {
2777
+ "name": "global_config",
2778
+ "docs": [
2779
+ "Global config for min_unstake_request setting"
2780
+ ]
2781
+ },
2735
2782
  {
2736
2783
  "name": "clock"
2737
2784
  },
@@ -3109,6 +3156,12 @@
3109
3156
  "name": "allocation_state",
3110
3157
  "writable": true
3111
3158
  },
3159
+ {
3160
+ "name": "global_config",
3161
+ "docs": [
3162
+ "Global config for late epoch slot gate"
3163
+ ]
3164
+ },
3112
3165
  {
3113
3166
  "name": "system_program",
3114
3167
  "docs": [
@@ -3175,6 +3228,12 @@
3175
3228
  "name": "maintenance_ledger",
3176
3229
  "writable": true
3177
3230
  },
3231
+ {
3232
+ "name": "global_config",
3233
+ "docs": [
3234
+ "Global config for late epoch slot gate"
3235
+ ]
3236
+ },
3178
3237
  {
3179
3238
  "name": "authority",
3180
3239
  "signer": true
@@ -3183,37 +3242,32 @@
3183
3242
  "args": []
3184
3243
  },
3185
3244
  {
3186
- "name": "sync_distribution_index",
3245
+ "name": "sync_leaderboard_scores_batch",
3187
3246
  "discriminator": [
3188
- 82,
3189
- 159,
3190
- 232,
3191
- 125,
3192
- 12,
3193
- 29,
3194
- 9,
3195
- 226
3247
+ 52,
3248
+ 11,
3249
+ 210,
3250
+ 173,
3251
+ 90,
3252
+ 5,
3253
+ 48,
3254
+ 50
3196
3255
  ],
3197
3256
  "accounts": [
3198
3257
  {
3199
- "name": "authority",
3200
- "docs": [
3201
- "Admin or crank that triggers the index sync"
3202
- ],
3203
- "signer": true
3258
+ "name": "leaderboard_state"
3204
3259
  },
3205
3260
  {
3206
- "name": "distribution_state",
3261
+ "name": "processing_state",
3207
3262
  "writable": true
3208
3263
  },
3209
3264
  {
3210
- "name": "bucket_authority",
3211
- "docs": [
3212
- "The bucket's associated token account holding liqSOL"
3213
- ]
3265
+ "name": "maintenance_ledger",
3266
+ "writable": true
3214
3267
  },
3215
3268
  {
3216
- "name": "bucket_token_account"
3269
+ "name": "authority",
3270
+ "signer": true
3217
3271
  }
3218
3272
  ],
3219
3273
  "args": []
@@ -3299,6 +3353,12 @@
3299
3353
  "name": "maintenance_ledger",
3300
3354
  "writable": true
3301
3355
  },
3356
+ {
3357
+ "name": "global_config",
3358
+ "docs": [
3359
+ "Global config for min_vpp_entry and min_vpp_exit"
3360
+ ]
3361
+ },
3302
3362
  {
3303
3363
  "name": "authority",
3304
3364
  "signer": true
@@ -3428,66 +3488,238 @@
3428
3488
  "args": []
3429
3489
  },
3430
3490
  {
3431
- "name": "update_growth_parameters",
3491
+ "name": "update_config_bool",
3432
3492
  "discriminator": [
3433
- 172,
3434
- 187,
3435
- 237,
3436
- 233,
3437
- 250,
3438
- 160,
3439
- 115,
3440
- 239
3493
+ 79,
3494
+ 36,
3495
+ 65,
3496
+ 239,
3497
+ 188,
3498
+ 35,
3499
+ 13,
3500
+ 160
3441
3501
  ],
3442
3502
  "accounts": [
3443
3503
  {
3444
- "name": "admin",
3445
- "writable": true,
3446
- "signer": true
3447
- },
3448
- {
3449
- "name": "tranche_state",
3504
+ "name": "global_config",
3450
3505
  "writable": true
3451
3506
  },
3452
3507
  {
3453
- "name": "price_history",
3454
- "writable": true
3508
+ "name": "controller_state"
3455
3509
  },
3456
3510
  {
3457
- "name": "system_program"
3511
+ "name": "authority",
3512
+ "docs": [
3513
+ "Authority must match StakeControllerState.authority"
3514
+ ],
3515
+ "signer": true
3458
3516
  }
3459
3517
  ],
3460
3518
  "args": [
3461
3519
  {
3462
- "name": "supply_growth_bps",
3463
- "type": "u16"
3520
+ "name": "key",
3521
+ "type": {
3522
+ "defined": {
3523
+ "name": "ConfigKeyBool"
3524
+ }
3525
+ }
3464
3526
  },
3465
3527
  {
3466
- "name": "price_growth_bps",
3467
- "type": "u16"
3528
+ "name": "value",
3529
+ "type": "bool"
3468
3530
  }
3469
3531
  ]
3470
3532
  },
3471
3533
  {
3472
- "name": "update_price_bounds",
3534
+ "name": "update_config_u16",
3473
3535
  "discriminator": [
3474
- 241,
3475
- 116,
3476
- 141,
3477
- 65,
3478
- 61,
3479
- 95,
3480
- 232,
3481
- 28
3536
+ 149,
3537
+ 9,
3538
+ 244,
3539
+ 25,
3540
+ 46,
3541
+ 136,
3542
+ 59,
3543
+ 173
3482
3544
  ],
3483
3545
  "accounts": [
3484
3546
  {
3485
- "name": "admin",
3486
- "writable": true,
3487
- "signer": true
3547
+ "name": "global_config",
3548
+ "writable": true
3488
3549
  },
3489
3550
  {
3490
- "name": "tranche_state",
3551
+ "name": "controller_state"
3552
+ },
3553
+ {
3554
+ "name": "authority",
3555
+ "docs": [
3556
+ "Authority must match StakeControllerState.authority"
3557
+ ],
3558
+ "signer": true
3559
+ }
3560
+ ],
3561
+ "args": [
3562
+ {
3563
+ "name": "key",
3564
+ "type": {
3565
+ "defined": {
3566
+ "name": "ConfigKeyU16"
3567
+ }
3568
+ }
3569
+ },
3570
+ {
3571
+ "name": "value",
3572
+ "type": "u16"
3573
+ }
3574
+ ]
3575
+ },
3576
+ {
3577
+ "name": "update_config_u64",
3578
+ "discriminator": [
3579
+ 120,
3580
+ 43,
3581
+ 124,
3582
+ 106,
3583
+ 97,
3584
+ 80,
3585
+ 208,
3586
+ 123
3587
+ ],
3588
+ "accounts": [
3589
+ {
3590
+ "name": "global_config",
3591
+ "writable": true
3592
+ },
3593
+ {
3594
+ "name": "controller_state"
3595
+ },
3596
+ {
3597
+ "name": "authority",
3598
+ "docs": [
3599
+ "Authority must match StakeControllerState.authority"
3600
+ ],
3601
+ "signer": true
3602
+ }
3603
+ ],
3604
+ "args": [
3605
+ {
3606
+ "name": "key",
3607
+ "type": {
3608
+ "defined": {
3609
+ "name": "ConfigKeyU64"
3610
+ }
3611
+ }
3612
+ },
3613
+ {
3614
+ "name": "value",
3615
+ "type": "u64"
3616
+ }
3617
+ ]
3618
+ },
3619
+ {
3620
+ "name": "update_config_u8",
3621
+ "discriminator": [
3622
+ 17,
3623
+ 160,
3624
+ 31,
3625
+ 134,
3626
+ 222,
3627
+ 250,
3628
+ 229,
3629
+ 253
3630
+ ],
3631
+ "accounts": [
3632
+ {
3633
+ "name": "global_config",
3634
+ "writable": true
3635
+ },
3636
+ {
3637
+ "name": "controller_state"
3638
+ },
3639
+ {
3640
+ "name": "authority",
3641
+ "docs": [
3642
+ "Authority must match StakeControllerState.authority"
3643
+ ],
3644
+ "signer": true
3645
+ }
3646
+ ],
3647
+ "args": [
3648
+ {
3649
+ "name": "key",
3650
+ "type": {
3651
+ "defined": {
3652
+ "name": "ConfigKeyU8"
3653
+ }
3654
+ }
3655
+ },
3656
+ {
3657
+ "name": "value",
3658
+ "type": "u8"
3659
+ }
3660
+ ]
3661
+ },
3662
+ {
3663
+ "name": "update_growth_parameters",
3664
+ "discriminator": [
3665
+ 172,
3666
+ 187,
3667
+ 237,
3668
+ 233,
3669
+ 250,
3670
+ 160,
3671
+ 115,
3672
+ 239
3673
+ ],
3674
+ "accounts": [
3675
+ {
3676
+ "name": "admin",
3677
+ "writable": true,
3678
+ "signer": true
3679
+ },
3680
+ {
3681
+ "name": "tranche_state",
3682
+ "writable": true
3683
+ },
3684
+ {
3685
+ "name": "price_history",
3686
+ "writable": true
3687
+ },
3688
+ {
3689
+ "name": "system_program"
3690
+ }
3691
+ ],
3692
+ "args": [
3693
+ {
3694
+ "name": "supply_growth_bps",
3695
+ "type": "u16"
3696
+ },
3697
+ {
3698
+ "name": "price_growth_bps",
3699
+ "type": "u16"
3700
+ }
3701
+ ]
3702
+ },
3703
+ {
3704
+ "name": "update_price_bounds",
3705
+ "discriminator": [
3706
+ 241,
3707
+ 116,
3708
+ 141,
3709
+ 65,
3710
+ 61,
3711
+ 95,
3712
+ 232,
3713
+ 28
3714
+ ],
3715
+ "accounts": [
3716
+ {
3717
+ "name": "admin",
3718
+ "writable": true,
3719
+ "signer": true
3720
+ },
3721
+ {
3722
+ "name": "tranche_state",
3491
3723
  "writable": true
3492
3724
  },
3493
3725
  {
@@ -3501,11 +3733,11 @@
3501
3733
  "args": [
3502
3734
  {
3503
3735
  "name": "min_price_usd",
3504
- "type": "i128"
3736
+ "type": "u64"
3505
3737
  },
3506
3738
  {
3507
3739
  "name": "max_price_usd",
3508
- "type": "i128"
3740
+ "type": "u64"
3509
3741
  },
3510
3742
  {
3511
3743
  "name": "max_staleness_seconds",
@@ -3554,6 +3786,19 @@
3554
3786
  127
3555
3787
  ]
3556
3788
  },
3789
+ {
3790
+ "name": "GlobalConfig",
3791
+ "discriminator": [
3792
+ 149,
3793
+ 8,
3794
+ 156,
3795
+ 202,
3796
+ 160,
3797
+ 252,
3798
+ 176,
3799
+ 217
3800
+ ]
3801
+ },
3557
3802
  {
3558
3803
  "name": "GlobalState",
3559
3804
  "discriminator": [
@@ -4115,6 +4360,13 @@
4115
4360
  ],
4116
4361
  "type": "u16"
4117
4362
  },
4363
+ {
4364
+ "name": "leaderboard_scores_next_index",
4365
+ "docs": [
4366
+ "Next leaderboard registry index to process for score sync"
4367
+ ],
4368
+ "type": "u16"
4369
+ },
4118
4370
  {
4119
4371
  "name": "removal_next_index",
4120
4372
  "docs": [
@@ -4162,6 +4414,130 @@
4162
4414
  ]
4163
4415
  }
4164
4416
  },
4417
+ {
4418
+ "name": "ConfigKeyBool",
4419
+ "docs": [
4420
+ "Keys for bool config values (feature flags) - stored as bits in a u16",
4421
+ "Bit positions: 0=Deposits, 1=Withdrawals, 2=ClaimWithdrawals, 3=ProcessStake,",
4422
+ "4=ProcessUnstake, 5=ProcessPayCycle, 6=Rebalancing, 7-15=Reserved"
4423
+ ],
4424
+ "type": {
4425
+ "kind": "enum",
4426
+ "variants": [
4427
+ {
4428
+ "name": "DepositsEnabled"
4429
+ },
4430
+ {
4431
+ "name": "WithdrawalsEnabled"
4432
+ },
4433
+ {
4434
+ "name": "ClaimWithdrawalsEnabled"
4435
+ },
4436
+ {
4437
+ "name": "ProcessStakeOrdersEnabled"
4438
+ },
4439
+ {
4440
+ "name": "ProcessUnstakeOrdersEnabled"
4441
+ },
4442
+ {
4443
+ "name": "ProcessPayCycleEnabled"
4444
+ },
4445
+ {
4446
+ "name": "RebalancingEnabled"
4447
+ }
4448
+ ]
4449
+ }
4450
+ },
4451
+ {
4452
+ "name": "ConfigKeyU16",
4453
+ "docs": [
4454
+ "Keys for u16 config values (small counts, thresholds, ranks)"
4455
+ ],
4456
+ "type": {
4457
+ "kind": "enum",
4458
+ "variants": [
4459
+ {
4460
+ "name": "CooldownEpochs"
4461
+ },
4462
+ {
4463
+ "name": "DepositFeeEpochsMultiplier"
4464
+ },
4465
+ {
4466
+ "name": "MinVppEntry"
4467
+ },
4468
+ {
4469
+ "name": "MinVppExit"
4470
+ },
4471
+ {
4472
+ "name": "TinyNetworkThreshold"
4473
+ },
4474
+ {
4475
+ "name": "SmallNetworkThreshold"
4476
+ },
4477
+ {
4478
+ "name": "MediumNetworkThreshold"
4479
+ },
4480
+ {
4481
+ "name": "LargeNetworkEntryRank"
4482
+ },
4483
+ {
4484
+ "name": "LargeNetworkExitRank"
4485
+ }
4486
+ ]
4487
+ }
4488
+ },
4489
+ {
4490
+ "name": "ConfigKeyU64",
4491
+ "docs": [
4492
+ "Keys for u64 config values (large amounts, rates)"
4493
+ ],
4494
+ "type": {
4495
+ "kind": "enum",
4496
+ "variants": [
4497
+ {
4498
+ "name": "MinUserDeposit"
4499
+ },
4500
+ {
4501
+ "name": "MinUnstakeRequest"
4502
+ },
4503
+ {
4504
+ "name": "MinRebalanceStakeDelta"
4505
+ },
4506
+ {
4507
+ "name": "MinRebalanceUnstakeDelta"
4508
+ },
4509
+ {
4510
+ "name": "TransientThreshold"
4511
+ },
4512
+ {
4513
+ "name": "MinLateEpochSlotGate"
4514
+ }
4515
+ ]
4516
+ }
4517
+ },
4518
+ {
4519
+ "name": "ConfigKeyU8",
4520
+ "docs": [
4521
+ "Keys for u8 config values (percentages 0-100)"
4522
+ ],
4523
+ "type": {
4524
+ "kind": "enum",
4525
+ "variants": [
4526
+ {
4527
+ "name": "SmallNetworkEntryPercent"
4528
+ },
4529
+ {
4530
+ "name": "SmallNetworkExitPercent"
4531
+ },
4532
+ {
4533
+ "name": "MediumNetworkEntryPercent"
4534
+ },
4535
+ {
4536
+ "name": "MediumNetworkExitPercent"
4537
+ }
4538
+ ]
4539
+ }
4540
+ },
4165
4541
  {
4166
4542
  "name": "DistributionState",
4167
4543
  "type": {
@@ -4300,6 +4676,213 @@
4300
4676
  ]
4301
4677
  }
4302
4678
  },
4679
+ {
4680
+ "name": "GlobalConfig",
4681
+ "docs": [
4682
+ "Zero-copy global config PDA",
4683
+ "Authority is taken from StakeControllerState, not stored here"
4684
+ ],
4685
+ "serialization": "bytemuckunsafe",
4686
+ "repr": {
4687
+ "kind": "c"
4688
+ },
4689
+ "type": {
4690
+ "kind": "struct",
4691
+ "fields": [
4692
+ {
4693
+ "name": "bump",
4694
+ "type": "u8"
4695
+ },
4696
+ {
4697
+ "name": "_padding",
4698
+ "type": {
4699
+ "array": [
4700
+ "u8",
4701
+ 7
4702
+ ]
4703
+ }
4704
+ },
4705
+ {
4706
+ "name": "min_user_deposit",
4707
+ "docs": [
4708
+ "Minimum SOL amount a user can deposit"
4709
+ ],
4710
+ "type": "u64"
4711
+ },
4712
+ {
4713
+ "name": "min_unstake_request",
4714
+ "docs": [
4715
+ "Minimum SOL amount for an unstake/withdrawal request"
4716
+ ],
4717
+ "type": "u64"
4718
+ },
4719
+ {
4720
+ "name": "min_rebalance_stake_delta",
4721
+ "docs": [
4722
+ "Minimum stake delta to trigger a stake rebalance order"
4723
+ ],
4724
+ "type": "u64"
4725
+ },
4726
+ {
4727
+ "name": "min_rebalance_unstake_delta",
4728
+ "docs": [
4729
+ "Minimum unstake delta to trigger an unstake rebalance order"
4730
+ ],
4731
+ "type": "u64"
4732
+ },
4733
+ {
4734
+ "name": "transient_threshold",
4735
+ "docs": [
4736
+ "Minimum transient stake to include in effective stake calculations"
4737
+ ],
4738
+ "type": "u64"
4739
+ },
4740
+ {
4741
+ "name": "min_late_epoch_slot_gate",
4742
+ "docs": [
4743
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
4744
+ ],
4745
+ "type": "u64"
4746
+ },
4747
+ {
4748
+ "name": "_reserved_u64",
4749
+ "type": {
4750
+ "array": [
4751
+ "u64",
4752
+ 2
4753
+ ]
4754
+ }
4755
+ },
4756
+ {
4757
+ "name": "cooldown_epochs",
4758
+ "docs": [
4759
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
4760
+ ],
4761
+ "type": "u16"
4762
+ },
4763
+ {
4764
+ "name": "deposit_fee_multiplier",
4765
+ "docs": [
4766
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
4767
+ ],
4768
+ "type": "u16"
4769
+ },
4770
+ {
4771
+ "name": "min_vpp_entry",
4772
+ "docs": [
4773
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
4774
+ ],
4775
+ "type": "u16"
4776
+ },
4777
+ {
4778
+ "name": "min_vpp_exit",
4779
+ "docs": [
4780
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
4781
+ ],
4782
+ "type": "u16"
4783
+ },
4784
+ {
4785
+ "name": "tiny_network_threshold",
4786
+ "docs": [
4787
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
4788
+ ],
4789
+ "type": "u16"
4790
+ },
4791
+ {
4792
+ "name": "small_network_threshold",
4793
+ "docs": [
4794
+ "Max validators for \"small\" network band (uses percentile-based selection)"
4795
+ ],
4796
+ "type": "u16"
4797
+ },
4798
+ {
4799
+ "name": "medium_network_threshold",
4800
+ "docs": [
4801
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
4802
+ ],
4803
+ "type": "u16"
4804
+ },
4805
+ {
4806
+ "name": "large_network_entry_rank",
4807
+ "docs": [
4808
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
4809
+ ],
4810
+ "type": "u16"
4811
+ },
4812
+ {
4813
+ "name": "large_network_exit_rank",
4814
+ "docs": [
4815
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
4816
+ ],
4817
+ "type": "u16"
4818
+ },
4819
+ {
4820
+ "name": "_reserved_u16",
4821
+ "type": {
4822
+ "array": [
4823
+ "u16",
4824
+ 3
4825
+ ]
4826
+ }
4827
+ },
4828
+ {
4829
+ "name": "small_network_entry_percent",
4830
+ "docs": [
4831
+ "Percentile rank required to enter active set in small networks"
4832
+ ],
4833
+ "type": "u8"
4834
+ },
4835
+ {
4836
+ "name": "small_network_exit_percent",
4837
+ "docs": [
4838
+ "Percentile rank below which validators exit in small networks"
4839
+ ],
4840
+ "type": "u8"
4841
+ },
4842
+ {
4843
+ "name": "medium_network_entry_percent",
4844
+ "docs": [
4845
+ "Percentile rank required to enter active set in medium networks"
4846
+ ],
4847
+ "type": "u8"
4848
+ },
4849
+ {
4850
+ "name": "medium_network_exit_percent",
4851
+ "docs": [
4852
+ "Percentile rank below which validators exit in medium networks"
4853
+ ],
4854
+ "type": "u8"
4855
+ },
4856
+ {
4857
+ "name": "_reserved_u8",
4858
+ "type": {
4859
+ "array": [
4860
+ "u8",
4861
+ 2
4862
+ ]
4863
+ }
4864
+ },
4865
+ {
4866
+ "name": "feature_flags",
4867
+ "docs": [
4868
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
4869
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
4870
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
4871
+ ],
4872
+ "type": "u16"
4873
+ },
4874
+ {
4875
+ "name": "_reserved_flags",
4876
+ "type": {
4877
+ "array": [
4878
+ "u16",
4879
+ 1
4880
+ ]
4881
+ }
4882
+ }
4883
+ ]
4884
+ }
4885
+ },
4303
4886
  {
4304
4887
  "name": "GlobalState",
4305
4888
  "type": {
@@ -4566,6 +5149,10 @@
4566
5149
  "name": "last_validator_score_sync_epoch",
4567
5150
  "type": "u16"
4568
5151
  },
5152
+ {
5153
+ "name": "last_leaderboard_scores_sync_epoch",
5154
+ "type": "u16"
5155
+ },
4569
5156
  {
4570
5157
  "name": "last_active_infos_synced_epoch",
4571
5158
  "type": "u16"
@@ -4855,7 +5442,7 @@
4855
5442
  },
4856
5443
  {
4857
5444
  "name": "pretokens_purchased",
4858
- "type": "i128"
5445
+ "type": "u64"
4859
5446
  }
4860
5447
  ]
4861
5448
  }
@@ -4883,7 +5470,7 @@
4883
5470
  ],
4884
5471
  "type": {
4885
5472
  "array": [
4886
- "i128",
5473
+ "u64",
4887
5474
  10
4888
5475
  ]
4889
5476
  }
@@ -5059,6 +5646,30 @@
5059
5646
  ],
5060
5647
  "type": "u64"
5061
5648
  },
5649
+ {
5650
+ "name": "is_small_distribution_mode",
5651
+ "docs": [
5652
+ "Whether we're in small distribution mode (not enough for VPP-based distribution)",
5653
+ "In this mode, we distribute evenly to first N validators instead of using VPP ratios"
5654
+ ],
5655
+ "type": "bool"
5656
+ },
5657
+ {
5658
+ "name": "validators_to_fund_this_rebalance",
5659
+ "docs": [
5660
+ "Number of validators to fund in small distribution mode",
5661
+ "Calculated as floor(total_to_distribute / MIN_STAKE_DELEGATION)"
5662
+ ],
5663
+ "type": "u16"
5664
+ },
5665
+ {
5666
+ "name": "amount_per_validator_this_rebalance",
5667
+ "docs": [
5668
+ "Amount each validator gets in small distribution mode",
5669
+ "Calculated as total_to_distribute / validators_to_fund"
5670
+ ],
5671
+ "type": "u64"
5672
+ },
5062
5673
  {
5063
5674
  "name": "selection_entry_threshold_vpp",
5064
5675
  "docs": [
@@ -5235,8 +5846,7 @@
5235
5846
  {
5236
5847
  "name": "TrancheState",
5237
5848
  "docs": [
5238
- "All i128 values use 8-decimal precision (SCALE = 1e8 = 100,000,000)",
5239
- "This matches Chainlink SOL/USD's native format, avoiding conversion overhead",
5849
+ "All u64 values use 8-decimal precision (SCALE = 1e8 = 100,000,000)",
5240
5850
  "Example: $193.32 is stored as 19332000000"
5241
5851
  ],
5242
5852
  "type": {
@@ -5255,19 +5865,19 @@
5255
5865
  },
5256
5866
  {
5257
5867
  "name": "current_tranche_supply",
5258
- "type": "i128"
5868
+ "type": "u64"
5259
5869
  },
5260
5870
  {
5261
5871
  "name": "current_tranche_price_usd",
5262
- "type": "i128"
5872
+ "type": "u64"
5263
5873
  },
5264
5874
  {
5265
5875
  "name": "total_pretokens_sold",
5266
- "type": "i128"
5876
+ "type": "u64"
5267
5877
  },
5268
5878
  {
5269
5879
  "name": "initial_tranche_supply",
5270
- "type": "i128"
5880
+ "type": "u64"
5271
5881
  },
5272
5882
  {
5273
5883
  "name": "supply_growth_bps",
@@ -5288,14 +5898,14 @@
5288
5898
  "docs": [
5289
5899
  "Minimum valid SOL/USD price for validation (8-dec)"
5290
5900
  ],
5291
- "type": "i128"
5901
+ "type": "u64"
5292
5902
  },
5293
5903
  {
5294
5904
  "name": "max_price_usd",
5295
5905
  "docs": [
5296
5906
  "Maximum valid SOL/USD price for validation (8-dec)"
5297
5907
  ],
5298
- "type": "i128"
5908
+ "type": "u64"
5299
5909
  },
5300
5910
  {
5301
5911
  "name": "max_staleness_seconds",
@@ -5340,7 +5950,7 @@
5340
5950
  },
5341
5951
  {
5342
5952
  "name": "total_pretokens_purchased",
5343
- "type": "i128"
5953
+ "type": "u64"
5344
5954
  },
5345
5955
  {
5346
5956
  "name": "last_tranche_number",
@@ -5348,7 +5958,7 @@
5348
5958
  },
5349
5959
  {
5350
5960
  "name": "last_tranche_price_usd",
5351
- "type": "i128"
5961
+ "type": "u64"
5352
5962
  },
5353
5963
  {
5354
5964
  "name": "bump",