@0dotxyz/p0-ts-sdk 2.5.0 → 2.6.0-alpha.0

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/vendor.cjs CHANGED
@@ -45778,6 +45778,3379 @@ async function resolveExponentWrapperMergeContext(params) {
45778
45778
  }
45779
45779
  };
45780
45780
  }
45781
+ var GAMMA_VAULT_PROGRAM_ID = new web3_js.PublicKey(
45782
+ "gvvtqvEmwQDnFwEvLJzzyweABcXV7HAYsTwTgztEHWJ"
45783
+ );
45784
+ var SEED_WITHDRAWAL_POLICY = "withdrawal_policy";
45785
+ var SEED_DEPOSIT_RECEIPT = "deposit_receipt";
45786
+ var SEED_WITHDRAW_ESCROW = "withdraw_escrow";
45787
+ var SEED_WITHDRAW_RECEIPT = "withdraw_receipt";
45788
+
45789
+ // src/vendor/gamma/idl/gamma-vault.json
45790
+ var gamma_vault_default = {
45791
+ address: "GaMmanX9i4jGmqDZZD2tbD6B2v9p21btenPneMXnTczV",
45792
+ metadata: {
45793
+ name: "gamma_vault",
45794
+ version: "2.0.0",
45795
+ spec: "0.1.0",
45796
+ description: "Gamma Protocol vault program \u2014 LP vaults with instant deposits, escrow withdrawals, and performance fees"
45797
+ },
45798
+ instructions: [
45799
+ {
45800
+ name: "assess_fees",
45801
+ docs: [
45802
+ "Assess scheduled performance fees (keeper)."
45803
+ ],
45804
+ discriminator: [
45805
+ 224,
45806
+ 15,
45807
+ 195,
45808
+ 19,
45809
+ 125,
45810
+ 145,
45811
+ 2,
45812
+ 100
45813
+ ],
45814
+ accounts: [
45815
+ {
45816
+ name: "fund_authority",
45817
+ signer: true,
45818
+ relations: [
45819
+ "lp_vault"
45820
+ ]
45821
+ },
45822
+ {
45823
+ name: "lp_vault",
45824
+ writable: true
45825
+ },
45826
+ {
45827
+ name: "shares_mint",
45828
+ writable: true,
45829
+ relations: [
45830
+ "lp_vault"
45831
+ ]
45832
+ },
45833
+ {
45834
+ name: "fee_recipient_account",
45835
+ writable: true
45836
+ },
45837
+ {
45838
+ name: "token_program"
45839
+ }
45840
+ ],
45841
+ args: []
45842
+ },
45843
+ {
45844
+ name: "close_deposit_receipt",
45845
+ docs: [
45846
+ "Close a deposit receipt and reclaim rent."
45847
+ ],
45848
+ discriminator: [
45849
+ 216,
45850
+ 104,
45851
+ 127,
45852
+ 60,
45853
+ 88,
45854
+ 217,
45855
+ 184,
45856
+ 15
45857
+ ],
45858
+ accounts: [
45859
+ {
45860
+ name: "user",
45861
+ docs: [
45862
+ "User who owns the deposit receipt."
45863
+ ],
45864
+ writable: true,
45865
+ signer: true
45866
+ },
45867
+ {
45868
+ name: "lp_vault",
45869
+ docs: [
45870
+ "The vault this receipt is associated with."
45871
+ ]
45872
+ },
45873
+ {
45874
+ name: "deposit_receipt",
45875
+ docs: [
45876
+ "Deposit receipt to close. Rent is returned to user."
45877
+ ],
45878
+ writable: true,
45879
+ pda: {
45880
+ seeds: [
45881
+ {
45882
+ kind: "const",
45883
+ value: [
45884
+ 100,
45885
+ 101,
45886
+ 112,
45887
+ 111,
45888
+ 115,
45889
+ 105,
45890
+ 116,
45891
+ 95,
45892
+ 114,
45893
+ 101,
45894
+ 99,
45895
+ 101,
45896
+ 105,
45897
+ 112,
45898
+ 116
45899
+ ]
45900
+ },
45901
+ {
45902
+ kind: "account",
45903
+ path: "user"
45904
+ },
45905
+ {
45906
+ kind: "account",
45907
+ path: "lp_vault"
45908
+ }
45909
+ ]
45910
+ }
45911
+ }
45912
+ ],
45913
+ args: []
45914
+ },
45915
+ {
45916
+ name: "complete_withdrawal",
45917
+ docs: [
45918
+ "User claims their withdrawal from escrow.",
45919
+ "Burns shares and transfers assets to user's wallet."
45920
+ ],
45921
+ discriminator: [
45922
+ 107,
45923
+ 98,
45924
+ 134,
45925
+ 131,
45926
+ 74,
45927
+ 120,
45928
+ 174,
45929
+ 121
45930
+ ],
45931
+ accounts: [
45932
+ {
45933
+ name: "user",
45934
+ docs: [
45935
+ "User claiming the withdrawal."
45936
+ ],
45937
+ writable: true,
45938
+ signer: true
45939
+ },
45940
+ {
45941
+ name: "lp_vault",
45942
+ docs: [
45943
+ "LpVault (needed for shares_mint validation)."
45944
+ ]
45945
+ },
45946
+ {
45947
+ name: "assets_mint",
45948
+ docs: [
45949
+ "Mint of the vault assets."
45950
+ ],
45951
+ relations: [
45952
+ "lp_vault"
45953
+ ]
45954
+ },
45955
+ {
45956
+ name: "shares_mint",
45957
+ docs: [
45958
+ "Mint for vault shares."
45959
+ ],
45960
+ writable: true,
45961
+ relations: [
45962
+ "lp_vault"
45963
+ ]
45964
+ },
45965
+ {
45966
+ name: "user_asset_ata",
45967
+ docs: [
45968
+ "User's asset token account (destination for claimed assets)."
45969
+ ],
45970
+ writable: true,
45971
+ pda: {
45972
+ seeds: [
45973
+ {
45974
+ kind: "account",
45975
+ path: "user"
45976
+ },
45977
+ {
45978
+ kind: "account",
45979
+ path: "token_program"
45980
+ },
45981
+ {
45982
+ kind: "account",
45983
+ path: "assets_mint"
45984
+ }
45985
+ ],
45986
+ program: {
45987
+ kind: "const",
45988
+ value: [
45989
+ 140,
45990
+ 151,
45991
+ 37,
45992
+ 143,
45993
+ 78,
45994
+ 36,
45995
+ 137,
45996
+ 241,
45997
+ 187,
45998
+ 61,
45999
+ 16,
46000
+ 41,
46001
+ 20,
46002
+ 142,
46003
+ 13,
46004
+ 131,
46005
+ 11,
46006
+ 90,
46007
+ 19,
46008
+ 153,
46009
+ 218,
46010
+ 255,
46011
+ 16,
46012
+ 132,
46013
+ 4,
46014
+ 142,
46015
+ 123,
46016
+ 216,
46017
+ 219,
46018
+ 233,
46019
+ 248,
46020
+ 89
46021
+ ]
46022
+ }
46023
+ }
46024
+ },
46025
+ {
46026
+ name: "withdraw_escrow",
46027
+ docs: [
46028
+ "User's withdraw escrow."
46029
+ ],
46030
+ writable: true,
46031
+ pda: {
46032
+ seeds: [
46033
+ {
46034
+ kind: "const",
46035
+ value: [
46036
+ 119,
46037
+ 105,
46038
+ 116,
46039
+ 104,
46040
+ 100,
46041
+ 114,
46042
+ 97,
46043
+ 119,
46044
+ 95,
46045
+ 101,
46046
+ 115,
46047
+ 99,
46048
+ 114,
46049
+ 111,
46050
+ 119
46051
+ ]
46052
+ },
46053
+ {
46054
+ kind: "account",
46055
+ path: "user"
46056
+ },
46057
+ {
46058
+ kind: "account",
46059
+ path: "lp_vault"
46060
+ }
46061
+ ]
46062
+ }
46063
+ },
46064
+ {
46065
+ name: "escrow_assets_account",
46066
+ docs: [
46067
+ "Escrow's asset token account (source of assets)."
46068
+ ],
46069
+ writable: true,
46070
+ relations: [
46071
+ "withdraw_escrow"
46072
+ ]
46073
+ },
46074
+ {
46075
+ name: "escrow_shares_account",
46076
+ docs: [
46077
+ "Escrow's share token account (shares to burn)."
46078
+ ],
46079
+ writable: true,
46080
+ relations: [
46081
+ "withdraw_escrow"
46082
+ ]
46083
+ },
46084
+ {
46085
+ name: "withdraw_receipt",
46086
+ docs: [
46087
+ "User's withdraw receipt."
46088
+ ],
46089
+ writable: true,
46090
+ pda: {
46091
+ seeds: [
46092
+ {
46093
+ kind: "const",
46094
+ value: [
46095
+ 119,
46096
+ 105,
46097
+ 116,
46098
+ 104,
46099
+ 100,
46100
+ 114,
46101
+ 97,
46102
+ 119,
46103
+ 95,
46104
+ 114,
46105
+ 101,
46106
+ 99,
46107
+ 101,
46108
+ 105,
46109
+ 112,
46110
+ 116
46111
+ ]
46112
+ },
46113
+ {
46114
+ kind: "account",
46115
+ path: "user"
46116
+ },
46117
+ {
46118
+ kind: "account",
46119
+ path: "lp_vault"
46120
+ }
46121
+ ]
46122
+ }
46123
+ },
46124
+ {
46125
+ name: "system_program",
46126
+ docs: [
46127
+ "System program."
46128
+ ],
46129
+ address: "11111111111111111111111111111111"
46130
+ },
46131
+ {
46132
+ name: "token_program",
46133
+ docs: [
46134
+ "Token program."
46135
+ ]
46136
+ },
46137
+ {
46138
+ name: "associated_token_program",
46139
+ docs: [
46140
+ "Associated token program."
46141
+ ],
46142
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
46143
+ }
46144
+ ],
46145
+ args: []
46146
+ },
46147
+ {
46148
+ name: "deposit",
46149
+ docs: [
46150
+ "Deposit assets and receive shares instantly.",
46151
+ "Requires NAV to be fresh (within nav_max_staleness)."
46152
+ ],
46153
+ discriminator: [
46154
+ 242,
46155
+ 35,
46156
+ 198,
46157
+ 137,
46158
+ 82,
46159
+ 225,
46160
+ 242,
46161
+ 182
46162
+ ],
46163
+ accounts: [
46164
+ {
46165
+ name: "user",
46166
+ docs: [
46167
+ "User depositing into the vault."
46168
+ ],
46169
+ writable: true,
46170
+ signer: true
46171
+ },
46172
+ {
46173
+ name: "lp_vault",
46174
+ docs: [
46175
+ "LpVault to deposit into."
46176
+ ],
46177
+ writable: true,
46178
+ relations: [
46179
+ "withdrawal_policy"
46180
+ ]
46181
+ },
46182
+ {
46183
+ name: "withdrawal_policy",
46184
+ docs: [
46185
+ "Withdrawal policy for net capacity accounting. Deposits offset usage."
46186
+ ],
46187
+ writable: true,
46188
+ pda: {
46189
+ seeds: [
46190
+ {
46191
+ kind: "const",
46192
+ value: [
46193
+ 119,
46194
+ 105,
46195
+ 116,
46196
+ 104,
46197
+ 100,
46198
+ 114,
46199
+ 97,
46200
+ 119,
46201
+ 97,
46202
+ 108,
46203
+ 95,
46204
+ 112,
46205
+ 111,
46206
+ 108,
46207
+ 105,
46208
+ 99,
46209
+ 121
46210
+ ]
46211
+ },
46212
+ {
46213
+ kind: "account",
46214
+ path: "lp_vault"
46215
+ }
46216
+ ]
46217
+ }
46218
+ },
46219
+ {
46220
+ name: "assets_account",
46221
+ docs: [
46222
+ "Token account for vault assets."
46223
+ ],
46224
+ writable: true,
46225
+ relations: [
46226
+ "lp_vault"
46227
+ ]
46228
+ },
46229
+ {
46230
+ name: "user_asset_ata",
46231
+ docs: [
46232
+ "User's asset token account (source of deposit)."
46233
+ ],
46234
+ writable: true,
46235
+ pda: {
46236
+ seeds: [
46237
+ {
46238
+ kind: "account",
46239
+ path: "user"
46240
+ },
46241
+ {
46242
+ kind: "account",
46243
+ path: "token_program"
46244
+ },
46245
+ {
46246
+ kind: "account",
46247
+ path: "assets_mint"
46248
+ }
46249
+ ],
46250
+ program: {
46251
+ kind: "const",
46252
+ value: [
46253
+ 140,
46254
+ 151,
46255
+ 37,
46256
+ 143,
46257
+ 78,
46258
+ 36,
46259
+ 137,
46260
+ 241,
46261
+ 187,
46262
+ 61,
46263
+ 16,
46264
+ 41,
46265
+ 20,
46266
+ 142,
46267
+ 13,
46268
+ 131,
46269
+ 11,
46270
+ 90,
46271
+ 19,
46272
+ 153,
46273
+ 218,
46274
+ 255,
46275
+ 16,
46276
+ 132,
46277
+ 4,
46278
+ 142,
46279
+ 123,
46280
+ 216,
46281
+ 219,
46282
+ 233,
46283
+ 248,
46284
+ 89
46285
+ ]
46286
+ }
46287
+ }
46288
+ },
46289
+ {
46290
+ name: "user_share_ata",
46291
+ docs: [
46292
+ "User's share token account (destination for minted shares)."
46293
+ ],
46294
+ writable: true,
46295
+ pda: {
46296
+ seeds: [
46297
+ {
46298
+ kind: "account",
46299
+ path: "user"
46300
+ },
46301
+ {
46302
+ kind: "account",
46303
+ path: "token_program"
46304
+ },
46305
+ {
46306
+ kind: "account",
46307
+ path: "shares_mint"
46308
+ }
46309
+ ],
46310
+ program: {
46311
+ kind: "const",
46312
+ value: [
46313
+ 140,
46314
+ 151,
46315
+ 37,
46316
+ 143,
46317
+ 78,
46318
+ 36,
46319
+ 137,
46320
+ 241,
46321
+ 187,
46322
+ 61,
46323
+ 16,
46324
+ 41,
46325
+ 20,
46326
+ 142,
46327
+ 13,
46328
+ 131,
46329
+ 11,
46330
+ 90,
46331
+ 19,
46332
+ 153,
46333
+ 218,
46334
+ 255,
46335
+ 16,
46336
+ 132,
46337
+ 4,
46338
+ 142,
46339
+ 123,
46340
+ 216,
46341
+ 219,
46342
+ 233,
46343
+ 248,
46344
+ 89
46345
+ ]
46346
+ }
46347
+ }
46348
+ },
46349
+ {
46350
+ name: "deposit_receipt",
46351
+ docs: [
46352
+ "Deposit receipt account",
46353
+ "Derived from user pubkey and lp_vault pubkey."
46354
+ ],
46355
+ writable: true,
46356
+ pda: {
46357
+ seeds: [
46358
+ {
46359
+ kind: "const",
46360
+ value: [
46361
+ 100,
46362
+ 101,
46363
+ 112,
46364
+ 111,
46365
+ 115,
46366
+ 105,
46367
+ 116,
46368
+ 95,
46369
+ 114,
46370
+ 101,
46371
+ 99,
46372
+ 101,
46373
+ 105,
46374
+ 112,
46375
+ 116
46376
+ ]
46377
+ },
46378
+ {
46379
+ kind: "account",
46380
+ path: "user"
46381
+ },
46382
+ {
46383
+ kind: "account",
46384
+ path: "lp_vault"
46385
+ }
46386
+ ]
46387
+ }
46388
+ },
46389
+ {
46390
+ name: "assets_mint",
46391
+ docs: [
46392
+ "Mint of the vault assets."
46393
+ ],
46394
+ relations: [
46395
+ "lp_vault"
46396
+ ]
46397
+ },
46398
+ {
46399
+ name: "shares_mint",
46400
+ docs: [
46401
+ "Mint for vault shares."
46402
+ ],
46403
+ writable: true,
46404
+ relations: [
46405
+ "lp_vault"
46406
+ ]
46407
+ },
46408
+ {
46409
+ name: "system_program",
46410
+ docs: [
46411
+ "System program."
46412
+ ],
46413
+ address: "11111111111111111111111111111111"
46414
+ },
46415
+ {
46416
+ name: "token_program",
46417
+ docs: [
46418
+ "Token program."
46419
+ ]
46420
+ },
46421
+ {
46422
+ name: "associated_token_program",
46423
+ docs: [
46424
+ "Associated token program."
46425
+ ],
46426
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
46427
+ }
46428
+ ],
46429
+ args: [
46430
+ {
46431
+ name: "amount",
46432
+ type: "u64"
46433
+ }
46434
+ ]
46435
+ },
46436
+ {
46437
+ name: "fulfill_withdrawal",
46438
+ docs: [
46439
+ "Fulfill pending withdrawals by transferring assets to user's escrow.",
46440
+ "Called by keeper when liquidity is available."
46441
+ ],
46442
+ discriminator: [
46443
+ 57,
46444
+ 37,
46445
+ 123,
46446
+ 221,
46447
+ 103,
46448
+ 93,
46449
+ 162,
46450
+ 176
46451
+ ],
46452
+ accounts: [
46453
+ {
46454
+ name: "signer",
46455
+ docs: [
46456
+ "Keeper signer. Must be the vault's fund_authority or keeper_authority."
46457
+ ],
46458
+ writable: true,
46459
+ signer: true
46460
+ },
46461
+ {
46462
+ name: "user"
46463
+ },
46464
+ {
46465
+ name: "lp_vault",
46466
+ docs: [
46467
+ "LpVault."
46468
+ ],
46469
+ writable: true,
46470
+ relations: [
46471
+ "withdrawal_policy"
46472
+ ]
46473
+ },
46474
+ {
46475
+ name: "withdrawal_policy",
46476
+ docs: [
46477
+ "Withdrawal policy used to retain the configured base-asset fee."
46478
+ ],
46479
+ writable: true,
46480
+ pda: {
46481
+ seeds: [
46482
+ {
46483
+ kind: "const",
46484
+ value: [
46485
+ 119,
46486
+ 105,
46487
+ 116,
46488
+ 104,
46489
+ 100,
46490
+ 114,
46491
+ 97,
46492
+ 119,
46493
+ 97,
46494
+ 108,
46495
+ 95,
46496
+ 112,
46497
+ 111,
46498
+ 108,
46499
+ 105,
46500
+ 99,
46501
+ 121
46502
+ ]
46503
+ },
46504
+ {
46505
+ kind: "account",
46506
+ path: "lp_vault"
46507
+ }
46508
+ ]
46509
+ }
46510
+ },
46511
+ {
46512
+ name: "assets_account",
46513
+ docs: [
46514
+ "Vault's asset token account."
46515
+ ],
46516
+ writable: true,
46517
+ relations: [
46518
+ "lp_vault"
46519
+ ]
46520
+ },
46521
+ {
46522
+ name: "assets_mint",
46523
+ docs: [
46524
+ "Mint of the vault assets."
46525
+ ],
46526
+ relations: [
46527
+ "lp_vault"
46528
+ ]
46529
+ },
46530
+ {
46531
+ name: "shares_mint",
46532
+ docs: [
46533
+ "Mint for vault shares."
46534
+ ],
46535
+ relations: [
46536
+ "lp_vault"
46537
+ ]
46538
+ },
46539
+ {
46540
+ name: "withdraw_escrow",
46541
+ docs: [
46542
+ "User's withdraw escrow."
46543
+ ],
46544
+ pda: {
46545
+ seeds: [
46546
+ {
46547
+ kind: "const",
46548
+ value: [
46549
+ 119,
46550
+ 105,
46551
+ 116,
46552
+ 104,
46553
+ 100,
46554
+ 114,
46555
+ 97,
46556
+ 119,
46557
+ 95,
46558
+ 101,
46559
+ 115,
46560
+ 99,
46561
+ 114,
46562
+ 111,
46563
+ 119
46564
+ ]
46565
+ },
46566
+ {
46567
+ kind: "account",
46568
+ path: "user"
46569
+ },
46570
+ {
46571
+ kind: "account",
46572
+ path: "lp_vault"
46573
+ }
46574
+ ]
46575
+ }
46576
+ },
46577
+ {
46578
+ name: "escrow_assets_account",
46579
+ docs: [
46580
+ "Escrow's asset token account (destination for assets)."
46581
+ ],
46582
+ writable: true,
46583
+ relations: [
46584
+ "withdraw_escrow"
46585
+ ]
46586
+ },
46587
+ {
46588
+ name: "withdraw_receipt",
46589
+ docs: [
46590
+ "User's withdraw receipt."
46591
+ ],
46592
+ writable: true,
46593
+ pda: {
46594
+ seeds: [
46595
+ {
46596
+ kind: "const",
46597
+ value: [
46598
+ 119,
46599
+ 105,
46600
+ 116,
46601
+ 104,
46602
+ 100,
46603
+ 114,
46604
+ 97,
46605
+ 119,
46606
+ 95,
46607
+ 114,
46608
+ 101,
46609
+ 99,
46610
+ 101,
46611
+ 105,
46612
+ 112,
46613
+ 116
46614
+ ]
46615
+ },
46616
+ {
46617
+ kind: "account",
46618
+ path: "user"
46619
+ },
46620
+ {
46621
+ kind: "account",
46622
+ path: "lp_vault"
46623
+ }
46624
+ ]
46625
+ }
46626
+ },
46627
+ {
46628
+ name: "token_program",
46629
+ docs: [
46630
+ "Token program."
46631
+ ]
46632
+ }
46633
+ ],
46634
+ args: []
46635
+ },
46636
+ {
46637
+ name: "init_global_config",
46638
+ discriminator: [
46639
+ 140,
46640
+ 136,
46641
+ 214,
46642
+ 48,
46643
+ 87,
46644
+ 0,
46645
+ 120,
46646
+ 255
46647
+ ],
46648
+ accounts: [
46649
+ {
46650
+ name: "signer",
46651
+ docs: [
46652
+ "Signer initializing the GlobalConfig. MUST be the program's",
46653
+ "BPFLoaderUpgradeable upgrade authority (proven by the constraints on",
46654
+ "`program` + `program_data` below). Becomes the super_admin; the only",
46655
+ "later rotation path is `update_admin_authorities`, which is likewise",
46656
+ "gated on the upgrade authority. On a fresh deploy, call init BEFORE",
46657
+ "finalizing the program (a finalized/`--final` program has no upgrade",
46658
+ "authority \u2192 init AND rotation impossible) and while a plain deployer",
46659
+ "keypair (not a multisig PDA) still holds it."
46660
+ ],
46661
+ writable: true,
46662
+ signer: true
46663
+ },
46664
+ {
46665
+ name: "global_config",
46666
+ docs: [
46667
+ "Global config account. Derived with a single str."
46668
+ ],
46669
+ writable: true,
46670
+ pda: {
46671
+ seeds: [
46672
+ {
46673
+ kind: "const",
46674
+ value: [
46675
+ 103,
46676
+ 108,
46677
+ 111,
46678
+ 98,
46679
+ 97,
46680
+ 108,
46681
+ 95,
46682
+ 99,
46683
+ 111,
46684
+ 110,
46685
+ 102,
46686
+ 105,
46687
+ 103
46688
+ ]
46689
+ }
46690
+ ]
46691
+ }
46692
+ },
46693
+ {
46694
+ name: "program",
46695
+ docs: [
46696
+ "This program's own account; ties `program_data` to this program so the",
46697
+ "upgrade-authority check below cannot be satisfied with an unrelated",
46698
+ "program's ProgramData."
46699
+ ],
46700
+ address: "GaMmanX9i4jGmqDZZD2tbD6B2v9p21btenPneMXnTczV"
46701
+ },
46702
+ {
46703
+ name: "program_data",
46704
+ docs: [
46705
+ "ProgramData account holding the program's upgrade authority. Gate: the",
46706
+ "signer must equal the upgrade authority. `programdata_address()` returns",
46707
+ "`Ok(None)` for a non-upgradeable load and a revoked authority is `None`,",
46708
+ "so a `None` on either side fails closed."
46709
+ ]
46710
+ },
46711
+ {
46712
+ name: "system_program",
46713
+ docs: [
46714
+ "System program."
46715
+ ],
46716
+ address: "11111111111111111111111111111111"
46717
+ }
46718
+ ],
46719
+ args: [
46720
+ {
46721
+ name: "create_authority",
46722
+ type: "pubkey"
46723
+ }
46724
+ ]
46725
+ },
46726
+ {
46727
+ name: "init_lp_vault",
46728
+ discriminator: [
46729
+ 40,
46730
+ 247,
46731
+ 24,
46732
+ 8,
46733
+ 152,
46734
+ 98,
46735
+ 18,
46736
+ 220
46737
+ ],
46738
+ accounts: [
46739
+ {
46740
+ name: "signer",
46741
+ docs: [
46742
+ "User creating the vault."
46743
+ ],
46744
+ writable: true,
46745
+ signer: true
46746
+ },
46747
+ {
46748
+ name: "lp_vault",
46749
+ docs: [
46750
+ "Lp vault being created."
46751
+ ],
46752
+ writable: true,
46753
+ pda: {
46754
+ seeds: [
46755
+ {
46756
+ kind: "arg",
46757
+ path: "vault_name"
46758
+ },
46759
+ {
46760
+ kind: "const",
46761
+ value: [
46762
+ 118,
46763
+ 97,
46764
+ 117,
46765
+ 108,
46766
+ 116
46767
+ ]
46768
+ },
46769
+ {
46770
+ kind: "account",
46771
+ path: "assets_mint"
46772
+ }
46773
+ ]
46774
+ }
46775
+ },
46776
+ {
46777
+ name: "global_config",
46778
+ pda: {
46779
+ seeds: [
46780
+ {
46781
+ kind: "const",
46782
+ value: [
46783
+ 103,
46784
+ 108,
46785
+ 111,
46786
+ 98,
46787
+ 97,
46788
+ 108,
46789
+ 95,
46790
+ 99,
46791
+ 111,
46792
+ 110,
46793
+ 102,
46794
+ 105,
46795
+ 103
46796
+ ]
46797
+ }
46798
+ ]
46799
+ }
46800
+ },
46801
+ {
46802
+ name: "shares_mint",
46803
+ docs: [
46804
+ "Mint for shares, minted on deposit."
46805
+ ],
46806
+ writable: true,
46807
+ pda: {
46808
+ seeds: [
46809
+ {
46810
+ kind: "const",
46811
+ value: [
46812
+ 115,
46813
+ 104,
46814
+ 97,
46815
+ 114,
46816
+ 101,
46817
+ 115
46818
+ ]
46819
+ },
46820
+ {
46821
+ kind: "account",
46822
+ path: "lp_vault"
46823
+ }
46824
+ ]
46825
+ }
46826
+ },
46827
+ {
46828
+ name: "assets_mint",
46829
+ docs: [
46830
+ "Mint of the assets, USDC, maybe configurable."
46831
+ ]
46832
+ },
46833
+ {
46834
+ name: "assets_account",
46835
+ docs: [
46836
+ "Token account for main asset."
46837
+ ],
46838
+ writable: true,
46839
+ pda: {
46840
+ seeds: [
46841
+ {
46842
+ kind: "const",
46843
+ value: [
46844
+ 109,
46845
+ 97,
46846
+ 105,
46847
+ 110,
46848
+ 95,
46849
+ 97,
46850
+ 115,
46851
+ 115,
46852
+ 101,
46853
+ 116,
46854
+ 115
46855
+ ]
46856
+ },
46857
+ {
46858
+ kind: "account",
46859
+ path: "lp_vault"
46860
+ }
46861
+ ]
46862
+ }
46863
+ },
46864
+ {
46865
+ name: "pending_shares_account",
46866
+ docs: [
46867
+ "Token account where shares are held during queued (illiquid) withdrawals."
46868
+ ],
46869
+ writable: true,
46870
+ pda: {
46871
+ seeds: [
46872
+ {
46873
+ kind: "const",
46874
+ value: [
46875
+ 112,
46876
+ 101,
46877
+ 110,
46878
+ 100,
46879
+ 105,
46880
+ 110,
46881
+ 103,
46882
+ 95,
46883
+ 115,
46884
+ 104,
46885
+ 97,
46886
+ 114,
46887
+ 101,
46888
+ 115
46889
+ ]
46890
+ },
46891
+ {
46892
+ kind: "account",
46893
+ path: "lp_vault"
46894
+ }
46895
+ ]
46896
+ }
46897
+ },
46898
+ {
46899
+ name: "withdrawal_policy",
46900
+ docs: [
46901
+ "Withdrawal policy PDA for retained fees and net outflow caps."
46902
+ ],
46903
+ writable: true,
46904
+ pda: {
46905
+ seeds: [
46906
+ {
46907
+ kind: "const",
46908
+ value: [
46909
+ 119,
46910
+ 105,
46911
+ 116,
46912
+ 104,
46913
+ 100,
46914
+ 114,
46915
+ 97,
46916
+ 119,
46917
+ 97,
46918
+ 108,
46919
+ 95,
46920
+ 112,
46921
+ 111,
46922
+ 108,
46923
+ 105,
46924
+ 99,
46925
+ 121
46926
+ ]
46927
+ },
46928
+ {
46929
+ kind: "account",
46930
+ path: "lp_vault"
46931
+ }
46932
+ ]
46933
+ }
46934
+ },
46935
+ {
46936
+ name: "fee_recipient_account",
46937
+ docs: [
46938
+ "Optional fee recipient token account (shares mint).",
46939
+ "Required when initializing with performance_fee_bps > 0."
46940
+ ],
46941
+ optional: true
46942
+ },
46943
+ {
46944
+ name: "system_program",
46945
+ docs: [
46946
+ "System program."
46947
+ ],
46948
+ address: "11111111111111111111111111111111"
46949
+ },
46950
+ {
46951
+ name: "token_program",
46952
+ docs: [
46953
+ "Can either be spl-token or token-2022."
46954
+ ]
46955
+ }
46956
+ ],
46957
+ args: [
46958
+ {
46959
+ name: "fund_authority",
46960
+ type: "pubkey"
46961
+ },
46962
+ {
46963
+ name: "nav_max_staleness",
46964
+ type: "u64"
46965
+ },
46966
+ {
46967
+ name: "vault_name",
46968
+ type: "string"
46969
+ },
46970
+ {
46971
+ name: "decimals",
46972
+ type: "u8"
46973
+ },
46974
+ {
46975
+ name: "performance_fee_bps",
46976
+ type: "u16"
46977
+ },
46978
+ {
46979
+ name: "assessment_interval_secs",
46980
+ type: "i64"
46981
+ },
46982
+ {
46983
+ name: "keeper_authority",
46984
+ type: {
46985
+ option: "pubkey"
46986
+ }
46987
+ }
46988
+ ]
46989
+ },
46990
+ {
46991
+ name: "set_fee_config",
46992
+ docs: [
46993
+ "Configure or disable performance fee settings."
46994
+ ],
46995
+ discriminator: [
46996
+ 221,
46997
+ 222,
46998
+ 52,
46999
+ 206,
47000
+ 114,
47001
+ 198,
47002
+ 64,
47003
+ 91
47004
+ ],
47005
+ accounts: [
47006
+ {
47007
+ name: "fund_authority",
47008
+ docs: [
47009
+ "Operator / fund authority."
47010
+ ],
47011
+ signer: true,
47012
+ relations: [
47013
+ "lp_vault"
47014
+ ]
47015
+ },
47016
+ {
47017
+ name: "lp_vault",
47018
+ writable: true
47019
+ },
47020
+ {
47021
+ name: "shares_mint",
47022
+ writable: true,
47023
+ relations: [
47024
+ "lp_vault"
47025
+ ]
47026
+ },
47027
+ {
47028
+ name: "fee_recipient_account",
47029
+ docs: [
47030
+ "Token account that will receive fee shares.",
47031
+ "Required when enabling fees (performance_fee_bps > 0) or when",
47032
+ "mid-window settlement is needed (accrued fees must be settled",
47033
+ "to the old recipient before changing config).",
47034
+ "Omit when disabling with no accrued fees.",
47035
+ "Mutable because it may be the destination of a MintTo CPI during mid-window settlement."
47036
+ ],
47037
+ writable: true,
47038
+ optional: true
47039
+ },
47040
+ {
47041
+ name: "token_program"
47042
+ }
47043
+ ],
47044
+ args: [
47045
+ {
47046
+ name: "performance_fee_bps",
47047
+ type: "u16"
47048
+ },
47049
+ {
47050
+ name: "assessment_interval_secs",
47051
+ type: "i64"
47052
+ }
47053
+ ]
47054
+ },
47055
+ {
47056
+ name: "set_keeper_authority",
47057
+ docs: [
47058
+ "Set or remove the keeper authority on a vault.",
47059
+ "When set, this key can call fulfill_withdrawal in addition to fund_authority."
47060
+ ],
47061
+ discriminator: [
47062
+ 29,
47063
+ 124,
47064
+ 191,
47065
+ 114,
47066
+ 184,
47067
+ 243,
47068
+ 33,
47069
+ 155
47070
+ ],
47071
+ accounts: [
47072
+ {
47073
+ name: "fund_authority",
47074
+ docs: [
47075
+ "Fund authority \u2014 only they can change keeper authority."
47076
+ ],
47077
+ signer: true,
47078
+ relations: [
47079
+ "lp_vault"
47080
+ ]
47081
+ },
47082
+ {
47083
+ name: "payer",
47084
+ docs: [
47085
+ "Payer for any reallocation rent."
47086
+ ],
47087
+ writable: true,
47088
+ signer: true
47089
+ },
47090
+ {
47091
+ name: "lp_vault",
47092
+ writable: true
47093
+ },
47094
+ {
47095
+ name: "system_program",
47096
+ address: "11111111111111111111111111111111"
47097
+ }
47098
+ ],
47099
+ args: [
47100
+ {
47101
+ name: "keeper_authority",
47102
+ type: "pubkey"
47103
+ }
47104
+ ]
47105
+ },
47106
+ {
47107
+ name: "set_metadata",
47108
+ discriminator: [
47109
+ 78,
47110
+ 157,
47111
+ 75,
47112
+ 242,
47113
+ 151,
47114
+ 20,
47115
+ 121,
47116
+ 144
47117
+ ],
47118
+ accounts: [
47119
+ {
47120
+ name: "fund_authority",
47121
+ docs: [
47122
+ "Fund authority - only they can set metadata."
47123
+ ],
47124
+ writable: true,
47125
+ signer: true,
47126
+ relations: [
47127
+ "lp_vault"
47128
+ ]
47129
+ },
47130
+ {
47131
+ name: "lp_vault",
47132
+ docs: [
47133
+ "LpVault that owns the shares_mint."
47134
+ ]
47135
+ },
47136
+ {
47137
+ name: "shares_mint",
47138
+ docs: [
47139
+ "Shares mint for which we're setting metadata."
47140
+ ],
47141
+ writable: true,
47142
+ relations: [
47143
+ "lp_vault"
47144
+ ]
47145
+ },
47146
+ {
47147
+ name: "metadata_account",
47148
+ docs: [
47149
+ 'Seeds: ["metadata", token_metadata_program_id, mint]'
47150
+ ],
47151
+ writable: true,
47152
+ pda: {
47153
+ seeds: [
47154
+ {
47155
+ kind: "const",
47156
+ value: [
47157
+ 109,
47158
+ 101,
47159
+ 116,
47160
+ 97,
47161
+ 100,
47162
+ 97,
47163
+ 116,
47164
+ 97
47165
+ ]
47166
+ },
47167
+ {
47168
+ kind: "const",
47169
+ value: [
47170
+ 11,
47171
+ 112,
47172
+ 101,
47173
+ 177,
47174
+ 227,
47175
+ 209,
47176
+ 124,
47177
+ 69,
47178
+ 56,
47179
+ 157,
47180
+ 82,
47181
+ 127,
47182
+ 107,
47183
+ 4,
47184
+ 195,
47185
+ 205,
47186
+ 88,
47187
+ 184,
47188
+ 108,
47189
+ 115,
47190
+ 26,
47191
+ 160,
47192
+ 253,
47193
+ 181,
47194
+ 73,
47195
+ 182,
47196
+ 209,
47197
+ 188,
47198
+ 3,
47199
+ 248,
47200
+ 41,
47201
+ 70
47202
+ ]
47203
+ },
47204
+ {
47205
+ kind: "account",
47206
+ path: "shares_mint"
47207
+ }
47208
+ ],
47209
+ program: {
47210
+ kind: "const",
47211
+ value: [
47212
+ 11,
47213
+ 112,
47214
+ 101,
47215
+ 177,
47216
+ 227,
47217
+ 209,
47218
+ 124,
47219
+ 69,
47220
+ 56,
47221
+ 157,
47222
+ 82,
47223
+ 127,
47224
+ 107,
47225
+ 4,
47226
+ 195,
47227
+ 205,
47228
+ 88,
47229
+ 184,
47230
+ 108,
47231
+ 115,
47232
+ 26,
47233
+ 160,
47234
+ 253,
47235
+ 181,
47236
+ 73,
47237
+ 182,
47238
+ 209,
47239
+ 188,
47240
+ 3,
47241
+ 248,
47242
+ 41,
47243
+ 70
47244
+ ]
47245
+ }
47246
+ }
47247
+ },
47248
+ {
47249
+ name: "token_metadata_program",
47250
+ address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
47251
+ },
47252
+ {
47253
+ name: "system_program",
47254
+ docs: [
47255
+ "System program."
47256
+ ],
47257
+ address: "11111111111111111111111111111111"
47258
+ },
47259
+ {
47260
+ name: "rent",
47261
+ docs: [
47262
+ "Rent sysvar."
47263
+ ],
47264
+ address: "SysvarRent111111111111111111111111111111111"
47265
+ }
47266
+ ],
47267
+ args: [
47268
+ {
47269
+ name: "name",
47270
+ type: "string"
47271
+ },
47272
+ {
47273
+ name: "symbol",
47274
+ type: "string"
47275
+ },
47276
+ {
47277
+ name: "uri",
47278
+ type: "string"
47279
+ }
47280
+ ]
47281
+ },
47282
+ {
47283
+ name: "set_withdrawal_policy",
47284
+ docs: [
47285
+ "Configure retained withdrawal fees and net withdrawal caps."
47286
+ ],
47287
+ discriminator: [
47288
+ 3,
47289
+ 223,
47290
+ 67,
47291
+ 81,
47292
+ 69,
47293
+ 30,
47294
+ 203,
47295
+ 150
47296
+ ],
47297
+ accounts: [
47298
+ {
47299
+ name: "fund_authority",
47300
+ docs: [
47301
+ "Fund authority for the vault."
47302
+ ],
47303
+ signer: true,
47304
+ relations: [
47305
+ "lp_vault"
47306
+ ]
47307
+ },
47308
+ {
47309
+ name: "payer",
47310
+ docs: [
47311
+ "Payer for creating the policy account on existing vaults."
47312
+ ],
47313
+ writable: true,
47314
+ signer: true
47315
+ },
47316
+ {
47317
+ name: "lp_vault"
47318
+ },
47319
+ {
47320
+ name: "withdrawal_policy",
47321
+ writable: true,
47322
+ pda: {
47323
+ seeds: [
47324
+ {
47325
+ kind: "const",
47326
+ value: [
47327
+ 119,
47328
+ 105,
47329
+ 116,
47330
+ 104,
47331
+ 100,
47332
+ 114,
47333
+ 97,
47334
+ 119,
47335
+ 97,
47336
+ 108,
47337
+ 95,
47338
+ 112,
47339
+ 111,
47340
+ 108,
47341
+ 105,
47342
+ 99,
47343
+ 121
47344
+ ]
47345
+ },
47346
+ {
47347
+ kind: "account",
47348
+ path: "lp_vault"
47349
+ }
47350
+ ]
47351
+ }
47352
+ },
47353
+ {
47354
+ name: "system_program",
47355
+ address: "11111111111111111111111111111111"
47356
+ }
47357
+ ],
47358
+ args: [
47359
+ {
47360
+ name: "withdrawal_fee_bps",
47361
+ type: "u16"
47362
+ },
47363
+ {
47364
+ name: "hourly_withdrawal_cap_bps",
47365
+ type: "u16"
47366
+ },
47367
+ {
47368
+ name: "daily_withdrawal_cap_bps",
47369
+ type: "u16"
47370
+ }
47371
+ ]
47372
+ },
47373
+ {
47374
+ name: "update_admin_authorities",
47375
+ docs: [
47376
+ "Rotate super_admin, create_authority, and permissioned_creation",
47377
+ "atomically. Recovery instruction gated on the program's",
47378
+ "BPFLoaderUpgradeable upgrade authority (NOT the current super_admin),",
47379
+ "so a compromised or lost super_admin can be replaced."
47380
+ ],
47381
+ discriminator: [
47382
+ 41,
47383
+ 241,
47384
+ 142,
47385
+ 184,
47386
+ 75,
47387
+ 212,
47388
+ 72,
47389
+ 171
47390
+ ],
47391
+ accounts: [
47392
+ {
47393
+ name: "signer",
47394
+ docs: [
47395
+ "Signer rotating the authorities. MUST be the program's",
47396
+ "BPFLoaderUpgradeable upgrade authority (proven by the constraints on",
47397
+ "`program` + `program_data` below)."
47398
+ ],
47399
+ signer: true
47400
+ },
47401
+ {
47402
+ name: "global_config",
47403
+ docs: [
47404
+ "The global config account being rotated. Unique in the program.",
47405
+ "Deliberately no `has_one = super_admin`: see the struct docs."
47406
+ ],
47407
+ writable: true,
47408
+ pda: {
47409
+ seeds: [
47410
+ {
47411
+ kind: "const",
47412
+ value: [
47413
+ 103,
47414
+ 108,
47415
+ 111,
47416
+ 98,
47417
+ 97,
47418
+ 108,
47419
+ 95,
47420
+ 99,
47421
+ 111,
47422
+ 110,
47423
+ 102,
47424
+ 105,
47425
+ 103
47426
+ ]
47427
+ }
47428
+ ]
47429
+ }
47430
+ },
47431
+ {
47432
+ name: "program",
47433
+ docs: [
47434
+ "This program's own account; ties `program_data` to this program so the",
47435
+ "upgrade-authority check below cannot be satisfied with an unrelated",
47436
+ "program's ProgramData."
47437
+ ],
47438
+ address: "GaMmanX9i4jGmqDZZD2tbD6B2v9p21btenPneMXnTczV"
47439
+ },
47440
+ {
47441
+ name: "program_data",
47442
+ docs: [
47443
+ "ProgramData account holding the program's upgrade authority. Gate: the",
47444
+ "signer must equal the upgrade authority. `programdata_address()` returns",
47445
+ "`Ok(None)` for a non-upgradeable load and a revoked authority is `None`,",
47446
+ "so a `None` on either side fails closed."
47447
+ ]
47448
+ }
47449
+ ],
47450
+ args: [
47451
+ {
47452
+ name: "new_super_admin",
47453
+ type: "pubkey"
47454
+ },
47455
+ {
47456
+ name: "new_create_authority",
47457
+ type: "pubkey"
47458
+ },
47459
+ {
47460
+ name: "new_permissioned_creation",
47461
+ type: "bool"
47462
+ }
47463
+ ]
47464
+ },
47465
+ {
47466
+ name: "update_global_config",
47467
+ discriminator: [
47468
+ 164,
47469
+ 84,
47470
+ 130,
47471
+ 189,
47472
+ 111,
47473
+ 58,
47474
+ 250,
47475
+ 200
47476
+ ],
47477
+ accounts: [
47478
+ {
47479
+ name: "super_admin",
47480
+ docs: [
47481
+ "The signer must be the global_config super_admin."
47482
+ ],
47483
+ writable: true,
47484
+ signer: true,
47485
+ relations: [
47486
+ "global_config"
47487
+ ]
47488
+ },
47489
+ {
47490
+ name: "global_config",
47491
+ docs: [
47492
+ "The global config account. Unique in the program."
47493
+ ],
47494
+ writable: true,
47495
+ pda: {
47496
+ seeds: [
47497
+ {
47498
+ kind: "const",
47499
+ value: [
47500
+ 103,
47501
+ 108,
47502
+ 111,
47503
+ 98,
47504
+ 97,
47505
+ 108,
47506
+ 95,
47507
+ 99,
47508
+ 111,
47509
+ 110,
47510
+ 102,
47511
+ 105,
47512
+ 103
47513
+ ]
47514
+ }
47515
+ ]
47516
+ }
47517
+ }
47518
+ ],
47519
+ args: [
47520
+ {
47521
+ name: "new_create_authority",
47522
+ type: "pubkey"
47523
+ },
47524
+ {
47525
+ name: "is_creation_permissioned",
47526
+ type: "bool"
47527
+ }
47528
+ ]
47529
+ },
47530
+ {
47531
+ name: "update_nav",
47532
+ docs: [
47533
+ "Update the vault's NAV. Called by fund_authority (operator)."
47534
+ ],
47535
+ discriminator: [
47536
+ 56,
47537
+ 16,
47538
+ 234,
47539
+ 109,
47540
+ 155,
47541
+ 165,
47542
+ 5,
47543
+ 0
47544
+ ],
47545
+ accounts: [
47546
+ {
47547
+ name: "fund_authority",
47548
+ docs: [
47549
+ "Fund authority - only they can update NAV."
47550
+ ],
47551
+ signer: true,
47552
+ relations: [
47553
+ "lp_vault"
47554
+ ]
47555
+ },
47556
+ {
47557
+ name: "lp_vault",
47558
+ writable: true
47559
+ },
47560
+ {
47561
+ name: "shares_mint",
47562
+ relations: [
47563
+ "lp_vault"
47564
+ ]
47565
+ }
47566
+ ],
47567
+ args: [
47568
+ {
47569
+ name: "new_nav",
47570
+ type: "u64"
47571
+ }
47572
+ ]
47573
+ },
47574
+ {
47575
+ name: "update_nav_max_staleness",
47576
+ docs: [
47577
+ "Update the NAV max staleness window on a vault."
47578
+ ],
47579
+ discriminator: [
47580
+ 212,
47581
+ 225,
47582
+ 120,
47583
+ 109,
47584
+ 83,
47585
+ 96,
47586
+ 40,
47587
+ 17
47588
+ ],
47589
+ accounts: [
47590
+ {
47591
+ name: "fund_authority",
47592
+ docs: [
47593
+ "Fund authority \u2014 only they can change vault config."
47594
+ ],
47595
+ signer: true,
47596
+ relations: [
47597
+ "lp_vault"
47598
+ ]
47599
+ },
47600
+ {
47601
+ name: "lp_vault",
47602
+ writable: true
47603
+ }
47604
+ ],
47605
+ args: [
47606
+ {
47607
+ name: "nav_max_staleness",
47608
+ type: "u64"
47609
+ }
47610
+ ]
47611
+ },
47612
+ {
47613
+ name: "withdraw",
47614
+ docs: [
47615
+ "Withdraw shares for assets.",
47616
+ "If vault has sufficient liquidity: instant withdrawal.",
47617
+ "If illiquid: creates WithdrawReceipt, shares go to pending account."
47618
+ ],
47619
+ discriminator: [
47620
+ 183,
47621
+ 18,
47622
+ 70,
47623
+ 156,
47624
+ 148,
47625
+ 109,
47626
+ 161,
47627
+ 34
47628
+ ],
47629
+ accounts: [
47630
+ {
47631
+ name: "user",
47632
+ docs: [
47633
+ "User withdrawing from the vault."
47634
+ ],
47635
+ writable: true,
47636
+ signer: true
47637
+ },
47638
+ {
47639
+ name: "lp_vault",
47640
+ docs: [
47641
+ "LpVault to withdraw from."
47642
+ ],
47643
+ writable: true,
47644
+ relations: [
47645
+ "withdrawal_policy"
47646
+ ]
47647
+ },
47648
+ {
47649
+ name: "withdrawal_policy",
47650
+ docs: [
47651
+ "Withdrawal policy for retained asset fees and net withdrawal caps."
47652
+ ],
47653
+ writable: true,
47654
+ pda: {
47655
+ seeds: [
47656
+ {
47657
+ kind: "const",
47658
+ value: [
47659
+ 119,
47660
+ 105,
47661
+ 116,
47662
+ 104,
47663
+ 100,
47664
+ 114,
47665
+ 97,
47666
+ 119,
47667
+ 97,
47668
+ 108,
47669
+ 95,
47670
+ 112,
47671
+ 111,
47672
+ 108,
47673
+ 105,
47674
+ 99,
47675
+ 121
47676
+ ]
47677
+ },
47678
+ {
47679
+ kind: "account",
47680
+ path: "lp_vault"
47681
+ }
47682
+ ]
47683
+ }
47684
+ },
47685
+ {
47686
+ name: "assets_account",
47687
+ docs: [
47688
+ "Token account for vault assets."
47689
+ ],
47690
+ writable: true,
47691
+ relations: [
47692
+ "lp_vault"
47693
+ ]
47694
+ },
47695
+ {
47696
+ name: "user_share_ata",
47697
+ docs: [
47698
+ "User's share token account (source of shares)."
47699
+ ],
47700
+ writable: true,
47701
+ pda: {
47702
+ seeds: [
47703
+ {
47704
+ kind: "account",
47705
+ path: "user"
47706
+ },
47707
+ {
47708
+ kind: "account",
47709
+ path: "token_program"
47710
+ },
47711
+ {
47712
+ kind: "account",
47713
+ path: "shares_mint"
47714
+ }
47715
+ ],
47716
+ program: {
47717
+ kind: "const",
47718
+ value: [
47719
+ 140,
47720
+ 151,
47721
+ 37,
47722
+ 143,
47723
+ 78,
47724
+ 36,
47725
+ 137,
47726
+ 241,
47727
+ 187,
47728
+ 61,
47729
+ 16,
47730
+ 41,
47731
+ 20,
47732
+ 142,
47733
+ 13,
47734
+ 131,
47735
+ 11,
47736
+ 90,
47737
+ 19,
47738
+ 153,
47739
+ 218,
47740
+ 255,
47741
+ 16,
47742
+ 132,
47743
+ 4,
47744
+ 142,
47745
+ 123,
47746
+ 216,
47747
+ 219,
47748
+ 233,
47749
+ 248,
47750
+ 89
47751
+ ]
47752
+ }
47753
+ }
47754
+ },
47755
+ {
47756
+ name: "assets_mint",
47757
+ docs: [
47758
+ "Mint of the vault assets."
47759
+ ],
47760
+ relations: [
47761
+ "lp_vault"
47762
+ ]
47763
+ },
47764
+ {
47765
+ name: "shares_mint",
47766
+ docs: [
47767
+ "Mint for vault shares (mutable for fee mint CPI)."
47768
+ ],
47769
+ writable: true,
47770
+ relations: [
47771
+ "lp_vault"
47772
+ ]
47773
+ },
47774
+ {
47775
+ name: "fee_recipient_account",
47776
+ docs: [
47777
+ "Token account that receives fee shares on withdrawal.",
47778
+ "Required when `has_fee_config()` is true; omit otherwise.",
47779
+ "Mutable because it is the destination of a MintTo CPI."
47780
+ ],
47781
+ writable: true,
47782
+ optional: true
47783
+ },
47784
+ {
47785
+ name: "withdraw_escrow",
47786
+ docs: [
47787
+ "Withdraw escrow - holds assets and shares until user claims."
47788
+ ],
47789
+ writable: true,
47790
+ pda: {
47791
+ seeds: [
47792
+ {
47793
+ kind: "const",
47794
+ value: [
47795
+ 119,
47796
+ 105,
47797
+ 116,
47798
+ 104,
47799
+ 100,
47800
+ 114,
47801
+ 97,
47802
+ 119,
47803
+ 95,
47804
+ 101,
47805
+ 115,
47806
+ 99,
47807
+ 114,
47808
+ 111,
47809
+ 119
47810
+ ]
47811
+ },
47812
+ {
47813
+ kind: "account",
47814
+ path: "user"
47815
+ },
47816
+ {
47817
+ kind: "account",
47818
+ path: "lp_vault"
47819
+ }
47820
+ ]
47821
+ }
47822
+ },
47823
+ {
47824
+ name: "escrow_assets_account",
47825
+ docs: [
47826
+ "Escrow's asset token account (holds USDC for user to claim)."
47827
+ ],
47828
+ writable: true,
47829
+ pda: {
47830
+ seeds: [
47831
+ {
47832
+ kind: "account",
47833
+ path: "withdraw_escrow"
47834
+ },
47835
+ {
47836
+ kind: "account",
47837
+ path: "token_program"
47838
+ },
47839
+ {
47840
+ kind: "account",
47841
+ path: "assets_mint"
47842
+ }
47843
+ ],
47844
+ program: {
47845
+ kind: "const",
47846
+ value: [
47847
+ 140,
47848
+ 151,
47849
+ 37,
47850
+ 143,
47851
+ 78,
47852
+ 36,
47853
+ 137,
47854
+ 241,
47855
+ 187,
47856
+ 61,
47857
+ 16,
47858
+ 41,
47859
+ 20,
47860
+ 142,
47861
+ 13,
47862
+ 131,
47863
+ 11,
47864
+ 90,
47865
+ 19,
47866
+ 153,
47867
+ 218,
47868
+ 255,
47869
+ 16,
47870
+ 132,
47871
+ 4,
47872
+ 142,
47873
+ 123,
47874
+ 216,
47875
+ 219,
47876
+ 233,
47877
+ 248,
47878
+ 89
47879
+ ]
47880
+ }
47881
+ }
47882
+ },
47883
+ {
47884
+ name: "escrow_shares_account",
47885
+ docs: [
47886
+ "Escrow's share token account (holds shares until burned on claim)."
47887
+ ],
47888
+ writable: true,
47889
+ pda: {
47890
+ seeds: [
47891
+ {
47892
+ kind: "account",
47893
+ path: "withdraw_escrow"
47894
+ },
47895
+ {
47896
+ kind: "account",
47897
+ path: "token_program"
47898
+ },
47899
+ {
47900
+ kind: "account",
47901
+ path: "shares_mint"
47902
+ }
47903
+ ],
47904
+ program: {
47905
+ kind: "const",
47906
+ value: [
47907
+ 140,
47908
+ 151,
47909
+ 37,
47910
+ 143,
47911
+ 78,
47912
+ 36,
47913
+ 137,
47914
+ 241,
47915
+ 187,
47916
+ 61,
47917
+ 16,
47918
+ 41,
47919
+ 20,
47920
+ 142,
47921
+ 13,
47922
+ 131,
47923
+ 11,
47924
+ 90,
47925
+ 19,
47926
+ 153,
47927
+ 218,
47928
+ 255,
47929
+ 16,
47930
+ 132,
47931
+ 4,
47932
+ 142,
47933
+ 123,
47934
+ 216,
47935
+ 219,
47936
+ 233,
47937
+ 248,
47938
+ 89
47939
+ ]
47940
+ }
47941
+ }
47942
+ },
47943
+ {
47944
+ name: "withdraw_receipt",
47945
+ docs: [
47946
+ "Withdraw receipt - tracks pending and claimable amounts (accumulates)."
47947
+ ],
47948
+ writable: true,
47949
+ pda: {
47950
+ seeds: [
47951
+ {
47952
+ kind: "const",
47953
+ value: [
47954
+ 119,
47955
+ 105,
47956
+ 116,
47957
+ 104,
47958
+ 100,
47959
+ 114,
47960
+ 97,
47961
+ 119,
47962
+ 95,
47963
+ 114,
47964
+ 101,
47965
+ 99,
47966
+ 101,
47967
+ 105,
47968
+ 112,
47969
+ 116
47970
+ ]
47971
+ },
47972
+ {
47973
+ kind: "account",
47974
+ path: "user"
47975
+ },
47976
+ {
47977
+ kind: "account",
47978
+ path: "lp_vault"
47979
+ }
47980
+ ]
47981
+ }
47982
+ },
47983
+ {
47984
+ name: "system_program",
47985
+ docs: [
47986
+ "System program."
47987
+ ],
47988
+ address: "11111111111111111111111111111111"
47989
+ },
47990
+ {
47991
+ name: "token_program",
47992
+ docs: [
47993
+ "Token program."
47994
+ ]
47995
+ },
47996
+ {
47997
+ name: "associated_token_program",
47998
+ docs: [
47999
+ "Associated token program."
48000
+ ],
48001
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
48002
+ }
48003
+ ],
48004
+ args: [
48005
+ {
48006
+ name: "shares_amount",
48007
+ type: "u64"
48008
+ }
48009
+ ]
48010
+ },
48011
+ {
48012
+ name: "withdraw_assets",
48013
+ docs: [
48014
+ "Withdraw assets from vault to operator wallet for investment."
48015
+ ],
48016
+ discriminator: [
48017
+ 202,
48018
+ 105,
48019
+ 54,
48020
+ 155,
48021
+ 56,
48022
+ 33,
48023
+ 207,
48024
+ 254
48025
+ ],
48026
+ accounts: [
48027
+ {
48028
+ name: "fund_authority",
48029
+ writable: true,
48030
+ signer: true,
48031
+ relations: [
48032
+ "lp_vault"
48033
+ ]
48034
+ },
48035
+ {
48036
+ name: "lp_vault"
48037
+ },
48038
+ {
48039
+ name: "assets_account",
48040
+ writable: true,
48041
+ relations: [
48042
+ "lp_vault"
48043
+ ]
48044
+ },
48045
+ {
48046
+ name: "authority_asset_ata",
48047
+ writable: true,
48048
+ pda: {
48049
+ seeds: [
48050
+ {
48051
+ kind: "account",
48052
+ path: "fund_authority"
48053
+ },
48054
+ {
48055
+ kind: "account",
48056
+ path: "token_program"
48057
+ },
48058
+ {
48059
+ kind: "account",
48060
+ path: "assets_mint"
48061
+ }
48062
+ ],
48063
+ program: {
48064
+ kind: "const",
48065
+ value: [
48066
+ 140,
48067
+ 151,
48068
+ 37,
48069
+ 143,
48070
+ 78,
48071
+ 36,
48072
+ 137,
48073
+ 241,
48074
+ 187,
48075
+ 61,
48076
+ 16,
48077
+ 41,
48078
+ 20,
48079
+ 142,
48080
+ 13,
48081
+ 131,
48082
+ 11,
48083
+ 90,
48084
+ 19,
48085
+ 153,
48086
+ 218,
48087
+ 255,
48088
+ 16,
48089
+ 132,
48090
+ 4,
48091
+ 142,
48092
+ 123,
48093
+ 216,
48094
+ 219,
48095
+ 233,
48096
+ 248,
48097
+ 89
48098
+ ]
48099
+ }
48100
+ }
48101
+ },
48102
+ {
48103
+ name: "assets_mint",
48104
+ relations: [
48105
+ "lp_vault"
48106
+ ]
48107
+ },
48108
+ {
48109
+ name: "system_program",
48110
+ address: "11111111111111111111111111111111"
48111
+ },
48112
+ {
48113
+ name: "token_program"
48114
+ },
48115
+ {
48116
+ name: "associated_token_program",
48117
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
48118
+ }
48119
+ ],
48120
+ args: [
48121
+ {
48122
+ name: "amount",
48123
+ type: "u64"
48124
+ }
48125
+ ]
48126
+ }
48127
+ ],
48128
+ accounts: [
48129
+ {
48130
+ name: "DepositReceipt",
48131
+ discriminator: [
48132
+ 64,
48133
+ 175,
48134
+ 24,
48135
+ 183,
48136
+ 138,
48137
+ 109,
48138
+ 70,
48139
+ 78
48140
+ ]
48141
+ },
48142
+ {
48143
+ name: "GlobalConfig",
48144
+ discriminator: [
48145
+ 149,
48146
+ 8,
48147
+ 156,
48148
+ 202,
48149
+ 160,
48150
+ 252,
48151
+ 176,
48152
+ 217
48153
+ ]
48154
+ },
48155
+ {
48156
+ name: "LpVault",
48157
+ discriminator: [
48158
+ 189,
48159
+ 45,
48160
+ 167,
48161
+ 23,
48162
+ 91,
48163
+ 118,
48164
+ 105,
48165
+ 190
48166
+ ]
48167
+ },
48168
+ {
48169
+ name: "WithdrawEscrow",
48170
+ discriminator: [
48171
+ 161,
48172
+ 63,
48173
+ 221,
48174
+ 55,
48175
+ 116,
48176
+ 204,
48177
+ 131,
48178
+ 11
48179
+ ]
48180
+ },
48181
+ {
48182
+ name: "WithdrawReceipt",
48183
+ discriminator: [
48184
+ 132,
48185
+ 238,
48186
+ 44,
48187
+ 182,
48188
+ 207,
48189
+ 9,
48190
+ 124,
48191
+ 140
48192
+ ]
48193
+ },
48194
+ {
48195
+ name: "WithdrawalPolicy",
48196
+ discriminator: [
48197
+ 52,
48198
+ 231,
48199
+ 68,
48200
+ 59,
48201
+ 247,
48202
+ 250,
48203
+ 119,
48204
+ 244
48205
+ ]
48206
+ }
48207
+ ],
48208
+ events: [
48209
+ {
48210
+ name: "AdminAuthoritiesUpdated",
48211
+ discriminator: [
48212
+ 1,
48213
+ 164,
48214
+ 87,
48215
+ 62,
48216
+ 157,
48217
+ 85,
48218
+ 1,
48219
+ 113
48220
+ ]
48221
+ },
48222
+ {
48223
+ name: "FeeConfigUpdated",
48224
+ discriminator: [
48225
+ 45,
48226
+ 50,
48227
+ 42,
48228
+ 173,
48229
+ 193,
48230
+ 67,
48231
+ 52,
48232
+ 244
48233
+ ]
48234
+ },
48235
+ {
48236
+ name: "FeesAssessed",
48237
+ discriminator: [
48238
+ 210,
48239
+ 177,
48240
+ 59,
48241
+ 191,
48242
+ 116,
48243
+ 251,
48244
+ 25,
48245
+ 131
48246
+ ]
48247
+ },
48248
+ {
48249
+ name: "WithdrawalFeeRetained",
48250
+ discriminator: [
48251
+ 105,
48252
+ 104,
48253
+ 190,
48254
+ 198,
48255
+ 168,
48256
+ 231,
48257
+ 18,
48258
+ 182
48259
+ ]
48260
+ },
48261
+ {
48262
+ name: "WithdrawalFeesSettled",
48263
+ discriminator: [
48264
+ 106,
48265
+ 253,
48266
+ 199,
48267
+ 177,
48268
+ 101,
48269
+ 104,
48270
+ 38,
48271
+ 219
48272
+ ]
48273
+ },
48274
+ {
48275
+ name: "WithdrawalPolicyUpdated",
48276
+ discriminator: [
48277
+ 252,
48278
+ 196,
48279
+ 144,
48280
+ 224,
48281
+ 210,
48282
+ 3,
48283
+ 71,
48284
+ 66
48285
+ ]
48286
+ }
48287
+ ],
48288
+ errors: [
48289
+ {
48290
+ code: 6e3,
48291
+ name: "ArithmeticError",
48292
+ msg: "Arithmetic error!"
48293
+ },
48294
+ {
48295
+ code: 6001,
48296
+ name: "ObsoleteVaultData",
48297
+ msg: "LpVault data is outdated!"
48298
+ },
48299
+ {
48300
+ code: 6002,
48301
+ name: "StaleNav",
48302
+ msg: "NAV is stale - operator must update NAV before this operation!"
48303
+ },
48304
+ {
48305
+ code: 6003,
48306
+ name: "Unauthorized",
48307
+ msg: "Signer is not an authority!"
48308
+ },
48309
+ {
48310
+ code: 6004,
48311
+ name: "InvalidMint",
48312
+ msg: "Invalid mint extension!"
48313
+ },
48314
+ {
48315
+ code: 6005,
48316
+ name: "NameTooLong",
48317
+ msg: "LP Vault name is too long!"
48318
+ },
48319
+ {
48320
+ code: 6006,
48321
+ name: "BlockedDeposit",
48322
+ msg: "Deposits are blocked - NAV is zero!"
48323
+ },
48324
+ {
48325
+ code: 6007,
48326
+ name: "InsufficientLiquidity",
48327
+ msg: "Insufficient liquid assets for instant withdrawal!"
48328
+ },
48329
+ {
48330
+ code: 6008,
48331
+ name: "InvalidShareAmount",
48332
+ msg: "Invalid share amount!"
48333
+ },
48334
+ {
48335
+ code: 6009,
48336
+ name: "InvalidDepositAmount",
48337
+ msg: "Invalid deposit amount!"
48338
+ },
48339
+ {
48340
+ code: 6010,
48341
+ name: "NoPendingWithdrawal",
48342
+ msg: "No pending withdrawal to fulfill!"
48343
+ },
48344
+ {
48345
+ code: 6011,
48346
+ name: "NoClaimableAssets",
48347
+ msg: "No claimable assets to withdraw!"
48348
+ },
48349
+ {
48350
+ code: 6012,
48351
+ name: "FeeRecipientNotConfigured",
48352
+ msg: "Fee recipient is not configured!"
48353
+ },
48354
+ {
48355
+ code: 6013,
48356
+ name: "InvalidPerformanceFeeBps",
48357
+ msg: "Invalid performance fee - must be <= MAX_PERFORMANCE_FEE_BPS!"
48358
+ },
48359
+ {
48360
+ code: 6014,
48361
+ name: "InvalidFeeRecipient",
48362
+ msg: "Invalid fee recipient account!"
48363
+ },
48364
+ {
48365
+ code: 6015,
48366
+ name: "AssessmentTooEarly",
48367
+ msg: "Assessment interval has not elapsed!"
48368
+ },
48369
+ {
48370
+ code: 6016,
48371
+ name: "InvalidAssessmentInterval",
48372
+ msg: "Invalid assessment interval!"
48373
+ },
48374
+ {
48375
+ code: 6017,
48376
+ name: "NavUpdateTooLarge",
48377
+ msg: "NAV update would change share price by more than the allowed maximum!"
48378
+ },
48379
+ {
48380
+ code: 6018,
48381
+ name: "InvalidWithdrawalFeeBps",
48382
+ msg: "Invalid withdrawal fee - must be <= MAX_WITHDRAWAL_FEE_BPS!"
48383
+ },
48384
+ {
48385
+ code: 6019,
48386
+ name: "InvalidWithdrawalCapBps",
48387
+ msg: "Invalid withdrawal cap - must be <= 10000 bps!"
48388
+ },
48389
+ {
48390
+ code: 6020,
48391
+ name: "HourlyWithdrawalCapExceeded",
48392
+ msg: "Withdrawal exceeds hourly vault capacity!"
48393
+ },
48394
+ {
48395
+ code: 6021,
48396
+ name: "DailyWithdrawalCapExceeded",
48397
+ msg: "Withdrawal exceeds daily vault capacity!"
48398
+ },
48399
+ {
48400
+ code: 6022,
48401
+ name: "InvalidWithdrawalPolicy",
48402
+ msg: "Invalid withdrawal policy account!"
48403
+ },
48404
+ {
48405
+ code: 6023,
48406
+ name: "InvalidAuthority",
48407
+ msg: "New authority cannot be the default (all-zeros) pubkey!"
48408
+ }
48409
+ ],
48410
+ types: [
48411
+ {
48412
+ name: "AdminAuthoritiesUpdated",
48413
+ type: {
48414
+ kind: "struct",
48415
+ fields: [
48416
+ {
48417
+ name: "old_super_admin",
48418
+ type: "pubkey"
48419
+ },
48420
+ {
48421
+ name: "new_super_admin",
48422
+ type: "pubkey"
48423
+ },
48424
+ {
48425
+ name: "old_create_authority",
48426
+ type: "pubkey"
48427
+ },
48428
+ {
48429
+ name: "new_create_authority",
48430
+ type: "pubkey"
48431
+ },
48432
+ {
48433
+ name: "old_permissioned_creation",
48434
+ type: "bool"
48435
+ },
48436
+ {
48437
+ name: "new_permissioned_creation",
48438
+ type: "bool"
48439
+ }
48440
+ ]
48441
+ }
48442
+ },
48443
+ {
48444
+ name: "DepositReceipt",
48445
+ type: {
48446
+ kind: "struct",
48447
+ fields: [
48448
+ {
48449
+ name: "bump",
48450
+ docs: [
48451
+ "PDA bump seed."
48452
+ ],
48453
+ type: "u8"
48454
+ }
48455
+ ]
48456
+ }
48457
+ },
48458
+ {
48459
+ name: "FeeConfigUpdated",
48460
+ type: {
48461
+ kind: "struct",
48462
+ fields: [
48463
+ {
48464
+ name: "vault",
48465
+ type: "pubkey"
48466
+ },
48467
+ {
48468
+ name: "old_fee_recipient",
48469
+ type: "pubkey"
48470
+ },
48471
+ {
48472
+ name: "new_fee_recipient",
48473
+ type: "pubkey"
48474
+ },
48475
+ {
48476
+ name: "old_fee_bps",
48477
+ type: "u16"
48478
+ },
48479
+ {
48480
+ name: "new_fee_bps",
48481
+ type: "u16"
48482
+ },
48483
+ {
48484
+ name: "assessment_interval_secs",
48485
+ type: "i64"
48486
+ }
48487
+ ]
48488
+ }
48489
+ },
48490
+ {
48491
+ name: "FeesAssessed",
48492
+ type: {
48493
+ kind: "struct",
48494
+ fields: [
48495
+ {
48496
+ name: "vault",
48497
+ type: "pubkey"
48498
+ },
48499
+ {
48500
+ name: "profit_assets",
48501
+ type: "u64"
48502
+ },
48503
+ {
48504
+ name: "fee_assets",
48505
+ type: "u64"
48506
+ },
48507
+ {
48508
+ name: "fee_shares_minted",
48509
+ type: "u64"
48510
+ },
48511
+ {
48512
+ name: "new_pps",
48513
+ type: "u64"
48514
+ },
48515
+ {
48516
+ name: "checkpoint_pps",
48517
+ type: "u64"
48518
+ },
48519
+ {
48520
+ name: "timestamp",
48521
+ type: "i64"
48522
+ }
48523
+ ]
48524
+ }
48525
+ },
48526
+ {
48527
+ name: "GlobalConfig",
48528
+ type: {
48529
+ kind: "struct",
48530
+ fields: [
48531
+ {
48532
+ name: "super_admin",
48533
+ docs: [
48534
+ "Key with the ability to update the GlobalConfig. Rotatable only via",
48535
+ "`update_admin_authorities` (gated on the program upgrade authority)."
48536
+ ],
48537
+ type: "pubkey"
48538
+ },
48539
+ {
48540
+ name: "permissioned_creation",
48541
+ docs: [
48542
+ "When true InitializeLpVault requires create_authority to be a signer"
48543
+ ],
48544
+ type: "bool"
48545
+ },
48546
+ {
48547
+ name: "create_authority",
48548
+ docs: [
48549
+ "The key with authority to call `InitializeLpVault`"
48550
+ ],
48551
+ type: "pubkey"
48552
+ },
48553
+ {
48554
+ name: "bump",
48555
+ docs: [
48556
+ "Bump for increased efficiency."
48557
+ ],
48558
+ type: "u8"
48559
+ }
48560
+ ]
48561
+ }
48562
+ },
48563
+ {
48564
+ name: "LpVault",
48565
+ type: {
48566
+ kind: "struct",
48567
+ fields: [
48568
+ {
48569
+ name: "assets_account",
48570
+ docs: [
48571
+ "USDC TokenAccount where users deposit, funds agent operations."
48572
+ ],
48573
+ type: "pubkey"
48574
+ },
48575
+ {
48576
+ name: "pending_shares_account",
48577
+ docs: [
48578
+ "TokenAccount where shares are held during queued (illiquid) withdrawals."
48579
+ ],
48580
+ type: "pubkey"
48581
+ },
48582
+ {
48583
+ name: "shares_mint",
48584
+ docs: [
48585
+ "Derived mint (created on initialize) that represents LP tokens or shares."
48586
+ ],
48587
+ type: "pubkey"
48588
+ },
48589
+ {
48590
+ name: "assets_mint",
48591
+ docs: [
48592
+ "Mint corresponding to the asset, most of the time USDC."
48593
+ ],
48594
+ type: "pubkey"
48595
+ },
48596
+ {
48597
+ name: "fund_authority",
48598
+ docs: [
48599
+ "Pubkey authorized to withdraw assets from assets_account and update NAV."
48600
+ ],
48601
+ type: "pubkey"
48602
+ },
48603
+ {
48604
+ name: "nav",
48605
+ docs: [
48606
+ "Current Net Asset Value (total vault value in asset decimals)."
48607
+ ],
48608
+ type: "u64"
48609
+ },
48610
+ {
48611
+ name: "total_shares",
48612
+ docs: [
48613
+ "Total shares outstanding (cached for efficiency). May temporarily diverge",
48614
+ "from shares_mint.supply during the escrow withdrawal flow (between",
48615
+ "fulfill_withdrawal and complete_withdrawal)."
48616
+ ],
48617
+ type: "u64"
48618
+ },
48619
+ {
48620
+ name: "nav_updated_at",
48621
+ docs: [
48622
+ "Timestamp for when NAV was last updated."
48623
+ ],
48624
+ type: "i64"
48625
+ },
48626
+ {
48627
+ name: "nav_max_staleness",
48628
+ docs: [
48629
+ "Maximum NAV staleness for user operations (in seconds).",
48630
+ "Deposits and withdrawals fail if NAV is older than this."
48631
+ ],
48632
+ type: "u64"
48633
+ },
48634
+ {
48635
+ name: "bump",
48636
+ docs: [
48637
+ "PDA derivation bump, stored for CU saving purposes."
48638
+ ],
48639
+ type: "u8"
48640
+ },
48641
+ {
48642
+ name: "vault_name",
48643
+ type: "string"
48644
+ },
48645
+ {
48646
+ name: "pending_withdrawal_value",
48647
+ docs: [
48648
+ "Total value of pending withdrawals awaiting liquidity.",
48649
+ "When a withdrawal cannot be fulfilled instantly due to insufficient",
48650
+ "liquid assets, the value is tracked here. This is approximate \u2014 the",
48651
+ "value recorded at withdrawal time may differ from the value at",
48652
+ "fulfillment time (recomputed at current NAV). Used for operator",
48653
+ "visibility only, not for critical calculations."
48654
+ ],
48655
+ type: "u64"
48656
+ },
48657
+ {
48658
+ name: "fee_recipient",
48659
+ docs: [
48660
+ "Shares token account that receives fee shares. Pubkey::default() = disabled."
48661
+ ],
48662
+ type: "pubkey"
48663
+ },
48664
+ {
48665
+ name: "performance_fee_bps",
48666
+ docs: [
48667
+ "Performance fee rate in basis points (2000 = 20%). 0 = disabled."
48668
+ ],
48669
+ type: "u16"
48670
+ },
48671
+ {
48672
+ name: "assessment_interval_secs",
48673
+ docs: [
48674
+ "How often scheduled fees are assessed (seconds). E.g., 86400 = 24h."
48675
+ ],
48676
+ type: "i64"
48677
+ },
48678
+ {
48679
+ name: "last_assessment_timestamp",
48680
+ docs: [
48681
+ "Unix timestamp of last fee event (scheduled or withdrawal-triggered)."
48682
+ ],
48683
+ type: "i64"
48684
+ },
48685
+ {
48686
+ name: "price_per_share_at_last_assessment",
48687
+ docs: [
48688
+ "PPS at last fee event, scaled by PRICE_SCALE. High-water mark for fees."
48689
+ ],
48690
+ type: "u64"
48691
+ },
48692
+ {
48693
+ name: "keeper_authority",
48694
+ docs: [
48695
+ "Optional keeper authority. When set (non-default), this key can call",
48696
+ "fulfill_withdrawal in addition to fund_authority. Allows the keeper",
48697
+ "process to use a separate key from the agent/fund_authority.",
48698
+ "Pubkey::default() = not set (only fund_authority can fulfill)."
48699
+ ],
48700
+ type: "pubkey"
48701
+ }
48702
+ ]
48703
+ }
48704
+ },
48705
+ {
48706
+ name: "WithdrawEscrow",
48707
+ docs: [
48708
+ "Escrow account that holds assets and shares for a pending withdrawal.",
48709
+ "Each user has one escrow per vault, derived as PDA from [WITHDRAW_ESCROW_SEED, user, vault]."
48710
+ ],
48711
+ type: {
48712
+ kind: "struct",
48713
+ fields: [
48714
+ {
48715
+ name: "user",
48716
+ docs: [
48717
+ "User who owns this escrow."
48718
+ ],
48719
+ type: "pubkey"
48720
+ },
48721
+ {
48722
+ name: "lp_vault",
48723
+ docs: [
48724
+ "The vault this escrow is associated with."
48725
+ ],
48726
+ type: "pubkey"
48727
+ },
48728
+ {
48729
+ name: "escrow_assets_account",
48730
+ docs: [
48731
+ "Token account holding escrowed assets (USDC)."
48732
+ ],
48733
+ type: "pubkey"
48734
+ },
48735
+ {
48736
+ name: "escrow_shares_account",
48737
+ docs: [
48738
+ "Token account holding escrowed shares (for burning on claim)."
48739
+ ],
48740
+ type: "pubkey"
48741
+ },
48742
+ {
48743
+ name: "bump",
48744
+ docs: [
48745
+ "PDA derivation bump."
48746
+ ],
48747
+ type: "u8"
48748
+ }
48749
+ ]
48750
+ }
48751
+ },
48752
+ {
48753
+ name: "WithdrawReceipt",
48754
+ type: {
48755
+ kind: "struct",
48756
+ fields: [
48757
+ {
48758
+ name: "user",
48759
+ docs: [
48760
+ "User requesting withdrawal."
48761
+ ],
48762
+ type: "pubkey"
48763
+ },
48764
+ {
48765
+ name: "lp_vault",
48766
+ docs: [
48767
+ "Vault where the user has invested."
48768
+ ],
48769
+ type: "pubkey"
48770
+ },
48771
+ {
48772
+ name: "pending_shares",
48773
+ docs: [
48774
+ "Shares waiting for liquidity (keeper needs to fulfill these).",
48775
+ "These shares are held in the escrow_shares_account."
48776
+ ],
48777
+ type: "u64"
48778
+ },
48779
+ {
48780
+ name: "claimable_shares",
48781
+ docs: [
48782
+ "Shares that have been fulfilled and are ready to claim.",
48783
+ "These shares are also in escrow_shares_account, waiting to be burned on claim."
48784
+ ],
48785
+ type: "u64"
48786
+ },
48787
+ {
48788
+ name: "claimable_assets",
48789
+ docs: [
48790
+ "Asset value ready to claim (held in escrow_assets_account)."
48791
+ ],
48792
+ type: "u64"
48793
+ },
48794
+ {
48795
+ name: "oldest_pending_at",
48796
+ docs: [
48797
+ "Timestamp of the earliest pending withdrawal (for NAV staleness checks)."
48798
+ ],
48799
+ type: "i64"
48800
+ },
48801
+ {
48802
+ name: "bump",
48803
+ docs: [
48804
+ "PDA derivation bump, stored for CU saving purposes."
48805
+ ],
48806
+ type: "u8"
48807
+ }
48808
+ ]
48809
+ }
48810
+ },
48811
+ {
48812
+ name: "WithdrawalFeeRetained",
48813
+ type: {
48814
+ kind: "struct",
48815
+ fields: [
48816
+ {
48817
+ name: "vault",
48818
+ type: "pubkey"
48819
+ },
48820
+ {
48821
+ name: "user",
48822
+ type: "pubkey"
48823
+ },
48824
+ {
48825
+ name: "gross_assets",
48826
+ type: "u64"
48827
+ },
48828
+ {
48829
+ name: "fee_assets",
48830
+ type: "u64"
48831
+ },
48832
+ {
48833
+ name: "net_assets",
48834
+ type: "u64"
48835
+ },
48836
+ {
48837
+ name: "withdrawal_fee_bps",
48838
+ type: "u16"
48839
+ },
48840
+ {
48841
+ name: "timestamp",
48842
+ type: "i64"
48843
+ }
48844
+ ]
48845
+ }
48846
+ },
48847
+ {
48848
+ name: "WithdrawalFeesSettled",
48849
+ type: {
48850
+ kind: "struct",
48851
+ fields: [
48852
+ {
48853
+ name: "vault",
48854
+ type: "pubkey"
48855
+ },
48856
+ {
48857
+ name: "user",
48858
+ type: "pubkey"
48859
+ },
48860
+ {
48861
+ name: "shares_withdrawn",
48862
+ type: "u64"
48863
+ },
48864
+ {
48865
+ name: "asset_value",
48866
+ type: "u64"
48867
+ },
48868
+ {
48869
+ name: "fee_shares_minted",
48870
+ type: "u64"
48871
+ },
48872
+ {
48873
+ name: "proration_elapsed",
48874
+ type: "i64"
48875
+ },
48876
+ {
48877
+ name: "proration_interval",
48878
+ type: "i64"
48879
+ },
48880
+ {
48881
+ name: "pps_after_fees",
48882
+ type: "u64"
48883
+ }
48884
+ ]
48885
+ }
48886
+ },
48887
+ {
48888
+ name: "WithdrawalPolicy",
48889
+ type: {
48890
+ kind: "struct",
48891
+ fields: [
48892
+ {
48893
+ name: "lp_vault",
48894
+ docs: [
48895
+ "Vault this policy belongs to."
48896
+ ],
48897
+ type: "pubkey"
48898
+ },
48899
+ {
48900
+ name: "withdrawal_fee_bps",
48901
+ docs: [
48902
+ "Base-asset fee retained in the vault on withdrawal. 30 = 0.30%."
48903
+ ],
48904
+ type: "u16"
48905
+ },
48906
+ {
48907
+ name: "hourly_withdrawal_cap_bps",
48908
+ docs: [
48909
+ "Max net withdrawal accepted per hour as bps of current NAV. 0 = disabled."
48910
+ ],
48911
+ type: "u16"
48912
+ },
48913
+ {
48914
+ name: "daily_withdrawal_cap_bps",
48915
+ docs: [
48916
+ "Max net withdrawal accepted per day as bps of current NAV. 0 = disabled."
48917
+ ],
48918
+ type: "u16"
48919
+ },
48920
+ {
48921
+ name: "hourly_withdrawn_assets",
48922
+ docs: [
48923
+ "Net withdrawn assets counted in the current hourly window."
48924
+ ],
48925
+ type: "u64"
48926
+ },
48927
+ {
48928
+ name: "daily_withdrawn_assets",
48929
+ docs: [
48930
+ "Net withdrawn assets counted in the current daily window."
48931
+ ],
48932
+ type: "u64"
48933
+ },
48934
+ {
48935
+ name: "hourly_window_start",
48936
+ docs: [
48937
+ "Start timestamp for the current hourly cap window."
48938
+ ],
48939
+ type: "i64"
48940
+ },
48941
+ {
48942
+ name: "daily_window_start",
48943
+ docs: [
48944
+ "Start timestamp for the current daily cap window."
48945
+ ],
48946
+ type: "i64"
48947
+ },
48948
+ {
48949
+ name: "bump",
48950
+ docs: [
48951
+ "PDA derivation bump."
48952
+ ],
48953
+ type: "u8"
48954
+ }
48955
+ ]
48956
+ }
48957
+ },
48958
+ {
48959
+ name: "WithdrawalPolicyUpdated",
48960
+ type: {
48961
+ kind: "struct",
48962
+ fields: [
48963
+ {
48964
+ name: "vault",
48965
+ type: "pubkey"
48966
+ },
48967
+ {
48968
+ name: "withdrawal_fee_bps",
48969
+ type: "u16"
48970
+ },
48971
+ {
48972
+ name: "hourly_withdrawal_cap_bps",
48973
+ type: "u16"
48974
+ },
48975
+ {
48976
+ name: "daily_withdrawal_cap_bps",
48977
+ type: "u16"
48978
+ },
48979
+ {
48980
+ name: "timestamp",
48981
+ type: "i64"
48982
+ }
48983
+ ]
48984
+ }
48985
+ }
48986
+ ]
48987
+ };
48988
+
48989
+ // src/vendor/gamma/idl/index.ts
48990
+ var GAMMA_VAULT_IDL = gamma_vault_default;
48991
+ function deriveGammaWithdrawalPolicy(lpVault, programId = GAMMA_VAULT_PROGRAM_ID) {
48992
+ return web3_js.PublicKey.findProgramAddressSync(
48993
+ [Buffer.from(SEED_WITHDRAWAL_POLICY), lpVault.toBuffer()],
48994
+ programId
48995
+ );
48996
+ }
48997
+ function deriveGammaDepositReceipt(user, lpVault, programId = GAMMA_VAULT_PROGRAM_ID) {
48998
+ return web3_js.PublicKey.findProgramAddressSync(
48999
+ [Buffer.from(SEED_DEPOSIT_RECEIPT), user.toBuffer(), lpVault.toBuffer()],
49000
+ programId
49001
+ );
49002
+ }
49003
+ function deriveGammaWithdrawEscrow(user, lpVault, programId = GAMMA_VAULT_PROGRAM_ID) {
49004
+ return web3_js.PublicKey.findProgramAddressSync(
49005
+ [Buffer.from(SEED_WITHDRAW_ESCROW), user.toBuffer(), lpVault.toBuffer()],
49006
+ programId
49007
+ );
49008
+ }
49009
+ function deriveGammaWithdrawReceipt(user, lpVault, programId = GAMMA_VAULT_PROGRAM_ID) {
49010
+ return web3_js.PublicKey.findProgramAddressSync(
49011
+ [Buffer.from(SEED_WITHDRAW_RECEIPT), user.toBuffer(), lpVault.toBuffer()],
49012
+ programId
49013
+ );
49014
+ }
49015
+ function deriveGammaAta(mint, owner, tokenProgram = TOKEN_PROGRAM_ID) {
49016
+ return getAssociatedTokenAddressSync(
49017
+ mint,
49018
+ owner,
49019
+ true,
49020
+ tokenProgram,
49021
+ ASSOCIATED_TOKEN_PROGRAM_ID
49022
+ );
49023
+ }
49024
+ var GAMMA_ACCOUNTS_CODER = new anchor.BorshAccountsCoder(GAMMA_VAULT_IDL);
49025
+ var lpVaultDiscriminator = Buffer.from([189, 45, 167, 23, 91, 118, 105, 190]);
49026
+ var withdrawReceiptDiscriminator = Buffer.from([132, 238, 44, 182, 207, 9, 124, 140]);
49027
+ var toBN = (v) => BN5__default.default.isBN(v) ? v : new BN5__default.default((v ?? 0).toString());
49028
+ function decodeGammaLpVaultData(data, pubkey) {
49029
+ if (!data.subarray(0, 8).equals(lpVaultDiscriminator)) {
49030
+ throw new Error("invalid Gamma LpVault account discriminator");
49031
+ }
49032
+ const d = GAMMA_ACCOUNTS_CODER.decode("LpVault", data);
49033
+ return {
49034
+ pubkey,
49035
+ assetsAccount: d.assets_account ?? d.assetsAccount,
49036
+ pendingSharesAccount: d.pending_shares_account ?? d.pendingSharesAccount,
49037
+ sharesMint: d.shares_mint ?? d.sharesMint,
49038
+ assetsMint: d.assets_mint ?? d.assetsMint,
49039
+ fundAuthority: d.fund_authority ?? d.fundAuthority,
49040
+ nav: toBN(d.nav),
49041
+ totalShares: toBN(d.total_shares ?? d.totalShares),
49042
+ navUpdatedAt: toBN(d.nav_updated_at ?? d.navUpdatedAt),
49043
+ navMaxStaleness: toBN(d.nav_max_staleness ?? d.navMaxStaleness),
49044
+ bump: d.bump,
49045
+ vaultName: d.vault_name ?? d.vaultName,
49046
+ pendingWithdrawalValue: toBN(d.pending_withdrawal_value ?? d.pendingWithdrawalValue),
49047
+ feeRecipient: d.fee_recipient ?? d.feeRecipient,
49048
+ performanceFeeBps: d.performance_fee_bps ?? d.performanceFeeBps,
49049
+ assessmentIntervalSecs: toBN(d.assessment_interval_secs ?? d.assessmentIntervalSecs),
49050
+ lastAssessmentTimestamp: toBN(d.last_assessment_timestamp ?? d.lastAssessmentTimestamp),
49051
+ pricePerShareAtLastAssessment: toBN(
49052
+ d.price_per_share_at_last_assessment ?? d.pricePerShareAtLastAssessment
49053
+ ),
49054
+ keeperAuthority: d.keeper_authority ?? d.keeperAuthority
49055
+ };
49056
+ }
49057
+ function decodeGammaWithdrawReceiptData(data, pubkey) {
49058
+ if (!data.subarray(0, 8).equals(withdrawReceiptDiscriminator)) {
49059
+ throw new Error("invalid Gamma WithdrawReceipt account discriminator");
49060
+ }
49061
+ const d = GAMMA_ACCOUNTS_CODER.decode("WithdrawReceipt", data);
49062
+ return {
49063
+ pubkey,
49064
+ user: d.user,
49065
+ lpVault: d.lp_vault ?? d.lpVault,
49066
+ pendingShares: toBN(d.pending_shares ?? d.pendingShares),
49067
+ claimableShares: toBN(d.claimable_shares ?? d.claimableShares),
49068
+ claimableAssets: toBN(d.claimable_assets ?? d.claimableAssets),
49069
+ oldestPendingAt: toBN(d.oldest_pending_at ?? d.oldestPendingAt),
49070
+ bump: d.bump
49071
+ };
49072
+ }
49073
+ var DEPOSIT_DISCRIMINATOR = Buffer.from([242, 35, 198, 137, 82, 225, 242, 182]);
49074
+ var WITHDRAW_DISCRIMINATOR = Buffer.from([183, 18, 70, 156, 148, 109, 161, 34]);
49075
+ var COMPLETE_WITHDRAWAL_DISCRIMINATOR = Buffer.from([107, 98, 134, 131, 74, 120, 174, 121]);
49076
+ var encodeU64 = (amount) => amount.toArrayLike(Buffer, "le", 8);
49077
+ var meta = (pubkey, isSigner, isWritable) => ({
49078
+ pubkey,
49079
+ isSigner,
49080
+ isWritable
49081
+ });
49082
+ function makeGammaDepositIx(accounts, amount) {
49083
+ const tokenProgram = accounts.tokenProgram ?? TOKEN_PROGRAM_ID;
49084
+ const associatedTokenProgram = accounts.associatedTokenProgram ?? ASSOCIATED_TOKEN_PROGRAM_ID;
49085
+ const keys = [
49086
+ meta(accounts.user, true, true),
49087
+ meta(accounts.lpVault, false, true),
49088
+ meta(accounts.withdrawalPolicy, false, true),
49089
+ meta(accounts.assetsAccount, false, true),
49090
+ meta(accounts.userAssetAta, false, true),
49091
+ meta(accounts.userShareAta, false, true),
49092
+ meta(accounts.depositReceipt, false, true),
49093
+ meta(accounts.assetsMint, false, false),
49094
+ meta(accounts.sharesMint, false, true),
49095
+ meta(web3_js.SystemProgram.programId, false, false),
49096
+ meta(tokenProgram, false, false),
49097
+ meta(associatedTokenProgram, false, false)
49098
+ ];
49099
+ return new web3_js.TransactionInstruction({
49100
+ keys,
49101
+ programId: GAMMA_VAULT_PROGRAM_ID,
49102
+ data: Buffer.concat([DEPOSIT_DISCRIMINATOR, encodeU64(amount)])
49103
+ });
49104
+ }
49105
+ function makeGammaWithdrawIx(accounts, sharesAmount) {
49106
+ const tokenProgram = accounts.tokenProgram ?? TOKEN_PROGRAM_ID;
49107
+ const associatedTokenProgram = accounts.associatedTokenProgram ?? ASSOCIATED_TOKEN_PROGRAM_ID;
49108
+ const keys = [
49109
+ meta(accounts.user, true, true),
49110
+ meta(accounts.lpVault, false, true),
49111
+ meta(accounts.withdrawalPolicy, false, true),
49112
+ meta(accounts.assetsAccount, false, true),
49113
+ meta(accounts.userShareAta, false, true),
49114
+ meta(accounts.assetsMint, false, false),
49115
+ meta(accounts.sharesMint, false, true),
49116
+ meta(accounts.feeRecipientAccount, false, true),
49117
+ meta(accounts.withdrawEscrow, false, true),
49118
+ meta(accounts.escrowAssetsAccount, false, true),
49119
+ meta(accounts.escrowSharesAccount, false, true),
49120
+ meta(accounts.withdrawReceipt, false, true),
49121
+ meta(web3_js.SystemProgram.programId, false, false),
49122
+ meta(tokenProgram, false, false),
49123
+ meta(associatedTokenProgram, false, false)
49124
+ ];
49125
+ return new web3_js.TransactionInstruction({
49126
+ keys,
49127
+ programId: GAMMA_VAULT_PROGRAM_ID,
49128
+ data: Buffer.concat([WITHDRAW_DISCRIMINATOR, encodeU64(sharesAmount)])
49129
+ });
49130
+ }
49131
+ function makeGammaCompleteWithdrawalIx(accounts) {
49132
+ const tokenProgram = accounts.tokenProgram ?? TOKEN_PROGRAM_ID;
49133
+ const associatedTokenProgram = accounts.associatedTokenProgram ?? ASSOCIATED_TOKEN_PROGRAM_ID;
49134
+ const keys = [
49135
+ meta(accounts.user, true, true),
49136
+ meta(accounts.lpVault, false, false),
49137
+ meta(accounts.assetsMint, false, false),
49138
+ meta(accounts.sharesMint, false, true),
49139
+ meta(accounts.userAssetAta, false, true),
49140
+ meta(accounts.withdrawEscrow, false, true),
49141
+ meta(accounts.escrowAssetsAccount, false, true),
49142
+ meta(accounts.escrowSharesAccount, false, true),
49143
+ meta(accounts.withdrawReceipt, false, true),
49144
+ meta(web3_js.SystemProgram.programId, false, false),
49145
+ meta(tokenProgram, false, false),
49146
+ meta(associatedTokenProgram, false, false)
49147
+ ];
49148
+ return new web3_js.TransactionInstruction({
49149
+ keys,
49150
+ programId: GAMMA_VAULT_PROGRAM_ID,
49151
+ data: COMPLETE_WITHDRAWAL_DISCRIMINATOR
49152
+ });
49153
+ }
45781
49154
 
