@strkfarm/sdk 1.1.17 → 1.1.19
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 +2514 -542
- package/dist/index.browser.mjs +2256 -284
- package/dist/index.d.ts +16 -4
- package/dist/index.js +2257 -284
- package/dist/index.mjs +2256 -284
- package/package.json +2 -1
- package/src/dataTypes/_bignumber.ts +29 -11
- package/src/modules/pricer-from-api.ts +1 -1
- package/src/strategies/base-strategy.ts +5 -1
- package/src/strategies/constants.ts +1 -1
- package/src/strategies/ekubo-cl-vault.tsx +45 -0
- package/src/strategies/universal-adapters/adapter-utils.ts +2 -1
- package/src/strategies/universal-adapters/vesu-adapter.ts +63 -28
- package/src/strategies/universal-lst-muliplier-strategy.tsx +65 -24
- package/src/strategies/universal-strategy.tsx +8 -8
|
@@ -10,7 +10,7 @@ import ManagerAbi from '../data/vault-manager.abi.json';
|
|
|
10
10
|
import { ApproveCallParams, AvnuSwapCallParams, BaseAdapter, CommonAdapter, FlashloanCallParams, GenerateCallFn, LeafAdapterFn, ManageCall, VesuAdapter, VesuDefiSpringRewardsCallParams, VesuModifyPositionCallParams, VesuPools } from "./universal-adapters";
|
|
11
11
|
import { Global } from "@/global";
|
|
12
12
|
import { AvnuWrapper, ERC20 } from "@/modules";
|
|
13
|
-
import { AVNU_MIDDLEWARE } from "./universal-adapters/adapter-utils";
|
|
13
|
+
import { AVNU_MIDDLEWARE, VESU_SINGLETON } from "./universal-adapters/adapter-utils";
|
|
14
14
|
import { VesuHarvests } from "@/modules/harvests";
|
|
15
15
|
|
|
16
16
|
export interface UniversalManageCall {
|
|
@@ -229,12 +229,12 @@ export class UniversalStrategy<
|
|
|
229
229
|
const rewardAPYs: number[] = [];
|
|
230
230
|
for (const [index, pool] of pools.entries()) {
|
|
231
231
|
const vesuAdapter = vesuAdapters[index];
|
|
232
|
-
const collateralAsset = pool.assets.find((a: any) => a.symbol === vesuAdapter.config.collateral.symbol)?.stats!;
|
|
233
|
-
const debtAsset = pool.assets.find((a: any) => a.symbol === vesuAdapter.config.debt.symbol)?.stats!;
|
|
232
|
+
const collateralAsset = pool.assets.find((a: any) => a.symbol.toLowerCase() === vesuAdapter.config.collateral.symbol.toLowerCase())?.stats!;
|
|
233
|
+
const debtAsset = pool.assets.find((a: any) => a.symbol.toLowerCase() === vesuAdapter.config.debt.symbol.toLowerCase())?.stats!;
|
|
234
234
|
const supplyApy = Number(collateralAsset.supplyApy.value || 0) / 1e18;
|
|
235
235
|
const lstAPY = Number(collateralAsset.lstApr?.value || 0) / 1e18;
|
|
236
236
|
baseAPYs.push(...[supplyApy + lstAPY, Number(debtAsset.borrowApr.value) / 1e18]);
|
|
237
|
-
rewardAPYs.push(...[Number(collateralAsset.defiSpringSupplyApr
|
|
237
|
+
rewardAPYs.push(...[Number(collateralAsset.defiSpringSupplyApr?.value || "0") / 1e18, 0]);
|
|
238
238
|
}
|
|
239
239
|
logger.verbose(`${this.metadata.name}::netAPY: baseAPYs: ${JSON.stringify(baseAPYs)}`);
|
|
240
240
|
logger.verbose(`${this.metadata.name}::netAPY: rewardAPYs: ${JSON.stringify(rewardAPYs)}`);
|
|
@@ -311,6 +311,7 @@ export class UniversalStrategy<
|
|
|
311
311
|
let vesuAum = Web3Number.fromWei("0", underlying.decimals);
|
|
312
312
|
|
|
313
313
|
let tokenUnderlyingPrice = await this.pricer.getPrice(this.asset().symbol);
|
|
314
|
+
logger.verbose(`${this.getTag()} tokenUnderlyingPrice: ${tokenUnderlyingPrice.price}`);
|
|
314
315
|
|
|
315
316
|
// handle collateral
|
|
316
317
|
if (legAUM[0].token.address.eq(underlying.address)) {
|
|
@@ -339,7 +340,6 @@ export class UniversalStrategy<
|
|
|
339
340
|
|
|
340
341
|
async getAUM(): Promise<{net: SingleTokenInfo, prevAum: Web3Number, splits: {id: string, aum: Web3Number}[]}> {
|
|
341
342
|
const prevAum = await this.getPrevAUM();
|
|
342
|
-
|
|
343
343
|
const token1Price = await this.pricer.getPrice(this.metadata.depositTokens[0].symbol);
|
|
344
344
|
|
|
345
345
|
// calculate vesu aum
|
|
@@ -437,7 +437,7 @@ export class UniversalStrategy<
|
|
|
437
437
|
amount: unusedBalance.amount,
|
|
438
438
|
usdValue: unusedBalance.usdValue,
|
|
439
439
|
token: this.asset(),
|
|
440
|
-
remarks: "Unused Balance"
|
|
440
|
+
remarks: "Unused Balance (may not include recent deposits)"
|
|
441
441
|
}];
|
|
442
442
|
}
|
|
443
443
|
|
|
@@ -848,8 +848,8 @@ function getLooperSettings(
|
|
|
848
848
|
vaultSettings.leafAdapters.push(commonAdapter.getFlashloanAdapter.bind(commonAdapter));
|
|
849
849
|
vaultSettings.leafAdapters.push(vesuAdapterUSDCETH.getModifyPosition.bind(vesuAdapterUSDCETH));
|
|
850
850
|
vaultSettings.leafAdapters.push(vesuAdapterETHUSDC.getModifyPosition.bind(vesuAdapterETHUSDC));
|
|
851
|
-
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(USDCToken.address,
|
|
852
|
-
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(ETHToken.address,
|
|
851
|
+
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(USDCToken.address, VESU_SINGLETON, UNIVERSAL_MANAGE_IDS.APPROVE_TOKEN1).bind(commonAdapter));
|
|
852
|
+
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(ETHToken.address, VESU_SINGLETON, UNIVERSAL_MANAGE_IDS.APPROVE_TOKEN2).bind(commonAdapter));
|
|
853
853
|
|
|
854
854
|
// to bridge liquidity back to vault (used by bring_liquidity)
|
|
855
855
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(USDCToken.address, vaultSettings.vaultAddress, UNIVERSAL_MANAGE_IDS.APPROVE_BRING_LIQUIDITY).bind(commonAdapter));
|