@perena/vault-sdk 1.0.38 → 1.0.40

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/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { address } from '@solana/kit';
4
4
  import * as _solana_web3_js from '@solana/web3.js';
5
5
  import { PublicKey, Connection, AccountMeta, Keypair, SimulatedTransactionResponse, Transaction, TransactionInstruction } from '@solana/web3.js';
6
6
  import * as _anchor_lang_core from '@anchor-lang/core';
7
- import { Program, IdlAccounts, BN, AnchorProvider } from '@anchor-lang/core';
7
+ import { IdlAccounts, Program, BN, AnchorProvider } from '@anchor-lang/core';
8
8
  import { AssociatedTokenSeeds } from '@solana-program/token';
9
9
 
10
10
  /** Bankineco program id (local). Hosts new vault instructions. */
@@ -112,6 +112,71 @@ type Bankineco = {
112
112
  ];
113
113
  "args": [];
114
114
  },
115
+ {
116
+ "name": "addIncentiveRecipient";
117
+ "discriminator": [
118
+ 123,
119
+ 176,
120
+ 195,
121
+ 92,
122
+ 173,
123
+ 15,
124
+ 58,
125
+ 43
126
+ ];
127
+ "accounts": [
128
+ {
129
+ "name": "curator";
130
+ "signer": true;
131
+ },
132
+ {
133
+ "name": "vault";
134
+ "writable": true;
135
+ },
136
+ {
137
+ "name": "incentive";
138
+ "writable": true;
139
+ }
140
+ ];
141
+ "args": [
142
+ {
143
+ "name": "wallet";
144
+ "type": "pubkey";
145
+ }
146
+ ];
147
+ },
148
+ {
149
+ "name": "cancelIncentiveProposal";
150
+ "discriminator": [
151
+ 130,
152
+ 245,
153
+ 210,
154
+ 51,
155
+ 150,
156
+ 220,
157
+ 58,
158
+ 96
159
+ ];
160
+ "accounts": [
161
+ {
162
+ "name": "authority";
163
+ "signer": true;
164
+ },
165
+ {
166
+ "name": "vault";
167
+ },
168
+ {
169
+ "name": "incentive";
170
+ "writable": true;
171
+ }
172
+ ];
173
+ "args": [
174
+ {
175
+ "name": "roundId";
176
+ "type": "u64";
177
+ }
178
+ ];
179
+ },
115
180
  {
116
181
  "name": "cancelJuniorTrancheWithdraw";
117
182
  "discriminator": [
@@ -617,6 +682,73 @@ type Bankineco = {
617
682
  }
618
683
  ];
619
684
  },
