@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.
@@ -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": "2qSsCXBYUSwF7zrzTT9jFpRpCmWoDpEyHr9exfCMq56P",
8
+ "address": "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH",
9
9
  "metadata": {
10
10
  "name": "liqsolCore",
11
11
  "version": "0.1.0",
@@ -19,7 +19,8 @@ export type LiqsolCore = {
19
19
  "Accumulate unstake requests to be processed in next allocation cycle",
20
20
  "Multiple requests can be accumulated before calculating allocations",
21
21
  "Returns the target epoch when this unstake request will be processed",
22
- "We should not be able to"
22
+ "We should not be able to call this without development feature enabled",
23
+ ""
23
24
  ],
24
25
  "discriminator": [
25
26
  24,
@@ -56,6 +57,12 @@ export type LiqsolCore = {
56
57
  "Maintenance ledger - to determine target processing epoch"
57
58
  ]
58
59
  },
60
+ {
61
+ "name": "globalConfig",
62
+ "docs": [
63
+ "Global config for min_unstake_request setting"
64
+ ]
65
+ },
59
66
  {
60
67
  "name": "clock"
61
68
  }
@@ -107,6 +114,12 @@ export type LiqsolCore = {
107
114
  "name": "processingState",
108
115
  "writable": true
109
116
  },
117
+ {
118
+ "name": "globalConfig",
119
+ "docs": [
120
+ "Global config for threshold parameters"
121
+ ]
122
+ },
110
123
  {
111
124
  "name": "authority",
112
125
  "signer": true
@@ -182,44 +195,6 @@ export type LiqsolCore = {
182
195
  }
183
196
  ]
184
197
  },
185
- {
186
- "name": "advanceServiceability",
187
- "docs": [
188
- "Advance the max servicable receipt ID"
189
- ],
190
- "discriminator": [
191
- 139,
192
- 89,
193
- 79,
194
- 2,
195
- 90,
196
- 211,
197
- 173,
198
- 240
199
- ],
200
- "accounts": [
201
- {
202
- "name": "authority",
203
- "docs": [
204
- "Authority that can update serviceable epoch"
205
- ],
206
- "signer": true
207
- },
208
- {
209
- "name": "global",
210
- "writable": true
211
- },
212
- {
213
- "name": "runtimeProgram"
214
- }
215
- ],
216
- "args": [
217
- {
218
- "name": "resolvedEpoch",
219
- "type": "u64"
220
- }
221
- ]
222
- },
223
198
  {
224
199
  "name": "aggregateStakeMetrics",
225
200
  "docs": [
@@ -380,6 +355,12 @@ export type LiqsolCore = {
380
355
  "Maintenance ledger - to track last unstake allocation epoch"
381
356
  ],
382
357
  "writable": true
358
+ },
359
+ {
360
+ "name": "globalConfig",
361
+ "docs": [
362
+ "Global config for late epoch slot gate"
363
+ ]
383
364
  }
384
365
  ],
385
366
  "args": []
@@ -443,6 +424,12 @@ export type LiqsolCore = {
443
424
  "docs": [
444
425
  "Global withdraw operator state - to read total_encumbered_funds"
445
426
  ]
427
+ },
428
+ {
429
+ "name": "globalConfig",
430
+ "docs": [
431
+ "Global config for rebalancing thresholds"
432
+ ]
446
433
  }
447
434
  ],
448
435
  "args": []
@@ -565,6 +552,12 @@ export type LiqsolCore = {
565
552
  {
566
553
  "name": "stakeHistory"
567
554
  },
555
+ {
556
+ "name": "globalConfig",
557
+ "docs": [
558
+ "Global config for claim_withdrawals_enabled check"
559
+ ]
560
+ },
568
561
  {
569
562
  "name": "tokenProgram"
570
563
  },
@@ -616,6 +609,12 @@ export type LiqsolCore = {
616
609
  "Stake controller state - used to verify authority"
617
610
  ]
618
611
  },
612
+ {
613
+ "name": "globalConfig",
614
+ "docs": [
615
+ "Global config for cooldown_epochs"
616
+ ]
617
+ },
619
618
  {
620
619
  "name": "clock"
621
620
  },
@@ -951,6 +950,12 @@ export type LiqsolCore = {
951
950
  "name": "controllerState",
952
951
  "writable": true
953
952
  },
953
+ {
954
+ "name": "globalConfig",
955
+ "docs": [
956
+ "Global config for deposit settings"
957
+ ]
958
+ },
954
959
  {
955
960
  "name": "payoutState",
956
961
  "writable": true
@@ -1087,47 +1092,6 @@ export type LiqsolCore = {
1087
1092
  }
1088
1093
  ]
1089
1094
  },
