@drift-labs/vaults-sdk 0.4.32 → 0.4.33

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.
@@ -1,5 +1,5 @@
1
1
  export type DriftVaults = {
2
- version: '0.2.0';
2
+ version: '0.4.0';
3
3
  name: 'drift_vaults';
4
4
  instructions: [
5
5
  {
@@ -276,6 +276,32 @@ export type DriftVaults = {
276
276
  }
277
277
  ];
278
278
  },
279
+ {
280
+ name: 'updateCumulativeFuelAmount';
281
+ accounts: [
282
+ {
283
+ name: 'vault';
284
+ isMut: true;
285
+ isSigner: false;
286
+ },
287
+ {
288
+ name: 'vaultDepositor';
289
+ isMut: true;
290
+ isSigner: false;
291
+ },
292
+ {
293
+ name: 'signer';
294
+ isMut: false;
295
+ isSigner: true;
296
+ },
297
+ {
298
+ name: 'driftUserStats';
299
+ isMut: true;
300
+ isSigner: false;
301
+ }
302
+ ];
303
+ args: [];
304
+ },
279
305
  {
280
306
  name: 'initializeVaultDepositor';
281
307
  accounts: [
@@ -745,6 +771,58 @@ export type DriftVaults = {
745
771
  ];
746
772
  args: [];
747
773
  },
774
+ {
775
+ name: 'resetFuelSeason';
776
+ accounts: [
777
+ {
778
+ name: 'vault';
779
+ isMut: true;
780
+ isSigner: false;
781
+ },
782
+ {
783
+ name: 'vaultDepositor';
784
+ isMut: true;
785
+ isSigner: false;
786
+ },
787
+ {
788
+ name: 'admin';
789
+ isMut: false;
790
+ isSigner: true;
791
+ },
792
+ {
793
+ name: 'driftUserStats';
794
+ isMut: true;
795
+ isSigner: false;
796
+ },
797
+ {
798
+ name: 'driftState';
799
+ isMut: false;
800
+ isSigner: false;
801
+ }
802
+ ];
803
+ args: [];
804
+ },
805
+ {
806
+ name: 'resetVaultFuelSeason';
807
+ accounts: [
808
+ {
809
+ name: 'vault';
810
+ isMut: true;
811
+ isSigner: false;
812
+ },
813
+ {
814
+ name: 'admin';
815
+ isMut: false;
816
+ isSigner: true;
817
+ },
818
+ {
819
+ name: 'driftState';
820
+ isMut: false;
821
+ isSigner: false;
822
+ }
823
+ ];
824
+ args: [];
825
+ },
748
826
  {
749
827
  name: 'managerDeposit';
750
828
  accounts: [
@@ -930,6 +1008,27 @@ export type DriftVaults = {
930
1008
  ];
931
1009
  args: [];
932
1010
  },
1011
+ {
1012
+ name: 'managerUpdateFuelDistributionMode';
1013
+ accounts: [
1014
+ {
1015
+ name: 'vault';
1016
+ isMut: true;
1017
+ isSigner: false;
1018
+ },
1019
+ {
1020
+ name: 'manager';
1021
+ isMut: false;
1022
+ isSigner: true;
1023
+ }
1024
+ ];
1025
+ args: [
1026
+ {
1027
+ name: 'fuelDistributionMode';
1028
+ type: 'u8';
1029
+ }
1030
+ ];
1031
+ },
933
1032
  {
934
1033
  name: 'applyProfitShare';
935
1034
  accounts: [
@@ -1722,13 +1821,23 @@ export type DriftVaults = {
1722
1821
  type: 'u32';
1723
1822
  },
1724
1823
  {
1725
- name: 'padding1';
1824
+ name: 'lastFuelUpdateTs';
1726
1825
  type: 'u32';
1727
1826
  },
1827
+ {
1828
+ name: 'cumulativeFuelPerShareAmount';
1829
+ docs: ['precision: FUEL_SHARE_PRECISION'];
1830
+ type: 'u128';
1831
+ },
1832
+ {
1833
+ name: 'fuelAmount';
1834
+ docs: ['precision: none'];
1835
+ type: 'u128';
1836
+ },
1728
1837
  {
1729
1838
  name: 'padding';
1730
1839
  type: {
1731
- array: ['u64', 8];
1840
+ array: ['u64', 4];
1732
1841
  };
1733
1842
  }
1734
1843
  ];
@@ -2020,16 +2129,40 @@ export type DriftVaults = {
2020
2129
  docs: ['The optional [`VaultProtocol`] account.'];
2021
2130
  type: 'bool';
2022
2131
  },
2132
+ {
2133
+ name: 'fuelDistributionMode';
2134
+ docs: [
2135
+ 'How fuel distribution should be treated [`FuelDistributionMode`]. Default is `UsersOnly`'
2136
+ ];
2137
+ type: 'u8';
2138
+ },
2023
2139
  {
2024
2140
  name: 'padding1';
2025
2141
  type: {
2026
- array: ['u8', 7];
2142
+ array: ['u8', 2];
2027
2143
  };
2028
2144
  },
2145
+ {
2146
+ name: 'lastCumulativeFuelPerShareTs';
2147
+ docs: ['The timestamp cumulative_fuel_per_share was last updated'];
2148
+ type: 'u32';
2149
+ },
2150
+ {
2151
+ name: 'cumulativeFuelPerShare';
2152
+ docs: [
2153
+ 'The cumulative fuel per share (scaled up by 1e6 to avoid losing precision)'
2154
+ ];
2155
+ type: 'u128';
2156
+ },
2157
+ {
2158
+ name: 'cumulativeFuel';
2159
+ docs: ['The total fuel accumulated'];
2160
+ type: 'u128';
2161
+ },
2029
2162
  {
2030
2163
  name: 'padding';
2031
2164
  type: {
2032
- array: ['u64', 7];
2165
+ array: ['u64', 3];
2033
2166
  };
2034
2167
  }
2035
2168
  ];
@@ -2303,6 +2436,20 @@ export type DriftVaults = {
2303
2436
  ];
2304
2437
  };
2305
2438
  },
2439
+ {
2440
+ name: 'FuelDistributionMode';
2441
+ type: {
2442
+ kind: 'enum';
2443
+ variants: [
2444
+ {
2445
+ name: 'UsersOnly';
2446
+ },
2447
+ {
2448
+ name: 'UsersAndManager';
2449
+ }
2450
+ ];
2451
+ };
2452
+ },
2306
2453
  {
2307
2454
  name: 'WithdrawUnit';
2308
2455
  type: {
@@ -2595,6 +2742,56 @@ export type DriftVaults = {
2595
2742
  index: false;
2596
2743
  }
2597
2744
  ];
2745
+ },
2746
+ {
2747
+ name: 'FuelSeasonRecord';
2748
+ fields: [
2749
+ {
2750
+ name: 'ts';
2751
+ type: 'i64';
2752
+ index: false;
2753
+ },
2754
+ {
2755
+ name: 'authority';
2756
+ type: 'publicKey';
2757
+ index: false;
2758
+ },
2759
+ {
2760
+ name: 'fuelInsurance';
2761
+ type: 'u128';
2762
+ index: false;
2763
+ },
2764
+ {
2765
+ name: 'fuelDeposits';
2766
+ type: 'u128';
2767
+ index: false;
2768
+ },
2769
+ {
2770
+ name: 'fuelBorrows';
2771
+ type: 'u128';
2772
+ index: false;
2773
+ },
2774
+ {
2775
+ name: 'fuelPositions';
2776
+ type: 'u128';
2777
+ index: false;
2778
+ },
2779
+ {
2780
+ name: 'fuelTaker';
2781
+ type: 'u128';
2782
+ index: false;
2783
+ },
2784
+ {
2785
+ name: 'fuelMaker';
2786
+ type: 'u128';
2787
+ index: false;
2788
+ },
2789
+ {
2790
+ name: 'fuelTotal';
2791
+ type: 'u128';
2792
+ index: false;
2793
+ }
2794
+ ];
2598
2795
  }
2599
2796
  ];
