@strkfarm/sdk 2.0.0-dev.4 → 2.0.0-dev.6
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 +490 -203
- package/dist/index.browser.mjs +490 -203
- package/dist/index.js +490 -203
- package/dist/index.mjs +490 -203
- package/package.json +1 -1
- package/src/strategies/universal-adapters/avnu-adapter.ts +1 -1
- package/src/strategies/universal-adapters/extended-adapter.ts +150 -72
- package/src/strategies/universal-adapters/vesu-multiply-adapter.ts +775 -395
- package/src/strategies/vesu-extended-strategy/utils/helper.ts +2 -4
- package/src/strategies/vesu-extended-strategy/vesu-extended-strategy.tsx +9 -8
|
@@ -66,12 +66,10 @@ export const calculateAmountDistribution = async (
|
|
|
66
66
|
vesu_leverage: 0,
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
const
|
|
69
|
+
const extendedExposureUSD =
|
|
70
70
|
extendedPosition.length > 0
|
|
71
|
-
? new Web3Number(extendedPosition[0].
|
|
71
|
+
? new Web3Number(extendedPosition[0].value, WBTC_TOKEN_DECIMALS)
|
|
72
72
|
: new Web3Number(0, WBTC_TOKEN_DECIMALS);
|
|
73
|
-
const extendedExposureUSD =
|
|
74
|
-
extendedBTCExposure.multipliedBy(collateralPrice);
|
|
75
73
|
const vesuBTCExposureUSD = collateralUnits.multipliedBy(collateralPrice);
|
|
76
74
|
const numerator1 = vesu_leverage * amount + vesuBTCExposureUSD.toNumber();
|
|
77
75
|
const numerator2 = extendedExposureUSD.toNumber();
|
|
@@ -238,8 +238,8 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
238
238
|
const balance = await this.getUnusedBalance();
|
|
239
239
|
const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
|
|
240
240
|
/** The LIMIT_BALANCE is the bffer amount to keep in the investing Cycle */
|
|
241
|
-
const amountToInvest = balance.
|
|
242
|
-
|
|
241
|
+
const amountToInvest = new Web3Number(balance.usdValue, USDC_TOKEN_DECIMALS).plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).minus(LIMIT_BALANCE);
|
|
242
|
+
logger.info(`${VesuExtendedMultiplierStrategy.name}::shouldInvest amountToInvest: ${amountToInvest.toNumber()}`);
|
|
243
243
|
if (amountToInvest.lessThan(0)) {
|
|
244
244
|
return {
|
|
245
245
|
shouldInvest: false,
|
|
@@ -301,6 +301,7 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
301
301
|
vesuLeverage: 0,
|
|
302
302
|
};
|
|
303
303
|
}
|
|
304
|
+
logger.info(`${VesuExtendedMultiplierStrategy.name}::shouldInvest vesu_amount: ${vesu_amount.toNumber()}, extended_amount: ${extended_amount.toNumber()}`);
|
|
304
305
|
return {
|
|
305
306
|
shouldInvest: true,
|
|
306
307
|
vesuAmount: vesu_amount,
|
|
@@ -384,16 +385,16 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
384
385
|
}
|
|
385
386
|
const usdcAmountInWallet = (await this.getUnusedBalance()).amount;
|
|
386
387
|
const usdcAmountOnExtended = parseFloat(
|
|
387
|
-
extendedHoldings.
|
|
388
|
+
extendedHoldings.availableForWithdrawal
|
|
388
389
|
);
|
|
389
|
-
if (extendedAmount.
|
|
390
|
+
if (extendedAmount.minus(usdcAmountOnExtended).greaterThan(0)) {
|
|
390
391
|
//move assets to extended
|
|
391
392
|
try {
|
|
392
393
|
const { calls: extendedCalls } = await this.moveAssets(
|
|
393
394
|
{
|
|
394
395
|
to: Protocols.EXTENDED.name,
|
|
395
396
|
from: Protocols.VAULT.name,
|
|
396
|
-
amount: extendedAmount.
|
|
397
|
+
amount: extendedAmount.minus(usdcAmountOnExtended),
|
|
397
398
|
},
|
|
398
399
|
extendedAdapter,
|
|
399
400
|
vesuAdapter
|
|
@@ -517,7 +518,7 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
517
518
|
* We need to move assets from my wallet back to vault contract
|
|
518
519
|
*/
|
|
519
520
|
const extendedHoldings = await extendedAdapter.getExtendedDepositAmount();
|
|
520
|
-
logger.info(`extendedHoldings after withdrawal ${extendedHoldings}`);
|
|
521
|
+
logger.info(`extendedHoldings after withdrawal ${extendedHoldings?.availableForWithdrawal}`);
|
|
521
522
|
await new Promise(resolve => setTimeout(resolve, 10000));
|
|
522
523
|
const calls = await this.moveAssetsToVaultAllocator(params.amount, extendedAdapter);
|
|
523
524
|
if (calls.length > 0) {
|
|
@@ -659,7 +660,7 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
659
660
|
};
|
|
660
661
|
}
|
|
661
662
|
const extendedHoldingAmount = new Web3Number(
|
|
662
|
-
extendedHoldings.
|
|
663
|
+
extendedHoldings.availableForWithdrawal,
|
|
663
664
|
USDC_TOKEN_DECIMALS
|
|
664
665
|
);
|
|
665
666
|
const {
|
|
@@ -719,7 +720,7 @@ export class VesuExtendedMultiplierStrategy<
|
|
|
719
720
|
return {
|
|
720
721
|
extendedAmountInBTC: new Web3Number(0, 0),
|
|
721
722
|
calls: [],
|
|
722
|
-
}
|
|
723
|
+
};
|
|
723
724
|
}
|
|
724
725
|
}
|
|
725
726
|
|