45782
49155
  exports.ACCOUNT_SIZE = ACCOUNT_SIZE;
45783
49156
  exports.ACCOUNT_TYPE_SIZE = ACCOUNT_TYPE_SIZE;
@@ -45808,6 +49181,8 @@ exports.ErrorResponse = ErrorResponse;
45808
49181
  exports.ExponentSwapDirection = ExponentSwapDirection;
45809
49182
  exports.ExtensionType = ExtensionType;
45810
49183
  exports.FARMS_PROGRAM_ID = FARMS_PROGRAM_ID;
49184
+ exports.GAMMA_VAULT_IDL = GAMMA_VAULT_IDL;
49185
+ exports.GAMMA_VAULT_PROGRAM_ID = GAMMA_VAULT_PROGRAM_ID;
45811
49186
  exports.JUP_EXCHANGE_PRICES_PRECISION = JUP_EXCHANGE_PRICES_PRECISION;
45812
49187
  exports.JUP_LEND_IDL = JUP_LEND_IDL;
45813
49188
  exports.JUP_LEND_PROGRAM_ID = JUP_LEND_PROGRAM_ID;
@@ -45840,6 +49215,7 @@ exports.SEED_BASE_REFERRER_STATE = SEED_BASE_REFERRER_STATE;
45840
49215
  exports.SEED_BASE_REFERRER_TOKEN_STATE = SEED_BASE_REFERRER_TOKEN_STATE;
