@strkfarm/sdk 2.0.0-staging.15 → 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.mjs CHANGED
@@ -11083,7 +11083,9 @@ var createVesuRebalanceStrategy = (idSymbol, name, tokenSymbol, address) => ({
11083
11083
  investmentSteps: [],
11084
11084
  tags: [],
11085
11085
  security: VESU_SECURITY,
11086
- redemptionInfo: VESU_REDEMPTION_INFO
11086
+ redemptionInfo: VESU_REDEMPTION_INFO,
11087
+ usualTimeToEarnings: null,
11088
+ usualTimeToEarningsDescription: null
11087
11089
  });
11088
11090
  var VESU_SECURITY = {
11089
11091
  auditStatus: "Audited" /* AUDITED */,
@@ -17860,7 +17862,9 @@ var xSTRKSTRK = {
17860
17862
  instantWithdrawalVault: "Yes" /* YES */,
17861
17863
  redemptionsInfo: [],
17862
17864
  alerts: []
17863
- }
17865
+ },
17866
+ usualTimeToEarnings: null,
17867
+ usualTimeToEarningsDescription: null
17864
17868
  };
17865
17869
  var getLSTAlerts = () => [
17866
17870
  {
@@ -27383,7 +27387,25 @@ var VesuPools = {
27383
27387
  Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
27384
27388
  Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
27385
27389
  Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
27386
- 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
+ }
27387
27409
  };
27388
27410
  var extensionMap = {};
27389
27411
  extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
@@ -27768,12 +27790,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27768
27790
  amount: collateralAmount,
27769
27791
  token: this.config.collateral,
27770
27792
  usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
27771
- remarks: "Collateral"
27793
+ remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27772
27794
  }, {
27773
27795
  amount: debtAmount,
27774
27796
  token: this.config.debt,
27775
27797
  usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
27776
- remarks: "Debt"
27798
+ remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27777
27799
  }];
27778
27800
  this.setCache(CACHE_KEY, value, 6e4);
27779
27801
  return value;
@@ -28444,6 +28466,8 @@ var SenseiStrategies = [
28444
28466
  redemptionsInfo: [],
28445
28467
  alerts: []
28446
28468
  },
28469
+ usualTimeToEarnings: "2 weeks",
28470
+ usualTimeToEarningsDescription: "Strategy returns depend on LST price on DEXes. Even though the true price of LST on Endur increases continuously, the DEX price may lag sometimes, and historically is seen to rebase at least once every 2 hours. This is when you realise your earnings.",
28447
28471
  points: [{
28448
28472
  multiplier: 4,
28449
28473
  logo: "https://endur.fi/favicon.ico",
@@ -31840,7 +31864,7 @@ var EVERGREEN_SECURITY = {
31840
31864
  var EVERGREEN_REDEMPTION_INFO = {
31841
31865
  instantWithdrawalVault: "No" /* NO */,
31842
31866
  redemptionsInfo: [{
31843
- title: "Usual time",
31867
+ title: "Typical Duration",
31844
31868
  description: "1-2 hours"
31845
31869
  }],
31846
31870
  alerts: [{
@@ -31883,7 +31907,9 @@ var createUniversalStrategy = (params) => ({
31883
31907
  investmentSteps,
31884
31908
  tags: params.tags,
31885
31909
  security: EVERGREEN_SECURITY,
31886
- redemptionInfo: EVERGREEN_REDEMPTION_INFO
31910
+ redemptionInfo: EVERGREEN_REDEMPTION_INFO,
31911
+ usualTimeToEarnings: null,
31912
+ usualTimeToEarningsDescription: null
31887
31913
  });
31888
31914
  var UniversalStrategies = [
31889
31915
  createUniversalStrategy({
@@ -32006,20 +32032,19 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
32006
32032
  // todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
32007
32033
  getVesuAdapters() {
32008
32034
  const adapters = [];
32009
- for (const poolId of [this.metadata.additionalInfo.defaultPoolId, ...this.metadata.additionalInfo.altSupportedPoolIds]) {
32010
- const baseAdapter = this.getVesuSameTokenAdapter(poolId);
32011
- for (const asset of this.metadata.additionalInfo.borrowable_assets) {
32012
- const vesuAdapter1 = new VesuAdapter({
32013
- poolId: baseAdapter.config.poolId,
32014
- collateral: this.asset(),
32015
- debt: asset,
32016
- vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
32017
- id: ""
32018
- });
32019
- vesuAdapter1.pricer = this.pricer;
32020
- vesuAdapter1.networkConfig = this.config;
32021
- adapters.push(vesuAdapter1);
32022
- }
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);
32023
32048
  }
32024
32049
  return adapters;
32025
32050
  }
@@ -32645,7 +32670,7 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
32645
32670
  id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
32646
32671
  adapter: vesuAdapterLST
32647
32672
  }]);
32648
- const { isV2, addr: _ } = getVesuSingletonAddress(poolId);
32673
+ const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
32649
32674
  const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
32650
32675
  const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
32651
32676
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
@@ -32655,9 +32680,11 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
32655
32680
  vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
32656
32681
  const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
32657
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));
32658
32685
  return vesuAdapterLST;
32659
32686
  }
32660
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId, altSupportedPoolIds = []) {
32687
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
32661
32688
  vaultSettings.leafAdapters = [];
32662
32689
  const pool1 = vaultSettings.defaultPoolId;
32663
32690
  if (!pool1.eq(defaultPoolId)) {
@@ -32676,10 +32703,11 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32676
32703
  id: "common_adapter" /* COMMON */,
32677
32704
  adapter: commonAdapter
32678
32705
  }]);
