@nexusmutual/sdk 0.2.16 → 0.2.17

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 CHANGED
@@ -2203,4 +2203,6 @@ declare const calculateSpotPrice: (reserves: Reserves) => {
2203
2203
  spotPriceB: bigint;
2204
2204
  };
2205
2205
 
2206
- export { LogoFileName, LogoName, Reserves, allLogoFileNames, allLogoNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
2206
+ declare const calculatePremiumWithCommissionAndSlippage: (premium: bigint, commission?: number, slippage?: number) => bigint;
2207
+
2208
+ export { LogoFileName, LogoName, Reserves, allLogoFileNames, allLogoNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePremiumWithCommissionAndSlippage, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
package/dist/index.d.ts CHANGED
@@ -2203,4 +2203,6 @@ declare const calculateSpotPrice: (reserves: Reserves) => {
2203
2203
  spotPriceB: bigint;
2204
2204
  };
2205
2205
 
2206
- export { LogoFileName, LogoName, Reserves, allLogoFileNames, allLogoNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
2206
+ declare const calculatePremiumWithCommissionAndSlippage: (premium: bigint, commission?: number, slippage?: number) => bigint;
2207
+
2208
+ export { LogoFileName, LogoName, Reserves, allLogoFileNames, allLogoNames, calculateEthForExactNxm, calculateExactEthForNxm, calculateExactNxmForEth, calculateNxmForExactEth, calculatePremiumWithCommissionAndSlippage, calculatePriceImpactA, calculatePriceImpactB, calculateSpotPrice, productTypes, products };
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ __export(src_exports, {
27
27
  calculateExactEthForNxm: () => calculateExactEthForNxm,
28
28
  calculateExactNxmForEth: () => calculateExactNxmForEth,
29
29
  calculateNxmForExactEth: () => calculateNxmForExactEth,
30
+ calculatePremiumWithCommissionAndSlippage: () => calculatePremiumWithCommissionAndSlippage,
30
31
  calculatePriceImpactA: () => calculatePriceImpactA,
31
32
  calculatePriceImpactB: () => calculatePriceImpactB,
32
33
  calculateSpotPrice: () => calculateSpotPrice,
@@ -2527,6 +2528,17 @@ var calculatePriceImpactB = (nxmIn, reserves) => {
2527
2528
  const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);
2528
2529
  return BigInt(1e6) - BigInt(1e6) * ethOut / ethOutAtSpotPrice;
2529
2530
  };
2531
+
2532
+ // src/constants/buyCover.ts
2533
+ var COMMISSION_DENOMINATOR = 1e4;
2534
+ var SLIPPAGE_DENOMINATOR = 1e4;
2535
+
2536
+ // src/buyCover/calculatePremiumWithCommissionAndSlippage.ts
2537
+ var calculatePremiumWithCommissionAndSlippage = (premium, commission = 0, slippage = 0) => {
2538
+ const premiumWithCommission = premium * BigInt(COMMISSION_DENOMINATOR) / BigInt(COMMISSION_DENOMINATOR - commission);
2539
+ const premiumWithCommissionAndSlippage = premiumWithCommission * BigInt(SLIPPAGE_DENOMINATOR + slippage) / BigInt(SLIPPAGE_DENOMINATOR);
2540
+ return premiumWithCommissionAndSlippage;
2541
+ };
2530
2542
  // Annotate the CommonJS export names for ESM import in node:
2531
2543
  0 && (module.exports = {
2532
2544
  allLogoFileNames,
@@ -2535,6 +2547,7 @@ var calculatePriceImpactB = (nxmIn, reserves) => {
2535
2547
  calculateExactEthForNxm,
2536
2548
  calculateExactNxmForEth,
2537
2549
  calculateNxmForExactEth,
2550
+ calculatePremiumWithCommissionAndSlippage,
2538
2551
  calculatePriceImpactA,
2539
2552
  calculatePriceImpactB,
2540
2553
  calculateSpotPrice,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/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/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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"annex\": \"QmSBvXTyDrrhQZir1CAwfZY7dYysMdMznMqv753LDS2uix\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmRMnVaZvAJQUTFF4PReXTeHv6vrQJvTz3T9UpuARf2djR\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSZ8pTHUGE4HjCSbG5DvyvM4axYKwcUwQ3nbdHrKLdU3b\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmbG3HRdbNJKeoRp8ScKrYUtiZpfqfWKSmWuYu3mN4LutK\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"annex\": \"QmUeLxx2o32gGJd9yQ3V1So35TGhYrt6QrpoCvGsrZPeMY\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSqCe8QrPSCjAXRrWxcqFLnFvK4Eecw8NZ6hYEFAgQVyD\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 119,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 120,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 121,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 122,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 123,\n \"name\": \"Yearn v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 124,\n \"name\": \"Velodrome v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"velodrome2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 125,\n \"name\": \"GMX v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmxv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 126,\n \"name\": \"dHEDGE\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dhedge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 127,\n \"name\": \"Term Finance\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"term-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 128,\n \"name\": \"Pendle\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pendle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 129,\n \"name\": \"Aerodrome\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aerodrome.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 130,\n \"name\": \"Hyperliquid\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"hyperliquid.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 131,\n \"name\": \"Maverick\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"maverick.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 132,\n \"name\": \"Equilibria\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"equilibria.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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/QmQfYgbBhyC3gJMvan9gbzUaZtd4Xy4gubEYfgTFKycBDZ\",\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 const allLogoFileNames = [\n 'zerox.svg',\n 'oneinch.svg',\n 'aavev2.svg',\n 'abracadabra.svg',\n 'alchemix.svg',\n 'anchor.svg',\n 'angle.svg',\n 'argent.svg',\n 'aura.svg',\n 'babylon.svg',\n 'badgerdao.svg',\n 'balancer.svg',\n 'bancor.svg',\n 'bancor.svg',\n 'beefy.svg',\n 'binance.svg',\n 'blockFi.svg',\n 'gelt.svg',\n 'centrifuge.svg',\n 'coinbase.svg',\n 'compoundv2.svg',\n 'convex.svg',\n 'convex.svg',\n 'convex.svg',\n 'crypto-com.svg',\n 'curve.svg',\n 'curve.svg',\n 'curve.svg',\n 'dydx.svg',\n 'ease.svg',\n 'enzyme.svg',\n 'enzyme.svg',\n 'eth.svg',\n 'euler.svg',\n 'fodl.svg',\n 'ftx.svg',\n 'gearbox.svg',\n 'gemini.svg',\n 'gmx.svg',\n 'goldfinch.svg',\n 'hodlnaut.svg',\n 'kraken.svg',\n 'ledn.svg',\n 'liquidcollective.svg',\n 'liquity.svg',\n 'makerdao.svg',\n 'mstable.svg',\n 'nested.svg',\n 'nexo.svg',\n 'notional-finance.svg',\n 'olympusdao.svg',\n 'opyn.png',\n 'originusd.svg',\n 'pangolin.svg',\n 'perpetual.svg',\n 'pooltogether.svg',\n 'premia.svg',\n 'rari.svg',\n 'reflexer.png',\n 'ribbon.svg',\n 'gnosis-safe.svg',\n 'tokensets.svg',\n 'tokensets.svg',\n 'sherlock.svg',\n 'stakedao.svg',\n 'stakewise.svg',\n 'stakewise.svg',\n 'sushiswap.svg',\n 'synthetix.svg',\n 'thorchain.svg',\n 'trader-joe.svg',\n 'uniswapv2.svg',\n 'uniswapv2.svg',\n 'vector.svg',\n 'vesper.svg',\n 'yearn.svg',\n 'yearn.svg',\n 'yeti.png',\n 'yield-app.svg',\n 'alpaca.svg',\n 'wefi.png',\n 'exactly.svg',\n 'etherfi.png',\n 'squeeth-by-opyn.png',\n 'rage-trade.svg',\n 'sentiment.png',\n 'lyra.svg',\n 'perennial.jpeg',\n 'liquify.svg',\n 'lyra.svg',\n 'buffer-finance.svg',\n 'hook.jpeg',\n 'holyheld.jpeg',\n 'union-finance.svg',\n 'openq.png',\n 'level-finance.png',\n 'offramp.png',\n 'aavev3.svg',\n 'morpho.svg',\n 'chorusone.svg',\n 'kiln.svg',\n 'vertex.svg',\n 'the-retail-mutual.png',\n 'figment.svg',\n 'teller.svg',\n 'ajna.svg',\n 'eigenlayer.png',\n 'vox.png',\n 'mahalend.svg',\n 'self.svg',\n 'scallop.svg',\n 'wefi.png',\n 'zktsunami.svg',\n 'hats.svg',\n 'makerdao-dsr.svg',\n 'spark-lending.svg',\n 'defi-edge.svg',\n 'stakewisev3.svg',\n 'compoundv3.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'yearn.svg',\n 'velodrome2.svg',\n 'gmxv2.svg',\n 'dhedge.svg',\n 'term-finance.png',\n 'pendle.svg',\n 'aerodrome.svg',\n 'hyperliquid.svg',\n 'maverick.svg',\n 'equilibria.svg',\n 'akropolis.svg',\n 'alpha-homora.svg',\n 'ampleforth.svg',\n 'arbitrum.svg',\n 'aurora.svg',\n 'avalanche.svg',\n 'bunnypancake.svg',\n 'celo.svg',\n 'celsius.svg',\n 'cowswap.svg',\n 'cronos.svg',\n 'dforce.svg',\n 'dodo.svg',\n 'element-finance.svg',\n 'fantom.svg',\n 'fuse.svg',\n 'gamma.svg',\n 'gnosis-multisig.svg',\n 'harmony.svg',\n 'heco.svg',\n 'homora.svg',\n 'idleDAIYield.svg',\n 'idleUSDTYield.svg',\n 'ironbank.svg',\n 'metis.svg',\n 'moonbeam.svg',\n 'mooniswap.svg',\n 'moonriver.svg',\n 'nexus-mutual.svg',\n 'nucypher.svg',\n 'ondo.svg',\n 'optimism.svg',\n 'pancakeswap.svg',\n 'polkadot.svg',\n 'polygon.svg',\n 'popsicle.svg',\n 'ren.svg',\n 'solana.svg',\n 'starkware.svg',\n 'tbtc.svg',\n 'terra-chain.svg',\n 'venus.svg',\n 'vesper-veth.svg',\n 'zksync.svg'\n] as const;\n\nexport type LogoFileName = (typeof allLogoFileNames)[number];\n\nexport const allLogoNames = [\n 'zerox',\n 'oneinch',\n 'aavev2',\n 'abracadabra',\n 'alchemix',\n 'anchor',\n 'angle',\n 'argent',\n 'aura',\n 'babylon',\n 'badgerdao',\n 'balancer',\n 'bancor',\n 'bancor',\n 'beefy',\n 'binance',\n 'blockFi',\n 'gelt',\n 'centrifuge',\n 'coinbase',\n 'compoundv2',\n 'convex',\n 'convex',\n 'convex',\n 'crypto-com',\n 'curve',\n 'curve',\n 'curve',\n 'dydx',\n 'ease',\n 'enzyme',\n 'enzyme',\n 'eth',\n 'euler',\n 'fodl',\n 'ftx',\n 'gearbox',\n 'gemini',\n 'gmx',\n 'goldfinch',\n 'hodlnaut',\n 'kraken',\n 'ledn',\n 'liquidcollective',\n 'liquity',\n 'makerdao',\n 'mstable',\n 'nested',\n 'nexo',\n 'notional-finance',\n 'olympusdao',\n 'opyn',\n 'originusd',\n 'pangolin',\n 'perpetual',\n 'pooltogether',\n 'premia',\n 'rari',\n 'reflexer',\n 'ribbon',\n 'gnosis-safe',\n 'tokensets',\n 'tokensets',\n 'sherlock',\n 'stakedao',\n 'stakewise',\n 'stakewise',\n 'sushiswap',\n 'synthetix',\n 'thorchain',\n 'trader-joe',\n 'uniswapv2',\n 'uniswapv2',\n 'vector',\n 'vesper',\n 'yearn',\n 'yearn',\n 'yeti',\n 'yield-app',\n 'alpaca',\n 'wefi',\n 'exactly',\n 'etherfi',\n 'squeeth-by-opyn',\n 'rage-trade',\n 'sentiment',\n 'lyra',\n 'perennial',\n 'liquify',\n 'lyra',\n 'buffer-finance',\n 'hook',\n 'holyheld',\n 'union-finance',\n 'openq',\n 'level-finance',\n 'offramp',\n 'aavev3',\n 'morpho',\n 'chorusone',\n 'kiln',\n 'vertex',\n 'the-retail-mutual',\n 'figment',\n 'teller',\n 'ajna',\n 'eigenlayer',\n 'vox',\n 'mahalend',\n 'self',\n 'scallop',\n 'wefi',\n 'zktsunami',\n 'hats',\n 'makerdao-dsr',\n 'spark-lending',\n 'defi-edge',\n 'stakewisev3',\n 'compoundv3',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'yearn',\n 'velodrome2',\n 'gmxv2',\n 'dhedge',\n 'term-finance',\n 'pendle',\n 'aerodrome',\n 'hyperliquid',\n 'maverick',\n 'equilibria',\n 'akropolis',\n 'alpha-homora',\n 'ampleforth',\n 'arbitrum',\n 'aurora',\n 'avalanche',\n 'bunnypancake',\n 'celo',\n 'celsius',\n 'cowswap',\n 'cronos',\n 'dforce',\n 'dodo',\n 'element-finance',\n 'fantom',\n 'fuse',\n 'gamma',\n 'gnosis-multisig',\n 'harmony',\n 'heco',\n 'homora',\n 'idleDAIYield',\n 'idleUSDTYield',\n 'ironbank',\n 'metis',\n 'moonbeam',\n 'mooniswap',\n 'moonriver',\n 'nexus-mutual',\n 'nucypher',\n 'ondo',\n 'optimism',\n 'pancakeswap',\n 'polkadot',\n 'polygon',\n 'popsicle',\n 'ren',\n 'solana',\n 'starkware',\n 'tbtc',\n 'terra-chain',\n 'venus',\n 'vesper-veth',\n 'zksync'\n] as const;\n\nexport type LogoName = (typeof allLogoNames)[number];\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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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAC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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/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","../src/constants/buyCover.ts","../src/buyCover/calculatePremiumWithCommissionAndSlippage.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/types';\n\nexport * from './swap/index';\n\nexport * from './buyCover/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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"annex\": \"QmSBvXTyDrrhQZir1CAwfZY7dYysMdMznMqv753LDS2uix\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmRMnVaZvAJQUTFF4PReXTeHv6vrQJvTz3T9UpuARf2djR\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSZ8pTHUGE4HjCSbG5DvyvM4axYKwcUwQ3nbdHrKLdU3b\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmbG3HRdbNJKeoRp8ScKrYUtiZpfqfWKSmWuYu3mN4LutK\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"annex\": \"QmUeLxx2o32gGJd9yQ3V1So35TGhYrt6QrpoCvGsrZPeMY\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSqCe8QrPSCjAXRrWxcqFLnFvK4Eecw8NZ6hYEFAgQVyD\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 119,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 120,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 121,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 122,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 123,\n \"name\": \"Yearn v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 124,\n \"name\": \"Velodrome v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"velodrome2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 125,\n \"name\": \"GMX v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmxv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 126,\n \"name\": \"dHEDGE\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dhedge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 127,\n \"name\": \"Term Finance\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"term-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 128,\n \"name\": \"Pendle\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pendle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 129,\n \"name\": \"Aerodrome\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aerodrome.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 130,\n \"name\": \"Hyperliquid\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"hyperliquid.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 131,\n \"name\": \"Maverick\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"maverick.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 132,\n \"name\": \"Equilibria\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"equilibria.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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/QmQfYgbBhyC3gJMvan9gbzUaZtd4Xy4gubEYfgTFKycBDZ\",\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 const allLogoFileNames = [\n 'zerox.svg',\n 'oneinch.svg',\n 'aavev2.svg',\n 'abracadabra.svg',\n 'alchemix.svg',\n 'anchor.svg',\n 'angle.svg',\n 'argent.svg',\n 'aura.svg',\n 'babylon.svg',\n 'badgerdao.svg',\n 'balancer.svg',\n 'bancor.svg',\n 'bancor.svg',\n 'beefy.svg',\n 'binance.svg',\n 'blockFi.svg',\n 'gelt.svg',\n 'centrifuge.svg',\n 'coinbase.svg',\n 'compoundv2.svg',\n 'convex.svg',\n 'convex.svg',\n 'convex.svg',\n 'crypto-com.svg',\n 'curve.svg',\n 'curve.svg',\n 'curve.svg',\n 'dydx.svg',\n 'ease.svg',\n 'enzyme.svg',\n 'enzyme.svg',\n 'eth.svg',\n 'euler.svg',\n 'fodl.svg',\n 'ftx.svg',\n 'gearbox.svg',\n 'gemini.svg',\n 'gmx.svg',\n 'goldfinch.svg',\n 'hodlnaut.svg',\n 'kraken.svg',\n 'ledn.svg',\n 'liquidcollective.svg',\n 'liquity.svg',\n 'makerdao.svg',\n 'mstable.svg',\n 'nested.svg',\n 'nexo.svg',\n 'notional-finance.svg',\n 'olympusdao.svg',\n 'opyn.png',\n 'originusd.svg',\n 'pangolin.svg',\n 'perpetual.svg',\n 'pooltogether.svg',\n 'premia.svg',\n 'rari.svg',\n 'reflexer.png',\n 'ribbon.svg',\n 'gnosis-safe.svg',\n 'tokensets.svg',\n 'tokensets.svg',\n 'sherlock.svg',\n 'stakedao.svg',\n 'stakewise.svg',\n 'stakewise.svg',\n 'sushiswap.svg',\n 'synthetix.svg',\n 'thorchain.svg',\n 'trader-joe.svg',\n 'uniswapv2.svg',\n 'uniswapv2.svg',\n 'vector.svg',\n 'vesper.svg',\n 'yearn.svg',\n 'yearn.svg',\n 'yeti.png',\n 'yield-app.svg',\n 'alpaca.svg',\n 'wefi.png',\n 'exactly.svg',\n 'etherfi.png',\n 'squeeth-by-opyn.png',\n 'rage-trade.svg',\n 'sentiment.png',\n 'lyra.svg',\n 'perennial.jpeg',\n 'liquify.svg',\n 'lyra.svg',\n 'buffer-finance.svg',\n 'hook.jpeg',\n 'holyheld.jpeg',\n 'union-finance.svg',\n 'openq.png',\n 'level-finance.png',\n 'offramp.png',\n 'aavev3.svg',\n 'morpho.svg',\n 'chorusone.svg',\n 'kiln.svg',\n 'vertex.svg',\n 'the-retail-mutual.png',\n 'figment.svg',\n 'teller.svg',\n 'ajna.svg',\n 'eigenlayer.png',\n 'vox.png',\n 'mahalend.svg',\n 'self.svg',\n 'scallop.svg',\n 'wefi.png',\n 'zktsunami.svg',\n 'hats.svg',\n 'makerdao-dsr.svg',\n 'spark-lending.svg',\n 'defi-edge.svg',\n 'stakewisev3.svg',\n 'compoundv3.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'yearn.svg',\n 'velodrome2.svg',\n 'gmxv2.svg',\n 'dhedge.svg',\n 'term-finance.png',\n 'pendle.svg',\n 'aerodrome.svg',\n 'hyperliquid.svg',\n 'maverick.svg',\n 'equilibria.svg',\n 'akropolis.svg',\n 'alpha-homora.svg',\n 'ampleforth.svg',\n 'arbitrum.svg',\n 'aurora.svg',\n 'avalanche.svg',\n 'bunnypancake.svg',\n 'celo.svg',\n 'celsius.svg',\n 'cowswap.svg',\n 'cronos.svg',\n 'dforce.svg',\n 'dodo.svg',\n 'element-finance.svg',\n 'fantom.svg',\n 'fuse.svg',\n 'gamma.svg',\n 'gnosis-multisig.svg',\n 'harmony.svg',\n 'heco.svg',\n 'homora.svg',\n 'idleDAIYield.svg',\n 'idleUSDTYield.svg',\n 'ironbank.svg',\n 'metis.svg',\n 'moonbeam.svg',\n 'mooniswap.svg',\n 'moonriver.svg',\n 'nexus-mutual.svg',\n 'nucypher.svg',\n 'ondo.svg',\n 'optimism.svg',\n 'pancakeswap.svg',\n 'polkadot.svg',\n 'polygon.svg',\n 'popsicle.svg',\n 'ren.svg',\n 'solana.svg',\n 'starkware.svg',\n 'tbtc.svg',\n 'terra-chain.svg',\n 'venus.svg',\n 'vesper-veth.svg',\n 'zksync.svg'\n] as const;\n\nexport type LogoFileName = (typeof allLogoFileNames)[number];\n\nexport const allLogoNames = [\n 'zerox',\n 'oneinch',\n 'aavev2',\n 'abracadabra',\n 'alchemix',\n 'anchor',\n 'angle',\n 'argent',\n 'aura',\n 'babylon',\n 'badgerdao',\n 'balancer',\n 'bancor',\n 'bancor',\n 'beefy',\n 'binance',\n 'blockFi',\n 'gelt',\n 'centrifuge',\n 'coinbase',\n 'compoundv2',\n 'convex',\n 'convex',\n 'convex',\n 'crypto-com',\n 'curve',\n 'curve',\n 'curve',\n 'dydx',\n 'ease',\n 'enzyme',\n 'enzyme',\n 'eth',\n 'euler',\n 'fodl',\n 'ftx',\n 'gearbox',\n 'gemini',\n 'gmx',\n 'goldfinch',\n 'hodlnaut',\n 'kraken',\n 'ledn',\n 'liquidcollective',\n 'liquity',\n 'makerdao',\n 'mstable',\n 'nested',\n 'nexo',\n 'notional-finance',\n 'olympusdao',\n 'opyn',\n 'originusd',\n 'pangolin',\n 'perpetual',\n 'pooltogether',\n 'premia',\n 'rari',\n 'reflexer',\n 'ribbon',\n 'gnosis-safe',\n 'tokensets',\n 'tokensets',\n 'sherlock',\n 'stakedao',\n 'stakewise',\n 'stakewise',\n 'sushiswap',\n 'synthetix',\n 'thorchain',\n 'trader-joe',\n 'uniswapv2',\n 'uniswapv2',\n 'vector',\n 'vesper',\n 'yearn',\n 'yearn',\n 'yeti',\n 'yield-app',\n 'alpaca',\n 'wefi',\n 'exactly',\n 'etherfi',\n 'squeeth-by-opyn',\n 'rage-trade',\n 'sentiment',\n 'lyra',\n 'perennial',\n 'liquify',\n 'lyra',\n 'buffer-finance',\n 'hook',\n 'holyheld',\n 'union-finance',\n 'openq',\n 'level-finance',\n 'offramp',\n 'aavev3',\n 'morpho',\n 'chorusone',\n 'kiln',\n 'vertex',\n 'the-retail-mutual',\n 'figment',\n 'teller',\n 'ajna',\n 'eigenlayer',\n 'vox',\n 'mahalend',\n 'self',\n 'scallop',\n 'wefi',\n 'zktsunami',\n 'hats',\n 'makerdao-dsr',\n 'spark-lending',\n 'defi-edge',\n 'stakewisev3',\n 'compoundv3',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'yearn',\n 'velodrome2',\n 'gmxv2',\n 'dhedge',\n 'term-finance',\n 'pendle',\n 'aerodrome',\n 'hyperliquid',\n 'maverick',\n 'equilibria',\n 'akropolis',\n 'alpha-homora',\n 'ampleforth',\n 'arbitrum',\n 'aurora',\n 'avalanche',\n 'bunnypancake',\n 'celo',\n 'celsius',\n 'cowswap',\n 'cronos',\n 'dforce',\n 'dodo',\n 'element-finance',\n 'fantom',\n 'fuse',\n 'gamma',\n 'gnosis-multisig',\n 'harmony',\n 'heco',\n 'homora',\n 'idleDAIYield',\n 'idleUSDTYield',\n 'ironbank',\n 'metis',\n 'moonbeam',\n 'mooniswap',\n 'moonriver',\n 'nexus-mutual',\n 'nucypher',\n 'ondo',\n 'optimism',\n 'pancakeswap',\n 'polkadot',\n 'polygon',\n 'popsicle',\n 'ren',\n 'solana',\n 'starkware',\n 'tbtc',\n 'terra-chain',\n 'venus',\n 'vesper-veth',\n 'zksync'\n] as const;\n\nexport type LogoName = (typeof allLogoNames)[number];\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","export const COMMISSION_DENOMINATOR = 100_00;\nexport const SLIPPAGE_DENOMINATOR = 100_00;\n","import { COMMISSION_DENOMINATOR, SLIPPAGE_DENOMINATOR } from '../constants/buyCover';\n\nexport const calculatePremiumWithCommissionAndSlippage = (premium: bigint, commission = 0, slippage = 0) => {\n const premiumWithCommission =\n (premium * BigInt(COMMISSION_DENOMINATOR)) / BigInt(COMMISSION_DENOMINATOR - commission);\n\n const premiumWithCommissionAndSlippage =\n (premiumWithCommission * BigInt(SLIPPAGE_DENOMINATOR + slippage)) / BigInt(SLIPPAGE_DENOMINATOR);\n\n return premiumWithCommissionAndSlippage;\n};\n"],"mappings":"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,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAA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","names":[]}
package/dist/index.mjs CHANGED
@@ -2492,6 +2492,17 @@ var calculatePriceImpactB = (nxmIn, reserves) => {
2492
2492
  const ethOutAtSpotPrice = spotPriceB * nxmIn / BigInt(1e18);
2493
2493
  return BigInt(1e6) - BigInt(1e6) * ethOut / ethOutAtSpotPrice;
2494
2494
  };
2495
+
2496
+ // src/constants/buyCover.ts
2497
+ var COMMISSION_DENOMINATOR = 1e4;
2498
+ var SLIPPAGE_DENOMINATOR = 1e4;
2499
+
2500
+ // src/buyCover/calculatePremiumWithCommissionAndSlippage.ts
2501
+ var calculatePremiumWithCommissionAndSlippage = (premium, commission = 0, slippage = 0) => {
2502
+ const premiumWithCommission = premium * BigInt(COMMISSION_DENOMINATOR) / BigInt(COMMISSION_DENOMINATOR - commission);
2503
+ const premiumWithCommissionAndSlippage = premiumWithCommission * BigInt(SLIPPAGE_DENOMINATOR + slippage) / BigInt(SLIPPAGE_DENOMINATOR);
2504
+ return premiumWithCommissionAndSlippage;
2505
+ };
2495
2506
  export {
2496
2507
  allLogoFileNames,
2497
2508
  allLogoNames,
@@ -2499,6 +2510,7 @@ export {
2499
2510
  calculateExactEthForNxm,
2500
2511
  calculateExactNxmForEth,
2501
2512
  calculateNxmForExactEth,
2513
+ calculatePremiumWithCommissionAndSlippage,
2502
2514
  calculatePriceImpactA,
2503
2515
  calculatePriceImpactB,
2504
2516
  calculateSpotPrice,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/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/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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"annex\": \"QmSBvXTyDrrhQZir1CAwfZY7dYysMdMznMqv753LDS2uix\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmRMnVaZvAJQUTFF4PReXTeHv6vrQJvTz3T9UpuARf2djR\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSZ8pTHUGE4HjCSbG5DvyvM4axYKwcUwQ3nbdHrKLdU3b\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmbG3HRdbNJKeoRp8ScKrYUtiZpfqfWKSmWuYu3mN4LutK\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"annex\": \"QmUeLxx2o32gGJd9yQ3V1So35TGhYrt6QrpoCvGsrZPeMY\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSqCe8QrPSCjAXRrWxcqFLnFvK4Eecw8NZ6hYEFAgQVyD\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 119,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 120,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 121,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 122,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 123,\n \"name\": \"Yearn v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 124,\n \"name\": \"Velodrome v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"velodrome2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 125,\n \"name\": \"GMX v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmxv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 126,\n \"name\": \"dHEDGE\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dhedge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 127,\n \"name\": \"Term Finance\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"term-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 128,\n \"name\": \"Pendle\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pendle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 129,\n \"name\": \"Aerodrome\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aerodrome.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 130,\n \"name\": \"Hyperliquid\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"hyperliquid.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 131,\n \"name\": \"Maverick\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"maverick.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 132,\n \"name\": \"Equilibria\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"equilibria.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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/QmQfYgbBhyC3gJMvan9gbzUaZtd4Xy4gubEYfgTFKycBDZ\",\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 const allLogoFileNames = [\n 'zerox.svg',\n 'oneinch.svg',\n 'aavev2.svg',\n 'abracadabra.svg',\n 'alchemix.svg',\n 'anchor.svg',\n 'angle.svg',\n 'argent.svg',\n 'aura.svg',\n 'babylon.svg',\n 'badgerdao.svg',\n 'balancer.svg',\n 'bancor.svg',\n 'bancor.svg',\n 'beefy.svg',\n 'binance.svg',\n 'blockFi.svg',\n 'gelt.svg',\n 'centrifuge.svg',\n 'coinbase.svg',\n 'compoundv2.svg',\n 'convex.svg',\n 'convex.svg',\n 'convex.svg',\n 'crypto-com.svg',\n 'curve.svg',\n 'curve.svg',\n 'curve.svg',\n 'dydx.svg',\n 'ease.svg',\n 'enzyme.svg',\n 'enzyme.svg',\n 'eth.svg',\n 'euler.svg',\n 'fodl.svg',\n 'ftx.svg',\n 'gearbox.svg',\n 'gemini.svg',\n 'gmx.svg',\n 'goldfinch.svg',\n 'hodlnaut.svg',\n 'kraken.svg',\n 'ledn.svg',\n 'liquidcollective.svg',\n 'liquity.svg',\n 'makerdao.svg',\n 'mstable.svg',\n 'nested.svg',\n 'nexo.svg',\n 'notional-finance.svg',\n 'olympusdao.svg',\n 'opyn.png',\n 'originusd.svg',\n 'pangolin.svg',\n 'perpetual.svg',\n 'pooltogether.svg',\n 'premia.svg',\n 'rari.svg',\n 'reflexer.png',\n 'ribbon.svg',\n 'gnosis-safe.svg',\n 'tokensets.svg',\n 'tokensets.svg',\n 'sherlock.svg',\n 'stakedao.svg',\n 'stakewise.svg',\n 'stakewise.svg',\n 'sushiswap.svg',\n 'synthetix.svg',\n 'thorchain.svg',\n 'trader-joe.svg',\n 'uniswapv2.svg',\n 'uniswapv2.svg',\n 'vector.svg',\n 'vesper.svg',\n 'yearn.svg',\n 'yearn.svg',\n 'yeti.png',\n 'yield-app.svg',\n 'alpaca.svg',\n 'wefi.png',\n 'exactly.svg',\n 'etherfi.png',\n 'squeeth-by-opyn.png',\n 'rage-trade.svg',\n 'sentiment.png',\n 'lyra.svg',\n 'perennial.jpeg',\n 'liquify.svg',\n 'lyra.svg',\n 'buffer-finance.svg',\n 'hook.jpeg',\n 'holyheld.jpeg',\n 'union-finance.svg',\n 'openq.png',\n 'level-finance.png',\n 'offramp.png',\n 'aavev3.svg',\n 'morpho.svg',\n 'chorusone.svg',\n 'kiln.svg',\n 'vertex.svg',\n 'the-retail-mutual.png',\n 'figment.svg',\n 'teller.svg',\n 'ajna.svg',\n 'eigenlayer.png',\n 'vox.png',\n 'mahalend.svg',\n 'self.svg',\n 'scallop.svg',\n 'wefi.png',\n 'zktsunami.svg',\n 'hats.svg',\n 'makerdao-dsr.svg',\n 'spark-lending.svg',\n 'defi-edge.svg',\n 'stakewisev3.svg',\n 'compoundv3.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'yearn.svg',\n 'velodrome2.svg',\n 'gmxv2.svg',\n 'dhedge.svg',\n 'term-finance.png',\n 'pendle.svg',\n 'aerodrome.svg',\n 'hyperliquid.svg',\n 'maverick.svg',\n 'equilibria.svg',\n 'akropolis.svg',\n 'alpha-homora.svg',\n 'ampleforth.svg',\n 'arbitrum.svg',\n 'aurora.svg',\n 'avalanche.svg',\n 'bunnypancake.svg',\n 'celo.svg',\n 'celsius.svg',\n 'cowswap.svg',\n 'cronos.svg',\n 'dforce.svg',\n 'dodo.svg',\n 'element-finance.svg',\n 'fantom.svg',\n 'fuse.svg',\n 'gamma.svg',\n 'gnosis-multisig.svg',\n 'harmony.svg',\n 'heco.svg',\n 'homora.svg',\n 'idleDAIYield.svg',\n 'idleUSDTYield.svg',\n 'ironbank.svg',\n 'metis.svg',\n 'moonbeam.svg',\n 'mooniswap.svg',\n 'moonriver.svg',\n 'nexus-mutual.svg',\n 'nucypher.svg',\n 'ondo.svg',\n 'optimism.svg',\n 'pancakeswap.svg',\n 'polkadot.svg',\n 'polygon.svg',\n 'popsicle.svg',\n 'ren.svg',\n 'solana.svg',\n 'starkware.svg',\n 'tbtc.svg',\n 'terra-chain.svg',\n 'venus.svg',\n 'vesper-veth.svg',\n 'zksync.svg'\n] as const;\n\nexport type LogoFileName = (typeof allLogoFileNames)[number];\n\nexport const allLogoNames = [\n 'zerox',\n 'oneinch',\n 'aavev2',\n 'abracadabra',\n 'alchemix',\n 'anchor',\n 'angle',\n 'argent',\n 'aura',\n 'babylon',\n 'badgerdao',\n 'balancer',\n 'bancor',\n 'bancor',\n 'beefy',\n 'binance',\n 'blockFi',\n 'gelt',\n 'centrifuge',\n 'coinbase',\n 'compoundv2',\n 'convex',\n 'convex',\n 'convex',\n 'crypto-com',\n 'curve',\n 'curve',\n 'curve',\n 'dydx',\n 'ease',\n 'enzyme',\n 'enzyme',\n 'eth',\n 'euler',\n 'fodl',\n 'ftx',\n 'gearbox',\n 'gemini',\n 'gmx',\n 'goldfinch',\n 'hodlnaut',\n 'kraken',\n 'ledn',\n 'liquidcollective',\n 'liquity',\n 'makerdao',\n 'mstable',\n 'nested',\n 'nexo',\n 'notional-finance',\n 'olympusdao',\n 'opyn',\n 'originusd',\n 'pangolin',\n 'perpetual',\n 'pooltogether',\n 'premia',\n 'rari',\n 'reflexer',\n 'ribbon',\n 'gnosis-safe',\n 'tokensets',\n 'tokensets',\n 'sherlock',\n 'stakedao',\n 'stakewise',\n 'stakewise',\n 'sushiswap',\n 'synthetix',\n 'thorchain',\n 'trader-joe',\n 'uniswapv2',\n 'uniswapv2',\n 'vector',\n 'vesper',\n 'yearn',\n 'yearn',\n 'yeti',\n 'yield-app',\n 'alpaca',\n 'wefi',\n 'exactly',\n 'etherfi',\n 'squeeth-by-opyn',\n 'rage-trade',\n 'sentiment',\n 'lyra',\n 'perennial',\n 'liquify',\n 'lyra',\n 'buffer-finance',\n 'hook',\n 'holyheld',\n 'union-finance',\n 'openq',\n 'level-finance',\n 'offramp',\n 'aavev3',\n 'morpho',\n 'chorusone',\n 'kiln',\n 'vertex',\n 'the-retail-mutual',\n 'figment',\n 'teller',\n 'ajna',\n 'eigenlayer',\n 'vox',\n 'mahalend',\n 'self',\n 'scallop',\n 'wefi',\n 'zktsunami',\n 'hats',\n 'makerdao-dsr',\n 'spark-lending',\n 'defi-edge',\n 'stakewisev3',\n 'compoundv3',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'yearn',\n 'velodrome2',\n 'gmxv2',\n 'dhedge',\n 'term-finance',\n 'pendle',\n 'aerodrome',\n 'hyperliquid',\n 'maverick',\n 'equilibria',\n 'akropolis',\n 'alpha-homora',\n 'ampleforth',\n 'arbitrum',\n 'aurora',\n 'avalanche',\n 'bunnypancake',\n 'celo',\n 'celsius',\n 'cowswap',\n 'cronos',\n 'dforce',\n 'dodo',\n 'element-finance',\n 'fantom',\n 'fuse',\n 'gamma',\n 'gnosis-multisig',\n 'harmony',\n 'heco',\n 'homora',\n 'idleDAIYield',\n 'idleUSDTYield',\n 'ironbank',\n 'metis',\n 'moonbeam',\n 'mooniswap',\n 'moonriver',\n 'nexus-mutual',\n 'nucypher',\n 'ondo',\n 'optimism',\n 'pancakeswap',\n 'polkadot',\n 'polygon',\n 'popsicle',\n 'ren',\n 'solana',\n 'starkware',\n 'tbtc',\n 'terra-chain',\n 'venus',\n 'vesper-veth',\n 'zksync'\n] as const;\n\nexport type LogoName = (typeof allLogoNames)[number];\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":";AACA,cAAc;;;ACDd;AAAA,EACE;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,YAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,UAAY;AAAA,IACd;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,UAAY;AAAA,IACd;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,UAAY;AAAA,IACd;AAAA,IACA,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,OAAS;AAAA,IACX;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY;AAAA,MACV,UAAY;AAAA,IACd;AAAA,IACA,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,cAAgB;AAAA,IAChB,eAAiB;AAAA,IACjB,MAAQ;AAAA,IACR,UAAY,CAAC;AAAA,IACb,aAAe;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAa;AAAA,EACf;AACF;;;ACv7DA;AAAA,EACE;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAM;AAAA,IACN,iBAAmB;AAAA,IACnB,MAAQ;AAAA,IACR,aAAe;AAAA,IACf,aAAe;AAAA,EACjB;AACF;;;AC9EO,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AClWO,IAAM,0BAA0B,CAAC,OAAe,aAA+B;AAEpF,MAAG,SAAS;AAAI,UAAM,IAAI,MAAM,qCAAqC;AAGrE,QAAM,IAAI,SAAS,OAAO,SAAS;AAGnC,QAAM,mBAAmB,SAAS,aAAa;AAC/C,QAAM,mBAAmB,IAAI;AAG7B,QAAM,SAAS,SAAS,OAAO;AAE/B,MAAG,SAAS;AAAI,UAAM,IAAI,MAAM,yBAAyB;AAEzD,SAAO;AACT;;;ACjBO,IAAM,0BAA0B,CAAC,OAAe,aAA+B;AAEpF,MAAG,SAAS;AAAI,UAAM,IAAI,MAAM,qCAAqC;AAGrE,QAAM,IAAI,SAAS,OAAO,SAAS;AAGnC,QAAM,mBAAmB,SAAS,OAAO;AACzC,QAAM,mBAAmB,IAAI;AAG7B,QAAM,SAAS,SAAS,aAAa;AAErC,MAAG,SAAS;AAAI,UAAM,IAAI,MAAM,yBAAyB;AAEzD,SAAO;AACT;;;ACjBO,IAAM,0BAA0B,CAAC,QAAgB,aAA+B;AAErF,MAAG,UAAU,MAAM,UAAU,SAAS;AAAY,UAAM,IAAI,MAAM,iEAAiE;AAGnI,QAAM,IAAI,SAAS,OAAO,SAAS;AAGnC,QAAM,mBAAmB,SAAS,aAAa;AAC/C,QAAM,mBAAmB,IAAI;AAG7B,QAAM,QAAQ,mBAAmB,SAAS;AAE1C,SAAO;AACT;;;ACfO,IAAM,0BAA0B,CAAC,QAAgB,aAA+B;AAErF,MAAG,UAAU,MAAM,UAAU,SAAS;AAAM,UAAM,IAAI,MAAM,iEAAiE;AAG7H,QAAM,IAAI,SAAS,OAAO,SAAS;AAGnC,QAAM,mBAAmB,SAAS,OAAO;AACzC,QAAM,mBAAmB,IAAI;AAG7B,QAAM,QAAQ,mBAAmB,SAAS;AAE1C,SAAO;AACT;;;ACnBO,IAAM,qBAAqB,CAAC,aAAuB;AACxD,QAAM,SAAS,OAAO,IAAI;AAC1B,SAAO;AAAA,IACL,YAAa,SAAS,SAAS,aAAc,SAAS;AAAA,IACtD,YAAa,SAAS,SAAS,aAAc,SAAS;AAAA,EACxD;AACF;;;ACHO,IAAM,wBAAwB,CAAC,OAAe,aAAuB;AAC1E,QAAM,EAAE,WAAW,IAAI,mBAAmB,QAAQ;AAClD,QAAM,SAAS,wBAAwB,OAAO,QAAQ;AACtD,QAAM,oBAAoB,OAAO,IAAI,IAAI,QAAQ;AAIjD,SAAO,OAAO,GAAO,IAAI,OAAO,GAAO,IAAI,SAAS;AACtD;;;ACRO,IAAM,wBAAwB,CAAC,OAAe,aAAuB;AAC1E,QAAM,EAAE,WAAW,IAAI,mBAAmB,QAAQ;AAClD,QAAM,SAAS,wBAAwB,OAAO,QAAQ;AACtD,QAAM,oBAAoB,aAAa,QAAQ,OAAO,IAAI;AAI1D,SAAO,OAAO,GAAO,IAAI,OAAO,GAAO,IAAI,SAAS;AACtD;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../generated/products.json","../generated/product-types.json","../generated/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","../src/constants/buyCover.ts","../src/buyCover/calculatePremiumWithCommissionAndSlippage.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/types';\n\nexport * from './swap/index';\n\nexport * from './buyCover/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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 10,\n \"name\": \"BadgerDAO v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"badgerdao.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 28,\n \"name\": \"dydx v3 (EVM)\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dydx.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 30,\n \"name\": \"Enzyme v3\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"enzyme.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 47,\n \"name\": \"Nested v1\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"nested.svg\",\n \"metadata\": {\n \"exclusions\": [\n \"Losses due to a compromised wallet\",\n \"Losses due to a previously disclosed vulnerability\",\n \"Losses that occur outside the designated protocol, such as a separate protocol used in an underlying yield aggregation strategy\"\n ]\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 59,\n \"name\": \"Aevo\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"ribbon.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"annex\": \"QmSBvXTyDrrhQZir1CAwfZY7dYysMdMznMqv753LDS2uix\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmRMnVaZvAJQUTFF4PReXTeHv6vrQJvTz3T9UpuARf2djR\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSZ8pTHUGE4HjCSbG5DvyvM4axYKwcUwQ3nbdHrKLdU3b\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"annex\": \"QmbG3HRdbNJKeoRp8ScKrYUtiZpfqfWKSmWuYu3mN4LutK\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 98,\n \"name\": \"Morpho Optimisers v1\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"morpho.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"annex\": \"QmUeLxx2o32gGJd9yQ3V1So35TGhYrt6QrpoCvGsrZPeMY\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"annex\": \"QmSqCe8QrPSCjAXRrWxcqFLnFvK4Eecw8NZ6hYEFAgQVyD\"\n },\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": true\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 \"isPrivate\": false\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 \"isPrivate\": false\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 \"isPrivate\": false\n },\n {\n \"id\": 117,\n \"name\": \"Stakewise v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"stakewisev3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 118,\n \"name\": \"Compound v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"compoundv3.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 119,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 120,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 121,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 122,\n \"name\": \"Product Removed\",\n \"productType\": 0,\n \"isDeprecated\": true,\n \"useFixedPrice\": false,\n \"logo\": \"deprecated.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 123,\n \"name\": \"Yearn v3\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"yearn.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 124,\n \"name\": \"Velodrome v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"velodrome2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 125,\n \"name\": \"GMX v2\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"gmxv2.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 126,\n \"name\": \"dHEDGE\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"dhedge.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 127,\n \"name\": \"Term Finance\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"term-finance.png\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 128,\n \"name\": \"Pendle\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"pendle.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 129,\n \"name\": \"Aerodrome\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"aerodrome.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 130,\n \"name\": \"Hyperliquid\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"hyperliquid.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 131,\n \"name\": \"Maverick\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"maverick.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\n },\n {\n \"id\": 132,\n \"name\": \"Equilibria\",\n \"productType\": 0,\n \"isDeprecated\": false,\n \"useFixedPrice\": false,\n \"logo\": \"equilibria.svg\",\n \"metadata\": {},\n \"coverAssets\": [\n \"ETH\",\n \"DAI\"\n ],\n \"isPrivate\": false\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/QmQfYgbBhyC3gJMvan9gbzUaZtd4Xy4gubEYfgTFKycBDZ\",\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 const allLogoFileNames = [\n 'zerox.svg',\n 'oneinch.svg',\n 'aavev2.svg',\n 'abracadabra.svg',\n 'alchemix.svg',\n 'anchor.svg',\n 'angle.svg',\n 'argent.svg',\n 'aura.svg',\n 'babylon.svg',\n 'badgerdao.svg',\n 'balancer.svg',\n 'bancor.svg',\n 'bancor.svg',\n 'beefy.svg',\n 'binance.svg',\n 'blockFi.svg',\n 'gelt.svg',\n 'centrifuge.svg',\n 'coinbase.svg',\n 'compoundv2.svg',\n 'convex.svg',\n 'convex.svg',\n 'convex.svg',\n 'crypto-com.svg',\n 'curve.svg',\n 'curve.svg',\n 'curve.svg',\n 'dydx.svg',\n 'ease.svg',\n 'enzyme.svg',\n 'enzyme.svg',\n 'eth.svg',\n 'euler.svg',\n 'fodl.svg',\n 'ftx.svg',\n 'gearbox.svg',\n 'gemini.svg',\n 'gmx.svg',\n 'goldfinch.svg',\n 'hodlnaut.svg',\n 'kraken.svg',\n 'ledn.svg',\n 'liquidcollective.svg',\n 'liquity.svg',\n 'makerdao.svg',\n 'mstable.svg',\n 'nested.svg',\n 'nexo.svg',\n 'notional-finance.svg',\n 'olympusdao.svg',\n 'opyn.png',\n 'originusd.svg',\n 'pangolin.svg',\n 'perpetual.svg',\n 'pooltogether.svg',\n 'premia.svg',\n 'rari.svg',\n 'reflexer.png',\n 'ribbon.svg',\n 'gnosis-safe.svg',\n 'tokensets.svg',\n 'tokensets.svg',\n 'sherlock.svg',\n 'stakedao.svg',\n 'stakewise.svg',\n 'stakewise.svg',\n 'sushiswap.svg',\n 'synthetix.svg',\n 'thorchain.svg',\n 'trader-joe.svg',\n 'uniswapv2.svg',\n 'uniswapv2.svg',\n 'vector.svg',\n 'vesper.svg',\n 'yearn.svg',\n 'yearn.svg',\n 'yeti.png',\n 'yield-app.svg',\n 'alpaca.svg',\n 'wefi.png',\n 'exactly.svg',\n 'etherfi.png',\n 'squeeth-by-opyn.png',\n 'rage-trade.svg',\n 'sentiment.png',\n 'lyra.svg',\n 'perennial.jpeg',\n 'liquify.svg',\n 'lyra.svg',\n 'buffer-finance.svg',\n 'hook.jpeg',\n 'holyheld.jpeg',\n 'union-finance.svg',\n 'openq.png',\n 'level-finance.png',\n 'offramp.png',\n 'aavev3.svg',\n 'morpho.svg',\n 'chorusone.svg',\n 'kiln.svg',\n 'vertex.svg',\n 'the-retail-mutual.png',\n 'figment.svg',\n 'teller.svg',\n 'ajna.svg',\n 'eigenlayer.png',\n 'vox.png',\n 'mahalend.svg',\n 'self.svg',\n 'scallop.svg',\n 'wefi.png',\n 'zktsunami.svg',\n 'hats.svg',\n 'makerdao-dsr.svg',\n 'spark-lending.svg',\n 'defi-edge.svg',\n 'stakewisev3.svg',\n 'compoundv3.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'deprecated.svg',\n 'yearn.svg',\n 'velodrome2.svg',\n 'gmxv2.svg',\n 'dhedge.svg',\n 'term-finance.png',\n 'pendle.svg',\n 'aerodrome.svg',\n 'hyperliquid.svg',\n 'maverick.svg',\n 'equilibria.svg',\n 'akropolis.svg',\n 'alpha-homora.svg',\n 'ampleforth.svg',\n 'arbitrum.svg',\n 'aurora.svg',\n 'avalanche.svg',\n 'bunnypancake.svg',\n 'celo.svg',\n 'celsius.svg',\n 'cowswap.svg',\n 'cronos.svg',\n 'dforce.svg',\n 'dodo.svg',\n 'element-finance.svg',\n 'fantom.svg',\n 'fuse.svg',\n 'gamma.svg',\n 'gnosis-multisig.svg',\n 'harmony.svg',\n 'heco.svg',\n 'homora.svg',\n 'idleDAIYield.svg',\n 'idleUSDTYield.svg',\n 'ironbank.svg',\n 'metis.svg',\n 'moonbeam.svg',\n 'mooniswap.svg',\n 'moonriver.svg',\n 'nexus-mutual.svg',\n 'nucypher.svg',\n 'ondo.svg',\n 'optimism.svg',\n 'pancakeswap.svg',\n 'polkadot.svg',\n 'polygon.svg',\n 'popsicle.svg',\n 'ren.svg',\n 'solana.svg',\n 'starkware.svg',\n 'tbtc.svg',\n 'terra-chain.svg',\n 'venus.svg',\n 'vesper-veth.svg',\n 'zksync.svg'\n] as const;\n\nexport type LogoFileName = (typeof allLogoFileNames)[number];\n\nexport const allLogoNames = [\n 'zerox',\n 'oneinch',\n 'aavev2',\n 'abracadabra',\n 'alchemix',\n 'anchor',\n 'angle',\n 'argent',\n 'aura',\n 'babylon',\n 'badgerdao',\n 'balancer',\n 'bancor',\n 'bancor',\n 'beefy',\n 'binance',\n 'blockFi',\n 'gelt',\n 'centrifuge',\n 'coinbase',\n 'compoundv2',\n 'convex',\n 'convex',\n 'convex',\n 'crypto-com',\n 'curve',\n 'curve',\n 'curve',\n 'dydx',\n 'ease',\n 'enzyme',\n 'enzyme',\n 'eth',\n 'euler',\n 'fodl',\n 'ftx',\n 'gearbox',\n 'gemini',\n 'gmx',\n 'goldfinch',\n 'hodlnaut',\n 'kraken',\n 'ledn',\n 'liquidcollective',\n 'liquity',\n 'makerdao',\n 'mstable',\n 'nested',\n 'nexo',\n 'notional-finance',\n 'olympusdao',\n 'opyn',\n 'originusd',\n 'pangolin',\n 'perpetual',\n 'pooltogether',\n 'premia',\n 'rari',\n 'reflexer',\n 'ribbon',\n 'gnosis-safe',\n 'tokensets',\n 'tokensets',\n 'sherlock',\n 'stakedao',\n 'stakewise',\n 'stakewise',\n 'sushiswap',\n 'synthetix',\n 'thorchain',\n 'trader-joe',\n 'uniswapv2',\n 'uniswapv2',\n 'vector',\n 'vesper',\n 'yearn',\n 'yearn',\n 'yeti',\n 'yield-app',\n 'alpaca',\n 'wefi',\n 'exactly',\n 'etherfi',\n 'squeeth-by-opyn',\n 'rage-trade',\n 'sentiment',\n 'lyra',\n 'perennial',\n 'liquify',\n 'lyra',\n 'buffer-finance',\n 'hook',\n 'holyheld',\n 'union-finance',\n 'openq',\n 'level-finance',\n 'offramp',\n 'aavev3',\n 'morpho',\n 'chorusone',\n 'kiln',\n 'vertex',\n 'the-retail-mutual',\n 'figment',\n 'teller',\n 'ajna',\n 'eigenlayer',\n 'vox',\n 'mahalend',\n 'self',\n 'scallop',\n 'wefi',\n 'zktsunami',\n 'hats',\n 'makerdao-dsr',\n 'spark-lending',\n 'defi-edge',\n 'stakewisev3',\n 'compoundv3',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'deprecated',\n 'yearn',\n 'velodrome2',\n 'gmxv2',\n 'dhedge',\n 'term-finance',\n 'pendle',\n 'aerodrome',\n 'hyperliquid',\n 'maverick',\n 'equilibria',\n 'akropolis',\n 'alpha-homora',\n 'ampleforth',\n 'arbitrum',\n 'aurora',\n 'avalanche',\n 'bunnypancake',\n 'celo',\n 'celsius',\n 'cowswap',\n 'cronos',\n 'dforce',\n 'dodo',\n 'element-finance',\n 'fantom',\n 'fuse',\n 'gamma',\n 'gnosis-multisig',\n 'harmony',\n 'heco',\n 'homora',\n 'idleDAIYield',\n 'idleUSDTYield',\n 'ironbank',\n 'metis',\n 'moonbeam',\n 'mooniswap',\n 'moonriver',\n 'nexus-mutual',\n 'nucypher',\n 'ondo',\n 'optimism',\n 'pancakeswap',\n 'polkadot',\n 'polygon',\n 'popsicle',\n 'ren',\n 'solana',\n 'starkware',\n 'tbtc',\n 'terra-chain',\n 'venus',\n 'vesper-veth',\n 'zksync'\n] as const;\n\nexport type LogoName = (typeof allLogoNames)[number];\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","export const COMMISSION_DENOMINATOR = 100_00;\nexport const SLIPPAGE_DENOMINATOR = 100_00;\n","import { COMMISSION_DENOMINATOR, SLIPPAGE_DENOMINATOR } from '../constants/buyCover';\n\nexport const calculatePremiumWithCommissionAndSlippage = (premium: bigint, commission = 0, slippage = 0) => {\n const premiumWithCommission =\n (premium * BigInt(COMMISSION_DENOMINATOR)) / BigInt(COMMISSION_DENOMINATOR - commission);\n\n const premiumWithCommissionAndSlippage =\n (premiumWithCommission * BigInt(SLIPPAGE_DENOMINATOR + slippage)) / BigInt(SLIPPAGE_DENOMINATOR);\n\n return premiumWithCommissionAndSlippage;\n};\n"],"mappings":"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AAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexusmutual/sdk",
3
- "version": "0.2.16",
3
+ "version": "0.2.17",
4
4
  "description": "Nexus Mutual SDK",
5
5
  "scripts": {
6
6
  "build": "node scripts/build.js",