685
+ {
686
+ "name": "createIncentive";
687
+ "discriminator": [
688
+ 201,
689
+ 74,
690
+ 205,
691
+ 206,
692
+ 209,
693
+ 21,
694
+ 152,
695
+ 179
696
+ ];
697
+ "accounts": [
698
+ {
699
+ "name": "curator";
700
+ "writable": true;
701
+ "signer": true;
702
+ },
703
+ {
704
+ "name": "vault";
705
+ },
706
+ {
707
+ "name": "incentive";
708
+ "writable": true;
709
+ "pda": {
710
+ "seeds": [
711
+ {
712
+ "kind": "const";
713
+ "value": [
714
+ 105,
715
+ 110,
716
+ 99,
717
+ 101,
718
+ 110,
719
+ 116,
720
+ 105,
721
+ 118,
722
+ 101
723
+ ];
724
+ },
725
+ {
726
+ "kind": "account";
727
+ "path": "vault";
728
+ },
729
+ {
730
+ "kind": "arg";
731
+ "path": "args.id";
732
+ }
733
+ ];
734
+ };
735
+ },
736
+ {
737
+ "name": "systemProgram";
738
+ "address": "11111111111111111111111111111111";
739
+ }
740
+ ];
741
+ "args": [
742
+ {
743
+ "name": "args";
744
+ "type": {
745
+ "defined": {
746
+ "name": "createIncentiveArgs";
747
+ };
748
+ };
749
+ }
750
+ ];
751
+ },
620
752
  {
621
753
  "name": "createVault";
622
754
  "discriminator": [
@@ -788,6 +920,41 @@ type Bankineco = {
788
920
  ];
789
921
  "args": [];
790
922
  },
923
+ {
924
+ "name": "distributeIncentive";
925
+ "discriminator": [
926
+ 172,
927
+ 211,
928
+ 121,
929
+ 130,
930
+ 226,
931
+ 29,
932
+ 17,
933
+ 199
934
+ ];
935
+ "accounts": [
936
+ {
937
+ "name": "cranker";
938
+ "signer": true;
939
+ },
940
+ {
941
+ "name": "vault";
942
+ "writable": true;
943
+ },
944
+ {
945
+ "name": "incentive";
946
+ "writable": true;
947
+ },
948
+ {
949
+ "name": "shareMint";
950
+ "writable": true;
951
+ },
952
+ {
953
+ "name": "shareTokenProgram";
954
+ }
955
+ ];
956
+ "args": [];
957
+ },
791
958
  {
792
959
  "name": "executeDeposit";
793
960
  "discriminator": [
@@ -5814,6 +5981,43 @@ type Bankineco = {
5814
5981
  }
5815
5982
  ];
5816
5983
  },
5984
+ {
5985
+ "name": "setIncentiveLimits";
5986
+ "discriminator": [
5987
+ 22,
5988
+ 243,
5989
+ 182,
5990
+ 1,
5991
+ 240,
5992
+ 9,
5993
+ 174,
5994
+ 175
5995
+ ];
5996
+ "accounts": [
5997
+ {
5998
+ "name": "curator";
5999
+ "signer": true;
6000
+ },
6001
+ {
6002
+ "name": "vault";
6003
+ "writable": true;
6004
+ },
6005
+ {
6006
+ "name": "incentive";
6007
+ "writable": true;
6008
+ }
6009
+ ];
6010
+ "args": [
6011
+ {
6012
+ "name": "maxTotalShares";
6013
+ "type": "u64";
6014
+ },
6015
+ {
6016
+ "name": "minSurplusReserve";
6017
+ "type": "u64";
6018
+ }
6019
+ ];
6020
+ },
5817
6021
  {
5818
6022
  "name": "setManagerWithdrawDestination";
5819
6023
  "discriminator": [
@@ -5829,6 +6033,10 @@ type Bankineco = {
5829
6033
  "accounts": [
5830
6034
  {
5831
6035
  "name": "curator";
6036
+ "docs": [
6037
+ "Curator for staging/replacing/clearing a destination, or fulfiller for",
6038
+ "confirming an exact pending destination after its timelock expires."
6039
+ ];
5832
6040
  "signer": true;
5833
6041
  },
5834
6042
  {
@@ -5909,6 +6117,10 @@ type Bankineco = {
5909
6117
  "accounts": [
5910
6118
  {
5911
6119
  "name": "curator";
6120
+ "docs": [
6121
+ "Curator for configuration changes, or fulfiller when settling expired",
6122
+ "pending role updates with an otherwise empty config update."
6123
+ ];
5912
6124
  "signer": true;
5913
6125
  },
5914
6126
  {
@@ -5931,6 +6143,63 @@ type Bankineco = {
5931
6143
  }
5932
6144
  ];
5933
6145
  },
6146
+ {
6147
+ "name": "submitIncentive";
6148
+ "discriminator": [
6149
+ 254,
6150
+ 156,
6151
+ 245,
6152
+ 213,
6153
+ 133,
6154
+ 22,
6155
+ 132,
6156
+ 222
6157
+ ];
6158
+ "accounts": [
6159
+ {
6160
+ "name": "oracle";
6161
+ "signer": true;
6162
+ },
6163
+ {
6164
+ "name": "vault";
6165
+ "writable": true;
6166
+ },
6167
+ {
6168
+ "name": "incentive";
6169
+ "writable": true;
6170
+ },
6171
+ {
6172
+ "name": "vaultOracle";
6173
+ "writable": true;
6174
+ },
6175
+ {
6176
+ "name": "shareMint";
6177
+ },
6178
+ {
6179
+ "name": "vaultTrancheState";
6180
+ "writable": true;
6181
+ "optional": true;
6182
+ },
6183
+ {
6184
+ "name": "juniorTrancheShareMint";
6185
+ "optional": true;
6186
+ },
6187
+ {
6188
+ "name": "seniorTrancheShareMint";
6189
+ "optional": true;
6190
+ }
6191
+ ];
6192
+ "args": [
6193
+ {
6194
+ "name": "args";
6195
+ "type": {
6196
+ "defined": {
6197
+ "name": "submitIncentiveArgs";
6198
+ };
6199
+ };
6200
+ }
6201
+ ];
6202
+ },
5934
6203
  {
5935
6204
  "name": "updateAssetPrice";
5936
6205
  "discriminator": [
@@ -6048,6 +6317,10 @@ type Bankineco = {
6048
6317
  "accounts": [
6049
6318
  {
6050
6319
  "name": "curator";
6320
+ "docs": [
6321
+ "Curator for staging/replacing a signer set, or fulfiller for confirming",
6322
+ "the exact pending signer set after its timelock expires."
6323
+ ];
6051
6324
  "signer": true;
6052
6325
  },
6053
6326
  {
@@ -6413,6 +6686,19 @@ type Bankineco = {
6413
6686
  119
6414
6687
  ];
6415
6688
  },
6689
+ {
6690
+ "name": "vaultIncentive";
6691
+ "discriminator": [
6692
+ 120,
6693
+ 176,
6694
+ 124,
6695
+ 51,
6696
+ 97,
6697
+ 144,
6698
+ 12,
6699
+ 50
6700
+ ];
6701
+ },
6416
6702
  {
6417
6703
  "name": "vaultOracle";
6418
6704
  "discriminator": [
@@ -6453,6 +6739,34 @@ type Bankineco = {
6453
6739
  ];
6454
6740
  }
6455
6741
  ];
6742
+ "events": [
6743
+ {
6744
+ "name": "incentiveDistributed";
6745
+ "discriminator": [
6746
+ 149,
6747
+ 100,
6748
+ 29,
6749
+ 146,
6750
+ 164,
6751
+ 197,
6752
+ 158,
6753
+ 34
6754
+ ];
6755
+ },
6756
+ {
6757
+ "name": "incentiveReserved";
6758
+ "discriminator": [
6759
+ 168,
6760
+ 145,
6761
+ 110,
6762
+ 44,
6763
+ 228,
6764
+ 193,
6765
+ 56,
6766
+ 235
6767
+ ];
6768
+ }
6769
+ ];
6456
6770
  "errors": [
6457
6771
  {
6458
6772
  "code": 14001;
@@ -6720,8 +7034,8 @@ type Bankineco = {
6720
7034
  {
6721
7035
  "name": "maxApyBps";
6722
7036
  "docs": [
6723
- "Maximum annualized APY accepted between oracle NAV updates, in basis",
6724
- "points."
7037
+ "Maximum annualized APY accepted between oracle NAV updates that advance",
7038
+ "the vault's regular performance-fee high-water mark, in basis points."
6725
7039
  ];
6726
7040
  "type": "u16";
6727
7041
  },
@@ -6984,16 +7298,41 @@ type Bankineco = {
6984
7298
  };
6985
7299
  },
6986
7300
  {
6987
- "name": "externalLiquiditySlot";
6988
- "serialization": "bytemuck";
6989
- "repr": {
6990
- "kind": "c";
6991
- };
7301
+ "name": "createIncentiveArgs";
6992
7302
  "type": {
6993
7303
  "kind": "struct";
6994
7304
  "fields": [
6995
7305
  {
6996
- "name": "data";
7306
+ "name": "id";
7307
+ "type": "u64";
7308
+ },
7309
+ {
7310
+ "name": "recipients";
7311
+ "type": {
7312
+ "vec": "pubkey";
7313
+ };
7314
+ },
7315
+ {
7316
+ "name": "maxTotalShares";
7317
+ "docs": [
7318
+ "Lifetime cap across the campaign, including shares already distributed."
7319
+ ];
7320
+ "type": "u64";
7321
+ }
7322
+ ];
7323
+ };
7324
+ },
7325
+ {
7326
+ "name": "externalLiquiditySlot";
7327
+ "serialization": "bytemuck";
7328
+ "repr": {
7329
+ "kind": "c";
7330
+ };
7331
+ "type": {
7332
+ "kind": "struct";
7333
+ "fields": [
7334
+ {
7335
+ "name": "data";
6997
7336
  "type": {
6998
7337
  "array": [
6999
7338
  "u8",
@@ -7128,6 +7467,94 @@ type Bankineco = {
7128
7467
  ];
7129
7468
  };
7130
7469
  },
7470
+ {
7471
+ "name": "incentiveDistributed";
7472
+ "type": {
7473
+ "kind": "struct";
7474
+ "fields": [
7475
+ {
7476
+ "name": "vault";
7477
+ "type": "pubkey";
7478
+ },
7479
+ {
7480
+ "name": "incentive";
7481
+ "type": "pubkey";
7482
+ },
7483
+ {
7484
+ "name": "shares";
7485
+ "type": "u64";
7486
+ }
7487
+ ];
7488
+ };
7489
+ },
7490
+ {
7491
+ "name": "incentiveRecipient";
7492
+ "serialization": "bytemuck";
7493
+ "repr": {
7494
+ "kind": "c";
7495
+ };
7496
+ "type": {
7497
+ "kind": "struct";
7498
+ "fields": [
7499
+ {
7500
+ "name": "wallet";
7501
+ "type": "pubkey";
7502
+ },
7503
+ {
7504
+ "name": "oracleTotals";
7505
+ "docs": [
7506
+ "Cumulative share amounts proposed by the first two vault oracle slots."
7507
+ ];
7508
+ "type": {
7509
+ "array": [
7510
+ "u64",
7511
+ 2
7512
+ ];
7513
+ };
7514
+ },
7515
+ {
7516
+ "name": "settledTotal";
7517
+ "type": "u64";
7518
+ },
7519
+ {
7520
+ "name": "distributedTotal";
7521
+ "type": "u64";
7522
+ }
7523
+ ];
7524
+ };
7525
+ },
7526
+ {
7527
+ "name": "incentiveReserved";
7528
+ "type": {
7529
+ "kind": "struct";
7530
+ "fields": [
7531
+ {
7532
+ "name": "vault";
7533
+ "type": "pubkey";
7534
+ },
7535
+ {
7536
+ "name": "incentive";
7537
+ "type": "pubkey";
7538
+ },
7539
+ {
7540
+ "name": "roundId";
7541
+ "type": "u64";
7542
+ },
7543
+ {
7544
+ "name": "additionalShares";
7545
+ "type": "u64";
7546
+ },
7547
+ {
7548
+ "name": "curatorShares";
7549
+ "type": "u64";
7550
+ },
7551
+ {
7552
+ "name": "surplusValue";
7553
+ "type": "u64";
7554
+ }
7555
+ ];
7556
+ };
7557
+ },
7131
7558
  {
7132
7559
  "name": "initializeVaultRolesArgs";
7133
7560
  "type": {
@@ -7871,6 +8298,35 @@ type Bankineco = {
7871
8298
  ];
7872
8299
  };
7873
8300
  },
8301
+ {
8302
+ "name": "submitIncentiveArgs";
8303
+ "type": {
8304
+ "kind": "struct";
8305
+ "fields": [
8306
+ {
8307
+ "name": "roundId";
8308
+ "type": "u64";
8309
+ },
8310
+ {
8311
+ "name": "totals";
8312
+ "docs": [
8313
+ "One cumulative share total per active recipient, in registration order."
8314
+ ];
8315
+ "type": {
8316
+ "vec": "u64";
8317
+ };
8318
+ },
8319
+ {
8320
+ "name": "expiresAt";
8321
+ "type": "i64";
8322
+ },
8323
+ {
8324
+ "name": "maxSurplusValue";
8325
+ "type": "u64";
8326
+ }
8327
+ ];
8328
+ };
8329
+ },
7874
8330
  {
7875
8331
  "name": "timelockState";
7876
8332
  "docs": [
@@ -8300,7 +8756,7 @@ type Bankineco = {
8300
8756
  {
8301
8757
  "name": "totalMintSupply";
8302
8758
  "docs": [
8303
- "Effective share supply: physical mint supply plus unminted fee shares."
8759
+ "Effective share supply: physical mint supply plus all unminted claims."
8304
8760
  ];
8305
8761
  "type": "u64";
8306
8762
  },
@@ -8381,12 +8837,19 @@ type Bankineco = {
8381
8837
  };
8382
8838
  };
8383
8839
  },
8840
+ {
8841
+ "name": "pendingIncentiveShares";
8842
+ "docs": [
8843
+ "Reserved shares across every incentive PDA. Already in effective supply."
8844
+ ];
8845
+ "type": "u64";
8846
+ },
8384
8847
  {
8385
8848
  "name": "padding1";
8386
8849
  "type": {
8387
8850
  "array": [
8388
8851
  "u64",
8389
- 22
8852
+ 21
8390
8853
  ];
8391
8854
  };
8392
8855
  },
@@ -8482,12 +8945,19 @@ type Bankineco = {
8482
8945
  ];
8483
8946
  "type": "i64";
8484
8947
  },
8948
+ {
8949
+ "name": "incentiveMinSurplusReserve";
8950
+ "docs": [
8951
+ "Minimum surplus retained after any incentive reservation, in accounting units."
8952
+ ];
8953
+ "type": "u64";
8954
+ },
8485
8955
  {
8486
8956
  "name": "padding3";
8487
8957
  "type": {
8488
8958
  "array": [
8489
8959
  "u64",
8490
- 22
8960
+ 21
8491
8961
  ];
8492
8962
  };
8493
8963
  }
@@ -8506,8 +8976,8 @@ type Bankineco = {
8506
8976
  {
8507
8977
  "name": "juniorFloorApyBps";
8508
8978
  "docs": [
8509
- "Floor APY for the junior tranche, in basis points. Zero disables the",
8510
- "floor. Shortfalls are funded from the untranched sleeve, never senior."
8979
+ "Fixed-return floor for the junior tranche, in basis points. It is funded",
8980
+ "only from positive regular-sleeve gains, never senior. Zero disables it."
8511
8981
  ];
8512
8982
  "type": "u16";
8513
8983
  },
@@ -8840,6 +9310,95 @@ type Bankineco = {
8840
9310
  ];
8841
9311
  };
8842
9312
  },
9313
+ {
9314
+ "name": "vaultIncentive";
9315
+ "docs": [
9316
+ "One reusable campaign. Recipients are append-only; claims never change owners."
9317
+ ];
9318
+ "serialization": "bytemuck";
9319
+ "repr": {
9320
+ "kind": "c";
9321
+ };
9322
+ "type": {
9323
+ "kind": "struct";
9324
+ "fields": [
9325
+ {
9326
+ "name": "vault";
9327
+ "type": "pubkey";
9328
+ },
9329
+ {
9330
+ "name": "id";
9331
+ "type": "u64";
9332
+ },
9333
+ {
9334
+ "name": "roundId";
9335
+ "docs": [
9336
+ "Incremented after settlement, cancellation, or recipient/limit changes."
9337
+ ];
9338
+ "type": "u64";
9339
+ },
9340
+ {
9341
+ "name": "expiresAt";
9342
+ "type": "i64";
9343
+ },
9344
+ {
9345
+ "name": "maxSurplusValue";
9346
+ "docs": [
9347
+ "Both reporters must approve this maximum accounting-value surplus debit."
9348
+ ];
9349
+ "type": "u64";
9350
+ },
9351
+ {
9352
+ "name": "maxTotalShares";
9353
+ "docs": [
9354
+ "Curator-authorized lifetime share cap across all recipients."
9355
+ ];
9356
+ "type": "u64";
9357
+ },
9358
+ {
9359
+ "name": "recipients";
9360
+ "type": {
9361
+ "array": [
9362
+ {
9363
+ "defined": {
9364
+ "name": "incentiveRecipient";
9365
+ };
9366
+ },
9367
+ 5
9368
+ ];
9369
+ };
9370
+ },
9371
+ {
9372
+ "name": "bump";
9373
+ "type": "u8";
9374
+ },
9375
+ {
9376
+ "name": "recipientCount";
9377
+ "type": "u8";
9378
+ },
9379
+ {
9380
+ "name": "submitted";
9381
+ "docs": [
9382
+ "Zero-valued reports still set their corresponding bit."
9383
+ ];
9384
+ "type": "u8";
9385
+ },
9386
+ {
9387
+ "name": "version";
9388
+ "type": "u8";
9389
+ },
9390
+ {
9391
+ "name": "padding";
9392
+ "type": {
9393
+ "array": [
9394
+ "u8",
9395
+ 4
9396
+ ];
9397
+ };
9398
+ }
9399
+ ];
9400
+ };
9401
+ },
8843
9402
  {
8844
9403
  "name": "vaultOracle";
8845
9404
  "serialization": "bytemuck";
@@ -9145,15 +9704,14 @@ type Bankineco = {
9145
9704
  "disables the floor.",
9146
9705
  "",
9147
9706
  "When junior's realized growth falls short of this floor, the shortfall is",
9148
- "topped up from the *untranched* (regular) sleeve's value, never from the",
9149
- "senior tranche -- senior's fixed-APY entitlement is settled first and is",
9150
- "untouched by the floor. The top-up is best-effort: it is capped by the",
9151
- "untranched sleeve's available value, and any unpaid remainder stays",
9152
- "outstanding against the durable junior anchor",
9707
+ "topped up from the *positive gain* of the untranched (regular) sleeve,",
9708
+ "never from regular principal or the senior tranche. Senior's fixed-APY",
9709
+ "entitlement is settled first and is untouched by the floor. The top-up is",
9710
+ "best-effort: any unpaid remainder stays outstanding against the durable",
9711
+ "junior anchor",
9153
9712
  "(`VaultTrancheState::junior_apy_anchor_share_price`) so it can be paid on",
9154
- "a later settlement while junior remains at or above its high-water mark.",
9155
- "Below that mark the floor is suspended, the accrued shortfall is forgiven,",
9156
- "and a fresh prospective floor regime begins only after natural recovery."
9713
+ "a later positive-NAV settlement. Flat and negative NAV settlements pay",
9714
+ "nothing but do not reset or forgive the accrued shortfall."
9157
9715
  ];
9158
9716
  "type": "u16";
9159
9717
  },
@@ -9253,8 +9811,8 @@ type Bankineco = {
9253
9811
  "name": "juniorApyAnchorSharePrice";
9254
9812
  "docs": [
9255
9813
  "Junior share price at the start of the current floor-APY regime. The",
9256
- "anchor stays fixed while the class is healthy, but resets when junior",
9257
- "recovers from a drawdown so floor yield never accrues while underwater."
9814
+ "anchor stays fixed through gains and losses so unpaid fixed-return",
9815
+ "shortfalls can carry into later positive-NAV settlements."
9258
9816
  ];
9259
9817
  "type": "u64";
9260
9818
  },
@@ -9268,8 +9826,9 @@ type Bankineco = {
9268
9826
  {
9269
9827
  "name": "juniorFloorUnderwater";
9270
9828
  "docs": [
9271
- "Non-zero while junior's post-fee share price is below its high-water",
9272
- "mark. During this state the floor is suspended and accrues no arrears."
9829
+ "Legacy floor-suspension flag retained for account-layout compatibility.",
9830
+ "The gain-funded floor no longer uses an underwater state and clears this",
9831
+ "field on settlement."
9273
9832
  ];
9274
9833
  "type": "u64";
9275
9834
  },
@@ -9299,9 +9858,10 @@ type Bankineco = {
9299
9858
  {
9300
9859
  "name": "juniorFloorApyBps";
9301
9860
  "docs": [
9302
- "Floor APY for the junior tranche, in basis points. Zero disables the",
9303
- "floor. Setting this starts a fresh regime: any shortfall accrued under",
9304
- "the previous value is forfeited."
9861
+ "Fixed-return floor for the junior tranche, in basis points. It is funded",
9862
+ "only from positive regular-sleeve gains. Zero disables it. Setting this",
9863
+ "starts a fresh regime: any shortfall accrued under the previous value is",
9864
+ "forfeited."
9305
9865
  ];
9306
9866
  "type": {
9307
9867
  "option": "u16";
@@ -9639,6 +10199,8 @@ declare abstract class SingleInstructionBuilderService<TContext, TIxArgs, TTxArg
9639
10199
  declare class PdaClient {
9640
10200
  private readonly programAddress;
9641
10201
  constructor(programAddress: Address);
10202
+ /** Seeds: `["incentive", vault, id_u64_le]`. */
10203
+ deriveIncentivePda(vault: Address, id: bigint): Promise<readonly [Address, ProgramDerivedAddressBump]>;
9642
10204
  /**
9643
10205
  * Vault PDA for a global vault id.
9644
10206
  *
@@ -9679,6 +10241,11 @@ declare const VAULT_TRANCHE_STATE_CACHE_CATEGORY = "vault_tranche_state";
9679
10241
  declare const VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY = "vault_tranche_withdrawal_queue";
9680
10242
  /** Decoded on-chain `Vault` account (from generated IDL types). */
9681
10243
  type VaultAccountData = IdlAccounts<Vault>["vault"];
10244
+ type VaultIncentiveAccountData = IdlAccounts<Vault>["vaultIncentive"];
10245
+ interface VaultIncentiveAccount {
10246
+ publicKey: Address;
10247
+ account: VaultIncentiveAccountData;
10248
+ }
9682
10249
  type ExternalLiquiditySlot = VaultAccountData["externalLiquidity"][number];
9683
10250
  type FeeVaultAccountData = IdlAccounts<Vault>["feeVault"];
9684
10251
  type VaultOracleAccountData = IdlAccounts<Vault>["vaultOracle"];
@@ -9690,6 +10257,18 @@ type VaultTrancheWithdrawalQueueAccountData = IdlAccounts<Vault>["vaultWithdrawa
9690
10257
  declare class AccountClient extends BaseAccountClient {
9691
10258
  private readonly program;
9692
10259
  readonly pda: PdaClient;
10260
+ /** Always fresh: callers use the proposal round and cumulative entitlements. */
10261
+ fetchIncentive(incentive: Address): Promise<VaultIncentiveAccountData>;
10262
+ /** Fresh lookup; returns null for missing or uninitialized accounts. */
10263
+ fetchIncentiveNullable(incentive: Address): Promise<VaultIncentiveAccountData | null>;
10264
+ /** Derive the campaign address from its vault and u64 ID, then fetch fresh. */
10265
+ fetchIncentiveForVault(vault: Address, id: bigint): Promise<VaultIncentiveAccountData>;
10266
+ /** Fresh batch lookup preserving input order, duplicates, and missing entries. */
10267
+ fetchIncentives(incentives: Address[]): Promise<(VaultIncentiveAccountData | null)[]>;
10268
+ /** Discover all campaigns for one vault. Results are fresh and unordered. */
10269
+ fetchAllIncentivesForVault(vault: Address): Promise<VaultIncentiveAccount[]>;
10270
+ /** Live on-chain Unix seconds for proposal expiry; never cached or based on block history. */
10271
+ fetchClockUnixTimestamp(): Promise<bigint>;
9693
10272
  constructor(program: Program<Vault>, pda: PdaClient, rpc: Rpc<SolanaRpcApi>);
9694
10273
  fetchVault(vault: Address, opts?: {
9695
10274
  fresh?: boolean;
@@ -9824,6 +10403,7 @@ interface CreateVaultIxArgs {
9824
10403
  vaultOracle: Address;
9825
10404
  feeVault: Address;
9826
10405
  shareMint: Address;
10406
+ shareTokenProgram?: Address;
9827
10407
  assetMint: Address;
9828
10408
  assetTokenProgram: Address;
9829
10409
  params: CreateVaultParams;
@@ -9831,6 +10411,8 @@ interface CreateVaultIxArgs {
9831
10411
  interface CreateVaultTxArgs {
9832
10412
  curator: Address;
9833
10413
  shareMint: Address;
10414
+ /** Defaults to the actual share mint's owning token program. */
10415
+ shareTokenProgram?: Address;
9834
10416
  strictAssetMint: Address;
9835
10417
  vaultId?: number;
9836
10418
  hwManager?: Address;
@@ -10073,10 +10655,10 @@ interface CreateTrancheStateIxArgs {
10073
10655
  vaultOracle?: Address;
10074
10656
  seniorFixedApyBps: number;
10075
10657
  /**
10076
- * Junior floor APY in basis points. Zero disables the floor. Shortfalls are
10077
- * funded from the untranched sleeve, never from the senior tranche. The floor
10078
- * is suspended without arrears while junior is below its high-water mark and
10079
- * restarts prospectively after natural recovery.
10658
+ * Junior fixed-return floor in basis points. Zero disables it. Shortfalls are
10659
+ * funded only from positive untranched-sleeve gains, never from existing
10660
+ * regular principal or the senior tranche. Unpaid shortfalls carry forward
10661
+ * through flat and negative NAV settlements.
10080
10662
  */
10081
10663
  juniorFloorApyBps: number;
10082
10664
  earlyUnstakeFeeBps: number;
@@ -10093,7 +10675,7 @@ interface CreateTrancheStateTxArgs {
10093
10675
  seniorShareMint: Address;
10094
10676
  vaultOracle?: Address;
10095
10677
  seniorFixedApyBps?: number;
10096
- /** Junior floor APY in basis points. Zero disables the floor. */
10678
+ /** Junior fixed-return floor in basis points. Zero disables it. */
10097
10679
  juniorFloorApyBps?: number;
10098
10680
  earlyUnstakeFeeBps?: number;
10099
10681
  standardUnstakeFeeBps?: number;
@@ -10126,7 +10708,7 @@ interface UpdateTrancheConfigTxArgs {
10126
10708
  vaultTrancheState?: Address;
10127
10709
  vaultOracle?: Address;
10128
10710
  seniorFixedApyBps?: number;
10129
- /** Junior floor APY in basis points. Zero disables the floor. */
10711
+ /** Junior fixed-return floor in basis points. Zero disables it. */
10130
10712
  juniorFloorApyBps?: number;
10131
10713
  earlyUnstakeFeeBps?: number;
10132
10714
  standardUnstakeFeeBps?: number;
@@ -10738,6 +11320,104 @@ declare abstract class VaultBuilderBase<TIxArgs, TTxArgs = TIxArgs, TTxPlan exte
10738
11320
  protected get rpc(): _solana_kit.Rpc<_solana_kit.RequestAirdropApi & _solana_kit.GetAccountInfoApi & _solana_kit.GetBalanceApi & _solana_kit.GetBlockApi & _solana_kit.GetBlockCommitmentApi & _solana_kit.GetBlockHeightApi & _solana_kit.GetBlockProductionApi & _solana_kit.GetBlocksApi & _solana_kit.GetBlocksWithLimitApi & _solana_kit.GetBlockTimeApi & _solana_kit.GetClusterNodesApi & _solana_kit.GetEpochInfoApi & _solana_kit.GetEpochScheduleApi & _solana_kit.GetFeeForMessageApi & _solana_kit.GetFirstAvailableBlockApi & _solana_kit.GetGenesisHashApi & _solana_kit.GetHealthApi & _solana_kit.GetHighestSnapshotSlotApi & _solana_kit.GetIdentityApi & _solana_kit.GetInflationGovernorApi & _solana_kit.GetInflationRateApi & _solana_kit.GetInflationRewardApi & _solana_kit.GetLargestAccountsApi & _solana_kit.GetLatestBlockhashApi & _solana_kit.GetLeaderScheduleApi & _solana_kit.GetMaxRetransmitSlotApi & _solana_kit.GetMaxShredInsertSlotApi & _solana_kit.GetMinimumBalanceForRentExemptionApi & _solana_kit.GetMultipleAccountsApi & _solana_kit.GetProgramAccountsApi & _solana_kit.GetRecentPerformanceSamplesApi & _solana_kit.GetRecentPrioritizationFeesApi & _solana_kit.GetSignaturesForAddressApi & _solana_kit.GetSignatureStatusesApi & _solana_kit.GetSlotApi & _solana_kit.GetSlotLeaderApi & _solana_kit.GetSlotLeadersApi & _solana_kit.GetStakeMinimumDelegationApi & _solana_kit.GetSupplyApi & _solana_kit.GetTokenAccountBalanceApi & _solana_kit.GetTokenAccountsByDelegateApi & _solana_kit.GetTokenAccountsByOwnerApi & _solana_kit.GetTokenLargestAccountsApi & _solana_kit.GetTokenSupplyApi & _solana_kit.GetTransactionApi & _solana_kit.GetTransactionCountApi & _solana_kit.GetVersionApi & _solana_kit.GetVoteAccountsApi & _solana_kit.IsBlockhashValidApi & _solana_kit.MinimumLedgerSlotApi & _solana_kit.SendTransactionApi & _solana_kit.SimulateTransactionApi>;
10739
11321
  }
10740
11322
 
11323
+ interface CreateIncentiveTxArgs {
11324
+ curator: Address;
11325
+ vault: Address;
11326
+ id: bigint;
11327
+ recipients: Address[];
11328
+ maxTotalShares: bigint;
11329
+ }
11330
+ interface CreateIncentiveIxArgs extends CreateIncentiveTxArgs {
11331
+ incentive: Address;
11332
+ }
11333
+ declare class CreateIncentiveBuilder extends VaultBuilderBase<CreateIncentiveIxArgs, CreateIncentiveTxArgs> {
11334
+ getIx(args: CreateIncentiveIxArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11335
+ protected deriveIxArgs(args: CreateIncentiveTxArgs): Promise<CreateIncentiveIxArgs>;
11336
+ }
11337
+ interface AddIncentiveRecipientArgs {
11338
+ curator: Address;
11339
+ vault: Address;
11340
+ incentive: Address;
11341
+ wallet: Address;
11342
+ }
11343
+ declare class AddIncentiveRecipientBuilder extends VaultBuilderBase<AddIncentiveRecipientArgs> {
11344
+ getIx(args: AddIncentiveRecipientArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11345
+ }
11346
+ interface SetIncentiveLimitsArgs {
11347
+ curator: Address;
11348
+ vault: Address;
11349
+ incentive: Address;
11350
+ maxTotalShares: bigint;
11351
+ /** Vault-wide floor, in accounting units, for every campaign's surplus use. */
11352
+ minSurplusReserve: bigint;
11353
+ }
11354
+ declare class SetIncentiveLimitsBuilder extends VaultBuilderBase<SetIncentiveLimitsArgs> {
11355
+ getIx(args: SetIncentiveLimitsArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11356
+ protected buildPlanExtras(args: SetIncentiveLimitsArgs): Promise<{
11357
+ postSuccessCacheInvalidations: {
11358
+ vaultPda: Address;
11359
+ }[];
11360
+ }>;
11361
+ }
11362
+ interface SubmitIncentiveTxArgs {
11363
+ oracle: Address;
11364
+ vault: Address;
11365
+ incentive: Address;
11366
+ roundId: bigint;
11367
+ /** Cumulative lifetime totals, one per registered recipient in slot order. */
11368
+ totals: bigint[];
11369
+ expiresAt: bigint;
11370
+ maxSurplusValue: bigint;
11371
+ }
11372
+ interface SubmitIncentiveIxArgs extends SubmitIncentiveTxArgs {
11373
+ vaultOracle: Address;
11374
+ shareMint: Address;
11375
+ vaultTrancheState: Address | null;
11376
+ juniorTrancheShareMint: Address | null;
11377
+ seniorTrancheShareMint: Address | null;
11378
+ }
11379
+ declare class SubmitIncentiveBuilder extends VaultBuilderBase<SubmitIncentiveIxArgs, SubmitIncentiveTxArgs> {
11380
+ getIx(args: SubmitIncentiveIxArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11381
+ protected deriveIxArgs(args: SubmitIncentiveTxArgs): Promise<SubmitIncentiveIxArgs>;
11382
+ protected buildPlanExtras(args: SubmitIncentiveIxArgs): Promise<{
11383
+ postSuccessCacheInvalidations: {
11384
+ vaultPda: Address;
11385
+ vaultOraclePda: Address;
11386
+ vaultTrancheStatePda: Address | undefined;
11387
+ }[];
11388
+ }>;
11389
+ }
11390
+ interface CancelIncentiveProposalArgs {
11391
+ authority: Address;
11392
+ vault: Address;
11393
+ incentive: Address;
11394
+ roundId: bigint;
11395
+ }
11396
+ declare class CancelIncentiveProposalBuilder extends VaultBuilderBase<CancelIncentiveProposalArgs> {
11397
+ getIx(args: CancelIncentiveProposalArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11398
+ }
11399
+ interface DistributeIncentiveTxArgs {
11400
+ cranker: Address;
11401
+ vault: Address;
11402
+ incentive: Address;
11403
+ }
11404
+ interface DistributeIncentiveIxArgs extends DistributeIncentiveTxArgs {
11405
+ shareMint: Address;
11406
+ shareTokenProgram: Address;
11407
+ recipients: Address[];
11408
+ recipientShareAtas: Address[];
11409
+ }
11410
+ declare class DistributeIncentiveBuilder extends VaultBuilderBase<DistributeIncentiveIxArgs, DistributeIncentiveTxArgs> {
11411
+ getIx(args: DistributeIncentiveIxArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
11412
+ protected deriveIxArgs(args: DistributeIncentiveTxArgs): Promise<DistributeIncentiveIxArgs>;
11413
+ protected buildPreambleInstructions(args: DistributeIncentiveIxArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>[]>;
11414
+ protected buildPlanExtras(args: DistributeIncentiveIxArgs): Promise<{
11415
+ postSuccessCacheInvalidations: {
11416
+ vaultPda: Address;
11417
+ }[];
11418
+ }>;
11419
+ }
11420
+
10741
11421
  declare class CancelJuniorTrancheWithdrawBuilder extends VaultBuilderBase<CancelJuniorTrancheWithdrawIxArgs, CancelJuniorTrancheWithdrawTxArgs> {
10742
11422
  getIx(args: CancelJuniorTrancheWithdrawIxArgs): Promise<_solana_kit.Instruction<string, readonly (_solana_kit.AccountLookupMeta<string, string> | _solana_kit.AccountMeta<string>)[]>>;
10743
11423
  protected deriveIxArgs(txArgs: CancelJuniorTrancheWithdrawTxArgs): Promise<CancelJuniorTrancheWithdrawIxArgs>;
@@ -11267,6 +11947,12 @@ declare class VaultReallocationBuilder extends VaultBuilderBase<VaultReallocatio
11267
11947
  }
11268
11948
 
11269
11949
  declare class TransactionClient {
11950
+ readonly createIncentive: CreateIncentiveBuilder;
11951
+ readonly addIncentiveRecipient: AddIncentiveRecipientBuilder;
11952
+ readonly setIncentiveLimits: SetIncentiveLimitsBuilder;
11953
+ readonly submitIncentive: SubmitIncentiveBuilder;
11954
+ readonly cancelIncentiveProposal: CancelIncentiveProposalBuilder;
11955
+ readonly distributeIncentive: DistributeIncentiveBuilder;
11270
11956
  readonly createVault: CreateVaultBuilder;
11271
11957
  readonly initializeVaultRoles: InitializeVaultRolesBuilder;
11272
11958
  readonly createAssetHolding: CreateAssetHoldingBuilder;
@@ -11420,6 +12106,29 @@ declare function toUiAmount(amount: bigint | number, decimals: number): number;
11420
12106
  */
11421
12107
  declare function fromUiAmount(amount: number, decimals: number): bigint;
11422
12108
 
12109
+ /** Maximum number of append-only wallet owners in one campaign. */
12110
+ declare const MAX_INCENTIVE_RECIPIENTS = 5;
12111
+ /** All amounts are atomic share units, never UI amounts or accounting value. */
12112
+ interface IncentiveRecipient {
12113
+ wallet: Address;
12114
+ /** Reports from vault oracle slots 0 and 1; these may still disagree. */
12115
+ oracleTotals: readonly [bigint, bigint];
12116
+ settledTotal: bigint;
12117
+ distributedTotal: bigint;
12118
+ outstandingShares: bigint;
12119
+ }
12120
+ interface IncentiveTotals {
12121
+ settledShares: bigint;
12122
+ distributedShares: bigint;
12123
+ outstandingShares: bigint;
12124
+ }
12125
+ /** Active recipients in on-chain registration order, with bigint amounts. */
12126
+ declare function getIncentiveRecipients(incentive: VaultIncentiveAccountData): IncentiveRecipient[];
12127
+ /** Funded and paid lifetime totals; unagreed oracle reports never count as claims. */
12128
+ declare function getIncentiveTotals(incentive: VaultIncentiveAccountData): IncentiveTotals;
12129
+ /** Canonical share ATAs for every registered wallet, including zero claims and PDA owners. */
12130
+ declare function getIncentiveRecipientShareAtas(incentive: VaultIncentiveAccountData, shareMint: Address, shareTokenProgram: Address): Address[];
12131
+
11423
12132
  declare function makeProvider(connection: Connection, payer: Keypair): AnchorProvider;
11424
12133
 
11425
12134
  declare function createRpcFromConnection(connection: Connection): Rpc<SolanaRpcApi>;
@@ -11509,6 +12218,8 @@ declare function prepareVaultTransaction(args: {
11509
12218
  proposer: PublicKey;
11510
12219
  instructions: readonly TransactionInstruction[];
11511
12220
  squadsRoutes?: readonly SquadsWalletRouteConfig[];
12221
+ /** Skip execution simulation when proposing a transaction that depends on future funding. */
12222
+ skipSimulation?: boolean;
11512
12223
  }): Promise<PreparedVaultTransaction>;
11513
12224
 
11514
12225
  interface CreateTokenMintIxs {
@@ -11792,7 +12503,7 @@ interface FulfillSummary {
11792
12503
  failed: number;
11793
12504
  signatures: string[];
11794
12505
  }
11795
- type LogFn$3 = (msg: string) => void;
12506
+ type LogFn$4 = (msg: string) => void;
11796
12507
  declare class WithdrawalQueueService {
11797
12508
  private readonly client;
11798
12509
  constructor(client: VaultClient);
@@ -11820,7 +12531,7 @@ declare class WithdrawalQueueService {
11820
12531
  */
11821
12532
  fulfillAllDue(signer: Keypair, opts?: {
11822
12533
  vault?: Address;
11823
- log?: LogFn$3;
12534
+ log?: LogFn$4;
11824
12535
  }): Promise<FulfillSummary>;
11825
12536
  private toSnapshot;
11826
12537
  }
@@ -11842,7 +12553,7 @@ declare class WithdrawalQueueService {
11842
12553
  * this service only submits the resulting values on-chain.
11843
12554
  */
11844
12555
 
11845
- type LogFn$2 = (msg: string) => void;
12556
+ type LogFn$3 = (msg: string) => void;
11846
12557
  type NavCrankBlockerReason = "unpriced" | "stale";
11847
12558
  interface NavCrankBlocker {
11848
12559
  holdingIndex: number;
@@ -11895,12 +12606,12 @@ declare class OracleService {
11895
12606
  }[];
11896
12607
  assetMint?: Address;
11897
12608
  assetTokenProgram?: Address;
11898
- }, log?: LogFn$2): Promise<string>;
12609
+ }, log?: LogFn$3): Promise<string>;
11899
12610
  /** Settle the vault NAV from its current holdings (permissionless). */
11900
12611
  crankNav(cranker: Keypair, args: {
11901
12612
  vault: Address;
11902
12613
  vaultTrancheState?: Address;
11903
- }, log?: LogFn$2): Promise<string>;
12614
+ }, log?: LogFn$3): Promise<string>;
11904
12615
  /**
11905
12616
  * Check the same active-holding price preconditions that `crank_nav` enforces
11906
12617
  * before spending a transaction on the permissionless settlement.
@@ -11910,19 +12621,19 @@ declare class OracleService {
11910
12621
  crankNavIfReady(cranker: Keypair, args: {
11911
12622
  vault: Address;
11912
12623
  vaultTrancheState?: Address;
11913
- }, log?: LogFn$2): Promise<NavCrankResult>;
12624
+ }, log?: LogFn$3): Promise<NavCrankResult>;
11914
12625
  /** Re-price one live-oracle holding from its bound Pyth/nested-vault account. */
11915
12626
  refreshAssetPrice(updater: Keypair, args: {
11916
12627
  vault: Address;
11917
12628
  mint: Address;
11918
12629
  oracleAccount: Address;
11919
12630
  maxAgeSecs?: bigint;
11920
- }, log?: LogFn$2): Promise<string>;
12631
+ }, log?: LogFn$3): Promise<string>;
11921
12632
  /**
11922
12633
  * Refresh several holdings in sequence. Non-fatal: one failure is recorded
11923
12634
  * and the rest still run. Returns a per-mint result list.
11924
12635
  */
11925
- refreshAssetPrices(updater: Keypair, vault: Address, targets: AssetPriceRefreshTarget[], log?: LogFn$2): Promise<AssetRefreshResult[]>;
12636
+ refreshAssetPrices(updater: Keypair, vault: Address, targets: AssetPriceRefreshTarget[], log?: LogFn$3): Promise<AssetRefreshResult[]>;
11926
12637
  }
11927
12638
 
11928
12639
  /**
@@ -12892,9 +13603,9 @@ interface ExternalLiquidityIntegritySummary {
12892
13603
  /** True when rebalances were simulated rather than sent. */
12893
13604
  dryRun: boolean;
12894
13605
  }
12895
- type LogFn$1 = (msg: string) => void;
13606
+ type LogFn$2 = (msg: string) => void;
12896
13607
  interface ExternalLiquidityIntegrityOptions {
12897
- log?: LogFn$1;
13608
+ log?: LogFn$2;
12898
13609
  /** Simulate each rebalance instead of sending it. Nothing is submitted. */
12899
13610
  dryRun?: boolean;
12900
13611
  /**
@@ -12964,7 +13675,7 @@ declare class ExternalLiquidityIntegrityService {
12964
13675
  * Process a single vault: for each active external liquidity slot, move each
12965
13676
  * holding's balance toward the target local/external split.
12966
13677
  */
12967
- processVault(vault: Address, vaultState: VaultAccountData, hwManager: Keypair, log: LogFn$1, opts?: {
13678
+ processVault(vault: Address, vaultState: VaultAccountData, hwManager: Keypair, log: LogFn$2, opts?: {
12968
13679
  dryRun?: boolean;
12969
13680
  minAmountUi?: number;
12970
13681
  targetLocalBps?: number;
@@ -13012,7 +13723,7 @@ declare const DEFAULT_MAX_ACCOUNTS = 20;
13012
13723
  * reverts with `AssetRebalanceRateLimitExceeded`, so the run is skipped instead.
13013
13724
  */
13014
13725
  declare const ASSET_REBALANCE_COOLDOWN_SECS = 60;
13015
- type LogFn = (msg: string) => void;
13726
+ type LogFn$1 = (msg: string) => void;
13016
13727
  /** Why a run did not swap, or that it did. */
13017
13728
  type IdleLiquidityStatus = "swapped" | "simulated" | "above-floor" | "insufficient-pst" | "rebalance-cooldown" | "rebalance-limit" | "missing-holding" | "stale-price" | "no-tvl" | "failed";
13018
13729
  interface IdleLiquidityResult {
@@ -13035,7 +13746,7 @@ interface IdleLiquidityResult {
13035
13746
  signature?: string;
13036
13747
  }
13037
13748
  interface IdleLiquidityOptions {
13038
- log?: LogFn;
13749
+ log?: LogFn$1;
13039
13750
  /** Simulate the swap and stop; nothing is submitted. */
13040
13751
  dryRun?: boolean;
13041
13752
  /** Jupiter slippage tolerance for the top-up quote. */
@@ -13091,4 +13802,63 @@ declare class IdleLiquidityService {
13091
13802
  private executeSwap;
13092
13803
  }
13093
13804
 
13094
- export { ASSET_DECIMALS, ASSET_REBALANCE_COOLDOWN_SECS, type AccountBalanceResponse, AccountClient, type AccountYieldResponse, ActivateCircuitBreakerBuilder, type ActivateCircuitBreakerIxArgs, type ActivateCircuitBreakerTxArgs, type AddAprCashflowUpdateParams, type AddCashflowUpdateParams, type AddNavCashflowUpdateParams, type AprAccountBalanceResponse, type AprAccountYieldResponse, type AssetPriceOracleConfigIxArgs, type AssetPriceOracleConfigTxArgs, type AssetPriceRefreshTarget, type AssetRefreshResult, type AssetType, BALANCE_CHANGE_BASELINE_MAX_AGE_SECS, type Bankineco, type BasicAuthCredentials, type Bigintish, type BuildMarginfiWithdrawInteractionArgs, CONSENSUS_ORACLE_VARIANT, CancelJuniorTrancheWithdrawBuilder, type CancelJuniorTrancheWithdrawIxArgs, type CancelJuniorTrancheWithdrawTxArgs, type Clock, type CollectSamplesOptions, type ConsensusAssetUpdate, type ConsensusHoldingEntry, type ConsensusHoldingSimulation, type ConsensusOracleDeps, type ConsensusOracleHoldingConfig, ConsensusOracleService, type ConsensusOracleTarget, CrankNavBuilder, type CrankNavIxArgs, type CrankNavTxArgs, CrankPerformanceFeesBuilder, type CrankPerformanceFeesIxArgs, type CrankPerformanceFeesTxArgs, type CreateAccountParams, CreateAssetHoldingBuilder, type CreateAssetHoldingIxArgs, type CreateAssetHoldingTxArgs, type CreateTokenMintIxs, CreateTrancheStateBuilder, type CreateTrancheStateIxArgs, type CreateTrancheStateTxArgs, CreateVaultBuilder, type CreateVaultClientOptions, type CreateVaultIxArgs, type CreateVaultParams, type CreateVaultTxArgs, type CreateYieldPaymentParams, DEFAULT_CU_PRICE_MICRO_LAMPORTS, DEFAULT_JUNIOR_EARLY_UNSTAKE_FEE_BPS, DEFAULT_JUNIOR_STANDARD_UNSTAKE_FEE_BPS, DEFAULT_JUNIOR_WITHDRAWAL_LOCKUP_SECS, DEFAULT_MAX_ACCEPTABLE_APY_BPS, DEFAULT_MAX_ACCOUNTS, DEFAULT_MINTS, DEFAULT_MIN_AMOUNT_UI, DEFAULT_ORACLE_STALENESS_THRESHOLD_SECS, DEFAULT_PRICE_ORACLE_ACCOUNT, DEFAULT_PRICE_STALENESS_SECS, DEFAULT_PRICE_STALENESS_THRESHOLD_SECS, DEFAULT_REBALANCE_BAND_BPS, DEFAULT_SLIPPAGE_BPS, DEFAULT_TARGET_LOCAL_BPS, DEFAULT_VAULT_ID, type DecodedHolding, type DecodedVault, type DecodedVaultTrancheState, type DeleteAccountParams, DisableCircuitBreakerBuilder, type DisableCircuitBreakerIxArgs, type DisableCircuitBreakerTxArgs, EXTERNAL_POSITION_SAMPLES, ExecuteDepositBuilder, type ExecuteDepositIxArgs, type ExecuteDepositTxArgs, ExecuteShareSwapBuilder, type ExecuteShareSwapIxArgs, type ExecuteShareSwapTxArgs, ExecuteTrancheDepositBuilder, type ExecuteTrancheDepositIxArgs, type ExecuteTrancheDepositTxArgs, ExecuteTrancheWithdrawBuilder, type ExecuteTrancheWithdrawIxArgs, type ExecuteTrancheWithdrawTxArgs, ExecuteWithdrawBuilder, type ExecuteWithdrawIxArgs, type ExecuteWithdrawTxArgs, type ExternalLiquidityIntegrityOptions, type ExternalLiquidityIntegrityResult, ExternalLiquidityIntegrityService, type ExternalLiquidityIntegritySummary, type ExternalLiquiditySlot, type ExternalLiquiditySourceArgs, type ExternalPosition, type ExternalPositionContext, type ExternalPositionProvider, type ExternalPositionRef, ExternalPositionRegistry, FEE_VAULT_CACHE_CATEGORY, type FeeVaultAccountData, type FetchNestTokenPriceOptions, FulfillJuniorTrancheWithdrawBuilder, type FulfillJuniorTrancheWithdrawIxArgs, type FulfillJuniorTrancheWithdrawTxArgs, type FulfillSummary, type HoldingNavContribution, type HoldingUpdatePreview, IDL, IDLE_RESERVE_FLOOR_BPS, IDLE_RESERVE_TARGET_BPS, type IdleLiquidityOptions, type IdleLiquidityResult, IdleLiquidityService, type IdleLiquidityStatus, InitializeVaultRolesBuilder, type InitializeVaultRolesIxArgs, type InitializeVaultRolesTxArgs, type JuniorWithdrawalMode, JupiterBalanceSource, type JupiterBalanceSourceOptions, JupiterPriceSource, type JupiterPriceSourceOptions, JupiterSwapBuilder, type JupiterSwapIxArgs, type JupiterSwapTxArgs, KaminoPositionProvider, LIVE_ORACLE_VARIANTS, LIVE_PRICE_REFRESH_INTERVAL_SECS, LOCAL_PROTOCOL_ADMIN, LargeBalanceChangeError, type LargeBalanceChangeViolation, type LiveConsensusOracleDepsOptions, LivePriceSource, type LivePriceSourceOptions, MAX_BALANCE_CHANGE_BPS, MAX_CONSENSUS_SIGNERS, MAX_MANAGER_WITHDRAW_DESTINATIONS, MAX_PRICE_STALENESS_THRESHOLD_SECS, MIN_EXTERNAL_POSITION_SAMPLES, ManagerRedepositAssetBuilder, type ManagerRedepositAssetIxArgs, type ManagerRedepositAssetTxArgs, ManagerWithdrawAssetBuilder, type ManagerWithdrawAssetIxArgs, type ManagerWithdrawAssetTxArgs, MarginfiPositionProvider, type MintConfig, type MintIdentifier, type MintInfo, MintRegistry, type MintRegistryOptions, type MockYieldAccountConfig, MockYieldTracker, type MockYieldTrackerOptions, NEST_API_BASE_URL, NEST_RWA_SHARE_MINT, NEST_VAULT_SLUG, type NavAccountBalanceResponse, type NavAccountValueResponse, type NavCrankBlocker, type NavCrankBlockerReason, type NavCrankReadiness, type NavCrankResult, type NavPriceConfig, type NavYieldAccount, NestPriceSource, type NestPriceSourceOptions, ORACLE_ENTRIES_OFFSET, ORACLE_ENTRY_SIZE, ORACLE_SETTLED_NAV_TS_OFFSET, OracleService, PRICE_ORACLE_TYPES_BY_INDEX, PROGRAM_FEE_EXEMPT_OWNER_WHITELIST, PROTOCOL_ADMIN, PROTOCOL_FEE_RECIPIENT, PdaClient, type PreparedDirectTransaction, type PreparedSquadsTransaction, type PreparedVaultTransaction, type PriceOracleTypeArgs, type PriceSource, ProtocolInteractionBuilder, type ProtocolInteractionIxArgs, type ProtocolInteractionTxArgs, type QuoteFeeUnit, REPORTABLE_ORACLE_VARIANTS, type RefreshLiveOraclePricesParams, RemoveAssetHoldingBuilder, type RemoveAssetHoldingIxArgs, type RemoveAssetHoldingTxArgs, RequestJuniorTrancheWithdrawBuilder, type RequestJuniorTrancheWithdrawIxArgs, type RequestJuniorTrancheWithdrawTxArgs, type ResolveExternalWithdrawArgs, type ResolvedExternalWithdraw, type ResolvedSquadsWalletRoute, type RollingLimitConfig, type RollingRebalanceLimitConfig, type RunLiveConsensusOracleOptions, type RunOptions, type RunSummary, SHARE_DECIMALS, SYSTEM_PROGRAM, SetAssetPriceOracleBuilder, type SetAssetPriceOracleIxArgs, type SetAssetPriceOracleTxArgs, SetExternalLiquidityBuilder, type SetExternalLiquidityIxArgs, type SetExternalLiquidityTxArgs, SetManagerWithdrawDestinationBuilder, type SetManagerWithdrawDestinationIxArgs, type SetManagerWithdrawDestinationTxArgs, SetProtocolFeeBuilder, type SetProtocolFeeIxArgs, type SetProtocolFeeTxArgs, SetVaultConfigBuilder, type SetVaultConfigIxArgs, type SetVaultConfigTxArgs, type SettleVaultParams, type SettleVaultResult, type SettlementSimulation, type SettlementSimulationSnapshot, type SimulateDryRunSettlementParams, type SimulateSettlementArgs, type SimulatedShareClass, SquadsProposalExecutionSimulationError, type SquadsWalletRouteConfig, type StaleBalanceChangeBypass, StaticPositionProvider, TOKEN_PROGRAM, TOKEN_PROGRAM_ID, type TrackedAccountValue, type TrancheKindArgs, type TransactionBuilder, TransactionClient, USDC_MINT, USD_STAR_JUNIOR_MINT, USD_STAR_MINT, USD_STAR_PRINCIPAL_MINT, type UpdateAccountParams, UpdateAssetPriceBuilder, type UpdateAssetPriceIxArgs, type UpdateAssetPriceTxArgs, UpdateConsensusOracleBuilder, type UpdateConsensusOracleIxArgs, type UpdateConsensusOracleTxArgs, UpdateConsensusSignersBuilder, type UpdateConsensusSignersIxArgs, type UpdateConsensusSignersTxArgs, type UpdateDynamicAprParams, UpdateTrancheConfigBuilder, type UpdateTrancheConfigIxArgs, type UpdateTrancheConfigTxArgs, VAULT_CACHE_CATEGORY, VAULT_CREATOR_WHITELIST, VAULT_ENVIRONMENTS, VAULT_ORACLE_CACHE_CATEGORY, VAULT_PROGRAM_ID, VAULT_PROGRAM_IDS, VAULT_PROGRAM_PUBLIC_KEY, VAULT_ROLE_UPDATE_TIMELOCK_SECS, VAULT_TRANCHE_STATE_CACHE_CATEGORY, VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY, type Vault, type VaultAccountData, VaultBuilderBase, type VaultBuilderContext, type VaultCacheInvalidation, VaultClient, type VaultClientBundle, type VaultEnv, type VaultOracleAccountData, type VaultOracleResult, type VaultPricingInputs, type VaultQuote, type VaultQuoteArgs, VaultQuoteClient, type VaultQuoteDirection, type VaultQuoteShareClass, VaultReallocationBuilder, type VaultReallocationIxArgs, type VaultReallocationTxArgs, type VaultTrancheStateAccountData, type VaultTrancheWithdrawalQueueAccountData, type VaultTransactionPlan, type WalletBalanceSource, type WithdrawProtocolFeesIxArgs, type WithdrawProtocolFeesTxArgs, WithdrawalQueueService, type WithdrawalQueueSnapshot, type YieldAccount, type YieldAccountSnapshot, type YieldCalculationLog, type YieldCashflow, type YieldPaymentResponse, type YieldPaymentSnapshot, type YieldTracker, type YieldValuationModel, accountingUnitPriceToUsd, addCashflowUpdate, applyEffectiveApy, assertNoLargeBalanceChanges, assertNoUnconfirmedYieldPayments, buildHoldingUpdate, buildMarginfiWithdrawInteraction, buildUpdates, coerceBool, collectSamples, confirmYieldPayment, createAccount, createLiveConsensusOracleDeps, createRpcFromConnection, createTokenMint, createTokenMintIxs, createVaultClient, createYieldPayment, dateToStr, defaultKeypairPath, deleteAccount, discoverVaultsForSigner, fetchExternalPositions, fetchNestTokenPrice, fetchReceiptMints, filterTargetHoldings, findLargeBalanceChanges, findSquadsWalletRoute, formatSettlementSimulation, fromUiAmount, gatherPricingInputs, getAccount, getAccounts, getAprYield, getBalance, getCashflows, getNavValue, getRpcUrl, getTotalOutstandingYield, getTotalTrackedValue, getTotalYield, getTrackedValue, getVaultProgramId, getYield, getYieldPayments, indexConfigByMint, isNavAccountBalance, isNavAccountValue, isNavYieldAccount, isVaultEnv, keypairAddress, loadKeypair, logProspectiveApy, makeProvider, mintTokensTo, mints, mostFrequent, parseExternalLiquidityRefs, planRebalance, prepareVaultTransaction, priceInAccountingUnit, readI64LE, readSplMintSupply, refreshLiveOraclePrices, resolveExternalWithdraw, resolveKeypairPath, resolveSquadsWalletRoute, resolveTrackedAmounts, roundToNextUtcMidnight, runLiveConsensusOracle, selectReportableHoldings, settleVault, signerInOracleData, simulateConsensusOracleSettlement, simulateDryRunSettlement, simulateSquadsProposalExecution, sumPositionsByMint, systemClock, toBigInt, toUiAmount, toWeb3AccountMeta, trackedValueFromResponse, updateAccount, updateDynamicApr, validateSquadsWalletRoutes, variantName, vaultAuthorityForWallet, withDiscoveredYieldAccounts };
13805
+ /**
13806
+ * Timelock settlement service.
13807
+ *
13808
+ * Scans vault state for expired staged configuration and confirms it with the
13809
+ * vault's active fulfiller. Timelocks never apply merely because wall-clock
13810
+ * time passed; each one needs the corresponding on-chain instruction:
13811
+ *
13812
+ * - pending vault roles -> empty `set_vault_config`
13813
+ * - pending manager-withdraw destination -> exact
13814
+ * `set_manager_withdraw_destination`
13815
+ * - pending consensus signers -> exact `update_consensus_signers`
13816
+ *
13817
+ * Holding cooldowns are action guards rather than staged changes, and junior
13818
+ * withdrawal queues are handled by `WithdrawalQueueService`.
13819
+ */
13820
+
13821
+ type LogFn = (message: string) => void;
13822
+ type TimelockSettlementKind = "manager-withdraw-destination" | "consensus-signers" | "vault-roles";
13823
+ interface TimelockSettlementRecord {
13824
+ vault: Address;
13825
+ kind: TimelockSettlementKind;
13826
+ effectiveTs: number;
13827
+ signature?: string;
13828
+ dryRun: boolean;
13829
+ }
13830
+ interface TimelockSettlementSummary {
13831
+ vaultsScanned: number;
13832
+ scanFailed: number;
13833
+ pendingFound: number;
13834
+ skippedNotExpired: number;
13835
+ skippedAuthorityMismatch: number;
13836
+ settled: number;
13837
+ failed: number;
13838
+ records: TimelockSettlementRecord[];
13839
+ }
13840
+ interface TimelockSettlementOptions {
13841
+ /** Restrict a run to one vault; otherwise every program-owned vault is read. */
13842
+ vault?: Address;
13843
+ /** Simulate due confirmations without submitting them. */
13844
+ dryRun?: boolean;
13845
+ log?: LogFn;
13846
+ /** Override chain time for deterministic tests. */
13847
+ now?: number;
13848
+ }
13849
+ interface PendingConsensusSignerSet {
13850
+ signers: Address[];
13851
+ effectiveTs: number;
13852
+ }
13853
+ /** Decode the pending signer set from the zero-copy consensus-oracle payload. */
13854
+ declare function decodePendingConsensusSigners(data: readonly number[]): PendingConsensusSignerSet | null;
13855
+ declare class TimelockSettlementService {
13856
+ private readonly client;
13857
+ constructor(client: VaultClient);
13858
+ private chainTime;
13859
+ /** Scan and settle every due configuration timelock the signer can fulfill. */
13860
+ runAll(fulfiller: Keypair, opts?: TimelockSettlementOptions): Promise<TimelockSettlementSummary>;
13861
+ private execute;
13862
+ }
13863
+
13864
+ export { ASSET_DECIMALS, ASSET_REBALANCE_COOLDOWN_SECS, type AccountBalanceResponse, AccountClient, type AccountYieldResponse, ActivateCircuitBreakerBuilder, type ActivateCircuitBreakerIxArgs, type ActivateCircuitBreakerTxArgs, type AddAprCashflowUpdateParams, type AddCashflowUpdateParams, type AddIncentiveRecipientArgs, AddIncentiveRecipientBuilder, type AddNavCashflowUpdateParams, type AprAccountBalanceResponse, type AprAccountYieldResponse, type AssetPriceOracleConfigIxArgs, type AssetPriceOracleConfigTxArgs, type AssetPriceRefreshTarget, type AssetRefreshResult, type AssetType, BALANCE_CHANGE_BASELINE_MAX_AGE_SECS, type Bankineco, type BasicAuthCredentials, type Bigintish, type BuildMarginfiWithdrawInteractionArgs, CONSENSUS_ORACLE_VARIANT, type CancelIncentiveProposalArgs, CancelIncentiveProposalBuilder, CancelJuniorTrancheWithdrawBuilder, type CancelJuniorTrancheWithdrawIxArgs, type CancelJuniorTrancheWithdrawTxArgs, type Clock, type CollectSamplesOptions, type ConsensusAssetUpdate, type ConsensusHoldingEntry, type ConsensusHoldingSimulation, type ConsensusOracleDeps, type ConsensusOracleHoldingConfig, ConsensusOracleService, type ConsensusOracleTarget, CrankNavBuilder, type CrankNavIxArgs, type CrankNavTxArgs, CrankPerformanceFeesBuilder, type CrankPerformanceFeesIxArgs, type CrankPerformanceFeesTxArgs, type CreateAccountParams, CreateAssetHoldingBuilder, type CreateAssetHoldingIxArgs, type CreateAssetHoldingTxArgs, CreateIncentiveBuilder, type CreateIncentiveIxArgs, type CreateIncentiveTxArgs, type CreateTokenMintIxs, CreateTrancheStateBuilder, type CreateTrancheStateIxArgs, type CreateTrancheStateTxArgs, CreateVaultBuilder, type CreateVaultClientOptions, type CreateVaultIxArgs, type CreateVaultParams, type CreateVaultTxArgs, type CreateYieldPaymentParams, DEFAULT_CU_PRICE_MICRO_LAMPORTS, DEFAULT_JUNIOR_EARLY_UNSTAKE_FEE_BPS, DEFAULT_JUNIOR_STANDARD_UNSTAKE_FEE_BPS, DEFAULT_JUNIOR_WITHDRAWAL_LOCKUP_SECS, DEFAULT_MAX_ACCEPTABLE_APY_BPS, DEFAULT_MAX_ACCOUNTS, DEFAULT_MINTS, DEFAULT_MIN_AMOUNT_UI, DEFAULT_ORACLE_STALENESS_THRESHOLD_SECS, DEFAULT_PRICE_ORACLE_ACCOUNT, DEFAULT_PRICE_STALENESS_SECS, DEFAULT_PRICE_STALENESS_THRESHOLD_SECS, DEFAULT_REBALANCE_BAND_BPS, DEFAULT_SLIPPAGE_BPS, DEFAULT_TARGET_LOCAL_BPS, DEFAULT_VAULT_ID, type DecodedHolding, type DecodedVault, type DecodedVaultTrancheState, type DeleteAccountParams, DisableCircuitBreakerBuilder, type DisableCircuitBreakerIxArgs, type DisableCircuitBreakerTxArgs, DistributeIncentiveBuilder, type DistributeIncentiveIxArgs, type DistributeIncentiveTxArgs, EXTERNAL_POSITION_SAMPLES, ExecuteDepositBuilder, type ExecuteDepositIxArgs, type ExecuteDepositTxArgs, ExecuteShareSwapBuilder, type ExecuteShareSwapIxArgs, type ExecuteShareSwapTxArgs, ExecuteTrancheDepositBuilder, type ExecuteTrancheDepositIxArgs, type ExecuteTrancheDepositTxArgs, ExecuteTrancheWithdrawBuilder, type ExecuteTrancheWithdrawIxArgs, type ExecuteTrancheWithdrawTxArgs, ExecuteWithdrawBuilder, type ExecuteWithdrawIxArgs, type ExecuteWithdrawTxArgs, type ExternalLiquidityIntegrityOptions, type ExternalLiquidityIntegrityResult, ExternalLiquidityIntegrityService, type ExternalLiquidityIntegritySummary, type ExternalLiquiditySlot, type ExternalLiquiditySourceArgs, type ExternalPosition, type ExternalPositionContext, type ExternalPositionProvider, type ExternalPositionRef, ExternalPositionRegistry, FEE_VAULT_CACHE_CATEGORY, type FeeVaultAccountData, type FetchNestTokenPriceOptions, FulfillJuniorTrancheWithdrawBuilder, type FulfillJuniorTrancheWithdrawIxArgs, type FulfillJuniorTrancheWithdrawTxArgs, type FulfillSummary, type HoldingNavContribution, type HoldingUpdatePreview, IDL, IDLE_RESERVE_FLOOR_BPS, IDLE_RESERVE_TARGET_BPS, type IdleLiquidityOptions, type IdleLiquidityResult, IdleLiquidityService, type IdleLiquidityStatus, type IncentiveRecipient, type IncentiveTotals, InitializeVaultRolesBuilder, type InitializeVaultRolesIxArgs, type InitializeVaultRolesTxArgs, type JuniorWithdrawalMode, JupiterBalanceSource, type JupiterBalanceSourceOptions, JupiterPriceSource, type JupiterPriceSourceOptions, JupiterSwapBuilder, type JupiterSwapIxArgs, type JupiterSwapTxArgs, KaminoPositionProvider, LIVE_ORACLE_VARIANTS, LIVE_PRICE_REFRESH_INTERVAL_SECS, LOCAL_PROTOCOL_ADMIN, LargeBalanceChangeError, type LargeBalanceChangeViolation, type LiveConsensusOracleDepsOptions, LivePriceSource, type LivePriceSourceOptions, MAX_BALANCE_CHANGE_BPS, MAX_CONSENSUS_SIGNERS, MAX_INCENTIVE_RECIPIENTS, MAX_MANAGER_WITHDRAW_DESTINATIONS, MAX_PRICE_STALENESS_THRESHOLD_SECS, MIN_EXTERNAL_POSITION_SAMPLES, ManagerRedepositAssetBuilder, type ManagerRedepositAssetIxArgs, type ManagerRedepositAssetTxArgs, ManagerWithdrawAssetBuilder, type ManagerWithdrawAssetIxArgs, type ManagerWithdrawAssetTxArgs, MarginfiPositionProvider, type MintConfig, type MintIdentifier, type MintInfo, MintRegistry, type MintRegistryOptions, type MockYieldAccountConfig, MockYieldTracker, type MockYieldTrackerOptions, NEST_API_BASE_URL, NEST_RWA_SHARE_MINT, NEST_VAULT_SLUG, type NavAccountBalanceResponse, type NavAccountValueResponse, type NavCrankBlocker, type NavCrankBlockerReason, type NavCrankReadiness, type NavCrankResult, type NavPriceConfig, type NavYieldAccount, NestPriceSource, type NestPriceSourceOptions, ORACLE_ENTRIES_OFFSET, ORACLE_ENTRY_SIZE, ORACLE_SETTLED_NAV_TS_OFFSET, OracleService, PRICE_ORACLE_TYPES_BY_INDEX, PROGRAM_FEE_EXEMPT_OWNER_WHITELIST, PROTOCOL_ADMIN, PROTOCOL_FEE_RECIPIENT, PdaClient, type PendingConsensusSignerSet, type PreparedDirectTransaction, type PreparedSquadsTransaction, type PreparedVaultTransaction, type PriceOracleTypeArgs, type PriceSource, ProtocolInteractionBuilder, type ProtocolInteractionIxArgs, type ProtocolInteractionTxArgs, type QuoteFeeUnit, REPORTABLE_ORACLE_VARIANTS, type RefreshLiveOraclePricesParams, RemoveAssetHoldingBuilder, type RemoveAssetHoldingIxArgs, type RemoveAssetHoldingTxArgs, RequestJuniorTrancheWithdrawBuilder, type RequestJuniorTrancheWithdrawIxArgs, type RequestJuniorTrancheWithdrawTxArgs, type ResolveExternalWithdrawArgs, type ResolvedExternalWithdraw, type ResolvedSquadsWalletRoute, type RollingLimitConfig, type RollingRebalanceLimitConfig, type RunLiveConsensusOracleOptions, type RunOptions, type RunSummary, SHARE_DECIMALS, SYSTEM_PROGRAM, SetAssetPriceOracleBuilder, type SetAssetPriceOracleIxArgs, type SetAssetPriceOracleTxArgs, SetExternalLiquidityBuilder, type SetExternalLiquidityIxArgs, type SetExternalLiquidityTxArgs, type SetIncentiveLimitsArgs, SetIncentiveLimitsBuilder, SetManagerWithdrawDestinationBuilder, type SetManagerWithdrawDestinationIxArgs, type SetManagerWithdrawDestinationTxArgs, SetProtocolFeeBuilder, type SetProtocolFeeIxArgs, type SetProtocolFeeTxArgs, SetVaultConfigBuilder, type SetVaultConfigIxArgs, type SetVaultConfigTxArgs, type SettleVaultParams, type SettleVaultResult, type SettlementSimulation, type SettlementSimulationSnapshot, type SimulateDryRunSettlementParams, type SimulateSettlementArgs, type SimulatedShareClass, SquadsProposalExecutionSimulationError, type SquadsWalletRouteConfig, type StaleBalanceChangeBypass, StaticPositionProvider, SubmitIncentiveBuilder, type SubmitIncentiveIxArgs, type SubmitIncentiveTxArgs, TOKEN_PROGRAM, TOKEN_PROGRAM_ID, type TimelockSettlementKind, type TimelockSettlementOptions, type TimelockSettlementRecord, TimelockSettlementService, type TimelockSettlementSummary, type TrackedAccountValue, type TrancheKindArgs, type TransactionBuilder, TransactionClient, USDC_MINT, USD_STAR_JUNIOR_MINT, USD_STAR_MINT, USD_STAR_PRINCIPAL_MINT, type UpdateAccountParams, UpdateAssetPriceBuilder, type UpdateAssetPriceIxArgs, type UpdateAssetPriceTxArgs, UpdateConsensusOracleBuilder, type UpdateConsensusOracleIxArgs, type UpdateConsensusOracleTxArgs, UpdateConsensusSignersBuilder, type UpdateConsensusSignersIxArgs, type UpdateConsensusSignersTxArgs, type UpdateDynamicAprParams, UpdateTrancheConfigBuilder, type UpdateTrancheConfigIxArgs, type UpdateTrancheConfigTxArgs, VAULT_CACHE_CATEGORY, VAULT_CREATOR_WHITELIST, VAULT_ENVIRONMENTS, VAULT_ORACLE_CACHE_CATEGORY, VAULT_PROGRAM_ID, VAULT_PROGRAM_IDS, VAULT_PROGRAM_PUBLIC_KEY, VAULT_ROLE_UPDATE_TIMELOCK_SECS, VAULT_TRANCHE_STATE_CACHE_CATEGORY, VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY, type Vault, type VaultAccountData, VaultBuilderBase, type VaultBuilderContext, type VaultCacheInvalidation, VaultClient, type VaultClientBundle, type VaultEnv, type VaultIncentiveAccount, type VaultIncentiveAccountData, type VaultOracleAccountData, type VaultOracleResult, type VaultPricingInputs, type VaultQuote, type VaultQuoteArgs, VaultQuoteClient, type VaultQuoteDirection, type VaultQuoteShareClass, VaultReallocationBuilder, type VaultReallocationIxArgs, type VaultReallocationTxArgs, type VaultTrancheStateAccountData, type VaultTrancheWithdrawalQueueAccountData, type VaultTransactionPlan, type WalletBalanceSource, type WithdrawProtocolFeesIxArgs, type WithdrawProtocolFeesTxArgs, WithdrawalQueueService, type WithdrawalQueueSnapshot, type YieldAccount, type YieldAccountSnapshot, type YieldCalculationLog, type YieldCashflow, type YieldPaymentResponse, type YieldPaymentSnapshot, type YieldTracker, type YieldValuationModel, accountingUnitPriceToUsd, addCashflowUpdate, applyEffectiveApy, assertNoLargeBalanceChanges, assertNoUnconfirmedYieldPayments, buildHoldingUpdate, buildMarginfiWithdrawInteraction, buildUpdates, coerceBool, collectSamples, confirmYieldPayment, createAccount, createLiveConsensusOracleDeps, createRpcFromConnection, createTokenMint, createTokenMintIxs, createVaultClient, createYieldPayment, dateToStr, decodePendingConsensusSigners, defaultKeypairPath, deleteAccount, discoverVaultsForSigner, fetchExternalPositions, fetchNestTokenPrice, fetchReceiptMints, filterTargetHoldings, findLargeBalanceChanges, findSquadsWalletRoute, formatSettlementSimulation, fromUiAmount, gatherPricingInputs, getAccount, getAccounts, getAprYield, getBalance, getCashflows, getIncentiveRecipientShareAtas, getIncentiveRecipients, getIncentiveTotals, getNavValue, getRpcUrl, getTotalOutstandingYield, getTotalTrackedValue, getTotalYield, getTrackedValue, getVaultProgramId, getYield, getYieldPayments, indexConfigByMint, isNavAccountBalance, isNavAccountValue, isNavYieldAccount, isVaultEnv, keypairAddress, loadKeypair, logProspectiveApy, makeProvider, mintTokensTo, mints, mostFrequent, parseExternalLiquidityRefs, planRebalance, prepareVaultTransaction, priceInAccountingUnit, readI64LE, readSplMintSupply, refreshLiveOraclePrices, resolveExternalWithdraw, resolveKeypairPath, resolveSquadsWalletRoute, resolveTrackedAmounts, roundToNextUtcMidnight, runLiveConsensusOracle, selectReportableHoldings, settleVault, signerInOracleData, simulateConsensusOracleSettlement, simulateDryRunSettlement, simulateSquadsProposalExecution, sumPositionsByMint, systemClock, toBigInt, toUiAmount, toWeb3AccountMeta, trackedValueFromResponse, updateAccount, updateDynamicApr, validateSquadsWalletRoutes, variantName, vaultAuthorityForWallet, withDiscoveredYieldAccounts };