45841
49216
  exports.SEED_BASE_SHORT_URL = SEED_BASE_SHORT_URL;
45842
49217
  exports.SEED_BASE_USER_METADATA = SEED_BASE_USER_METADATA;
49218
+ exports.SEED_DEPOSIT_RECEIPT = SEED_DEPOSIT_RECEIPT;
45843
49219
  exports.SEED_DRIFT_SIGNER = SEED_DRIFT_SIGNER;
45844
49220
  exports.SEED_DRIFT_STATE = SEED_DRIFT_STATE;
45845
49221
  exports.SEED_FEE_RECEIVER = SEED_FEE_RECEIVER;
@@ -45861,6 +49237,9 @@ exports.SEED_USER_CLAIM = SEED_USER_CLAIM;
45861
49237
  exports.SEED_USER_STATE = SEED_USER_STATE;
45862
49238
  exports.SEED_USER_STATS = SEED_USER_STATS;
45863
49239
  exports.SEED_USER_SUPPLY_POSITION = SEED_USER_SUPPLY_POSITION;
49240
+ exports.SEED_WITHDRAWAL_POLICY = SEED_WITHDRAWAL_POLICY;
49241
+ exports.SEED_WITHDRAW_ESCROW = SEED_WITHDRAW_ESCROW;
49242
+ exports.SEED_WITHDRAW_RECEIPT = SEED_WITHDRAW_RECEIPT;
45864
49243
  exports.SLOTS_PER_DAY = SLOTS_PER_DAY;