32679
- const vesuAdapterLST = addVesuLeaves(defaultPoolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter);
32680
- altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32706
+ vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32681
32707
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
32682
- for (let borrowableAsset of vaultSettings.borrowable_assets) {
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);
32683
32711
  const debtAsset = borrowableAsset;
32684
32712
  const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
32685
32713
  const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
@@ -32687,23 +32715,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32687
32715
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
32688
32716
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
32689
32717
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
32690
- const vesuAdapter = new VesuAdapter({
32691
- poolId: pool1,
32692
- collateral: lstToken,
32693
- debt: debtAsset,
32694
- vaultAllocator: vaultSettings.vaultAllocator,
32695
- id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
32696
- });
32697
- const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
32698
- vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
32699
- vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
32700
- if (borrowableAsset.address.eq(underlyingToken.address)) {
32701
- continue;
32702
- }
32703
32718
  }
32704
32719
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
32705
32720
  vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
32706
- vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
32707
32721
  const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
32708
32722
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
32709
32723
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
@@ -32762,7 +32776,7 @@ var _riskFactor4 = [
32762
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." },
32763
32777
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
32764
32778
  ];
32765
- var borrowableAssets = [
32779
+ var btcBorrowableAssets = [
32766
32780
  "WBTC",
32767
32781
  "tBTC",
32768
32782
  "LBTC",
@@ -32778,10 +32792,12 @@ var hyperxSTRK = {
32778
32792
  adapters: [],
32779
32793
  targetHealthFactor: 1.1,
32780
32794
  minHealthFactor: 1.05,
32781
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "STRK"),
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
+ ],
32782
32799
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
32783
- defaultPoolId: VesuPools.Re7xSTRK,
32784
- altSupportedPoolIds: [VesuPools.Prime]
32800
+ defaultPoolId: VesuPools.Re7xSTRK
32785
32801
  };
32786
32802
  var hyperxWBTC = {
32787
32803
  vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
@@ -32793,10 +32809,14 @@ var hyperxWBTC = {
32793
32809
  adapters: [],
32794
32810
  targetHealthFactor: 1.1,
32795
32811
  minHealthFactor: 1.05,
32796
- borrowable_assets: borrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)),
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
+ ],
32797
32818
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
32798
32819
  defaultPoolId: VesuPools.Re7xBTC,
32799
- altSupportedPoolIds: [VesuPools.Prime],
32800
32820
  redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
32801
32821
  };
