{"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":[]}