UNPKG

@paxoslabs/earn-sdk

Version:
62 lines (59 loc) 2.16 kB
import { DEFAULT_WITHDRAW_SLIPPAGE, NUCLEUS_BASE_URL } from './chunk-NTRZGVUA.mjs'; // src/api/withdraw-assets.ts var assetsCache = null; function constructUrl(params) { const withdrawAssetsUrl = `${NUCLEUS_BASE_URL}/withdraw-assets`; if (!params) return withdrawAssetsUrl; const queryParams = new URLSearchParams(); if (params.chainId) queryParams.append("chainId", params.chainId.toString()); if (params.vaultAddress) queryParams.append("vaultAddress", params.vaultAddress.toLowerCase()); return `${withdrawAssetsUrl}?${queryParams.toString()}`; } async function fetchWithdrawAssets(params) { if (!params && assetsCache) { return assetsCache; } try { const url = constructUrl(params); const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); if (!params) { assetsCache = data; } return data; } catch (error) { throw new Error( `An unknown error occurred while fetching withdraw assets: ${error instanceof Error ? error.message : String(error)}` ); } } // src/api/solver-slippage.ts async function getAssetSlippage(chainId, vaultAddress, tokenAddress, defaultSlippage = DEFAULT_WITHDRAW_SLIPPAGE) { try { const withdrawAssets = await fetchWithdrawAssets(); if (!withdrawAssets) { return defaultSlippage; } if (!withdrawAssets[chainId.toString()]) { return defaultSlippage; } if (!withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()]) { return defaultSlippage; } if (!withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][tokenAddress.toLowerCase()]) { return defaultSlippage; } return withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][tokenAddress.toLowerCase()]; } catch (error) { throw new Error( `Error fetching asset slippage for chain ${chainId}: ${error instanceof Error ? error.message : String(error)}` ); } } export { fetchWithdrawAssets, getAssetSlippage }; //# sourceMappingURL=chunk-3K72Y6ME.mjs.map //# sourceMappingURL=chunk-3K72Y6ME.mjs.map