@drift-labs/sdk 2.86.0-beta.23 → 2.86.0-beta.25

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/VERSION CHANGED
@@ -1 +1 @@
1
- 2.86.0-beta.23
1
+ 2.86.0-beta.25
@@ -496,9 +496,9 @@ exports.MainnetPerpMarkets = [
496
496
  symbol: 'PYTH-PERP',
497
497
  baseAssetSymbol: 'PYTH',
498
498
  marketIndex: 18,
499
- oracle: new web3_js_1.PublicKey('nrYkQQQur7z8rYTST3G9GqATviK5SxTDkrqd21MW6Ue'),
499
+ oracle: new web3_js_1.PublicKey('GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr'),
500
500
  launchTs: 1700542800000,
501
- oracleSource: __1.OracleSource.PYTH,
501
+ oracleSource: __1.OracleSource.PYTH_PULL,
502
502
  pythFeedId: '0x0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff',
503
503
  },
504
504
  {
@@ -507,9 +507,9 @@ exports.MainnetPerpMarkets = [
507
507
  symbol: 'TIA-PERP',
508
508
  baseAssetSymbol: 'TIA',
509
509
  marketIndex: 19,
510
- oracle: new web3_js_1.PublicKey('funeUsHgi2QKkLdUPASRLuYkaK8JaazCEz3HikbkhVt'),
510
+ oracle: new web3_js_1.PublicKey('C6LHPUrgjrgo5eNUitC8raNEdEttfoRhmqdJ3BHVBJhi'),
511
511
  launchTs: 1701880540000,
512
- oracleSource: __1.OracleSource.PYTH,
512
+ oracleSource: __1.OracleSource.PYTH_PULL,
513
513
  pythFeedId: '0x09f7c1d7dfbb7df2b8fe3d3d87ee94a2259d212da4f30c1f0540d066dfa44723',
514
514
  },
515
515
  {
@@ -551,9 +551,9 @@ exports.MainnetPerpMarkets = [
551
551
  symbol: 'WIF-PERP',
552
552
  baseAssetSymbol: 'WIF',
553
553
  marketIndex: 23,
554
- oracle: new web3_js_1.PublicKey('6ABgrEZk8urs6kJ1JNdC1sspH5zKXRqxy8sg3ZG2cQps'),
554
+ oracle: new web3_js_1.PublicKey('6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ'),
555
555
  launchTs: 1706219971000,
556
- oracleSource: __1.OracleSource.PYTH,
556
+ oracleSource: __1.OracleSource.PYTH_PULL,
557
557
  pythFeedId: '0x4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc',
558
558
  },
559
559
  {
@@ -562,9 +562,9 @@ exports.MainnetPerpMarkets = [
562
562
  symbol: 'JUP-PERP',
563
563
  baseAssetSymbol: 'JUP',
564
564
  marketIndex: 24,
565
- oracle: new web3_js_1.PublicKey('g6eRCbboSwK4tSWngn773RCMexr1APQr4uA9bGZBYfo'),
565
+ oracle: new web3_js_1.PublicKey('AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin'),
566
566
  launchTs: 1706713201000,
567
- oracleSource: __1.OracleSource.PYTH,
567
+ oracleSource: __1.OracleSource.PYTH_PULL,
568
568
  pythFeedId: '0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996',
569
569
  },
570
570
  {
@@ -628,9 +628,9 @@ exports.MainnetPerpMarkets = [
628
628
  symbol: 'DRIFT-PERP',
629
629
  baseAssetSymbol: 'DRIFT',
630
630
  marketIndex: 30,
631
- oracle: new web3_js_1.PublicKey('PeNpQeGEm9UEFJ6MBCMauY4WW4h3YxoESPWbsqVKucE'),
631
+ oracle: new web3_js_1.PublicKey('23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR'),
632
632
  launchTs: 1716595200000,
633
- oracleSource: __1.OracleSource.SWITCHBOARD,
633
+ oracleSource: __1.OracleSource.PYTH_PULL,
634
634
  pythFeedId: '0x5c1690b27bb02446db17cdda13ccc2c1d609ad6d2ef5bf4983a85ea8b6f19d07',
635
635
  },
636
636
  {
@@ -671,9 +671,9 @@ exports.MainnetPerpMarkets = [
671
671
  symbol: 'POPCAT-PERP',
672
672
  baseAssetSymbol: 'POPCAT',
673
673
  marketIndex: 34,
674
- oracle: new web3_js_1.PublicKey('3GjpjC8TWsPqjyFSiR7saGxgzD8zqYJNsBnWpenZPEBy'),
674
+ oracle: new web3_js_1.PublicKey('H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X'),
675
675
  launchTs: 1720013054000,
676
- oracleSource: __1.OracleSource.SWITCHBOARD,
676
+ oracleSource: __1.OracleSource.PYTH_PULL,
677
677
  pythFeedId: '0xb9312a7ee50e189ef045aa3c7842e099b061bd9bdc99ac645956c3b660dc8cce',
678
678
  },
679
679
  {
@@ -123,8 +123,8 @@ exports.MainnetSpotMarkets = [
123
123
  {
124
124
  symbol: 'PYTH',
125
125
  marketIndex: 7,
126
- oracle: new web3_js_1.PublicKey('nrYkQQQur7z8rYTST3G9GqATviK5SxTDkrqd21MW6Ue'),
127
- oracleSource: __1.OracleSource.PYTH,
126
+ oracle: new web3_js_1.PublicKey('GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr'),
127
+ oracleSource: __1.OracleSource.PYTH_PULL,
128
128
  mint: new web3_js_1.PublicKey('HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3'),
129
129
  precision: new __1.BN(10).pow(numericConstants_1.SIX),
130
130
  precisionExp: numericConstants_1.SIX,
@@ -158,8 +158,8 @@ exports.MainnetSpotMarkets = [
158
158
  {
159
159
  symbol: 'WIF',
160
160
  marketIndex: 10,
161
- oracle: new web3_js_1.PublicKey('6ABgrEZk8urs6kJ1JNdC1sspH5zKXRqxy8sg3ZG2cQps'),
162
- oracleSource: __1.OracleSource.PYTH,
161
+ oracle: new web3_js_1.PublicKey('6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ'),
162
+ oracleSource: __1.OracleSource.PYTH_PULL,
163
163
  mint: new web3_js_1.PublicKey('EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm'),
164
164
  precision: new __1.BN(10).pow(numericConstants_1.SIX),
165
165
  precisionExp: numericConstants_1.SIX,
@@ -170,8 +170,8 @@ exports.MainnetSpotMarkets = [
170
170
  {
171
171
  symbol: 'JUP',
172
172
  marketIndex: 11,
173
- oracle: new web3_js_1.PublicKey('g6eRCbboSwK4tSWngn773RCMexr1APQr4uA9bGZBYfo'),
174
- oracleSource: __1.OracleSource.PYTH,
173
+ oracle: new web3_js_1.PublicKey('AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin'),
174
+ oracleSource: __1.OracleSource.PYTH_PULL,
175
175
  mint: new web3_js_1.PublicKey('JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN'),
176
176
  precision: new __1.BN(10).pow(numericConstants_1.SIX),
177
177
  precisionExp: numericConstants_1.SIX,
@@ -218,8 +218,8 @@ exports.MainnetSpotMarkets = [
218
218
  {
219
219
  symbol: 'DRIFT',
220
220
  marketIndex: 15,
221
- oracle: new web3_js_1.PublicKey('PeNpQeGEm9UEFJ6MBCMauY4WW4h3YxoESPWbsqVKucE'),
222
- oracleSource: __1.OracleSource.SWITCHBOARD,
221
+ oracle: new web3_js_1.PublicKey('23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR'),
222
+ oracleSource: __1.OracleSource.PYTH_PULL,
223
223
  mint: new web3_js_1.PublicKey('DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7'),
224
224
  precision: new __1.BN(10).pow(numericConstants_1.SIX),
225
225
  precisionExp: numericConstants_1.SIX,
@@ -272,13 +272,14 @@ exports.MainnetSpotMarkets = [
272
272
  {
273
273
  symbol: 'POPCAT',
274
274
  marketIndex: 20,
275
- oracle: new web3_js_1.PublicKey('3GjpjC8TWsPqjyFSiR7saGxgzD8zqYJNsBnWpenZPEBy'),
276
- oracleSource: __1.OracleSource.SWITCHBOARD,
275
+ oracle: new web3_js_1.PublicKey('H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X'),
276
+ oracleSource: __1.OracleSource.PYTH_PULL,
277
277
  mint: new web3_js_1.PublicKey('7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr'),
278
278
  precision: new __1.BN(10).pow(numericConstants_1.NINE),
279
279
  precisionExp: numericConstants_1.NINE,
280
280
  launchTs: 1720013054000,
281
281
  phoenixMarket: new web3_js_1.PublicKey('31XgvAQ1HgFQEk31KdszbPkVXKaQqB1bgYZPoDrFpSR2'),
282
+ pythFeedId: '0xb9312a7ee50e189ef045aa3c7842e099b061bd9bdc99ac645956c3b660dc8cce',
282
283
  },
283
284
  ];
284
285
  exports.SpotMarkets = {
package/lib/types.d.ts CHANGED
@@ -947,7 +947,7 @@ export type UserStatsAccount = {
947
947
  isReferrer: boolean;
948
948
  authority: PublicKey;
949
949
  ifStakedQuoteAssetAmount: BN;
950
- lastFuelBonusUpdateTs: number;
950
+ lastFuelIfBonusUpdateTs: number;
951
951
  fuelInsurance: number;
952
952
  fuelDeposits: number;
953
953
  fuelBorrows: number;
package/lib/user.js CHANGED
@@ -592,9 +592,14 @@ class User {
592
592
  // todo: get real time ifStakedGovTokenAmount using ifStakeAccount
593
593
  if (userStats.ifStakedGovTokenAmount.gt(numericConstants_1.ZERO)) {
594
594
  const spotMarketAccount = this.driftClient.getSpotMarketAccount(numericConstants_1.GOV_SPOT_MARKET_INDEX);
595
- const fuelBonusNumeratorUserStats = now.sub(new _1.BN(userStats.lastFuelBonusUpdateTs));
595
+ const fuelBonusNumeratorUserStats = now.sub(_1.BN.max(new _1.BN(userStats.lastFuelIfBonusUpdateTs), numericConstants_1.FUEL_START_TS));
596
596
  result.insuranceFuel = result.insuranceFuel.add((0, fuel_1.calculateInsuranceFuelBonus)(spotMarketAccount, userStats.ifStakedGovTokenAmount, fuelBonusNumeratorUserStats));
597
597
  }
598
+ if (userStats.ifStakedQuoteAssetAmount.gt(numericConstants_1.ZERO)) {
599
+ const spotMarketAccount = this.driftClient.getSpotMarketAccount(numericConstants_1.QUOTE_SPOT_MARKET_INDEX);
600
+ const fuelBonusNumeratorUserStats = now.sub(_1.BN.max(new _1.BN(userStats.lastFuelIfBonusUpdateTs), numericConstants_1.FUEL_START_TS));
601
+ result.insuranceFuel = result.insuranceFuel.add((0, fuel_1.calculateInsuranceFuelBonus)(spotMarketAccount, userStats.ifStakedQuoteAssetAmount, fuelBonusNumeratorUserStats));
602
+ }
598
603
  }
599
604
  return result;
600
605
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.86.0-beta.23",
3
+ "version": "2.86.0-beta.25",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "crispheaney",
@@ -552,9 +552,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
552
552
  symbol: 'PYTH-PERP',
553
553
  baseAssetSymbol: 'PYTH',
554
554
  marketIndex: 18,
555
- oracle: new PublicKey('nrYkQQQur7z8rYTST3G9GqATviK5SxTDkrqd21MW6Ue'),
555
+ oracle: new PublicKey('GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr'),
556
556
  launchTs: 1700542800000,
557
- oracleSource: OracleSource.PYTH,
557
+ oracleSource: OracleSource.PYTH_PULL,
558
558
  pythFeedId:
559
559
  '0x0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff',
560
560
  },
@@ -564,9 +564,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
564
564
  symbol: 'TIA-PERP',
565
565
  baseAssetSymbol: 'TIA',
566
566
  marketIndex: 19,
567
- oracle: new PublicKey('funeUsHgi2QKkLdUPASRLuYkaK8JaazCEz3HikbkhVt'),
567
+ oracle: new PublicKey('C6LHPUrgjrgo5eNUitC8raNEdEttfoRhmqdJ3BHVBJhi'),
568
568
  launchTs: 1701880540000,
569
- oracleSource: OracleSource.PYTH,
569
+ oracleSource: OracleSource.PYTH_PULL,
570
570
  pythFeedId:
571
571
  '0x09f7c1d7dfbb7df2b8fe3d3d87ee94a2259d212da4f30c1f0540d066dfa44723',
572
572
  },
@@ -612,9 +612,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
612
612
  symbol: 'WIF-PERP',
613
613
  baseAssetSymbol: 'WIF',
614
614
  marketIndex: 23,
615
- oracle: new PublicKey('6ABgrEZk8urs6kJ1JNdC1sspH5zKXRqxy8sg3ZG2cQps'),
615
+ oracle: new PublicKey('6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ'),
616
616
  launchTs: 1706219971000,
617
- oracleSource: OracleSource.PYTH,
617
+ oracleSource: OracleSource.PYTH_PULL,
618
618
  pythFeedId:
619
619
  '0x4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc',
620
620
  },
@@ -624,9 +624,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
624
624
  symbol: 'JUP-PERP',
625
625
  baseAssetSymbol: 'JUP',
626
626
  marketIndex: 24,
627
- oracle: new PublicKey('g6eRCbboSwK4tSWngn773RCMexr1APQr4uA9bGZBYfo'),
627
+ oracle: new PublicKey('AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin'),
628
628
  launchTs: 1706713201000,
629
- oracleSource: OracleSource.PYTH,
629
+ oracleSource: OracleSource.PYTH_PULL,
630
630
  pythFeedId:
631
631
  '0x0a0408d619e9380abad35060f9192039ed5042fa6f82301d0e48bb52be830996',
632
632
  },
@@ -696,9 +696,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
696
696
  symbol: 'DRIFT-PERP',
697
697
  baseAssetSymbol: 'DRIFT',
698
698
  marketIndex: 30,
699
- oracle: new PublicKey('PeNpQeGEm9UEFJ6MBCMauY4WW4h3YxoESPWbsqVKucE'),
699
+ oracle: new PublicKey('23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR'),
700
700
  launchTs: 1716595200000,
701
- oracleSource: OracleSource.SWITCHBOARD,
701
+ oracleSource: OracleSource.PYTH_PULL,
702
702
  pythFeedId:
703
703
  '0x5c1690b27bb02446db17cdda13ccc2c1d609ad6d2ef5bf4983a85ea8b6f19d07',
704
704
  },
@@ -742,9 +742,9 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
742
742
  symbol: 'POPCAT-PERP',
743
743
  baseAssetSymbol: 'POPCAT',
744
744
  marketIndex: 34,
745
- oracle: new PublicKey('3GjpjC8TWsPqjyFSiR7saGxgzD8zqYJNsBnWpenZPEBy'),
745
+ oracle: new PublicKey('H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X'),
746
746
  launchTs: 1720013054000,
747
- oracleSource: OracleSource.SWITCHBOARD,
747
+ oracleSource: OracleSource.PYTH_PULL,
748
748
  pythFeedId:
749
749
  '0xb9312a7ee50e189ef045aa3c7842e099b061bd9bdc99ac645956c3b660dc8cce',
750
750
  },
@@ -165,8 +165,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
165
165
  {
166
166
  symbol: 'PYTH',
167
167
  marketIndex: 7,
168
- oracle: new PublicKey('nrYkQQQur7z8rYTST3G9GqATviK5SxTDkrqd21MW6Ue'),
169
- oracleSource: OracleSource.PYTH,
168
+ oracle: new PublicKey('GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr'),
169
+ oracleSource: OracleSource.PYTH_PULL,
170
170
  mint: new PublicKey('HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3'),
171
171
  precision: new BN(10).pow(SIX),
172
172
  precisionExp: SIX,
@@ -207,8 +207,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
207
207
  {
208
208
  symbol: 'WIF',
209
209
  marketIndex: 10,
210
- oracle: new PublicKey('6ABgrEZk8urs6kJ1JNdC1sspH5zKXRqxy8sg3ZG2cQps'),
211
- oracleSource: OracleSource.PYTH,
210
+ oracle: new PublicKey('6x6KfE7nY2xoLCRSMPT1u83wQ5fpGXoKNBqFjrCwzsCQ'),
211
+ oracleSource: OracleSource.PYTH_PULL,
212
212
  mint: new PublicKey('EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm'),
213
213
  precision: new BN(10).pow(SIX),
214
214
  precisionExp: SIX,
@@ -222,8 +222,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
222
222
  {
223
223
  symbol: 'JUP',
224
224
  marketIndex: 11,
225
- oracle: new PublicKey('g6eRCbboSwK4tSWngn773RCMexr1APQr4uA9bGZBYfo'),
226
- oracleSource: OracleSource.PYTH,
225
+ oracle: new PublicKey('AwqRpfJ36jnSZQykyL1jYY35mhMteeEAjh7o8LveRQin'),
226
+ oracleSource: OracleSource.PYTH_PULL,
227
227
  mint: new PublicKey('JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN'),
228
228
  precision: new BN(10).pow(SIX),
229
229
  precisionExp: SIX,
@@ -280,8 +280,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
280
280
  {
281
281
  symbol: 'DRIFT',
282
282
  marketIndex: 15,
283
- oracle: new PublicKey('PeNpQeGEm9UEFJ6MBCMauY4WW4h3YxoESPWbsqVKucE'),
284
- oracleSource: OracleSource.SWITCHBOARD,
283
+ oracle: new PublicKey('23KmX7SNikmUr2axSCy6Zer7XPBnvmVcASALnDGqBVRR'),
284
+ oracleSource: OracleSource.PYTH_PULL,
285
285
  mint: new PublicKey('DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7'),
286
286
  precision: new BN(10).pow(SIX),
287
287
  precisionExp: SIX,
@@ -339,8 +339,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
339
339
  {
340
340
  symbol: 'POPCAT',
341
341
  marketIndex: 20,
342
- oracle: new PublicKey('3GjpjC8TWsPqjyFSiR7saGxgzD8zqYJNsBnWpenZPEBy'),
343
- oracleSource: OracleSource.SWITCHBOARD,
342
+ oracle: new PublicKey('H3pn43tkNvsG5z3qzmERguSvKoyHZvvY6VPmNrJqiW5X'),
343
+ oracleSource: OracleSource.PYTH_PULL,
344
344
  mint: new PublicKey('7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr'),
345
345
  precision: new BN(10).pow(NINE),
346
346
  precisionExp: NINE,
@@ -348,6 +348,8 @@ export const MainnetSpotMarkets: SpotMarketConfig[] = [
348
348
  phoenixMarket: new PublicKey(
349
349
  '31XgvAQ1HgFQEk31KdszbPkVXKaQqB1bgYZPoDrFpSR2'
350
350
  ),
351
+ pythFeedId:
352
+ '0xb9312a7ee50e189ef045aa3c7842e099b061bd9bdc99ac645956c3b660dc8cce',
351
353
  },
352
354
  ];
353
355
 
package/src/types.ts CHANGED
@@ -887,7 +887,7 @@ export type UserStatsAccount = {
887
887
  authority: PublicKey;
888
888
  ifStakedQuoteAssetAmount: BN;
889
889
 
890
- lastFuelBonusUpdateTs: number; // u32 onchain
890
+ lastFuelIfBonusUpdateTs: number; // u32 onchain
891
891
 
892
892
  fuelInsurance: number;
893
893
  fuelDeposits: number;
package/src/user.ts CHANGED
@@ -1011,7 +1011,7 @@ export class User {
1011
1011
  this.driftClient.getSpotMarketAccount(GOV_SPOT_MARKET_INDEX);
1012
1012
 
1013
1013
  const fuelBonusNumeratorUserStats = now.sub(
1014
- new BN(userStats.lastFuelBonusUpdateTs)
1014
+ BN.max(new BN(userStats.lastFuelIfBonusUpdateTs), FUEL_START_TS)
1015
1015
  );
1016
1016
 
1017
1017
  result.insuranceFuel = result.insuranceFuel.add(
@@ -1022,6 +1022,23 @@ export class User {
1022
1022
  )
1023
1023
  );
1024
1024
  }
1025
+
1026
+ if (userStats.ifStakedQuoteAssetAmount.gt(ZERO)) {
1027
+ const spotMarketAccount: SpotMarketAccount =
1028
+ this.driftClient.getSpotMarketAccount(QUOTE_SPOT_MARKET_INDEX);
1029
+
1030
+ const fuelBonusNumeratorUserStats = now.sub(
1031
+ BN.max(new BN(userStats.lastFuelIfBonusUpdateTs), FUEL_START_TS)
1032
+ );
1033
+
1034
+ result.insuranceFuel = result.insuranceFuel.add(
1035
+ calculateInsuranceFuelBonus(
1036
+ spotMarketAccount,
1037
+ userStats.ifStakedQuoteAssetAmount,
1038
+ fuelBonusNumeratorUserStats
1039
+ )
1040
+ );
1041
+ }
1025
1042
  }
1026
1043
 
1027
1044
  return result;