@strkfarm/sdk 2.0.0-dev.26 → 2.0.0-dev.27

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.
@@ -92408,7 +92408,7 @@ spurious results.`);
92408
92408
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
92409
92409
  var EXTEND_MARKET_NAME = "BTC-USD";
92410
92410
  var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
92411
- var LIMIT_BALANCE_VALUE = 10;
92411
+ var LIMIT_BALANCE_VALUE = 20;
92412
92412
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
92413
92413
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
92414
92414
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -98601,10 +98601,10 @@ spurious results.`);
98601
98601
  );
98602
98602
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
98603
98603
  if (usdcBalanceOnExtended) {
98604
- const availableForWithdrawal = parseFloat(
98605
- usdcBalanceOnExtended.availableForWithdrawal
98604
+ const availableForTrade = parseFloat(
98605
+ usdcBalanceOnExtended.availableForTrade
98606
98606
  );
98607
- if (!Number.isFinite(availableForWithdrawal) || availableForWithdrawal < 0) {
98607
+ if (!Number.isFinite(availableForTrade) || availableForTrade < 0) {
98608
98608
  logger2.error(
98609
98609
  `Invalid usdcBalanceOnExtended.availableForWithdrawal: ${usdcBalanceOnExtended.availableForWithdrawal}. Expected a finite, non-negative number.`
98610
98610
  );
@@ -98620,10 +98620,11 @@ spurious results.`);
98620
98620
  };
98621
98621
  }
98622
98622
  }
98623
+ const amountUsedFromExtended = new Web3Number(usdcBalanceOnExtended?.availableForTrade ?? 0, USDC_TOKEN_DECIMALS);
98623
98624
  const amountToInvest = new Web3Number(
98624
98625
  balance.usdValue,
98625
98626
  USDC_TOKEN_DECIMALS
98626
- ).plus(usdcBalanceOnExtended?.availableForTrade ?? 0).multipliedBy(1 - LIMIT_BALANCE);
98627
+ ).plus(amountUsedFromExtended.multipliedBy(1 - LIMIT_BALANCE) ?? 0).multipliedBy(1 - LIMIT_BALANCE);
98627
98628
  const amountToInvestNumber = amountToInvest.toNumber();
98628
98629
  if (!Number.isFinite(amountToInvestNumber)) {
98629
98630
  logger2.error(
@@ -98701,7 +98702,7 @@ spurious results.`);
98701
98702
  debtAmountToBeRepaid: new Web3Number(0, 0)
98702
98703
  };
98703
98704
  }
98704
- const debtAmountToBeRepaid = calculateDeltaDebtAmount(
98705
+ let debtAmountToBeRepaid = calculateDeltaDebtAmount(
98705
98706
  MAX_LTV_BTC_USDC,
98706
98707
  collateralTokenAmount,
98707
98708
  debtTokenAmount,
@@ -98725,6 +98726,8 @@ spurious results.`);
98725
98726
  logger2.info(
98726
98727
  `${_VesuExtendedMultiplierStrategy.name}::shouldInvest debtAmountToBeRepaid: ${debtAmountToBeRepaid.toNumber()}`
98727
98728
  );
98729
+ const vesuLeverage = calculateVesuLeverage();
98730
+ debtAmountToBeRepaid = debtAmountToBeRepaid.toNumber() !== 0 ? debtAmountToBeRepaid.dividedBy(vesuLeverage - 1) : new Web3Number(0, 0);
98728
98731
  const amountToInvestAfterRepayingDebt = amountToInvest.plus(debtAmountToBeRepaid);
98729
98732
  const { vesu_amount, extended_amount, extended_leverage, vesu_leverage } = await calculateAmountDistribution(
98730
98733
  amountToInvestAfterRepayingDebt.toNumber(),
@@ -28363,7 +28363,7 @@ var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28363
28363
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28364
28364
  var EXTEND_MARKET_NAME = "BTC-USD";
28365
28365
  var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28366
- var LIMIT_BALANCE_VALUE = 10;
28366
+ var LIMIT_BALANCE_VALUE = 20;
28367
28367
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28368
28368
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28369
28369
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -34563,10 +34563,10 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34563
34563
  );
34564
34564
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34565
34565
  if (usdcBalanceOnExtended) {
34566
- const availableForWithdrawal = parseFloat(
34567
- usdcBalanceOnExtended.availableForWithdrawal
34566
+ const availableForTrade = parseFloat(
34567
+ usdcBalanceOnExtended.availableForTrade
34568
34568
  );
34569
- if (!Number.isFinite(availableForWithdrawal) || availableForWithdrawal < 0) {
34569
+ if (!Number.isFinite(availableForTrade) || availableForTrade < 0) {
34570
34570
  logger.error(
34571
34571
  `Invalid usdcBalanceOnExtended.availableForWithdrawal: ${usdcBalanceOnExtended.availableForWithdrawal}. Expected a finite, non-negative number.`
34572
34572
  );
@@ -34582,10 +34582,11 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34582
34582
  };
34583
34583
  }
34584
34584
  }
34585
+ const amountUsedFromExtended = new Web3Number(usdcBalanceOnExtended?.availableForTrade ?? 0, USDC_TOKEN_DECIMALS);
34585
34586
  const amountToInvest = new Web3Number(
34586
34587
  balance.usdValue,
34587
34588
  USDC_TOKEN_DECIMALS
34588
- ).plus(usdcBalanceOnExtended?.availableForTrade ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34589
+ ).plus(amountUsedFromExtended.multipliedBy(1 - LIMIT_BALANCE) ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34589
34590
  const amountToInvestNumber = amountToInvest.toNumber();
34590
34591
  if (!Number.isFinite(amountToInvestNumber)) {
34591
34592
  logger.error(
@@ -34663,7 +34664,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34663
34664
  debtAmountToBeRepaid: new Web3Number(0, 0)
34664
34665
  };
34665
34666
  }
34666
- const debtAmountToBeRepaid = calculateDeltaDebtAmount(
34667
+ let debtAmountToBeRepaid = calculateDeltaDebtAmount(
34667
34668
  MAX_LTV_BTC_USDC,
34668
34669
  collateralTokenAmount,
34669
34670
  debtTokenAmount,
@@ -34687,6 +34688,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34687
34688
  logger.info(
34688
34689
  `${_VesuExtendedMultiplierStrategy.name}::shouldInvest debtAmountToBeRepaid: ${debtAmountToBeRepaid.toNumber()}`
34689
34690
  );
34691
+ const vesuLeverage = calculateVesuLeverage();
34692
+ debtAmountToBeRepaid = debtAmountToBeRepaid.toNumber() !== 0 ? debtAmountToBeRepaid.dividedBy(vesuLeverage - 1) : new Web3Number(0, 0);
34690
34693
  const amountToInvestAfterRepayingDebt = amountToInvest.plus(debtAmountToBeRepaid);
34691
34694
  const { vesu_amount, extended_amount, extended_leverage, vesu_leverage } = await calculateAmountDistribution(
34692
34695
  amountToInvestAfterRepayingDebt.toNumber(),
package/dist/index.js CHANGED
@@ -28167,7 +28167,7 @@ var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28167
28167
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28168
28168
  var EXTEND_MARKET_NAME = "BTC-USD";
28169
28169
  var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28170
- var LIMIT_BALANCE_VALUE = 10;
28170
+ var LIMIT_BALANCE_VALUE = 20;
28171
28171
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28172
28172
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28173
28173
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -34722,10 +34722,10 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34722
34722
  );
34723
34723
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34724
34724
  if (usdcBalanceOnExtended) {
34725
- const availableForWithdrawal = parseFloat(
34726
- usdcBalanceOnExtended.availableForWithdrawal
34725
+ const availableForTrade = parseFloat(
34726
+ usdcBalanceOnExtended.availableForTrade
34727
34727
  );
34728
- if (!Number.isFinite(availableForWithdrawal) || availableForWithdrawal < 0) {
34728
+ if (!Number.isFinite(availableForTrade) || availableForTrade < 0) {
34729
34729
  logger.error(
34730
34730
  `Invalid usdcBalanceOnExtended.availableForWithdrawal: ${usdcBalanceOnExtended.availableForWithdrawal}. Expected a finite, non-negative number.`
34731
34731
  );
@@ -34741,10 +34741,11 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34741
34741
  };
34742
34742
  }
34743
34743
  }
34744
+ const amountUsedFromExtended = new Web3Number(usdcBalanceOnExtended?.availableForTrade ?? 0, USDC_TOKEN_DECIMALS);
34744
34745
  const amountToInvest = new Web3Number(
34745
34746
  balance.usdValue,
34746
34747
  USDC_TOKEN_DECIMALS
34747
- ).plus(usdcBalanceOnExtended?.availableForTrade ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34748
+ ).plus(amountUsedFromExtended.multipliedBy(1 - LIMIT_BALANCE) ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34748
34749
  const amountToInvestNumber = amountToInvest.toNumber();
34749
34750
  if (!Number.isFinite(amountToInvestNumber)) {
34750
34751
  logger.error(
@@ -34822,7 +34823,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34822
34823
  debtAmountToBeRepaid: new Web3Number(0, 0)
34823
34824
  };
34824
34825
  }
34825
- const debtAmountToBeRepaid = calculateDeltaDebtAmount(
34826
+ let debtAmountToBeRepaid = calculateDeltaDebtAmount(
34826
34827
  MAX_LTV_BTC_USDC,
34827
34828
  collateralTokenAmount,
34828
34829
  debtTokenAmount,
@@ -34846,6 +34847,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34846
34847
  logger.info(
34847
34848
  `${_VesuExtendedMultiplierStrategy.name}::shouldInvest debtAmountToBeRepaid: ${debtAmountToBeRepaid.toNumber()}`
34848
34849
  );
34850
+ const vesuLeverage = calculateVesuLeverage();
34851
+ debtAmountToBeRepaid = debtAmountToBeRepaid.toNumber() !== 0 ? debtAmountToBeRepaid.dividedBy(vesuLeverage - 1) : new Web3Number(0, 0);
34849
34852
  const amountToInvestAfterRepayingDebt = amountToInvest.plus(debtAmountToBeRepaid);
34850
34853
  const { vesu_amount, extended_amount, extended_leverage, vesu_leverage } = await calculateAmountDistribution(
34851
34854
  amountToInvestAfterRepayingDebt.toNumber(),
package/dist/index.mjs CHANGED
@@ -28019,7 +28019,7 @@ var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28019
28019
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28020
28020
  var EXTEND_MARKET_NAME = "BTC-USD";
28021
28021
  var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28022
- var LIMIT_BALANCE_VALUE = 10;
28022
+ var LIMIT_BALANCE_VALUE = 20;
28023
28023
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28024
28024
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28025
28025
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -34574,10 +34574,10 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34574
34574
  );
34575
34575
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34576
34576
  if (usdcBalanceOnExtended) {
34577
- const availableForWithdrawal = parseFloat(
34578
- usdcBalanceOnExtended.availableForWithdrawal
34577
+ const availableForTrade = parseFloat(
34578
+ usdcBalanceOnExtended.availableForTrade
34579
34579
  );
34580
- if (!Number.isFinite(availableForWithdrawal) || availableForWithdrawal < 0) {
34580
+ if (!Number.isFinite(availableForTrade) || availableForTrade < 0) {
34581
34581
  logger.error(
34582
34582
  `Invalid usdcBalanceOnExtended.availableForWithdrawal: ${usdcBalanceOnExtended.availableForWithdrawal}. Expected a finite, non-negative number.`
34583
34583
  );
@@ -34593,10 +34593,11 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34593
34593
  };
34594
34594
  }
34595
34595
  }
34596
+ const amountUsedFromExtended = new Web3Number(usdcBalanceOnExtended?.availableForTrade ?? 0, USDC_TOKEN_DECIMALS);
34596
34597
  const amountToInvest = new Web3Number(
34597
34598
  balance.usdValue,
34598
34599
  USDC_TOKEN_DECIMALS
34599
- ).plus(usdcBalanceOnExtended?.availableForTrade ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34600
+ ).plus(amountUsedFromExtended.multipliedBy(1 - LIMIT_BALANCE) ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34600
34601
  const amountToInvestNumber = amountToInvest.toNumber();
34601
34602
  if (!Number.isFinite(amountToInvestNumber)) {
34602
34603
  logger.error(
@@ -34674,7 +34675,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34674
34675
  debtAmountToBeRepaid: new Web3Number(0, 0)
34675
34676
  };
34676
34677
  }
34677
- const debtAmountToBeRepaid = calculateDeltaDebtAmount(
34678
+ let debtAmountToBeRepaid = calculateDeltaDebtAmount(
34678
34679
  MAX_LTV_BTC_USDC,
34679
34680
  collateralTokenAmount,
34680
34681
  debtTokenAmount,
@@ -34698,6 +34699,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34698
34699
  logger.info(
34699
34700
  `${_VesuExtendedMultiplierStrategy.name}::shouldInvest debtAmountToBeRepaid: ${debtAmountToBeRepaid.toNumber()}`
34700
34701
  );
34702
+ const vesuLeverage = calculateVesuLeverage();
34703
+ debtAmountToBeRepaid = debtAmountToBeRepaid.toNumber() !== 0 ? debtAmountToBeRepaid.dividedBy(vesuLeverage - 1) : new Web3Number(0, 0);
34701
34704
  const amountToInvestAfterRepayingDebt = amountToInvest.plus(debtAmountToBeRepaid);
34702
34705
  const { vesu_amount, extended_amount, extended_leverage, vesu_leverage } = await calculateAmountDistribution(
34703
34706
  amountToInvestAfterRepayingDebt.toNumber(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strkfarm/sdk",
3
- "version": "2.0.0-dev.26",
3
+ "version": "2.0.0-dev.27",
4
4
  "description": "STRKFarm TS SDK (Meant for our internal use, but feel free to use it)",
5
5
  "typings": "dist/index.d.ts",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@ export const MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
19
19
  export const MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
20
20
  export const EXTEND_MARKET_NAME = "BTC-USD";
21
21
  export const LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
22
- export const LIMIT_BALANCE_VALUE=10;
22
+ export const LIMIT_BALANCE_VALUE=20;
23
23
  export const REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 180000); //3 mins
24
24
  export const WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18000000); //5 hours
25
25
  export const INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 180000); //3 mins
@@ -364,12 +364,12 @@ export class VesuExtendedMultiplierStrategy<
364
364
  await extendedAdapter.getExtendedDepositAmount();
365
365
 
366
366
  if (usdcBalanceOnExtended) {
367
- const availableForWithdrawal = parseFloat(
368
- usdcBalanceOnExtended.availableForWithdrawal
367
+ const availableForTrade= parseFloat(
368
+ usdcBalanceOnExtended.availableForTrade
369
369
  );
370
370
  if (
371
- !Number.isFinite(availableForWithdrawal) ||
372
- availableForWithdrawal < 0
371
+ !Number.isFinite(availableForTrade) ||
372
+ availableForTrade < 0
373
373
  ) {
374
374
  logger.error(
375
375
  `Invalid usdcBalanceOnExtended.availableForWithdrawal: ${usdcBalanceOnExtended.availableForWithdrawal}. Expected a finite, non-negative number.`
@@ -386,13 +386,18 @@ export class VesuExtendedMultiplierStrategy<
386
386
  };
387
387
  }
388
388
  }
389
+
390
+ const amountUsedFromExtended = new Web3Number(usdcBalanceOnExtended?.availableForTrade ?? 0, USDC_TOKEN_DECIMALS);
389
391
 
390
- /** The LIMIT_BALANCE is the bffer amount to keep in the investing Cycle */
392
+ /**
393
+ * The LIMIT_BALANCE is the bffer amount to keep in the investing Cycle
394
+ * 5% buffer amount is kept for extended amounts available to trade as they changes very suddenly
395
+ */
391
396
  const amountToInvest = new Web3Number(
392
397
  balance.usdValue,
393
398
  USDC_TOKEN_DECIMALS
394
399
  )
395
- .plus(usdcBalanceOnExtended?.availableForTrade ?? 0)
400
+ .plus(amountUsedFromExtended.multipliedBy(1 - LIMIT_BALANCE) ?? 0)
396
401
  .multipliedBy(1 - LIMIT_BALANCE);
397
402
 
398
403
  const amountToInvestNumber = amountToInvest.toNumber();
@@ -482,7 +487,7 @@ export class VesuExtendedMultiplierStrategy<
482
487
  };
483
488
  }
484
489
 
485
- const debtAmountToBeRepaid = calculateDeltaDebtAmount(
490
+ let debtAmountToBeRepaid = calculateDeltaDebtAmount(
486
491
  MAX_LTV_BTC_USDC,
487
492
  collateralTokenAmount,
488
493
  debtTokenAmount,
@@ -512,6 +517,8 @@ export class VesuExtendedMultiplierStrategy<
512
517
  * Since the debt amount is negative, we need to add it to the amount to invest
513
518
  * to maintain the ltv
514
519
  */
520
+ const vesuLeverage = calculateVesuLeverage();
521
+ debtAmountToBeRepaid = debtAmountToBeRepaid.toNumber() !== 0 ? debtAmountToBeRepaid.dividedBy(vesuLeverage-1) : new Web3Number(0, 0);
515
522
  const amountToInvestAfterRepayingDebt =
516
523
  amountToInvest.plus(debtAmountToBeRepaid);
517
524
  const { vesu_amount, extended_amount, extended_leverage, vesu_leverage } =