@molecularlabs/nucleus-frontend
Version:
Nucleus BoringVault Frontend SDK
29 lines • 1.1 kB
JavaScript
import { DEFAULT_WITHDRAW_SLIPPAGE } from "../constants";
import { fetchWithdrawAssets } from "./withdraw-assets";
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) {
console.error("Error fetching asset slippage:", error);
throw new Error(
`Error fetching asset slippage for chain ${chainId}: ${error instanceof Error ? error.message : String(error)}`
);
}
}
export {
getAssetSlippage
};
//# sourceMappingURL=solver-slippage.mjs.map