@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.
- package/dist/index.browser.global.js +9 -6
- package/dist/index.browser.mjs +9 -6
- package/dist/index.js +9 -6
- package/dist/index.mjs +9 -6
- package/package.json +1 -1
- package/src/strategies/vesu-extended-strategy/utils/constants.ts +1 -1
- package/src/strategies/vesu-extended-strategy/vesu-extended-strategy.tsx +14 -7
|
@@ -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 =
|
|
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
|
|
98605
|
-
usdcBalanceOnExtended.
|
|
98604
|
+
const availableForTrade = parseFloat(
|
|
98605
|
+
usdcBalanceOnExtended.availableForTrade
|
|
98606
98606
|
);
|
|
98607
|
-
if (!Number.isFinite(
|
|
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(
|
|
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
|
-
|
|
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(),
|
package/dist/index.browser.mjs
CHANGED
|
@@ -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 =
|
|
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
|
|
34567
|
-
usdcBalanceOnExtended.
|
|
34566
|
+
const availableForTrade = parseFloat(
|
|
34567
|
+
usdcBalanceOnExtended.availableForTrade
|
|
34568
34568
|
);
|
|
34569
|
-
if (!Number.isFinite(
|
|
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(
|
|
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
|
-
|
|
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 =
|
|
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
|
|
34726
|
-
usdcBalanceOnExtended.
|
|
34725
|
+
const availableForTrade = parseFloat(
|
|
34726
|
+
usdcBalanceOnExtended.availableForTrade
|
|
34727
34727
|
);
|
|
34728
|
-
if (!Number.isFinite(
|
|
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(
|
|
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
|
-
|
|
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 =
|
|
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
|
|
34578
|
-
usdcBalanceOnExtended.
|
|
34577
|
+
const availableForTrade = parseFloat(
|
|
34578
|
+
usdcBalanceOnExtended.availableForTrade
|
|
34579
34579
|
);
|
|
34580
|
-
if (!Number.isFinite(
|
|
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(
|
|
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
|
-
|
|
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
|
@@ -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=
|
|
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
|
|
368
|
-
usdcBalanceOnExtended.
|
|
367
|
+
const availableForTrade= parseFloat(
|
|
368
|
+
usdcBalanceOnExtended.availableForTrade
|
|
369
369
|
);
|
|
370
370
|
if (
|
|
371
|
-
!Number.isFinite(
|
|
372
|
-
|
|
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
|
-
/**
|
|
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(
|
|
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
|
-
|
|
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 } =
|