45865
49244
  exports.SLOTS_PER_HOUR = SLOTS_PER_HOUR;
45866
49245
  exports.SLOTS_PER_MINUTE = SLOTS_PER_MINUTE;
@@ -45944,6 +49323,8 @@ exports.decodeExponentMarketTwo = decodeExponentMarketTwo;
45944
49323
  exports.decodeExponentMarketVault = decodeExponentMarketVault;
45945
49324
  exports.decodeExponentVault = decodeExponentVault;
45946
49325
  exports.decodeFarmDataRaw = decodeFarmDataRaw;
49326
+ exports.decodeGammaLpVaultData = decodeGammaLpVaultData;
49327
+ exports.decodeGammaWithdrawReceiptData = decodeGammaWithdrawReceiptData;
45947
49328
  exports.decodeJupLendingRewardsRateModelData = decodeJupLendingRewardsRateModelData;
45948
49329
  exports.decodeJupLendingStateData = decodeJupLendingStateData;
45949
49330
  exports.decodeJupRateModelData = decodeJupRateModelData;
@@ -45961,6 +49342,11 @@ exports.deriveDriftUserStats = deriveDriftUserStats;
45961
49342
  exports.deriveExponentClmmEventAuthority = deriveExponentClmmEventAuthority;
45962
49343
  exports.deriveExponentEventAuthority = deriveExponentEventAuthority;
