@strkfarm/sdk 2.0.0-staging.17 → 2.0.0-staging.18
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 +70 -54
- package/dist/index.browser.mjs +70 -54
- package/dist/index.d.ts +23 -3
- package/dist/index.js +71 -54
- package/dist/index.mjs +70 -54
- package/package.json +1 -1
- package/src/strategies/universal-adapters/vesu-adapter.ts +21 -2
- package/src/strategies/universal-lst-muliplier-strategy.tsx +54 -60
package/dist/index.js
CHANGED
|
@@ -92,6 +92,7 @@ __export(index_exports, {
|
|
|
92
92
|
VesuAdapter: () => VesuAdapter,
|
|
93
93
|
VesuAmountDenomination: () => VesuAmountDenomination,
|
|
94
94
|
VesuAmountType: () => VesuAmountType,
|
|
95
|
+
VesuPoolMetadata: () => VesuPoolMetadata,
|
|
95
96
|
VesuPools: () => VesuPools,
|
|
96
97
|
VesuRebalance: () => VesuRebalance,
|
|
97
98
|
VesuRebalanceStrategies: () => VesuRebalanceStrategies,
|
|
@@ -27516,7 +27517,25 @@ var VesuPools = {
|
|
|
27516
27517
|
Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
|
|
27517
27518
|
Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
|
|
27518
27519
|
Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
|
|
27519
|
-
Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5")
|
|
27520
|
+
Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5"),
|
|
27521
|
+
Re7STRK: ContractAddr.from("0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2")
|
|
27522
|
+
};
|
|
27523
|
+
var VesuPoolMetadata = {
|
|
27524
|
+
[VesuPools.Genesis.address]: {
|
|
27525
|
+
name: "Genesis"
|
|
27526
|
+
},
|
|
27527
|
+
[VesuPools.Re7xSTRK.address]: {
|
|
27528
|
+
name: "Re7 xSTRK"
|
|
27529
|
+
},
|
|
27530
|
+
[VesuPools.Re7xBTC.address]: {
|
|
27531
|
+
name: "Re7 xBTC"
|
|
27532
|
+
},
|
|
27533
|
+
[VesuPools.Prime.address]: {
|
|
27534
|
+
name: "Prime"
|
|
27535
|
+
},
|
|
27536
|
+
[VesuPools.Re7STRK.address]: {
|
|
27537
|
+
name: "Re7 STRK"
|
|
27538
|
+
}
|
|
27520
27539
|
};
|
|
27521
27540
|
var extensionMap = {};
|
|
27522
27541
|
extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
|
|
@@ -27901,12 +27920,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
27901
27920
|
amount: collateralAmount,
|
|
27902
27921
|
token: this.config.collateral,
|
|
27903
27922
|
usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
|
|
27904
|
-
remarks:
|
|
27923
|
+
remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
27905
27924
|
}, {
|
|
27906
27925
|
amount: debtAmount,
|
|
27907
27926
|
token: this.config.debt,
|
|
27908
27927
|
usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
|
|
27909
|
-
remarks:
|
|
27928
|
+
remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
27910
27929
|
}];
|
|
27911
27930
|
this.setCache(CACHE_KEY, value, 6e4);
|
|
27912
27931
|
return value;
|
|
@@ -32143,20 +32162,19 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
|
|
|
32143
32162
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
32144
32163
|
getVesuAdapters() {
|
|
32145
32164
|
const adapters = [];
|
|
32146
|
-
for (const
|
|
32147
|
-
const
|
|
32148
|
-
|
|
32149
|
-
|
|
32150
|
-
|
|
32151
|
-
|
|
32152
|
-
|
|
32153
|
-
|
|
32154
|
-
|
|
32155
|
-
|
|
32156
|
-
|
|
32157
|
-
|
|
32158
|
-
|
|
32159
|
-
}
|
|
32165
|
+
for (const borrowableInfo of this.metadata.additionalInfo.borrowable_assets) {
|
|
32166
|
+
const asset = borrowableInfo.token;
|
|
32167
|
+
const poolId = borrowableInfo.poolId;
|
|
32168
|
+
const vesuAdapter1 = new VesuAdapter({
|
|
32169
|
+
poolId,
|
|
32170
|
+
collateral: this.asset(),
|
|
32171
|
+
debt: asset,
|
|
32172
|
+
vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
|
|
32173
|
+
id: ""
|
|
32174
|
+
});
|
|
32175
|
+
vesuAdapter1.pricer = this.pricer;
|
|
32176
|
+
vesuAdapter1.networkConfig = this.config;
|
|
32177
|
+
adapters.push(vesuAdapter1);
|
|
32160
32178
|
}
|
|
32161
32179
|
return adapters;
|
|
32162
32180
|
}
|
|
@@ -32782,7 +32800,7 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
|
|
|
32782
32800
|
id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
|
|
32783
32801
|
adapter: vesuAdapterLST
|
|
32784
32802
|
}]);
|
|
32785
|
-
const { isV2, addr:
|
|
32803
|
+
const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
|
|
32786
32804
|
const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
|
|
32787
32805
|
const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
|
|
32788
32806
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
|
|
@@ -32792,9 +32810,11 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
|
|
|
32792
32810
|
vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
|
|
32793
32811
|
const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
|
|
32794
32812
|
vaultSettings.leafAdapters.push(vesuAdapterLST.getMultiplyAdapter(multiplID).bind(vesuAdapterLST));
|
|
32813
|
+
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
|
|
32814
|
+
vaultSettings.leafAdapters.push(vesuAdapterLST.getModifyPosition.bind(vesuAdapterLST));
|
|
32795
32815
|
return vesuAdapterLST;
|
|
32796
32816
|
}
|
|
32797
|
-
function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId
|
|
32817
|
+
function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
|
|
32798
32818
|
vaultSettings.leafAdapters = [];
|
|
32799
32819
|
const pool1 = vaultSettings.defaultPoolId;
|
|
32800
32820
|
if (!pool1.eq(defaultPoolId)) {
|
|
@@ -32813,10 +32833,11 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
|
|
|
32813
32833
|
id: "common_adapter" /* COMMON */,
|
|
32814
32834
|
adapter: commonAdapter
|
|
32815
32835
|
}]);
|
|
32816
|
-
|
|
32817
|
-
altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
|
|
32836
|
+
vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
|
|
32818
32837
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
|
|
32819
|
-
|
|
32838
|
+
const uniqueBorrowableAssets = [...new Set(vaultSettings.borrowable_assets.map((borrowableAsset) => borrowableAsset.token.symbol))];
|
|
32839
|
+
for (let borrowableAssetSymbol of uniqueBorrowableAssets) {
|
|
32840
|
+
const borrowableAsset = Global.getDefaultTokens().find((token) => token.symbol === borrowableAssetSymbol);
|
|
32820
32841
|
const debtAsset = borrowableAsset;
|
|
32821
32842
|
const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
|
|
32822
32843
|
const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
|
|
@@ -32824,23 +32845,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
|
|
|
32824
32845
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
|
|
32825
32846
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
|
|
32826
32847
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
|
|
32827
|
-
const vesuAdapter = new VesuAdapter({
|
|
32828
|
-
poolId: pool1,
|
|
32829
|
-
collateral: lstToken,
|
|
32830
|
-
debt: debtAsset,
|
|
32831
|
-
vaultAllocator: vaultSettings.vaultAllocator,
|
|
32832
|
-
id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
|
|
32833
|
-
});
|
|
32834
|
-
const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
|
|
32835
|
-
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
|
|
32836
|
-
vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
|
|
32837
|
-
if (borrowableAsset.address.eq(underlyingToken.address)) {
|
|
32838
|
-
continue;
|
|
32839
|
-
}
|
|
32840
32848
|
}
|
|
32841
32849
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
|
|
32842
32850
|
vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
|
|
32843
|
-
vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
|
|
32844
32851
|
const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
|
|
32845
32852
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
|
|
32846
32853
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
|
|
@@ -32899,7 +32906,7 @@ var _riskFactor4 = [
|
|
|
32899
32906
|
{ type: "Technical Risk" /* TECHNICAL_RISK */, value: 1 /* STABLE_INFRASTRUCTURE */, weight: 25, reason: "Liquidation can only happen if vault is left un-monitored for weeks, which is highly unlikely. We actively monitor all services on a daily basis." },
|
|
32900
32907
|
{ type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
|
|
32901
32908
|
];
|
|
32902
|
-
var
|
|
32909
|
+
var btcBorrowableAssets = [
|
|
32903
32910
|
"WBTC",
|
|
32904
32911
|
"tBTC",
|
|
32905
32912
|
"LBTC",
|
|
@@ -32915,10 +32922,12 @@ var hyperxSTRK = {
|
|
|
32915
32922
|
adapters: [],
|
|
32916
32923
|
targetHealthFactor: 1.1,
|
|
32917
32924
|
minHealthFactor: 1.05,
|
|
32918
|
-
borrowable_assets:
|
|
32925
|
+
borrowable_assets: [
|
|
32926
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7xSTRK })),
|
|
32927
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Prime }))
|
|
32928
|
+
],
|
|
32919
32929
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
|
|
32920
|
-
defaultPoolId: VesuPools.Re7xSTRK
|
|
32921
|
-
altSupportedPoolIds: [VesuPools.Prime]
|
|
32930
|
+
defaultPoolId: VesuPools.Re7xSTRK
|
|
32922
32931
|
};
|
|
32923
32932
|
var hyperxWBTC = {
|
|
32924
32933
|
vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
|
|
@@ -32930,10 +32939,14 @@ var hyperxWBTC = {
|
|
|
32930
32939
|
adapters: [],
|
|
32931
32940
|
targetHealthFactor: 1.1,
|
|
32932
32941
|
minHealthFactor: 1.05,
|
|
32933
|
-
borrowable_assets:
|
|
32942
|
+
borrowable_assets: [
|
|
32943
|
+
// allow all BTC flavours borrowing on Re7xBTC pool
|
|
32944
|
+
...btcBorrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)).map((token) => ({ token, poolId: VesuPools.Re7xBTC })),
|
|
32945
|
+
// allow only WBTC borrowing on Prime pool
|
|
32946
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Prime }))
|
|
32947
|
+
],
|
|
32934
32948
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
|
|
32935
32949
|
defaultPoolId: VesuPools.Re7xBTC,
|
|
32936
|
-
altSupportedPoolIds: [VesuPools.Prime],
|
|
32937
32950
|
redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
|
|
32938
32951
|
};
|
|
32939
32952
|
var hyperxtBTC = {
|
|
@@ -32946,10 +32959,11 @@ var hyperxtBTC = {
|
|
|
32946
32959
|
adapters: [],
|
|
32947
32960
|
targetHealthFactor: 1.1,
|
|
32948
32961
|
minHealthFactor: 1.05,
|
|
32949
|
-
borrowable_assets:
|
|
32962
|
+
borrowable_assets: [
|
|
32963
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32964
|
+
],
|
|
32950
32965
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
|
|
32951
32966
|
defaultPoolId: VesuPools.Re7xBTC,
|
|
32952
|
-
altSupportedPoolIds: [],
|
|
32953
32967
|
redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
|
|
32954
32968
|
};
|
|
32955
32969
|
var hyperxsBTC = {
|
|
@@ -32962,10 +32976,11 @@ var hyperxsBTC = {
|
|
|
32962
32976
|
adapters: [],
|
|
32963
32977
|
targetHealthFactor: 1.1,
|
|
32964
32978
|
minHealthFactor: 1.05,
|
|
32965
|
-
borrowable_assets:
|
|
32979
|
+
borrowable_assets: [
|
|
32980
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32981
|
+
],
|
|
32966
32982
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
|
|
32967
|
-
defaultPoolId: VesuPools.Re7xBTC
|
|
32968
|
-
altSupportedPoolIds: []
|
|
32983
|
+
defaultPoolId: VesuPools.Re7xBTC
|
|
32969
32984
|
};
|
|
32970
32985
|
var hyperxLBTC = {
|
|
32971
32986
|
vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
|
|
@@ -32977,10 +32992,11 @@ var hyperxLBTC = {
|
|
|
32977
32992
|
adapters: [],
|
|
32978
32993
|
targetHealthFactor: 1.1,
|
|
32979
32994
|
minHealthFactor: 1.05,
|
|
32980
|
-
borrowable_assets:
|
|
32995
|
+
borrowable_assets: [
|
|
32996
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32997
|
+
],
|
|
32981
32998
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
|
|
32982
|
-
defaultPoolId: VesuPools.Re7xBTC
|
|
32983
|
-
altSupportedPoolIds: []
|
|
32999
|
+
defaultPoolId: VesuPools.Re7xBTC
|
|
32984
33000
|
};
|
|
32985
33001
|
function getInvestmentSteps(lstSymbol, underlyingSymbol) {
|
|
32986
33002
|
return [
|
|
@@ -33076,12 +33092,12 @@ var HYPER_LST_REDEMPTION_INFO = {
|
|
|
33076
33092
|
tab: "withdraw"
|
|
33077
33093
|
}]
|
|
33078
33094
|
};
|
|
33079
|
-
function getStrategySettings(lstSymbol, underlyingSymbol,
|
|
33095
|
+
function getStrategySettings(lstSymbol, underlyingSymbol, settings, isPreview = false) {
|
|
33080
33096
|
return {
|
|
33081
33097
|
id: `hyper_${lstSymbol.toLowerCase()}`,
|
|
33082
33098
|
name: `Hyper ${lstSymbol}`,
|
|
33083
33099
|
description: getDescription2(lstSymbol, underlyingSymbol),
|
|
33084
|
-
address:
|
|
33100
|
+
address: settings.vaultAddress,
|
|
33085
33101
|
launchBlock: 0,
|
|
33086
33102
|
type: "Other",
|
|
33087
33103
|
vaultType: {
|
|
@@ -33096,7 +33112,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
|
|
|
33096
33112
|
additionalInfo: getLooperSettings2(
|
|
33097
33113
|
lstSymbol,
|
|
33098
33114
|
underlyingSymbol,
|
|
33099
|
-
|
|
33115
|
+
settings,
|
|
33100
33116
|
lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
|
|
33101
33117
|
),
|
|
33102
33118
|
risk: {
|
|
@@ -33114,7 +33130,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
|
|
|
33114
33130
|
logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
|
|
33115
33131
|
},
|
|
33116
33132
|
settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
|
|
33117
|
-
contractDetails: getContractDetails(
|
|
33133
|
+
contractDetails: getContractDetails(settings),
|
|
33118
33134
|
faqs: getFAQs2(lstSymbol, underlyingSymbol),
|
|
33119
33135
|
investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
|
|
33120
33136
|
isPreview,
|
|
@@ -34003,6 +34019,7 @@ var deployer_default = Deployer;
|
|
|
34003
34019
|
VesuAdapter,
|
|
34004
34020
|
VesuAmountDenomination,
|
|
34005
34021
|
VesuAmountType,
|
|
34022
|
+
VesuPoolMetadata,
|
|
34006
34023
|
VesuPools,
|
|
34007
34024
|
VesuRebalance,
|
|
34008
34025
|
VesuRebalanceStrategies,
|
package/dist/index.mjs
CHANGED
|
@@ -27387,7 +27387,25 @@ var VesuPools = {
|
|
|
27387
27387
|
Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
|
|
27388
27388
|
Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
|
|
27389
27389
|
Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
|
|
27390
|
-
Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5")
|
|
27390
|
+
Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5"),
|
|
27391
|
+
Re7STRK: ContractAddr.from("0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2")
|
|
27392
|
+
};
|
|
27393
|
+
var VesuPoolMetadata = {
|
|
27394
|
+
[VesuPools.Genesis.address]: {
|
|
27395
|
+
name: "Genesis"
|
|
27396
|
+
},
|
|
27397
|
+
[VesuPools.Re7xSTRK.address]: {
|
|
27398
|
+
name: "Re7 xSTRK"
|
|
27399
|
+
},
|
|
27400
|
+
[VesuPools.Re7xBTC.address]: {
|
|
27401
|
+
name: "Re7 xBTC"
|
|
27402
|
+
},
|
|
27403
|
+
[VesuPools.Prime.address]: {
|
|
27404
|
+
name: "Prime"
|
|
27405
|
+
},
|
|
27406
|
+
[VesuPools.Re7STRK.address]: {
|
|
27407
|
+
name: "Re7 STRK"
|
|
27408
|
+
}
|
|
27391
27409
|
};
|
|
27392
27410
|
var extensionMap = {};
|
|
27393
27411
|
extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
|
|
@@ -27772,12 +27790,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
|
|
|
27772
27790
|
amount: collateralAmount,
|
|
27773
27791
|
token: this.config.collateral,
|
|
27774
27792
|
usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
|
|
27775
|
-
remarks:
|
|
27793
|
+
remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
27776
27794
|
}, {
|
|
27777
27795
|
amount: debtAmount,
|
|
27778
27796
|
token: this.config.debt,
|
|
27779
27797
|
usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
|
|
27780
|
-
remarks:
|
|
27798
|
+
remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
27781
27799
|
}];
|
|
27782
27800
|
this.setCache(CACHE_KEY, value, 6e4);
|
|
27783
27801
|
return value;
|
|
@@ -32014,20 +32032,19 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
|
|
|
32014
32032
|
// todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
|
|
32015
32033
|
getVesuAdapters() {
|
|
32016
32034
|
const adapters = [];
|
|
32017
|
-
for (const
|
|
32018
|
-
const
|
|
32019
|
-
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
|
|
32029
|
-
|
|
32030
|
-
}
|
|
32035
|
+
for (const borrowableInfo of this.metadata.additionalInfo.borrowable_assets) {
|
|
32036
|
+
const asset = borrowableInfo.token;
|
|
32037
|
+
const poolId = borrowableInfo.poolId;
|
|
32038
|
+
const vesuAdapter1 = new VesuAdapter({
|
|
32039
|
+
poolId,
|
|
32040
|
+
collateral: this.asset(),
|
|
32041
|
+
debt: asset,
|
|
32042
|
+
vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
|
|
32043
|
+
id: ""
|
|
32044
|
+
});
|
|
32045
|
+
vesuAdapter1.pricer = this.pricer;
|
|
32046
|
+
vesuAdapter1.networkConfig = this.config;
|
|
32047
|
+
adapters.push(vesuAdapter1);
|
|
32031
32048
|
}
|
|
32032
32049
|
return adapters;
|
|
32033
32050
|
}
|
|
@@ -32653,7 +32670,7 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
|
|
|
32653
32670
|
id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
|
|
32654
32671
|
adapter: vesuAdapterLST
|
|
32655
32672
|
}]);
|
|
32656
|
-
const { isV2, addr:
|
|
32673
|
+
const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
|
|
32657
32674
|
const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
|
|
32658
32675
|
const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
|
|
32659
32676
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
|
|
@@ -32663,9 +32680,11 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
|
|
|
32663
32680
|
vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
|
|
32664
32681
|
const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
|
|
32665
32682
|
vaultSettings.leafAdapters.push(vesuAdapterLST.getMultiplyAdapter(multiplID).bind(vesuAdapterLST));
|
|
32683
|
+
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
|
|
32684
|
+
vaultSettings.leafAdapters.push(vesuAdapterLST.getModifyPosition.bind(vesuAdapterLST));
|
|
32666
32685
|
return vesuAdapterLST;
|
|
32667
32686
|
}
|
|
32668
|
-
function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId
|
|
32687
|
+
function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
|
|
32669
32688
|
vaultSettings.leafAdapters = [];
|
|
32670
32689
|
const pool1 = vaultSettings.defaultPoolId;
|
|
32671
32690
|
if (!pool1.eq(defaultPoolId)) {
|
|
@@ -32684,10 +32703,11 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
|
|
|
32684
32703
|
id: "common_adapter" /* COMMON */,
|
|
32685
32704
|
adapter: commonAdapter
|
|
32686
32705
|
}]);
|
|
32687
|
-
|
|
32688
|
-
altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
|
|
32706
|
+
vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
|
|
32689
32707
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
|
|
32690
|
-
|
|
32708
|
+
const uniqueBorrowableAssets = [...new Set(vaultSettings.borrowable_assets.map((borrowableAsset) => borrowableAsset.token.symbol))];
|
|
32709
|
+
for (let borrowableAssetSymbol of uniqueBorrowableAssets) {
|
|
32710
|
+
const borrowableAsset = Global.getDefaultTokens().find((token) => token.symbol === borrowableAssetSymbol);
|
|
32691
32711
|
const debtAsset = borrowableAsset;
|
|
32692
32712
|
const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
|
|
32693
32713
|
const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
|
|
@@ -32695,23 +32715,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
|
|
|
32695
32715
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
|
|
32696
32716
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
|
|
32697
32717
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
|
|
32698
|
-
const vesuAdapter = new VesuAdapter({
|
|
32699
|
-
poolId: pool1,
|
|
32700
|
-
collateral: lstToken,
|
|
32701
|
-
debt: debtAsset,
|
|
32702
|
-
vaultAllocator: vaultSettings.vaultAllocator,
|
|
32703
|
-
id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
|
|
32704
|
-
});
|
|
32705
|
-
const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
|
|
32706
|
-
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
|
|
32707
|
-
vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
|
|
32708
|
-
if (borrowableAsset.address.eq(underlyingToken.address)) {
|
|
32709
|
-
continue;
|
|
32710
|
-
}
|
|
32711
32718
|
}
|
|
32712
32719
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
|
|
32713
32720
|
vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
|
|
32714
|
-
vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
|
|
32715
32721
|
const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
|
|
32716
32722
|
vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
|
|
32717
32723
|
vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
|
|
@@ -32770,7 +32776,7 @@ var _riskFactor4 = [
|
|
|
32770
32776
|
{ type: "Technical Risk" /* TECHNICAL_RISK */, value: 1 /* STABLE_INFRASTRUCTURE */, weight: 25, reason: "Liquidation can only happen if vault is left un-monitored for weeks, which is highly unlikely. We actively monitor all services on a daily basis." },
|
|
32771
32777
|
{ type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
|
|
32772
32778
|
];
|
|
32773
|
-
var
|
|
32779
|
+
var btcBorrowableAssets = [
|
|
32774
32780
|
"WBTC",
|
|
32775
32781
|
"tBTC",
|
|
32776
32782
|
"LBTC",
|
|
@@ -32786,10 +32792,12 @@ var hyperxSTRK = {
|
|
|
32786
32792
|
adapters: [],
|
|
32787
32793
|
targetHealthFactor: 1.1,
|
|
32788
32794
|
minHealthFactor: 1.05,
|
|
32789
|
-
borrowable_assets:
|
|
32795
|
+
borrowable_assets: [
|
|
32796
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7xSTRK })),
|
|
32797
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Prime }))
|
|
32798
|
+
],
|
|
32790
32799
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
|
|
32791
|
-
defaultPoolId: VesuPools.Re7xSTRK
|
|
32792
|
-
altSupportedPoolIds: [VesuPools.Prime]
|
|
32800
|
+
defaultPoolId: VesuPools.Re7xSTRK
|
|
32793
32801
|
};
|
|
32794
32802
|
var hyperxWBTC = {
|
|
32795
32803
|
vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
|
|
@@ -32801,10 +32809,14 @@ var hyperxWBTC = {
|
|
|
32801
32809
|
adapters: [],
|
|
32802
32810
|
targetHealthFactor: 1.1,
|
|
32803
32811
|
minHealthFactor: 1.05,
|
|
32804
|
-
borrowable_assets:
|
|
32812
|
+
borrowable_assets: [
|
|
32813
|
+
// allow all BTC flavours borrowing on Re7xBTC pool
|
|
32814
|
+
...btcBorrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)).map((token) => ({ token, poolId: VesuPools.Re7xBTC })),
|
|
32815
|
+
// allow only WBTC borrowing on Prime pool
|
|
32816
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Prime }))
|
|
32817
|
+
],
|
|
32805
32818
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
|
|
32806
32819
|
defaultPoolId: VesuPools.Re7xBTC,
|
|
32807
|
-
altSupportedPoolIds: [VesuPools.Prime],
|
|
32808
32820
|
redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
|
|
32809
32821
|
};
|
|
32810
32822
|
var hyperxtBTC = {
|
|
@@ -32817,10 +32829,11 @@ var hyperxtBTC = {
|
|
|
32817
32829
|
adapters: [],
|
|
32818
32830
|
targetHealthFactor: 1.1,
|
|
32819
32831
|
minHealthFactor: 1.05,
|
|
32820
|
-
borrowable_assets:
|
|
32832
|
+
borrowable_assets: [
|
|
32833
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32834
|
+
],
|
|
32821
32835
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
|
|
32822
32836
|
defaultPoolId: VesuPools.Re7xBTC,
|
|
32823
|
-
altSupportedPoolIds: [],
|
|
32824
32837
|
redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
|
|
32825
32838
|
};
|
|
32826
32839
|
var hyperxsBTC = {
|
|
@@ -32833,10 +32846,11 @@ var hyperxsBTC = {
|
|
|
32833
32846
|
adapters: [],
|
|
32834
32847
|
targetHealthFactor: 1.1,
|
|
32835
32848
|
minHealthFactor: 1.05,
|
|
32836
|
-
borrowable_assets:
|
|
32849
|
+
borrowable_assets: [
|
|
32850
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32851
|
+
],
|
|
32837
32852
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
|
|
32838
|
-
defaultPoolId: VesuPools.Re7xBTC
|
|
32839
|
-
altSupportedPoolIds: []
|
|
32853
|
+
defaultPoolId: VesuPools.Re7xBTC
|
|
32840
32854
|
};
|
|
32841
32855
|
var hyperxLBTC = {
|
|
32842
32856
|
vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
|
|
@@ -32848,10 +32862,11 @@ var hyperxLBTC = {
|
|
|
32848
32862
|
adapters: [],
|
|
32849
32863
|
targetHealthFactor: 1.1,
|
|
32850
32864
|
minHealthFactor: 1.05,
|
|
32851
|
-
borrowable_assets:
|
|
32865
|
+
borrowable_assets: [
|
|
32866
|
+
...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
|
|
32867
|
+
],
|
|
32852
32868
|
underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
|
|
32853
|
-
defaultPoolId: VesuPools.Re7xBTC
|
|
32854
|
-
altSupportedPoolIds: []
|
|
32869
|
+
defaultPoolId: VesuPools.Re7xBTC
|
|
32855
32870
|
};
|
|
32856
32871
|
function getInvestmentSteps(lstSymbol, underlyingSymbol) {
|
|
32857
32872
|
return [
|
|
@@ -32947,12 +32962,12 @@ var HYPER_LST_REDEMPTION_INFO = {
|
|
|
32947
32962
|
tab: "withdraw"
|
|
32948
32963
|
}]
|
|
32949
32964
|
};
|
|
32950
|
-
function getStrategySettings(lstSymbol, underlyingSymbol,
|
|
32965
|
+
function getStrategySettings(lstSymbol, underlyingSymbol, settings, isPreview = false) {
|
|
32951
32966
|
return {
|
|
32952
32967
|
id: `hyper_${lstSymbol.toLowerCase()}`,
|
|
32953
32968
|
name: `Hyper ${lstSymbol}`,
|
|
32954
32969
|
description: getDescription2(lstSymbol, underlyingSymbol),
|
|
32955
|
-
address:
|
|
32970
|
+
address: settings.vaultAddress,
|
|
32956
32971
|
launchBlock: 0,
|
|
32957
32972
|
type: "Other",
|
|
32958
32973
|
vaultType: {
|
|
@@ -32967,7 +32982,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
|
|
|
32967
32982
|
additionalInfo: getLooperSettings2(
|
|
32968
32983
|
lstSymbol,
|
|
32969
32984
|
underlyingSymbol,
|
|
32970
|
-
|
|
32985
|
+
settings,
|
|
32971
32986
|
lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
|
|
32972
32987
|
),
|
|
32973
32988
|
risk: {
|
|
@@ -32985,7 +33000,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
|
|
|
32985
33000
|
logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
|
|
32986
33001
|
},
|
|
32987
33002
|
settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
|
|
32988
|
-
contractDetails: getContractDetails(
|
|
33003
|
+
contractDetails: getContractDetails(settings),
|
|
32989
33004
|
faqs: getFAQs2(lstSymbol, underlyingSymbol),
|
|
32990
33005
|
investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
|
|
32991
33006
|
isPreview,
|
|
@@ -33873,6 +33888,7 @@ export {
|
|
|
33873
33888
|
VesuAdapter,
|
|
33874
33889
|
VesuAmountDenomination,
|
|
33875
33890
|
VesuAmountType,
|
|
33891
|
+
VesuPoolMetadata,
|
|
33876
33892
|
VesuPools,
|
|
33877
33893
|
VesuRebalance,
|
|
33878
33894
|
VesuRebalanceStrategies,
|
package/package.json
CHANGED
|
@@ -234,6 +234,25 @@ export const VesuPools = {
|
|
|
234
234
|
Re7xSTRK: ContractAddr.from('0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161'),
|
|
235
235
|
Re7xBTC: ContractAddr.from('0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf'),
|
|
236
236
|
Prime: ContractAddr.from('0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5'),
|
|
237
|
+
Re7STRK: ContractAddr.from('0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2'),
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export const VesuPoolMetadata = {
|
|
241
|
+
[VesuPools.Genesis.address]: {
|
|
242
|
+
name: 'Genesis',
|
|
243
|
+
},
|
|
244
|
+
[VesuPools.Re7xSTRK.address]: {
|
|
245
|
+
name: 'Re7 xSTRK',
|
|
246
|
+
},
|
|
247
|
+
[VesuPools.Re7xBTC.address]: {
|
|
248
|
+
name: 'Re7 xBTC',
|
|
249
|
+
},
|
|
250
|
+
[VesuPools.Prime.address]: {
|
|
251
|
+
name: 'Prime',
|
|
252
|
+
},
|
|
253
|
+
[VesuPools.Re7STRK.address]: {
|
|
254
|
+
name: 'Re7 STRK',
|
|
255
|
+
},
|
|
237
256
|
}
|
|
238
257
|
|
|
239
258
|
export const extensionMap: {[key: string]: ContractAddr} = {};
|
|
@@ -654,12 +673,12 @@ export class VesuAdapter extends BaseAdapter {
|
|
|
654
673
|
amount: collateralAmount,
|
|
655
674
|
token: this.config.collateral,
|
|
656
675
|
usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
|
|
657
|
-
remarks:
|
|
676
|
+
remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
658
677
|
}, {
|
|
659
678
|
amount: debtAmount,
|
|
660
679
|
token: this.config.debt,
|
|
661
680
|
usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
|
|
662
|
-
remarks:
|
|
681
|
+
remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
|
|
663
682
|
}];
|
|
664
683
|
this.setCache(CACHE_KEY, value, 60000); // ttl: 1min
|
|
665
684
|
return value;
|