UNPKG

@multiversx/sdk-dapp-swap

Version:

A library to hold the main logic for swapping between tokens on the MultiversX blockchain

3 lines (2 loc) 969 B
import{a as l}from"./chunk-EAFLJ3AB.js";import{b as p}from"./chunk-QLHUKGNV.js";import{f as d}from"./chunk-DKQLHRWP.js";d();import{useMemo as h}from"react";import r from"bignumber.js";var M=({swapRoute:n,firstToken:t,firstAmount:o,secondToken:u,secondAmount:m})=>h(()=>{if(!n)return{firstAmountUsdValue:void 0,secondAmountUsdValue:void 0};let{swapType:a,amountIn:c,amountOut:U,tokenInID:V,tokenOutID:A,tokenInPriceUSD:S,tokenOutPriceUSD:f}=n,O=a===0,e=Boolean(a===1&&m&&(t==null?void 0:t.value)===V),i=Boolean(O&&o&&(u==null?void 0:u.value)===A);if(!e&&!i)return{firstAmountUsdValue:void 0,secondAmountUsdValue:void 0};let I=e?c:U,y=e?t==null?void 0:t.token.decimals:u==null?void 0:u.token.decimals,g=e?S:f,w=p({input:I,decimals:y,showLastNonZeroDecimal:!0}).replace(/,/g,""),D=new r(w).times(new r(g)).toString(10),s=l(D,2);return{firstAmountUsdValue:e?s:void 0,secondAmountUsdValue:i?s:void 0}},[n,m,o,t,u]);export{M as a}; //# sourceMappingURL=chunk-5QXLQT2J.js.map