@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.
@@ -27962,6 +27962,7 @@ ${JSON.stringify(data, null, 2)}`;
27962
27962
  VesuAdapter: () => VesuAdapter,
27963
27963
  VesuAmountDenomination: () => VesuAmountDenomination,
27964
27964
  VesuAmountType: () => VesuAmountType,
27965
+ VesuPoolMetadata: () => VesuPoolMetadata,
27965
27966
  VesuPools: () => VesuPools,
27966
27967
  VesuRebalance: () => VesuRebalance,
27967
27968
  VesuRebalanceStrategies: () => VesuRebalanceStrategies,
@@ -114887,7 +114888,25 @@ spurious results.`);
114887
114888
  Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
114888
114889
  Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
114889
114890
  Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
114890
- Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5")
114891
+ Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5"),
114892
+ Re7STRK: ContractAddr.from("0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2")
114893
+ };
114894
+ var VesuPoolMetadata = {
114895
+ [VesuPools.Genesis.address]: {
114896
+ name: "Genesis"
114897
+ },
114898
+ [VesuPools.Re7xSTRK.address]: {
114899
+ name: "Re7 xSTRK"
114900
+ },
114901
+ [VesuPools.Re7xBTC.address]: {
114902
+ name: "Re7 xBTC"
114903
+ },
114904
+ [VesuPools.Prime.address]: {
114905
+ name: "Prime"
114906
+ },
114907
+ [VesuPools.Re7STRK.address]: {
114908
+ name: "Re7 STRK"
114909
+ }
114891
114910
  };
114892
114911
  var extensionMap = {};
114893
114912
  extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
@@ -115272,12 +115291,12 @@ spurious results.`);
115272
115291
  amount: collateralAmount,
115273
115292
  token: this.config.collateral,
115274
115293
  usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
115275
- remarks: "Collateral"
115294
+ remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
115276
115295
  }, {
115277
115296
  amount: debtAmount,
115278
115297
  token: this.config.debt,
115279
115298
  usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
115280
- remarks: "Debt"
115299
+ remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
115281
115300
  }];
115282
115301
  this.setCache(CACHE_KEY, value, 6e4);
115283
115302
  return value;
@@ -119406,20 +119425,19 @@ spurious results.`);
119406
119425
  // todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
119407
119426
  getVesuAdapters() {
119408
119427
  const adapters = [];
119409
- for (const poolId of [this.metadata.additionalInfo.defaultPoolId, ...this.metadata.additionalInfo.altSupportedPoolIds]) {
119410
- const baseAdapter = this.getVesuSameTokenAdapter(poolId);
119411
- for (const asset of this.metadata.additionalInfo.borrowable_assets) {
119412
- const vesuAdapter1 = new VesuAdapter({
119413
- poolId: baseAdapter.config.poolId,
119414
- collateral: this.asset(),
119415
- debt: asset,
119416
- vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
119417
- id: ""
119418
- });
119419
- vesuAdapter1.pricer = this.pricer;
119420
- vesuAdapter1.networkConfig = this.config;
119421
- adapters.push(vesuAdapter1);
119422
- }
119428
+ for (const borrowableInfo of this.metadata.additionalInfo.borrowable_assets) {
119429
+ const asset = borrowableInfo.token;
119430
+ const poolId = borrowableInfo.poolId;
119431
+ const vesuAdapter1 = new VesuAdapter({
119432
+ poolId,
119433
+ collateral: this.asset(),
119434
+ debt: asset,
119435
+ vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
119436
+ id: ""
119437
+ });
119438
+ vesuAdapter1.pricer = this.pricer;
119439
+ vesuAdapter1.networkConfig = this.config;
119440
+ adapters.push(vesuAdapter1);
119423
119441
  }
119424
119442
  return adapters;
119425
119443
  }
@@ -120045,7 +120063,7 @@ spurious results.`);
120045
120063
  id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
120046
120064
  adapter: vesuAdapterLST
120047
120065
  }]);
120048
- const { isV2, addr: _ } = getVesuSingletonAddress(poolId);
120066
+ const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
120049
120067
  const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
120050
120068
  const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
120051
120069
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
@@ -120055,9 +120073,11 @@ spurious results.`);
120055
120073
  vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