45963
49344
  exports.deriveFeeReceiver = deriveFeeReceiver;
49345
+ exports.deriveGammaAta = deriveGammaAta;
49346
+ exports.deriveGammaDepositReceipt = deriveGammaDepositReceipt;
49347
+ exports.deriveGammaWithdrawEscrow = deriveGammaWithdrawEscrow;
49348
+ exports.deriveGammaWithdrawReceipt = deriveGammaWithdrawReceipt;
49349
+ exports.deriveGammaWithdrawalPolicy = deriveGammaWithdrawalPolicy;
45964
49350
  exports.deriveJupLendClaimAccount = deriveJupLendClaimAccount;
45965
49351
  exports.deriveJupLendFTokenMint = deriveJupLendFTokenMint;
45966
49352
  exports.deriveJupLendLending = deriveJupLendLending;
@@ -46066,6 +49452,9 @@ exports.makeExponentMergeIx = makeExponentMergeIx;
46066
49452
  exports.makeExponentStripIx = makeExponentStripIx;
46067
49453
  exports.makeExponentTradePtIx = makeExponentTradePtIx;
46068
49454
  exports.makeExponentWrapperMergeIx = makeExponentWrapperMergeIx;
49455
+ exports.makeGammaCompleteWithdrawalIx = makeGammaCompleteWithdrawalIx;
49456
+ exports.makeGammaDepositIx = makeGammaDepositIx;
49457
+ exports.makeGammaWithdrawIx = makeGammaWithdrawIx;
46069
49458
  exports.makeRefreshObligationIx = makeRefreshObligationIx;
46070
49459
  exports.makeRefreshReservesBatchIx = makeRefreshReservesBatchIx;
46071
49460
  exports.makeRefreshingIxs = makeRefreshingIxs;