2600
2797
  errors: [
@@ -2717,12 +2914,17 @@ export type DriftVaults = {
2717
2914
  code: 6023;
2718
2915
  name: 'InvalidTokenization';
2719
2916
  msg: 'InvalidTokenization';
2917
+ },
2918
+ {
2919
+ code: 6024;
2920
+ name: 'InvalidFuelDistributionMode';
2921
+ msg: 'InvalidFuelDistributionMode';
2720
2922
  }
2721
2923
  ];
2722
2924
  };
2723
2925
 
2724
2926
  export const IDL: DriftVaults = {
2725
- version: '0.2.0',
2927
+ version: '0.4.0',
2726
2928
  name: 'drift_vaults',
2727
2929
  instructions: [
2728
2930
  {
@@ -2999,6 +3201,32 @@ export const IDL: DriftVaults = {
2999
3201
  },
3000
3202
  ],
3001
3203
  },
3204
+ {
3205
+ name: 'updateCumulativeFuelAmount',
3206
+ accounts: [
3207
+ {
3208
+ name: 'vault',
3209
+ isMut: true,
3210
+ isSigner: false,
3211
+ },
3212
+ {
3213
+ name: 'vaultDepositor',
3214
+ isMut: true,
3215
+ isSigner: false,
3216
+ },
3217
+ {
3218
+ name: 'signer',
3219
+ isMut: false,
3220
+ isSigner: true,
3221
+ },
3222
+ {
3223
+ name: 'driftUserStats',
3224
+ isMut: true,
3225
+ isSigner: false,
3226
+ },
3227
+ ],
3228
+ args: [],
3229
+ },
3002
3230
  {
3003
3231
  name: 'initializeVaultDepositor',
3004
3232
  accounts: [
@@ -3468,6 +3696,58 @@ export const IDL: DriftVaults = {
3468
3696
  ],
3469
3697
  args: [],
3470
3698
  },
3699
+ {
3700
+ name: 'resetFuelSeason',
3701
+ accounts: [
3702
+ {
3703
+ name: 'vault',
3704
+ isMut: true,
3705
+ isSigner: false,
3706
+ },
3707
+ {
3708
+ name: 'vaultDepositor',
3709
+ isMut: true,
3710
+ isSigner: false,
3711
+ },
3712
+ {
3713
+ name: 'admin',
3714
+ isMut: false,
3715
+ isSigner: true,
3716
+ },
3717
+ {
3718
+ name: 'driftUserStats',
3719
+ isMut: true,
3720
+ isSigner: false,
3721
+ },
3722
+ {
3723
+ name: 'driftState',
3724
+ isMut: false,
3725
+ isSigner: false,
3726
+ },
3727
+ ],
3728
+ args: [],
3729
+ },
3730
+ {
3731
+ name: 'resetVaultFuelSeason',
3732
+ accounts: [
3733
+ {
3734
+ name: 'vault',
3735
+ isMut: true,
3736
+ isSigner: false,
3737
+ },
3738
+ {
3739
+ name: 'admin',
3740
+ isMut: false,
3741
+ isSigner: true,
3742
+ },
3743
+ {
3744
+ name: 'driftState',
3745
+ isMut: false,
3746
+ isSigner: false,
3747
+ },
3748
+ ],
3749
+ args: [],
3750
+ },
3471
3751
  {
3472
3752
  name: 'managerDeposit',
3473
3753
  accounts: [
@@ -3653,6 +3933,27 @@ export const IDL: DriftVaults = {
3653
3933
  ],
3654
3934
  args: [],
3655
3935
  },
3936
+ {
3937
+ name: 'managerUpdateFuelDistributionMode',
3938
+ accounts: [
3939
+ {
3940
+ name: 'vault',
3941
+ isMut: true,
3942
+ isSigner: false,
3943
+ },
3944
+ {
3945
+ name: 'manager',
3946
+ isMut: false,
3947
+ isSigner: true,
3948
+ },
3949
+ ],
3950
+ args: [
3951
+ {
3952
+ name: 'fuelDistributionMode',
3953
+ type: 'u8',
3954
+ },
3955
+ ],
3956
+ },
3656
3957
  {
3657
3958
  name: 'applyProfitShare',
3658
3959
  accounts: [
@@ -4445,13 +4746,23 @@ export const IDL: DriftVaults = {
4445
4746
  type: 'u32',
4446
4747
  },
4447
4748
  {
4448
- name: 'padding1',
4749
+ name: 'lastFuelUpdateTs',
4449
4750
  type: 'u32',
4450
4751
  },
4752
+ {
4753
+ name: 'cumulativeFuelPerShareAmount',
4754
+ docs: ['precision: FUEL_SHARE_PRECISION'],
4755
+ type: 'u128',
4756
+ },
4757
+ {
4758
+ name: 'fuelAmount',
4759
+ docs: ['precision: none'],
4760
+ type: 'u128',
4761
+ },
4451
4762
  {
4452
4763
  name: 'padding',
4453
4764
  type: {
4454
- array: ['u64', 8],
4765
+ array: ['u64', 4],
4455
4766
  },
4456
4767
  },
4457
4768
  ],
@@ -4743,16 +5054,40 @@ export const IDL: DriftVaults = {
4743
5054
  docs: ['The optional [`VaultProtocol`] account.'],
4744
5055
  type: 'bool',
4745
5056
  },
5057
+ {
5058
+ name: 'fuelDistributionMode',
5059
+ docs: [
5060
+ 'How fuel distribution should be treated [`FuelDistributionMode`]. Default is `UsersOnly`',
5061
+ ],
5062
+ type: 'u8',
5063
+ },
4746
5064
  {
4747
5065
  name: 'padding1',
4748
5066
  type: {
4749
- array: ['u8', 7],
5067
+ array: ['u8', 2],
4750
5068
  },
4751
5069
  },
5070
+ {
5071
+ name: 'lastCumulativeFuelPerShareTs',
5072
+ docs: ['The timestamp cumulative_fuel_per_share was last updated'],
5073
+ type: 'u32',
5074
+ },
5075
+ {
5076
+ name: 'cumulativeFuelPerShare',
5077
+ docs: [
5078
+ 'The cumulative fuel per share (scaled up by 1e6 to avoid losing precision)',
5079
+ ],
5080
+ type: 'u128',
5081
+ },
5082
+ {
5083
+ name: 'cumulativeFuel',
5084
+ docs: ['The total fuel accumulated'],
5085
+ type: 'u128',
5086
+ },
4752
5087
  {
4753
5088
  name: 'padding',
4754
5089
  type: {
4755
- array: ['u64', 7],
5090
+ array: ['u64', 3],
4756
5091
  },
4757
5092
  },
4758
5093
  ],
@@ -5026,6 +5361,20 @@ export const IDL: DriftVaults = {
5026
5361
  ],
5027
5362
  },
5028
5363
  },
5364
+ {
5365
+ name: 'FuelDistributionMode',
5366
+ type: {
5367
+ kind: 'enum',
5368
+ variants: [
5369
+ {
5370
+ name: 'UsersOnly',
5371
+ },
5372
+ {
5373
+ name: 'UsersAndManager',
5374
+ },
5375
+ ],
5376
+ },
5377
+ },
5029
5378
  {
5030
5379
  name: 'WithdrawUnit',
5031
5380
  type: {
@@ -5319,6 +5668,56 @@ export const IDL: DriftVaults = {
5319
5668
  },
5320
5669
  ],
5321
5670
  },
5671
+ {
5672
+ name: 'FuelSeasonRecord',
5673
+ fields: [
5674
+ {
5675
+ name: 'ts',
5676
+ type: 'i64',
5677
+ index: false,
5678
+ },
5679
+ {
5680
+ name: 'authority',
5681
+ type: 'publicKey',
5682
+ index: false,
5683
+ },
5684
+ {
5685
+ name: 'fuelInsurance',
5686
+ type: 'u128',
5687
+ index: false,
5688
+ },
5689
+ {
5690
+ name: 'fuelDeposits',
5691
+ type: 'u128',
5692
+ index: false,
5693
+ },
5694
+ {
5695
+ name: 'fuelBorrows',
5696
+ type: 'u128',
5697
+ index: false,
5698
+ },
5699
+ {
5700
+ name: 'fuelPositions',
5701
+ type: 'u128',
5702
+ index: false,
5703
+ },
5704
+ {
5705
+ name: 'fuelTaker',
5706
+ type: 'u128',
5707
+ index: false,
5708
+ },
5709
+ {
5710
+ name: 'fuelMaker',
5711
+ type: 'u128',
5712
+ index: false,
5713
+ },
5714
+ {
5715
+ name: 'fuelTotal',
5716
+ type: 'u128',
5717
+ index: false,
5718
+ },
5719
+ ],
5720
+ },
5322
5721
  ],
