@multiversx/sdk-dapp-swap
Version:
A library to hold the main logic for swapping between tokens on the MultiversX blockchain
3 lines (2 loc) • 1.03 kB
JavaScript
import{a as c}from"./chunk-UXISRLLK.js";import{b as r}from"./chunk-QXTSQDB3.js";import{f as p}from"./chunk-5W737WN4.js";p();import{useMemo as w}from"react";import U from"bignumber.js";var Z=({swapRoute:n,firstToken:t,firstAmount:m,secondToken:u,secondAmount:i})=>w(()=>{var l;if(!n)return{firstAmountUsdValue:void 0,secondAmountUsdValue:void 0};let{swapType:a,amountIn:V,tokenInID:O,tokenOutID:A,tokenInPriceUSD:f,tokenOutPriceUSD:S,smartSwap:o}=n,I=(l=o==null?void 0:o.amountOut)!=null?l:n.amountOut,y=a===0,e=Boolean(a===1&&i&&(t==null?void 0:t.value)===O),d=Boolean(y&&m&&(u==null?void 0:u.value)===A);if(!e&&!d)return{firstAmountUsdValue:void 0,secondAmountUsdValue:void 0};let g=e?V:I,D=e?t==null?void 0:t.token.decimals:u==null?void 0:u.token.decimals,h=e?f:S,x=r({input:g,decimals:D,showLastNonZeroDecimal:!0}).replace(/,/g,""),F=new U(x).times(new U(h)).toString(10),s=c(F,2);return{firstAmountUsdValue:e?s:void 0,secondAmountUsdValue:d?s:void 0}},[n,i,m,t,u]);export{Z as a};
//# sourceMappingURL=chunk-FY6ZPIUE.js.map