@wireio/stake 2.7.0 → 2.7.2

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.
@@ -375,6 +375,9 @@ var instructions$7 = [
375
375
  },
376
376
  {
377
377
  name: "token_program"
378
+ },
379
+ {
380
+ name: "system_program"
378
381
  }
379
382
  ],
380
383
  args: [
@@ -1978,6 +1981,44 @@ var instructions$7 = [
1978
1981
  }
1979
1982
  ]
1980
1983
  },
1984
+ {
1985
+ name: "migrate_user_record",
1986
+ discriminator: [
1987
+ 6,
1988
+ 118,
1989
+ 249,
1990
+ 178,
1991
+ 209,
1992
+ 106,
1993
+ 197,
1994
+ 25
1995
+ ],
1996
+ accounts: [
1997
+ {
1998
+ name: "admin",
1999
+ writable: true,
2000
+ signer: true
2001
+ },
2002
+ {
2003
+ name: "global_config"
2004
+ },
2005
+ {
2006
+ name: "user_ata"
2007
+ },
2008
+ {
2009
+ name: "user_record",
2010
+ writable: true
2011
+ },
2012
+ {
2013
+ name: "distribution_state"
2014
+ },
2015
+ {
2016
+ name: "system_program"
2017
+ }
2018
+ ],
2019
+ args: [
2020
+ ]
2021
+ },
1981
2022
  {
1982
2023
  name: "process_graveyard_validators_batch",
1983
2024
  docs: [
@@ -4515,12 +4556,20 @@ var types$9 = [
4515
4556
  ],
4516
4557
  type: "u8"
4517
4558
  },
4559
+ {
4560
+ name: "aggregation_started_epoch",
4561
+ docs: [
4562
+ "The epoch when the current aggregation batch started.",
4563
+ "Prevents stale partial accumulators from being committed if an epoch boundary is crossed mid-aggregation."
4564
+ ],
4565
+ type: "u64"
4566
+ },
4518
4567
  {
4519
4568
  name: "_reserved",
4520
4569
  type: {
4521
4570
  array: [
4522
4571
  "u8",
4523
- 31
4572
+ 23
4524
4573
  ]
4525
4574
  }
4526
4575
  }
@@ -6183,6 +6232,13 @@ var types$9 = [
6183
6232
  {
6184
6233
  name: "bump",
6185
6234
  type: "u8"
6235
+ },
6236
+ {
6237
+ name: "tracked_balance",
6238
+ docs: [
6239
+ "Last reconciled liqSOL token balance for this user ATA"
6240
+ ],
6241
+ type: "u64"
6186
6242
  }
6187
6243
  ]
6188
6244
  }
@@ -7605,11 +7661,18 @@ var instructions$4 = [
7605
7661
  96
7606
7662
  ],
7607
7663
  accounts: [
7664
+ {
7665
+ name: "admin",
7666
+ signer: true
7667
+ },
7608
7668
  {
7609
7669
  name: "payer",
7610
7670
  writable: true,
7611
7671
  signer: true
7612
7672
  },
7673
+ {
7674
+ name: "global_config"
7675
+ },
7613
7676
  {
7614
7677
  name: "extra_account_meta_list",
7615
7678
  writable: true
@@ -7641,6 +7704,19 @@ var accounts$3 = [
7641
7704
  4,
7642
7705
  103
7643
7706
  ]
7707
+ },
7708
+ {
7709
+ name: "GlobalConfig",
7710
+ discriminator: [
7711
+ 149,
7712
+ 8,
7713
+ 156,
7714
+ 202,
7715
+ 160,
7716
+ 252,
7717
+ 176,
7718
+ 217
7719
+ ]
7644
7720
  }
7645
7721
  ];
7646
7722
  var errors$4 = [
@@ -7660,6 +7736,11 @@ var errors$4 = [
7660
7736
  code: 6003,
7661
7737
  name: "CannotTransferToBucket",
7662
7738
  msg: "Cannot transfer liqSOL directly to bucket - only protocol minting is allowed"
7739
+ },
7740
+ {
7741
+ code: 6004,
7742
+ name: "Unauthorized",
7743
+ msg: "Unauthorized: caller is not the admin"
7663
7744
  }
7664
7745
  ];
7665
7746
  var types$6 = [
@@ -7724,194 +7805,584 @@ var types$6 = [
7724
7805
  }
7725
7806
  ]
7726
7807
  }