5323
5722
  errors: [
5324
5723
  {
@@ -5441,5 +5840,10 @@ export const IDL: DriftVaults = {
5441
5840
  name: 'InvalidTokenization',
5442
5841
  msg: 'InvalidTokenization',
5443
5842
  },
5843
+ {
5844
+ code: 6024,
5845
+ name: 'InvalidFuelDistributionMode',
5846
+ msg: 'InvalidFuelDistributionMode',
5847
+ },
5444
5848
  ],
5445
5849
  };
@@ -102,16 +102,24 @@ export type Vault = {
102
102
  permissioned: boolean;
103
103
  lastManagerWithdrawRequest: WithdrawRequest;
104
104
  vaultProtocol: boolean;
105
+ fuelDistributionMode: FuelDistributionMode;
106
+ padding1: number[];
107
+ lastCumulativeFuelPerShareTs: number;
108
+ cumulativeFuelPerShare: BN;
109
+ cumulativeFuel: BN;
110
+ padding: BN[];
105
111
  };
106
112
 
113
+ export enum FuelDistributionMode {
114
+ UsersOnly = 0,
115
+ UsersAndManager = 1,
116
+ }
117
+
107
118
  export type VaultDepositor = {
108
119
  vault: PublicKey;
109
120
  pubkey: PublicKey;
110
121
  authority: PublicKey;
111
122
  vaultShares: BN;
112
- // lastWithdrawRequestShares: BN;
113
- // lastWithdrawRequestValue: BN;
114
- // lastWithdrawRequestTs: BN;
115
123
  lastWithdrawRequest: WithdrawRequest;
116
124
  lastValidTs: BN;
117
125
  netDeposits: BN;
@@ -120,8 +128,10 @@ export type VaultDepositor = {
120
128
  cumulativeProfitShareAmount: BN;
121
129
  vaultSharesBase: number;
122
130
  profitShareFeePaid: BN;
123
- padding1: number | number[];
124
- padding: number[] | BN[];
131
+ lastFuelUpdateTs: number;
132
+ cumulativeFuelPerShareAmount: BN;
133
+ fuelAmount: BN;
134
+ padding: BN | BN[];
125
135
  };
126
136
 
127
137
  export type VaultProtocol = {
@@ -240,9 +250,22 @@ export type VaultDepositorV1Record = {
240
250
  managementFeeShares: BN;
241
251
  };
242
252
 
253
+ export type FuelSeasonRecord = {
254
+ ts: BN;
255
+ authority: PublicKey;
256
+ fuelInsurance: BN;
257
+ fuelDeposits: BN;
258
+ fuelBorrows: BN;
259
+ fuelPositions: BN;
260
+ fuelTaker: BN;
261
+ fuelMaker: BN;
262
+ fuelTotal: BN;
263
+ };
264
+
243
265
  export type VaultsEventMap = {
244
266
  VaultDepositorRecord: Event<VaultDepositorRecord>;
245
267
  VaultDepositorV1Record: Event<VaultDepositorV1Record>;
268
+ FuelSeasonRecord: Event<FuelSeasonRecord>;
246
269
  };
247
270
 
248
271
  export type EventType = keyof VaultsEventMap;