1090
- {
1091
- "name": "forceValidatorUnstake",
1092
- "docs": [
1093
- "A function you can call to directly influence the amount to unstake from a particular validator",
1094
- "Tbh this is a bypass of the system and should not be called unless you know what you are doing"
1095
- ],
1096
- "discriminator": [
1097
- 7,
1098
- 208,
1099
- 146,
1100
- 241,
1101
- 10,
1102
- 219,
1103
- 109,
1104
- 30
1105
- ],
1106
- "accounts": [
1107
- {
1108
- "name": "admin",
1109
- "writable": true,
1110
- "signer": true
1111
- },
1112
- {
1113
- "name": "validatorInfo",
1114
- "docs": [
1115
- "Validator info account to update"
1116
- ],
1117
- "writable": true
1118
- }
1119
- ],
1120
- "args": [
1121
- {
1122
- "name": "voteAccount",
1123
- "type": "pubkey"
1124
- },
1125
- {
1126
- "name": "amount",
1127
- "type": "u64"
1128
- }
1129
- ]
1130
- },
1131
1095
  {
1132
1096
  "name": "getMinMaxResolvedEpochDeactivations",
1133
1097
  "docs": [
@@ -1366,6 +1330,37 @@ export type LiqsolCore = {
1366
1330
  ],
1367
1331
  "args": []
1368
1332
  },
1333
+ {
1334
+ "name": "initializeGlobalConfig",
1335
+ "discriminator": [
1336
+ 113,
1337
+ 216,
1338
+ 122,
1339
+ 131,
1340
+ 225,
1341
+ 209,
1342
+ 22,
1343
+ 55
1344
+ ],
1345
+ "accounts": [
1346
+ {
1347
+ "name": "globalConfig",
1348
+ "writable": true
1349
+ },
1350
+ {
1351
+ "name": "controllerState"
1352
+ },
1353
+ {
1354
+ "name": "payer",
1355
+ "writable": true,
1356
+ "signer": true
1357
+ },
1358
+ {
1359
+ "name": "systemProgram"
1360
+ }
1361
+ ],
1362
+ "args": []
1363
+ },
1369
1364
  {
1370
1365
  "name": "initializeGraveyardList",
1371
1366
  "docs": [
@@ -1886,6 +1881,10 @@ export type LiqsolCore = {
1886
1881
  ],
1887
1882
  "writable": true
1888
1883
  },
1884
+ {
1885
+ "name": "withdrawGlobal",
1886
+ "writable": true
1887
+ },
1889
1888
  {
1890
1889
  "name": "stakeProgram"
1891
1890
  },
@@ -1950,6 +1949,12 @@ export type LiqsolCore = {
1950
1949
  "name": "processingState",
1951
1950
  "writable": true
1952
1951
  },
1952
+ {
1953
+ "name": "globalConfig",
1954
+ "docs": [
1955
+ "Global config for late epoch slot gate"
1956
+ ]
1957
+ },
1953
1958
  {
1954
1959
  "name": "clock"
1955
1960
  },
@@ -2023,6 +2028,12 @@ export type LiqsolCore = {
2023
2028
  },
2024
2029
  {
2025
2030
  "name": "instructions"
2031
+ },
2032
+ {
2033
+ "name": "globalConfig",
2034
+ "docs": [
2035
+ "Global config for process_pay_cycle_enabled check"
2036
+ ]
2026
2037
  }
2027
2038
  ],
2028
2039
  "args": []
@@ -2094,6 +2105,12 @@ export type LiqsolCore = {
2094
2105
  },
2095
2106
  {
2096
2107
  "name": "rent"
2108
+ },
2109
+ {
2110
+ "name": "globalConfig",
2111
+ "docs": [
2112
+ "Global config for process_stake_orders_enabled check"
2113
+ ]
2097
2114
  }
2098
2115
  ],
2099
2116
  "args": []
@@ -2202,6 +2219,12 @@ export type LiqsolCore = {
2202
2219
  },
2203
2220
  {
2204
2221
  "name": "stakeProgram"
2222
+ },
2223
+ {
2224
+ "name": "globalConfig",
2225
+ "docs": [
2226
+ "Global config for process_unstake_orders_enabled check"
2227
+ ]
2205
2228
  }
2206
2229
  ],
2207
2230
  "args": []
@@ -2476,6 +2499,12 @@ export type LiqsolCore = {
2476
2499
  },
2477
2500
  {
2478
2501
  "name": "activeList"
2502
+ },
2503
+ {
2504
+ "name": "globalConfig",
2505
+ "docs": [
2506
+ "Global config for late epoch slot gate"
2507
+ ]
2479
2508
  }
2480
2509
  ],
2481
2510
  "args": []
