@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.
package/lib/stake.js CHANGED
@@ -396,6 +396,9 @@ var instructions$7 = [
396
396
  },
397
397
  {
398
398
  name: "token_program"
399
+ },
400
+ {
401
+ name: "system_program"
399
402
  }
400
403
  ],
401
404
  args: [
@@ -1999,6 +2002,44 @@ var instructions$7 = [
1999
2002
  }
2000
2003
  ]
2001
2004
  },
2005
+ {
2006
+ name: "migrate_user_record",
2007
+ discriminator: [
2008
+ 6,
2009
+ 118,
2010
+ 249,
2011
+ 178,
2012
+ 209,
2013
+ 106,
2014
+ 197,
2015
+ 25
2016
+ ],
2017
+ accounts: [
2018
+ {
2019
+ name: "admin",
2020
+ writable: true,
2021
+ signer: true
2022
+ },
2023
+ {
2024
+ name: "global_config"
2025
+ },
2026
+ {
2027
+ name: "user_ata"
2028
+ },
2029
+ {
2030
+ name: "user_record",
2031
+ writable: true
2032
+ },
2033
+ {
2034
+ name: "distribution_state"
2035
+ },
2036
+ {
2037
+ name: "system_program"
2038
+ }
2039
+ ],
2040
+ args: [
2041
+ ]
2042
+ },
2002
2043
  {
2003
2044
  name: "process_graveyard_validators_batch",
2004
2045
  docs: [
@@ -4536,12 +4577,20 @@ var types$9 = [
4536
4577
  ],
4537
4578
  type: "u8"
4538
4579
  },
4580
+ {
4581
+ name: "aggregation_started_epoch",
4582
+ docs: [
4583
+ "The epoch when the current aggregation batch started.",
4584
+ "Prevents stale partial accumulators from being committed if an epoch boundary is crossed mid-aggregation."
4585
+ ],
4586
+ type: "u64"
4587
+ },
4539
4588
  {
4540
4589
  name: "_reserved",
4541
4590
  type: {
4542
4591
  array: [
4543
4592
  "u8",
4544
- 31
4593
+ 23
4545
4594
  ]
4546
4595
  }
4547
4596
  }
@@ -6204,6 +6253,13 @@ var types$9 = [
6204
6253
  {
6205
6254
  name: "bump",
6206
6255
  type: "u8"
6256
+ },
6257
+ {
6258
+ name: "tracked_balance",
6259
+ docs: [
6260
+ "Last reconciled liqSOL token balance for this user ATA"
6261
+ ],
6262
+ type: "u64"
6207
6263
  }
6208
6264
  ]
6209
6265
  }
@@ -7626,11 +7682,18 @@ var instructions$4 = [
7626
7682
  96
7627
7683
  ],
7628
7684
  accounts: [
7685
+ {
7686
+ name: "admin",
7687
+ signer: true
7688
+ },
7629
7689
  {
7630
7690
  name: "payer",
7631
7691
  writable: true,
7632
7692
  signer: true
7633
7693
  },
7694
+ {
7695
+ name: "global_config"
7696
+ },
7634
7697
  {
7635
7698
  name: "extra_account_meta_list",
7636
7699
  writable: true
@@ -7662,6 +7725,19 @@ var accounts$3 = [
7662
7725
  4,
7663
7726
  103
7664
7727
  ]
7728
+ },
7729
+ {
7730
+ name: "GlobalConfig",
7731
+ discriminator: [
7732
+ 149,
7733
+ 8,
7734
+ 156,
7735
+ 202,
7736
+ 160,
7737
+ 252,
7738
+ 176,
7739
+ 217
7740
+ ]
7665
7741
  }
7666
7742
  ];
7667
7743
  var errors$4 = [
@@ -7681,6 +7757,11 @@ var errors$4 = [
7681
7757
  code: 6003,
7682
7758
  name: "CannotTransferToBucket",
7683
7759
  msg: "Cannot transfer liqSOL directly to bucket - only protocol minting is allowed"
7760
+ },
7761
+ {
7762
+ code: 6004,
7763
+ name: "Unauthorized",
7764
+ msg: "Unauthorized: caller is not the admin"
7684
7765
  }
7685
7766
  ];
7686
7767
  var types$6 = [
@@ -7745,194 +7826,584 @@ var types$6 = [
7745
7826
  }
7746
7827
  ]
7747
7828
  }