120056
120074
  const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
120057
120075
  vaultSettings.leafAdapters.push(vesuAdapterLST.getMultiplyAdapter(multiplID).bind(vesuAdapterLST));
120076
+ vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
120077
+ vaultSettings.leafAdapters.push(vesuAdapterLST.getModifyPosition.bind(vesuAdapterLST));
120058
120078
  return vesuAdapterLST;
120059
120079
  }
120060
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId, altSupportedPoolIds = []) {
120080
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
120061
120081
  vaultSettings.leafAdapters = [];
120062
120082
  const pool1 = vaultSettings.defaultPoolId;
120063
120083
  if (!pool1.eq(defaultPoolId)) {
@@ -120076,10 +120096,11 @@ spurious results.`);
120076
120096
  id: "common_adapter" /* COMMON */,
120077
120097
  adapter: commonAdapter
120078
120098
  }]);
120079
- const vesuAdapterLST = addVesuLeaves(defaultPoolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter);
120080
- altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
120099
+ vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
120081
120100
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
120082
- for (let borrowableAsset of vaultSettings.borrowable_assets) {
120101
+ const uniqueBorrowableAssets = [...new Set(vaultSettings.borrowable_assets.map((borrowableAsset) => borrowableAsset.token.symbol))];
120102
+ for (let borrowableAssetSymbol of uniqueBorrowableAssets) {
120103
+ const borrowableAsset = Global.getDefaultTokens().find((token) => token.symbol === borrowableAssetSymbol);
120083
120104
  const debtAsset = borrowableAsset;
120084
120105
  const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
120085
120106
  const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
@@ -120087,23 +120108,9 @@ spurious results.`);
120087
120108
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
120088
120109
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
120089
120110
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
120090
- const vesuAdapter = new VesuAdapter({
120091
- poolId: pool1,
120092
- collateral: lstToken,
120093
- debt: debtAsset,
120094
- vaultAllocator: vaultSettings.vaultAllocator,
120095
- id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
120096
- });
120097
- const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
120098
- vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
120099
- vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
120100
- if (borrowableAsset.address.eq(underlyingToken.address)) {
120101
- continue;
120102
- }
120103
120111
  }
120104
120112
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
120105
120113
  vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
120106
- vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
120107
120114
  const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
120108
120115
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
120109
120116
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
@@ -120162,7 +120169,7 @@ spurious results.`);
120162
120169
  { 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." },
120163
120170
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
120164
120171
  ];
120165
- var borrowableAssets = [
120172
+ var btcBorrowableAssets = [
120166
120173
  "WBTC",
120167
120174
  "tBTC",
120168
120175
  "LBTC",
@@ -120178,10 +120185,12 @@ spurious results.`);
120178
120185
  adapters: [],
120179
120186
  targetHealthFactor: 1.1,
120180
120187
  minHealthFactor: 1.05,
120181
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "STRK"),
120188
+ borrowable_assets: [
120189
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7xSTRK })),
120190
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Prime }))
120191
+ ],
120182
120192
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
120183
- defaultPoolId: VesuPools.Re7xSTRK,
120184
- altSupportedPoolIds: [VesuPools.Prime]
120193
+ defaultPoolId: VesuPools.Re7xSTRK
120185
120194
  };
120186
120195
  var hyperxWBTC = {
120187
120196
  vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
@@ -120193,10 +120202,14 @@ spurious results.`);
120193
120202
  adapters: [],
120194
120203
  targetHealthFactor: 1.1,
120195
120204
  minHealthFactor: 1.05,
120196
- borrowable_assets: borrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)),
120205
+ borrowable_assets: [
120206
+ // allow all BTC flavours borrowing on Re7xBTC pool
120207
+ ...btcBorrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)).map((token) => ({ token, poolId: VesuPools.Re7xBTC })),
120208
+ // allow only WBTC borrowing on Prime pool
120209
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Prime }))
120210
+ ],
120197
120211
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
120198
120212
  defaultPoolId: VesuPools.Re7xBTC,
120199
- altSupportedPoolIds: [VesuPools.Prime],
120200
120213
  redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
120201
120214
  };
120202
120215
  var hyperxtBTC = {
@@ -120209,10 +120222,11 @@ spurious results.`);
120209
120222
  adapters: [],