32802
32822
  var hyperxtBTC = {
@@ -32809,10 +32829,11 @@ var hyperxtBTC = {
32809
32829
  adapters: [],
32810
32830
  targetHealthFactor: 1.1,
32811
32831
  minHealthFactor: 1.05,
32812
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC"),
32832
+ borrowable_assets: [
32833
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32834
+ ],
32813
32835
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
32814
32836
  defaultPoolId: VesuPools.Re7xBTC,
32815
- altSupportedPoolIds: [],
32816
32837
  redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
32817
32838
  };
32818
32839
  var hyperxsBTC = {
@@ -32825,10 +32846,11 @@ var hyperxsBTC = {
32825
32846
  adapters: [],
32826
32847
  targetHealthFactor: 1.1,
32827
32848
  minHealthFactor: 1.05,
32828
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC"),
32849
+ borrowable_assets: [
32850
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32851
+ ],
32829
32852
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
32830
- defaultPoolId: VesuPools.Re7xBTC,
32831
- altSupportedPoolIds: []
32853
+ defaultPoolId: VesuPools.Re7xBTC
32832
32854
  };
32833
32855
  var hyperxLBTC = {
32834
32856
  vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
@@ -32840,10 +32862,11 @@ var hyperxLBTC = {
32840
32862
  adapters: [],
32841
32863
  targetHealthFactor: 1.1,
32842
32864
  minHealthFactor: 1.05,
32843
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "LBTC"),
32865
+ borrowable_assets: [
32866
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32867
+ ],
32844
32868
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
32845
- defaultPoolId: VesuPools.Re7xBTC,
32846
- altSupportedPoolIds: []
32869
+ defaultPoolId: VesuPools.Re7xBTC
32847
32870
  };
32848
32871
  function getInvestmentSteps(lstSymbol, underlyingSymbol) {
32849
32872
  return [
@@ -32930,7 +32953,7 @@ var HYPER_LST_SECURITY = {
32930
32953
  var HYPER_LST_REDEMPTION_INFO = {
32931
32954
  instantWithdrawalVault: "No" /* NO */,
32932
32955
  redemptionsInfo: [{
32933
- title: "Usual time",
32956
+ title: "Typical Duration",
32934
32957
  description: "1-2 hours"
32935
32958
  }],
32936
32959
  alerts: [{
@@ -32939,12 +32962,12 @@ var HYPER_LST_REDEMPTION_INFO = {
32939
32962
  tab: "withdraw"
32940
32963
  }]
32941
32964
  };
32942
- function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview = false) {
32965
+ function getStrategySettings(lstSymbol, underlyingSymbol, settings, isPreview = false) {
32943
32966
  return {
32944
32967
  id: `hyper_${lstSymbol.toLowerCase()}`,
32945
32968
  name: `Hyper ${lstSymbol}`,
32946
32969
  description: getDescription2(lstSymbol, underlyingSymbol),
32947
- address: addresses.vaultAddress,
32970
+ address: settings.vaultAddress,
32948
32971
  launchBlock: 0,
32949
32972
  type: "Other",
32950
32973
  vaultType: {
@@ -32959,7 +32982,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32959
32982
  additionalInfo: getLooperSettings2(
32960
32983
  lstSymbol,
32961
32984
  underlyingSymbol,
32962
- addresses,
32985
+ settings,
32963
32986
  lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
32964
32987
  ),
32965
32988
  risk: {
@@ -32977,7 +33000,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32977
33000
  logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
32978
33001
  },
32979
33002
  settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
32980
- contractDetails: getContractDetails(addresses),
33003
+ contractDetails: getContractDetails(settings),
32981
33004
  faqs: getFAQs2(lstSymbol, underlyingSymbol),
32982
33005
  investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
32983
33006
  isPreview,
@@ -32985,6 +33008,8 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32985
33008
  tags: lstSymbol.includes("BTC") ? ["BTC" /* BTC */, "Maxx" /* LEVERED */] : ["Maxx" /* LEVERED */],
32986
33009
  security: HYPER_LST_SECURITY,
32987
33010
  redemptionInfo: HYPER_LST_REDEMPTION_INFO,
33011
+ usualTimeToEarnings: "2 weeks",
33012
+ usualTimeToEarningsDescription: "Strategy returns depend on LST price on DEXes. Even though the true price of LST on Endur increases continuously, the DEX price may lag sometimes, and historically is seen to rebase at least once every 2 hours. This is when you realise your earnings.",
32988
33013
  points: [{
32989
33014
  multiplier: 4,
32990
33015
  logo: "https://endur.fi/favicon.ico",
@@ -33863,6 +33888,7 @@ export {
33863
33888
  VesuAdapter,
33864
33889
  VesuAmountDenomination,
33865
33890
  VesuAmountType,
33891
+ VesuPoolMetadata,
33866
33892
  VesuPools,
33867
33893
  VesuRebalance,
33868
33894
  VesuRebalanceStrategies,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strkfarm/sdk",
3
- "version": "2.0.0-staging.15",
3
+ "version": "2.0.0-staging.18",
4
4
  "description": "STRKFarm TS SDK (Meant for our internal use, but feel free to use it)",
5
5
  "typings": "dist/index.d.ts",
6
6
  "types": "dist/index.d.ts",
@@ -201,6 +201,8 @@ export interface IStrategyMetadata<T> {
201
201
  tags?: StrategyTag[];
202
202
  security: SecurityMetadata;
203
203
  redemptionInfo: RedemptionInfo;
204
+ usualTimeToEarnings: null | string; // e.g. "2 weeks" // some strats grow like step functions
205
+ usualTimeToEarningsDescription: null | string; // e.g. "LSTs price on DEX goes up roughly every 2 weeks"
204
206
  settings?: StrategySettings;
205
207
  // Legacy field for multi-step strategies (deprecated, use investmentFlows instead)
206
208
  actions?: Array<{
@@ -2431,6 +2431,8 @@ const xSTRKSTRK: IStrategyMetadata<CLVaultStrategySettings> = {
2431
2431
  redemptionsInfo: [],
2432
2432
  alerts: [],
2433
2433
  },
2434
+ usualTimeToEarnings: null,
2435
+ usualTimeToEarningsDescription: null,
2434
2436
  };
2435
2437
 
2436
2438
  // Helper to create common LST alerts
@@ -646,6 +646,8 @@ export const SenseiStrategies: IStrategyMetadata<SenseiVaultSettings>[] =
646
646
  redemptionsInfo: [],
647
647
  alerts: [],
648
648
  },
649
+ usualTimeToEarnings: "2 weeks",
650
+ usualTimeToEarningsDescription: "Strategy returns depend on LST price on DEXes. Even though the true price of LST on Endur increases continuously, the DEX price may lag sometimes, and historically is seen to rebase at least once every 2 hours. This is when you realise your earnings.",
649
651
  points: [{
650
652
  multiplier: 4,
651
653
  logo: 'https://endur.fi/favicon.ico',
@@ -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: "Collateral"
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: "Debt"
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;