UNPKG

@molecularlabs/nucleus-frontend

Version:
1 lines 2.68 kB
{"version":3,"sources":["../../src/api/solver-slippage.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport { DEFAULT_WITHDRAW_SLIPPAGE } from \"../constants\";\nimport type { ChainId } from \"./vault-config\";\nimport { fetchWithdrawAssets } from \"./withdraw-assets\";\n\n/**\n * Gets the slippage value for a specific asset in a vault\n * @param chainId The chain ID\n * @param vaultAddress The boring vault address\n * @param tokenAddress The token address\n * @param defaultSlippage Optional default slippage value if none is found (defaults to 0)\n * @returns Promise<number> The slippage value\n * @throws {AssetSlippageError} If there's an error fetching or processing the slippage data\n */\n// TODO: This is a temporary function or should be moved and refactored to get the slippage value for a specific asset in a vault\nexport async function getAssetSlippage(\n chainId: ChainId,\n vaultAddress: Address,\n tokenAddress: Address,\n defaultSlippage: number = DEFAULT_WITHDRAW_SLIPPAGE\n) {\n try {\n // Fetch withdraw assets data, using cache if available\n const withdrawAssets = await fetchWithdrawAssets();\n if (!withdrawAssets) {\n return defaultSlippage;\n }\n if (!withdrawAssets[chainId.toString()]) {\n return defaultSlippage;\n }\n if (!withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()]) {\n return defaultSlippage;\n }\n if (\n !withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][\n tokenAddress.toLowerCase()\n ]\n ) {\n return defaultSlippage;\n }\n\n return withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][\n tokenAddress.toLowerCase()\n ];\n } catch (error) {\n // Log the error for debugging purposes\n console.error(\"Error fetching asset slippage:\", error);\n throw new Error(\n `Error fetching asset slippage for chain ${chainId}: ${\n error instanceof Error ? error.message : String(error)\n }`\n );\n }\n}\n"],"mappings":"AACA,SAAS,iCAAiC;AAE1C,SAAS,2BAA2B;AAYpC,eAAsB,iBACpB,SACA,cACA,cACA,kBAA0B,2BAC1B;AACA,MAAI;AAEF,UAAM,iBAAiB,MAAM,oBAAoB;AACjD,QAAI,CAAC,gBAAgB;AACnB,aAAO;AAAA,IACT;AACA,QAAI,CAAC,eAAe,QAAQ,SAAS,CAAC,GAAG;AACvC,aAAO;AAAA,IACT;AACA,QAAI,CAAC,eAAe,QAAQ,SAAS,CAAC,EAAE,aAAa,YAAY,CAAC,GAAG;AACnE,aAAO;AAAA,IACT;AACA,QACE,CAAC,eAAe,QAAQ,SAAS,CAAC,EAAE,aAAa,YAAY,CAAC,EAC5D,aAAa,YAAY,CAC3B,GACA;AACA,aAAO;AAAA,IACT;AAEA,WAAO,eAAe,QAAQ,SAAS,CAAC,EAAE,aAAa,YAAY,CAAC,EAClE,aAAa,YAAY,CAC3B;AAAA,EACF,SAAS,OAAO;AAEd,YAAQ,MAAM,kCAAkC,KAAK;AACrD,UAAM,IAAI;AAAA,MACR,2CAA2C,OAAO,KAChD,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CACvD;AAAA,IACF;AAAA,EACF;AACF;","names":[]}