120210
120223
  targetHealthFactor: 1.1,
120211
120224
  minHealthFactor: 1.05,
120212
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC"),
120225
+ borrowable_assets: [
120226
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
120227
+ ],
120213
120228
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
120214
120229
  defaultPoolId: VesuPools.Re7xBTC,
120215
- altSupportedPoolIds: [],
120216
120230
  redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
120217
120231
  };
120218
120232
  var hyperxsBTC = {
@@ -120225,10 +120239,11 @@ spurious results.`);
120225
120239
  adapters: [],
120226
120240
  targetHealthFactor: 1.1,
120227
120241
  minHealthFactor: 1.05,
120228
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC"),
120242
+ borrowable_assets: [
120243
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
120244
+ ],
120229
120245
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
120230
- defaultPoolId: VesuPools.Re7xBTC,
120231
- altSupportedPoolIds: []
120246
+ defaultPoolId: VesuPools.Re7xBTC
120232
120247
  };
120233
120248
  var hyperxLBTC = {
120234
120249
  vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
@@ -120240,10 +120255,11 @@ spurious results.`);
120240
120255
  adapters: [],
120241
120256
  targetHealthFactor: 1.1,
120242
120257
  minHealthFactor: 1.05,
120243
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "LBTC"),
120258
+ borrowable_assets: [
120259
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
120260
+ ],
120244
120261
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
120245
- defaultPoolId: VesuPools.Re7xBTC,
120246
- altSupportedPoolIds: []
120262
+ defaultPoolId: VesuPools.Re7xBTC
120247
120263
  };
