@nexusmutual/sdk 0.2.2 → 0.2.3

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.js CHANGED
@@ -1768,7 +1768,127 @@ var product_types_default = [
1768
1768
  ];
1769
1769
 
1770
1770
  // generated/logos/types.ts
1771
- var allLogoFileNames = ["zerox.svg", "oneinch.svg", "aavev2.svg", "abracadabra.svg", "alchemix.svg", "anchor.svg", "angle.svg", "argent.svg", "aura.svg", "babylon.svg", "badgerdao.svg", "balancer.svg", "bancor.svg", "bancor.svg", "beefy.svg", "binance.svg", "blockFi.svg", "gelt.svg", "centrifuge.svg", "coinbase.svg", "compoundv2.svg", "convex.svg", "convex.svg", "convex.svg", "crypto-com.svg", "curve.svg", "curve.svg", "curve.svg", "dydx.svg", "ease.svg", "enzyme.svg", "enzyme.svg", "eth.svg", "euler.svg", "fodl.svg", "ftx.svg", "gearbox.svg", "gemini.svg", "gmx.svg", "goldfinch.svg", "hodlnaut.svg", "kraken.svg", "ledn.svg", "liquidcollective.svg", "liquity.svg", "makerdao.svg", "mstable.svg", "nested.svg", "nexo.svg", "notional-finance.svg", "olympusdao.svg", "opyn.png", "originusd.svg", "pangolin.svg", "perpetual.svg", "pooltogether.svg", "premia.svg", "rari.svg", "reflexer.png", "ribbon.svg", "gnosis-safe.svg", "tokensets.svg", "tokensets.svg", "sherlock.svg", "stakedao.svg", "stakewise.svg", "stakewise.svg", "sushiswap.svg", "synthetix.svg", "thorchain.svg", "trader-joe.svg", "uniswapv2.svg", "uniswapv2.svg", "vector.svg", "vesper.svg", "yearn.svg", "yearn.svg", "yeti.png", "yield-app.svg", "alpaca.svg", "wefi.png", "exactly.svg", "etherfi.png", "squeeth-by-opyn.png", "rage-trade.svg", "sentiment.png", "lyra.svg", "perennial.jpeg", "liquify.svg", "lyra.svg", "buffer-finance.svg", "hook.jpeg", "holyheld.jpeg", "union-finance.svg", "openq.png", "level-finance.png", "offramp.png", "aavev3.svg", "morpho.svg", "chorusone.svg", "kiln.svg", "vertex.svg", "the-retail-mutual.png", "figment.svg", "teller.svg", "ajna.svg", "eigenlayer.png", "vox.png", "mahalend.svg", "self.svg", "scallop.svg", "wefi.png", "zktsunami.svg", "hats.svg", "makerdao-dsr.svg", "spark-lending.svg", "defi-edge.svg", "stakewisev3.svg", "compoundv3.svg"];
1771
+ var allLogoFileNames = [
1772
+ "zerox.svg",
1773
+ "oneinch.svg",
1774
+ "aavev2.svg",
1775
+ "abracadabra.svg",
1776
+ "alchemix.svg",
1777
+ "anchor.svg",
1778
+ "angle.svg",
1779
+ "argent.svg",
1780
+ "aura.svg",
1781
+ "babylon.svg",
1782
+ "badgerdao.svg",
1783
+ "balancer.svg",
1784
+ "bancor.svg",
1785
+ "bancor.svg",
1786
+ "beefy.svg",
1787
+ "binance.svg",
1788
+ "blockFi.svg",
1789
+ "gelt.svg",
1790
+ "centrifuge.svg",
1791
+ "coinbase.svg",
1792
+ "compoundv2.svg",
1793
+ "convex.svg",
1794
+ "convex.svg",
1795
+ "convex.svg",
1796
+ "crypto-com.svg",
1797
+ "curve.svg",
1798
+ "curve.svg",
1799
+ "curve.svg",
1800
+ "dydx.svg",
1801
+ "ease.svg",
1802
+ "enzyme.svg",
1803
+ "enzyme.svg",
1804
+ "eth.svg",
1805
+ "euler.svg",
1806
+ "fodl.svg",
1807
+ "ftx.svg",
1808
+ "gearbox.svg",
1809
+ "gemini.svg",
1810
+ "gmx.svg",
1811
+ "goldfinch.svg",
1812
+ "hodlnaut.svg",
1813
+ "kraken.svg",
1814
+ "ledn.svg",
1815
+ "liquidcollective.svg",
1816
+ "liquity.svg",
1817
+ "makerdao.svg",
1818
+ "mstable.svg",
1819
+ "nested.svg",
1820
+ "nexo.svg",
1821
+ "notional-finance.svg",
1822
+ "olympusdao.svg",
1823
+ "opyn.png",
1824
+ "originusd.svg",
1825
+ "pangolin.svg",
1826
+ "perpetual.svg",
1827
+ "pooltogether.svg",
1828
+ "premia.svg",
1829
+ "rari.svg",
1830
+ "reflexer.png",
1831
+ "ribbon.svg",
1832
+ "gnosis-safe.svg",
1833
+ "tokensets.svg",
1834
+ "tokensets.svg",
1835
+ "sherlock.svg",
1836
+ "stakedao.svg",
1837
+ "stakewise.svg",
1838
+ "stakewise.svg",
1839
+ "sushiswap.svg",
1840
+ "synthetix.svg",
1841
+ "thorchain.svg",
1842
+ "trader-joe.svg",
1843
+ "uniswapv2.svg",
1844
+ "uniswapv2.svg",
1845
+ "vector.svg",
1846
+ "vesper.svg",
1847
+ "yearn.svg",
1848
+ "yearn.svg",
1849
+ "yeti.png",
1850
+ "yield-app.svg",
1851
+ "alpaca.svg",
1852
+ "wefi.png",
1853
+ "exactly.svg",
1854
+ "etherfi.png",
1855
+ "squeeth-by-opyn.png",
1856
+ "rage-trade.svg",
1857
+ "sentiment.png",
1858
+ "lyra.svg",
1859
+ "perennial.jpeg",
1860
+ "liquify.svg",
1861
+ "lyra.svg",
1862
+ "buffer-finance.svg",
1863
+ "hook.jpeg",
1864
+ "holyheld.jpeg",
1865
+ "union-finance.svg",
1866
+ "openq.png",
1867
+ "level-finance.png",
1868
+ "offramp.png",
1869
+ "aavev3.svg",
1870
+ "morpho.svg",
1871
+ "chorusone.svg",
1872
+ "kiln.svg",
1873
+ "vertex.svg",
1874
+ "the-retail-mutual.png",
1875
+ "figment.svg",
1876
+ "teller.svg",
1877
+ "ajna.svg",
1878
+ "eigenlayer.png",
1879
+ "vox.png",
1880
+ "mahalend.svg",
1881
+ "self.svg",
1882
+ "scallop.svg",
1883
+ "wefi.png",
1884
+ "zktsunami.svg",
1885
+ "hats.svg",
1886
+ "makerdao-dsr.svg",
1887
+ "spark-lending.svg",
1888
+ "defi-edge.svg",
1889
+ "stakewisev3.svg",
1890
+ "compoundv3.svg"
1891
+ ];
1772
1892
 