7727
- }
7728
- ];
7729
- var mainnetTransferHookIDL = {
7730
- address: address$4,
7731
- metadata: metadata$4,
7732
- instructions: instructions$4,
7733
- accounts: accounts$3,
7734
- errors: errors$4,
7735
- types: types$6
7736
- };
7737
-
7738
- var address$3 = "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH";
7739
- var metadata$3 = {
7740
- name: "liqsol_core",
7741
- version: "0.1.0",
7742
- spec: "0.1.0",
7743
- description: "Created with Anchor"
7744
- };
7745
- var instructions$3 = [
7746
- {
7747
- name: "add_top_performers_batch",
7748
- docs: [
7749
- "Process batch of ranks for addition (top performers from leaderboard)"
7750
- ],
7751
- discriminator: [
7752
- 152,
7753
- 7,
7754
- 241,
7755
- 69,
7756
- 197,
7757
- 73,
7758
- 32,
7759
- 12
7760
- ],
7761
- accounts: [
7762
- {
7763
- name: "allocation_state",
7764
- writable: true
7765
- },
7766
- {
7767
- name: "active_list",
7768
- writable: true
7769
- },
7770
- {
7771
- name: "graveyard_list",
7772
- writable: true
7773
- },
7774
- {
7775
- name: "leaderboard_state"
7776
- },
7777
- {
7778
- name: "maintenance_ledger",
7779
- writable: true
7780
- },
7781
- {
7782
- name: "processing_state",
7783
- writable: true
7784
- },
7785
- {
7786
- name: "global_config",
7787
- docs: [
7788
- "Global config for threshold parameters"
7789
- ]
7790
- },
7791
- {
7792
- name: "authority",
7793
- signer: true
7794
- }
7795
- ],
7796
- args: [
7797
- ]
7798
- },
7799
- {
7800
- name: "admin_force_unbond_role",
7801
- discriminator: [
7802
- 80,
7803
- 107,
7804
- 27,
7805
- 49,
7806
- 126,
7807
- 25,
7808
- 31,
7809
- 238
7810
- ],
7811
- accounts: [
7812
- {
7813
- name: "admin",
7814
- signer: true
7815
- },
7816
- {
7817
- name: "global_config"
7818
- },
7819
- {
7820
- name: "global_state"
7821
- },
7822
- {
7823
- name: "user",
7824
- docs: [
7825
- "The user whose role bond is being force-unbonded"
7826
- ]
7827
- },
7828
- {
7829
- name: "outpost_account",
7830
- writable: true
7831
- }
7832
- ],
7833
- args: [
7834
- {
7835
- name: "role",
7836
- type: {
7837
- defined: {
7838
- name: "Role"
7839
- }
7840
- }
7841
- }
7842
- ]
7843
7808
  },
7844
7809
  {
7845
- name: "aggregate_stake_metrics",
7810
+ name: "GlobalConfig",
7846
7811
  docs: [
7847
- "V2: Aggregate stake metrics across all validators using PDA architecture"
7848
- ],
7849
- discriminator: [
7850
- 13,
7851
- 245,
7852
- 47,
7853
- 202,
7854
- 170,
7855
- 73,
7856
- 98,
7857
- 207
7858
- ],
7859
- accounts: [
7860
- {
7861
- name: "admin",
7862
- signer: true
7863
- },
7864
- {
7865
- name: "stake_metrics",
7866
- writable: true
7867
- },
7868
- {
7869
- name: "epoch_state",
7870
- writable: true
7871
- },
7872
- {
7873
- name: "processing_state",
7874
- writable: true
7875
- },
7876
- {
7877
- name: "active_list"
7878
- }
7879
- ],
7880
- args: [
7881
- ]
7882
- },
7883
- {
7884
- name: "bond_role",
7885
- discriminator: [
7886
- 143,
7887
- 136,
7888
- 20,
7889
- 230,
7890
- 136,
7891
- 103,
7892
- 107,
7893
- 167
7894
- ],
7895
- accounts: [
7896
- {
7897
- name: "user",
7898
- writable: true,
7899
- signer: true
7900
- },
7901
- {
7902
- name: "global_state"
7903
- },
7904
- {
7905
- name: "outpost_account",
7906
- writable: true
7907
- }
7812
+ "Zero-copy global config PDA"
7908
7813
  ],
7909
- args: [
7910
- {
7911
- name: "role",
7912
- type: {
7913
- defined: {
7914
- name: "Role"
7814
+ serialization: "bytemuckunsafe",
7815
+ repr: {
7816
+ kind: "c"
7817
+ },
7818
+ type: {
7819
+ kind: "struct",
7820
+ fields: [
7821
+ {
7822
+ name: "bump",
7823
+ type: "u8"
7824
+ },
7825
+ {
7826
+ name: "_padding",
7827
+ type: {
7828
+ array: [
7829
+ "u8",
7830
+ 7
7831
+ ]
7832
+ }
7833
+ },
7834
+ {
7835
+ name: "admin",
7836
+ type: "pubkey"
7837
+ },
7838
+ {
7839
+ name: "cranky",
7840
+ type: "pubkey"
7841
+ },
7842
+ {
7843
+ name: "_reserved_pubkey",
7844
+ type: {
7845
+ array: [
7846
+ "pubkey",
7847
+ 1
7848
+ ]
7849
+ }
7850
+ },
7851
+ {
7852
+ name: "min_user_deposit",
7853
+ docs: [
7854
+ "Minimum SOL amount a user can deposit"
7855
+ ],
7856
+ type: "u64"
7857
+ },
7858
+ {
7859
+ name: "min_unstake_request",
7860
+ docs: [
7861
+ "Minimum SOL amount for an unstake/withdrawal request"
7862
+ ],
7863
+ type: "u64"
7864
+ },
7865
+ {
7866
+ name: "min_rebalance_stake_delta",
7867
+ docs: [
7868
+ "Minimum stake delta to trigger a stake rebalance order"
7869
+ ],
7870
+ type: "u64"
7871
+ },
7872
+ {
7873
+ name: "min_rebalance_unstake_delta",
7874
+ docs: [
7875
+ "Minimum unstake delta to trigger an unstake rebalance order"
7876
+ ],
7877
+ type: "u64"
7878
+ },
7879
+ {
7880
+ name: "transient_threshold",
7881
+ docs: [
7882
+ "Minimum transient stake to include in effective stake calculations"
7883
+ ],
7884
+ type: "u64"
7885
+ },
7886
+ {
7887
+ name: "min_late_epoch_slot_gate",
7888
+ docs: [
7889
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
7890
+ ],
7891
+ type: "u64"
7892
+ },
7893
+ {
7894
+ name: "_reserved_u64",
7895
+ type: {
7896
+ array: [
7897
+ "u64",
7898
+ 2
7899
+ ]
7900
+ }
7901
+ },
7902
+ {
7903
+ name: "cooldown_epochs",
7904
+ docs: [
7905
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
7906
+ ],
7907
+ type: "u16"
7908
+ },
7909
+ {
7910
+ name: "deposit_fee_multiplier",
7911
+ docs: [
7912
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
7913
+ ],
7914
+ type: "u16"
7915
+ },
7916
+ {
7917
+ name: "min_vpp_entry",
7918
+ docs: [
7919
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
7920
+ ],
7921
+ type: "u16"
7922
+ },
7923
+ {
7924
+ name: "min_vpp_exit",
7925
+ docs: [
7926
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
7927
+ ],
7928
+ type: "u16"
7929
+ },
7930
+ {
7931
+ name: "tiny_network_threshold",
7932
+ docs: [
7933
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
7934
+ ],
7935
+ type: "u16"
7936
+ },
7937
+ {
7938
+ name: "small_network_threshold",
7939
+ docs: [
7940
+ "Max validators for \"small\" network band (uses percentile-based selection)"
7941
+ ],
7942
+ type: "u16"
7943
+ },
7944
+ {
7945
+ name: "medium_network_threshold",
7946
+ docs: [
7947
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
7948
+ ],
7949
+ type: "u16"
7950
+ },
7951
+ {
7952
+ name: "large_network_entry_rank",
7953
+ docs: [
7954
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
7955
+ ],
7956
+ type: "u16"
7957
+ },
7958
+ {
7959
+ name: "large_network_exit_rank",
7960
+ docs: [
7961
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
7962
+ ],
7963
+ type: "u16"
7964
+ },
7965
+ {
7966
+ name: "_reserved_u16",
7967
+ type: {
7968
+ array: [
7969
+ "u16",
7970
+ 3
7971
+ ]
7972
+ }
7973
+ },
7974
+ {
7975
+ name: "small_network_entry_percent",
7976
+ docs: [
7977
+ "Percentile rank required to enter active set in small networks"
7978
+ ],
7979
+ type: "u8"
7980
+ },
7981
+ {
7982
+ name: "small_network_exit_percent",
7983
+ docs: [
7984
+ "Percentile rank below which validators exit in small networks"
7985
+ ],
7986
+ type: "u8"
7987
+ },
7988
+ {
7989
+ name: "medium_network_entry_percent",
7990
+ docs: [
7991
+ "Percentile rank required to enter active set in medium networks"
7992
+ ],
7993
+ type: "u8"
7994
+ },
7995
+ {
7996
+ name: "medium_network_exit_percent",
7997
+ docs: [
7998
+ "Percentile rank below which validators exit in medium networks"
7999
+ ],
8000
+ type: "u8"
8001
+ },
8002
+ {
8003
+ name: "_reserved_u8",
8004
+ type: {
8005
+ array: [
8006
+ "u8",
8007
+ 2
8008
+ ]
8009
+ }
8010
+ },
8011
+ {
8012
+ name: "feature_flags",
8013
+ docs: [
8014
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
8015
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
8016
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
8017
+ ],
8018
+ type: "u16"
8019
+ },
8020
+ {
8021
+ name: "_reserved_flags",
8022
+ type: {
8023
+ array: [
8024
+ "u16",
8025
+ 1
8026
+ ]
8027
+ }
8028
+ }
8029
+ ]
8030
+ }
8031
+ }
8032
+ ];
8033
+ var mainnetTransferHookIDL = {
8034
+ address: address$4,
8035
+ metadata: metadata$4,
8036
+ instructions: instructions$4,
8037
+ accounts: accounts$3,
8038
+ errors: errors$4,
8039
+ types: types$6
8040
+ };
8041
+
8042
+ var address$3 = "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH";
8043
+ var metadata$3 = {
8044
+ name: "liqsol_core",
8045
+ version: "0.1.0",
8046
+ spec: "0.1.0",
8047
+ description: "Created with Anchor"
8048
+ };
8049
+ var instructions$3 = [
8050
+ {
8051
+ name: "accumulate_unstake_request",
8052
+ docs: [
8053
+ "Accumulate unstake requests to be processed in next allocation cycle",
8054
+ "Multiple requests can be accumulated before calculating allocations",
8055
+ "Returns the target epoch when this unstake request will be processed",
8056
+ "We should not be able to call this without development feature enabled",
8057
+ ""
8058
+ ],
8059
+ discriminator: [
8060
+ 24,
8061
+ 73,
8062
+ 69,
8063
+ 139,
8064
+ 36,
8065
+ 209,
8066
+ 105,
8067
+ 252
8068
+ ],
8069
+ accounts: [
8070
+ {
8071
+ name: "admin",
8072
+ writable: true,
8073
+ signer: true
8074
+ },
8075
+ {
8076
+ name: "stake_allocation_state",
8077
+ docs: [
8078
+ "Stake allocation state - to accumulate pending unstake requests"
8079
+ ],
8080
+ writable: true
8081
+ },
8082
+ {
8083
+ name: "stake_metrics",
8084
+ docs: [
8085
+ "Stake metrics - to validate total unstake amount is available"
8086
+ ]
8087
+ },
8088
+ {
8089
+ name: "maintenance_ledger",
8090
+ docs: [
8091
+ "Maintenance ledger - to determine target processing epoch"
8092
+ ]
8093
+ },
8094
+ {
8095
+ name: "global_config",
8096
+ docs: [
8097
+ "Global config for min_unstake_request setting"
8098
+ ]
8099
+ },
8100
+ {
8101
+ name: "clock"
8102
+ }
8103
+ ],
8104
+ args: [
8105
+ {
8106
+ name: "amount",
8107
+ type: "u64"
8108
+ }
8109
+ ],
8110
+ returns: "u64"
8111
+ },
8112
+ {
8113
+ name: "add_top_performers_batch",
8114
+ docs: [
8115
+ "Process batch of ranks for addition (top performers from leaderboard)"
8116
+ ],
8117
+ discriminator: [
8118
+ 152,
8119
+ 7,
8120
+ 241,
8121
+ 69,
8122
+ 197,
8123
+ 73,
8124
+ 32,
8125
+ 12
8126
+ ],
8127
+ accounts: [
8128
+ {
8129
+ name: "allocation_state",
8130
+ writable: true
8131
+ },
8132
+ {
8133
+ name: "active_list",
8134
+ writable: true
8135
+ },
8136
+ {
8137
+ name: "graveyard_list",
8138
+ writable: true
8139
+ },
8140
+ {
8141
+ name: "leaderboard_state"
8142
+ },
8143
+ {
8144
+ name: "maintenance_ledger",
8145
+ writable: true
8146
+ },
8147
+ {
8148
+ name: "processing_state",
8149
+ writable: true
8150
+ },
8151
+ {
8152
+ name: "global_config",
8153
+ docs: [
8154
+ "Global config for threshold parameters"
8155
+ ]
8156
+ },
8157
+ {
8158
+ name: "authority",
8159
+ signer: true
8160
+ }
8161
+ ],
8162
+ args: [
8163
+ ]
8164
+ },
8165
+ {
8166
+ name: "add_validator_v2",
8167
+ docs: [
8168
+ "Add a new validator bbypassing the looking at leaderboard and getting validators form there"
8169
+ ],
8170
+ discriminator: [
8171
+ 217,
8172
+ 158,
8173
+ 30,
8174
+ 19,
8175
+ 123,
8176
+ 99,
8177
+ 110,
8178
+ 30
8179
+ ],
8180
+ accounts: [
8181
+ {
8182
+ name: "authority",
8183
+ writable: true,
8184
+ signer: true
8185
+ },
8186
+ {
8187
+ name: "active_list",
8188
+ docs: [
8189
+ "Active list - will add the validator here"
8190
+ ],
8191
+ writable: true
8192
+ },
8193
+ {
8194
+ name: "validator_info",
8195
+ docs: [
8196
+ "Create the validator info account"
8197
+ ],
8198
+ writable: true
8199
+ },
8200
+ {
8201
+ name: "validator_transient",
8202
+ docs: [
8203
+ "Create the validator transient account"
8204
+ ],
8205
+ writable: true
8206
+ },
8207
+ {
8208
+ name: "stake_allocation_state",
8209
+ docs: [
8210
+ "Stake allocation state - to update total_active_vpp when adding validator"
8211
+ ],
8212
+ writable: true
8213
+ },
8214
+ {
8215
+ name: "system_program"
8216
+ }
8217
+ ],
8218
+ args: [
8219
+ {
8220
+ name: "vote_account",
8221
+ type: "pubkey"
8222
+ },
8223
+ {
8224
+ name: "name",
8225
+ type: "string"
8226
+ },
8227
+ {
8228
+ name: "performance_score",
8229
+ type: "u8"
8230
+ }
8231
+ ]
8232
+ },
8233
+ {
8234
+ name: "admin_force_unbond_role",
8235
+ discriminator: [
8236
+ 80,
8237
+ 107,
8238
+ 27,
8239
+ 49,
8240
+ 126,
8241
+ 25,
8242
+ 31,
8243
+ 238
8244
+ ],
8245
+ accounts: [
8246
+ {
8247
+ name: "admin",
8248
+ signer: true
8249
+ },
8250
+ {
8251
+ name: "global_config"
8252
+ },
8253
+ {
8254
+ name: "global_state"
8255
+ },
8256
+ {
8257
+ name: "user",
8258
+ docs: [
8259
+ "The user whose role bond is being force-unbonded"
8260
+ ]
8261
+ },
8262
+ {
8263
+ name: "outpost_account",
8264
+ writable: true
8265
+ }
8266
+ ],
8267
+ args: [
8268
+ {
8269
+ name: "role",
8270
+ type: {
8271
+ defined: {
8272
+ name: "Role"
8273
+ }
8274
+ }
8275
+ }
8276
+ ]
8277
+ },
8278
+ {
8279
+ name: "aggregate_stake_metrics",
8280
+ docs: [
8281
+ "V2: Aggregate stake metrics across all validators using PDA architecture"
8282
+ ],
8283
+ discriminator: [
8284
+ 13,
8285
+ 245,
8286
+ 47,
8287
+ 202,
8288
+ 170,
8289
+ 73,
8290
+ 98,
8291
+ 207
8292
+ ],
8293
+ accounts: [
8294
+ {
8295
+ name: "admin",
8296
+ signer: true
8297
+ },
8298
+ {
8299
+ name: "stake_metrics",
8300
+ writable: true
8301
+ },
8302
+ {
8303
+ name: "epoch_state",
8304
+ writable: true
8305
+ },
8306
+ {
8307
+ name: "processing_state",
8308
+ writable: true
8309
+ },
8310
+ {
8311
+ name: "active_list"
8312
+ }
8313
+ ],
8314
+ args: [
8315
+ ]
8316
+ },
8317
+ {
8318
+ name: "blacklist_validator",
8319
+ docs: [
8320
+ "Blacklist a validator (user-facing, maintenance will handle graveyard movement)",
8321
+ "UnderPerforming is set automatically when score is updated",
8322
+ "Another serious emergency stop function"
8323
+ ],
8324
+ discriminator: [
8325
+ 125,
8326
+ 42,
8327
+ 36,
8328
+ 229,
8329
+ 27,
8330
+ 38,
8331
+ 226,
8332
+ 62
8333
+ ],
8334
+ accounts: [
8335
+ {
8336
+ name: "validator_info",
8337
+ writable: true
8338
+ },
8339
+ {
8340
+ name: "stake_allocation_state",
8341
+ docs: [
8342
+ "Stake allocation state - to update total_active_vpp when VPP changes"
8343
+ ],
8344
+ writable: true
8345
+ }
8346
+ ],
8347
+ args: [
8348
+ {
8349
+ name: "vote_account",
8350
+ type: "pubkey"
8351
+ }
8352
+ ]
8353
+ },
8354
+ {
8355
+ name: "bond_role",
8356
+ discriminator: [
8357
+ 143,
8358
+ 136,
8359
+ 20,
8360
+ 230,
8361
+ 136,
8362
+ 103,
8363
+ 107,
8364
+ 167
8365
+ ],
8366
+ accounts: [
8367
+ {
8368
+ name: "user",
8369
+ writable: true,
8370
+ signer: true
8371
+ },
8372
+ {
8373
+ name: "global_state"
8374
+ },
8375
+ {
8376
+ name: "outpost_account",
8377
+ writable: true
8378
+ }
8379
+ ],
8380
+ args: [
8381
+ {
8382
+ name: "role",
8383
+ type: {
8384
+ defined: {
8385
+ name: "Role"
7915
8386
  }
7916
8387
  }
7917
8388
  }
@@ -8104,6 +8575,9 @@ var instructions$3 = [
8104
8575
  },
8105
8576
  {
8106
8577
  name: "token_program"
8578
+ },
8579
+ {
8580
+ name: "system_program"
8107
8581
  }
8108
8582
  ],
8109
8583
  args: [
@@ -9532,6 +10006,69 @@ var instructions$3 = [
9532
10006
  }
9533
10007
  ]
9534
10008
  },
10009
+ {
10010
+ name: "inject_test_yield",
10011
+ discriminator: [
10012
+ 55,
10013
+ 41,
10014
+ 251,
10015
+ 228,
10016
+ 58,
10017
+ 191,
10018
+ 103,
10019
+ 248
10020
+ ],
10021
+ accounts: [
10022
+ {
10023
+ name: "admin",
10024
+ signer: true
10025
+ },
10026
+ {
10027
+ name: "global_config"
10028
+ },
10029
+ {
10030
+ name: "global_state",
10031
+ writable: true
10032
+ },
10033
+ {
10034
+ name: "distribution_state",
10035
+ writable: true
10036
+ },
10037
+ {
10038
+ name: "liqsol_mint",
10039
+ writable: true
10040
+ },
10041
+ {
10042
+ name: "pool_authority"
10043
+ },
10044
+ {
10045
+ name: "liqsol_pool_ata",
10046
+ writable: true
10047
+ },
10048
+ {
10049
+ name: "deposit_authority",
10050
+ writable: true
10051
+ },
10052
+ {
10053
+ name: "liqsol_program"
10054
+ },
10055
+ {
10056
+ name: "liqsol_mint_authority"
10057
+ },
10058
+ {
10059
+ name: "instructions_sysvar"
10060
+ },
10061
+ {
10062
+ name: "token_program"
10063
+ }
10064
+ ],
10065
+ args: [
10066
+ {
10067
+ name: "amount",
10068
+ type: "u64"
10069
+ }
10070
+ ]
10071
+ },
9535
10072
  {
9536
10073
  name: "merge_activating_stakes",
9537
10074
  docs: [
@@ -9707,6 +10244,44 @@ var instructions$3 = [
9707
10244
  }
9708
10245
  ]
9709
10246
  },
10247
+ {
10248
+ name: "migrate_user_record",
10249
+ discriminator: [
10250
+ 6,
10251
+ 118,
10252
+ 249,
10253
+ 178,
10254
+ 209,
10255
+ 106,
10256
+ 197,
10257
+ 25
10258
+ ],
10259
+ accounts: [
10260
+ {
10261
+ name: "admin",
10262
+ writable: true,
10263
+ signer: true
10264
+ },
10265
+ {
10266
+ name: "global_config"
10267
+ },
10268
+ {
10269
+ name: "user_ata"
10270
+ },
10271
+ {
10272
+ name: "user_record",
10273
+ writable: true
10274
+ },
10275
+ {
10276
+ name: "distribution_state"
10277
+ },
10278
+ {
10279
+ name: "system_program"
10280
+ }
10281
+ ],
10282
+ args: [
10283
+ ]
10284
+ },
9710
10285
  {
9711
10286
  name: "process_graveyard_validators_batch",
9712
10287
  docs: [
@@ -10731,45 +11306,186 @@ var instructions$3 = [
10731
11306
  name: "mint_authority"
10732
11307
  },
10733
11308
  {
10734
- name: "receipt_data",
10735
- writable: true
11309
+ name: "receipt_data",
11310
+ writable: true
11311
+ },
11312
+ {
11313
+ name: "metadata",
11314
+ writable: true
11315
+ },
11316
+ {
11317
+ name: "nft_mint",
11318
+ docs: [
11319
+ "Uses global.next_receipt_id for deterministic, collision-free address generation"
11320
+ ],
11321
+ writable: true
11322
+ },
11323
+ {
11324
+ name: "nft_ata",
11325
+ writable: true
11326
+ },
11327
+ {
11328
+ name: "token_program"
11329
+ },
11330
+ {
11331
+ name: "token_interface"
11332
+ },
11333
+ {
11334
+ name: "associated_token_program"
11335
+ },
11336
+ {
11337
+ name: "system_program"
11338
+ },
11339
+ {
11340
+ name: "rent"
11341
+ }
11342
+ ],
11343
+ args: [
11344
+ {
11345
+ name: "amount",
11346
+ type: "u64"
11347
+ }
11348
+ ]
11349
+ },
11350
+ {
11351
+ name: "reset_distribution_state",
11352
+ discriminator: [
11353
+ 159,
11354
+ 183,
11355
+ 162,
11356
+ 74,
11357
+ 228,
11358
+ 135,
11359
+ 157,
11360
+ 79
11361
+ ],
11362
+ accounts: [
11363
+ {
11364
+ name: "admin",
11365
+ signer: true
11366
+ },
11367
+ {
11368
+ name: "distribution_state",
11369
+ writable: true
11370
+ }
11371
+ ],
11372
+ args: [
11373
+ ]
11374
+ },
11375
+ {
11376
+ name: "reset_global_state",
11377
+ discriminator: [
11378
+ 252,
11379
+ 41,
11380
+ 117,
11381
+ 110,
11382
+ 248,
11383
+ 165,
11384
+ 48,
11385
+ 88
11386
+ ],
11387
+ accounts: [
11388
+ {
11389
+ name: "admin",
11390
+ signer: true
11391
+ },
11392
+ {
11393
+ name: "global_config"
11394
+ },
11395
+ {
11396
+ name: "global_state",
11397
+ writable: true
11398
+ },
11399
+ {
11400
+ name: "pool_authority"
11401
+ },
11402
+ {
11403
+ name: "liqsol_mint"
11404
+ },
11405
+ {
11406
+ name: "liqsol_pool_ata",
11407
+ writable: true
11408
+ },
11409
+ {
11410
+ name: "token_program"
11411
+ },
11412
+ {
11413
+ name: "associated_token_program"
11414
+ }
11415
+ ],
11416
+ args: [
11417
+ ]
11418
+ },
11419
+ {
11420
+ name: "reset_price_history",
11421
+ discriminator: [
11422
+ 213,
11423
+ 231,
11424
+ 155,
11425
+ 139,
11426
+ 248,
11427
+ 60,
11428
+ 67,
11429
+ 199
11430
+ ],
11431
+ accounts: [
11432
+ {
11433
+ name: "admin",
11434
+ writable: true,
11435
+ signer: true
11436
+ },
11437
+ {
11438
+ name: "global_config"
11439
+ },
11440
+ {
11441
+ name: "tranche_state",
11442
+ writable: true
11443
+ },
11444
+ {
11445
+ name: "price_history",
11446
+ writable: true
11447
+ },
11448
+ {
11449
+ name: "system_program"
11450
+ }
11451
+ ],
11452
+ args: [
11453
+ ]
11454
+ },
11455
+ {
11456
+ name: "reset_tranche_state",
11457
+ discriminator: [
11458
+ 106,
11459
+ 102,
11460
+ 143,
11461
+ 40,
11462
+ 152,
11463
+ 173,
11464
+ 165,
11465
+ 168
11466
+ ],
11467
+ accounts: [
11468
+ {
11469
+ name: "admin",
11470
+ writable: true,
11471
+ signer: true
10736
11472
  },
10737
11473
  {
10738
- name: "metadata",
10739
- writable: true
11474
+ name: "global_config"
10740
11475
  },
10741
11476
  {
10742
- name: "nft_mint",
10743
- docs: [
10744
- "Uses global.next_receipt_id for deterministic, collision-free address generation"
10745
- ],
11477
+ name: "tranche_state",
10746
11478
  writable: true
10747
11479
  },
10748
11480
  {
10749
- name: "nft_ata",
11481
+ name: "price_history",
10750
11482
  writable: true
10751
11483
  },
10752
- {
10753
- name: "token_program"
10754
- },
10755
- {
10756
- name: "token_interface"
10757
- },
10758
- {
10759
- name: "associated_token_program"
10760
- },
10761
11484
  {
10762
11485
  name: "system_program"
10763
- },
10764
- {
10765
- name: "rent"
10766
11486
  }
10767
11487
  ],
10768
11488
  args: [
10769
- {
10770
- name: "amount",
10771
- type: "u64"
10772
- }
10773
11489
  ]
10774
11490
  },
10775
11491
  {
@@ -10828,6 +11544,45 @@ var instructions$3 = [
10828
11544
  args: [
10829
11545
  ]
10830
11546
  },
11547
+ {
11548
+ name: "set_last_state_change_epoch",
11549
+ docs: [
11550
+ "Admin function to directly set last_state_change_epoch (useful for testing cooldowns)"
11551
+ ],
11552
+ discriminator: [
11553
+ 94,
11554
+ 57,
11555
+ 139,
11556
+ 195,
11557
+ 123,
11558
+ 224,
11559
+ 227,
11560
+ 106
11561
+ ],
11562
+ accounts: [
11563
+ {
11564
+ name: "validator_info",
11565
+ writable: true
11566
+ },
11567
+ {
11568
+ name: "stake_allocation_state",
11569
+ docs: [
11570
+ "Stake allocation state - to update total_active_vpp when VPP changes"
11571
+ ],
11572
+ writable: true
11573
+ }
11574
+ ],
11575
+ args: [
11576
+ {
11577
+ name: "vote_account",
11578
+ type: "pubkey"
11579
+ },
11580
+ {
11581
+ name: "epoch",
11582
+ type: "u16"
11583
+ }
11584
+ ]
11585
+ },
10831
11586
  {
10832
11587
  name: "set_paused",
10833
11588
  discriminator: [
@@ -11322,6 +12077,35 @@ var instructions$3 = [
11322
12077
  }
11323
12078
  ]
11324
12079
  },
12080
+ {
12081
+ name: "test_clear_active_list",
12082
+ discriminator: [
12083
+ 17,
12084
+ 195,
12085
+ 59,
12086
+ 174,
12087
+ 184,
12088
+ 137,
12089
+ 149,
12090
+ 144
12091
+ ],
12092
+ accounts: [
12093
+ {
12094
+ name: "active_list",
12095
+ writable: true
12096
+ },
12097
+ {
12098
+ name: "processing_state",
12099
+ writable: true
12100
+ },
12101
+ {
12102
+ name: "authority",
12103
+ signer: true
12104
+ }
12105
+ ],
12106
+ args: [
12107
+ ]
12108
+ },
11325
12109
  {
11326
12110
  name: "update_config_bool",
11327
12111
  discriminator: [
@@ -12244,12 +13028,20 @@ var types$5 = [
12244
13028
  ],
12245
13029
  type: "u8"
12246
13030
  },
13031
+ {
13032
+ name: "aggregation_started_epoch",
13033
+ docs: [
13034
+ "The epoch when the current aggregation batch started.",
13035
+ "Prevents stale partial accumulators from being committed if an epoch boundary is crossed mid-aggregation."
13036
+ ],
13037
+ type: "u64"
13038
+ },
12247
13039
  {
12248
13040
  name: "_reserved",
12249
13041
  type: {
12250
13042
  array: [
12251
13043
  "u8",
12252
- 31
13044
+ 23
12253
13045
  ]
12254
13046
  }
12255
13047
  }
@@ -13912,6 +14704,13 @@ var types$5 = [
13912
14704
  {
13913
14705
  name: "bump",
13914
14706
  type: "u8"
14707
+ },
14708
+ {
14709
+ name: "tracked_balance",
14710
+ docs: [
14711
+ "Last reconciled liqSOL token balance for this user ATA"
14712
+ ],
14713
+ type: "u64"
13915
14714
  }
13916
14715
  ]
13917
14716
  }
@@ -14694,15 +15493,179 @@ var instructions$1 = [
14694
15493
  writable: true
14695
15494
  },
14696
15495
  {
14697
- name: "payer",
14698
- writable: true,
14699
- signer: true
15496
+ name: "payer",
15497
+ writable: true,
15498
+ signer: true
15499
+ },
15500
+ {
15501
+ name: "system_program"
15502
+ }
15503
+ ],
15504
+ args: [
15505
+ ]
15506
+ },
15507
+ {
15508
+ name: "test_clear_leaderboard",
15509
+ discriminator: [
15510
+ 118,
15511
+ 207,
15512
+ 26,
15513
+ 205,
15514
+ 180,
15515
+ 7,
15516
+ 75,
15517
+ 244
15518
+ ],
15519
+ accounts: [
15520
+ {
15521
+ name: "leaderboard_state",
15522
+ writable: true
15523
+ },
15524
+ {
15525
+ name: "authority",
15526
+ signer: true
15527
+ }
15528
+ ],
15529
+ args: [
15530
+ ]
15531
+ },
15532
+ {
15533
+ name: "test_force_register_validator",
15534
+ discriminator: [
15535
+ 136,
15536
+ 156,
15537
+ 132,
15538
+ 32,
15539
+ 96,
15540
+ 240,
15541
+ 7,
15542
+ 115
15543
+ ],
15544
+ accounts: [
15545
+ {
15546
+ name: "registrant",
15547
+ writable: true,
15548
+ signer: true
15549
+ },
15550
+ {
15551
+ name: "vote_account"
15552
+ },
15553
+ {
15554
+ name: "validator_record",
15555
+ writable: true
15556
+ },
15557
+ {
15558
+ name: "leaderboard_state",
15559
+ writable: true
15560
+ },
15561
+ {
15562
+ name: "system_program"
15563
+ },
15564
+ {
15565
+ name: "clock"
15566
+ }
15567
+ ],
15568
+ args: [
15569
+ {
15570
+ name: "vpp",
15571
+ type: "u8"
15572
+ }
15573
+ ]
15574
+ },
15575
+ {
15576
+ name: "test_force_update_vpp",
15577
+ discriminator: [
15578
+ 67,
15579
+ 51,
15580
+ 28,
15581
+ 174,
15582
+ 200,
15583
+ 214,
15584
+ 203,
15585
+ 162
15586
+ ],
15587
+ accounts: [
15588
+ {
15589
+ name: "registrant",
15590
+ writable: true,
15591
+ signer: true
15592
+ },
15593
+ {
15594
+ name: "vote_account"
15595
+ },
15596
+ {
15597
+ name: "validator_record",
15598
+ writable: true
15599
+ },
15600
+ {
15601
+ name: "leaderboard_state",
15602
+ writable: true
15603
+ }
15604
+ ],
15605
+ args: [
15606
+ {
15607
+ name: "vpp",
15608
+ type: "u8"
15609
+ }
15610
+ ]
15611
+ },
15612
+ {
15613
+ name: "test_log_epoch_info",
15614
+ discriminator: [
15615
+ 196,
15616
+ 206,
15617
+ 58,
15618
+ 88,
15619
+ 160,
15620
+ 47,
15621
+ 2,
15622
+ 153
15623
+ ],
15624
+ accounts: [
15625
+ ],
15626
+ args: [
15627
+ ]
15628
+ },
15629
+ {
15630
+ name: "test_seed_random_validators",
15631
+ discriminator: [
15632
+ 48,
15633
+ 155,
15634
+ 181,
15635
+ 112,
15636
+ 163,
15637
+ 242,
15638
+ 43,
15639
+ 146
15640
+ ],
15641
+ accounts: [
15642
+ {
15643
+ name: "registrant",
15644
+ writable: true,
15645
+ signer: true
15646
+ },
15647
+ {
15648
+ name: "leaderboard_state",
15649
+ writable: true
15650
+ }
15651
+ ],
15652
+ args: [
15653
+ {
15654
+ name: "count",
15655
+ type: "u16"
15656
+ },
15657
+ {
15658
+ name: "seed",
15659
+ type: "u64"
15660
+ },
15661
+ {
15662
+ name: "min_vpp",
15663
+ type: "u8"
14700
15664
  },
14701
15665
  {
14702
- name: "system_program"
15666
+ name: "max_vpp",
15667
+ type: "u8"
14703
15668
  }
14704
- ],
14705
- args: [
14706
15669
  ]
14707
15670
  },
14708
15671
  {
@@ -15334,11 +16297,18 @@ var instructions = [
15334
16297
  96
15335
16298
  ],
15336
16299
  accounts: [
16300
+ {
16301
+ name: "admin",
16302
+ signer: true
16303
+ },
15337
16304
  {
15338
16305
  name: "payer",
15339
16306
  writable: true,
15340
16307
  signer: true
15341
16308
  },
16309
+ {
16310
+ name: "global_config"
16311
+ },
15342
16312
  {
15343
16313
  name: "extra_account_meta_list",
15344
16314
  writable: true
@@ -15370,6 +16340,19 @@ var accounts = [
15370
16340
  4,
15371
16341
  103
15372
16342
  ]
16343
+ },
16344
+ {
16345
+ name: "GlobalConfig",
16346
+ discriminator: [
16347
+ 149,
16348
+ 8,
16349
+ 156,
16350
+ 202,
16351
+ 160,
16352
+ 252,
16353
+ 176,
16354
+ 217
16355
+ ]
15373
16356
  }
15374
16357
  ];
15375
16358
  var errors = [
@@ -15389,6 +16372,11 @@ var errors = [
15389
16372
  code: 6003,
15390
16373
  name: "CannotTransferToBucket",
15391
16374
  msg: "Cannot transfer liqSOL directly to bucket - only protocol minting is allowed"
16375
+ },
16376
+ {
16377
+ code: 6004,
16378
+ name: "Unauthorized",
16379
+ msg: "Unauthorized: caller is not the admin"
15392
16380
  }
15393
16381
  ];
15394
16382
  var types$2 = [
@@ -15453,6 +16441,229 @@ var types$2 = [
15453
16441
  }
15454
16442
  ]
15455
16443
  }
16444
+ },
16445
+ {
16446
+ name: "GlobalConfig",
16447
+ docs: [
16448
+ "Zero-copy global config PDA"
16449
+ ],
16450
+ serialization: "bytemuckunsafe",
16451
+ repr: {
16452
+ kind: "c"
16453
+ },
16454
+ type: {
16455
+ kind: "struct",
16456
+ fields: [
16457
+ {
16458
+ name: "bump",
16459
+ type: "u8"
16460
+ },
16461
+ {
16462
+ name: "_padding",
16463
+ type: {
16464
+ array: [
16465
+ "u8",
16466
+ 7
16467
+ ]
16468
+ }
16469
+ },
16470
+ {
16471
+ name: "admin",
16472
+ type: "pubkey"
16473
+ },
16474
+ {
16475
+ name: "cranky",
16476
+ type: "pubkey"
16477
+ },
16478
+ {
16479
+ name: "_reserved_pubkey",
16480
+ type: {
16481
+ array: [
16482
+ "pubkey",
16483
+ 1
16484
+ ]
16485
+ }
16486
+ },
16487
+ {
16488
+ name: "min_user_deposit",
16489
+ docs: [
16490
+ "Minimum SOL amount a user can deposit"
16491
+ ],
16492
+ type: "u64"
16493
+ },
16494
+ {
16495
+ name: "min_unstake_request",
16496
+ docs: [
16497
+ "Minimum SOL amount for an unstake/withdrawal request"
16498
+ ],
16499
+ type: "u64"
16500
+ },
16501
+ {
16502
+ name: "min_rebalance_stake_delta",
16503
+ docs: [
16504
+ "Minimum stake delta to trigger a stake rebalance order"
16505
+ ],
16506
+ type: "u64"
16507
+ },
16508
+ {
16509
+ name: "min_rebalance_unstake_delta",
16510
+ docs: [
16511
+ "Minimum unstake delta to trigger an unstake rebalance order"
16512
+ ],
16513
+ type: "u64"
16514
+ },
16515
+ {
16516
+ name: "transient_threshold",
16517
+ docs: [
16518
+ "Minimum transient stake to include in effective stake calculations"
16519
+ ],
16520
+ type: "u64"
16521
+ },
16522
+ {
16523
+ name: "min_late_epoch_slot_gate",
16524
+ docs: [
16525
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
16526
+ ],
16527
+ type: "u64"
16528
+ },
16529
+ {
16530
+ name: "_reserved_u64",
16531
+ type: {
16532
+ array: [
16533
+ "u64",
16534
+ 2
16535
+ ]
16536
+ }
16537
+ },
16538
+ {
16539
+ name: "cooldown_epochs",
16540
+ docs: [
16541
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
16542
+ ],
16543
+ type: "u16"
16544
+ },
16545
+ {
16546
+ name: "deposit_fee_multiplier",
16547
+ docs: [
16548
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
16549
+ ],
16550
+ type: "u16"
16551
+ },
16552
+ {
16553
+ name: "min_vpp_entry",
16554
+ docs: [
16555
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
16556
+ ],
16557
+ type: "u16"
16558
+ },
16559
+ {
16560
+ name: "min_vpp_exit",
16561
+ docs: [
16562
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
16563
+ ],
16564
+ type: "u16"
16565
+ },
16566
+ {
16567
+ name: "tiny_network_threshold",
16568
+ docs: [
16569
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
16570
+ ],
16571
+ type: "u16"
16572
+ },
16573
+ {
16574
+ name: "small_network_threshold",
16575
+ docs: [
16576
+ "Max validators for \"small\" network band (uses percentile-based selection)"
16577
+ ],
16578
+ type: "u16"
16579
+ },
16580
+ {
16581
+ name: "medium_network_threshold",
16582
+ docs: [
16583
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
16584
+ ],
16585
+ type: "u16"
16586
+ },
16587
+ {
16588
+ name: "large_network_entry_rank",
16589
+ docs: [
16590
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
16591
+ ],
16592
+ type: "u16"
16593
+ },
16594
+ {
16595
+ name: "large_network_exit_rank",
16596
+ docs: [
16597
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
16598
+ ],
16599
+ type: "u16"
16600
+ },
16601
+ {
16602
+ name: "_reserved_u16",
16603
+ type: {
16604
+ array: [
16605
+ "u16",
16606
+ 3
16607
+ ]
16608
+ }
16609
+ },
16610
+ {
16611
+ name: "small_network_entry_percent",
16612
+ docs: [
16613
+ "Percentile rank required to enter active set in small networks"
16614
+ ],
16615
+ type: "u8"
16616
+ },
16617
+ {
16618
+ name: "small_network_exit_percent",
16619
+ docs: [
16620
+ "Percentile rank below which validators exit in small networks"
16621
+ ],
16622
+ type: "u8"
16623
+ },
16624
+ {
16625
+ name: "medium_network_entry_percent",
16626
+ docs: [
16627
+ "Percentile rank required to enter active set in medium networks"
16628
+ ],
16629
+ type: "u8"
16630
+ },
16631
+ {
16632
+ name: "medium_network_exit_percent",
16633
+ docs: [
16634
+ "Percentile rank below which validators exit in medium networks"
16635
+ ],
16636
+ type: "u8"
16637
+ },
16638
+ {
16639
+ name: "_reserved_u8",
16640
+ type: {
16641
+ array: [
16642
+ "u8",
16643
+ 2
16644
+ ]
16645
+ }
16646
+ },
16647
+ {
16648
+ name: "feature_flags",
16649
+ docs: [
16650
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
16651
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
16652
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
16653
+ ],
16654
+ type: "u16"
16655
+ },
16656
+ {
16657
+ name: "_reserved_flags",
16658
+ type: {
16659
+ array: [
16660
+ "u16",
16661
+ 1
16662
+ ]
16663
+ }
16664
+ }
16665
+ ]
16666
+ }
15456
16667
  }
15457
16668
  ];
15458
16669
  var devnetTransferHookIDL = {
@@ -16246,7 +17457,8 @@ class DistributionClient {
16246
17457
  liqsolMint,
16247
17458
  bucketAuthority,
16248
17459
  bucketTokenAccount,
16249
- tokenProgram: TOKEN_2022_PROGRAM_ID
17460
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
17461
+ systemProgram: SystemProgram.programId
16250
17462
  }).instruction();
16251
17463
  }
16252
17464
  async getAverageScaledPayRate(windowSize = 5) {