120248
120264
  function getInvestmentSteps(lstSymbol, underlyingSymbol) {
120249
120265
  return [
@@ -120339,12 +120355,12 @@ spurious results.`);
120339
120355
  tab: "withdraw"
120340
120356
  }]
120341
120357
  };
120342
- function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview = false) {
120358
+ function getStrategySettings(lstSymbol, underlyingSymbol, settings2, isPreview = false) {
120343
120359
  return {
120344
120360
  id: `hyper_${lstSymbol.toLowerCase()}`,
120345
120361
  name: `Hyper ${lstSymbol}`,
120346
120362
  description: getDescription2(lstSymbol, underlyingSymbol),
120347
- address: addresses.vaultAddress,
120363
+ address: settings2.vaultAddress,
120348
120364
  launchBlock: 0,
120349
120365
  type: "Other",
120350
120366
  vaultType: {
@@ -120359,7 +120375,7 @@ spurious results.`);
120359
120375
  additionalInfo: getLooperSettings2(
120360
120376
  lstSymbol,
120361
120377
  underlyingSymbol,
120362
- addresses,
120378
+ settings2,
120363
120379
  lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
120364
120380
  ),
120365
120381
  risk: {
@@ -120377,7 +120393,7 @@ spurious results.`);
120377
120393
  logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
120378
120394
  },
120379
120395
  settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
120380
- contractDetails: getContractDetails(addresses),
120396
+ contractDetails: getContractDetails(settings2),
120381
120397
  faqs: getFAQs2(lstSymbol, underlyingSymbol),
120382
120398
  investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
120383
120399
  isPreview,
@@ -27485,7 +27485,25 @@ var VesuPools = {
27485
27485
  Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
27486
27486
  Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
27487
27487
  Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
27488
- Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5")
27488
+ Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5"),
27489
+ Re7STRK: ContractAddr.from("0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2")
27490
+ };
27491
+ var VesuPoolMetadata = {
27492
+ [VesuPools.Genesis.address]: {
27493
+ name: "Genesis"
27494
+ },
27495
+ [VesuPools.Re7xSTRK.address]: {
27496
+ name: "Re7 xSTRK"
27497
+ },
27498
+ [VesuPools.Re7xBTC.address]: {
27499
+ name: "Re7 xBTC"
27500
+ },
27501
+ [VesuPools.Prime.address]: {
27502
+ name: "Prime"
27503
+ },
27504
+ [VesuPools.Re7STRK.address]: {
27505
+ name: "Re7 STRK"
27506
+ }
27489
27507
  };
27490
27508
  var extensionMap = {};
27491
27509
  extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
@@ -27870,12 +27888,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27870
27888
  amount: collateralAmount,
27871
27889
  token: this.config.collateral,
27872
27890
  usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
27873
- remarks: "Collateral"
27891
+ remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27874
27892
  }, {
27875
27893
  amount: debtAmount,
27876
27894
  token: this.config.debt,
27877
27895
  usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
27878
- remarks: "Debt"
27896
+ remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27879
27897
  }];
27880
27898
  this.setCache(CACHE_KEY, value, 6e4);
27881
27899
  return value;
@@ -32011,20 +32029,19 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
32011
32029
  // todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
32012
32030
  getVesuAdapters() {
32013
32031
  const adapters = [];
32014
- for (const poolId of [this.metadata.additionalInfo.defaultPoolId, ...this.metadata.additionalInfo.altSupportedPoolIds]) {
32015
- const baseAdapter = this.getVesuSameTokenAdapter(poolId);
32016
- for (const asset of this.metadata.additionalInfo.borrowable_assets) {
32017
- const vesuAdapter1 = new VesuAdapter({
32018
- poolId: baseAdapter.config.poolId,
32019
- collateral: this.asset(),
32020
- debt: asset,
32021
- vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
32022
- id: ""
32023
- });
32024
- vesuAdapter1.pricer = this.pricer;
32025
- vesuAdapter1.networkConfig = this.config;
32026
- adapters.push(vesuAdapter1);
32027
- }
32032
+ for (const borrowableInfo of this.metadata.additionalInfo.borrowable_assets) {
32033
+ const asset = borrowableInfo.token;
32034
+ const poolId = borrowableInfo.poolId;
32035
+ const vesuAdapter1 = new VesuAdapter({
32036
+ poolId,
32037
+ collateral: this.asset(),
32038
+ debt: asset,
32039
+ vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
32040
+ id: ""
32041
+ });
32042
+ vesuAdapter1.pricer = this.pricer;
32043
+ vesuAdapter1.networkConfig = this.config;
32044
+ adapters.push(vesuAdapter1);
32028
32045
  }
32029
32046
  return adapters;
32030
32047
  }
@@ -32650,7 +32667,7 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
32650
32667
  id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
32651
32668
  adapter: vesuAdapterLST
32652
32669
  }]);
32653
- const { isV2, addr: _ } = getVesuSingletonAddress(poolId);
32670
+ const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
32654
32671
  const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
32655
32672
  const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
32656
32673
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
@@ -32660,9 +32677,11 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
32660
32677
  vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
32661
32678
  const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
32662
32679
  vaultSettings.leafAdapters.push(vesuAdapterLST.getMultiplyAdapter(multiplID).bind(vesuAdapterLST));
32680
+ vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
32681
+ vaultSettings.leafAdapters.push(vesuAdapterLST.getModifyPosition.bind(vesuAdapterLST));
32663
32682
  return vesuAdapterLST;
32664
32683
  }
32665
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId, altSupportedPoolIds = []) {
32684
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
32666
32685
  vaultSettings.leafAdapters = [];
32667
32686
  const pool1 = vaultSettings.defaultPoolId;
32668
32687
  if (!pool1.eq(defaultPoolId)) {
@@ -32681,10 +32700,11 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32681
32700
  id: "common_adapter" /* COMMON */,
32682
32701
  adapter: commonAdapter
32683
32702
  }]);
32684
- const vesuAdapterLST = addVesuLeaves(defaultPoolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter);
32685
- altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32703
+ vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32686
32704
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
32687
- for (let borrowableAsset of vaultSettings.borrowable_assets) {
32705
+ const uniqueBorrowableAssets = [...new Set(vaultSettings.borrowable_assets.map((borrowableAsset) => borrowableAsset.token.symbol))];
32706
+ for (let borrowableAssetSymbol of uniqueBorrowableAssets) {
32707
+ const borrowableAsset = Global.getDefaultTokens().find((token) => token.symbol === borrowableAssetSymbol);
32688
32708
  const debtAsset = borrowableAsset;
32689
32709
  const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
32690
32710
  const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
@@ -32692,23 +32712,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32692
32712
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
32693
32713
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
32694
32714
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
32695
- const vesuAdapter = new VesuAdapter({
32696
- poolId: pool1,
32697
- collateral: lstToken,
32698
- debt: debtAsset,
32699
- vaultAllocator: vaultSettings.vaultAllocator,
32700
- id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
32701
- });
32702
- const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
32703
- vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
32704
- vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
32705
- if (borrowableAsset.address.eq(underlyingToken.address)) {
32706
- continue;
32707
- }
32708
32715
  }
32709
32716
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
32710
32717
  vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
32711
- vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
32712
32718
  const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
32713
32719
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
32714
32720
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
@@ -32767,7 +32773,7 @@ var _riskFactor4 = [
32767
32773
  { 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." },
32768
32774
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
32769
32775
  ];
32770
- var borrowableAssets = [
32776
+ var btcBorrowableAssets = [
32771
32777
  "WBTC",
32772
32778
  "tBTC",
32773
32779
  "LBTC",
@@ -32783,10 +32789,12 @@ var hyperxSTRK = {
32783
32789
  adapters: [],
32784
32790
  targetHealthFactor: 1.1,
32785
32791
  minHealthFactor: 1.05,
32786
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "STRK"),
32792
+ borrowable_assets: [
32793
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7xSTRK })),
32794
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Prime }))
32795
+ ],
32787
32796
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
32788
- defaultPoolId: VesuPools.Re7xSTRK,
32789
- altSupportedPoolIds: [VesuPools.Prime]
32797
+ defaultPoolId: VesuPools.Re7xSTRK
32790
32798
  };
32791
32799
  var hyperxWBTC = {
32792
32800
  vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
@@ -32798,10 +32806,14 @@ var hyperxWBTC = {
32798
32806
  adapters: [],
32799
32807
  targetHealthFactor: 1.1,
32800
32808
  minHealthFactor: 1.05,
32801
- borrowable_assets: borrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)),
32809
+ borrowable_assets: [
32810
+ // allow all BTC flavours borrowing on Re7xBTC pool
32811
+ ...btcBorrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)).map((token) => ({ token, poolId: VesuPools.Re7xBTC })),
32812
+ // allow only WBTC borrowing on Prime pool
32813
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Prime }))
32814
+ ],
32802
32815
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
32803
32816
  defaultPoolId: VesuPools.Re7xBTC,
32804
- altSupportedPoolIds: [VesuPools.Prime],
32805
32817
  redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
32806
32818
  };
32807
32819
  var hyperxtBTC = {
@@ -32814,10 +32826,11 @@ var hyperxtBTC = {
32814
32826
  adapters: [],
32815
32827
  targetHealthFactor: 1.1,
32816
32828
  minHealthFactor: 1.05,
32817
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC"),
32829
+ borrowable_assets: [
32830
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32831
+ ],
32818
32832
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
32819
32833
  defaultPoolId: VesuPools.Re7xBTC,
32820
- altSupportedPoolIds: [],
32821
32834
  redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
32822
32835
  };
32823
32836
  var hyperxsBTC = {
@@ -32830,10 +32843,11 @@ var hyperxsBTC = {
32830
32843
  adapters: [],
32831
32844
  targetHealthFactor: 1.1,
32832
32845
  minHealthFactor: 1.05,
32833
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC"),
32846
+ borrowable_assets: [
32847
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32848
+ ],
32834
32849
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
32835
- defaultPoolId: VesuPools.Re7xBTC,
32836
- altSupportedPoolIds: []
32850
+ defaultPoolId: VesuPools.Re7xBTC
32837
32851
  };
32838
32852
  var hyperxLBTC = {
32839
32853
  vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
@@ -32845,10 +32859,11 @@ var hyperxLBTC = {
32845
32859
  adapters: [],
32846
32860
  targetHealthFactor: 1.1,
32847
32861
  minHealthFactor: 1.05,
32848
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "LBTC"),
32862
+ borrowable_assets: [
32863
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32864
+ ],
32849
32865
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
32850
- defaultPoolId: VesuPools.Re7xBTC,
32851
- altSupportedPoolIds: []
32866
+ defaultPoolId: VesuPools.Re7xBTC
32852
32867
  };
32853
32868
  function getInvestmentSteps(lstSymbol, underlyingSymbol) {
32854
32869
  return [
@@ -32944,12 +32959,12 @@ var HYPER_LST_REDEMPTION_INFO = {
32944
32959
  tab: "withdraw"
32945
32960
  }]
32946
32961
  };
32947
- function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview = false) {
32962
+ function getStrategySettings(lstSymbol, underlyingSymbol, settings, isPreview = false) {
32948
32963
  return {
32949
32964
  id: `hyper_${lstSymbol.toLowerCase()}`,
32950
32965
  name: `Hyper ${lstSymbol}`,
32951
32966
  description: getDescription2(lstSymbol, underlyingSymbol),
32952
- address: addresses.vaultAddress,
32967
+ address: settings.vaultAddress,
32953
32968
  launchBlock: 0,
32954
32969
  type: "Other",
32955
32970
  vaultType: {
@@ -32964,7 +32979,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32964
32979
  additionalInfo: getLooperSettings2(
32965
32980
  lstSymbol,
32966
32981
  underlyingSymbol,
32967
- addresses,
32982
+ settings,
32968
32983
  lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
32969
32984
  ),
32970
32985
  risk: {
@@ -32982,7 +32997,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32982
32997
  logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
32983
32998
  },
32984
32999
  settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
32985
- contractDetails: getContractDetails(addresses),
33000
+ contractDetails: getContractDetails(settings),
32986
33001
  faqs: getFAQs2(lstSymbol, underlyingSymbol),
32987
33002
  investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
32988
33003
  isPreview,
@@ -33277,6 +33292,7 @@ export {
33277
33292
  VesuAdapter,
33278
33293
  VesuAmountDenomination,
33279
33294
  VesuAmountType,
33295
+ VesuPoolMetadata,
33280
33296
  VesuPools,
33281
33297
  VesuRebalance,
33282
33298
  VesuRebalanceStrategies,
package/dist/index.d.ts CHANGED
@@ -1368,6 +1368,24 @@ declare const VesuPools: {
1368
1368
  Re7xSTRK: ContractAddr;
1369
1369
  Re7xBTC: ContractAddr;
1370
1370
  Prime: ContractAddr;
1371
+ Re7STRK: ContractAddr;
1372
+ };
1373
+ declare const VesuPoolMetadata: {
1374
+ [VesuPools.Genesis.address]: {
1375
+ name: string;
1376
+ };
1377
+ [VesuPools.Re7xSTRK.address]: {
1378
+ name: string;
1379
+ };
1380
+ [VesuPools.Re7xBTC.address]: {
1381
+ name: string;
1382
+ };
1383
+ [VesuPools.Prime.address]: {
1384
+ name: string;
1385
+ };
1386
+ [VesuPools.Re7STRK.address]: {
1387
+ name: string;
1388
+ };
1371
1389
  };
1372
1390
  declare const extensionMap: {
1373
1391
  [key: string]: ContractAddr;
@@ -1641,10 +1659,12 @@ declare function getContractDetails(settings: UniversalStrategySettings): {
1641
1659
  declare const UniversalStrategies: IStrategyMetadata<UniversalStrategySettings>[];
1642
1660
 
1643
1661
  interface HyperLSTStrategySettings extends UniversalStrategySettings {
1644
- borrowable_assets: TokenInfo[];
1662
+ borrowable_assets: {
1663
+ token: TokenInfo;
1664
+ poolId: ContractAddr;
1665
+ }[];
1645
1666
  underlyingToken: TokenInfo;
1646
1667
  defaultPoolId: ContractAddr;
1647
- altSupportedPoolIds: ContractAddr[];
1648
1668
  }
1649
1669
  declare class UniversalLstMultiplierStrategy extends UniversalStrategy<HyperLSTStrategySettings> {
1650
1670
  private quoteAmountToFetchPrice;
@@ -2113,4 +2133,4 @@ declare class PasswordJsonCryptoUtil {
2113
2133
  decrypt(encryptedData: string, password: string): any;
2114
2134
  }
2115
2135
 
2116
- export { APYType, AUMTypes, AVNU_EXCHANGE, AVNU_MIDDLEWARE, type AccessControlInfo, AccessControlType, type AccountInfo, type AdapterLeafType, type AllAccountsStore, type AmountInfo, type AmountsInfo, type ApproveCallParams, AuditStatus, AutoCompounderSTRK, type AvnuSwapCallParams, AvnuWrapper, BaseAdapter, type BaseAdapterConfig, BaseStrategy, type CLVaultStrategySettings, CommonAdapter, type CommonAdapterConfig, ContractAddr, type DecreaseLeverParams, Deployer, type DualActionAmount, type DualTokenInfo, ERC20, type EkuboBounds, EkuboCLVault, EkuboCLVaultStrategies, type EkuboPoolKey, type EkuboQuote, EkuboQuoter, type EkuboRouteNode, type EkuboSplit, type FAQ, FactoryStrategyType, FatalError, type FilterOption, type FlashloanCallParams, FlowChartColors, type GenerateCallFn, Global, HyperLSTStrategies, type HyperLSTStrategySettings, type IConfig, type IInvestmentFlow, ILending, type ILendingMetadata, type ILendingPosition, type IProtocol, type IStrategyMetadata, type IncreaseLeverParams, Initializable, InstantWithdrawalVault, LSTAPRService, type LSTStats, type LeafAdapterFn, type LeafData, type LendingToken, type ManageCall, MarginType, MyNumber, type NetAPYDetails, type NetAPYSplit, Network, PRICE_ROUTER, PasswordJsonCryptoUtil, type PositionAPY, type PositionInfo, Pragma, type PriceInfo, Pricer, PricerFromApi, PricerLST, PricerRedis, Protocols, type RedemptionInfo, type RequiredFields, type RequiredKeys, type RequiredStoreConfig, type RiskFactor, RiskType, type Route, type RouteNode, SIMPLE_SANITIZER, SIMPLE_SANITIZER_V2, SIMPLE_SANITIZER_VESU_V1_DELEGATIONS, type SecurityMetadata, SenseiStrategies, SenseiVault, type SenseiVaultSettings, type SingleActionAmount, type SingleTokenInfo, type SourceCodeInfo, SourceCodeType, StandardMerkleTree, type StandardMerkleTreeData, Store, type StoreConfig, type StrategyAlert, type StrategyCapabilities, type StrategyFilterMetadata, StrategyLiveStatus, type StrategyMetadata, type StrategyRegistryEntry, type StrategySettings, StrategyTag, StrategyType, type SupportedPosition, type Swap, type SwapInfo, TelegramGroupNotif, TelegramNotif, type TokenAmount, type TokenInfo, UNIVERSAL_ADAPTERS, UNIVERSAL_MANAGE_IDS, UniversalLstMultiplierStrategy, type UniversalManageCall, UniversalStrategies, UniversalStrategy, type UniversalStrategySettings, VESU_SINGLETON, VESU_V2_MODIFY_POSITION_SANITIZER, type VaultPosition, VaultType, VesuAdapter, type VesuAdapterConfig, type VesuAmount, VesuAmountDenomination, VesuAmountType, type VesuDefiSpringRewardsCallParams, type VesuModifyDelegationCallParams, type VesuModifyPositionCallParams, type VesuMultiplyCallParams, VesuPools, VesuRebalance, type VesuRebalanceSettings, VesuRebalanceStrategies, Web3Number, ZkLend, assert, buildStrategyRegistry, createEkuboCLStrategy, createHyperLSTStrategy, createSenseiStrategy, createStrategy, createUniversalStrategy, createVesuRebalanceStrategy, detectCapabilities, extensionMap, getAPIUsingHeadlessBrowser, getAllStrategyMetadata, getAllStrategyTags, getContractDetails, getDefaultStoreConfig, getFilterMetadata, getLiveStrategies, getMainnetConfig, getNoRiskTags, getRiskColor, getRiskExplaination, getStrategiesByType, getStrategyTagDesciption, getStrategyTypeFromMetadata, getTrovesEndpoint, getVesuSingletonAddress, highlightTextWithLinks, type i257, isDualTokenStrategy, logger, toAmountsInfo, toBigInt };
2136
+ export { APYType, AUMTypes, AVNU_EXCHANGE, AVNU_MIDDLEWARE, type AccessControlInfo, AccessControlType, type AccountInfo, type AdapterLeafType, type AllAccountsStore, type AmountInfo, type AmountsInfo, type ApproveCallParams, AuditStatus, AutoCompounderSTRK, type AvnuSwapCallParams, AvnuWrapper, BaseAdapter, type BaseAdapterConfig, BaseStrategy, type CLVaultStrategySettings, CommonAdapter, type CommonAdapterConfig, ContractAddr, type DecreaseLeverParams, Deployer, type DualActionAmount, type DualTokenInfo, ERC20, type EkuboBounds, EkuboCLVault, EkuboCLVaultStrategies, type EkuboPoolKey, type EkuboQuote, EkuboQuoter, type EkuboRouteNode, type EkuboSplit, type FAQ, FactoryStrategyType, FatalError, type FilterOption, type FlashloanCallParams, FlowChartColors, type GenerateCallFn, Global, HyperLSTStrategies, type HyperLSTStrategySettings, type IConfig, type IInvestmentFlow, ILending, type ILendingMetadata, type ILendingPosition, type IProtocol, type IStrategyMetadata, type IncreaseLeverParams, Initializable, InstantWithdrawalVault, LSTAPRService, type LSTStats, type LeafAdapterFn, type LeafData, type LendingToken, type ManageCall, MarginType, MyNumber, type NetAPYDetails, type NetAPYSplit, Network, PRICE_ROUTER, PasswordJsonCryptoUtil, type PositionAPY, type PositionInfo, Pragma, type PriceInfo, Pricer, PricerFromApi, PricerLST, PricerRedis, Protocols, type RedemptionInfo, type RequiredFields, type RequiredKeys, type RequiredStoreConfig, type RiskFactor, RiskType, type Route, type RouteNode, SIMPLE_SANITIZER, SIMPLE_SANITIZER_V2, SIMPLE_SANITIZER_VESU_V1_DELEGATIONS, type SecurityMetadata, SenseiStrategies, SenseiVault, type SenseiVaultSettings, type SingleActionAmount, type SingleTokenInfo, type SourceCodeInfo, SourceCodeType, StandardMerkleTree, type StandardMerkleTreeData, Store, type StoreConfig, type StrategyAlert, type StrategyCapabilities, type StrategyFilterMetadata, StrategyLiveStatus, type StrategyMetadata, type StrategyRegistryEntry, type StrategySettings, StrategyTag, StrategyType, type SupportedPosition, type Swap, type SwapInfo, TelegramGroupNotif, TelegramNotif, type TokenAmount, type TokenInfo, UNIVERSAL_ADAPTERS, UNIVERSAL_MANAGE_IDS, UniversalLstMultiplierStrategy, type UniversalManageCall, UniversalStrategies, UniversalStrategy, type UniversalStrategySettings, VESU_SINGLETON, VESU_V2_MODIFY_POSITION_SANITIZER, type VaultPosition, VaultType, VesuAdapter, type VesuAdapterConfig, type VesuAmount, VesuAmountDenomination, VesuAmountType, type VesuDefiSpringRewardsCallParams, type VesuModifyDelegationCallParams, type VesuModifyPositionCallParams, type VesuMultiplyCallParams, VesuPoolMetadata, VesuPools, VesuRebalance, type VesuRebalanceSettings, VesuRebalanceStrategies, Web3Number, ZkLend, assert, buildStrategyRegistry, createEkuboCLStrategy, createHyperLSTStrategy, createSenseiStrategy, createStrategy, createUniversalStrategy, createVesuRebalanceStrategy, detectCapabilities, extensionMap, getAPIUsingHeadlessBrowser, getAllStrategyMetadata, getAllStrategyTags, getContractDetails, getDefaultStoreConfig, getFilterMetadata, getLiveStrategies, getMainnetConfig, getNoRiskTags, getRiskColor, getRiskExplaination, getStrategiesByType, getStrategyTagDesciption, getStrategyTypeFromMetadata, getTrovesEndpoint, getVesuSingletonAddress, highlightTextWithLinks, type i257, isDualTokenStrategy, logger, toAmountsInfo, toBigInt };