@@ -2516,6 +2545,12 @@ export type LiqsolCore = {
2516
2545
  },
2517
2546
  {
2518
2547
  "name": "activeList"
2548
+ },
2549
+ {
2550
+ "name": "globalConfig",
2551
+ "docs": [
2552
+ "Global config for late epoch slot gate"
2553
+ ]
2519
2554
  }
2520
2555
  ],
2521
2556
  "args": []
@@ -2608,6 +2643,12 @@ export type LiqsolCore = {
2608
2643
  {
2609
2644
  "name": "allocationState"
2610
2645
  },
2646
+ {
2647
+ "name": "globalConfig",
2648
+ "docs": [
2649
+ "Global config for late epoch slot gate"
2650
+ ]
2651
+ },
2611
2652
  {
2612
2653
  "name": "authority",
2613
2654
  "signer": true
@@ -2738,6 +2779,12 @@ export type LiqsolCore = {
2738
2779
  "Maintenance ledger - for accumulate_unstake_request"
2739
2780
  ]
2740
2781
  },
2782
+ {
2783
+ "name": "globalConfig",
2784
+ "docs": [
2785
+ "Global config for min_unstake_request setting"
2786
+ ]
2787
+ },
2741
2788
  {
2742
2789
  "name": "clock"
2743
2790
  },
@@ -3115,6 +3162,12 @@ export type LiqsolCore = {
3115
3162
  "name": "allocationState",
3116
3163
  "writable": true
3117
3164
  },
3165
+ {
3166
+ "name": "globalConfig",
3167
+ "docs": [
3168
+ "Global config for late epoch slot gate"
3169
+ ]
3170
+ },
3118
3171
  {
3119
3172
  "name": "systemProgram",
3120
3173
  "docs": [
@@ -3181,6 +3234,12 @@ export type LiqsolCore = {
3181
3234
  "name": "maintenanceLedger",
3182
3235
  "writable": true
3183
3236
  },
3237
+ {
3238
+ "name": "globalConfig",
3239
+ "docs": [
3240
+ "Global config for late epoch slot gate"
3241
+ ]
3242
+ },
3184
3243
  {
3185
3244
  "name": "authority",
3186
3245
  "signer": true
@@ -3189,37 +3248,32 @@ export type LiqsolCore = {
3189
3248
  "args": []
3190
3249
  },
3191
3250
  {
3192
- "name": "syncDistributionIndex",
3251
+ "name": "syncLeaderboardScoresBatch",
3193
3252
  "discriminator": [
3194
- 82,
3195
- 159,
3196
- 232,
3197
- 125,
3198
- 12,
3199
- 29,
3200
- 9,
3201
- 226
3253
+ 52,
3254
+ 11,
3255
+ 210,
3256
+ 173,
3257
+ 90,
3258
+ 5,
3259
+ 48,
3260
+ 50
3202
3261
  ],
3203
3262
  "accounts": [
3204
3263
  {
3205
- "name": "authority",
3206
- "docs": [
3207
- "Admin or crank that triggers the index sync"
3208
- ],
3209
- "signer": true
3264
+ "name": "leaderboardState"
3210
3265
  },
3211
3266
  {
3212
- "name": "distributionState",
3267
+ "name": "processingState",
3213
3268
  "writable": true
3214
3269
  },
3215
3270
  {
3216
- "name": "bucketAuthority",
3217
- "docs": [
3218
- "The bucket's associated token account holding liqSOL"
3219
- ]
3271
+ "name": "maintenanceLedger",
3272
+ "writable": true
3220
3273
  },
3221
3274
  {
3222
- "name": "bucketTokenAccount"
3275
+ "name": "authority",
3276
+ "signer": true
3223
3277
  }
3224
3278
  ],
3225
3279
  "args": []
@@ -3305,6 +3359,12 @@ export type LiqsolCore = {
3305
3359
  "name": "maintenanceLedger",
3306
3360
  "writable": true
3307
3361
  },
3362
+ {
3363
+ "name": "globalConfig",
3364
+ "docs": [
3365
+ "Global config for min_vpp_entry and min_vpp_exit"
3366
+ ]
3367
+ },
3308
3368
  {
3309
3369
  "name": "authority",
3310
3370
  "signer": true
@@ -3434,66 +3494,238 @@ export type LiqsolCore = {
3434
3494
  "args": []
3435
3495
  },
3436
3496
  {
3437
- "name": "updateGrowthParameters",
3497
+ "name": "updateConfigBool",
3438
3498
  "discriminator": [
3439
- 172,
3440
- 187,
3441
- 237,
3442
- 233,
3443
- 250,
3444
- 160,
3445
- 115,
3446
- 239
3499
+ 79,
3500
+ 36,
3501
+ 65,
3502
+ 239,
3503
+ 188,
3504
+ 35,
3505
+ 13,
3506
+ 160
3447
3507
  ],
3448
3508
  "accounts": [
3449
3509
  {
3450
- "name": "admin",
3451
- "writable": true,
3452
- "signer": true
3453
- },
3454
- {
3455
- "name": "trancheState",
3510
+ "name": "globalConfig",
3456
3511
  "writable": true
3457
3512
  },
3458
3513
  {
3459
- "name": "priceHistory",
3460
- "writable": true
3514
+ "name": "controllerState"
3461
3515
  },
3462
3516
  {
3463
- "name": "systemProgram"
3517
+ "name": "authority",
3518
+ "docs": [
3519
+ "Authority must match StakeControllerState.authority"
3520
+ ],
3521
+ "signer": true
3464
3522
  }
3465
3523
  ],
3466
3524
  "args": [
3467
3525
  {
3468
- "name": "supplyGrowthBps",
3469
- "type": "u16"
3526
+ "name": "key",
3527
+ "type": {
3528
+ "defined": {
3529
+ "name": "configKeyBool"
3530
+ }
3531
+ }
3470
3532
  },
3471
3533
  {
3472
- "name": "priceGrowthBps",
3473
- "type": "u16"
3534
+ "name": "value",
3535
+ "type": "bool"
3474
3536
  }
3475
3537
  ]
3476
3538
  },
3477
3539
  {
3478
- "name": "updatePriceBounds",
3540
+ "name": "updateConfigU16",
3479
3541
  "discriminator": [
3480
- 241,
3481
- 116,
3482
- 141,
3483
- 65,
3484
- 61,
3485
- 95,
3486
- 232,
3487
- 28
3542
+ 149,
3543
+ 9,
3544
+ 244,
3545
+ 25,
3546
+ 46,
3547
+ 136,
3548
+ 59,
3549
+ 173
3488
3550
  ],
3489
3551
  "accounts": [
3490
3552
  {
3491
- "name": "admin",
3492
- "writable": true,
3493
- "signer": true
3553
+ "name": "globalConfig",
3554
+ "writable": true
3494
3555
  },
3495
3556
  {
3496
- "name": "trancheState",
3557
+ "name": "controllerState"
3558
+ },
3559
+ {
3560
+ "name": "authority",
3561
+ "docs": [
3562
+ "Authority must match StakeControllerState.authority"
3563
+ ],
3564
+ "signer": true
3565
+ }
3566
+ ],
3567
+ "args": [
3568
+ {
3569
+ "name": "key",
3570
+ "type": {
3571
+ "defined": {
3572
+ "name": "configKeyU16"
3573
+ }
3574
+ }
3575
+ },
3576
+ {
3577
+ "name": "value",
3578
+ "type": "u16"
3579
+ }
3580
+ ]
3581
+ },
3582
+ {
3583
+ "name": "updateConfigU64",
3584
+ "discriminator": [
3585
+ 120,
3586
+ 43,
3587
+ 124,
3588
+ 106,
3589
+ 97,
3590
+ 80,
3591
+ 208,
3592
+ 123
3593
+ ],
3594
+ "accounts": [
3595
+ {
3596
+ "name": "globalConfig",
3597
+ "writable": true
3598
+ },
3599
+ {
3600
+ "name": "controllerState"
3601
+ },
3602
+ {
3603
+ "name": "authority",
3604
+ "docs": [
3605
+ "Authority must match StakeControllerState.authority"
3606
+ ],
3607
+ "signer": true
3608
+ }
3609
+ ],
3610
+ "args": [
3611
+ {
3612
+ "name": "key",
3613
+ "type": {
3614
+ "defined": {
3615
+ "name": "configKeyU64"
3616
+ }
3617
+ }
3618
+ },
3619
+ {
3620
+ "name": "value",
3621
+ "type": "u64"
3622
+ }
3623
+ ]
3624
+ },
3625
+ {
3626
+ "name": "updateConfigU8",
3627
+ "discriminator": [
3628
+ 17,
3629
+ 160,
3630
+ 31,
3631
+ 134,
3632
+ 222,
3633
+ 250,
3634
+ 229,
3635
+ 253
3636
+ ],
3637
+ "accounts": [
3638
+ {
3639
+ "name": "globalConfig",
3640
+ "writable": true
3641
+ },
3642
+ {
3643
+ "name": "controllerState"
3644
+ },
3645
+ {
3646
+ "name": "authority",
3647
+ "docs": [
3648
+ "Authority must match StakeControllerState.authority"
3649
+ ],
3650
+ "signer": true
3651
+ }
3652
+ ],
3653
+ "args": [
3654
+ {
3655
+ "name": "key",
3656
+ "type": {
3657
+ "defined": {
3658
+ "name": "configKeyU8"
3659
+ }
3660
+ }
3661
+ },
3662
+ {
3663
+ "name": "value",
3664
+ "type": "u8"
3665
+ }
3666
+ ]
3667
+ },
3668
+ {
3669
+ "name": "updateGrowthParameters",
3670
+ "discriminator": [
3671
+ 172,
3672
+ 187,
3673
+ 237,
3674
+ 233,
3675
+ 250,
3676
+ 160,
3677
+ 115,
3678
+ 239
3679
+ ],
3680
+ "accounts": [
3681
+ {
3682
+ "name": "admin",
3683
+ "writable": true,
3684
+ "signer": true
3685
+ },
3686
+ {
3687
+ "name": "trancheState",
3688
+ "writable": true
3689
+ },
3690
+ {
3691
+ "name": "priceHistory",
3692
+ "writable": true
3693
+ },
3694
+ {
3695
+ "name": "systemProgram"
3696
+ }
3697
+ ],
3698
+ "args": [
3699
+ {
3700
+ "name": "supplyGrowthBps",
3701
+ "type": "u16"
3702
+ },
3703
+ {
3704
+ "name": "priceGrowthBps",
3705
+ "type": "u16"
3706
+ }
3707
+ ]
3708
+ },
3709
+ {
3710
+ "name": "updatePriceBounds",
3711
+ "discriminator": [
3712
+ 241,
3713
+ 116,
3714
+ 141,
3715
+ 65,
3716
+ 61,
3717
+ 95,
3718
+ 232,
3719
+ 28
3720
+ ],
3721
+ "accounts": [
3722
+ {
3723
+ "name": "admin",
3724
+ "writable": true,
3725
+ "signer": true
3726
+ },
3727
+ {
3728
+ "name": "trancheState",
3497
3729
  "writable": true
3498
3730
  },
3499
3731
  {
@@ -3507,11 +3739,11 @@ export type LiqsolCore = {
3507
3739
  "args": [
3508
3740
  {
3509
3741
  "name": "minPriceUsd",
3510
- "type": "i128"
3742
+ "type": "u64"
3511
3743
  },
3512
3744
  {
3513
3745
  "name": "maxPriceUsd",
3514
- "type": "i128"
3746
+ "type": "u64"
3515
3747
  },
3516
3748
  {
3517
3749
  "name": "maxStalenessSeconds",
@@ -3560,6 +3792,19 @@ export type LiqsolCore = {
3560
3792
  127
3561
3793
  ]
3562
3794
  },
3795
+ {
3796
+ "name": "globalConfig",
3797
+ "discriminator": [
3798
+ 149,
3799
+ 8,
3800
+ 156,
3801
+ 202,
3802
+ 160,
3803
+ 252,
3804
+ 176,
3805
+ 217
3806
+ ]
3807
+ },
3563
3808
  {
3564
3809
  "name": "globalState",
3565
3810
  "discriminator": [
@@ -4121,6 +4366,13 @@ export type LiqsolCore = {
4121
4366
  ],
4122
4367
  "type": "u16"
4123
4368
  },
4369
+ {
4370
+ "name": "leaderboardScoresNextIndex",
4371
+ "docs": [
4372
+ "Next leaderboard registry index to process for score sync"
4373
+ ],
4374
+ "type": "u16"
4375
+ },
4124
4376
  {
4125
4377
  "name": "removalNextIndex",
4126
4378
  "docs": [
@@ -4168,6 +4420,130 @@ export type LiqsolCore = {
4168
4420
  ]
4169
4421
  }
4170
4422
  },
4423
+ {
4424
+ "name": "configKeyBool",
4425
+ "docs": [
4426
+ "Keys for bool config values (feature flags) - stored as bits in a u16",
4427
+ "Bit positions: 0=Deposits, 1=Withdrawals, 2=ClaimWithdrawals, 3=ProcessStake,",
4428
+ "4=ProcessUnstake, 5=ProcessPayCycle, 6=Rebalancing, 7-15=Reserved"
4429
+ ],
4430
+ "type": {
4431
+ "kind": "enum",
4432
+ "variants": [
4433
+ {
4434
+ "name": "depositsEnabled"
4435
+ },
4436
+ {
4437
+ "name": "withdrawalsEnabled"
4438
+ },
4439
+ {
4440
+ "name": "claimWithdrawalsEnabled"
4441
+ },
4442
+ {
4443
+ "name": "processStakeOrdersEnabled"
4444
+ },
4445
+ {
4446
+ "name": "processUnstakeOrdersEnabled"
4447
+ },
4448
+ {
4449
+ "name": "processPayCycleEnabled"
4450
+ },
4451
+ {
4452
+ "name": "rebalancingEnabled"
4453
+ }
4454
+ ]
4455
+ }
4456
+ },
4457
+ {
4458
+ "name": "configKeyU16",
4459
+ "docs": [
4460
+ "Keys for u16 config values (small counts, thresholds, ranks)"
4461
+ ],
4462
+ "type": {
4463
+ "kind": "enum",
4464
+ "variants": [
4465
+ {
4466
+ "name": "cooldownEpochs"
4467
+ },
4468
+ {
4469
+ "name": "depositFeeEpochsMultiplier"
4470
+ },
4471
+ {
4472
+ "name": "minVppEntry"
4473
+ },
4474
+ {
4475
+ "name": "minVppExit"
4476
+ },
4477
+ {
4478
+ "name": "tinyNetworkThreshold"
4479
+ },
4480
+ {
4481
+ "name": "smallNetworkThreshold"
4482
+ },
4483
+ {
4484
+ "name": "mediumNetworkThreshold"
4485
+ },
4486
+ {
4487
+ "name": "largeNetworkEntryRank"
4488
+ },
4489
+ {
4490
+ "name": "largeNetworkExitRank"
4491
+ }
4492
+ ]
4493
+ }
4494
+ },
4495
+ {
4496
+ "name": "configKeyU64",
4497
+ "docs": [
4498
+ "Keys for u64 config values (large amounts, rates)"
4499
+ ],
4500
+ "type": {
4501
+ "kind": "enum",
4502
+ "variants": [
4503
+ {
4504
+ "name": "minUserDeposit"
4505
+ },
4506
+ {
4507
+ "name": "minUnstakeRequest"
4508
+ },
4509
+ {
4510
+ "name": "minRebalanceStakeDelta"
4511
+ },
4512
+ {
4513
+ "name": "minRebalanceUnstakeDelta"
4514
+ },
4515
+ {
4516
+ "name": "transientThreshold"
4517
+ },
4518
+ {
4519
+ "name": "minLateEpochSlotGate"
4520
+ }
4521
+ ]
4522
+ }
4523
+ },
4524
+ {
4525
+ "name": "configKeyU8",
4526
+ "docs": [
4527
+ "Keys for u8 config values (percentages 0-100)"
4528
+ ],
4529
+ "type": {
4530
+ "kind": "enum",
4531
+ "variants": [
4532
+ {
4533
+ "name": "smallNetworkEntryPercent"
4534
+ },
4535
+ {
4536
+ "name": "smallNetworkExitPercent"
4537
+ },
4538
+ {
4539
+ "name": "mediumNetworkEntryPercent"
4540
+ },
4541
+ {
4542
+ "name": "mediumNetworkExitPercent"
4543
+ }
4544
+ ]
4545
+ }
4546
+ },
4171
4547
  {
4172
4548
  "name": "distributionState",
4173
4549
  "type": {
@@ -4306,6 +4682,213 @@ export type LiqsolCore = {
4306
4682
  ]
4307
4683
  }
4308
4684
  },
4685
+ {
4686
+ "name": "globalConfig",
4687
+ "docs": [
4688
+ "Zero-copy global config PDA",
4689
+ "Authority is taken from StakeControllerState, not stored here"
4690
+ ],
4691
+ "serialization": "bytemuckunsafe",
4692
+ "repr": {
4693
+ "kind": "c"
4694
+ },
4695
+ "type": {
4696
+ "kind": "struct",
4697
+ "fields": [
4698
+ {
4699
+ "name": "bump",
4700
+ "type": "u8"
4701
+ },
4702
+ {
4703
+ "name": "padding",
4704
+ "type": {
4705
+ "array": [
4706
+ "u8",
4707
+ 7
4708
+ ]
4709
+ }
4710
+ },
4711
+ {
4712
+ "name": "minUserDeposit",
4713
+ "docs": [
4714
+ "Minimum SOL amount a user can deposit"
4715
+ ],
4716
+ "type": "u64"
4717
+ },
4718
+ {
4719
+ "name": "minUnstakeRequest",
4720
+ "docs": [
4721
+ "Minimum SOL amount for an unstake/withdrawal request"
4722
+ ],
4723
+ "type": "u64"
4724
+ },
4725
+ {
4726
+ "name": "minRebalanceStakeDelta",
4727
+ "docs": [
4728
+ "Minimum stake delta to trigger a stake rebalance order"
4729
+ ],
4730
+ "type": "u64"
4731
+ },
4732
+ {
4733
+ "name": "minRebalanceUnstakeDelta",
4734
+ "docs": [
4735
+ "Minimum unstake delta to trigger an unstake rebalance order"
4736
+ ],
4737
+ "type": "u64"
4738
+ },
4739
+ {
4740
+ "name": "transientThreshold",
4741
+ "docs": [
4742
+ "Minimum transient stake to include in effective stake calculations"
4743
+ ],
4744
+ "type": "u64"
4745
+ },
4746
+ {
4747
+ "name": "minLateEpochSlotGate",
4748
+ "docs": [
4749
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
4750
+ ],
4751
+ "type": "u64"
4752
+ },
4753
+ {
4754
+ "name": "reservedU64",
4755
+ "type": {
4756
+ "array": [
4757
+ "u64",
4758
+ 2
4759
+ ]
4760
+ }
4761
+ },
4762
+ {
4763
+ "name": "cooldownEpochs",
4764
+ "docs": [
4765
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
4766
+ ],
4767
+ "type": "u16"
4768
+ },
4769
+ {
4770
+ "name": "depositFeeMultiplier",
4771
+ "docs": [
4772
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
4773
+ ],
4774
+ "type": "u16"
4775
+ },
4776
+ {
4777
+ "name": "minVppEntry",
4778
+ "docs": [
4779
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
4780
+ ],
4781
+ "type": "u16"
4782
+ },
4783
+ {
4784
+ "name": "minVppExit",
4785
+ "docs": [
4786
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
4787
+ ],
4788
+ "type": "u16"
4789
+ },
4790
+ {
4791
+ "name": "tinyNetworkThreshold",
4792
+ "docs": [
4793
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
4794
+ ],
4795
+ "type": "u16"
4796
+ },
4797
+ {
4798
+ "name": "smallNetworkThreshold",
4799
+ "docs": [
4800
+ "Max validators for \"small\" network band (uses percentile-based selection)"
4801
+ ],
4802
+ "type": "u16"
4803
+ },
4804
+ {
4805
+ "name": "mediumNetworkThreshold",
4806
+ "docs": [
4807
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
4808
+ ],
4809
+ "type": "u16"
4810
+ },
4811
+ {
4812
+ "name": "largeNetworkEntryRank",
4813
+ "docs": [
4814
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
4815
+ ],
4816
+ "type": "u16"
4817
+ },
4818
+ {
4819
+ "name": "largeNetworkExitRank",
4820
+ "docs": [
4821
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
4822
+ ],
4823
+ "type": "u16"
4824
+ },
4825
+ {
4826
+ "name": "reservedU16",
4827
+ "type": {
4828
+ "array": [
4829
+ "u16",
4830
+ 3
4831
+ ]
4832
+ }
4833
+ },
4834
+ {
4835
+ "name": "smallNetworkEntryPercent",
4836
+ "docs": [
4837
+ "Percentile rank required to enter active set in small networks"
4838
+ ],
4839
+ "type": "u8"
4840
+ },
4841
+ {
4842
+ "name": "smallNetworkExitPercent",
4843
+ "docs": [
4844
+ "Percentile rank below which validators exit in small networks"
4845
+ ],
4846
+ "type": "u8"
4847
+ },
4848
+ {
4849
+ "name": "mediumNetworkEntryPercent",
4850
+ "docs": [
4851
+ "Percentile rank required to enter active set in medium networks"
4852
+ ],
4853
+ "type": "u8"
4854
+ },
4855
+ {
4856
+ "name": "mediumNetworkExitPercent",
4857
+ "docs": [
4858
+ "Percentile rank below which validators exit in medium networks"
4859
+ ],
4860
+ "type": "u8"
4861
+ },
4862
+ {
4863
+ "name": "reservedU8",
4864
+ "type": {
4865
+ "array": [
4866
+ "u8",
4867
+ 2
4868
+ ]
4869
+ }
4870
+ },
4871
+ {
4872
+ "name": "featureFlags",
4873
+ "docs": [
4874
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
4875
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
4876
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
4877
+ ],
4878
+ "type": "u16"
4879
+ },
4880
+ {
4881
+ "name": "reservedFlags",
4882
+ "type": {
4883
+ "array": [
4884
+ "u16",
4885
+ 1
4886
+ ]
4887
+ }
4888
+ }
4889
+ ]
4890
+ }
4891
+ },
4309
4892
  {
4310
4893
  "name": "globalState",
4311
4894
  "type": {
@@ -4572,6 +5155,10 @@ export type LiqsolCore = {
4572
5155
  "name": "lastValidatorScoreSyncEpoch",
4573
5156
  "type": "u16"
4574
5157
  },
5158
+ {
5159
+ "name": "lastLeaderboardScoresSyncEpoch",
5160
+ "type": "u16"
5161
+ },
4575
5162
  {
4576
5163
  "name": "lastActiveInfosSyncedEpoch",
4577
5164
  "type": "u16"
@@ -4861,7 +5448,7 @@ export type LiqsolCore = {
4861
5448
  },
4862
5449
  {
4863
5450
  "name": "pretokensPurchased",
4864
- "type": "i128"
5451
+ "type": "u64"
4865
5452
  }
4866
5453
  ]
4867
5454
  }
@@ -4889,7 +5476,7 @@ export type LiqsolCore = {
4889
5476
  ],
4890
5477
  "type": {
4891
5478
  "array": [
4892
- "i128",
5479
+ "u64",
4893
5480
  10
4894
5481
  ]
4895
5482
  }
@@ -5065,6 +5652,30 @@ export type LiqsolCore = {
5065
5652
  ],
5066
5653
  "type": "u64"
5067
5654
  },
5655
+ {
5656
+ "name": "isSmallDistributionMode",
5657
+ "docs": [
5658
+ "Whether we're in small distribution mode (not enough for VPP-based distribution)",
5659
+ "In this mode, we distribute evenly to first N validators instead of using VPP ratios"
5660
+ ],
5661
+ "type": "bool"
5662
+ },
5663
+ {
5664
+ "name": "validatorsToFundThisRebalance",
5665
+ "docs": [
5666
+ "Number of validators to fund in small distribution mode",
5667
+ "Calculated as floor(total_to_distribute / MIN_STAKE_DELEGATION)"
5668
+ ],
5669
+ "type": "u16"
5670
+ },
5671
+ {
5672
+ "name": "amountPerValidatorThisRebalance",
5673
+ "docs": [
5674
+ "Amount each validator gets in small distribution mode",
5675
+ "Calculated as total_to_distribute / validators_to_fund"
5676
+ ],
5677
+ "type": "u64"
5678
+ },
5068
5679
  {
5069
5680
  "name": "selectionEntryThresholdVpp",
5070
5681
  "docs": [
@@ -5241,8 +5852,7 @@ export type LiqsolCore = {
5241
5852
  {
5242
5853
  "name": "trancheState",
5243
5854
  "docs": [
5244
- "All i128 values use 8-decimal precision (SCALE = 1e8 = 100,000,000)",
5245
- "This matches Chainlink SOL/USD's native format, avoiding conversion overhead",
5855
+ "All u64 values use 8-decimal precision (SCALE = 1e8 = 100,000,000)",
5246
5856
  "Example: $193.32 is stored as 19332000000"
5247
5857
  ],
5248
5858
  "type": {
@@ -5261,19 +5871,19 @@ export type LiqsolCore = {
5261
5871
  },
5262
5872
  {
5263
5873
  "name": "currentTrancheSupply",
5264
- "type": "i128"
5874
+ "type": "u64"
5265
5875
  },
5266
5876
  {
5267
5877
  "name": "currentTranchePriceUsd",
5268
- "type": "i128"
5878
+ "type": "u64"
5269
5879
  },
5270
5880
  {
5271
5881
  "name": "totalPretokensSold",
5272
- "type": "i128"
5882
+ "type": "u64"
5273
5883
  },
5274
5884
  {
5275
5885
  "name": "initialTrancheSupply",
5276
- "type": "i128"
5886
+ "type": "u64"
5277
5887
  },
5278
5888
  {
5279
5889
  "name": "supplyGrowthBps",
@@ -5294,14 +5904,14 @@ export type LiqsolCore = {
5294
5904
  "docs": [
5295
5905
  "Minimum valid SOL/USD price for validation (8-dec)"
5296
5906
  ],
5297
- "type": "i128"
5907
+ "type": "u64"
5298
5908
  },
5299
5909
  {
5300
5910
  "name": "maxPriceUsd",
5301
5911
  "docs": [
5302
5912
  "Maximum valid SOL/USD price for validation (8-dec)"
5303
5913
  ],
5304
- "type": "i128"
5914
+ "type": "u64"
5305
5915
  },
5306
5916
  {
5307
5917
  "name": "maxStalenessSeconds",
@@ -5346,7 +5956,7 @@ export type LiqsolCore = {
5346
5956
  },
5347
5957
  {
5348
5958
  "name": "totalPretokensPurchased",
5349
- "type": "i128"
5959
+ "type": "u64"
5350
5960
  },
5351
5961
  {
5352
5962
  "name": "lastTrancheNumber",
@@ -5354,7 +5964,7 @@ export type LiqsolCore = {
5354
5964
  },
5355
5965
  {
5356
5966
  "name": "lastTranchePriceUsd",
5357
- "type": "i128"
5967
+ "type": "u64"
5358
5968
  },
5359
5969
  {
5360
5970
  "name": "bump",