@strkfarm/sdk 1.1.5 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1668,6 +1668,17 @@ const faqs: FAQ[] = [
1668
1668
  },
1669
1669
  ];
1670
1670
 
1671
+ function getLSTFAQs(lstSymbol: string): FAQ[] {
1672
+ return [
1673
+ ...faqs,
1674
+ {
1675
+ question: "Why might I see a negative APY?",
1676
+ answer:
1677
+ `A negative APY can occur when ${lstSymbol}'s price drops on DEXes. This is usually temporary and tends to recover within a few days or a week.`,
1678
+ },
1679
+ ]
1680
+ }
1681
+
1671
1682
  const xSTRKSTRK: IStrategyMetadata<CLVaultStrategySettings> = {
1672
1683
  name: "Ekubo xSTRK/STRK",
1673
1684
  description: <></>,
@@ -1709,14 +1720,7 @@ const xSTRKSTRK: IStrategyMetadata<CLVaultStrategySettings> = {
1709
1720
  },
1710
1721
  quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "STRK")!,
1711
1722
  },
1712
- faqs: [
1713
- ...faqs,
1714
- {
1715
- question: "Why might I see a negative APY?",
1716
- answer:
1717
- "A negative APY can occur when xSTRK's price drops on DEXes. This is usually temporary and tends to recover within a few days or a week.",
1718
- },
1719
- ],
1723
+ faqs: getLSTFAQs("xSTRK"),
1720
1724
  points: [{
1721
1725
  multiplier: 1,
1722
1726
  logo: 'https://endur.fi/favicon.ico',
@@ -1726,6 +1730,79 @@ const xSTRKSTRK: IStrategyMetadata<CLVaultStrategySettings> = {
1726
1730
  investmentSteps: []
1727
1731
  };
1728
1732
 
1733
+ const lstStrategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1734
+ xSTRKSTRK,
1735
+ {
1736
+ ...xSTRKSTRK,
1737
+ name: "Ekubo xWBTC/WBTC",
1738
+ description: <></>,
1739
+ address: ContractAddr.from(
1740
+ "0x2ea99b4971d3c277fa4a9b4beb7d4d7d169e683393a29eef263d5d57b4380a"
1741
+ ),
1742
+ launchBlock: 2338309,
1743
+ // must be same order as poolKey token0 and token1
1744
+ depositTokens: [
1745
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC")!,
1746
+ Global.getDefaultTokens().find((t) => t.symbol === "xWBTC")!,
1747
+ ],
1748
+ additionalInfo: {
1749
+ ...xSTRKSTRK.additionalInfo,
1750
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "WBTC")!,
1751
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xWBTC")!.address,
1752
+ },
1753
+ faqs: getLSTFAQs("xWBTC"),
1754
+ points: [],
1755
+ contractDetails: [],
1756
+ investmentSteps: []
1757
+ },
1758
+ {
1759
+ ...xSTRKSTRK,
1760
+ name: "Ekubo xtBTC/tBTC",
1761
+ description: <></>,
1762
+ address: ContractAddr.from(
1763
+ "0x785dc3dfc4e80ef2690a99512481e3ed3a5266180adda5a47e856245d68a4af"
1764
+ ),
1765
+ launchBlock: 2344809,
1766
+ // must be same order as poolKey token0 and token1
1767
+ depositTokens: [
1768
+ Global.getDefaultTokens().find((t) => t.symbol === "xtBTC")!,
1769
+ Global.getDefaultTokens().find((t) => t.symbol === "tBTC")!,
1770
+ ],
1771
+ additionalInfo: {
1772
+ ...xSTRKSTRK.additionalInfo,
1773
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "tBTC")!,
1774
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xtBTC")!.address,
1775
+ },
1776
+ faqs: getLSTFAQs("xtBTC"),
1777
+ points: [],
1778
+ contractDetails: [],
1779
+ investmentSteps: []
1780
+ },
1781
+ {
1782
+ ...xSTRKSTRK,
1783
+ name: "Ekubo xsBTC/solvBTC",
1784
+ description: <></>,
1785
+ address: ContractAddr.from(
1786
+ "0x3af1c7faa7c464cf2c494e988972ad1939f1103dbfb6e47e9bf0c47e49b14ef"
1787
+ ),
1788
+ launchBlock: 2344809,
1789
+ // must be same order as poolKey token0 and token1
1790
+ depositTokens: [
1791
+ Global.getDefaultTokens().find((t) => t.symbol === "xsBTC")!,
1792
+ Global.getDefaultTokens().find((t) => t.symbol === "solvBTC")!,
1793
+ ],
1794
+ additionalInfo: {
1795
+ ...xSTRKSTRK.additionalInfo,
1796
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "solvBTC")!,
1797
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xsBTC")!.address,
1798
+ },
1799
+ faqs: getLSTFAQs("xsBTC"),
1800
+ points: [],
1801
+ contractDetails: [],
1802
+ investmentSteps: []
1803
+ },
1804
+ ];
1805
+
1729
1806
  const ETHUSDCRe7Strategy: IStrategyMetadata<CLVaultStrategySettings> = {
1730
1807
  ...xSTRKSTRK,
1731
1808
  name: "Ekubo ETH/USDC",
@@ -1733,7 +1810,7 @@ const ETHUSDCRe7Strategy: IStrategyMetadata<CLVaultStrategySettings> = {
1733
1810
  address: ContractAddr.from(
1734
1811
  "0x160d8fa4569ef6a12e6bf47cb943d7b5ebba8a41a69a14c1d943050ba5ff947"
1735
1812
  ),
1736
- launchBlock: 1501761,
1813
+ launchBlock: 1504232,
1737
1814
  // must be same order as poolKey token0 and token1
1738
1815
  depositTokens: [
1739
1816
  Global.getDefaultTokens().find((t) => t.symbol === "ETH")!,
@@ -1773,7 +1850,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1773
1850
  address: ContractAddr.from(
1774
1851
  "0x3a4f8debaf12af97bb911099bc011d63d6c208d4c5ba8e15d7f437785b0aaa2"
1775
1852
  ),
1776
- launchBlock: 1501761,
1853
+ launchBlock: 1506139,
1777
1854
  // must be same order as poolKey token0 and token1
1778
1855
  depositTokens: [
1779
1856
  Global.getDefaultTokens().find((t) => t.symbol === "USDC")!,
@@ -1788,7 +1865,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1788
1865
  address: ContractAddr.from(
1789
1866
  "0x351b36d0d9d8b40010658825adeeddb1397436cd41acd0ff6c6e23aaa8b5b30"
1790
1867
  ),
1791
- launchBlock: 1501762,
1868
+ launchBlock: 1504079,
1792
1869
  // must be same order as poolKey token0 and token1
1793
1870
  depositTokens: [
1794
1871
  Global.getDefaultTokens().find((t) => t.symbol === "STRK")!,
@@ -1803,7 +1880,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1803
1880
  address: ContractAddr.from(
1804
1881
  "0x4ce3024b0ee879009112d7b0e073f8a87153dd35b029347d4247ffe48d28f51"
1805
1882
  ),
1806
- launchBlock: 1501763,
1883
+ launchBlock: 1504149,
1807
1884
  // must be same order as poolKey token0 and token1
1808
1885
  depositTokens: [
1809
1886
  Global.getDefaultTokens().find((t) => t.symbol === "STRK")!,
@@ -1818,7 +1895,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1818
1895
  address: ContractAddr.from(
1819
1896
  "0x2bcaef2eb7706875a5fdc6853dd961a0590f850bc3a031c59887189b5e84ba1"
1820
1897
  ),
1821
- launchBlock: 1501764,
1898
+ launchBlock: 1506144,
1822
1899
  // must be same order as poolKey token0 and token1
1823
1900
  depositTokens: [
1824
1901
  Global.getDefaultTokens().find((t) => t.symbol === "WBTC")!,
@@ -1848,7 +1925,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1848
1925
  address: ContractAddr.from(
1849
1926
  "0x1c9232b8186d9317652f05055615f18a120c2ad9e5ee96c39e031c257fb945b"
1850
1927
  ),
1851
- launchBlock: 1501765,
1928
+ launchBlock: 1506145,
1852
1929
  // must be same order as poolKey token0 and token1
1853
1930
  depositTokens: [
1854
1931
  Global.getDefaultTokens().find((t) => t.symbol === "WBTC")!,
@@ -1863,7 +1940,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1863
1940
  address: ContractAddr.from(
1864
1941
  "0x1248e385c23a929a015ec298a26560fa7745bbd6e41a886550e337b02714b1b"
1865
1942
  ),
1866
- launchBlock: 1501766,
1943
+ launchBlock: 1506147,
1867
1944
  // must be same order as poolKey token0 and token1
1868
1945
  depositTokens: [
1869
1946
  Global.getDefaultTokens().find((t) => t.symbol === "WBTC")!,
@@ -1877,7 +1954,7 @@ const RE7Strategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1877
1954
  * Represents the Ekubo CL Vault Strategies.
1878
1955
  */
1879
1956
  export const EkuboCLVaultStrategies: IStrategyMetadata<CLVaultStrategySettings>[] = [
1880
- xSTRKSTRK,
1957
+ ...[lstStrategies[0]],
1881
1958
  ...RE7Strategies,
1882
1959
  ];
1883
1960
 
@@ -1916,9 +1993,9 @@ EkuboCLVaultStrategies.forEach((s) => {
1916
1993
  <div style={{display: "flex", flexDirection: "column", gap: "10px", color: 'var(--chakra-colors-text_secondary)'}}>
1917
1994
  <p style={{}}>1. During withdrawal, you may receive either or both tokens depending
1918
1995
  on market conditions and prevailing prices.</p>
1919
- {s.name.includes('xSTRK/STRK') && <p style={{}}>
1996
+ {s.additionalInfo.lstContract && <p style={{}}>
1920
1997
  2. Sometimes you might see a negative APY — this is usually not a big
1921
- deal. It happens when xSTRK's price drops on DEXes, but things
1998
+ deal. It happens when {s.name.split(" ")[1].split('/')[0]}'s price drops on DEXes, but things
1922
1999
  typically bounce back within a few days or a week.
1923
2000
  </p>}
1924
2001
  </div>
@@ -10,6 +10,7 @@ import VesuPoolIDs from "@/data/vesu_pools.json";
10
10
  import { getAPIUsingHeadlessBrowser } from "@/node/headless";
11
11
  import { Global } from "@/global";
12
12
  import { VESU_REWARDS_CONTRACT } from "@/modules/harvests";
13
+ import { ENDPOINTS } from "../constants";
13
14
 
14
15
  interface VesuPoolsInfo { pools: any[]; isErrorPoolsAPI: boolean };
15
16
 
@@ -350,7 +351,7 @@ export class VesuAdapter extends BaseAdapter {
350
351
  let pools: any[] = [];
351
352
  try {
352
353
  const data = await getAPIUsingHeadlessBrowser(
353
- "https://api.vesu.xyz/pools"
354
+ `${ENDPOINTS.VESU_BASE}/pools`
354
355
  );
355
356
  pools = data.data;
356
357
 
@@ -27,7 +27,7 @@ import {
27
27
  import { getAPIUsingHeadlessBrowser } from "@/node/headless";
28
28
  import { VesuHarvests } from "@/modules/harvests";
29
29
  import VesuPoolIDs from "@/data/vesu_pools.json";
30
- import { COMMON_CONTRACTS } from "./constants";
30
+ import { COMMON_CONTRACTS, ENDPOINTS } from "./constants";
31
31
 
32
32
  interface PoolProps {
33
33
  pool_id: ContractAddr;
@@ -223,7 +223,7 @@ export class VesuRebalance extends BaseStrategy<
223
223
  }
224
224
 
225
225
  static async getAllPossibleVerifiedPools(asset: ContractAddr) {
226
- const data = await getAPIUsingHeadlessBrowser("https://api.vesu.xyz/pools");
226
+ const data = await getAPIUsingHeadlessBrowser(`${ENDPOINTS.VESU_BASE}/pools`);
227
227
  const verifiedPools = data.data.filter((d: any) => d.isVerified);
228
228
  const pools = verifiedPools
229
229
  .map((p: any) => {
@@ -490,7 +490,7 @@ export class VesuRebalance extends BaseStrategy<
490
490
  let pools: any[] = [];
491
491
  try {
492
492
  const data = await getAPIUsingHeadlessBrowser(
493
- "https://api.vesu.xyz/pools"
493
+ `${ENDPOINTS.VESU_BASE}/pools`
494
494
  );
495
495
  pools = data.data;
496
496