1773
1893
  // src/swap/calculateExactNxmForEth.ts
1774
1894
  var calculateExactNxmForEth = (ethIn, reserves) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/logos/types.ts","../src/swap/calculateExactNxmForEth.ts","../src/swap/calculateExactEthForNxm.ts","../src/swap/calculateNxmForExactEth.ts","../src/swap/calculateEthForExactNxm.ts","../src/swap/calculateSpotPrice.ts","../src/swap/calculatePriceImpactA.ts","../src/swap/calculatePriceImpactB.ts"],"sourcesContent":["// Re-export everything from the deployments package (e.g. `addresses` and `abis`)\nexport * from '@nexusmutual/deployments';\n\n// Export product data so it will be included in the bundle\nexport { default as products } from '../generated/products.json';\nexport { default as productTypes } from '../generated/product-types.json';\n\n// Export generated logo types\nexport * from '../generated/logos/types';\n\nexport * from './swap/index';\n","[\n {\n \"id\": 0,\n \"name\": \"0x v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"zerox.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 1,\n \"name\": \"1Inch (DEX & Liquidity Pools)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"oneinch.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 2,\n \"name\": \"Aave v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aavev2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 3,\n \"name\": \"Abracadabra v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"abracadabra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 4,\n \"name\": \"Alchemix v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"alchemix.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 5,\n \"name\": \"Anchor\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"anchor.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 6,\n \"name\": \"Angle v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"angle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 7,\n \"name\": \"Argent\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"argent.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 8,\n \"name\": \"Aura v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aura.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 9,\n \"name\": \"Babylon Finance\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"babylon.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 11,\n \"name\": \"Balancer v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"balancer.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 12,\n \"name\": \"Bancor v2\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"bancor.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 13,\n \"name\": \"Bancor v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"bancor.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Liquidity provider (LP) losses as a result of previously disclosed design issues, which include but is not limited to accumulated LP losses due to BNT pairs without IL protection\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 14,\n \"name\": \"Beefy v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"beefy.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 15,\n \"name\": \"Binance\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"binance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 16,\n \"name\": \"BlockFi\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"blockFi.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 17,\n \"name\": \"Bundle: Gelt + mStable + Aave v2 \",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gelt.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 18,\n \"name\": \"Centrifuge Tinlake\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"centrifuge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 19,\n \"name\": \"Coinbase\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"coinbase.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 20,\n \"name\": \"Compound v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 21,\n \"name\": \"Convex 3CRV (cvx3CRV)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 22,\n \"name\": \"Convex Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 23,\n \"name\": \"Convex stethCrv (cvxstethCrv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 24,\n \"name\": \"Crypto.com\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"crypto-com.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 25,\n \"name\": \"Curve 3pool LP (3Crv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 26,\n \"name\": \"Curve All Pools (incl staking)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 27,\n \"name\": \"Curve sETH LP (eCrv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 29,\n \"name\": \"Ease v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ease.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 31,\n \"name\": \"Enzyme v4\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 32,\n \"name\": \"Eth 2.0 (deposit contract)\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"eth.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 33,\n \"name\": \"Euler\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"euler.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 34,\n \"name\": \"FODL v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"fodl.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 35,\n \"name\": \"FTX\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"ftx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 36,\n \"name\": \"Gearbox v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gearbox.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 37,\n \"name\": \"Gemini\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"gemini.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 38,\n \"name\": \"GMX v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmx.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Liquidity provider (LP) losses as a result of previously disclosed design issues, which include but is not limited to [accumulated LP losses due to zero-slippage design](https://www.coindesk.com/markets/2022/09/19/defi-trader-nets-over-500k-by-using-dex-gmx-to-manipulate-avalanche-token/)\",\n \"\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 39,\n \"name\": \"Goldfinch v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"goldfinch.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 40,\n \"name\": \"Hodlnaut\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"hodlnaut.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 41,\n \"name\": \"Kraken\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"kraken.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 42,\n \"name\": \"Ledn\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"ledn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 43,\n \"name\": \"Liquid Collective\",\n \"productType\": 5,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"liquidcollective.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 44,\n \"name\": \"Liquity v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"liquity.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 45,\n \"name\": \"MakerDAO CDP\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"makerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 46,\n \"name\": \"mStable\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"mstable.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 48,\n \"name\": \"Nexo\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nexo.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 49,\n \"name\": \"Notional Finance v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"notional-finance.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 50,\n \"name\": \"OlympusDAO\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"olympusdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 51,\n \"name\": \"Opyn v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"opyn.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 52,\n \"name\": \"Origin OUSD\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"originusd.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 53,\n \"name\": \"Pangolin v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pangolin.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 54,\n \"name\": \"Perpetual Protocol v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"perpetual.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 55,\n \"name\": \"Pool Together v4\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"pooltogether.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 56,\n \"name\": \"Premia Finance\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"premia.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 57,\n \"name\": \"Rari Capital\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"rari.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 58,\n \"name\": \"Reflexer v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"reflexer.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 60,\n \"name\": \"Safe (formerly, Gnosis Safe)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gnosis-safe.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 61,\n \"name\": \"Set Protocol\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"tokensets.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 62,\n \"name\": \"Set Protocol v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"tokensets.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 63,\n \"name\": \"Sherlock\",\n \"productType\": 4,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"sherlock.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 64,\n \"name\": \"Stake DAO v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakedao.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 65,\n \"name\": \"Stakewise 3rd party (3 ETH/validator)\",\n \"productType\": 3,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"stakewise.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 66,\n \"name\": \"Stakewise operated (3 ETH/validator)\",\n \"productType\": 3,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"stakewise.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 67,\n \"name\": \"SushiSwap v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"sushiswap.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 68,\n \"name\": \"Synthetix\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"synthetix.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 69,\n \"name\": \"THORChain (Thorchain Network)\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"thorchain.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 70,\n \"name\": \"Trader Joe v2.1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"trader-joe.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 71,\n \"name\": \"Uniswap v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"uniswapv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 72,\n \"name\": \"Uniswap v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"uniswapv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 73,\n \"name\": \"Vector v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"vector.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 74,\n \"name\": \"Vesper v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"vesper.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 75,\n \"name\": \"Yearn Finance v2 (all vaults)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 76,\n \"name\": \"Yearn yvUSDC v2\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 77,\n \"name\": \"Yeti Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yeti.png\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 78,\n \"name\": \"Yield App\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"yield-app.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 79,\n \"name\": \"Alpaca Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"alpaca.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 80,\n \"name\": \"WeFi v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"wefi.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 81,\n \"name\": \"Exactly v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"exactly.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 82,\n \"name\": \"EtherFi 5ETH\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"etherfi.png\",\n \"metadata\": {\n \"schedule\": \"QmNLoufTxAfmAsZfFPas2QJvgwmLVsY4mGyn9VK6cpF2e3\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 83,\n \"name\": \"Squeeth by Opyn (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"squeeth-by-opyn.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 84,\n \"name\": \"Rage Trade (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"rage-trade.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 85,\n \"name\": \"Sentiment (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"sentiment.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 86,\n \"name\": \"Lyra Newport (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"lyra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 87,\n \"name\": \"Perennial (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"perennial.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 88,\n \"name\": \"LiquiFi (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"liquify.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 89,\n \"name\": \"Lyra Avalon (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"lyra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 90,\n \"name\": \"Buffer Finance (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"buffer-finance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 91,\n \"name\": \"Hook (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"hook.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 92,\n \"name\": \"Holyheld (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"holyheld.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 93,\n \"name\": \"Union Finance (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"union-finance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 94,\n \"name\": \"OpenQ (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"openq.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 95,\n \"name\": \"Level Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"level-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 96,\n \"name\": \"Offramp.xyz v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"offramp.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 97,\n \"name\": \"Aave v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aavev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 99,\n \"name\": \"Chorus One\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"chorusone.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 100,\n \"name\": \"Kiln\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"kiln.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 101,\n \"name\": \"Vertex (Native Protocol)\",\n \"productType\": 8,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"vertex.svg\",\n \"metadata\": {\n \"schedule\": \"QmX4HnfD4RToyBNSLocCqSxHcSzWBUDHDGxAtTvR2gsBmy\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 102,\n \"name\": \"The Retail Mutual\",\n \"productType\": 9,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"the-retail-mutual.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 103,\n \"name\": \"Figment\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"figment.svg\",\n \"metadata\": {\n \"schedule\": \"QmaXutduGRq4gpZ7xKUHQeAHd67X8zMXuzXVTncxx2kJqk\"\n },\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 104,\n \"name\": \"Teller (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"teller.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 105,\n \"name\": \"Ajna (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"ajna.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 106,\n \"name\": \"EigenLayer v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"eigenlayer.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 107,\n \"name\": \"Vox Finance (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"vox.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 108,\n \"name\": \"MahaLend (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"mahalend.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 109,\n \"name\": \"SELF (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"self.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 110,\n \"name\": \"Scallop (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"scallop.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 111,\n \"name\": \"WeFi (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"wefi.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 112,\n \"name\": \"ZkTsunami (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"zktsunami.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 113,\n \"name\": \"Hats Protocol\",\n \"productType\": 8,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"hats.svg\",\n \"metadata\": {\n \"schedule\": \"QmQMLsH7rs4WoNkvdLSCmhHcAHynbHtHzPsPRY3SFdd98D\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 114,\n \"name\": \"MakerDAO DSR (sDAI)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"makerdao-dsr.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 115,\n \"name\": \"Spark Lending v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"spark-lending.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 116,\n \"name\": \"DefiEdge\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"defi-edge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n }\n]","[\n {\n \"id\": 0,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmdunFJm4A5CUW1ynM7bevsGt6UzQfw6K4ysKqvsqpjWCQ\",\n \"name\": \"Protocol\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 1,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmYhCNjfrNTMq8eyg8i7LbBpTkMCHfix9Sv1jrPb7dYZKd\",\n \"name\": \"Custody\",\n \"gracePeriod\": 10368000,\n \"claimMethod\": 0\n },\n {\n \"id\": 2,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmcPdiLNZmBM8pjQcCzLhH8tjPuhphCVKZeP5P4SBiLx3h\",\n \"name\": \"Yield Token\",\n \"gracePeriod\": 1209600,\n \"claimMethod\": 1\n },\n {\n \"id\": 3,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmUTUfdfuZUjtPAiMZ4YRu77SaiyCov7jrSXTgeGeK8qt3\",\n \"name\": \"Sherlock Excess\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 4,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmPmwtwbyKnXBae1dmYD6jmgnewCeZGPMFGepkWMLWaiwC\",\n \"name\": \"Stakewise ETH Staking\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 5,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmUKhLi5ZahnzSxsMC9YQZbwwAKGhkHcoYqHUVgE31cXLe\",\n \"name\": \"Liquid Collective ETH Staking\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 6,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmWepFbtMYSzJt22ddF1CK9PwbrYgiLk9qJjryDrgpGuus\",\n \"name\": \"ETH Slashing\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 7,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmbQAsbisyGK6i1to4d85SqE2f2e98PsXHAuSzrprpsYe8\",\n \"name\": \"Sherlock Quota Share\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 8,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmRrKXV9RBNAB5E1ZEigWmvvT24FgrWNSZ8Yw1VNXR8E6Q\",\n \"name\": \"Native Protocol\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 9,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmQG8ooLgoQx2YdykwZEUYruoMZ7YP23LK9yiQbw9AGTZi\",\n \"name\": \"The Retail Mutual\",\n \"gracePeriod\": 36720000,\n \"claimMethod\": 0\n },\n {\n \"id\": 10,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmWXYjBYjdKoRw6kyUvp5gYKjj2ojPPVxNYKr1gDjMLssY\",\n \"name\": \"UnoRe Quota Share\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n }\n]","export type LogoFileName = 'zerox.svg' | 'oneinch.svg' | 'aavev2.svg' | 'abracadabra.svg' | 'alchemix.svg' | 'anchor.svg' | 'angle.svg' | 'argent.svg' | 'aura.svg' | 'babylon.svg' | 'badgerdao.svg' | 'balancer.svg' | 'bancor.svg' | 'bancor.svg' | 'beefy.svg' | 'binance.svg' | 'blockFi.svg' | 'gelt.svg' | 'centrifuge.svg' | 'coinbase.svg' | 'compoundv2.svg' | 'convex.svg' | 'convex.svg' | 'convex.svg' | 'crypto-com.svg' | 'curve.svg' | 'curve.svg' | 'curve.svg' | 'dydx.svg' | 'ease.svg' | 'enzyme.svg' | 'enzyme.svg' | 'eth.svg' | 'euler.svg' | 'fodl.svg' | 'ftx.svg' | 'gearbox.svg' | 'gemini.svg' | 'gmx.svg' | 'goldfinch.svg' | 'hodlnaut.svg' | 'kraken.svg' | 'ledn.svg' | 'liquidcollective.svg' | 'liquity.svg' | 'makerdao.svg' | 'mstable.svg' | 'nested.svg' | 'nexo.svg' | 'notional-finance.svg' | 'olympusdao.svg' | 'opyn.png' | 'originusd.svg' | 'pangolin.svg' | 'perpetual.svg' | 'pooltogether.svg' | 'premia.svg' | 'rari.svg' | 'reflexer.png' | 'ribbon.svg' | 'gnosis-safe.svg' | 'tokensets.svg' | 'tokensets.svg' | 'sherlock.svg' | 'stakedao.svg' | 'stakewise.svg' | 'stakewise.svg' | 'sushiswap.svg' | 'synthetix.svg' | 'thorchain.svg' | 'trader-joe.svg' | 'uniswapv2.svg' | 'uniswapv2.svg' | 'vector.svg' | 'vesper.svg' | 'yearn.svg' | 'yearn.svg' | 'yeti.png' | 'yield-app.svg' | 'alpaca.svg' | 'wefi.png' | 'exactly.svg' | 'etherfi.png' | 'squeeth-by-opyn.png' | 'rage-trade.svg' | 'sentiment.png' | 'lyra.svg' | 'perennial.jpeg' | 'liquify.svg' | 'lyra.svg' | 'buffer-finance.svg' | 'hook.jpeg' | 'holyheld.jpeg' | 'union-finance.svg' | 'openq.png' | 'level-finance.png' | 'offramp.png' | 'aavev3.svg' | 'morpho.svg' | 'chorusone.svg' | 'kiln.svg' | 'vertex.svg' | 'the-retail-mutual.png' | 'figment.svg' | 'teller.svg' | 'ajna.svg' | 'eigenlayer.png' | 'vox.png' | 'mahalend.svg' | 'self.svg' | 'scallop.svg' | 'wefi.png' | 'zktsunami.svg' | 'hats.svg' | 'makerdao-dsr.svg' | 'spark-lending.svg' | 'defi-edge.svg' | 'stakewisev3.svg' | 'compoundv3.svg';\nexport const allLogoFileNames: LogoFileName[] = ['zerox.svg', 'oneinch.svg', 'aavev2.svg', 'abracadabra.svg', 'alchemix.svg', 'anchor.svg', 'angle.svg', 'argent.svg', 'aura.svg', 'babylon.svg', 'badgerdao.svg', 'balancer.svg', 'bancor.svg', 'bancor.svg', 'beefy.svg', 'binance.svg', 'blockFi.svg', 'gelt.svg', 'centrifuge.svg', 'coinbase.svg', 'compoundv2.svg', 'convex.svg', 'convex.svg', 'convex.svg', 'crypto-com.svg', 'curve.svg', 'curve.svg', 'curve.svg', 'dydx.svg', 'ease.svg', 'enzyme.svg', 'enzyme.svg', 'eth.svg', 'euler.svg', 'fodl.svg', 'ftx.svg', 'gearbox.svg', 'gemini.svg', 'gmx.svg', 'goldfinch.svg', 'hodlnaut.svg', 'kraken.svg', 'ledn.svg', 'liquidcollective.svg', 'liquity.svg', 'makerdao.svg', 'mstable.svg', 'nested.svg', 'nexo.svg', 'notional-finance.svg', 'olympusdao.svg', 'opyn.png', 'originusd.svg', 'pangolin.svg', 'perpetual.svg', 'pooltogether.svg', 'premia.svg', 'rari.svg', 'reflexer.png', 'ribbon.svg', 'gnosis-safe.svg', 'tokensets.svg', 'tokensets.svg', 'sherlock.svg', 'stakedao.svg', 'stakewise.svg', 'stakewise.svg', 'sushiswap.svg', 'synthetix.svg', 'thorchain.svg', 'trader-joe.svg', 'uniswapv2.svg', 'uniswapv2.svg', 'vector.svg', 'vesper.svg', 'yearn.svg', 'yearn.svg', 'yeti.png', 'yield-app.svg', 'alpaca.svg', 'wefi.png', 'exactly.svg', 'etherfi.png', 'squeeth-by-opyn.png', 'rage-trade.svg', 'sentiment.png', 'lyra.svg', 'perennial.jpeg', 'liquify.svg', 'lyra.svg', 'buffer-finance.svg', 'hook.jpeg', 'holyheld.jpeg', 'union-finance.svg', 'openq.png', 'level-finance.png', 'offramp.png', 'aavev3.svg', 'morpho.svg', 'chorusone.svg', 'kiln.svg', 'vertex.svg', 'the-retail-mutual.png', 'figment.svg', 'teller.svg', 'ajna.svg', 'eigenlayer.png', 'vox.png', 'mahalend.svg', 'self.svg', 'scallop.svg', 'wefi.png', 'zktsunami.svg', 'hats.svg', 'makerdao-dsr.svg', 'spark-lending.svg', 'defi-edge.svg', 'stakewisev3.svg', 'compoundv3.svg'];\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of nxm flowing out of the pool for the given amount of eth flowing in\n */\n// suggestion: calculateNxmOutGivenEthIn\nexport const calculateExactNxmForEth = (ethIn: bigint, reserves: Reserves): bigint => {\n \n if(ethIn <= 0n) throw new Error('ETH in value must be greater than 0');\n \n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmA * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = reserves.ethReserve + ethIn;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm that will flow out of the pool\n const nxmOut = reserves.nxmA - nxmReservesAfter;\n\n if(nxmOut < 0n) throw new Error('Cannot swap this amount');\n\n return nxmOut;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of eth flowing out of the pool for the given amount of nxm flowing in\n */\n// suggestion: calculateEthOutGivenNxmIn\nexport const calculateExactEthForNxm = (nxmIn: bigint, reserves: Reserves): bigint => {\n\n if(nxmIn <= 0n) throw new Error('NXM in value must be greater than 0');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmB * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = reserves.nxmB + nxmIn;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Eth that will flow out of the pool\n const ethOut = reserves.ethReserve - ethReservesAfter;\n\n if(ethOut < 0n) throw new Error('Cannot swap this amount');\n\n return ethOut;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of nxm needed to flow into the pool to get the exact amount of eth out\n */\n// suggestion: calculateNxmInGivenEthOut\nexport const calculateNxmForExactEth = (ethOut: bigint, reserves: Reserves): bigint => {\n\n if(ethOut <= 0n || ethOut >= reserves.ethReserve) throw new Error('ETH out value must be greater than 0 and less than the reserves');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmB * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = reserves.ethReserve - ethOut;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm needed to flow into the pool to get the desired amount of eth\n const nxmIn = nxmReservesAfter - reserves.nxmB;\n\n return nxmIn;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of eth needed to flow into the pool to get the exact amount of nxm out\n */\n// suggestion: calculateEthInGivenNxmOut\nexport const calculateEthForExactNxm = (nxmOut: bigint, reserves: Reserves): bigint => {\n\n if(nxmOut <= 0n || nxmOut >= reserves.nxmA) throw new Error('NXM out value must be greater than 0 and less than the reserves');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmA * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = reserves.nxmA - nxmOut;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Nxm needed to flow into the pool to get the desired amount of eth\n const ethIn = ethReservesAfter - reserves.ethReserve;\n\n return ethIn;\n};\n","import { Reserves } from './reserves.type';\n\nexport const calculateSpotPrice = (reserves: Reserves) => {\n const oneEth = BigInt(1e18);\n return {\n spotPriceA: (oneEth * reserves.ethReserve) / reserves.nxmA,\n spotPriceB: (oneEth * reserves.ethReserve) / reserves.nxmB,\n };\n};\n","import { calculateExactNxmForEth } from \"./calculateExactNxmForEth\";\nimport { calculateSpotPrice } from \"./calculateSpotPrice\";\nimport { Reserves } from \"./reserves.type\";\n\n// Calculate the price impact when buying NXM with ETH\nexport const calculatePriceImpactA = (ethIn: bigint, reserves: Reserves) => {\n const { spotPriceA } = calculateSpotPrice(reserves);\n const nxmOut = calculateExactNxmForEth(ethIn, reserves);\n const nxmOutAtSpotPrice = BigInt(1e18) * ethIn / spotPriceA;\n\n // 100 - 100 * nxmOut / nxmOutAtSpot\n // using BigInt(1000000) to keep 4 decimals of precision\n return BigInt(1000000) - BigInt(1000000) * nxmOut / nxmOutAtSpotPrice;\n};\n","import { calculateExactEthForNxm } from './calculateExactEthForNxm';\nimport { calculateSpotPrice } from './calculateSpotPrice';\nimport { Reserves } from './reserves.type';\n\n// Calculate the price impact when selling NXM for ETH\nexport const calculatePriceImpactB = (nxmIn: bigint, reserves: Reserves) => {\n const { spotPriceB } = calculateSpotPrice(reserves);\n const ethOut = calculateExactEthForNxm(nxmIn, reserves);\n const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);\n\n // 100 - 100 * ethOut / ethOutAtSpot\n // using BigInt(1000000) to keep 4 decimals of precision\n return BigInt(1000000) - BigInt(1000000) * ethOut / ethOutAtSpotPrice;\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/logos/types.ts","../src/swap/calculateExactNxmForEth.ts","../src/swap/calculateExactEthForNxm.ts","../src/swap/calculateNxmForExactEth.ts","../src/swap/calculateEthForExactNxm.ts","../src/swap/calculateSpotPrice.ts","../src/swap/calculatePriceImpactA.ts","../src/swap/calculatePriceImpactB.ts"],"sourcesContent":["// Re-export everything from the deployments package (e.g. `addresses` and `abis`)\nexport * from '@nexusmutual/deployments';\n\n// Export product data so it will be included in the bundle\nexport { default as products } from '../generated/products.json';\nexport { default as productTypes } from '../generated/product-types.json';\n\n// Export generated logo types\nexport * from '../generated/logos/types';\n\nexport * from './swap/index';\n","[\n {\n \"id\": 0,\n \"name\": \"0x v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"zerox.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 1,\n \"name\": \"1Inch (DEX & Liquidity Pools)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"oneinch.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 2,\n \"name\": \"Aave v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aavev2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 3,\n \"name\": \"Abracadabra v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"abracadabra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 4,\n \"name\": \"Alchemix v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"alchemix.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 5,\n \"name\": \"Anchor\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"anchor.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 6,\n \"name\": \"Angle v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"angle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 7,\n \"name\": \"Argent\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"argent.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 8,\n \"name\": \"Aura v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aura.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 9,\n \"name\": \"Babylon Finance\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"babylon.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 11,\n \"name\": \"Balancer v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"balancer.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 12,\n \"name\": \"Bancor v2\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"bancor.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 13,\n \"name\": \"Bancor v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"bancor.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Liquidity provider (LP) losses as a result of previously disclosed design issues, which include but is not limited to accumulated LP losses due to BNT pairs without IL protection\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 14,\n \"name\": \"Beefy v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"beefy.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 15,\n \"name\": \"Binance\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"binance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 16,\n \"name\": \"BlockFi\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"blockFi.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 17,\n \"name\": \"Bundle: Gelt + mStable + Aave v2 \",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gelt.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 18,\n \"name\": \"Centrifuge Tinlake\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"centrifuge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 19,\n \"name\": \"Coinbase\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"coinbase.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 20,\n \"name\": \"Compound v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 21,\n \"name\": \"Convex 3CRV (cvx3CRV)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 22,\n \"name\": \"Convex Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 23,\n \"name\": \"Convex stethCrv (cvxstethCrv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"convex.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 24,\n \"name\": \"Crypto.com\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"crypto-com.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 25,\n \"name\": \"Curve 3pool LP (3Crv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 26,\n \"name\": \"Curve All Pools (incl staking)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 27,\n \"name\": \"Curve sETH LP (eCrv)\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"curve.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 29,\n \"name\": \"Ease v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ease.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 31,\n \"name\": \"Enzyme v4\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 32,\n \"name\": \"Eth 2.0 (deposit contract)\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"eth.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 33,\n \"name\": \"Euler\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"euler.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 34,\n \"name\": \"FODL v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"fodl.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 35,\n \"name\": \"FTX\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"ftx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 36,\n \"name\": \"Gearbox v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gearbox.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 37,\n \"name\": \"Gemini\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"gemini.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 38,\n \"name\": \"GMX v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmx.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Liquidity provider (LP) losses as a result of previously disclosed design issues, which include but is not limited to [accumulated LP losses due to zero-slippage design](https://www.coindesk.com/markets/2022/09/19/defi-trader-nets-over-500k-by-using-dex-gmx-to-manipulate-avalanche-token/)\",\n \"\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 39,\n \"name\": \"Goldfinch v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"goldfinch.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 40,\n \"name\": \"Hodlnaut\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"hodlnaut.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 41,\n \"name\": \"Kraken\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"kraken.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 42,\n \"name\": \"Ledn\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"ledn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 43,\n \"name\": \"Liquid Collective\",\n \"productType\": 5,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"liquidcollective.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 44,\n \"name\": \"Liquity v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"liquity.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 45,\n \"name\": \"MakerDAO CDP\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"makerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 46,\n \"name\": \"mStable\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"mstable.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 48,\n \"name\": \"Nexo\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nexo.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 49,\n \"name\": \"Notional Finance v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"notional-finance.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 50,\n \"name\": \"OlympusDAO\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"olympusdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 51,\n \"name\": \"Opyn v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"opyn.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 52,\n \"name\": \"Origin OUSD\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"originusd.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 53,\n \"name\": \"Pangolin v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pangolin.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 54,\n \"name\": \"Perpetual Protocol v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"perpetual.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 55,\n \"name\": \"Pool Together v4\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"pooltogether.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 56,\n \"name\": \"Premia Finance\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"premia.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 57,\n \"name\": \"Rari Capital\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"rari.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 58,\n \"name\": \"Reflexer v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"reflexer.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 60,\n \"name\": \"Safe (formerly, Gnosis Safe)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gnosis-safe.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 61,\n \"name\": \"Set Protocol\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"tokensets.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 62,\n \"name\": \"Set Protocol v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"tokensets.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 63,\n \"name\": \"Sherlock\",\n \"productType\": 4,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"sherlock.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 64,\n \"name\": \"Stake DAO v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakedao.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 65,\n \"name\": \"Stakewise 3rd party (3 ETH/validator)\",\n \"productType\": 3,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"stakewise.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 66,\n \"name\": \"Stakewise operated (3 ETH/validator)\",\n \"productType\": 3,\n \"isDeprecated\": true,\n \"useFixedPrice\": true,\n \"logo\": \"stakewise.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 67,\n \"name\": \"SushiSwap v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"sushiswap.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 68,\n \"name\": \"Synthetix\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"synthetix.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 69,\n \"name\": \"THORChain (Thorchain Network)\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"thorchain.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 70,\n \"name\": \"Trader Joe v2.1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"trader-joe.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 71,\n \"name\": \"Uniswap v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"uniswapv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 72,\n \"name\": \"Uniswap v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"uniswapv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 73,\n \"name\": \"Vector v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"vector.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 74,\n \"name\": \"Vesper v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"vesper.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 75,\n \"name\": \"Yearn Finance v2 (all vaults)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 76,\n \"name\": \"Yearn yvUSDC v2\",\n \"productType\": 2,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 77,\n \"name\": \"Yeti Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yeti.png\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 78,\n \"name\": \"Yield App\",\n \"productType\": 1,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"yield-app.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 79,\n \"name\": \"Alpaca Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"alpaca.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 80,\n \"name\": \"WeFi v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"wefi.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 81,\n \"name\": \"Exactly v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"exactly.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 82,\n \"name\": \"EtherFi 5ETH\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"etherfi.png\",\n \"metadata\": {\n \"schedule\": \"QmNLoufTxAfmAsZfFPas2QJvgwmLVsY4mGyn9VK6cpF2e3\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 83,\n \"name\": \"Squeeth by Opyn (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"squeeth-by-opyn.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 84,\n \"name\": \"Rage Trade (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"rage-trade.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 85,\n \"name\": \"Sentiment (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"sentiment.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 86,\n \"name\": \"Lyra Newport (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"lyra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 87,\n \"name\": \"Perennial (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"perennial.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 88,\n \"name\": \"LiquiFi (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"liquify.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 89,\n \"name\": \"Lyra Avalon (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"lyra.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 90,\n \"name\": \"Buffer Finance (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"buffer-finance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 91,\n \"name\": \"Hook (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"hook.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 92,\n \"name\": \"Holyheld (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"holyheld.jpeg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 93,\n \"name\": \"Union Finance (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"union-finance.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 94,\n \"name\": \"OpenQ (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"openq.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 95,\n \"name\": \"Level Finance v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"level-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 96,\n \"name\": \"Offramp.xyz v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"offramp.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 97,\n \"name\": \"Aave v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aavev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 99,\n \"name\": \"Chorus One\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"chorusone.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 100,\n \"name\": \"Kiln\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"kiln.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 101,\n \"name\": \"Vertex (Native Protocol)\",\n \"productType\": 8,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"vertex.svg\",\n \"metadata\": {\n \"schedule\": \"QmX4HnfD4RToyBNSLocCqSxHcSzWBUDHDGxAtTvR2gsBmy\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 102,\n \"name\": \"The Retail Mutual\",\n \"productType\": 9,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"the-retail-mutual.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 103,\n \"name\": \"Figment\",\n \"productType\": 6,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"figment.svg\",\n \"metadata\": {\n \"schedule\": \"QmaXutduGRq4gpZ7xKUHQeAHd67X8zMXuzXVTncxx2kJqk\"\n },\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 104,\n \"name\": \"Teller (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"teller.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 105,\n \"name\": \"Ajna (Sherlock)\",\n \"productType\": 7,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"ajna.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 106,\n \"name\": \"EigenLayer v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"eigenlayer.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 107,\n \"name\": \"Vox Finance (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"vox.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 108,\n \"name\": \"MahaLend (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"mahalend.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 109,\n \"name\": \"SELF (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"self.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 110,\n \"name\": \"Scallop (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"scallop.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 111,\n \"name\": \"WeFi (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"wefi.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 112,\n \"name\": \"ZkTsunami (UnoRe)\",\n \"productType\": 10,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"zktsunami.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 113,\n \"name\": \"Hats Protocol\",\n \"productType\": 8,\n \"isDeprecated\": false,\n \"useFixedPrice\": true,\n \"logo\": \"hats.svg\",\n \"metadata\": {\n \"schedule\": \"QmQMLsH7rs4WoNkvdLSCmhHcAHynbHtHzPsPRY3SFdd98D\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 114,\n \"name\": \"MakerDAO DSR (sDAI)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"makerdao-dsr.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"DAI\"\n ]\n },\n {\n \"id\": 115,\n \"name\": \"Spark Lending v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"spark-lending.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 116,\n \"name\": \"DefiEdge\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"defi-edge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ]\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ]\n }\n]","[\n {\n \"id\": 0,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmdunFJm4A5CUW1ynM7bevsGt6UzQfw6K4ysKqvsqpjWCQ\",\n \"name\": \"Protocol\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 1,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmYhCNjfrNTMq8eyg8i7LbBpTkMCHfix9Sv1jrPb7dYZKd\",\n \"name\": \"Custody\",\n \"gracePeriod\": 10368000,\n \"claimMethod\": 0\n },\n {\n \"id\": 2,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmcPdiLNZmBM8pjQcCzLhH8tjPuhphCVKZeP5P4SBiLx3h\",\n \"name\": \"Yield Token\",\n \"gracePeriod\": 1209600,\n \"claimMethod\": 1\n },\n {\n \"id\": 3,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmUTUfdfuZUjtPAiMZ4YRu77SaiyCov7jrSXTgeGeK8qt3\",\n \"name\": \"Sherlock Excess\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 4,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmPmwtwbyKnXBae1dmYD6jmgnewCeZGPMFGepkWMLWaiwC\",\n \"name\": \"Stakewise ETH Staking\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 5,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmUKhLi5ZahnzSxsMC9YQZbwwAKGhkHcoYqHUVgE31cXLe\",\n \"name\": \"Liquid Collective ETH Staking\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 6,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmWepFbtMYSzJt22ddF1CK9PwbrYgiLk9qJjryDrgpGuus\",\n \"name\": \"ETH Slashing\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 7,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmbQAsbisyGK6i1to4d85SqE2f2e98PsXHAuSzrprpsYe8\",\n \"name\": \"Sherlock Quota Share\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 8,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmRrKXV9RBNAB5E1ZEigWmvvT24FgrWNSZ8Yw1VNXR8E6Q\",\n \"name\": \"Native Protocol\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n },\n {\n \"id\": 9,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmQG8ooLgoQx2YdykwZEUYruoMZ7YP23LK9yiQbw9AGTZi\",\n \"name\": \"The Retail Mutual\",\n \"gracePeriod\": 36720000,\n \"claimMethod\": 0\n },\n {\n \"id\": 10,\n \"coverWordingURL\": \"https://api.nexusmutual.io/ipfs/QmWXYjBYjdKoRw6kyUvp5gYKjj2ojPPVxNYKr1gDjMLssY\",\n \"name\": \"UnoRe Quota Share\",\n \"gracePeriod\": 3024000,\n \"claimMethod\": 0\n }\n]","export type LogoFileName =\n | 'zerox.svg'\n | 'oneinch.svg'\n | 'aavev2.svg'\n | 'abracadabra.svg'\n | 'alchemix.svg'\n | 'anchor.svg'\n | 'angle.svg'\n | 'argent.svg'\n | 'aura.svg'\n | 'babylon.svg'\n | 'badgerdao.svg'\n | 'balancer.svg'\n | 'bancor.svg'\n | 'bancor.svg'\n | 'beefy.svg'\n | 'binance.svg'\n | 'blockFi.svg'\n | 'gelt.svg'\n | 'centrifuge.svg'\n | 'coinbase.svg'\n | 'compoundv2.svg'\n | 'convex.svg'\n | 'convex.svg'\n | 'convex.svg'\n | 'crypto-com.svg'\n | 'curve.svg'\n | 'curve.svg'\n | 'curve.svg'\n | 'dydx.svg'\n | 'ease.svg'\n | 'enzyme.svg'\n | 'enzyme.svg'\n | 'eth.svg'\n | 'euler.svg'\n | 'fodl.svg'\n | 'ftx.svg'\n | 'gearbox.svg'\n | 'gemini.svg'\n | 'gmx.svg'\n | 'goldfinch.svg'\n | 'hodlnaut.svg'\n | 'kraken.svg'\n | 'ledn.svg'\n | 'liquidcollective.svg'\n | 'liquity.svg'\n | 'makerdao.svg'\n | 'mstable.svg'\n | 'nested.svg'\n | 'nexo.svg'\n | 'notional-finance.svg'\n | 'olympusdao.svg'\n | 'opyn.png'\n | 'originusd.svg'\n | 'pangolin.svg'\n | 'perpetual.svg'\n | 'pooltogether.svg'\n | 'premia.svg'\n | 'rari.svg'\n | 'reflexer.png'\n | 'ribbon.svg'\n | 'gnosis-safe.svg'\n | 'tokensets.svg'\n | 'tokensets.svg'\n | 'sherlock.svg'\n | 'stakedao.svg'\n | 'stakewise.svg'\n | 'stakewise.svg'\n | 'sushiswap.svg'\n | 'synthetix.svg'\n | 'thorchain.svg'\n | 'trader-joe.svg'\n | 'uniswapv2.svg'\n | 'uniswapv2.svg'\n | 'vector.svg'\n | 'vesper.svg'\n | 'yearn.svg'\n | 'yearn.svg'\n | 'yeti.png'\n | 'yield-app.svg'\n | 'alpaca.svg'\n | 'wefi.png'\n | 'exactly.svg'\n | 'etherfi.png'\n | 'squeeth-by-opyn.png'\n | 'rage-trade.svg'\n | 'sentiment.png'\n | 'lyra.svg'\n | 'perennial.jpeg'\n | 'liquify.svg'\n | 'lyra.svg'\n | 'buffer-finance.svg'\n | 'hook.jpeg'\n | 'holyheld.jpeg'\n | 'union-finance.svg'\n | 'openq.png'\n | 'level-finance.png'\n | 'offramp.png'\n | 'aavev3.svg'\n | 'morpho.svg'\n | 'chorusone.svg'\n | 'kiln.svg'\n | 'vertex.svg'\n | 'the-retail-mutual.png'\n | 'figment.svg'\n | 'teller.svg'\n | 'ajna.svg'\n | 'eigenlayer.png'\n | 'vox.png'\n | 'mahalend.svg'\n | 'self.svg'\n | 'scallop.svg'\n | 'wefi.png'\n | 'zktsunami.svg'\n | 'hats.svg'\n | 'makerdao-dsr.svg'\n | 'spark-lending.svg'\n | 'defi-edge.svg'\n | 'stakewisev3.svg'\n | 'compoundv3.svg';\n\nexport const allLogoFileNames: LogoFileName[] = [\n 'zerox.svg',\n 'oneinch.svg',\n 'aavev2.svg',\n 'abracadabra.svg',\n 'alchemix.svg',\n 'anchor.svg',\n 'angle.svg',\n 'argent.svg',\n 'aura.svg',\n 'babylon.svg',\n 'badgerdao.svg',\n 'balancer.svg',\n 'bancor.svg',\n 'bancor.svg',\n 'beefy.svg',\n 'binance.svg',\n 'blockFi.svg',\n 'gelt.svg',\n 'centrifuge.svg',\n 'coinbase.svg',\n 'compoundv2.svg',\n 'convex.svg',\n 'convex.svg',\n 'convex.svg',\n 'crypto-com.svg',\n 'curve.svg',\n 'curve.svg',\n 'curve.svg',\n 'dydx.svg',\n 'ease.svg',\n 'enzyme.svg',\n 'enzyme.svg',\n 'eth.svg',\n 'euler.svg',\n 'fodl.svg',\n 'ftx.svg',\n 'gearbox.svg',\n 'gemini.svg',\n 'gmx.svg',\n 'goldfinch.svg',\n 'hodlnaut.svg',\n 'kraken.svg',\n 'ledn.svg',\n 'liquidcollective.svg',\n 'liquity.svg',\n 'makerdao.svg',\n 'mstable.svg',\n 'nested.svg',\n 'nexo.svg',\n 'notional-finance.svg',\n 'olympusdao.svg',\n 'opyn.png',\n 'originusd.svg',\n 'pangolin.svg',\n 'perpetual.svg',\n 'pooltogether.svg',\n 'premia.svg',\n 'rari.svg',\n 'reflexer.png',\n 'ribbon.svg',\n 'gnosis-safe.svg',\n 'tokensets.svg',\n 'tokensets.svg',\n 'sherlock.svg',\n 'stakedao.svg',\n 'stakewise.svg',\n 'stakewise.svg',\n 'sushiswap.svg',\n 'synthetix.svg',\n 'thorchain.svg',\n 'trader-joe.svg',\n 'uniswapv2.svg',\n 'uniswapv2.svg',\n 'vector.svg',\n 'vesper.svg',\n 'yearn.svg',\n 'yearn.svg',\n 'yeti.png',\n 'yield-app.svg',\n 'alpaca.svg',\n 'wefi.png',\n 'exactly.svg',\n 'etherfi.png',\n 'squeeth-by-opyn.png',\n 'rage-trade.svg',\n 'sentiment.png',\n 'lyra.svg',\n 'perennial.jpeg',\n 'liquify.svg',\n 'lyra.svg',\n 'buffer-finance.svg',\n 'hook.jpeg',\n 'holyheld.jpeg',\n 'union-finance.svg',\n 'openq.png',\n 'level-finance.png',\n 'offramp.png',\n 'aavev3.svg',\n 'morpho.svg',\n 'chorusone.svg',\n 'kiln.svg',\n 'vertex.svg',\n 'the-retail-mutual.png',\n 'figment.svg',\n 'teller.svg',\n 'ajna.svg',\n 'eigenlayer.png',\n 'vox.png',\n 'mahalend.svg',\n 'self.svg',\n 'scallop.svg',\n 'wefi.png',\n 'zktsunami.svg',\n 'hats.svg',\n 'makerdao-dsr.svg',\n 'spark-lending.svg',\n 'defi-edge.svg',\n 'stakewisev3.svg',\n 'compoundv3.svg',\n];\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of nxm flowing out of the pool for the given amount of eth flowing in\n */\n// suggestion: calculateNxmOutGivenEthIn\nexport const calculateExactNxmForEth = (ethIn: bigint, reserves: Reserves): bigint => {\n \n if(ethIn <= 0n) throw new Error('ETH in value must be greater than 0');\n \n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmA * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = reserves.ethReserve + ethIn;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm that will flow out of the pool\n const nxmOut = reserves.nxmA - nxmReservesAfter;\n\n if(nxmOut < 0n) throw new Error('Cannot swap this amount');\n\n return nxmOut;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of eth flowing out of the pool for the given amount of nxm flowing in\n */\n// suggestion: calculateEthOutGivenNxmIn\nexport const calculateExactEthForNxm = (nxmIn: bigint, reserves: Reserves): bigint => {\n\n if(nxmIn <= 0n) throw new Error('NXM in value must be greater than 0');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmB * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = reserves.nxmB + nxmIn;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Eth that will flow out of the pool\n const ethOut = reserves.ethReserve - ethReservesAfter;\n\n if(ethOut < 0n) throw new Error('Cannot swap this amount');\n\n return ethOut;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of nxm needed to flow into the pool to get the exact amount of eth out\n */\n// suggestion: calculateNxmInGivenEthOut\nexport const calculateNxmForExactEth = (ethOut: bigint, reserves: Reserves): bigint => {\n\n if(ethOut <= 0n || ethOut >= reserves.ethReserve) throw new Error('ETH out value must be greater than 0 and less than the reserves');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmB * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = reserves.ethReserve - ethOut;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm needed to flow into the pool to get the desired amount of eth\n const nxmIn = nxmReservesAfter - reserves.nxmB;\n\n return nxmIn;\n};\n","import { Reserves } from './reserves.type';\n\n/**\n * Calculates the amount of eth needed to flow into the pool to get the exact amount of nxm out\n */\n// suggestion: calculateEthInGivenNxmOut\nexport const calculateEthForExactNxm = (nxmOut: bigint, reserves: Reserves): bigint => {\n\n if(nxmOut <= 0n || nxmOut >= reserves.nxmA) throw new Error('NXM out value must be greater than 0 and less than the reserves');\n\n // Calculate the constant product (k) for the market maker model\n const k = reserves.nxmA * reserves.ethReserve;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = reserves.nxmA - nxmOut;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Nxm needed to flow into the pool to get the desired amount of eth\n const ethIn = ethReservesAfter - reserves.ethReserve;\n\n return ethIn;\n};\n","import { Reserves } from './reserves.type';\n\nexport const calculateSpotPrice = (reserves: Reserves) => {\n const oneEth = BigInt(1e18);\n return {\n spotPriceA: (oneEth * reserves.ethReserve) / reserves.nxmA,\n spotPriceB: (oneEth * reserves.ethReserve) / reserves.nxmB,\n };\n};\n","import { calculateExactNxmForEth } from \"./calculateExactNxmForEth\";\nimport { calculateSpotPrice } from \"./calculateSpotPrice\";\nimport { Reserves } from \"./reserves.type\";\n\n// Calculate the price impact when buying NXM with ETH\nexport const calculatePriceImpactA = (ethIn: bigint, reserves: Reserves) => {\n const { spotPriceA } = calculateSpotPrice(reserves);\n const nxmOut = calculateExactNxmForEth(ethIn, reserves);\n const nxmOutAtSpotPrice = BigInt(1e18) * ethIn / spotPriceA;\n\n // 100 - 100 * nxmOut / nxmOutAtSpot\n // using BigInt(1000000) to keep 4 decimals of precision\n return BigInt(1000000) - BigInt(1000000) * nxmOut / nxmOutAtSpotPrice;\n};\n","import { calculateExactEthForNxm } from './calculateExactEthForNxm';\nimport { calculateSpotPrice } from './calculateSpotPrice';\nimport { Reserves } from './reserves.type';\n\n// Calculate the price impact when selling NXM for ETH\nexport const calculatePriceImpactB = (nxmIn: bigint, reserves: Reserves) => {\n const { spotPriceB } = calculateSpotPrice(reserves);\n const ethOut = calculateExactEthForNxm(nxmIn, reserves);\n const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);\n\n // 100 - 100 * ethOut / ethOutAtSpot\n // using BigInt(1000000) to keep 4 decimals of precision\n return BigInt(1000000) - BigInt(1000000) * ethOut / ethOutAtSpotPrice;\n};\n"],"mappings":"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","names":[]}