7748
- }
7749
- ];
7750
- var mainnetTransferHookIDL = {
7751
- address: address$4,
7752
- metadata: metadata$4,
7753
- instructions: instructions$4,
7754
- accounts: accounts$3,
7755
- errors: errors$4,
7756
- types: types$6
7757
- };
7758
-
7759
- var address$3 = "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH";
7760
- var metadata$3 = {
7761
- name: "liqsol_core",
7762
- version: "0.1.0",
7763
- spec: "0.1.0",
7764
- description: "Created with Anchor"
7765
- };
7766
- var instructions$3 = [
7767
- {
7768
- name: "add_top_performers_batch",
7769
- docs: [
7770
- "Process batch of ranks for addition (top performers from leaderboard)"
7771
- ],
7772
- discriminator: [
7773
- 152,
7774
- 7,
7775
- 241,
7776
- 69,
7777
- 197,
7778
- 73,
7779
- 32,
7780
- 12
7781
- ],
7782
- accounts: [
7783
- {
7784
- name: "allocation_state",
7785
- writable: true
7786
- },
7787
- {
7788
- name: "active_list",
7789
- writable: true
7790
- },
7791
- {
7792
- name: "graveyard_list",
7793
- writable: true
7794
- },
7795
- {
7796
- name: "leaderboard_state"
7797
- },
7798
- {
7799
- name: "maintenance_ledger",
7800
- writable: true
7801
- },
7802
- {
7803
- name: "processing_state",
7804
- writable: true
7805
- },
7806
- {
7807
- name: "global_config",
7808
- docs: [
7809
- "Global config for threshold parameters"
7810
- ]
7811
- },
7812
- {
7813
- name: "authority",
7814
- signer: true
7815
- }
7816
- ],
7817
- args: [
7818
- ]
7819
- },
7820
- {
7821
- name: "admin_force_unbond_role",
7822
- discriminator: [
7823
- 80,
7824
- 107,
7825
- 27,
7826
- 49,
7827
- 126,
7828
- 25,
7829
- 31,
7830
- 238
7831
- ],
7832
- accounts: [
7833
- {
7834
- name: "admin",
7835
- signer: true
7836
- },
7837
- {
7838
- name: "global_config"
7839
- },
7840
- {
7841
- name: "global_state"
7842
- },
7843
- {
7844
- name: "user",
7845
- docs: [
7846
- "The user whose role bond is being force-unbonded"
7847
- ]
7848
- },
7849
- {
7850
- name: "outpost_account",
7851
- writable: true
7852
- }
7853
- ],
7854
- args: [
7855
- {
7856
- name: "role",
7857
- type: {
7858
- defined: {
7859
- name: "Role"
7860
- }
7861
- }
7862
- }
7863
- ]
7864
7829
  },
7865
7830
  {
7866
- name: "aggregate_stake_metrics",
7831
+ name: "GlobalConfig",
7867
7832
  docs: [
7868
- "V2: Aggregate stake metrics across all validators using PDA architecture"
7869
- ],
7870
- discriminator: [
7871
- 13,
7872
- 245,
7873
- 47,
7874
- 202,
7875
- 170,
7876
- 73,
7877
- 98,
7878
- 207
7879
- ],
7880
- accounts: [
7881
- {
7882
- name: "admin",
7883
- signer: true
7884
- },
7885
- {
7886
- name: "stake_metrics",
7887
- writable: true
7888
- },
7889
- {
7890
- name: "epoch_state",
7891
- writable: true
7892
- },
7893
- {
7894
- name: "processing_state",
7895
- writable: true
7896
- },
7897
- {
7898
- name: "active_list"
7899
- }
7900
- ],
7901
- args: [
7902
- ]
7903
- },
7904
- {
7905
- name: "bond_role",
7906
- discriminator: [
7907
- 143,
7908
- 136,
7909
- 20,
7910
- 230,
7911
- 136,
7912
- 103,
7913
- 107,
7914
- 167
7915
- ],
7916
- accounts: [
7917
- {
7918
- name: "user",
7919
- writable: true,
7920
- signer: true
7921
- },
7922
- {
7923
- name: "global_state"
7924
- },
7925
- {
7926
- name: "outpost_account",
7927
- writable: true
7928
- }
7833
+ "Zero-copy global config PDA"
7929
7834
  ],
7930
- args: [
7931
- {
7932
- name: "role",
7933
- type: {
7934
- defined: {
7935
- name: "Role"
7835
+ serialization: "bytemuckunsafe",
7836
+ repr: {
7837
+ kind: "c"
7838
+ },
7839
+ type: {
7840
+ kind: "struct",
7841
+ fields: [
7842
+ {
7843
+ name: "bump",
7844
+ type: "u8"
7845
+ },
7846
+ {
7847
+ name: "_padding",
7848
+ type: {
7849
+ array: [
7850
+ "u8",
7851
+ 7
7852
+ ]
7853
+ }
7854
+ },
7855
+ {
7856
+ name: "admin",
7857
+ type: "pubkey"
7858
+ },
7859
+ {
7860
+ name: "cranky",
7861
+ type: "pubkey"
7862
+ },
7863
+ {
7864
+ name: "_reserved_pubkey",
7865
+ type: {
7866
+ array: [
7867
+ "pubkey",
7868
+ 1
7869
+ ]
7870
+ }
7871
+ },
7872
+ {
7873
+ name: "min_user_deposit",
7874
+ docs: [
7875
+ "Minimum SOL amount a user can deposit"
7876
+ ],
7877
+ type: "u64"
7878
+ },
7879
+ {
7880
+ name: "min_unstake_request",
7881
+ docs: [
7882
+ "Minimum SOL amount for an unstake/withdrawal request"
7883
+ ],
7884
+ type: "u64"
7885
+ },
7886
+ {
7887
+ name: "min_rebalance_stake_delta",
7888
+ docs: [
7889
+ "Minimum stake delta to trigger a stake rebalance order"
7890
+ ],
7891
+ type: "u64"
7892
+ },
7893
+ {
7894
+ name: "min_rebalance_unstake_delta",
7895
+ docs: [
7896
+ "Minimum unstake delta to trigger an unstake rebalance order"
7897
+ ],
7898
+ type: "u64"
7899
+ },
7900
+ {
7901
+ name: "transient_threshold",
7902
+ docs: [
7903
+ "Minimum transient stake to include in effective stake calculations"
7904
+ ],
7905
+ type: "u64"
7906
+ },
7907
+ {
7908
+ name: "min_late_epoch_slot_gate",
7909
+ docs: [
7910
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
7911
+ ],
7912
+ type: "u64"
7913
+ },
7914
+ {
7915
+ name: "_reserved_u64",
7916
+ type: {
7917
+ array: [
7918
+ "u64",
7919
+ 2
7920
+ ]
7921
+ }
7922
+ },
7923
+ {
7924
+ name: "cooldown_epochs",
7925
+ docs: [
7926
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
7927
+ ],
7928
+ type: "u16"
7929
+ },
7930
+ {
7931
+ name: "deposit_fee_multiplier",
7932
+ docs: [
7933
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
7934
+ ],
7935
+ type: "u16"
7936
+ },
7937
+ {
7938
+ name: "min_vpp_entry",
7939
+ docs: [
7940
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
7941
+ ],
7942
+ type: "u16"
7943
+ },
7944
+ {
7945
+ name: "min_vpp_exit",
7946
+ docs: [
7947
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
7948
+ ],
7949
+ type: "u16"
7950
+ },
7951
+ {
7952
+ name: "tiny_network_threshold",
7953
+ docs: [
7954
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
7955
+ ],
7956
+ type: "u16"
7957
+ },
7958
+ {
7959
+ name: "small_network_threshold",
7960
+ docs: [
7961
+ "Max validators for \"small\" network band (uses percentile-based selection)"
7962
+ ],
7963
+ type: "u16"
7964
+ },
7965
+ {
7966
+ name: "medium_network_threshold",
7967
+ docs: [
7968
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
7969
+ ],
7970
+ type: "u16"
7971
+ },
7972
+ {
7973
+ name: "large_network_entry_rank",
7974
+ docs: [
7975
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
7976
+ ],
7977
+ type: "u16"
7978
+ },
7979
+ {
7980
+ name: "large_network_exit_rank",
7981
+ docs: [
7982
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
7983
+ ],
7984
+ type: "u16"
7985
+ },
7986
+ {
7987
+ name: "_reserved_u16",
7988
+ type: {
7989
+ array: [
7990
+ "u16",
7991
+ 3
7992
+ ]
7993
+ }
7994
+ },
7995
+ {
7996
+ name: "small_network_entry_percent",
7997
+ docs: [
7998
+ "Percentile rank required to enter active set in small networks"
7999
+ ],
8000
+ type: "u8"
8001
+ },
8002
+ {
8003
+ name: "small_network_exit_percent",
8004
+ docs: [
8005
+ "Percentile rank below which validators exit in small networks"
8006
+ ],
8007
+ type: "u8"
8008
+ },
8009
+ {
8010
+ name: "medium_network_entry_percent",
8011
+ docs: [
8012
+ "Percentile rank required to enter active set in medium networks"
8013
+ ],
8014
+ type: "u8"
8015
+ },
8016
+ {
8017
+ name: "medium_network_exit_percent",
8018
+ docs: [
8019
+ "Percentile rank below which validators exit in medium networks"
8020
+ ],
8021
+ type: "u8"
8022
+ },
8023
+ {
8024
+ name: "_reserved_u8",
8025
+ type: {
8026
+ array: [
8027
+ "u8",
8028
+ 2
8029
+ ]
8030
+ }
8031
+ },
8032
+ {
8033
+ name: "feature_flags",
8034
+ docs: [
8035
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
8036
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
8037
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
8038
+ ],
8039
+ type: "u16"
8040
+ },
8041
+ {
8042
+ name: "_reserved_flags",
8043
+ type: {
8044
+ array: [
8045
+ "u16",
8046
+ 1
8047
+ ]
8048
+ }
8049
+ }
8050
+ ]
8051
+ }
8052
+ }
8053
+ ];
8054
+ var mainnetTransferHookIDL = {
8055
+ address: address$4,
8056
+ metadata: metadata$4,
8057
+ instructions: instructions$4,
8058
+ accounts: accounts$3,
8059
+ errors: errors$4,
8060
+ types: types$6
8061
+ };
8062
+
8063
+ var address$3 = "5nBtmutQLrRKBUxNfHJPDjiW5u8id6QM9Hhjg1D1g1XH";
8064
+ var metadata$3 = {
8065
+ name: "liqsol_core",
8066
+ version: "0.1.0",
8067
+ spec: "0.1.0",
8068
+ description: "Created with Anchor"
8069
+ };
8070
+ var instructions$3 = [
8071
+ {
8072
+ name: "accumulate_unstake_request",
8073
+ docs: [
8074
+ "Accumulate unstake requests to be processed in next allocation cycle",
8075
+ "Multiple requests can be accumulated before calculating allocations",
8076
+ "Returns the target epoch when this unstake request will be processed",
8077
+ "We should not be able to call this without development feature enabled",
8078
+ ""
8079
+ ],
8080
+ discriminator: [
8081
+ 24,
8082
+ 73,
8083
+ 69,
8084
+ 139,
8085
+ 36,
8086
+ 209,
8087
+ 105,
8088
+ 252
8089
+ ],
8090
+ accounts: [
8091
+ {
8092
+ name: "admin",
8093
+ writable: true,
8094
+ signer: true
8095
+ },
8096
+ {
8097
+ name: "stake_allocation_state",
8098
+ docs: [
8099
+ "Stake allocation state - to accumulate pending unstake requests"
8100
+ ],
8101
+ writable: true
8102
+ },
8103
+ {
8104
+ name: "stake_metrics",
8105
+ docs: [
8106
+ "Stake metrics - to validate total unstake amount is available"
8107
+ ]
8108
+ },
8109
+ {
8110
+ name: "maintenance_ledger",
8111
+ docs: [
8112
+ "Maintenance ledger - to determine target processing epoch"
8113
+ ]
8114
+ },
8115
+ {
8116
+ name: "global_config",
8117
+ docs: [
8118
+ "Global config for min_unstake_request setting"
8119
+ ]
8120
+ },
8121
+ {
8122
+ name: "clock"
8123
+ }
8124
+ ],
8125
+ args: [
8126
+ {
8127
+ name: "amount",
8128
+ type: "u64"
8129
+ }
8130
+ ],
8131
+ returns: "u64"
8132
+ },
8133
+ {
8134
+ name: "add_top_performers_batch",
8135
+ docs: [
8136
+ "Process batch of ranks for addition (top performers from leaderboard)"
8137
+ ],
8138
+ discriminator: [
8139
+ 152,
8140
+ 7,
8141
+ 241,
8142
+ 69,
8143
+ 197,
8144
+ 73,
8145
+ 32,
8146
+ 12
8147
+ ],
8148
+ accounts: [
8149
+ {
8150
+ name: "allocation_state",
8151
+ writable: true
8152
+ },
8153
+ {
8154
+ name: "active_list",
8155
+ writable: true
8156
+ },
8157
+ {
8158
+ name: "graveyard_list",
8159
+ writable: true
8160
+ },
8161
+ {
8162
+ name: "leaderboard_state"
8163
+ },
8164
+ {
8165
+ name: "maintenance_ledger",
8166
+ writable: true
8167
+ },
8168
+ {
8169
+ name: "processing_state",
8170
+ writable: true
8171
+ },
8172
+ {
8173
+ name: "global_config",
8174
+ docs: [
8175
+ "Global config for threshold parameters"
8176
+ ]
8177
+ },
8178
+ {
8179
+ name: "authority",
8180
+ signer: true
8181
+ }
8182
+ ],
8183
+ args: [
8184
+ ]
8185
+ },
8186
+ {
8187
+ name: "add_validator_v2",
8188
+ docs: [
8189
+ "Add a new validator bbypassing the looking at leaderboard and getting validators form there"
8190
+ ],
8191
+ discriminator: [
8192
+ 217,
8193
+ 158,
8194
+ 30,
8195
+ 19,
8196
+ 123,
8197
+ 99,
8198
+ 110,
8199
+ 30
8200
+ ],
8201
+ accounts: [
8202
+ {
8203
+ name: "authority",
8204
+ writable: true,
8205
+ signer: true
8206
+ },
8207
+ {
8208
+ name: "active_list",
8209
+ docs: [
8210
+ "Active list - will add the validator here"
8211
+ ],
8212
+ writable: true
8213
+ },
8214
+ {
8215
+ name: "validator_info",
8216
+ docs: [
8217
+ "Create the validator info account"
8218
+ ],
8219
+ writable: true
8220
+ },
8221
+ {
8222
+ name: "validator_transient",
8223
+ docs: [
8224
+ "Create the validator transient account"
8225
+ ],
8226
+ writable: true
8227
+ },
8228
+ {
8229
+ name: "stake_allocation_state",
8230
+ docs: [
8231
+ "Stake allocation state - to update total_active_vpp when adding validator"
8232
+ ],
8233
+ writable: true
8234
+ },
8235
+ {
8236
+ name: "system_program"
8237
+ }
8238
+ ],
8239
+ args: [
8240
+ {
8241
+ name: "vote_account",
8242
+ type: "pubkey"
8243
+ },
8244
+ {
8245
+ name: "name",
8246
+ type: "string"
8247
+ },
8248
+ {
8249
+ name: "performance_score",
8250
+ type: "u8"
8251
+ }
8252
+ ]
8253
+ },
8254
+ {
8255
+ name: "admin_force_unbond_role",
8256
+ discriminator: [
8257
+ 80,
8258
+ 107,
8259
+ 27,
8260
+ 49,
8261
+ 126,
8262
+ 25,
8263
+ 31,
8264
+ 238
8265
+ ],
8266
+ accounts: [
8267
+ {
8268
+ name: "admin",
8269
+ signer: true
8270
+ },
8271
+ {
8272
+ name: "global_config"
8273
+ },
8274
+ {
8275
+ name: "global_state"
8276
+ },
8277
+ {
8278
+ name: "user",
8279
+ docs: [
8280
+ "The user whose role bond is being force-unbonded"
8281
+ ]
8282
+ },
8283
+ {
8284
+ name: "outpost_account",
8285
+ writable: true
8286
+ }
8287
+ ],
8288
+ args: [
8289
+ {
8290
+ name: "role",
8291
+ type: {
8292
+ defined: {
8293
+ name: "Role"
8294
+ }
8295
+ }
8296
+ }
8297
+ ]
8298
+ },
8299
+ {
8300
+ name: "aggregate_stake_metrics",
8301
+ docs: [
8302
+ "V2: Aggregate stake metrics across all validators using PDA architecture"
8303
+ ],
8304
+ discriminator: [
8305
+ 13,
8306
+ 245,
8307
+ 47,
8308
+ 202,
8309
+ 170,
8310
+ 73,
8311
+ 98,
8312
+ 207
8313
+ ],
8314
+ accounts: [
8315
+ {
8316
+ name: "admin",
8317
+ signer: true
8318
+ },
8319
+ {
8320
+ name: "stake_metrics",
8321
+ writable: true
8322
+ },
8323
+ {
8324
+ name: "epoch_state",
8325
+ writable: true
8326
+ },
8327
+ {
8328
+ name: "processing_state",
8329
+ writable: true
8330
+ },
8331
+ {
8332
+ name: "active_list"
8333
+ }
8334
+ ],
8335
+ args: [
8336
+ ]
8337
+ },
8338
+ {
8339
+ name: "blacklist_validator",
8340
+ docs: [
8341
+ "Blacklist a validator (user-facing, maintenance will handle graveyard movement)",
8342
+ "UnderPerforming is set automatically when score is updated",
8343
+ "Another serious emergency stop function"
8344
+ ],
8345
+ discriminator: [
8346
+ 125,
8347
+ 42,
8348
+ 36,
8349
+ 229,
8350
+ 27,
8351
+ 38,
8352
+ 226,
8353
+ 62
8354
+ ],
8355
+ accounts: [
8356
+ {
8357
+ name: "validator_info",
8358
+ writable: true
8359
+ },
8360
+ {
8361
+ name: "stake_allocation_state",
8362
+ docs: [
8363
+ "Stake allocation state - to update total_active_vpp when VPP changes"
8364
+ ],
8365
+ writable: true
8366
+ }
8367
+ ],
8368
+ args: [
8369
+ {
8370
+ name: "vote_account",
8371
+ type: "pubkey"
8372
+ }
8373
+ ]
8374
+ },
8375
+ {
8376
+ name: "bond_role",
8377
+ discriminator: [
8378
+ 143,
8379
+ 136,
8380
+ 20,
8381
+ 230,
8382
+ 136,
8383
+ 103,
8384
+ 107,
8385
+ 167
8386
+ ],
8387
+ accounts: [
8388
+ {
8389
+ name: "user",
8390
+ writable: true,
8391
+ signer: true
8392
+ },
8393
+ {
8394
+ name: "global_state"
8395
+ },
8396
+ {
8397
+ name: "outpost_account",
8398
+ writable: true
8399
+ }
8400
+ ],
8401
+ args: [
8402
+ {
8403
+ name: "role",
8404
+ type: {
8405
+ defined: {
8406
+ name: "Role"
7936
8407
  }
7937
8408
  }
7938
8409
  }
@@ -8125,6 +8596,9 @@ var instructions$3 = [
8125
8596
  },
8126
8597
  {
8127
8598
  name: "token_program"
8599
+ },
8600
+ {
8601
+ name: "system_program"
8128
8602
  }
8129
8603
  ],
8130
8604
  args: [
@@ -9553,6 +10027,69 @@ var instructions$3 = [
9553
10027
  }
9554
10028
  ]
9555
10029
  },
10030
+ {
10031
+ name: "inject_test_yield",
10032
+ discriminator: [
10033
+ 55,
10034
+ 41,
10035
+ 251,
10036
+ 228,
10037
+ 58,
10038
+ 191,
10039
+ 103,
10040
+ 248
10041
+ ],
10042
+ accounts: [
10043
+ {
10044
+ name: "admin",
10045
+ signer: true
10046
+ },
10047
+ {
10048
+ name: "global_config"
10049
+ },
10050
+ {
10051
+ name: "global_state",
10052
+ writable: true
10053
+ },
10054
+ {
10055
+ name: "distribution_state",
10056
+ writable: true
10057
+ },
10058
+ {
10059
+ name: "liqsol_mint",
10060
+ writable: true
10061
+ },
10062
+ {
10063
+ name: "pool_authority"
10064
+ },
10065
+ {
10066
+ name: "liqsol_pool_ata",
10067
+ writable: true
10068
+ },
10069
+ {
10070
+ name: "deposit_authority",
10071
+ writable: true
10072
+ },
10073
+ {
10074
+ name: "liqsol_program"
10075
+ },
10076
+ {
10077
+ name: "liqsol_mint_authority"
10078
+ },
10079
+ {
10080
+ name: "instructions_sysvar"
10081
+ },
10082
+ {
10083
+ name: "token_program"
10084
+ }
10085
+ ],
10086
+ args: [
10087
+ {
10088
+ name: "amount",
10089
+ type: "u64"
10090
+ }
10091
+ ]
10092
+ },
9556
10093
  {
9557
10094
  name: "merge_activating_stakes",
9558
10095
  docs: [
@@ -9728,6 +10265,44 @@ var instructions$3 = [
9728
10265
  }
9729
10266
  ]
9730
10267
  },
10268
+ {
10269
+ name: "migrate_user_record",
10270
+ discriminator: [
10271
+ 6,
10272
+ 118,
10273
+ 249,
10274
+ 178,
10275
+ 209,
10276
+ 106,
10277
+ 197,
10278
+ 25
10279
+ ],
10280
+ accounts: [
10281
+ {
10282
+ name: "admin",
10283
+ writable: true,
10284
+ signer: true
10285
+ },
10286
+ {
10287
+ name: "global_config"
10288
+ },
10289
+ {
10290
+ name: "user_ata"
10291
+ },
10292
+ {
10293
+ name: "user_record",
10294
+ writable: true
10295
+ },
10296
+ {
10297
+ name: "distribution_state"
10298
+ },
10299
+ {
10300
+ name: "system_program"
10301
+ }
10302
+ ],
10303
+ args: [
10304
+ ]
10305
+ },
9731
10306
  {
9732
10307
  name: "process_graveyard_validators_batch",
9733
10308
  docs: [
@@ -10752,45 +11327,186 @@ var instructions$3 = [
10752
11327
  name: "mint_authority"
10753
11328
  },
10754
11329
  {
10755
- name: "receipt_data",
10756
- writable: true
11330
+ name: "receipt_data",
11331
+ writable: true
11332
+ },
11333
+ {
11334
+ name: "metadata",
11335
+ writable: true
11336
+ },
11337
+ {
11338
+ name: "nft_mint",
11339
+ docs: [
11340
+ "Uses global.next_receipt_id for deterministic, collision-free address generation"
11341
+ ],
11342
+ writable: true
11343
+ },
11344
+ {
11345
+ name: "nft_ata",
11346
+ writable: true
11347
+ },
11348
+ {
11349
+ name: "token_program"
11350
+ },
11351
+ {
11352
+ name: "token_interface"
11353
+ },
11354
+ {
11355
+ name: "associated_token_program"
11356
+ },
11357
+ {
11358
+ name: "system_program"
11359
+ },
11360
+ {
11361
+ name: "rent"
11362
+ }
11363
+ ],
11364
+ args: [
11365
+ {
11366
+ name: "amount",
11367
+ type: "u64"
11368
+ }
11369
+ ]
11370
+ },
11371
+ {
11372
+ name: "reset_distribution_state",
11373
+ discriminator: [
11374
+ 159,
11375
+ 183,
11376
+ 162,
11377
+ 74,
11378
+ 228,
11379
+ 135,
11380
+ 157,
11381
+ 79
11382
+ ],
11383
+ accounts: [
11384
+ {
11385
+ name: "admin",
11386
+ signer: true
11387
+ },
11388
+ {
11389
+ name: "distribution_state",
11390
+ writable: true
11391
+ }
11392
+ ],
11393
+ args: [
11394
+ ]
11395
+ },
11396
+ {
11397
+ name: "reset_global_state",
11398
+ discriminator: [
11399
+ 252,
11400
+ 41,
11401
+ 117,
11402
+ 110,
11403
+ 248,
11404
+ 165,
11405
+ 48,
11406
+ 88
11407
+ ],
11408
+ accounts: [
11409
+ {
11410
+ name: "admin",
11411
+ signer: true
11412
+ },
11413
+ {
11414
+ name: "global_config"
11415
+ },
11416
+ {
11417
+ name: "global_state",
11418
+ writable: true
11419
+ },
11420
+ {
11421
+ name: "pool_authority"
11422
+ },
11423
+ {
11424
+ name: "liqsol_mint"
11425
+ },
11426
+ {
11427
+ name: "liqsol_pool_ata",
11428
+ writable: true
11429
+ },
11430
+ {
11431
+ name: "token_program"
11432
+ },
11433
+ {
11434
+ name: "associated_token_program"
11435
+ }
11436
+ ],
11437
+ args: [
11438
+ ]
11439
+ },
11440
+ {
11441
+ name: "reset_price_history",
11442
+ discriminator: [
11443
+ 213,
11444
+ 231,
11445
+ 155,
11446
+ 139,
11447
+ 248,
11448
+ 60,
11449
+ 67,
11450
+ 199
11451
+ ],
11452
+ accounts: [
11453
+ {
11454
+ name: "admin",
11455
+ writable: true,
11456
+ signer: true
11457
+ },
11458
+ {
11459
+ name: "global_config"
11460
+ },
11461
+ {
11462
+ name: "tranche_state",
11463
+ writable: true
11464
+ },
11465
+ {
11466
+ name: "price_history",
11467
+ writable: true
11468
+ },
11469
+ {
11470
+ name: "system_program"
11471
+ }
11472
+ ],
11473
+ args: [
11474
+ ]
11475
+ },
11476
+ {
11477
+ name: "reset_tranche_state",
11478
+ discriminator: [
11479
+ 106,
11480
+ 102,
11481
+ 143,
11482
+ 40,
11483
+ 152,
11484
+ 173,
11485
+ 165,
11486
+ 168
11487
+ ],
11488
+ accounts: [
11489
+ {
11490
+ name: "admin",
11491
+ writable: true,
11492
+ signer: true
10757
11493
  },
10758
11494
  {
10759
- name: "metadata",
10760
- writable: true
11495
+ name: "global_config"
10761
11496
  },
10762
11497
  {
10763
- name: "nft_mint",
10764
- docs: [
10765
- "Uses global.next_receipt_id for deterministic, collision-free address generation"
10766
- ],
11498
+ name: "tranche_state",
10767
11499
  writable: true
10768
11500
  },
10769
11501
  {
10770
- name: "nft_ata",
11502
+ name: "price_history",
10771
11503
  writable: true
10772
11504
  },
10773
- {
10774
- name: "token_program"
10775
- },
10776
- {
10777
- name: "token_interface"
10778
- },
10779
- {
10780
- name: "associated_token_program"
10781
- },
10782
11505
  {
10783
11506
  name: "system_program"
10784
- },
10785
- {
10786
- name: "rent"
10787
11507
  }
10788
11508
  ],
10789
11509
  args: [
10790
- {
10791
- name: "amount",
10792
- type: "u64"
10793
- }
10794
11510
  ]
10795
11511
  },
10796
11512
  {
@@ -10849,6 +11565,45 @@ var instructions$3 = [
10849
11565
  args: [
10850
11566
  ]
10851
11567
  },
11568
+ {
11569
+ name: "set_last_state_change_epoch",
11570
+ docs: [
11571
+ "Admin function to directly set last_state_change_epoch (useful for testing cooldowns)"
11572
+ ],
11573
+ discriminator: [
11574
+ 94,
11575
+ 57,
11576
+ 139,
11577
+ 195,
11578
+ 123,
11579
+ 224,
11580
+ 227,
11581
+ 106
11582
+ ],
11583
+ accounts: [
11584
+ {
11585
+ name: "validator_info",
11586
+ writable: true
11587
+ },
11588
+ {
11589
+ name: "stake_allocation_state",
11590
+ docs: [
11591
+ "Stake allocation state - to update total_active_vpp when VPP changes"
11592
+ ],
11593
+ writable: true
11594
+ }
11595
+ ],
11596
+ args: [
11597
+ {
11598
+ name: "vote_account",
11599
+ type: "pubkey"
11600
+ },
11601
+ {
11602
+ name: "epoch",
11603
+ type: "u16"
11604
+ }
11605
+ ]
11606
+ },
10852
11607
  {
10853
11608
  name: "set_paused",
10854
11609
  discriminator: [
@@ -11343,6 +12098,35 @@ var instructions$3 = [
11343
12098
  }
11344
12099
  ]
11345
12100
  },
12101
+ {
12102
+ name: "test_clear_active_list",
12103
+ discriminator: [
12104
+ 17,
12105
+ 195,
12106
+ 59,
12107
+ 174,
12108
+ 184,
12109
+ 137,
12110
+ 149,
12111
+ 144
12112
+ ],
12113
+ accounts: [
12114
+ {
12115
+ name: "active_list",
12116
+ writable: true
12117
+ },
12118
+ {
12119
+ name: "processing_state",
12120
+ writable: true
12121
+ },
12122
+ {
12123
+ name: "authority",
12124
+ signer: true
12125
+ }
12126
+ ],
12127
+ args: [
12128
+ ]
12129
+ },
11346
12130
  {
11347
12131
  name: "update_config_bool",
11348
12132
  discriminator: [
@@ -12265,12 +13049,20 @@ var types$5 = [
12265
13049
  ],
12266
13050
  type: "u8"
12267
13051
  },
13052
+ {
13053
+ name: "aggregation_started_epoch",
13054
+ docs: [
13055
+ "The epoch when the current aggregation batch started.",
13056
+ "Prevents stale partial accumulators from being committed if an epoch boundary is crossed mid-aggregation."
13057
+ ],
13058
+ type: "u64"
13059
+ },
12268
13060
  {
12269
13061
  name: "_reserved",
12270
13062
  type: {
12271
13063
  array: [
12272
13064
  "u8",
12273
- 31
13065
+ 23
12274
13066
  ]
12275
13067
  }
12276
13068
  }
@@ -13933,6 +14725,13 @@ var types$5 = [
13933
14725
  {
13934
14726
  name: "bump",
13935
14727
  type: "u8"
14728
+ },
14729
+ {
14730
+ name: "tracked_balance",
14731
+ docs: [
14732
+ "Last reconciled liqSOL token balance for this user ATA"
14733
+ ],
14734
+ type: "u64"
13936
14735
  }
13937
14736
  ]
13938
14737
  }
@@ -14715,15 +15514,179 @@ var instructions$1 = [
14715
15514
  writable: true
14716
15515
  },
14717
15516
  {
14718
- name: "payer",
14719
- writable: true,
14720
- signer: true
15517
+ name: "payer",
15518
+ writable: true,
15519
+ signer: true
15520
+ },
15521
+ {
15522
+ name: "system_program"
15523
+ }
15524
+ ],
15525
+ args: [
15526
+ ]
15527
+ },
15528
+ {
15529
+ name: "test_clear_leaderboard",
15530
+ discriminator: [
15531
+ 118,
15532
+ 207,
15533
+ 26,
15534
+ 205,
15535
+ 180,
15536
+ 7,
15537
+ 75,
15538
+ 244
15539
+ ],
15540
+ accounts: [
15541
+ {
15542
+ name: "leaderboard_state",
15543
+ writable: true
15544
+ },
15545
+ {
15546
+ name: "authority",
15547
+ signer: true
15548
+ }
15549
+ ],
15550
+ args: [
15551
+ ]
15552
+ },
15553
+ {
15554
+ name: "test_force_register_validator",
15555
+ discriminator: [
15556
+ 136,
15557
+ 156,
15558
+ 132,
15559
+ 32,
15560
+ 96,
15561
+ 240,
15562
+ 7,
15563
+ 115
15564
+ ],
15565
+ accounts: [
15566
+ {
15567
+ name: "registrant",
15568
+ writable: true,
15569
+ signer: true
15570
+ },
15571
+ {
15572
+ name: "vote_account"
15573
+ },
15574
+ {
15575
+ name: "validator_record",
15576
+ writable: true
15577
+ },
15578
+ {
15579
+ name: "leaderboard_state",
15580
+ writable: true
15581
+ },
15582
+ {
15583
+ name: "system_program"
15584
+ },
15585
+ {
15586
+ name: "clock"
15587
+ }
15588
+ ],
15589
+ args: [
15590
+ {
15591
+ name: "vpp",
15592
+ type: "u8"
15593
+ }
15594
+ ]
15595
+ },
15596
+ {
15597
+ name: "test_force_update_vpp",
15598
+ discriminator: [
15599
+ 67,
15600
+ 51,
15601
+ 28,
15602
+ 174,
15603
+ 200,
15604
+ 214,
15605
+ 203,
15606
+ 162
15607
+ ],
15608
+ accounts: [
15609
+ {
15610
+ name: "registrant",
15611
+ writable: true,
15612
+ signer: true
15613
+ },
15614
+ {
15615
+ name: "vote_account"
15616
+ },
15617
+ {
15618
+ name: "validator_record",
15619
+ writable: true
15620
+ },
15621
+ {
15622
+ name: "leaderboard_state",
15623
+ writable: true
15624
+ }
15625
+ ],
15626
+ args: [
15627
+ {
15628
+ name: "vpp",
15629
+ type: "u8"
15630
+ }
15631
+ ]
15632
+ },
15633
+ {
15634
+ name: "test_log_epoch_info",
15635
+ discriminator: [
15636
+ 196,
15637
+ 206,
15638
+ 58,
15639
+ 88,
15640
+ 160,
15641
+ 47,
15642
+ 2,
15643
+ 153
15644
+ ],
15645
+ accounts: [
15646
+ ],
15647
+ args: [
15648
+ ]
15649
+ },
15650
+ {
15651
+ name: "test_seed_random_validators",
15652
+ discriminator: [
15653
+ 48,
15654
+ 155,
15655
+ 181,
15656
+ 112,
15657
+ 163,
15658
+ 242,
15659
+ 43,
15660
+ 146
15661
+ ],
15662
+ accounts: [
15663
+ {
15664
+ name: "registrant",
15665
+ writable: true,
15666
+ signer: true
15667
+ },
15668
+ {
15669
+ name: "leaderboard_state",
15670
+ writable: true
15671
+ }
15672
+ ],
15673
+ args: [
15674
+ {
15675
+ name: "count",
15676
+ type: "u16"
15677
+ },
15678
+ {
15679
+ name: "seed",
15680
+ type: "u64"
15681
+ },
15682
+ {
15683
+ name: "min_vpp",
15684
+ type: "u8"
14721
15685
  },
14722
15686
  {
14723
- name: "system_program"
15687
+ name: "max_vpp",
15688
+ type: "u8"
14724
15689
  }
14725
- ],
14726
- args: [
14727
15690
  ]
14728
15691
  },
14729
15692
  {
@@ -15355,11 +16318,18 @@ var instructions = [
15355
16318
  96
15356
16319
  ],
15357
16320
  accounts: [
16321
+ {
16322
+ name: "admin",
16323
+ signer: true
16324
+ },
15358
16325
  {
15359
16326
  name: "payer",
15360
16327
  writable: true,
15361
16328
  signer: true
15362
16329
  },
16330
+ {
16331
+ name: "global_config"
16332
+ },
15363
16333
  {
15364
16334
  name: "extra_account_meta_list",
15365
16335
  writable: true
@@ -15391,6 +16361,19 @@ var accounts = [
15391
16361
  4,
15392
16362
  103
15393
16363
  ]
16364
+ },
16365
+ {
16366
+ name: "GlobalConfig",
16367
+ discriminator: [
16368
+ 149,
16369
+ 8,
16370
+ 156,
16371
+ 202,
16372
+ 160,
16373
+ 252,
16374
+ 176,
16375
+ 217
16376
+ ]
15394
16377
  }
15395
16378
  ];
15396
16379
  var errors = [
@@ -15410,6 +16393,11 @@ var errors = [
15410
16393
  code: 6003,
15411
16394
  name: "CannotTransferToBucket",
15412
16395
  msg: "Cannot transfer liqSOL directly to bucket - only protocol minting is allowed"
16396
+ },
16397
+ {
16398
+ code: 6004,
16399
+ name: "Unauthorized",
16400
+ msg: "Unauthorized: caller is not the admin"
15413
16401
  }
15414
16402
  ];
15415
16403
  var types$2 = [
@@ -15474,6 +16462,229 @@ var types$2 = [
15474
16462
  }
15475
16463
  ]
15476
16464
  }
16465
+ },
16466
+ {
16467
+ name: "GlobalConfig",
16468
+ docs: [
16469
+ "Zero-copy global config PDA"
16470
+ ],
16471
+ serialization: "bytemuckunsafe",
16472
+ repr: {
16473
+ kind: "c"
16474
+ },
16475
+ type: {
16476
+ kind: "struct",
16477
+ fields: [
16478
+ {
16479
+ name: "bump",
16480
+ type: "u8"
16481
+ },
16482
+ {
16483
+ name: "_padding",
16484
+ type: {
16485
+ array: [
16486
+ "u8",
16487
+ 7
16488
+ ]
16489
+ }
16490
+ },
16491
+ {
16492
+ name: "admin",
16493
+ type: "pubkey"
16494
+ },
16495
+ {
16496
+ name: "cranky",
16497
+ type: "pubkey"
16498
+ },
16499
+ {
16500
+ name: "_reserved_pubkey",
16501
+ type: {
16502
+ array: [
16503
+ "pubkey",
16504
+ 1
16505
+ ]
16506
+ }
16507
+ },
16508
+ {
16509
+ name: "min_user_deposit",
16510
+ docs: [
16511
+ "Minimum SOL amount a user can deposit"
16512
+ ],
16513
+ type: "u64"
16514
+ },
16515
+ {
16516
+ name: "min_unstake_request",
16517
+ docs: [
16518
+ "Minimum SOL amount for an unstake/withdrawal request"
16519
+ ],
16520
+ type: "u64"
16521
+ },
16522
+ {
16523
+ name: "min_rebalance_stake_delta",
16524
+ docs: [
16525
+ "Minimum stake delta to trigger a stake rebalance order"
16526
+ ],
16527
+ type: "u64"
16528
+ },
16529
+ {
16530
+ name: "min_rebalance_unstake_delta",
16531
+ docs: [
16532
+ "Minimum unstake delta to trigger an unstake rebalance order"
16533
+ ],
16534
+ type: "u64"
16535
+ },
16536
+ {
16537
+ name: "transient_threshold",
16538
+ docs: [
16539
+ "Minimum transient stake to include in effective stake calculations"
16540
+ ],
16541
+ type: "u64"
16542
+ },
16543
+ {
16544
+ name: "min_late_epoch_slot_gate",
16545
+ docs: [
16546
+ "Minimum slots that must have elapsed in the epoch before late epoch operations can execute"
16547
+ ],
16548
+ type: "u64"
16549
+ },
16550
+ {
16551
+ name: "_reserved_u64",
16552
+ type: {
16553
+ array: [
16554
+ "u64",
16555
+ 2
16556
+ ]
16557
+ }
16558
+ },
16559
+ {
16560
+ name: "cooldown_epochs",
16561
+ docs: [
16562
+ "Epochs a validator must wait in the graveyard before it is booted. This begins after the last recorded state change"
16563
+ ],
16564
+ type: "u16"
16565
+ },
16566
+ {
16567
+ name: "deposit_fee_multiplier",
16568
+ docs: [
16569
+ "Multiplier for deposit fee calculation, this would be average \"pay rate x number of epochs we expect the stake to warm up\""
16570
+ ],
16571
+ type: "u16"
16572
+ },
16573
+ {
16574
+ name: "min_vpp_entry",
16575
+ docs: [
16576
+ "Minimum VPP score required to enter the active validator set, this is a fall back for when the val set is really small"
16577
+ ],
16578
+ type: "u16"
16579
+ },
16580
+ {
16581
+ name: "min_vpp_exit",
16582
+ docs: [
16583
+ "VPP score threshold below which a validator is removed from active set, again a fall back"
16584
+ ],
16585
+ type: "u16"
16586
+ },
16587
+ {
16588
+ name: "tiny_network_threshold",
16589
+ docs: [
16590
+ "Max validators for \"tiny\" network band (uses fixed VPP thresholds) as above"
16591
+ ],
16592
+ type: "u16"
16593
+ },
16594
+ {
16595
+ name: "small_network_threshold",
16596
+ docs: [
16597
+ "Max validators for \"small\" network band (uses percentile-based selection)"
16598
+ ],
16599
+ type: "u16"
16600
+ },
16601
+ {
16602
+ name: "medium_network_threshold",
16603
+ docs: [
16604
+ "Max validators for \"medium\" network band (uses percentile-based selection)"
16605
+ ],
16606
+ type: "u16"
16607
+ },
16608
+ {
16609
+ name: "large_network_entry_rank",
16610
+ docs: [
16611
+ "Fixed rank threshold to enter active set in large networks (0-indexed)"
16612
+ ],
16613
+ type: "u16"
16614
+ },
16615
+ {
16616
+ name: "large_network_exit_rank",
16617
+ docs: [
16618
+ "Fixed rank threshold to exit active set in large networks (0-indexed)"
16619
+ ],
16620
+ type: "u16"
16621
+ },
16622
+ {
16623
+ name: "_reserved_u16",
16624
+ type: {
16625
+ array: [
16626
+ "u16",
16627
+ 3
16628
+ ]
16629
+ }
16630
+ },
16631
+ {
16632
+ name: "small_network_entry_percent",
16633
+ docs: [
16634
+ "Percentile rank required to enter active set in small networks"
16635
+ ],
16636
+ type: "u8"
16637
+ },
16638
+ {
16639
+ name: "small_network_exit_percent",
16640
+ docs: [
16641
+ "Percentile rank below which validators exit in small networks"
16642
+ ],
16643
+ type: "u8"
16644
+ },
16645
+ {
16646
+ name: "medium_network_entry_percent",
16647
+ docs: [
16648
+ "Percentile rank required to enter active set in medium networks"
16649
+ ],
16650
+ type: "u8"
16651
+ },
16652
+ {
16653
+ name: "medium_network_exit_percent",
16654
+ docs: [
16655
+ "Percentile rank below which validators exit in medium networks"
16656
+ ],
16657
+ type: "u8"
16658
+ },
16659
+ {
16660
+ name: "_reserved_u8",
16661
+ type: {
16662
+ array: [
16663
+ "u8",
16664
+ 2
16665
+ ]
16666
+ }
16667
+ },
16668
+ {
16669
+ name: "feature_flags",
16670
+ docs: [
16671
+ "Bit 0: DepositsEnabled, Bit 1: WithdrawalsEnabled, Bit 2: ClaimWithdrawalsEnabled,",
16672
+ "Bit 3: ProcessStakeOrdersEnabled, Bit 4: ProcessUnstakeOrdersEnabled,",
16673
+ "Bit 5: ProcessPayCycleEnabled, Bit 6: RebalancingEnabled, Bits 7-15: Reserved"
16674
+ ],
16675
+ type: "u16"
16676
+ },
16677
+ {
16678
+ name: "_reserved_flags",
16679
+ type: {
16680
+ array: [
16681
+ "u16",
16682
+ 1
16683
+ ]
16684
+ }
16685
+ }
16686
+ ]
16687
+ }
15477
16688
  }
15478
16689
  ];
15479
16690
  var devnetTransferHookIDL = {
@@ -16391,7 +17602,8 @@ class DistributionClient {
16391
17602
  liqsolMint,
16392
17603
  bucketAuthority,
16393
17604
  bucketTokenAccount,
16394
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
17605
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID,
17606
+ systemProgram: web3_js.SystemProgram.programId
16395
17607
  }).instruction();
16396
17608
  });
16397
17609
  }