@nexusmutual/sdk 0.1.10 → 0.1.11
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.d.mts +28 -3
- package/dist/index.d.ts +28 -3
- package/dist/index.js +79 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +72 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -3
package/dist/index.d.mts
CHANGED
|
@@ -1811,8 +1811,33 @@ type Reserves = {
|
|
|
1811
1811
|
budget: bigint;
|
|
1812
1812
|
};
|
|
1813
1813
|
|
|
1814
|
-
|
|
1814
|
+
/**
|
|
1815
|
+
* Calculates the amount of nxm flowing out of the pool for the given amount of eth flowing in
|
|
1816
|
+
*/
|
|
1817
|
+
declare const calculateExactNxmForEth: (ethIn: bigint, reserves: Reserves) => bigint;
|
|
1815
1818
|
|
|
1816
|
-
|
|
1819
|
+
/**
|
|
1820
|
+
* Calculates the amount of eth flowing out of the pool for the given amount of nxm flowing in
|
|
1821
|
+
*/
|
|
1822
|
+
declare const calculateExactEthForNxm: (nxmIn: bigint, reserves: Reserves) => bigint;
|
|
1817
1823
|
|
|
1818
|
-
|
|
1824
|
+
/**
|
|
1825
|
+
* Calculates the amount of nxm needed to flow into the pool to get the exact amount of eth out
|
|
1826
|
+
*/
|
|
1827
|
+
declare const calculateNxmForExactEth: (ethOut: bigint, reserves: Reserves) => bigint;
|
|
1828
|
+
|
|
1829
|
+
/**
|
|
1830
|
+
* Calculates the amount of eth needed to flow into the pool to get the exact amount of nxm out
|
|
1831
|
+
*/
|
|
1832
|
+
declare const calculateEthForExactNxm: (nxmOut: bigint, reserves: Reserves) => bigint;
|
|
1833
|
+
|
|
1834
|
+
declare const calculatePriceImpactA: (ethIn: bigint, reserves: Reserves) => bigint;
|
|
1835
|
+
|
|
1836
|
+
declare const calculatePriceImpactB: (nxmIn: bigint, reserves: Reserves) => bigint;
|
|
1837
|
+
|
|
1838
|
+
declare const calculateSpotPrice: (reserves: Reserves) => {
|
|
1839
|
+
spotPriceA: bigint;
|
|
1840
|
+
spotPriceB: bigint;
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1843
|
+
export { LogoFileName, Reserves, allLogoFileNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
|
package/dist/index.d.ts
CHANGED
|
@@ -1811,8 +1811,33 @@ type Reserves = {
|
|
|
1811
1811
|
budget: bigint;
|
|
1812
1812
|
};
|
|
1813
1813
|
|
|
1814
|
-
|
|
1814
|
+
/**
|
|
1815
|
+
* Calculates the amount of nxm flowing out of the pool for the given amount of eth flowing in
|
|
1816
|
+
*/
|
|
1817
|
+
declare const calculateExactNxmForEth: (ethIn: bigint, reserves: Reserves) => bigint;
|
|
1815
1818
|
|
|
1816
|
-
|
|
1819
|
+
/**
|
|
1820
|
+
* Calculates the amount of eth flowing out of the pool for the given amount of nxm flowing in
|
|
1821
|
+
*/
|
|
1822
|
+
declare const calculateExactEthForNxm: (nxmIn: bigint, reserves: Reserves) => bigint;
|
|
1817
1823
|
|
|
1818
|
-
|
|
1824
|
+
/**
|
|
1825
|
+
* Calculates the amount of nxm needed to flow into the pool to get the exact amount of eth out
|
|
1826
|
+
*/
|
|
1827
|
+
declare const calculateNxmForExactEth: (ethOut: bigint, reserves: Reserves) => bigint;
|
|
1828
|
+
|
|
1829
|
+
/**
|
|
1830
|
+
* Calculates the amount of eth needed to flow into the pool to get the exact amount of nxm out
|
|
1831
|
+
*/
|
|
1832
|
+
declare const calculateEthForExactNxm: (nxmOut: bigint, reserves: Reserves) => bigint;
|
|
1833
|
+
|
|
1834
|
+
declare const calculatePriceImpactA: (ethIn: bigint, reserves: Reserves) => bigint;
|
|
1835
|
+
|
|
1836
|
+
declare const calculatePriceImpactB: (nxmIn: bigint, reserves: Reserves) => bigint;
|
|
1837
|
+
|
|
1838
|
+
declare const calculateSpotPrice: (reserves: Reserves) => {
|
|
1839
|
+
spotPriceA: bigint;
|
|
1840
|
+
spotPriceB: bigint;
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1843
|
+
export { LogoFileName, Reserves, allLogoFileNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
|
package/dist/index.js
CHANGED
|
@@ -22,8 +22,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
22
22
|
var src_exports = {};
|
|
23
23
|
__export(src_exports, {
|
|
24
24
|
allLogoFileNames: () => allLogoFileNames,
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
calculateEthForExactNxm: () => calculateEthForExactNxm,
|
|
26
|
+
calculateExactEthForNxm: () => calculateExactEthForNxm,
|
|
27
|
+
calculateExactNxmForEth: () => calculateExactNxmForEth,
|
|
28
|
+
calculateNxmForExactEth: () => calculateNxmForExactEth,
|
|
29
|
+
calculatePriceImpactA: () => calculatePriceImpactA,
|
|
30
|
+
calculatePriceImpactB: () => calculatePriceImpactB,
|
|
31
|
+
calculateSpotPrice: () => calculateSpotPrice,
|
|
27
32
|
productTypes: () => product_types_default,
|
|
28
33
|
products: () => products_default
|
|
29
34
|
});
|
|
@@ -1741,32 +1746,88 @@ var product_types_default = [
|
|
|
1741
1746
|
// generated/logos/types.ts
|
|
1742
1747
|
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"];
|
|
1743
1748
|
|
|
1744
|
-
// src/swap/
|
|
1745
|
-
var
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
const k =
|
|
1749
|
-
const ethReservesAfter =
|
|
1749
|
+
// src/swap/calculateExactNxmForEth.ts
|
|
1750
|
+
var calculateExactNxmForEth = (ethIn, reserves) => {
|
|
1751
|
+
if (ethIn <= 0n)
|
|
1752
|
+
throw new Error("ETH in value must be greater than 0");
|
|
1753
|
+
const k = reserves.nxmA * reserves.ethReserve;
|
|
1754
|
+
const ethReservesAfter = reserves.ethReserve + ethIn;
|
|
1750
1755
|
const nxmReservesAfter = k / ethReservesAfter;
|
|
1751
|
-
const nxmOut =
|
|
1756
|
+
const nxmOut = reserves.nxmA - nxmReservesAfter;
|
|
1757
|
+
if (nxmOut < 0n)
|
|
1758
|
+
throw new Error("Cannot swap this amount");
|
|
1752
1759
|
return nxmOut;
|
|
1753
1760
|
};
|
|
1754
1761
|
|
|
1755
|
-
// src/swap/
|
|
1756
|
-
var
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
const k =
|
|
1760
|
-
const nxmReservesAfter =
|
|
1762
|
+
// src/swap/calculateExactEthForNxm.ts
|
|
1763
|
+
var calculateExactEthForNxm = (nxmIn, reserves) => {
|
|
1764
|
+
if (nxmIn <= 0n)
|
|
1765
|
+
throw new Error("NXM in value must be greater than 0");
|
|
1766
|
+
const k = reserves.nxmB * reserves.ethReserve;
|
|
1767
|
+
const nxmReservesAfter = reserves.nxmB + nxmIn;
|
|
1761
1768
|
const ethReservesAfter = k / nxmReservesAfter;
|
|
1762
|
-
const ethOut =
|
|
1769
|
+
const ethOut = reserves.ethReserve - ethReservesAfter;
|
|
1770
|
+
if (ethOut < 0n)
|
|
1771
|
+
throw new Error("Cannot swap this amount");
|
|
1763
1772
|
return ethOut;
|
|
1764
1773
|
};
|
|
1774
|
+
|
|
1775
|
+
// src/swap/calculateNxmForExactEth.ts
|
|
1776
|
+
var calculateNxmForExactEth = (ethOut, reserves) => {
|
|
1777
|
+
if (ethOut <= 0n || ethOut >= reserves.ethReserve)
|
|
1778
|
+
throw new Error("ETH out value must be greater than 0 and less than the reserves");
|
|
1779
|
+
const k = reserves.nxmB * reserves.ethReserve;
|
|
1780
|
+
const ethReservesAfter = reserves.ethReserve - ethOut;
|
|
1781
|
+
const nxmReservesAfter = k / ethReservesAfter;
|
|
1782
|
+
const nxmIn = nxmReservesAfter - reserves.nxmB;
|
|
1783
|
+
return nxmIn;
|
|
1784
|
+
};
|
|
1785
|
+
|
|
1786
|
+
// src/swap/calculateEthForExactNxm.ts
|
|
1787
|
+
var calculateEthForExactNxm = (nxmOut, reserves) => {
|
|
1788
|
+
if (nxmOut <= 0n || nxmOut >= reserves.nxmA)
|
|
1789
|
+
throw new Error("NXM out value must be greater than 0 and less than the reserves");
|
|
1790
|
+
const k = reserves.nxmA * reserves.ethReserve;
|
|
1791
|
+
const nxmReservesAfter = reserves.nxmA - nxmOut;
|
|
1792
|
+
const ethReservesAfter = k / nxmReservesAfter;
|
|
1793
|
+
const ethIn = ethReservesAfter - reserves.ethReserve;
|
|
1794
|
+
return ethIn;
|
|
1795
|
+
};
|
|
1796
|
+
|
|
1797
|
+
// src/swap/calculateSpotPrice.ts
|
|
1798
|
+
var calculateSpotPrice = (reserves) => {
|
|
1799
|
+
const oneEth = BigInt(1e18);
|
|
1800
|
+
return {
|
|
1801
|
+
spotPriceA: oneEth * reserves.ethReserve / reserves.nxmA,
|
|
1802
|
+
spotPriceB: oneEth * reserves.ethReserve / reserves.nxmB
|
|
1803
|
+
};
|
|
1804
|
+
};
|
|
1805
|
+
|
|
1806
|
+
// src/swap/calculatePriceImpactA.ts
|
|
1807
|
+
var calculatePriceImpactA = (ethIn, reserves) => {
|
|
1808
|
+
const { spotPriceA } = calculateSpotPrice(reserves);
|
|
1809
|
+
const nxmOut = calculateExactNxmForEth(ethIn, reserves);
|
|
1810
|
+
const nxmOutAtSpotPrice = BigInt(1e18) * ethIn / spotPriceA;
|
|
1811
|
+
return BigInt(1e6) - BigInt(1e6) * nxmOut / nxmOutAtSpotPrice;
|
|
1812
|
+
};
|
|
1813
|
+
|
|
1814
|
+
// src/swap/calculatePriceImpactB.ts
|
|
1815
|
+
var calculatePriceImpactB = (nxmIn, reserves) => {
|
|
1816
|
+
const { spotPriceB } = calculateSpotPrice(reserves);
|
|
1817
|
+
const ethOut = calculateExactEthForNxm(nxmIn, reserves);
|
|
1818
|
+
const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);
|
|
1819
|
+
return BigInt(1e6) - BigInt(1e6) * ethOut / ethOutAtSpotPrice;
|
|
1820
|
+
};
|
|
1765
1821
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1766
1822
|
0 && (module.exports = {
|
|
1767
1823
|
allLogoFileNames,
|
|
1768
|
-
|
|
1769
|
-
|
|
1824
|
+
calculateEthForExactNxm,
|
|
1825
|
+
calculateExactEthForNxm,
|
|
1826
|
+
calculateExactNxmForEth,
|
|
1827
|
+
calculateNxmForExactEth,
|
|
1828
|
+
calculatePriceImpactA,
|
|
1829
|
+
calculatePriceImpactB,
|
|
1830
|
+
calculateSpotPrice,
|
|
1770
1831
|
productTypes,
|
|
1771
1832
|
products,
|
|
1772
1833
|
...require("@nexusmutual/deployments")
|
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/calculateNxmForEth.ts","../src/swap/calculateEthForNxm.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\": false,\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 Perpetual\",\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\": false,\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\": false,\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\": \"Ribbon Finance v2\",\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 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 {\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';\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'];\n","import { Reserves } from './reserves.type';\n\nexport const calculateNxmForEth = (ethIn: bigint, reserves: Reserves): bigint => {\n // Extracting the current reserves of Nxm and Eth\n const nxmReservesBefore = BigInt(reserves.nxmA);\n const ethReserveBefore = BigInt(reserves.ethReserve);\n\n // Calculate the constant product (k) for the market maker model\n const k = ethReserveBefore * nxmReservesBefore;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = ethReserveBefore + ethIn;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm that will flow out of the pool\n const nxmOut = nxmReservesBefore - nxmReservesAfter;\n\n return nxmOut;\n};\n","import { Reserves } from './reserves.type';\n\nexport const calculateEthForNxm = (nxmIn: bigint, reserves: Reserves): bigint => {\n // Extracting the current reserves of Nxm and Eth\n const nxmReservesBefore = BigInt(reserves.nxmB);\n const ethReserveBefore = BigInt(reserves.ethReserve);\n\n // Calculate the constant product (k) for the market maker model\n const k = ethReserveBefore * nxmReservesBefore;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = nxmReservesBefore + nxmIn;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Eth that will flow out of the pool\n const ethOut = ethReserveBefore - ethReservesAfter;\n\n return ethOut;\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\": false,\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 Perpetual\",\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\": false,\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\": false,\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\": \"Ribbon Finance v2\",\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 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 {\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';\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'];\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":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -1712,31 +1712,87 @@ var product_types_default = [
|
|
|
1712
1712
|
// generated/logos/types.ts
|
|
1713
1713
|
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"];
|
|
1714
1714
|
|
|
1715
|
-
// src/swap/
|
|
1716
|
-
var
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
const k =
|
|
1720
|
-
const ethReservesAfter =
|
|
1715
|
+
// src/swap/calculateExactNxmForEth.ts
|
|
1716
|
+
var calculateExactNxmForEth = (ethIn, reserves) => {
|
|
1717
|
+
if (ethIn <= 0n)
|
|
1718
|
+
throw new Error("ETH in value must be greater than 0");
|
|
1719
|
+
const k = reserves.nxmA * reserves.ethReserve;
|
|
1720
|
+
const ethReservesAfter = reserves.ethReserve + ethIn;
|
|
1721
1721
|
const nxmReservesAfter = k / ethReservesAfter;
|
|
1722
|
-
const nxmOut =
|
|
1722
|
+
const nxmOut = reserves.nxmA - nxmReservesAfter;
|
|
1723
|
+
if (nxmOut < 0n)
|
|
1724
|
+
throw new Error("Cannot swap this amount");
|
|
1723
1725
|
return nxmOut;
|
|
1724
1726
|
};
|
|
1725
1727
|
|
|
1726
|
-
// src/swap/
|
|
1727
|
-
var
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
const k =
|
|
1731
|
-
const nxmReservesAfter =
|
|
1728
|
+
// src/swap/calculateExactEthForNxm.ts
|
|
1729
|
+
var calculateExactEthForNxm = (nxmIn, reserves) => {
|
|
1730
|
+
if (nxmIn <= 0n)
|
|
1731
|
+
throw new Error("NXM in value must be greater than 0");
|
|
1732
|
+
const k = reserves.nxmB * reserves.ethReserve;
|
|
1733
|
+
const nxmReservesAfter = reserves.nxmB + nxmIn;
|
|
1732
1734
|
const ethReservesAfter = k / nxmReservesAfter;
|
|
1733
|
-
const ethOut =
|
|
1735
|
+
const ethOut = reserves.ethReserve - ethReservesAfter;
|
|
1736
|
+
if (ethOut < 0n)
|
|
1737
|
+
throw new Error("Cannot swap this amount");
|
|
1734
1738
|
return ethOut;
|
|
1735
1739
|
};
|
|
1740
|
+
|
|
1741
|
+
// src/swap/calculateNxmForExactEth.ts
|
|
1742
|
+
var calculateNxmForExactEth = (ethOut, reserves) => {
|
|
1743
|
+
if (ethOut <= 0n || ethOut >= reserves.ethReserve)
|
|
1744
|
+
throw new Error("ETH out value must be greater than 0 and less than the reserves");
|
|
1745
|
+
const k = reserves.nxmB * reserves.ethReserve;
|
|
1746
|
+
const ethReservesAfter = reserves.ethReserve - ethOut;
|
|
1747
|
+
const nxmReservesAfter = k / ethReservesAfter;
|
|
1748
|
+
const nxmIn = nxmReservesAfter - reserves.nxmB;
|
|
1749
|
+
return nxmIn;
|
|
1750
|
+
};
|
|
1751
|
+
|
|
1752
|
+
// src/swap/calculateEthForExactNxm.ts
|
|
1753
|
+
var calculateEthForExactNxm = (nxmOut, reserves) => {
|
|
1754
|
+
if (nxmOut <= 0n || nxmOut >= reserves.nxmA)
|
|
1755
|
+
throw new Error("NXM out value must be greater than 0 and less than the reserves");
|
|
1756
|
+
const k = reserves.nxmA * reserves.ethReserve;
|
|
1757
|
+
const nxmReservesAfter = reserves.nxmA - nxmOut;
|
|
1758
|
+
const ethReservesAfter = k / nxmReservesAfter;
|
|
1759
|
+
const ethIn = ethReservesAfter - reserves.ethReserve;
|
|
1760
|
+
return ethIn;
|
|
1761
|
+
};
|
|
1762
|
+
|
|
1763
|
+
// src/swap/calculateSpotPrice.ts
|
|
1764
|
+
var calculateSpotPrice = (reserves) => {
|
|
1765
|
+
const oneEth = BigInt(1e18);
|
|
1766
|
+
return {
|
|
1767
|
+
spotPriceA: oneEth * reserves.ethReserve / reserves.nxmA,
|
|
1768
|
+
spotPriceB: oneEth * reserves.ethReserve / reserves.nxmB
|
|
1769
|
+
};
|
|
1770
|
+
};
|
|
1771
|
+
|
|
1772
|
+
// src/swap/calculatePriceImpactA.ts
|
|
1773
|
+
var calculatePriceImpactA = (ethIn, reserves) => {
|
|
1774
|
+
const { spotPriceA } = calculateSpotPrice(reserves);
|
|
1775
|
+
const nxmOut = calculateExactNxmForEth(ethIn, reserves);
|
|
1776
|
+
const nxmOutAtSpotPrice = BigInt(1e18) * ethIn / spotPriceA;
|
|
1777
|
+
return BigInt(1e6) - BigInt(1e6) * nxmOut / nxmOutAtSpotPrice;
|
|
1778
|
+
};
|
|
1779
|
+
|
|
1780
|
+
// src/swap/calculatePriceImpactB.ts
|
|
1781
|
+
var calculatePriceImpactB = (nxmIn, reserves) => {
|
|
1782
|
+
const { spotPriceB } = calculateSpotPrice(reserves);
|
|
1783
|
+
const ethOut = calculateExactEthForNxm(nxmIn, reserves);
|
|
1784
|
+
const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);
|
|
1785
|
+
return BigInt(1e6) - BigInt(1e6) * ethOut / ethOutAtSpotPrice;
|
|
1786
|
+
};
|
|
1736
1787
|
export {
|
|
1737
1788
|
allLogoFileNames,
|
|
1738
|
-
|
|
1739
|
-
|
|
1789
|
+
calculateEthForExactNxm,
|
|
1790
|
+
calculateExactEthForNxm,
|
|
1791
|
+
calculateExactNxmForEth,
|
|
1792
|
+
calculateNxmForExactEth,
|
|
1793
|
+
calculatePriceImpactA,
|
|
1794
|
+
calculatePriceImpactB,
|
|
1795
|
+
calculateSpotPrice,
|
|
1740
1796
|
product_types_default as productTypes,
|
|
1741
1797
|
products_default as products
|
|
1742
1798
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/logos/types.ts","../src/swap/calculateNxmForEth.ts","../src/swap/calculateEthForNxm.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\": false,\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 Perpetual\",\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\": false,\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\": false,\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\": \"Ribbon Finance v2\",\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 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 {\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';\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'];\n","import { Reserves } from './reserves.type';\n\nexport const calculateNxmForEth = (ethIn: bigint, reserves: Reserves): bigint => {\n // Extracting the current reserves of Nxm and Eth\n const nxmReservesBefore = BigInt(reserves.nxmA);\n const ethReserveBefore = BigInt(reserves.ethReserve);\n\n // Calculate the constant product (k) for the market maker model\n const k = ethReserveBefore * nxmReservesBefore;\n\n // Simulate the swap and calculate the new reserves\n const ethReservesAfter = ethReserveBefore + ethIn;\n const nxmReservesAfter = k / ethReservesAfter;\n\n // Calculate the amount of Nxm that will flow out of the pool\n const nxmOut = nxmReservesBefore - nxmReservesAfter;\n\n return nxmOut;\n};\n","import { Reserves } from './reserves.type';\n\nexport const calculateEthForNxm = (nxmIn: bigint, reserves: Reserves): bigint => {\n // Extracting the current reserves of Nxm and Eth\n const nxmReservesBefore = BigInt(reserves.nxmB);\n const ethReserveBefore = BigInt(reserves.ethReserve);\n\n // Calculate the constant product (k) for the market maker model\n const k = ethReserveBefore * nxmReservesBefore;\n\n // Simulate the swap and calculate the new reserves\n const nxmReservesAfter = nxmReservesBefore + nxmIn;\n const ethReservesAfter = k / nxmReservesAfter;\n\n // Calculate the amount of Eth that will flow out of the pool\n const ethOut = ethReserveBefore - ethReservesAfter;\n\n return ethOut;\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\": false,\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 Perpetual\",\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\": false,\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\": false,\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\": \"Ribbon Finance v2\",\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 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 {\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';\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'];\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":[]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexusmutual/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Nexus Mutual SDK",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "node scripts/build.js",
|
|
7
|
-
"test": "jest"
|
|
7
|
+
"test": "jest",
|
|
8
|
+
"test:watch": "jest --watch"
|
|
8
9
|
},
|
|
9
10
|
"typings": "./dist/index.d.ts",
|
|
10
11
|
"main": "./dist/index.js",
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
"semver": "^7.4.0",
|
|
47
48
|
"ts-jest": "^29.1.1",
|
|
48
49
|
"tsup": "^7.1.0",
|
|
49
|
-
"typescript": "^5.1.6"
|
|
50
|
+
"typescript": "^5.1.6",
|
|
51
|
+
"viem": "^1.16.6"
|
|
50
52
|
}
|
|
51
53
|
}
|