@wireio/stake 2.7.2 → 2.7.4

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.
package/lib/stake.d.ts CHANGED
@@ -1297,11 +1297,6 @@ type LeaderboardState = {
1297
1297
  numValidators: number;
1298
1298
  /** PDA bump seed for leaderboardState. */
1299
1299
  bump: number;
1300
- /**
1301
- * Reserved padding / future-proofing on-chain (u64[8]).
1302
- * Not used by client logic, but surfaced for completeness.
1303
- */
1304
- padding: number[];
1305
1300
  };
1306
1301
  /**
1307
1302
  * Per-validator record tying Solana vote account to
@@ -2207,6 +2202,10 @@ type LiqsolCore$1 = {
2207
2202
  "name": "epochState";
2208
2203
  "writable": true;
2209
2204
  },
2205
+ {
2206
+ "name": "withdrawGlobal";
2207
+ "writable": true;
2208
+ },
2210
2209
  {
2211
2210
  "name": "activeList";
2212
2211
  },
@@ -3379,6 +3378,7 @@ type LiqsolCore$1 = {
3379
3378
  },
3380
3379
  {
3381
3380
  "name": "cranky";
3381
+ "writable": true;
3382
3382
  "signer": true;
3383
3383
  },
3384
3384
  {
@@ -3450,6 +3450,76 @@ type LiqsolCore$1 = {
3450
3450
  }
3451
3451
  ];
3452
3452
  },
3453
+ {
3454
+ "name": "migrateBatchOrchestrator";
3455
+ "docs": [
3456
+ "One-shot migration: realloc BatchOrchestrator for the four per-op",
3457
+ "`*_started_epoch: u16` fields + restored `_reserved` buffer.",
3458
+ "Idempotent, ungated. `payer` covers the rent delta."
3459
+ ];
3460
+ "discriminator": [
3461
+ 130,
3462
+ 240,
3463
+ 40,
3464
+ 175,
3465
+ 53,
3466
+ 209,
3467
+ 232,
3468
+ 11
3469
+ ];
3470
+ "accounts": [
3471
+ {
3472
+ "name": "payer";
3473
+ "writable": true;
3474
+ "signer": true;
3475
+ },
3476
+ {
3477
+ "name": "batchOrchestrator";
3478
+ "docs": [
3479
+ "is the only authorization needed; the op is idempotent."
3480
+ ];
3481
+ "writable": true;
3482
+ },
3483
+ {
3484
+ "name": "systemProgram";
3485
+ }
3486
+ ];
3487
+ "args": [];
3488
+ },
3489
+ {
3490
+ "name": "migrateStakeMetrics";
3491
+ "docs": [
3492
+ "One-shot migration: realloc StakeMetrics for new fields (mev_reward + _reserved)"
3493
+ ];
3494
+ "discriminator": [
3495
+ 183,
3496
+ 154,
3497
+ 168,
3498
+ 221,
3499
+ 78,
3500
+ 179,
3501
+ 112,
3502
+ 165
3503
+ ];
3504
+ "accounts": [
3505
+ {
3506
+ "name": "globalConfig";
3507
+ },
3508
+ {
3509
+ "name": "admin";
3510
+ "writable": true;
3511
+ "signer": true;
3512
+ },
3513
+ {
3514
+ "name": "stakeMetrics";
3515
+ "writable": true;
3516
+ },
3517
+ {
3518
+ "name": "systemProgram";
3519
+ }
3520
+ ];
3521
+ "args": [];
3522
+ },
3453
3523
  {
3454
3524
  "name": "migrateUserRecord";
3455
3525
  "discriminator": [
@@ -3487,6 +3557,37 @@ type LiqsolCore$1 = {
3487
3557
  ];
3488
3558
  "args": [];
3489
3559
  },
3560
+ {
3561
+ "name": "migrateValidatorInfoBatch";
3562
+ "docs": [
3563
+ "One-shot migration: realloc ValidatorInfoAccounts for new fields (mev + _reserved)",
3564
+ "Pass validator_info PDAs via remaining_accounts"
3565
+ ];
3566
+ "discriminator": [
3567
+ 250,
3568
+ 77,
3569
+ 53,
3570
+ 116,
3571
+ 38,
3572
+ 22,
3573
+ 12,
3574
+ 100
3575
+ ];
3576
+ "accounts": [
3577
+ {
3578
+ "name": "globalConfig";
3579
+ },
3580
+ {
3581
+ "name": "admin";
3582
+ "writable": true;
3583
+ "signer": true;
3584
+ },
3585
+ {
3586
+ "name": "systemProgram";
3587
+ }
3588
+ ];
3589
+ "args": [];
3590
+ },
3490
3591
  {
3491
3592
  "name": "processGraveyardValidatorsBatch";
3492
3593
  "docs": [
@@ -4941,6 +5042,20 @@ type LiqsolCore$1 = {
4941
5042
  },
4942
5043
  {
4943
5044
  "name": "stakeHistory";
5045
+ },
5046
+ {
5047
+ "name": "vault";
5048
+ "writable": true;
5049
+ },
5050
+ {
5051
+ "name": "reservePool";
5052
+ "writable": true;
5053
+ },
5054
+ {
5055
+ "name": "stakeProgram";
5056
+ },
5057
+ {
5058
+ "name": "clock";
4944
5059
  }
4945
5060
  ];
4946
5061
  "args": [];
@@ -6012,12 +6127,61 @@ type LiqsolCore$1 = {
6012
6127
  ];
6013
6128
  "type": "u64";
6014
6129
  },
6130
+ {
6131
+ "name": "mevClaimsNextIndex";
6132
+ "docs": [
6133
+ "Next active_list index to process for MEV tip claims"
6134
+ ];
6135
+ "type": "u16";
6136
+ },
6137
+ {
6138
+ "name": "tempTotalMevReward";
6139
+ "docs": [
6140
+ "Temporary accumulator for MEV rewards across batches"
6141
+ ];
6142
+ "type": "u64";
6143
+ },
6144
+ {
6145
+ "name": "tempTotalOutstandingAmountToUnstake";
6146
+ "docs": [
6147
+ "Temporary accumulator for sum of validators' amount_to_unstake across batches"
6148
+ ];
6149
+ "type": "u64";
6150
+ },
6151
+ {
6152
+ "name": "validatorsSyncStartedEpoch";
6153
+ "docs": [
6154
+ "Owns validators_sync_processed_this_epoch."
6155
+ ];
6156
+ "type": "u16";
6157
+ },
6158
+ {
6159
+ "name": "leaderboardScoresStartedEpoch";
6160
+ "docs": [
6161
+ "Owns leaderboard_scores_next_index."
6162
+ ];
6163
+ "type": "u16";
6164
+ },
6165
+ {
6166
+ "name": "graveyardCleanupStartedEpoch";
6167
+ "docs": [
6168
+ "Owns graveyard_cleanup_next_index."
6169
+ ];
6170
+ "type": "u16";
6171
+ },
6172
+ {
6173
+ "name": "additionStartedEpoch";
6174
+ "docs": [
6175
+ "Owns addition_next_rank + addition_target_rank."
6176
+ ];
6177
+ "type": "u16";
6178
+ },
6015
6179
  {
6016
6180
  "name": "reserved";
6017
6181
  "type": {
6018
6182
  "array": [
6019
6183
  "u8",
6020
- 23
6184
+ 64
6021
6185
  ];
6022
6186
  };
6023
6187
  }
@@ -6361,7 +6525,9 @@ type LiqsolCore$1 = {
6361
6525
  {
6362
6526
  "name": "transientThreshold";
6363
6527
  "docs": [
6364
- "Minimum transient stake to include in effective stake calculations"
6528
+ "DEPRECATED (WNS-33): no longer read. Kept for account layout stability.",
6529
+ "Rebalance now counts all transient stake on both sides of the delta equation,",
6530
+ "so the per-validator threshold gate was removed."
6365
6531
  ];
6366
6532
  "type": "u64";
6367
6533
  },
@@ -6507,6 +6673,15 @@ type LiqsolCore$1 = {
6507
6673
  1
6508
6674
  ];
6509
6675
  };
6676
+ },
6677
+ {
6678
+ "name": "reservedTrailing";
6679
+ "type": {
6680
+ "array": [
6681
+ "u8",
6682
+ 32
6683
+ ];
6684
+ };
6510
6685
  }
6511
6686
  ];
6512
6687
  };
@@ -6727,16 +6902,32 @@ type LiqsolCore$1 = {
6727
6902
  "type": "u8";
6728
6903
  },
6729
6904
  {
6730
- "name": "padding";
6905
+ "name": "align";
6731
6906
  "docs": [
6732
- "Reserved space for future upgrades"
6907
+ "Alignment byte (keeps u16 fields below properly aligned)"
6733
6908
  ];
6734
- "type": {
6735
- "array": [
6736
- "u8",
6737
- 5
6738
- ];
6739
- };
6909
+ "type": "u8";
6910
+ },
6911
+ {
6912
+ "name": "crankNextIndex";
6913
+ "docs": [
6914
+ "Next validator index to process during crank_update_scores"
6915
+ ];
6916
+ "type": "u16";
6917
+ },
6918
+ {
6919
+ "name": "lastCrankEpoch";
6920
+ "docs": [
6921
+ "Last epoch when crank_update_scores completed all validators"
6922
+ ];
6923
+ "type": "u16";
6924
+ },
6925
+ {
6926
+ "name": "crankStartedEpoch";
6927
+ "docs": [
6928
+ "Epoch when start_crank was called (signals an active crank cycle)"
6929
+ ];
6930
+ "type": "u16";
6740
6931
  }
6741
6932
  ];
6742
6933
  };
@@ -7396,9 +7587,13 @@ type LiqsolCore$1 = {
7396
7587
  "type": "bool";
7397
7588
  },
7398
7589
  {
7399
- "name": "additionNextRank";
7590
+ "name": "unstakeAllocationStartedEpoch";
7400
7591
  "docs": [
7401
- "DEPRECATED see BatchOrchestrator.addition_next_rank. Always 0."
7592
+ "Epoch in which the current unstake allocation cycle was started.",
7593
+ "Used to detect stale cycles that span epoch boundaries — if the epoch",
7594
+ "has advanced, the cycle is reset and restarted to avoid resuming",
7595
+ "against a mutated validator active list.",
7596
+ "(Repurposed from the deprecated addition_next_rank field — verified 0 on the mainnet.)"
7402
7597
  ];
7403
7598
  "type": "u16";
7404
7599
  },
@@ -7499,6 +7694,34 @@ type LiqsolCore$1 = {
7499
7694
  {
7500
7695
  "name": "bump";
7501
7696
  "type": "u8";
7697
+ },
7698
+ {
7699
+ "name": "mevReward";
7700
+ "docs": [
7701
+ "MEV rewards swept from main stake accounts this epoch (accumulated, reset after pay cycle)"
7702
+ ];
7703
+ "type": "u64";
7704
+ },
7705
+ {
7706
+ "name": "totalOutstandingAmountToUnstake";
7707
+ "docs": [
7708
+ "WNS-16: total amount_to_unstake across all validators at last metrics refresh.",
7709
+ "Represents allocated-but-not-yet-deactivated unstake obligations.",
7710
+ "Subtracted from unstakeable_stake in admission control to prevent double-promising."
7711
+ ];
7712
+ "type": "u64";
7713
+ },
7714
+ {
7715
+ "name": "reserved";
7716
+ "docs": [
7717
+ "Reserved space for future use"
7718
+ ];
7719
+ "type": {
7720
+ "array": [
7721
+ "u8",
7722
+ 24
7723
+ ];
7724
+ };
7502
7725
  }
7503
7726
  ];
7504
7727
  };
@@ -7825,6 +8048,25 @@ type LiqsolCore$1 = {
7825
8048
  {
7826
8049
  "name": "stateTransitionTriggerStakeAmount";
7827
8050
  "type": "u64";
8051
+ },
8052
+ {
8053
+ "name": "mevEarned";
8054
+ "docs": [
8055
+ "MEV reward swept for this validator in the current epoch"
8056
+ ];
8057
+ "type": "u64";
8058
+ },
8059
+ {
8060
+ "name": "reserved";
8061
+ "docs": [
8062
+ "Reserved space for future use"
8063
+ ];
8064
+ "type": {
8065
+ "array": [
8066
+ "u8",
8067
+ 24
8068
+ ];
8069
+ };
7828
8070
  }
7829
8071
  ];
7830
8072
  };
@@ -8421,6 +8663,26 @@ type ValidatorLeaderboard$1 = {
8421
8663
  "description": "Created with Anchor";
8422
8664
  };
8423
8665
  "instructions": [
8666
+ {
8667
+ "name": "crankUpdateScores";
8668
+ "discriminator": [
8669
+ 163,
8670
+ 247,
8671
+ 66,
8672
+ 109,
8673
+ 22,
8674
+ 206,
8675
+ 61,
8676
+ 95
8677
+ ];
8678
+ "accounts": [
8679
+ {
8680
+ "name": "leaderboardState";
8681
+ "writable": true;
8682
+ }
8683
+ ];
8684
+ "args": [];
8685
+ },
8424
8686
  {
8425
8687
  "name": "initializeLeaderboard";
8426
8688
  "discriminator": [
@@ -8449,6 +8711,34 @@ type ValidatorLeaderboard$1 = {
8449
8711
  ];
8450
8712
  "args": [];
8451
8713
  },
8714
+ {
8715
+ "name": "migrateV14";
8716
+ "discriminator": [
8717
+ 41,
8718
+ 152,
8719
+ 69,
8720
+ 58,
8721
+ 215,
8722
+ 119,
8723
+ 255,
8724
+ 189
8725
+ ];
8726
+ "accounts": [
8727
+ {
8728
+ "name": "authority";
8729
+ "writable": true;
8730
+ "signer": true;
8731
+ },
8732
+ {
8733
+ "name": "leaderboardState";
8734
+ "writable": true;
8735
+ },
8736
+ {
8737
+ "name": "systemProgram";
8738
+ }
8739
+ ];
8740
+ "args": [];
8741
+ },
8452
8742
  {
8453
8743
  "name": "reallocLeaderboard";
8454
8744
  "discriminator": [
@@ -8478,59 +8768,25 @@ type ValidatorLeaderboard$1 = {
8478
8768
  "args": [];
8479
8769
  },
8480
8770
  {
8481
- "name": "updateCommission";
8771
+ "name": "startCrank";
8482
8772
  "discriminator": [
8483
- 2,
8484
- 202,
8485
- 72,
8486
- 156,
8487
- 19,
8488
- 253,
8489
- 91,
8490
- 174
8491
- ];
8492
- "accounts": [
8493
- {
8494
- "name": "registrant";
8495
- "writable": true;
8496
- "signer": true;
8497
- },
8498
- {
8499
- "name": "voteAccount";
8500
- },
8501
- {
8502
- "name": "validatorRecord";
8503
- "writable": true;
8504
- },
8505
- {
8506
- "name": "systemProgram";
8507
- }
8508
- ];
8509
- "args": [];
8510
- },
8511
- {
8512
- "name": "updateMevCommission";
8513
- "discriminator": [
8514
- 107,
8515
- 65,
8516
- 238,
8517
- 108,
8518
- 183,
8519
- 47,
8520
- 236,
8521
- 203
8773
+ 31,
8774
+ 83,
8775
+ 66,
8776
+ 14,
8777
+ 249,
8778
+ 131,
8779
+ 221,
8780
+ 67
8522
8781
  ];
8523
8782
  "accounts": [
8524
8783
  {
8525
- "name": "signer";
8784
+ "name": "cranker";
8526
8785
  "signer": true;
8527
8786
  },
8528
8787
  {
8529
- "name": "validatorRecord";
8788
+ "name": "leaderboardState";
8530
8789
  "writable": true;
8531
- },
8532
- {
8533
- "name": "tipDistributionAccount";
8534
8790
  }
8535
8791
  ];
8536
8792
  "args": [];
@@ -8555,6 +8811,9 @@ type ValidatorLeaderboard$1 = {
8555
8811
  },
8556
8812
  {
8557
8813
  "name": "voteAccount";
8814
+ "docs": [
8815
+ "If no longer owned by the vote program (closed/reclaimed), score is set to 0."
8816
+ ];
8558
8817
  },
8559
8818
  {
8560
8819
  "name": "validatorRecord";
@@ -8568,16 +8827,7 @@ type ValidatorLeaderboard$1 = {
8568
8827
  "name": "systemProgram";
8569
8828
  }
8570
8829
  ];
8571
- "args": [
8572
- {
8573
- "name": "vpp";
8574
- "type": "u8";
8575
- },
8576
- {
8577
- "name": "proposedRank";
8578
- "type": "u16";
8579
- }
8580
- ];
8830
+ "args": [];
8581
8831
  }
8582
8832
  ];
8583
8833
  "accounts": [
@@ -8824,16 +9074,32 @@ type ValidatorLeaderboard$1 = {
8824
9074
  "type": "u8";
8825
9075
  },
8826
9076
  {
8827
- "name": "padding";
9077
+ "name": "align";
8828
9078
  "docs": [
8829
- "Reserved space for future upgrades"
9079
+ "Alignment byte (keeps u16 fields below properly aligned)"
8830
9080
  ];
8831
- "type": {
8832
- "array": [
8833
- "u8",
8834
- 5
8835
- ];
8836
- };
9081
+ "type": "u8";
9082
+ },
9083
+ {
9084
+ "name": "crankNextIndex";
9085
+ "docs": [
9086
+ "Next validator index to process during crank_update_scores"
9087
+ ];
9088
+ "type": "u16";
9089
+ },
9090
+ {
9091
+ "name": "lastCrankEpoch";
9092
+ "docs": [
9093
+ "Last epoch when crank_update_scores completed all validators"
9094
+ ];
9095
+ "type": "u16";
9096
+ },
9097
+ {
9098
+ "name": "crankStartedEpoch";
9099
+ "docs": [
9100
+ "Epoch when start_crank was called (signals an active crank cycle)"
9101
+ ];
9102
+ "type": "u16";
8837
9103
  }
8838
9104
  ];
8839
9105
  };
@@ -8944,15 +9210,13 @@ type ValidatorLeaderboard$1 = {
8944
9210
  {
8945
9211
  "name": "mevCommission";
8946
9212
  "docs": [
8947
- "Current MEV commission in basis points"
9213
+ "DEPRECATED: MEV commission fields are no longer written or read by any instruction.",
9214
+ "Retained to preserve account layout (removing would require migration)."
8948
9215
  ];
8949
9216
  "type": "u16";
8950
9217
  },
8951
9218
  {
8952
9219
  "name": "mevCommissionHistory";
8953
- "docs": [
8954
- "Circular buffer of past 10 MEV commission values"
8955
- ];
8956
9220
  "type": {
8957
9221
  "array": [
8958
9222
  "u16",
@@ -8962,16 +9226,10 @@ type ValidatorLeaderboard$1 = {
8962
9226
  },
8963
9227
  {
8964
9228
  "name": "mevCommissionIndex";
8965
- "docs": [
8966
- "Current index in mev_commission_history circular buffer (0-9)"
8967
- ];
8968
9229
  "type": "u8";
8969
9230
  },
8970
9231
  {
8971
9232
  "name": "lastMevCommissionUpdate";
8972
- "docs": [
8973
- "Last epoch when MEV commission was updated"
8974
- ];
8975
9233
  "type": "u64";
8976
9234
  },
8977
9235
  {
@@ -9002,68 +9260,6 @@ type LiqsolCore = {
9002
9260
  "description": "Created with Anchor";
9003
9261
  };
9004
9262
  "instructions": [
9005
- {
9006
- "name": "accumulateUnstakeRequest";
9007
- "docs": [
9008
- "Accumulate unstake requests to be processed in next allocation cycle",
9009
- "Multiple requests can be accumulated before calculating allocations",
9010
- "Returns the target epoch when this unstake request will be processed",
9011
- "We should not be able to call this without development feature enabled",
9012
- ""
9013
- ];
9014
- "discriminator": [
9015
- 24,
9016
- 73,
9017
- 69,
9018
- 139,
9019
- 36,
9020
- 209,
9021
- 105,
9022
- 252
9023
- ];
9024
- "accounts": [
9025
- {
9026
- "name": "admin";
9027
- "writable": true;
9028
- "signer": true;
9029
- },
9030
- {
9031
- "name": "stakeAllocationState";
9032
- "docs": [
9033
- "Stake allocation state - to accumulate pending unstake requests"
9034
- ];
9035
- "writable": true;
9036
- },
9037
- {
9038
- "name": "stakeMetrics";
9039
- "docs": [
9040
- "Stake metrics - to validate total unstake amount is available"
9041
- ];
9042
- },
9043
- {
9044
- "name": "maintenanceLedger";
9045
- "docs": [
9046
- "Maintenance ledger - to determine target processing epoch"
9047
- ];
9048
- },
9049
- {
9050
- "name": "globalConfig";
9051
- "docs": [
9052
- "Global config for min_unstake_request setting"
9053
- ];
9054
- },
9055
- {
9056
- "name": "clock";
9057
- }
9058
- ];
9059
- "args": [
9060
- {
9061
- "name": "amount";
9062
- "type": "u64";
9063
- }
9064
- ];
9065
- "returns": "u64";
9066
- },
9067
9263
  {
9068
9264
  "name": "addTopPerformersBatch";
9069
9265
  "docs": [
@@ -9116,74 +9312,6 @@ type LiqsolCore = {
9116
9312
  ];
9117
9313
  "args": [];
9118
9314
  },
9119
- {
9120
- "name": "addValidatorV2";
9121
- "docs": [
9122
- "Add a new validator bbypassing the looking at leaderboard and getting validators form there"
9123
- ];
9124
- "discriminator": [
9125
- 217,
9126
- 158,
9127
- 30,
9128
- 19,
9129
- 123,
9130
- 99,
9131
- 110,
9132
- 30
9133
- ];
9134
- "accounts": [
9135
- {
9136
- "name": "authority";
9137
- "writable": true;
9138
- "signer": true;
9139
- },
9140
- {
9141
- "name": "activeList";
9142
- "docs": [
9143
- "Active list - will add the validator here"
9144
- ];
9145
- "writable": true;
9146
- },
9147
- {
9148
- "name": "validatorInfo";
9149
- "docs": [
9150
- "Create the validator info account"
9151
- ];
9152
- "writable": true;
9153
- },
9154
- {
9155
- "name": "validatorTransient";
9156
- "docs": [
9157
- "Create the validator transient account"
9158
- ];
9159
- "writable": true;
9160
- },
9161
- {
9162
- "name": "stakeAllocationState";
9163
- "docs": [
9164
- "Stake allocation state - to update total_active_vpp when adding validator"
9165
- ];
9166
- "writable": true;
9167
- },
9168
- {
9169
- "name": "systemProgram";
9170
- }
9171
- ];
9172
- "args": [
9173
- {
9174
- "name": "voteAccount";
9175
- "type": "pubkey";
9176
- },
9177
- {
9178
- "name": "name";
9179
- "type": "string";
9180
- },
9181
- {
9182
- "name": "performanceScore";
9183
- "type": "u8";
9184
- }
9185
- ];
9186
- },
9187
9315
  {
9188
9316
  "name": "adminForceUnbondRole";
9189
9317
  "discriminator": [
@@ -9267,43 +9395,6 @@ type LiqsolCore = {
9267
9395
  ];
9268
9396
  "args": [];
9269
9397
  },
9270
- {
9271
- "name": "blacklistValidator";
9272
- "docs": [
9273
- "Blacklist a validator (user-facing, maintenance will handle graveyard movement)",
9274
- "UnderPerforming is set automatically when score is updated",
9275
- "Another serious emergency stop function"
9276
- ];
9277
- "discriminator": [
9278
- 125,
9279
- 42,
9280
- 36,
9281
- 229,
9282
- 27,
9283
- 38,
9284
- 226,
9285
- 62
9286
- ];
9287
- "accounts": [
9288
- {
9289
- "name": "validatorInfo";
9290
- "writable": true;
9291
- },
9292
- {
9293
- "name": "stakeAllocationState";
9294
- "docs": [
9295
- "Stake allocation state - to update total_active_vpp when VPP changes"
9296
- ];
9297
- "writable": true;
9298
- }
9299
- ];
9300
- "args": [
9301
- {
9302
- "name": "voteAccount";
9303
- "type": "pubkey";
9304
- }
9305
- ];
9306
- },
9307
9398
  {
9308
9399
  "name": "bondRole";
9309
9400
  "discriminator": [
@@ -9864,6 +9955,10 @@ type LiqsolCore = {
9864
9955
  "name": "epochState";
9865
9956
  "writable": true;
9866
9957
  },
9958
+ {
9959
+ "name": "withdrawGlobal";
9960
+ "writable": true;
9961
+ },
9867
9962
  {
9868
9963
  "name": "activeList";
9869
9964
  },
@@ -10933,16 +11028,20 @@ type LiqsolCore = {
10933
11028
  ];
10934
11029
  },
10935
11030
  {
10936
- "name": "injectTestYield";
11031
+ "name": "mergeActivatingStakes";
11032
+ "docs": [
11033
+ "V2: Merge activating transient stakes using PDA architecture",
11034
+ "Returns the number of epochs successfully merged"
11035
+ ];
10937
11036
  "discriminator": [
10938
- 55,
10939
- 41,
10940
- 251,
10941
- 228,
10942
- 58,
10943
- 191,
10944
- 103,
10945
- 248
11037
+ 181,
11038
+ 183,
11039
+ 76,
11040
+ 92,
11041
+ 57,
11042
+ 11,
11043
+ 212,
11044
+ 189
10946
11045
  ];
10947
11046
  "accounts": [
10948
11047
  {
@@ -10950,74 +11049,7 @@ type LiqsolCore = {
10950
11049
  "signer": true;
10951
11050
  },
10952
11051
  {
10953
- "name": "globalConfig";
10954
- },
10955
- {
10956
- "name": "globalState";
10957
- "writable": true;
10958
- },
10959
- {
10960
- "name": "distributionState";
10961
- "writable": true;
10962
- },
10963
- {
10964
- "name": "liqsolMint";
10965
- "writable": true;
10966
- },
10967
- {
10968
- "name": "poolAuthority";
10969
- },
10970
- {
10971
- "name": "liqsolPoolAta";
10972
- "writable": true;
10973
- },
10974
- {
10975
- "name": "depositAuthority";
10976
- "writable": true;
10977
- },
10978
- {
10979
- "name": "liqsolProgram";
10980
- },
10981
- {
10982
- "name": "liqsolMintAuthority";
10983
- },
10984
- {
10985
- "name": "instructionsSysvar";
10986
- },
10987
- {
10988
- "name": "tokenProgram";
10989
- }
10990
- ];
10991
- "args": [
10992
- {
10993
- "name": "amount";
10994
- "type": "u64";
10995
- }
10996
- ];
10997
- },
10998
- {
10999
- "name": "mergeActivatingStakes";
11000
- "docs": [
11001
- "V2: Merge activating transient stakes using PDA architecture",
11002
- "Returns the number of epochs successfully merged"
11003
- ];
11004
- "discriminator": [
11005
- 181,
11006
- 183,
11007
- 76,
11008
- 92,
11009
- 57,
11010
- 11,
11011
- 212,
11012
- 189
11013
- ];
11014
- "accounts": [
11015
- {
11016
- "name": "admin";
11017
- "signer": true;
11018
- },
11019
- {
11020
- "name": "vault";
11052
+ "name": "vault";
11021
11053
  "writable": true;
11022
11054
  },
11023
11055
  {
@@ -11170,6 +11202,76 @@ type LiqsolCore = {
11170
11202
  }
11171
11203
  ];
11172
11204
  },
11205
+ {
11206
+ "name": "migrateBatchOrchestrator";
11207
+ "docs": [
11208
+ "One-shot migration: realloc BatchOrchestrator for the four per-op",
11209
+ "`*_started_epoch: u16` fields + restored `_reserved` buffer.",
11210
+ "Idempotent, ungated. `payer` covers the rent delta."
11211
+ ];
11212
+ "discriminator": [
11213
+ 130,
11214
+ 240,
11215
+ 40,
11216
+ 175,
11217
+ 53,
11218
+ 209,
11219
+ 232,
11220
+ 11
11221
+ ];
11222
+ "accounts": [
11223
+ {
11224
+ "name": "payer";
11225
+ "writable": true;
11226
+ "signer": true;
11227
+ },
11228
+ {
11229
+ "name": "batchOrchestrator";
11230
+ "docs": [
11231
+ "is the only authorization needed; the op is idempotent."
11232
+ ];
11233
+ "writable": true;
11234
+ },
11235
+ {
11236
+ "name": "systemProgram";
11237
+ }
11238
+ ];
11239
+ "args": [];
11240
+ },
11241
+ {
11242
+ "name": "migrateStakeMetrics";
11243
+ "docs": [
11244
+ "One-shot migration: realloc StakeMetrics for new fields (mev_reward + _reserved)"
11245
+ ];
11246
+ "discriminator": [
11247
+ 183,
11248
+ 154,
11249
+ 168,
11250
+ 221,
11251
+ 78,
11252
+ 179,
11253
+ 112,
11254
+ 165
11255
+ ];
11256
+ "accounts": [
11257
+ {
11258
+ "name": "globalConfig";
11259
+ },
11260
+ {
11261
+ "name": "admin";
11262
+ "writable": true;
11263
+ "signer": true;
11264
+ },
11265
+ {
11266
+ "name": "stakeMetrics";
11267
+ "writable": true;
11268
+ },
11269
+ {
11270
+ "name": "systemProgram";
11271
+ }
11272
+ ];
11273
+ "args": [];
11274
+ },
11173
11275
  {
11174
11276
  "name": "migrateUserRecord";
11175
11277
  "discriminator": [
@@ -11207,6 +11309,37 @@ type LiqsolCore = {
11207
11309
  ];
11208
11310
  "args": [];
11209
11311
  },
11312
+ {
11313
+ "name": "migrateValidatorInfoBatch";
11314
+ "docs": [
11315
+ "One-shot migration: realloc ValidatorInfoAccounts for new fields (mev + _reserved)",
11316
+ "Pass validator_info PDAs via remaining_accounts"
11317
+ ];
11318
+ "discriminator": [
11319
+ 250,
11320
+ 77,
11321
+ 53,
11322
+ 116,
11323
+ 38,
11324
+ 22,
11325
+ 12,
11326
+ 100
11327
+ ];
11328
+ "accounts": [
11329
+ {
11330
+ "name": "globalConfig";
11331
+ },
11332
+ {
11333
+ "name": "admin";
11334
+ "writable": true;
11335
+ "signer": true;
11336
+ },
11337
+ {
11338
+ "name": "systemProgram";
11339
+ }
11340
+ ];
11341
+ "args": [];
11342
+ },
11210
11343
  {
11211
11344
  "name": "processGraveyardValidatorsBatch";
11212
11345
  "docs": [
@@ -12261,278 +12394,102 @@ type LiqsolCore = {
12261
12394
  ];
12262
12395
  },
12263
12396
  {
12264
- "name": "resetDistributionState";
12397
+ "name": "setAdmin";
12265
12398
  "discriminator": [
12266
- 159,
12267
- 183,
12268
- 162,
12269
- 74,
12270
- 228,
12271
- 135,
12272
- 157,
12273
- 79
12399
+ 251,
12400
+ 163,
12401
+ 0,
12402
+ 52,
12403
+ 91,
12404
+ 194,
12405
+ 187,
12406
+ 92
12274
12407
  ];
12275
12408
  "accounts": [
12409
+ {
12410
+ "name": "globalConfig";
12411
+ "writable": true;
12412
+ },
12276
12413
  {
12277
12414
  "name": "admin";
12278
12415
  "signer": true;
12279
12416
  },
12280
12417
  {
12281
- "name": "distributionState";
12282
- "writable": true;
12418
+ "name": "newAuthority";
12283
12419
  }
12284
12420
  ];
12285
12421
  "args": [];
12286
12422
  },
12287
12423
  {
12288
- "name": "resetGlobalState";
12424
+ "name": "setCranky";
12289
12425
  "discriminator": [
12290
- 252,
12291
- 41,
12292
- 117,
12293
- 110,
12294
- 248,
12295
- 165,
12426
+ 232,
12296
12427
  48,
12297
- 88
12428
+ 178,
12429
+ 74,
12430
+ 194,
12431
+ 60,
12432
+ 143,
12433
+ 164
12298
12434
  ];
12299
12435
  "accounts": [
12300
- {
12301
- "name": "admin";
12302
- "signer": true;
12303
- },
12304
12436
  {
12305
12437
  "name": "globalConfig";
12306
- },
12307
- {
12308
- "name": "globalState";
12309
- "writable": true;
12310
- },
12311
- {
12312
- "name": "poolAuthority";
12313
- },
12314
- {
12315
- "name": "liqsolMint";
12316
- },
12317
- {
12318
- "name": "liqsolPoolAta";
12319
12438
  "writable": true;
12320
12439
  },
12321
12440
  {
12322
- "name": "tokenProgram";
12441
+ "name": "admin";
12442
+ "signer": true;
12323
12443
  },
12324
12444
  {
12325
- "name": "associatedTokenProgram";
12445
+ "name": "newAuthority";
12326
12446
  }
12327
12447
  ];
12328
12448
  "args": [];
12329
12449
  },
12330
12450
  {
12331
- "name": "resetPriceHistory";
12451
+ "name": "setPaused";
12332
12452
  "discriminator": [
12333
- 213,
12334
- 231,
12335
- 155,
12336
- 139,
12337
- 248,
12453
+ 91,
12338
12454
  60,
12339
- 67,
12340
- 199
12455
+ 125,
12456
+ 192,
12457
+ 176,
12458
+ 225,
12459
+ 166,
12460
+ 218
12341
12461
  ];
12342
12462
  "accounts": [
12343
12463
  {
12344
12464
  "name": "admin";
12345
- "writable": true;
12346
12465
  "signer": true;
12347
12466
  },
12348
12467
  {
12349
12468
  "name": "globalConfig";
12350
12469
  },
12351
12470
  {
12352
- "name": "trancheState";
12353
- "writable": true;
12354
- },
12355
- {
12356
- "name": "priceHistory";
12471
+ "name": "globalState";
12357
12472
  "writable": true;
12358
- },
12473
+ }
12474
+ ];
12475
+ "args": [
12359
12476
  {
12360
- "name": "systemProgram";
12477
+ "name": "paused";
12478
+ "type": "bool";
12361
12479
  }
12362
12480
  ];
12363
- "args": [];
12364
12481
  },
12365
12482
  {
12366
- "name": "resetTrancheState";
12483
+ "name": "setRolePrincipal";
12367
12484
  "discriminator": [
12368
- 106,
12369
- 102,
12370
- 143,
12371
- 40,
12372
- 152,
12373
- 173,
12374
- 165,
12375
- 168
12376
- ];
12377
- "accounts": [
12378
- {
12379
- "name": "admin";
12380
- "writable": true;
12381
- "signer": true;
12382
- },
12383
- {
12384
- "name": "globalConfig";
12385
- },
12386
- {
12387
- "name": "trancheState";
12388
- "writable": true;
12389
- },
12390
- {
12391
- "name": "priceHistory";
12392
- "writable": true;
12393
- },
12394
- {
12395
- "name": "systemProgram";
12396
- }
12397
- ];
12398
- "args": [];
12399
- },
12400
- {
12401
- "name": "setAdmin";
12402
- "discriminator": [
12403
- 251,
12404
- 163,
12405
- 0,
12406
- 52,
12407
- 91,
12408
- 194,
12409
- 187,
12410
- 92
12411
- ];
12412
- "accounts": [
12413
- {
12414
- "name": "globalConfig";
12415
- "writable": true;
12416
- },
12417
- {
12418
- "name": "admin";
12419
- "signer": true;
12420
- },
12421
- {
12422
- "name": "newAuthority";
12423
- }
12424
- ];
12425
- "args": [];
12426
- },
12427
- {
12428
- "name": "setCranky";
12429
- "discriminator": [
12430
- 232,
12431
- 48,
12432
- 178,
12433
- 74,
12434
- 194,
12435
- 60,
12436
- 143,
12437
- 164
12438
- ];
12439
- "accounts": [
12440
- {
12441
- "name": "globalConfig";
12442
- "writable": true;
12443
- },
12444
- {
12445
- "name": "admin";
12446
- "signer": true;
12447
- },
12448
- {
12449
- "name": "newAuthority";
12450
- }
12451
- ];
12452
- "args": [];
12453
- },
12454
- {
12455
- "name": "setLastStateChangeEpoch";
12456
- "docs": [
12457
- "Admin function to directly set last_state_change_epoch (useful for testing cooldowns)"
12458
- ];
12459
- "discriminator": [
12460
- 94,
12461
- 57,
12462
- 139,
12463
- 195,
12464
- 123,
12465
- 224,
12466
- 227,
12467
- 106
12468
- ];
12469
- "accounts": [
12470
- {
12471
- "name": "validatorInfo";
12472
- "writable": true;
12473
- },
12474
- {
12475
- "name": "stakeAllocationState";
12476
- "docs": [
12477
- "Stake allocation state - to update total_active_vpp when VPP changes"
12478
- ];
12479
- "writable": true;
12480
- }
12481
- ];
12482
- "args": [
12483
- {
12484
- "name": "voteAccount";
12485
- "type": "pubkey";
12486
- },
12487
- {
12488
- "name": "epoch";
12489
- "type": "u16";
12490
- }
12491
- ];
12492
- },
12493
- {
12494
- "name": "setPaused";
12495
- "discriminator": [
12496
- 91,
12497
- 60,
12498
- 125,
12499
- 192,
12500
- 176,
12501
- 225,
12502
- 166,
12503
- 218
12504
- ];
12505
- "accounts": [
12506
- {
12507
- "name": "admin";
12508
- "signer": true;
12509
- },
12510
- {
12511
- "name": "globalConfig";
12512
- },
12513
- {
12514
- "name": "globalState";
12515
- "writable": true;
12516
- }
12517
- ];
12518
- "args": [
12519
- {
12520
- "name": "paused";
12521
- "type": "bool";
12522
- }
12523
- ];
12524
- },
12525
- {
12526
- "name": "setRolePrincipal";
12527
- "discriminator": [
12528
- 33,
12529
- 199,
12530
- 203,
12531
- 50,
12532
- 60,
12533
- 167,
12534
- 90,
12535
- 92
12485
+ 33,
12486
+ 199,
12487
+ 203,
12488
+ 50,
12489
+ 60,
12490
+ 167,
12491
+ 90,
12492
+ 92
12536
12493
  ];
12537
12494
  "accounts": [
12538
12495
  {
@@ -12837,6 +12794,20 @@ type LiqsolCore = {
12837
12794
  },
12838
12795
  {
12839
12796
  "name": "stakeHistory";
12797
+ },
12798
+ {
12799
+ "name": "vault";
12800
+ "writable": true;
12801
+ },
12802
+ {
12803
+ "name": "reservePool";
12804
+ "writable": true;
12805
+ },
12806
+ {
12807
+ "name": "stakeProgram";
12808
+ },
12809
+ {
12810
+ "name": "clock";
12840
12811
  }
12841
12812
  ];
12842
12813
  "args": [];
@@ -12978,34 +12949,6 @@ type LiqsolCore = {
12978
12949
  }
12979
12950
  ];
12980
12951
  },
12981
- {
12982
- "name": "testClearActiveList";
12983
- "discriminator": [
12984
- 17,
12985
- 195,
12986
- 59,
12987
- 174,
12988
- 184,
12989
- 137,
12990
- 149,
12991
- 144
12992
- ];
12993
- "accounts": [
12994
- {
12995
- "name": "activeList";
12996
- "writable": true;
12997
- },
12998
- {
12999
- "name": "processingState";
13000
- "writable": true;
13001
- },
13002
- {
13003
- "name": "authority";
13004
- "signer": true;
13005
- }
13006
- ];
13007
- "args": [];
13008
- },
13009
12952
  {
13010
12953
  "name": "updateConfigBool";
13011
12954
  "discriminator": [
@@ -13936,12 +13879,61 @@ type LiqsolCore = {
13936
13879
  ];
13937
13880
  "type": "u64";
13938
13881
  },
13882
+ {
13883
+ "name": "mevClaimsNextIndex";
13884
+ "docs": [
13885
+ "Next active_list index to process for MEV tip claims"
13886
+ ];
13887
+ "type": "u16";
13888
+ },
13889
+ {
13890
+ "name": "tempTotalMevReward";
13891
+ "docs": [
13892
+ "Temporary accumulator for MEV rewards across batches"
13893
+ ];
13894
+ "type": "u64";
13895
+ },
13896
+ {
13897
+ "name": "tempTotalOutstandingAmountToUnstake";
13898
+ "docs": [
13899
+ "Temporary accumulator for sum of validators' amount_to_unstake across batches"
13900
+ ];
13901
+ "type": "u64";
13902
+ },
13903
+ {
13904
+ "name": "validatorsSyncStartedEpoch";
13905
+ "docs": [
13906
+ "Owns validators_sync_processed_this_epoch."
13907
+ ];
13908
+ "type": "u16";
13909
+ },
13910
+ {
13911
+ "name": "leaderboardScoresStartedEpoch";
13912
+ "docs": [
13913
+ "Owns leaderboard_scores_next_index."
13914
+ ];
13915
+ "type": "u16";
13916
+ },
13917
+ {
13918
+ "name": "graveyardCleanupStartedEpoch";
13919
+ "docs": [
13920
+ "Owns graveyard_cleanup_next_index."
13921
+ ];
13922
+ "type": "u16";
13923
+ },
13924
+ {
13925
+ "name": "additionStartedEpoch";
13926
+ "docs": [
13927
+ "Owns addition_next_rank + addition_target_rank."
13928
+ ];
13929
+ "type": "u16";
13930
+ },
13939
13931
  {
13940
13932
  "name": "reserved";
13941
13933
  "type": {
13942
13934
  "array": [
13943
13935
  "u8",
13944
- 23
13936
+ 64
13945
13937
  ];
13946
13938
  };
13947
13939
  }
@@ -14431,6 +14423,15 @@ type LiqsolCore = {
14431
14423
  1
14432
14424
  ];
14433
14425
  };
14426
+ },
14427
+ {
14428
+ "name": "reservedTrailing";
14429
+ "type": {
14430
+ "array": [
14431
+ "u8",
14432
+ 32
14433
+ ];
14434
+ };
14434
14435
  }
14435
14436
  ];
14436
14437
  };
@@ -14651,28 +14652,44 @@ type LiqsolCore = {
14651
14652
  "type": "u8";
14652
14653
  },
14653
14654
  {
14654
- "name": "padding";
14655
+ "name": "align";
14655
14656
  "docs": [
14656
- "Reserved space for future upgrades"
14657
+ "Alignment byte (keeps u16 fields below properly aligned)"
14657
14658
  ];
14658
- "type": {
14659
- "array": [
14660
- "u8",
14661
- 5
14662
- ];
14663
- };
14664
- }
14665
- ];
14666
- };
14667
- },
14668
- {
14669
- "name": "liqReceiptData";
14670
- "type": {
14671
- "kind": "struct";
14672
- "fields": [
14673
- {
14674
- "name": "receiptId";
14675
- "type": "u64";
14659
+ "type": "u8";
14660
+ },
14661
+ {
14662
+ "name": "crankNextIndex";
14663
+ "docs": [
14664
+ "Next validator index to process during crank_update_scores"
14665
+ ];
14666
+ "type": "u16";
14667
+ },
14668
+ {
14669
+ "name": "lastCrankEpoch";
14670
+ "docs": [
14671
+ "Last epoch when crank_update_scores completed all validators"
14672
+ ];
14673
+ "type": "u16";
14674
+ },
14675
+ {
14676
+ "name": "crankStartedEpoch";
14677
+ "docs": [
14678
+ "Epoch when start_crank was called (signals an active crank cycle)"
14679
+ ];
14680
+ "type": "u16";
14681
+ }
14682
+ ];
14683
+ };
14684
+ },
14685
+ {
14686
+ "name": "liqReceiptData";
14687
+ "type": {
14688
+ "kind": "struct";
14689
+ "fields": [
14690
+ {
14691
+ "name": "receiptId";
14692
+ "type": "u64";
14676
14693
  },
14677
14694
  {
14678
14695
  "name": "liqports";
@@ -15320,9 +15337,13 @@ type LiqsolCore = {
15320
15337
  "type": "bool";
15321
15338
  },
15322
15339
  {
15323
- "name": "additionNextRank";
15340
+ "name": "unstakeAllocationStartedEpoch";
15324
15341
  "docs": [
15325
- "DEPRECATED see BatchOrchestrator.addition_next_rank. Always 0."
15342
+ "Epoch in which the current unstake allocation cycle was started.",
15343
+ "Used to detect stale cycles that span epoch boundaries — if the epoch",
15344
+ "has advanced, the cycle is reset and restarted to avoid resuming",
15345
+ "against a mutated validator active list.",
15346
+ "(Repurposed from the deprecated addition_next_rank field — verified 0 on the mainnet.)"
15326
15347
  ];
15327
15348
  "type": "u16";
15328
15349
  },
@@ -15423,6 +15444,34 @@ type LiqsolCore = {
15423
15444
  {
15424
15445
  "name": "bump";
15425
15446
  "type": "u8";
15447
+ },
15448
+ {
15449
+ "name": "mevReward";
15450
+ "docs": [
15451
+ "MEV rewards swept from main stake accounts this epoch (accumulated, reset after pay cycle)"
15452
+ ];
15453
+ "type": "u64";
15454
+ },
15455
+ {
15456
+ "name": "totalOutstandingAmountToUnstake";
15457
+ "docs": [
15458
+ "WNS-16: total amount_to_unstake across all validators at last metrics refresh.",
15459
+ "Represents allocated-but-not-yet-deactivated unstake obligations.",
15460
+ "Subtracted from unstakeable_stake in admission control to prevent double-promising."
15461
+ ];
15462
+ "type": "u64";
15463
+ },
15464
+ {
15465
+ "name": "reserved";
15466
+ "docs": [
15467
+ "Reserved space for future use"
15468
+ ];
15469
+ "type": {
15470
+ "array": [
15471
+ "u8",
15472
+ 24
15473
+ ];
15474
+ };
15426
15475
  }
15427
15476
  ];
15428
15477
  };
@@ -15749,6 +15798,25 @@ type LiqsolCore = {
15749
15798
  {
15750
15799
  "name": "stateTransitionTriggerStakeAmount";
15751
15800
  "type": "u64";
15801
+ },
15802
+ {
15803
+ "name": "mevEarned";
15804
+ "docs": [
15805
+ "MEV reward swept for this validator in the current epoch"
15806
+ ];
15807
+ "type": "u64";
15808
+ },
15809
+ {
15810
+ "name": "reserved";
15811
+ "docs": [
15812
+ "Reserved space for future use"
15813
+ ];
15814
+ "type": {
15815
+ "array": [
15816
+ "u8",
15817
+ 24
15818
+ ];
15819
+ };
15752
15820
  }
15753
15821
  ];
15754
15822
  };
@@ -16345,6 +16413,26 @@ type ValidatorLeaderboard = {
16345
16413
  "description": "Created with Anchor";
16346
16414
  };
16347
16415
  "instructions": [
16416
+ {
16417
+ "name": "crankUpdateScores";
16418
+ "discriminator": [
16419
+ 163,
16420
+ 247,
16421
+ 66,
16422
+ 109,
16423
+ 22,
16424
+ 206,
16425
+ 61,
16426
+ 95
16427
+ ];
16428
+ "accounts": [
16429
+ {
16430
+ "name": "leaderboardState";
16431
+ "writable": true;
16432
+ }
16433
+ ];
16434
+ "args": [];
16435
+ },
16348
16436
  {
16349
16437
  "name": "initializeLeaderboard";
16350
16438
  "discriminator": [
@@ -16374,219 +16462,55 @@ type ValidatorLeaderboard = {
16374
16462
  "args": [];
16375
16463
  },
16376
16464
  {
16377
- "name": "reallocLeaderboard";
16378
- "discriminator": [
16379
- 2,
16380
- 70,
16381
- 106,
16382
- 94,
16383
- 81,
16384
- 225,
16385
- 113,
16386
- 152
16387
- ];
16388
- "accounts": [
16389
- {
16390
- "name": "leaderboardState";
16391
- "writable": true;
16392
- },
16393
- {
16394
- "name": "payer";
16395
- "writable": true;
16396
- "signer": true;
16397
- },
16398
- {
16399
- "name": "systemProgram";
16400
- }
16401
- ];
16402
- "args": [];
16403
- },
16404
- {
16405
- "name": "testClearLeaderboard";
16465
+ "name": "migrateV14";
16406
16466
  "discriminator": [
16407
- 118,
16408
- 207,
16409
- 26,
16410
- 205,
16411
- 180,
16412
- 7,
16413
- 75,
16414
- 244
16467
+ 41,
16468
+ 152,
16469
+ 69,
16470
+ 58,
16471
+ 215,
16472
+ 119,
16473
+ 255,
16474
+ 189
16415
16475
  ];
16416
16476
  "accounts": [
16417
- {
16418
- "name": "leaderboardState";
16419
- "writable": true;
16420
- },
16421
16477
  {
16422
16478
  "name": "authority";
16423
- "signer": true;
16424
- }
16425
- ];
16426
- "args": [];
16427
- },
16428
- {
16429
- "name": "testForceRegisterValidator";
16430
- "discriminator": [
16431
- 136,
16432
- 156,
16433
- 132,
16434
- 32,
16435
- 96,
16436
- 240,
16437
- 7,
16438
- 115
16439
- ];
16440
- "accounts": [
16441
- {
16442
- "name": "registrant";
16443
16479
  "writable": true;
16444
16480
  "signer": true;
16445
16481
  },
16446
- {
16447
- "name": "voteAccount";
16448
- },
16449
- {
16450
- "name": "validatorRecord";
16451
- "writable": true;
16452
- },
16453
16482
  {
16454
16483
  "name": "leaderboardState";
16455
16484
  "writable": true;
16456
16485
  },
16457
16486
  {
16458
16487
  "name": "systemProgram";
16459
- },
16460
- {
16461
- "name": "clock";
16462
- }
16463
- ];
16464
- "args": [
16465
- {
16466
- "name": "vpp";
16467
- "type": "u8";
16468
- }
16469
- ];
16470
- },
16471
- {
16472
- "name": "testForceUpdateVpp";
16473
- "discriminator": [
16474
- 67,
16475
- 51,
16476
- 28,
16477
- 174,
16478
- 200,
16479
- 214,
16480
- 203,
16481
- 162
16482
- ];
16483
- "accounts": [
16484
- {
16485
- "name": "registrant";
16486
- "writable": true;
16487
- "signer": true;
16488
- },
16489
- {
16490
- "name": "voteAccount";
16491
- },
16492
- {
16493
- "name": "validatorRecord";
16494
- "writable": true;
16495
- },
16496
- {
16497
- "name": "leaderboardState";
16498
- "writable": true;
16499
- }
16500
- ];
16501
- "args": [
16502
- {
16503
- "name": "vpp";
16504
- "type": "u8";
16505
16488
  }
16506
16489
  ];
16507
- },
16508
- {
16509
- "name": "testLogEpochInfo";
16510
- "discriminator": [
16511
- 196,
16512
- 206,
16513
- 58,
16514
- 88,
16515
- 160,
16516
- 47,
16517
- 2,
16518
- 153
16519
- ];
16520
- "accounts": [];
16521
16490
  "args": [];
16522
16491
  },
16523
16492
  {
16524
- "name": "testSeedRandomValidators";
16493
+ "name": "reallocLeaderboard";
16525
16494
  "discriminator": [
16526
- 48,
16527
- 155,
16528
- 181,
16529
- 112,
16530
- 163,
16531
- 242,
16532
- 43,
16533
- 146
16495
+ 2,
16496
+ 70,
16497
+ 106,
16498
+ 94,
16499
+ 81,
16500
+ 225,
16501
+ 113,
16502
+ 152
16534
16503
  ];
16535
16504
  "accounts": [
16536
- {
16537
- "name": "registrant";
16538
- "writable": true;
16539
- "signer": true;
16540
- },
16541
16505
  {
16542
16506
  "name": "leaderboardState";
16543
16507
  "writable": true;
16544
- }
16545
- ];
16546
- "args": [
16547
- {
16548
- "name": "count";
16549
- "type": "u16";
16550
- },
16551
- {
16552
- "name": "seed";
16553
- "type": "u64";
16554
16508
  },
16555
16509
  {
16556
- "name": "minVpp";
16557
- "type": "u8";
16558
- },
16559
- {
16560
- "name": "maxVpp";
16561
- "type": "u8";
16562
- }
16563
- ];
16564
- },
16565
- {
16566
- "name": "updateCommission";
16567
- "discriminator": [
16568
- 2,
16569
- 202,
16570
- 72,
16571
- 156,
16572
- 19,
16573
- 253,
16574
- 91,
16575
- 174
16576
- ];
16577
- "accounts": [
16578
- {
16579
- "name": "registrant";
16510
+ "name": "payer";
16580
16511
  "writable": true;
16581
16512
  "signer": true;
16582
16513
  },
16583
- {
16584
- "name": "voteAccount";
16585
- },
16586
- {
16587
- "name": "validatorRecord";
16588
- "writable": true;
16589
- },
16590
16514
  {
16591
16515
  "name": "systemProgram";
16592
16516
  }
@@ -16594,28 +16518,25 @@ type ValidatorLeaderboard = {
16594
16518
  "args": [];
16595
16519
  },
16596
16520
  {
16597
- "name": "updateMevCommission";
16521
+ "name": "startCrank";
16598
16522
  "discriminator": [
16599
- 107,
16600
- 65,
16601
- 238,
16602
- 108,
16603
- 183,
16604
- 47,
16605
- 236,
16606
- 203
16523
+ 31,
16524
+ 83,
16525
+ 66,
16526
+ 14,
16527
+ 249,
16528
+ 131,
16529
+ 221,
16530
+ 67
16607
16531
  ];
16608
16532
  "accounts": [
16609
16533
  {
16610
- "name": "signer";
16534
+ "name": "cranker";
16611
16535
  "signer": true;
16612
16536
  },
16613
16537
  {
16614
- "name": "validatorRecord";
16538
+ "name": "leaderboardState";
16615
16539
  "writable": true;
16616
- },
16617
- {
16618
- "name": "tipDistributionAccount";
16619
16540
  }
16620
16541
  ];
16621
16542
  "args": [];
@@ -16640,6 +16561,9 @@ type ValidatorLeaderboard = {
16640
16561
  },
16641
16562
  {
16642
16563
  "name": "voteAccount";
16564
+ "docs": [
16565
+ "If no longer owned by the vote program (closed/reclaimed), score is set to 0."
16566
+ ];
16643
16567
  },
16644
16568
  {
16645
16569
  "name": "validatorRecord";
@@ -16653,16 +16577,7 @@ type ValidatorLeaderboard = {
16653
16577
  "name": "systemProgram";
16654
16578
  }
16655
16579
  ];
16656
- "args": [
16657
- {
16658
- "name": "vpp";
16659
- "type": "u8";
16660
- },
16661
- {
16662
- "name": "proposedRank";
16663
- "type": "u16";
16664
- }
16665
- ];
16580
+ "args": [];
16666
16581
  }
16667
16582
  ];
16668
16583
  "accounts": [
@@ -16909,16 +16824,32 @@ type ValidatorLeaderboard = {
16909
16824
  "type": "u8";
16910
16825
  },
16911
16826
  {
16912
- "name": "padding";
16827
+ "name": "align";
16913
16828
  "docs": [
16914
- "Reserved space for future upgrades"
16829
+ "Alignment byte (keeps u16 fields below properly aligned)"
16915
16830
  ];
16916
- "type": {
16917
- "array": [
16918
- "u8",
16919
- 5
16920
- ];
16921
- };
16831
+ "type": "u8";
16832
+ },
16833
+ {
16834
+ "name": "crankNextIndex";
16835
+ "docs": [
16836
+ "Next validator index to process during crank_update_scores"
16837
+ ];
16838
+ "type": "u16";
16839
+ },
16840
+ {
16841
+ "name": "lastCrankEpoch";
16842
+ "docs": [
16843
+ "Last epoch when crank_update_scores completed all validators"
16844
+ ];
16845
+ "type": "u16";
16846
+ },
16847
+ {
16848
+ "name": "crankStartedEpoch";
16849
+ "docs": [
16850
+ "Epoch when start_crank was called (signals an active crank cycle)"
16851
+ ];
16852
+ "type": "u16";
16922
16853
  }
16923
16854
  ];
16924
16855
  };
@@ -17029,15 +16960,13 @@ type ValidatorLeaderboard = {
17029
16960
  {
17030
16961
  "name": "mevCommission";
17031
16962
  "docs": [
17032
- "Current MEV commission in basis points"
16963
+ "DEPRECATED: MEV commission fields are no longer written or read by any instruction.",
16964
+ "Retained to preserve account layout (removing would require migration)."
17033
16965
  ];
17034
16966
  "type": "u16";
17035
16967
  },
17036
16968
  {
17037
16969
  "name": "mevCommissionHistory";
17038
- "docs": [
17039
- "Circular buffer of past 10 MEV commission values"
17040
- ];
17041
16970
  "type": {
17042
16971
  "array": [
17043
16972
  "u16",
@@ -17047,16 +16976,10 @@ type ValidatorLeaderboard = {
17047
16976
  },
17048
16977
  {
17049
16978
  "name": "mevCommissionIndex";
17050
- "docs": [
17051
- "Current index in mev_commission_history circular buffer (0-9)"
17052
- ];
17053
16979
  "type": "u8";
17054
16980
  },
17055
16981
  {
17056
16982
  "name": "lastMevCommissionUpdate";
17057
- "docs": [
17058
- "Last epoch when MEV commission was updated"
17059
- ];
17060
16983
  "type": "u64";
17061
16984
  },
17062
16985
  {