@multiversx/sdk-dapp-liquidity 2.3.0-alpha.0 → 2.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "MultiversX",
4
4
  "description": "A complete toolkit for bridging assets between MultiversX, Ethereum, BNB Chain and Sui",
5
5
  "license": "MIT",
6
- "version": "2.3.0-alpha.0",
6
+ "version": "2.3.0-alpha.1",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/multiversx/mx-sdk-dapp-liquidity.git"
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),Bs=require("@fortawesome/free-solid-svg-icons/faSpinner"),ys=require("@fortawesome/react-fontawesome"),As=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),ks=require("@reown/appkit/react"),Ns=require("@wagmi/core"),Ss=require("lodash/debounce"),t=require("react"),k=require("react-toastify"),ws=require("./hooks/useBridgeTokenSelection.js"),Ms=require("./utils/bridgeFormHelpers.js"),Me=require("../../../constants/index.js"),Ds=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const L=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const N=require("../../../types/chainType.js"),Es=require("../../context/useWeb3App.js"),T=require("../../helpers/resolveBridgeApiChainId.js"),Rs=require("../../hooks/useAccount.js"),Fs=require("../../hooks/useBridgeApiChainId.js"),S=require("../../hooks/useBridgeFormik.js"),Vs=require("../../hooks/useFetchBridgeData.js"),Ps=require("../../hooks/useGetChainId.js"),Us=require("../../hooks/useNamespaceAddress.js"),Hs=require("../../hooks/useSendTransactions.js"),Ls=require("../../hooks/useSignTransaction.js"),Ts=require("../../queries/useGetHistory.query.js"),Os=require("../../queries/useGetRate.mutation.js"),De=require("../../utils/mxClsx.js"),Ee=require("../AmountCard/AmountCard.js"),Re=require("../AmountInput/AmountInput.js"),Gs=require("../base/MxButton/MxButton.js");require("../base/MxCard/MxCard.js");require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@headlessui/react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");const Ws=require("../BridgeHistory/BridgeHistory.js"),Xs=require("../Connect/BridgeConnectButton.js");require("wagmi");const zs=require("../Connect/MvxConnectButton.js"),Qs=require("../Connect/BridgeAccountDisplay.js"),$s=require("../Connect/MvxAccountDisplay.js");require("@reown/appkit-controllers");const Ks=require("../ToggleDirection/ToggleDirection.js"),Fe=require("../TokenSelector/TokenSelector.js");let O;const Ys=({mvxChainId:G,mvxAddress:l,username:Ve,callbackRoute:Pe="/",firstTokenIdentifier:Ue,secondTokenIdentifier:He,firstTokenAmount:w,secondTokenAmount:j,refetchTrigger:Le,showHistory:Te,forcedDestinationTokenSymbol:Oe,onSuccessfullySentTransaction:M,onFailedSentTransaction:x,onHistoryClose:D,onMvxConnect:ce,onMvxDisconnect:Ge,onNavigate:We,onChangeDirection:Xe})=>{var Ce,Be;const ze=t.useRef(null),le=t.useRef(void 0),[W,Qe]=t.useState(!1),[E,I]=t.useState(!1),[$e,Ke]=t.useState(1),[X,z]=t.useState(0),f=Rs.useAccount(),{switchNetwork:ue}=ks.useAppKitNetwork(),de=Ts.useInvalidateHistoryQuery(),{config:me,options:he,supportedChains:v,nativeAuthToken:Q,bridgeOnly:Ye}=Es.useWeb3App(),$=Ps.useGetChainId(),qe=Fs.useBridgeApiChainId(),{evmTokensWithBalances:Je,mvxTokensWithBalances:Ze,isTokensLoading:es,isLoadingEvmTokensBalances:ss,isLoadingMvxTokensBalances:ts,chains:C=[],isChainsLoading:ns}=Vs.useFetchBridgeData({refetchTrigger:Le,mvxAddress:l,mvxApiURL:he.mvxApiURL}),K=es||ss||ts||ns,is=t.useMemo(()=>v.find(n=>T.sameBridgeApiChainId(n.id,$)),[$,v]),o=t.useMemo(()=>C.find(n=>n.chainId.toString()===G.toString()),[$,C]),{evm:ge,solana:pe,bitcoin:xe,sui:fe}=Ls.useSignTransaction(),be=Hs.useSendTransactions(),{mutate:rs,data:d,isPending:B,error:b}=Os.useGetRateMutation(),y=((Ce=b==null?void 0:b.response)==null?void 0:Ce.status)===400?(Be=b==null?void 0:b.response)==null?void 0:Be.data.message:void 0,as=t.useCallback(n=>{const p=v.find(u=>T.sameBridgeApiChainId(u.id,n.id));p&&ue(p)},[v,ue]),{firstToken:e,secondToken:a,fromOptions:R,toOptions:os,selectedChainOption:r,onChangeFirstSelect:_e,onChangeSecondSelect:cs,handleChangeDirection:ls}=ws.useBridgeTokenSelection({chains:C,activeChain:is,sdkChains:v,switchNetwork:as,fromTokens:Je,toTokens:Ze,firstTokenIdentifier:Ue,secondTokenIdentifier:He,forcedDestinationTokenSymbol:Oe,isTokensLoading:K,callbackRoute:Pe,onNavigate:We}),us=t.useMemo(()=>e?Me.MVX_CHAIN_IDS.includes(e.chainId.toString()):!1,[e==null?void 0:e.chainId]),ds=t.useMemo(()=>a?Me.MVX_CHAIN_IDS.includes(a.chainId.toString()):!1,[a==null?void 0:a.chainId]),[m,ms]=t.useState(w??""),[F,V]=t.useState(j??""),c=t.useMemo(()=>e?C.find(n=>T.sameBridgeApiChainId(n.chainId,e.chainId))??r:r,[e==null?void 0:e.chainId,C,r]),P=t.useMemo(()=>T.toBridgeApiChainId(e==null?void 0:e.chainId)??qe,[e==null?void 0:e.chainId,qe]),hs=Us.useNamespaceAddress(c==null?void 0:c.chainType),Y=f.address,je=f.isConnected&&!!Y,J=m!==""&&F!=="",Z=t.useCallback(Ss(async n=>{!n||!Number(n)||!f.address||!(e!=null&&e.address)||!(a!=null&&a.address)||!r||!P||rs({nativeAuthToken:Q??"",body:{tokenIn:e.address,amountIn:n,fromChainId:P,tokenOut:a.address,toChainId:G}})},500),[f.address,P,e==null?void 0:e.address,a==null?void 0:a.address,r]),h=t.useCallback(n=>{ms(()=>n)},[]),_=t.useCallback(n=>{V(()=>n)},[]),qs=t.useCallback(()=>{D==null||D()},[D]),gs=t.useCallback(()=>{const n=As.formatAmount({decimals:e==null?void 0:e.decimals,input:(e==null?void 0:e.balance)??"0",addCommas:!1,digits:4});g.setFieldValue("firstAmount",n),h(n)},[e==null?void 0:e.balance,e==null?void 0:e.decimals,h]),Ie=t.useCallback(async n=>{h(""),_(""),de(),de(),M==null||M(n)},[h,_,M]),ps=()=>{ls(),Xe()};t.useEffect(()=>{const n=le.current;if(le.current=r==null?void 0:r.chainId,!!n&&(r==null?void 0:r.chainId)!==(e==null?void 0:e.chainId)){const p=R==null?void 0:R.find(u=>u.chainId.toString()===(r==null?void 0:r.chainId));if(!p)return;_e(p)}},[r==null?void 0:r.chainId]);const xs=t.useCallback(async({transactions:n,provider:p})=>{var ye,Ae,ke;const u=[];I(!0),z(()=>n.length);try{let A=-1;for(const i of n){++A;try{switch(Ms.resolveSigningChainType(i,c)){case N.ChainType.evm:{const q=await ge.signTransaction({...i,value:BigInt(i.value),gas:BigInt(i.gasLimit),account:Y});if(!q||(u.push({...i,txHash:q}),A===n.length-1||!q))break;const H=await Ns.waitForTransactionReceipt(me,{confirmations:1,hash:q});console.info({transactionReceipt:H,hash:q});break}case N.ChainType.sol:if(!i.instructions||!i.feePayer)break;const oe=await pe.signTransaction({feePayer:i.feePayer,instructions:i.instructions,recentBlockhash:i.recentBlockhash});if(!oe)break;u.push({...i,txHash:oe});break;case N.ChainType.btc:if(!i.bitcoinParams){console.error("No bitcoin params");break}const Cs=await xe.signTransaction(i.bitcoinParams);u.push({...i,txHash:Cs});break;case N.ChainType.sui:{const q=(ye=i.suiParams)==null?void 0:ye.transactionBytes,H=(Ae=i.suiParams)==null?void 0:Ae.sender;if(!q||!H){console.error("No Sui transaction bytes or sender address");break}const we=await fe.signTransaction({transaction:q,address:H});if(!we)break;u.push({...i,suiParams:{...i.suiParams,signature:we}});break}default:k.toast.error("Provider not supported"),I(!1);return}z(()=>n.length-1-A)}catch{k.toast.dismiss(),k.toast.error("Transaction aborted"),x==null||x("Transaction aborted"),I(!1);return}}const{data:ae}=await be({transactions:u,provider:p,url:Ds.getApiURL()??"",token:Q??""}),Ne=((ke=ae.transactions)==null?void 0:ke.map(i=>i.txHash).filter(i=>!!i))??[],Se=u.map(i=>i.txHash).filter(i=>!!i),vs=Ne.length>0?Ne:Se.length>0?Se:ae.batchId?[ae.batchId]:[];Ie(vs),I(!1)}catch(A){console.error(A),k.toast.dismiss(),k.toast.error("Transaction cancelled"),x==null||x("Transaction cancelled"),I(!1),z(0),bs(),h(""),_("")}},[c==null?void 0:c.chainType,Y,me,h,_,Q,Ie,be,xe.signTransaction,ge.signTransaction,pe.signTransaction,fe.signTransaction]),{formik:g,firstAmountError:ee,secondAmountError:se,fromChainError:te,senderAddressError:ne,receiverAddressError:ie,confirmRateError:re,handleBlur:U,handleChange:ve,handleSubmit:fs,resetSwapForm:bs}=S.useBridgeFormik({isMvxConnected:!!l,rate:d,sender:hs??"",receiver:l??"",firstToken:e,firstAmount:m,fromChainId:P,toChainId:G,secondToken:a,secondAmount:F,setForceRefetchRate:Ke,senderChainType:c==null?void 0:c.chainType,receiverChainType:N.ChainType.mvx,onSubmit:xs}),_s=!!(ee||se||te||y||ne||ie||re),js=t.useMemo(()=>m!==""?y??ee:void 0,[ee,m,y]),Is=t.useMemo(()=>F!==""?te??se:void 0,[te,se,F]);return t.useEffect(()=>(m||V(""),Z(m),O&&clearInterval(O),O=setInterval(()=>{Z(m)},50*1e3),()=>clearInterval(O)),[m,$e,Z]),t.useEffect(()=>{d!=null&&d.amountOut&&(g.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,d.amountOut),V(d.amountOut))},[d==null?void 0:d.amountOut]),t.useEffect(()=>{y&&(g.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,"0"),V("0"))},[y]),t.useEffect(()=>{w&&(g.setFieldValue(S.BridgeFormikValuesEnum.firstAmount,w),h(w))},[]),t.useEffect(()=>{j&&(g.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,j),_(j))},[j]),s.jsx(s.Fragment,{children:s.jsxs("form",{ref:ze,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:fs,children:[Te&&s.jsx(Ws.BridgeHistory,{mvxAddress:l,onClose:qs}),s.jsxs(Ee.AmountCard,{className:De.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":W,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!W}),children:[s.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[s.jsx("span",{children:"From"}),s.jsx(Qs.BridgeAccountDisplay,{disabled:B,activeChain:c})]}),ne&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:ne}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Re.AmountInput,{inputName:"firstAmount",inputValue:g.values.firstAmount,amountError:js,disabled:!1,onInputDebounceChange:h,onInputChange:ve,onBlur:U}),s.jsx(Fe.TokenSelector,{name:"firstToken",disabled:B,options:R,areOptionsLoading:K,isMvxSelector:us,isDestination:!1,color:"neutral-850",onChange:_e,onBlur:U,onMaxBtnClick:gs,selectedOption:e,onTokenSelectorDisplay:n=>Qe(n)})]})]}),s.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:Ye&&s.jsx(Ks.ToggleDirection,{onChangeDirection:ps})}),s.jsxs(Ee.AmountCard,{className:De.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":W}),children:[s.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[s.jsx("span",{children:"To"}),s.jsx($s.MvxAccountDisplay,{accountAddress:l,chainIcon:L.safeImageUrl(o==null?void 0:o.pngUrl),username:Ve,accountExplorerUrl:`${he.mvxExplorerAddress}/accounts/${l}`,showTag:!0,onDisconnect:Ge,onConnect:ce})]}),ie&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:ie}),re&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:re}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Re.AmountInput,{inputName:"secondAmount",inputValue:g.values.secondAmount,amountError:Is,disabled:!1,onInputDebounceChange:_,onInputChange:ve,onBlur:U}),s.jsx(Fe.TokenSelector,{name:"secondToken",disabled:B,omitDisableClass:!0,options:os,areOptionsLoading:K,isMvxSelector:ds,color:"neutral-850",onChange:cs,onBlur:U,selectedOption:a})]})]}),s.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!l&&s.jsx(zs.MvxConnectButton,{mvxAccountAddress:l,icon:L.safeImageUrl(o==null?void 0:o.pngUrl),onClick:ce}),l&&!je&&s.jsx(Xs.BridgeConnectButton,{className:"liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",disabled:B,activeChain:c}),l&&je&&s.jsxs(Gs.MxButton,{type:"submit",variant:"neutral-850",className:"liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",disabled:!J||B||!l||!f.address||_s||E,children:[J&&!E&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx("div",{children:"Deposit on "}),s.jsx("img",{src:L.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),s.jsx("div",{children:"MultiversX"})]}),!J&&!E&&s.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"}),E&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx(ys.FontAwesomeIcon,{icon:Bs.faSpinner,spin:!0,className:"liq-mx-1 liq-flex liq-items-center"}),s.jsx("div",{children:"Depositing on"}),s.jsx("img",{src:L.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),s.jsx("div",{children:"MultiversX"})]})]})]}),f.address&&X>0&&s.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:s.jsxs("div",{children:["You will be asked to sign ",X," ",X>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Deposit=Ys;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),Bs=require("@fortawesome/free-solid-svg-icons/faSpinner"),ys=require("@fortawesome/react-fontawesome"),As=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),ks=require("@reown/appkit/react"),Ns=require("@wagmi/core"),Ss=require("lodash/debounce"),t=require("react"),k=require("react-toastify"),ws=require("./hooks/useBridgeTokenSelection.js"),Ms=require("./utils/bridgeFormHelpers.js"),Me=require("../../../constants/index.js"),Ds=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const L=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const N=require("../../../types/chainType.js"),Es=require("../../context/useWeb3App.js"),T=require("../../helpers/resolveBridgeApiChainId.js"),Rs=require("../../hooks/useAccount.js"),Fs=require("../../hooks/useBridgeApiChainId.js"),S=require("../../hooks/useBridgeFormik.js"),Vs=require("../../hooks/useFetchBridgeData.js"),Ps=require("../../hooks/useGetChainId.js"),Us=require("../../hooks/useNamespaceAddress.js"),Hs=require("../../hooks/useSendTransactions.js"),Ls=require("../../hooks/useSignTransaction.js"),Ts=require("../../queries/useGetHistory.query.js"),Os=require("../../queries/useGetRate.mutation.js"),De=require("../../utils/mxClsx.js"),Ee=require("../AmountCard/AmountCard.js"),Re=require("../AmountInput/AmountInput.js"),Gs=require("../base/MxButton/MxButton.js");require("../base/MxCard/MxCard.js");require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@headlessui/react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");const Ws=require("../BridgeHistory/BridgeHistory.js"),Xs=require("../Connect/BridgeConnectButton.js");require("wagmi");const zs=require("../Connect/MvxConnectButton.js"),Qs=require("../Connect/BridgeAccountDisplay.js"),$s=require("../Connect/MvxAccountDisplay.js");require("@reown/appkit-controllers");const Ks=require("../ToggleDirection/ToggleDirection.js"),Fe=require("../TokenSelector/TokenSelector.js");let O;const Ys=({mvxChainId:G,mvxAddress:l,username:Ve,callbackRoute:Pe="/",firstTokenIdentifier:Ue,secondTokenIdentifier:He,firstTokenAmount:w,secondTokenAmount:j,refetchTrigger:Le,showHistory:Te,forcedDestinationTokenSymbol:Oe,onSuccessfullySentTransaction:M,onFailedSentTransaction:f,onHistoryClose:D,onMvxConnect:oe,onMvxDisconnect:Ge,onNavigate:We,onChangeDirection:Xe})=>{var Ce,Be;const ze=t.useRef(null),ce=t.useRef(void 0),[W,Qe]=t.useState(!1),[E,I]=t.useState(!1),[$e,Ke]=t.useState(1),[X,z]=t.useState(0),Ye=Rs.useAccount(),{switchNetwork:le}=ks.useAppKitNetwork(),ue=Ts.useInvalidateHistoryQuery(),{config:de,options:me,supportedChains:v,nativeAuthToken:Q,bridgeOnly:Je}=Es.useWeb3App(),$=Ps.useGetChainId(),he=Fs.useBridgeApiChainId(),{evmTokensWithBalances:Ze,mvxTokensWithBalances:es,isTokensLoading:ss,isLoadingEvmTokensBalances:ts,isLoadingMvxTokensBalances:ns,chains:C=[],isChainsLoading:is}=Vs.useFetchBridgeData({refetchTrigger:Le,mvxAddress:l,mvxApiURL:me.mvxApiURL}),K=ss||ts||ns||is,rs=t.useMemo(()=>v.find(n=>T.sameBridgeApiChainId(n.id,$)),[$,v]),o=t.useMemo(()=>C.find(n=>n.chainId.toString()===G.toString()),[$,C]),{evm:qe,solana:ge,bitcoin:pe,sui:xe}=Ls.useSignTransaction(),fe=Hs.useSendTransactions(),{mutate:as,data:d,isPending:B,error:b}=Os.useGetRateMutation(),y=((Ce=b==null?void 0:b.response)==null?void 0:Ce.status)===400?(Be=b==null?void 0:b.response)==null?void 0:Be.data.message:void 0,os=t.useCallback(n=>{const x=v.find(u=>T.sameBridgeApiChainId(u.id,n.id));x&&le(x)},[v,le]),{firstToken:e,secondToken:a,fromOptions:R,toOptions:cs,selectedChainOption:r,onChangeFirstSelect:be,onChangeSecondSelect:ls,handleChangeDirection:us}=ws.useBridgeTokenSelection({chains:C,activeChain:rs,sdkChains:v,switchNetwork:os,fromTokens:Ze,toTokens:es,firstTokenIdentifier:Ue,secondTokenIdentifier:He,forcedDestinationTokenSymbol:Oe,isTokensLoading:K,callbackRoute:Pe,onNavigate:We}),ds=t.useMemo(()=>e?Me.MVX_CHAIN_IDS.includes(e.chainId.toString()):!1,[e==null?void 0:e.chainId]),ms=t.useMemo(()=>a?Me.MVX_CHAIN_IDS.includes(a.chainId.toString()):!1,[a==null?void 0:a.chainId]),[m,hs]=t.useState(w??""),[F,V]=t.useState(j??""),c=t.useMemo(()=>e?C.find(n=>T.sameBridgeApiChainId(n.chainId,e.chainId))??r:r,[e==null?void 0:e.chainId,C,r]),P=t.useMemo(()=>T.toBridgeApiChainId(e==null?void 0:e.chainId)??he,[e==null?void 0:e.chainId,he]),g=Us.useNamespaceAddress(c==null?void 0:c.chainType),_e=g,je=Ye.isConnected&&!!g,Y=m!==""&&F!=="",J=t.useCallback(Ss(async n=>{!n||!Number(n)||!g||!(e!=null&&e.address)||!(a!=null&&a.address)||!r||!P||as({nativeAuthToken:Q??"",body:{tokenIn:e.address,amountIn:n,fromChainId:P,tokenOut:a.address,toChainId:G}})},500),[g,P,e==null?void 0:e.address,a==null?void 0:a.address,r]),h=t.useCallback(n=>{hs(()=>n)},[]),_=t.useCallback(n=>{V(()=>n)},[]),qs=t.useCallback(()=>{D==null||D()},[D]),gs=t.useCallback(()=>{const n=As.formatAmount({decimals:e==null?void 0:e.decimals,input:(e==null?void 0:e.balance)??"0",addCommas:!1,digits:4});p.setFieldValue("firstAmount",n),h(n)},[e==null?void 0:e.balance,e==null?void 0:e.decimals,h]),Ie=t.useCallback(async n=>{h(""),_(""),ue(),ue(),M==null||M(n)},[h,_,M]),ps=()=>{us(),Xe()};t.useEffect(()=>{const n=ce.current;if(ce.current=r==null?void 0:r.chainId,!!n&&(r==null?void 0:r.chainId)!==(e==null?void 0:e.chainId)){const x=R==null?void 0:R.find(u=>u.chainId.toString()===(r==null?void 0:r.chainId));if(!x)return;be(x)}},[r==null?void 0:r.chainId]);const xs=t.useCallback(async({transactions:n,provider:x})=>{var ye,Ae,ke;const u=[];I(!0),z(()=>n.length);try{let A=-1;for(const i of n){++A;try{switch(Ms.resolveSigningChainType(i,c)){case N.ChainType.evm:{const q=await qe.signTransaction({...i,value:BigInt(i.value),gas:BigInt(i.gasLimit),account:_e});if(!q||(u.push({...i,txHash:q}),A===n.length-1||!q))break;const H=await Ns.waitForTransactionReceipt(de,{confirmations:1,hash:q});console.info({transactionReceipt:H,hash:q});break}case N.ChainType.sol:if(!i.instructions||!i.feePayer)break;const ae=await ge.signTransaction({feePayer:i.feePayer,instructions:i.instructions,recentBlockhash:i.recentBlockhash});if(!ae)break;u.push({...i,txHash:ae});break;case N.ChainType.btc:if(!i.bitcoinParams){console.error("No bitcoin params");break}const Cs=await pe.signTransaction(i.bitcoinParams);u.push({...i,txHash:Cs});break;case N.ChainType.sui:{const q=(ye=i.suiParams)==null?void 0:ye.transactionBytes,H=(Ae=i.suiParams)==null?void 0:Ae.sender;if(!q||!H){console.error("No Sui transaction bytes or sender address");break}const we=await xe.signTransaction({transaction:q,address:H});if(!we)break;u.push({...i,suiParams:{...i.suiParams,signature:we}});break}default:k.toast.error("Provider not supported"),I(!1);return}z(()=>n.length-1-A)}catch{k.toast.dismiss(),k.toast.error("Transaction aborted"),f==null||f("Transaction aborted"),I(!1);return}}const{data:re}=await fe({transactions:u,provider:x,url:Ds.getApiURL()??"",token:Q??""}),Ne=((ke=re.transactions)==null?void 0:ke.map(i=>i.txHash).filter(i=>!!i))??[],Se=u.map(i=>i.txHash).filter(i=>!!i),vs=Ne.length>0?Ne:Se.length>0?Se:re.batchId?[re.batchId]:[];Ie(vs),I(!1)}catch(A){console.error(A),k.toast.dismiss(),k.toast.error("Transaction cancelled"),f==null||f("Transaction cancelled"),I(!1),z(0),bs(),h(""),_("")}},[c==null?void 0:c.chainType,_e,de,h,_,Q,Ie,fe,pe.signTransaction,qe.signTransaction,ge.signTransaction,xe.signTransaction]),{formik:p,firstAmountError:Z,secondAmountError:ee,fromChainError:se,senderAddressError:te,receiverAddressError:ne,confirmRateError:ie,handleBlur:U,handleChange:ve,handleSubmit:fs,resetSwapForm:bs}=S.useBridgeFormik({isMvxConnected:!!l,rate:d,sender:g??"",receiver:l??"",firstToken:e,firstAmount:m,fromChainId:P,toChainId:G,secondToken:a,secondAmount:F,setForceRefetchRate:Ke,senderChainType:c==null?void 0:c.chainType,receiverChainType:N.ChainType.mvx,onSubmit:xs}),_s=!!(Z||ee||se||y||te||ne||ie),js=t.useMemo(()=>m!==""?y??Z:void 0,[Z,m,y]),Is=t.useMemo(()=>F!==""?se??ee:void 0,[se,ee,F]);return t.useEffect(()=>(m||V(""),J(m),O&&clearInterval(O),O=setInterval(()=>{J(m)},50*1e3),()=>clearInterval(O)),[m,$e,J]),t.useEffect(()=>{d!=null&&d.amountOut&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,d.amountOut),V(d.amountOut))},[d==null?void 0:d.amountOut]),t.useEffect(()=>{y&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,"0"),V("0"))},[y]),t.useEffect(()=>{w&&(p.setFieldValue(S.BridgeFormikValuesEnum.firstAmount,w),h(w))},[]),t.useEffect(()=>{j&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,j),_(j))},[j]),s.jsx(s.Fragment,{children:s.jsxs("form",{ref:ze,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:fs,children:[Te&&s.jsx(Ws.BridgeHistory,{mvxAddress:l,onClose:qs}),s.jsxs(Ee.AmountCard,{className:De.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":W,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!W}),children:[s.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[s.jsx("span",{children:"From"}),s.jsx(Qs.BridgeAccountDisplay,{disabled:B,activeChain:c})]}),te&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:te}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Re.AmountInput,{inputName:"firstAmount",inputValue:p.values.firstAmount,amountError:js,disabled:!1,onInputDebounceChange:h,onInputChange:ve,onBlur:U}),s.jsx(Fe.TokenSelector,{name:"firstToken",disabled:B,options:R,areOptionsLoading:K,isMvxSelector:ds,isDestination:!1,color:"neutral-850",onChange:be,onBlur:U,onMaxBtnClick:gs,selectedOption:e,onTokenSelectorDisplay:n=>Qe(n)})]})]}),s.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:Je&&s.jsx(Ks.ToggleDirection,{onChangeDirection:ps})}),s.jsxs(Ee.AmountCard,{className:De.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":W}),children:[s.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[s.jsx("span",{children:"To"}),s.jsx($s.MvxAccountDisplay,{accountAddress:l,chainIcon:L.safeImageUrl(o==null?void 0:o.pngUrl),username:Ve,accountExplorerUrl:`${me.mvxExplorerAddress}/accounts/${l}`,showTag:!0,onDisconnect:Ge,onConnect:oe})]}),ne&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:ne}),ie&&s.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:ie}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Re.AmountInput,{inputName:"secondAmount",inputValue:p.values.secondAmount,amountError:Is,disabled:!1,onInputDebounceChange:_,onInputChange:ve,onBlur:U}),s.jsx(Fe.TokenSelector,{name:"secondToken",disabled:B,omitDisableClass:!0,options:cs,areOptionsLoading:K,isMvxSelector:ms,color:"neutral-850",onChange:ls,onBlur:U,selectedOption:a})]})]}),s.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!l&&s.jsx(zs.MvxConnectButton,{mvxAccountAddress:l,icon:L.safeImageUrl(o==null?void 0:o.pngUrl),onClick:oe}),l&&!je&&s.jsx(Xs.BridgeConnectButton,{className:"liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",disabled:B,activeChain:c}),l&&je&&s.jsxs(Gs.MxButton,{type:"submit",variant:"neutral-850",className:"liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",disabled:!Y||B||!l||!g||_s||E,children:[Y&&!E&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx("div",{children:"Deposit on "}),s.jsx("img",{src:L.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),s.jsx("div",{children:"MultiversX"})]}),!Y&&!E&&s.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"}),E&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx(ys.FontAwesomeIcon,{icon:Bs.faSpinner,spin:!0,className:"liq-mx-1 liq-flex liq-items-center"}),s.jsx("div",{children:"Depositing on"}),s.jsx("img",{src:L.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),s.jsx("div",{children:"MultiversX"})]})]})]}),g&&X>0&&s.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:s.jsxs("div",{children:["You will be asked to sign ",X," ",X>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Deposit=Ys;
@@ -18,7 +18,7 @@ import "bitcoinjs-lib";
18
18
  import "viem";
19
19
  import { ChainType as P } from "../../../types/chainType.mjs";
20
20
  import { useWeb3App as Hi } from "../../context/useWeb3App.mjs";
21
- import { sameBridgeApiChainId as me, toBridgeApiChainId as Oi } from "../../helpers/resolveBridgeApiChainId.mjs";
21
+ import { sameBridgeApiChainId as de, toBridgeApiChainId as Oi } from "../../helpers/resolveBridgeApiChainId.mjs";
22
22
  import { useAccount as Wi } from "../../hooks/useAccount.mjs";
23
23
  import { useBridgeApiChainId as Xi } from "../../hooks/useBridgeApiChainId.mjs";
24
24
  import { useBridgeFormik as zi, BridgeFormikValuesEnum as G } from "../../hooks/useBridgeFormik.mjs";
@@ -64,96 +64,96 @@ const rn = ({
64
64
  showHistory: _e,
65
65
  forcedDestinationTokenSymbol: $e,
66
66
  onSuccessfullySentTransaction: k,
67
- onFailedSentTransaction: v,
67
+ onFailedSentTransaction: I,
68
68
  onHistoryClose: F,
69
- onMvxConnect: ue,
69
+ onMvxConnect: me,
70
70
  onMvxDisconnect: Ke,
71
71
  onNavigate: Ye,
72
72
  onChangeDirection: Je
73
73
  }) => {
74
74
  var De, Se;
75
- const Ze = Fe(null), pe = Fe(void 0), [$, Te] = y(!1), [L, A] = y(!1), [ei, ii] = y(1), [K, Y] = y(0), I = Wi(), { switchNetwork: he } = Vi(), ge = Yi(), {
76
- config: fe,
77
- options: qe,
75
+ const Ze = Fe(null), ue = Fe(void 0), [$, Te] = y(!1), [L, A] = y(!1), [ei, ii] = y(1), [K, Y] = y(0), ti = Wi(), { switchNetwork: pe } = Vi(), he = Yi(), {
76
+ config: ge,
77
+ options: fe,
78
78
  supportedChains: w,
79
79
  nativeAuthToken: J,
80
- bridgeOnly: ti
81
- } = Hi(), Z = Qi(), be = Xi(), {
82
- evmTokensWithBalances: ni,
83
- mvxTokensWithBalances: ri,
80
+ bridgeOnly: ni
81
+ } = Hi(), Z = Qi(), qe = Xi(), {
82
+ evmTokensWithBalances: ri,
83
+ mvxTokensWithBalances: oi,
84
84
  isTokensLoading: ai,
85
- isLoadingEvmTokensBalances: oi,
86
- isLoadingMvxTokensBalances: si,
85
+ isLoadingEvmTokensBalances: si,
86
+ isLoadingMvxTokensBalances: li,
87
87
  chains: D = [],
88
- isChainsLoading: li
88
+ isChainsLoading: ci
89
89
  } = Gi({
90
90
  refetchTrigger: Qe,
91
91
  mvxAddress: c,
92
- mvxApiURL: qe.mvxApiURL
93
- }), T = ai || oi || si || li, ci = g(() => w.find((i) => me(i.id, Z)), [Z, w]), o = g(() => D.find(
92
+ mvxApiURL: fe.mvxApiURL
93
+ }), T = ai || si || li || ci, di = g(() => w.find((i) => de(i.id, Z)), [Z, w]), a = g(() => D.find(
94
94
  (i) => i.chainId.toString() === _.toString()
95
- ), [Z, D]), { evm: ve, solana: Ie, bitcoin: xe, sui: Be } = Ki(), ye = $i(), {
96
- mutate: di,
95
+ ), [Z, D]), { evm: be, solana: ve, bitcoin: Ie, sui: xe } = Ki(), Be = $i(), {
96
+ mutate: mi,
97
97
  data: m,
98
98
  isPending: S,
99
99
  error: x
100
- } = Ji(), R = ((De = x == null ? void 0 : x.response) == null ? void 0 : De.status) === 400 ? (Se = x == null ? void 0 : x.response) == null ? void 0 : Se.data.message : void 0, mi = f(
100
+ } = Ji(), R = ((De = x == null ? void 0 : x.response) == null ? void 0 : De.status) === 400 ? (Se = x == null ? void 0 : x.response) == null ? void 0 : Se.data.message : void 0, ui = f(
101
101
  (i) => {
102
- const b = w.find(
103
- (d) => me(d.id, i.id)
102
+ const v = w.find(
103
+ (d) => de(d.id, i.id)
104
104
  );
105
- b && he(b);
105
+ v && pe(v);
106
106
  },
107
- [w, he]
107
+ [w, pe]
108
108
  ), {
109
109
  firstToken: e,
110
- secondToken: a,
110
+ secondToken: o,
111
111
  fromOptions: U,
112
- toOptions: ui,
112
+ toOptions: pi,
113
113
  selectedChainOption: r,
114
- onChangeFirstSelect: Ne,
115
- onChangeSecondSelect: pi,
116
- handleChangeDirection: hi
114
+ onChangeFirstSelect: ye,
115
+ onChangeSecondSelect: hi,
116
+ handleChangeDirection: gi
117
117
  } = Li({
118
118
  chains: D,
119
- activeChain: ci,
119
+ activeChain: di,
120
120
  sdkChains: w,
121
- switchNetwork: mi,
122
- fromTokens: ni,
123
- toTokens: ri,
121
+ switchNetwork: ui,
122
+ fromTokens: ri,
123
+ toTokens: oi,
124
124
  firstTokenIdentifier: ze,
125
125
  secondTokenIdentifier: Ge,
126
126
  forcedDestinationTokenSymbol: $e,
127
127
  isTokensLoading: T,
128
128
  callbackRoute: Xe,
129
129
  onNavigate: Ye
130
- }), gi = g(() => e ? Le.includes(e.chainId.toString()) : !1, [e == null ? void 0 : e.chainId]), fi = g(() => a ? Le.includes(a.chainId.toString()) : !1, [a == null ? void 0 : a.chainId]), [u, qi] = y(V ?? ""), [j, H] = y(C ?? ""), s = g(() => e ? D.find(
131
- (i) => me(i.chainId, e.chainId)
130
+ }), fi = g(() => e ? Le.includes(e.chainId.toString()) : !1, [e == null ? void 0 : e.chainId]), qi = g(() => o ? Le.includes(o.chainId.toString()) : !1, [o == null ? void 0 : o.chainId]), [u, bi] = y(V ?? ""), [j, H] = y(C ?? ""), s = g(() => e ? D.find(
131
+ (i) => de(i.chainId, e.chainId)
132
132
  ) ?? r : r, [e == null ? void 0 : e.chainId, D, r]), O = g(
133
- () => Oi(e == null ? void 0 : e.chainId) ?? be,
134
- [e == null ? void 0 : e.chainId, be]
135
- ), bi = _i(s == null ? void 0 : s.chainType), ee = I.address, Ce = I.isConnected && !!ee, ie = u !== "" && j !== "", te = f(
133
+ () => Oi(e == null ? void 0 : e.chainId) ?? qe,
134
+ [e == null ? void 0 : e.chainId, qe]
135
+ ), q = _i(s == null ? void 0 : s.chainType), Ne = q, Ce = ti.isConnected && !!q, ee = u !== "" && j !== "", ie = f(
136
136
  Fi(async (i) => {
137
- !i || !Number(i) || !I.address || !(e != null && e.address) || !(a != null && a.address) || !r || !O || di({
137
+ !i || !Number(i) || !q || !(e != null && e.address) || !(o != null && o.address) || !r || !O || mi({
138
138
  nativeAuthToken: J ?? "",
139
139
  body: {
140
140
  tokenIn: e.address,
141
141
  amountIn: i,
142
142
  fromChainId: O,
143
- tokenOut: a.address,
143
+ tokenOut: o.address,
144
144
  toChainId: _
145
145
  }
146
146
  });
147
147
  }, 500),
148
148
  [
149
- I.address,
149
+ q,
150
150
  O,
151
151
  e == null ? void 0 : e.address,
152
- a == null ? void 0 : a.address,
152
+ o == null ? void 0 : o.address,
153
153
  r
154
154
  ]
155
155
  ), p = f((i) => {
156
- qi(() => i);
156
+ bi(() => i);
157
157
  }, []), B = f((i) => {
158
158
  H(() => i);
159
159
  }, []), vi = f(() => {
@@ -165,10 +165,10 @@ const rn = ({
165
165
  addCommas: !1,
166
166
  digits: 4
167
167
  });
168
- q.setFieldValue("firstAmount", i), p(i);
168
+ b.setFieldValue("firstAmount", i), p(i);
169
169
  }, [e == null ? void 0 : e.balance, e == null ? void 0 : e.decimals, p]), Ae = f(
170
170
  async (i) => {
171
- p(""), B(""), ge(), ge(), k == null || k(i);
171
+ p(""), B(""), he(), he(), k == null || k(i);
172
172
  },
173
173
  [
174
174
  p,
@@ -176,23 +176,23 @@ const rn = ({
176
176
  k
177
177
  ]
178
178
  ), xi = () => {
179
- hi(), Je();
179
+ gi(), Je();
180
180
  };
181
181
  N(() => {
182
- const i = pe.current;
183
- if (pe.current = r == null ? void 0 : r.chainId, !!i && (r == null ? void 0 : r.chainId) !== (e == null ? void 0 : e.chainId)) {
184
- const b = U == null ? void 0 : U.find(
182
+ const i = ue.current;
183
+ if (ue.current = r == null ? void 0 : r.chainId, !!i && (r == null ? void 0 : r.chainId) !== (e == null ? void 0 : e.chainId)) {
184
+ const v = U == null ? void 0 : U.find(
185
185
  (d) => d.chainId.toString() === (r == null ? void 0 : r.chainId)
186
186
  );
187
- if (!b)
187
+ if (!v)
188
188
  return;
189
- Ne(b);
189
+ ye(v);
190
190
  }
191
191
  }, [r == null ? void 0 : r.chainId]);
192
192
  const Bi = f(
193
193
  async ({
194
194
  transactions: i,
195
- provider: b
195
+ provider: v
196
196
  }) => {
197
197
  var Re, Ee, Me;
198
198
  const d = [];
@@ -204,11 +204,11 @@ const rn = ({
204
204
  try {
205
205
  switch (Ui(t, s)) {
206
206
  case P.evm: {
207
- const h = await ve.signTransaction({
207
+ const h = await be.signTransaction({
208
208
  ...t,
209
209
  value: BigInt(t.value),
210
210
  gas: BigInt(t.gasLimit),
211
- account: ee
211
+ account: Ne
212
212
  });
213
213
  if (!h || (d.push({
214
214
  ...t,
@@ -216,7 +216,7 @@ const rn = ({
216
216
  }), E === i.length - 1 || !h))
217
217
  break;
218
218
  const X = await ki(
219
- fe,
219
+ ge,
220
220
  {
221
221
  confirmations: 1,
222
222
  hash: h
@@ -231,16 +231,16 @@ const rn = ({
231
231
  case P.sol:
232
232
  if (!t.instructions || !t.feePayer)
233
233
  break;
234
- const de = await Ie.signTransaction({
234
+ const ce = await ve.signTransaction({
235
235
  feePayer: t.feePayer,
236
236
  instructions: t.instructions,
237
237
  recentBlockhash: t.recentBlockhash
238
238
  });
239
- if (!de)
239
+ if (!ce)
240
240
  break;
241
241
  d.push({
242
242
  ...t,
243
- txHash: de
243
+ txHash: ce
244
244
  });
245
245
  break;
246
246
  case P.btc:
@@ -248,7 +248,7 @@ const rn = ({
248
248
  console.error("No bitcoin params");
249
249
  break;
250
250
  }
251
- const Si = await xe.signTransaction(
251
+ const Si = await Ie.signTransaction(
252
252
  t.bitcoinParams
253
253
  );
254
254
  d.push({
@@ -262,7 +262,7 @@ const rn = ({
262
262
  console.error("No Sui transaction bytes or sender address");
263
263
  break;
264
264
  }
265
- const ke = await Be.signTransaction({
265
+ const ke = await xe.signTransaction({
266
266
  transaction: h,
267
267
  address: X
268
268
  });
@@ -285,43 +285,43 @@ const rn = ({
285
285
  () => i.length - 1 - E
286
286
  );
287
287
  } catch {
288
- M.dismiss(), M.error("Transaction aborted"), v == null || v("Transaction aborted"), A(!1);
288
+ M.dismiss(), M.error("Transaction aborted"), I == null || I("Transaction aborted"), A(!1);
289
289
  return;
290
290
  }
291
291
  }
292
- const { data: ce } = await ye({
292
+ const { data: le } = await Be({
293
293
  transactions: d,
294
- provider: b,
294
+ provider: v,
295
295
  url: ji() ?? "",
296
296
  token: J ?? ""
297
- }), Pe = ((Me = ce.transactions) == null ? void 0 : Me.map((t) => t.txHash).filter((t) => !!t)) ?? [], Ve = d.map((t) => t.txHash).filter((t) => !!t), Di = Pe.length > 0 ? Pe : Ve.length > 0 ? Ve : ce.batchId ? [ce.batchId] : [];
297
+ }), Pe = ((Me = le.transactions) == null ? void 0 : Me.map((t) => t.txHash).filter((t) => !!t)) ?? [], Ve = d.map((t) => t.txHash).filter((t) => !!t), Di = Pe.length > 0 ? Pe : Ve.length > 0 ? Ve : le.batchId ? [le.batchId] : [];
298
298
  Ae(Di), A(!1);
299
299
  } catch (E) {
300
- console.error(E), M.dismiss(), M.error("Transaction cancelled"), v == null || v("Transaction cancelled"), A(!1), Y(0), Ni(), p(""), B("");
300
+ console.error(E), M.dismiss(), M.error("Transaction cancelled"), I == null || I("Transaction cancelled"), A(!1), Y(0), Ni(), p(""), B("");
301
301
  }
302
302
  },
303
303
  [
304
304
  s == null ? void 0 : s.chainType,
305
- ee,
306
- fe,
305
+ Ne,
306
+ ge,
307
307
  p,
308
308
  B,
309
309
  J,
310
310
  Ae,
311
- ye,
312
- xe.signTransaction,
313
- ve.signTransaction,
311
+ Be,
314
312
  Ie.signTransaction,
315
- Be.signTransaction
313
+ be.signTransaction,
314
+ ve.signTransaction,
315
+ xe.signTransaction
316
316
  ]
317
317
  ), {
318
- formik: q,
319
- firstAmountError: ne,
320
- secondAmountError: re,
321
- fromChainError: ae,
318
+ formik: b,
319
+ firstAmountError: te,
320
+ secondAmountError: ne,
321
+ fromChainError: re,
322
322
  senderAddressError: oe,
323
- receiverAddressError: se,
324
- confirmRateError: le,
323
+ receiverAddressError: ae,
324
+ confirmRateError: se,
325
325
  handleBlur: W,
326
326
  handleChange: we,
327
327
  handleSubmit: yi,
@@ -329,32 +329,32 @@ const rn = ({
329
329
  } = zi({
330
330
  isMvxConnected: !!c,
331
331
  rate: m,
332
- sender: bi ?? "",
332
+ sender: q ?? "",
333
333
  receiver: c ?? "",
334
334
  firstToken: e,
335
335
  firstAmount: u,
336
336
  fromChainId: O,
337
337
  toChainId: _,
338
- secondToken: a,
338
+ secondToken: o,
339
339
  secondAmount: j,
340
340
  setForceRefetchRate: ii,
341
341
  senderChainType: s == null ? void 0 : s.chainType,
342
342
  receiverChainType: P.mvx,
343
343
  onSubmit: Bi
344
- }), Ci = !!(ne || re || ae || R || oe || se || le), Ai = g(() => u !== "" ? R ?? ne : void 0, [ne, u, R]), wi = g(() => j !== "" ? ae ?? re : void 0, [ae, re, j]);
345
- return N(() => (u || H(""), te(u), Q && clearInterval(Q), Q = setInterval(() => {
346
- te(u);
347
- }, 50 * 1e3), () => clearInterval(Q)), [u, ei, te]), N(() => {
348
- m != null && m.amountOut && (q.setFieldValue(G.secondAmount, m.amountOut), H(m.amountOut));
344
+ }), Ci = !!(te || ne || re || R || oe || ae || se), Ai = g(() => u !== "" ? R ?? te : void 0, [te, u, R]), wi = g(() => j !== "" ? re ?? ne : void 0, [re, ne, j]);
345
+ return N(() => (u || H(""), ie(u), Q && clearInterval(Q), Q = setInterval(() => {
346
+ ie(u);
347
+ }, 50 * 1e3), () => clearInterval(Q)), [u, ei, ie]), N(() => {
348
+ m != null && m.amountOut && (b.setFieldValue(G.secondAmount, m.amountOut), H(m.amountOut));
349
349
  }, [m == null ? void 0 : m.amountOut]), N(() => {
350
- R && (q.setFieldValue(G.secondAmount, "0"), H("0"));
350
+ R && (b.setFieldValue(G.secondAmount, "0"), H("0"));
351
351
  }, [R]), N(() => {
352
- V && (q.setFieldValue(
352
+ V && (b.setFieldValue(
353
353
  G.firstAmount,
354
354
  V
355
355
  ), p(V));
356
356
  }, []), N(() => {
357
- C && (q.setFieldValue(
357
+ C && (b.setFieldValue(
358
358
  G.secondAmount,
359
359
  C
360
360
  ), B(C));
@@ -395,7 +395,7 @@ const rn = ({
395
395
  He,
396
396
  {
397
397
  inputName: "firstAmount",
398
- inputValue: q.values.firstAmount,
398
+ inputValue: b.values.firstAmount,
399
399
  amountError: Ai,
400
400
  disabled: !1,
401
401
  onInputDebounceChange: p,
@@ -410,10 +410,10 @@ const rn = ({
410
410
  disabled: S,
411
411
  options: U,
412
412
  areOptionsLoading: T,
413
- isMvxSelector: gi,
413
+ isMvxSelector: fi,
414
414
  isDestination: !1,
415
415
  color: "neutral-850",
416
- onChange: Ne,
416
+ onChange: ye,
417
417
  onBlur: W,
418
418
  onMaxBtnClick: Ii,
419
419
  selectedOption: e,
@@ -424,7 +424,7 @@ const rn = ({
424
424
  ]
425
425
  }
426
426
  ),
427
- /* @__PURE__ */ n("div", { className: "liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10", children: ti && /* @__PURE__ */ n(rt, { onChangeDirection: xi }) }),
427
+ /* @__PURE__ */ n("div", { className: "liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10", children: ni && /* @__PURE__ */ n(rt, { onChangeDirection: xi }) }),
428
428
  /* @__PURE__ */ l(
429
429
  je,
430
430
  {
@@ -441,23 +441,23 @@ const rn = ({
441
441
  nt,
442
442
  {
443
443
  accountAddress: c,
444
- chainIcon: z(o == null ? void 0 : o.pngUrl),
444
+ chainIcon: z(a == null ? void 0 : a.pngUrl),
445
445
  username: We,
446
- accountExplorerUrl: `${qe.mvxExplorerAddress}/accounts/${c}`,
446
+ accountExplorerUrl: `${fe.mvxExplorerAddress}/accounts/${c}`,
447
447
  showTag: !0,
448
448
  onDisconnect: Ke,
449
- onConnect: ue
449
+ onConnect: me
450
450
  }
451
451
  )
452
452
  ] }),
453
+ ae && /* @__PURE__ */ n("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: ae }),
453
454
  se && /* @__PURE__ */ n("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: se }),
454
- le && /* @__PURE__ */ n("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: le }),
455
455
  /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
456
456
  /* @__PURE__ */ n(
457
457
  He,
458
458
  {
459
459
  inputName: "secondAmount",
460
- inputValue: q.values.secondAmount,
460
+ inputValue: b.values.secondAmount,
461
461
  amountError: wi,
462
462
  disabled: !1,
463
463
  onInputDebounceChange: B,
@@ -471,13 +471,13 @@ const rn = ({
471
471
  name: "secondToken",
472
472
  disabled: S,
473
473
  omitDisableClass: !0,
474
- options: ui,
474
+ options: pi,
475
475
  areOptionsLoading: T,
476
- isMvxSelector: fi,
476
+ isMvxSelector: qi,
477
477
  color: "neutral-850",
478
- onChange: pi,
478
+ onChange: hi,
479
479
  onBlur: W,
480
- selectedOption: a
480
+ selectedOption: o
481
481
  }
482
482
  )
483
483
  ] })
@@ -489,8 +489,8 @@ const rn = ({
489
489
  it,
490
490
  {
491
491
  mvxAccountAddress: c,
492
- icon: z(o == null ? void 0 : o.pngUrl),
493
- onClick: ue
492
+ icon: z(a == null ? void 0 : a.pngUrl),
493
+ onClick: me
494
494
  }
495
495
  ),
496
496
  c && !Ce && /* @__PURE__ */ n(
@@ -507,21 +507,21 @@ const rn = ({
507
507
  type: "submit",
508
508
  variant: "neutral-850",
509
509
  className: "liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",
510
- disabled: !ie || S || !c || !I.address || Ci || L,
510
+ disabled: !ee || S || !c || !q || Ci || L,
511
511
  children: [
512
- ie && !L && /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
512
+ ee && !L && /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
513
513
  /* @__PURE__ */ n("div", { children: "Deposit on " }),
514
514
  /* @__PURE__ */ n(
515
515
  "img",
516
516
  {
517
- src: z(o == null ? void 0 : o.pngUrl),
517
+ src: z(a == null ? void 0 : a.pngUrl),
518
518
  alt: "",
519
519
  className: "liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"
520
520
  }
521
521
  ),
522
522
  /* @__PURE__ */ n("div", { children: "MultiversX" })
523
523
  ] }),
524
- !ie && !L && /* @__PURE__ */ n("span", { className: "liq-text-neutral-100", children: "Enter amount" }),
524
+ !ee && !L && /* @__PURE__ */ n("span", { className: "liq-text-neutral-100", children: "Enter amount" }),
525
525
  L && /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
526
526
  /* @__PURE__ */ n(
527
527
  Mi,
@@ -535,7 +535,7 @@ const rn = ({
535
535
  /* @__PURE__ */ n(
536
536
  "img",
537
537
  {
538
- src: z(o == null ? void 0 : o.pngUrl),
538
+ src: z(a == null ? void 0 : a.pngUrl),
539
539
  alt: "",
540
540
  className: "liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"
541
541
  }
@@ -546,7 +546,7 @@ const rn = ({
546
546
  }
547
547
  )
548
548
  ] }),
549
- I.address && K > 0 && /* @__PURE__ */ n("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: /* @__PURE__ */ l("div", { children: [
549
+ q && K > 0 && /* @__PURE__ */ n("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: /* @__PURE__ */ l("div", { children: [
550
550
  "You will be asked to sign ",
551
551
  K,
552
552
  " ",
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ct=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),lt=require("@reown/appkit/react"),ut=require("lodash/debounce"),s=require("react"),de=require("react-toastify"),dt=require("./hooks/useBridgeTokenSelection.js"),me=require("../../../constants/index.js"),mt=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const Y=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const qt=require("../../../types/chainType.js"),ht=require("../../../types/providerType.js"),qe=require("../../context/useWeb3App.js"),k=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const pt=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),gt=require("../../hooks/useFetchBridgeData.js"),xt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const _t=require("../../hooks/useGetChainId.js"),ft=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("wagmi");require("@reown/appkit-controllers");const jt=require("../../hooks/useNamespaceAddress.js"),bt=require("../../queries/useGetHistory.query.js"),Ct=require("../../queries/useGetRate.mutation.js"),he=require("../../utils/mxClsx.js"),pe=require("../AmountCard/AmountCard.js"),ge=require("../AmountInput/AmountInput.js"),vt=require("../base/MxButton/MxButton.js");require("../base/MxCard/MxCard.js");require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@fortawesome/react-fontawesome");require("@headlessui/react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");const It=require("../BridgeHistory/BridgeHistory.js"),At=require("../Connect/BridgeConnectButton.js"),Bt=require("../Connect/MvxConnectButton.js"),yt=require("../Connect/BridgeAccountDisplay.js"),Nt=require("../Connect/MvxAccountDisplay.js"),Mt=require("../ToggleDirection/ToggleDirection.js"),xe=require("../TokenSelector/TokenSelector.js");let D;const Et=({mvxChainId:A,mvxAddress:a,username:_e,callbackRoute:fe="/",firstTokenIdentifier:je,secondTokenIdentifier:be,firstTokenAmount:B,secondTokenAmount:_,refetchTrigger:Ce,showHistory:ve,forcedDestinationTokenSymbol:Ie,onSuccessfullySentTransaction:u,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:J,onMvxDisconnect:Ae,onNavigate:Be,onChangeDirection:ye})=>{var le,ue;const Ne=s.useRef(null),[R,Me]=s.useState(!1),[Ee,we]=s.useState(1),[O,Z]=s.useState(0),[T,ee]=s.useState([]),d=pt.useAccount(),{switchNetwork:te}=lt.useAppKitNetwork(),se=bt.useInvalidateHistoryQuery(),{options:ie,supportedChains:f,nativeAuthToken:V,bridgeOnly:ke}=qe.useWeb3App(),F=_t.useGetChainId(),re=xt.useBridgeApiChainId(),ne=ft.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=qe.useWeb3App(),{evmTokensWithBalances:De,mvxTokensWithBalances:Re,isTokensLoading:Oe,isLoadingEvmTokensBalances:Ve,isLoadingMvxTokensBalances:Fe,chains:j=[],isChainsLoading:Le}=gt.useFetchBridgeData({refetchTrigger:Ce,mvxAddress:a,mvxApiURL:ie.mvxApiURL}),G=Oe||Ve||Fe||Le,Se=s.useMemo(()=>f.find(t=>k.sameBridgeApiChainId(t.id,F)),[F,f]),h=s.useMemo(()=>j.find(t=>t.chainId.toString()===A.toString()),[F,j]),{mutate:Ue,data:n,isPending:b,error:p}=Ct.useGetRateMutation(),C=((le=p==null?void 0:p.response)==null?void 0:le.status)===400?(ue=p==null?void 0:p.response)==null?void 0:ue.data.message:void 0,Ge=s.useCallback(t=>{const x=f.find(at=>k.sameBridgeApiChainId(at.id,t.id));x&&te(x)},[f,te]),{firstToken:i,secondToken:r,fromOptions:He,toOptions:We,selectedChainOption:v,onChangeFirstSelect:Pe,onChangeSecondSelect:Qe,handleChangeDirection:Xe}=dt.useBridgeTokenSelection({chains:j,activeChain:Se,sdkChains:f,switchNetwork:Ge,fromTokens:Re,toTokens:De,firstTokenIdentifier:je,secondTokenIdentifier:be,forcedDestinationTokenSymbol:Ie,isTokensLoading:G,mvxChainId:A,callbackRoute:fe,onNavigate:Be}),$e=()=>{Xe(),ye()},[c,ze]=s.useState(B??""),[N,M]=s.useState(_??""),Ke=s.useMemo(()=>i?me.MVX_CHAIN_IDS.includes(i.chainId.toString()):!1,[i==null?void 0:i.chainId]),Ye=s.useMemo(()=>r?me.MVX_CHAIN_IDS.includes(r.chainId.toString()):!1,[r==null?void 0:r.chainId]),o=s.useMemo(()=>r?j.find(t=>k.sameBridgeApiChainId(t.chainId,r.chainId))??v:v,[r==null?void 0:r.chainId,j,v]),E=s.useMemo(()=>k.toBridgeApiChainId(r==null?void 0:r.chainId)??re,[r==null?void 0:r.chainId,re]),Je=jt.useNamespaceAddress(o==null?void 0:o.chainType),oe=d.address,ae=d.isConnected&&!!oe,H=c!==""&&N!=="",W=s.useCallback(ut(async t=>{!t||!Number(t)||!d.address||!(i!=null&&i.address)||!(r!=null&&r.address)||!v||!E||Ue({nativeAuthToken:V??"",body:{tokenIn:i.address,amountIn:t,fromChainId:A,tokenOut:r.address,toChainId:E}})},500),[d.address,E,i==null?void 0:i.address,r==null?void 0:r.address,v]),l=s.useCallback(t=>{ze(()=>t)},[]),g=s.useCallback(t=>{M(()=>t)},[]),Ze=s.useCallback(()=>{y==null||y()},[y]),Te=s.useCallback(()=>{const t=ct.formatAmount({decimals:i==null?void 0:i.decimals,input:(i==null?void 0:i.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",t),l(t)},[i==null?void 0:i.balance,i==null?void 0:i.decimals,l]),et=s.useCallback(async t=>{l(""),g(""),se(),se(),u==null||u(t)},[l,g,u]),tt=s.useCallback(async({transactions:t})=>{Z(()=>t.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(t),ee(t)}catch(x){console.error(x),de.toast.dismiss(),de.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),Z(0),it(),l(""),g("")}},[oe,l,g,V,et,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,senderAddressError:$,receiverAddressError:z,confirmRateError:K,handleBlur:w,handleChange:ce,handleSubmit:st,resetSwapForm:it}=I.useBridgeFormik({isMvxConnected:!!a,rate:n,sender:a??"",receiver:Je??"",firstToken:i,firstAmount:c,fromChainId:A,toChainId:E,secondToken:r,secondAmount:N,setForceRefetchRate:we,senderChainType:qt.ChainType.mvx,receiverChainType:o==null?void 0:o.chainType,onSubmit:tt}),rt=!!(P||Q||X||C||$||z||K),nt=s.useMemo(()=>c!==""?C??P:void 0,[P,c,C]),ot=s.useMemo(()=>N!==""?X??Q:void 0,[X,Q,N]);return s.useEffect(()=>(c||M(""),W(c),D&&clearInterval(D),D=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(D)),[c,Ee,W]),s.useEffect(()=>{n!=null&&n.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,n.amountOut),M(n.amountOut))},[n==null?void 0:n.amountOut]),s.useEffect(()=>{C&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),M("0"))},[C]),s.useEffect(()=>{B&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,B),l(B))},[]),s.useEffect(()=>{_&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,_),g(_))},[_]),s.useEffect(()=>{if(U)try{const t=U;ne({transactions:T.map(x=>({...x,txHash:t,receiver:d.address})),provider:(n==null?void 0:n.provider)??ht.ProviderType.None,url:mt.getApiURL()??"",token:V??""}),u==null||u([t])}catch(t){console.error("Error while sending transactions:",t),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),ee([])}},[U,T,n==null?void 0:n.provider,ne]),e.jsx(e.Fragment,{children:e.jsxs("form",{ref:Ne,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:st,children:[ve&&e.jsx(It.BridgeHistory,{mvxAddress:a,onClose:Ze}),e.jsxs(pe.AmountCard,{className:he.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"From"}),e.jsx(Nt.MvxAccountDisplay,{accountAddress:a,chainIcon:Y.safeImageUrl(h==null?void 0:h.pngUrl),username:_e,accountExplorerUrl:`${ie.mvxExplorerAddress}/accounts/${a}`,showTag:!0,onDisconnect:Ae,onConnect:J})]}),$&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:$}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(ge.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:nt,disabled:!1,onInputDebounceChange:l,onInputChange:ce,onBlur:w}),e.jsx(xe.TokenSelector,{name:"firstToken",disabled:b,options:He,areOptionsLoading:G,isMvxSelector:Ke,isDestination:!1,color:"neutral-850",onChange:Pe,onBlur:w,onMaxBtnClick:Te,selectedOption:i,onTokenSelectorDisplay:t=>Me(t)})]})]}),e.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:ke&&e.jsx(Mt.ToggleDirection,{onChangeDirection:$e})}),e.jsxs(pe.AmountCard,{className:he.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"To"}),e.jsx(yt.BridgeAccountDisplay,{disabled:b,activeChain:o})]}),z&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:z}),K&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:K}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(ge.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:ot,disabled:!1,onInputDebounceChange:g,onInputChange:ce,onBlur:w}),e.jsx(xe.TokenSelector,{name:"secondToken",disabled:b,omitDisableClass:!0,options:We,areOptionsLoading:G,isMvxSelector:Ye,color:"neutral-850",onChange:Qe,onBlur:w,selectedOption:r})]})]}),e.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!a&&e.jsx(Bt.MvxConnectButton,{mvxAccountAddress:a,icon:Y.safeImageUrl(h==null?void 0:h.pngUrl),onClick:J}),a&&!ae&&e.jsx(At.BridgeConnectButton,{className:"liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",disabled:b,activeChain:o}),a&&ae&&e.jsxs(vt.MxButton,{"data-testid":"submit-button",type:"submit",variant:"neutral-850",className:"liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",disabled:!H||b||!a||!d.address||rt,children:[H&&e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:"Transfer to "}),e.jsx("img",{src:Y.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),e.jsx("div",{children:o==null?void 0:o.networkName})]}),!H&&e.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),d.address&&O>0&&e.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:e.jsxs("div",{children:["You will be asked to sign ",O," ",O>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=Et;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ct=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),lt=require("@reown/appkit/react"),ut=require("lodash/debounce"),i=require("react"),ue=require("react-toastify"),dt=require("./hooks/useBridgeTokenSelection.js"),de=require("../../../constants/index.js"),mt=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const Y=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const qt=require("../../../types/chainType.js"),ht=require("../../../types/providerType.js"),me=require("../../context/useWeb3App.js"),k=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const pt=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),gt=require("../../hooks/useFetchBridgeData.js"),xt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const _t=require("../../hooks/useGetChainId.js"),ft=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("wagmi");require("@reown/appkit-controllers");const jt=require("../../hooks/useNamespaceAddress.js"),bt=require("../../queries/useGetHistory.query.js"),Ct=require("../../queries/useGetRate.mutation.js"),qe=require("../../utils/mxClsx.js"),he=require("../AmountCard/AmountCard.js"),pe=require("../AmountInput/AmountInput.js"),vt=require("../base/MxButton/MxButton.js");require("../base/MxCard/MxCard.js");require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@fortawesome/react-fontawesome");require("@headlessui/react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");const It=require("../BridgeHistory/BridgeHistory.js"),At=require("../Connect/BridgeConnectButton.js"),Bt=require("../Connect/MvxConnectButton.js"),yt=require("../Connect/BridgeAccountDisplay.js"),Nt=require("../Connect/MvxAccountDisplay.js"),Mt=require("../ToggleDirection/ToggleDirection.js"),ge=require("../TokenSelector/TokenSelector.js");let D;const Et=({mvxChainId:A,mvxAddress:a,username:xe,callbackRoute:_e="/",firstTokenIdentifier:fe,secondTokenIdentifier:je,firstTokenAmount:B,secondTokenAmount:_,refetchTrigger:be,showHistory:Ce,forcedDestinationTokenSymbol:ve,onSuccessfullySentTransaction:d,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:J,onMvxDisconnect:Ie,onNavigate:Ae,onChangeDirection:Be})=>{var ce,le;const ye=i.useRef(null),[R,Ne]=i.useState(!1),[Me,Ee]=i.useState(1),[O,Z]=i.useState(0),[T,ee]=i.useState([]),we=pt.useAccount(),{switchNetwork:te}=lt.useAppKitNetwork(),ie=bt.useInvalidateHistoryQuery(),{options:re,supportedChains:f,nativeAuthToken:V,bridgeOnly:ke}=me.useWeb3App(),F=_t.useGetChainId(),se=xt.useBridgeApiChainId(),ne=ft.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=me.useWeb3App(),{evmTokensWithBalances:De,mvxTokensWithBalances:Re,isTokensLoading:Oe,isLoadingEvmTokensBalances:Ve,isLoadingMvxTokensBalances:Fe,chains:j=[],isChainsLoading:Le}=gt.useFetchBridgeData({refetchTrigger:be,mvxAddress:a,mvxApiURL:re.mvxApiURL}),G=Oe||Ve||Fe||Le,Se=i.useMemo(()=>f.find(t=>k.sameBridgeApiChainId(t.id,F)),[F,f]),h=i.useMemo(()=>j.find(t=>t.chainId.toString()===A.toString()),[F,j]),{mutate:Ue,data:n,isPending:b,error:p}=Ct.useGetRateMutation(),C=((ce=p==null?void 0:p.response)==null?void 0:ce.status)===400?(le=p==null?void 0:p.response)==null?void 0:le.data.message:void 0,Ge=i.useCallback(t=>{const x=f.find(at=>k.sameBridgeApiChainId(at.id,t.id));x&&te(x)},[f,te]),{firstToken:r,secondToken:s,fromOptions:He,toOptions:We,selectedChainOption:v,onChangeFirstSelect:Pe,onChangeSecondSelect:Qe,handleChangeDirection:Xe}=dt.useBridgeTokenSelection({chains:j,activeChain:Se,sdkChains:f,switchNetwork:Ge,fromTokens:Re,toTokens:De,firstTokenIdentifier:fe,secondTokenIdentifier:je,forcedDestinationTokenSymbol:ve,isTokensLoading:G,mvxChainId:A,callbackRoute:_e,onNavigate:Ae}),$e=()=>{Xe(),Be()},[c,ze]=i.useState(B??""),[N,M]=i.useState(_??""),Ke=i.useMemo(()=>r?de.MVX_CHAIN_IDS.includes(r.chainId.toString()):!1,[r==null?void 0:r.chainId]),Ye=i.useMemo(()=>s?de.MVX_CHAIN_IDS.includes(s.chainId.toString()):!1,[s==null?void 0:s.chainId]),o=i.useMemo(()=>s?j.find(t=>k.sameBridgeApiChainId(t.chainId,s.chainId))??v:v,[s==null?void 0:s.chainId,j,v]),E=i.useMemo(()=>k.toBridgeApiChainId(s==null?void 0:s.chainId)??se,[s==null?void 0:s.chainId,se]),l=jt.useNamespaceAddress(o==null?void 0:o.chainType),Je=l,oe=we.isConnected&&!!l,H=c!==""&&N!=="",W=i.useCallback(ut(async t=>{!t||!Number(t)||!l||!(r!=null&&r.address)||!(s!=null&&s.address)||!v||!E||Ue({nativeAuthToken:V??"",body:{tokenIn:r.address,amountIn:t,fromChainId:A,tokenOut:s.address,toChainId:E}})},500),[l,E,r==null?void 0:r.address,s==null?void 0:s.address,v]),u=i.useCallback(t=>{ze(()=>t)},[]),g=i.useCallback(t=>{M(()=>t)},[]),Ze=i.useCallback(()=>{y==null||y()},[y]),Te=i.useCallback(()=>{const t=ct.formatAmount({decimals:r==null?void 0:r.decimals,input:(r==null?void 0:r.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",t),u(t)},[r==null?void 0:r.balance,r==null?void 0:r.decimals,u]),et=i.useCallback(async t=>{u(""),g(""),ie(),ie(),d==null||d(t)},[u,g,d]),tt=i.useCallback(async({transactions:t})=>{Z(()=>t.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(t),ee(t)}catch(x){console.error(x),ue.toast.dismiss(),ue.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),Z(0),rt(),u(""),g("")}},[Je,u,g,V,et,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,senderAddressError:$,receiverAddressError:z,confirmRateError:K,handleBlur:w,handleChange:ae,handleSubmit:it,resetSwapForm:rt}=I.useBridgeFormik({isMvxConnected:!!a,rate:n,sender:a??"",receiver:l??"",firstToken:r,firstAmount:c,fromChainId:A,toChainId:E,secondToken:s,secondAmount:N,setForceRefetchRate:Ee,senderChainType:qt.ChainType.mvx,receiverChainType:o==null?void 0:o.chainType,onSubmit:tt}),st=!!(P||Q||X||C||$||z||K),nt=i.useMemo(()=>c!==""?C??P:void 0,[P,c,C]),ot=i.useMemo(()=>N!==""?X??Q:void 0,[X,Q,N]);return i.useEffect(()=>(c||M(""),W(c),D&&clearInterval(D),D=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(D)),[c,Me,W]),i.useEffect(()=>{n!=null&&n.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,n.amountOut),M(n.amountOut))},[n==null?void 0:n.amountOut]),i.useEffect(()=>{C&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),M("0"))},[C]),i.useEffect(()=>{B&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,B),u(B))},[]),i.useEffect(()=>{_&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,_),g(_))},[_]),i.useEffect(()=>{if(U)try{const t=U;ne({transactions:T.map(x=>({...x,txHash:t,receiver:l})),provider:(n==null?void 0:n.provider)??ht.ProviderType.None,url:mt.getApiURL()??"",token:V??""}),d==null||d([t])}catch(t){console.error("Error while sending transactions:",t),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),ee([])}},[U,T,n==null?void 0:n.provider,ne]),e.jsx(e.Fragment,{children:e.jsxs("form",{ref:ye,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:it,children:[Ce&&e.jsx(It.BridgeHistory,{mvxAddress:a,onClose:Ze}),e.jsxs(he.AmountCard,{className:qe.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"From"}),e.jsx(Nt.MvxAccountDisplay,{accountAddress:a,chainIcon:Y.safeImageUrl(h==null?void 0:h.pngUrl),username:xe,accountExplorerUrl:`${re.mvxExplorerAddress}/accounts/${a}`,showTag:!0,onDisconnect:Ie,onConnect:J})]}),$&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:$}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(pe.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:nt,disabled:!1,onInputDebounceChange:u,onInputChange:ae,onBlur:w}),e.jsx(ge.TokenSelector,{name:"firstToken",disabled:b,options:He,areOptionsLoading:G,isMvxSelector:Ke,isDestination:!1,color:"neutral-850",onChange:Pe,onBlur:w,onMaxBtnClick:Te,selectedOption:r,onTokenSelectorDisplay:t=>Ne(t)})]})]}),e.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:ke&&e.jsx(Mt.ToggleDirection,{onChangeDirection:$e})}),e.jsxs(he.AmountCard,{className:qe.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"To"}),e.jsx(yt.BridgeAccountDisplay,{disabled:b,activeChain:o})]}),z&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:z}),K&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:K}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(pe.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:ot,disabled:!1,onInputDebounceChange:g,onInputChange:ae,onBlur:w}),e.jsx(ge.TokenSelector,{name:"secondToken",disabled:b,omitDisableClass:!0,options:We,areOptionsLoading:G,isMvxSelector:Ye,color:"neutral-850",onChange:Qe,onBlur:w,selectedOption:s})]})]}),e.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!a&&e.jsx(Bt.MvxConnectButton,{mvxAccountAddress:a,icon:Y.safeImageUrl(h==null?void 0:h.pngUrl),onClick:J}),a&&!oe&&e.jsx(At.BridgeConnectButton,{className:"liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",disabled:b,activeChain:o}),a&&oe&&e.jsxs(vt.MxButton,{"data-testid":"submit-button",type:"submit",variant:"neutral-850",className:"liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",disabled:!H||b||!a||!l||st,children:[H&&e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:"Transfer to "}),e.jsx("img",{src:Y.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),e.jsx("div",{children:o==null?void 0:o.networkName})]}),!H&&e.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),l&&O>0&&e.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:e.jsxs("div",{children:["You will be asked to sign ",O," ",O>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=Et;
@@ -1,11 +1,11 @@
1
- import { jsx as r, Fragment as pi, jsxs as s } from "react/jsx-runtime";
1
+ import { jsx as r, Fragment as pi, jsxs as l } from "react/jsx-runtime";
2
2
  import { formatAmount as ui } from "@multiversx/sdk-dapp-utils/out/helpers/formatAmount";
3
3
  import { useAppKitNetwork as hi } from "@reown/appkit/react";
4
4
  import fi from "lodash/debounce";
5
- import { useRef as gi, useState as C, useMemo as m, useCallback as d, useEffect as I } from "react";
6
- import { toast as fe } from "react-toastify";
5
+ import { useRef as gi, useState as C, useMemo as d, useCallback as p, useEffect as I } from "react";
6
+ import { toast as he } from "react-toastify";
7
7
  import { useBridgeTokenSelection as qi } from "./hooks/useBridgeTokenSelection.mjs";
8
- import { MVX_CHAIN_IDS as ge } from "../../../constants/index.mjs";
8
+ import { MVX_CHAIN_IDS as fe } from "../../../constants/index.mjs";
9
9
  import { getApiURL as vi } from "../../../helpers/getApiURL.mjs";
10
10
  import "../../constants/index.mjs";
11
11
  import { safeImageUrl as T } from "../../../helpers/safeImageUrl.mjs";
@@ -14,7 +14,7 @@ import "bitcoinjs-lib";
14
14
  import "viem";
15
15
  import { ChainType as bi } from "../../../types/chainType.mjs";
16
16
  import { ProviderType as Ci } from "../../../types/providerType.mjs";
17
- import { useWeb3App as qe } from "../../context/useWeb3App.mjs";
17
+ import { useWeb3App as ge } from "../../context/useWeb3App.mjs";
18
18
  import { sameBridgeApiChainId as ee, toBridgeApiChainId as Ii } from "../../helpers/resolveBridgeApiChainId.mjs";
19
19
  import "yup";
20
20
  import "@multiversx/sdk-dapp-utils/out/helpers/parseAmount";
@@ -33,9 +33,9 @@ import "@reown/appkit-controllers";
33
33
  import { useNamespaceAddress as Ei } from "../../hooks/useNamespaceAddress.mjs";
34
34
  import { useInvalidateHistoryQuery as Di } from "../../queries/useGetHistory.query.mjs";
35
35
  import { useGetRateMutation as Oi } from "../../queries/useGetRate.mutation.mjs";
36
- import { mxClsx as ve } from "../../utils/mxClsx.mjs";
37
- import { AmountCard as be } from "../AmountCard/AmountCard.mjs";
38
- import { AmountInput as Ce } from "../AmountInput/AmountInput.mjs";
36
+ import { mxClsx as qe } from "../../utils/mxClsx.mjs";
37
+ import { AmountCard as ve } from "../AmountCard/AmountCard.mjs";
38
+ import { AmountInput as be } from "../AmountInput/AmountInput.mjs";
39
39
  import { MxButton as Mi } from "../base/MxButton/MxButton.mjs";
40
40
  import "../base/MxCard/MxCard.mjs";
41
41
  import "../base/MxLink/MxLink.mjs";
@@ -52,39 +52,39 @@ import { MvxConnectButton as Li } from "../Connect/MvxConnectButton.mjs";
52
52
  import { BridgeAccountDisplay as Fi } from "../Connect/BridgeAccountDisplay.mjs";
53
53
  import { MvxAccountDisplay as Ui } from "../Connect/MvxAccountDisplay.mjs";
54
54
  import { ToggleDirection as ji } from "../ToggleDirection/ToggleDirection.mjs";
55
- import { TokenSelector as Ie } from "../TokenSelector/TokenSelector.mjs";
55
+ import { TokenSelector as Ce } from "../TokenSelector/TokenSelector.mjs";
56
56
  let U;
57
57
  const Wt = ({
58
58
  mvxChainId: E,
59
59
  mvxAddress: a,
60
- username: xe,
61
- callbackRoute: Ae = "/",
62
- firstTokenIdentifier: Ne,
63
- secondTokenIdentifier: Be,
60
+ username: Ie,
61
+ callbackRoute: xe = "/",
62
+ firstTokenIdentifier: Ae,
63
+ secondTokenIdentifier: Ne,
64
64
  firstTokenAmount: D,
65
65
  secondTokenAmount: x,
66
- refetchTrigger: we,
67
- showHistory: ye,
68
- forcedDestinationTokenSymbol: Ee,
69
- onSuccessfullySentTransaction: p,
66
+ refetchTrigger: Be,
67
+ showHistory: we,
68
+ forcedDestinationTokenSymbol: ye,
69
+ onSuccessfullySentTransaction: u,
70
70
  onFailedSentTransaction: f,
71
71
  onHistoryClose: O,
72
72
  onMvxConnect: ie,
73
- onMvxDisconnect: De,
74
- onNavigate: Oe,
75
- onChangeDirection: Me
73
+ onMvxDisconnect: Ee,
74
+ onNavigate: De,
75
+ onChangeDirection: Oe
76
76
  }) => {
77
- var ue, he;
78
- const Re = gi(null), [j, Ve] = C(!1), [Le, Fe] = C(1), [P, te] = C(0), [re, oe] = C([]), u = xi(), { switchNetwork: ne } = hi(), ae = Di(), {
79
- options: se,
77
+ var pe, ue;
78
+ const Me = gi(null), [j, Re] = C(!1), [Ve, Le] = C(1), [P, te] = C(0), [re, oe] = C([]), Fe = xi(), { switchNetwork: ne } = hi(), ae = Di(), {
79
+ options: le,
80
80
  supportedChains: A,
81
81
  nativeAuthToken: W,
82
82
  bridgeOnly: Ue
83
- } = qe(), G = wi(), le = Bi(), ce = yi(), {
83
+ } = ge(), G = wi(), se = Bi(), ce = yi(), {
84
84
  signMvxTransactions: Q,
85
85
  resetMvxTransactionHash: _,
86
86
  latestMvxTransactionHash: $
87
- } = qe(), {
87
+ } = ge(), {
88
88
  evmTokensWithBalances: je,
89
89
  mvxTokensWithBalances: Pe,
90
90
  isTokensLoading: We,
@@ -93,17 +93,17 @@ const Wt = ({
93
93
  chains: N = [],
94
94
  isChainsLoading: _e
95
95
  } = Ni({
96
- refetchTrigger: we,
96
+ refetchTrigger: Be,
97
97
  mvxAddress: a,
98
- mvxApiURL: se.mvxApiURL
99
- }), z = We || Ge || Qe || _e, $e = m(() => A.find((e) => ee(e.id, G)), [G, A]), g = m(() => N.find(
98
+ mvxApiURL: le.mvxApiURL
99
+ }), z = We || Ge || Qe || _e, $e = d(() => A.find((e) => ee(e.id, G)), [G, A]), g = d(() => N.find(
100
100
  (e) => e.chainId.toString() === E.toString()
101
101
  ), [G, N]), {
102
102
  mutate: ze,
103
103
  data: o,
104
104
  isPending: B,
105
105
  error: q
106
- } = Oi(), w = ((ue = q == null ? void 0 : q.response) == null ? void 0 : ue.status) === 400 ? (he = q == null ? void 0 : q.response) == null ? void 0 : he.data.message : void 0, He = d(
106
+ } = Oi(), w = ((pe = q == null ? void 0 : q.response) == null ? void 0 : pe.status) === 400 ? (ue = q == null ? void 0 : q.response) == null ? void 0 : ue.data.message : void 0, He = p(
107
107
  (e) => {
108
108
  const b = A.find(
109
109
  (di) => ee(di.id, e.id)
@@ -127,23 +127,23 @@ const Wt = ({
127
127
  switchNetwork: He,
128
128
  fromTokens: Pe,
129
129
  toTokens: je,
130
- firstTokenIdentifier: Ne,
131
- secondTokenIdentifier: Be,
132
- forcedDestinationTokenSymbol: Ee,
130
+ firstTokenIdentifier: Ae,
131
+ secondTokenIdentifier: Ne,
132
+ forcedDestinationTokenSymbol: ye,
133
133
  isTokensLoading: z,
134
134
  mvxChainId: E,
135
- callbackRoute: Ae,
136
- onNavigate: Oe
135
+ callbackRoute: xe,
136
+ onNavigate: De
137
137
  }), Ze = () => {
138
- Je(), Me();
139
- }, [l, Se] = C(D ?? ""), [M, R] = C(x ?? ""), Te = m(() => i ? ge.includes(i.chainId.toString()) : !1, [i == null ? void 0 : i.chainId]), ei = m(() => t ? ge.includes(t.chainId.toString()) : !1, [t == null ? void 0 : t.chainId]), n = m(() => t ? N.find(
138
+ Je(), Oe();
139
+ }, [s, Se] = C(D ?? ""), [M, R] = C(x ?? ""), Te = d(() => i ? fe.includes(i.chainId.toString()) : !1, [i == null ? void 0 : i.chainId]), ei = d(() => t ? fe.includes(t.chainId.toString()) : !1, [t == null ? void 0 : t.chainId]), n = d(() => t ? N.find(
140
140
  (e) => ee(e.chainId, t.chainId)
141
- ) ?? y : y, [t == null ? void 0 : t.chainId, N, y]), V = m(
142
- () => Ii(t == null ? void 0 : t.chainId) ?? le,
143
- [t == null ? void 0 : t.chainId, le]
144
- ), ii = Ei(n == null ? void 0 : n.chainType), me = u.address, de = u.isConnected && !!me, H = l !== "" && M !== "", K = d(
141
+ ) ?? y : y, [t == null ? void 0 : t.chainId, N, y]), V = d(
142
+ () => Ii(t == null ? void 0 : t.chainId) ?? se,
143
+ [t == null ? void 0 : t.chainId, se]
144
+ ), c = Ei(n == null ? void 0 : n.chainType), ii = c, me = Fe.isConnected && !!c, H = s !== "" && M !== "", K = p(
145
145
  fi(async (e) => {
146
- !e || !Number(e) || !u.address || !(i != null && i.address) || !(t != null && t.address) || !y || !V || ze({
146
+ !e || !Number(e) || !c || !(i != null && i.address) || !(t != null && t.address) || !y || !V || ze({
147
147
  nativeAuthToken: W ?? "",
148
148
  body: {
149
149
  tokenIn: i.address,
@@ -155,36 +155,36 @@ const Wt = ({
155
155
  });
156
156
  }, 500),
157
157
  [
158
- u.address,
158
+ c,
159
159
  V,
160
160
  i == null ? void 0 : i.address,
161
161
  t == null ? void 0 : t.address,
162
162
  y
163
163
  ]
164
- ), c = d((e) => {
164
+ ), m = p((e) => {
165
165
  Se(() => e);
166
- }, []), v = d((e) => {
166
+ }, []), v = p((e) => {
167
167
  R(() => e);
168
- }, []), ti = d(() => {
168
+ }, []), ti = p(() => {
169
169
  O == null || O();
170
- }, [O]), ri = d(() => {
170
+ }, [O]), ri = p(() => {
171
171
  const e = ui({
172
172
  decimals: i == null ? void 0 : i.decimals,
173
173
  input: (i == null ? void 0 : i.balance) ?? "0",
174
174
  addCommas: !1,
175
175
  digits: 4
176
176
  });
177
- h.setFieldValue("firstAmount", e), c(e);
178
- }, [i == null ? void 0 : i.balance, i == null ? void 0 : i.decimals, c]), oi = d(
177
+ h.setFieldValue("firstAmount", e), m(e);
178
+ }, [i == null ? void 0 : i.balance, i == null ? void 0 : i.decimals, m]), oi = p(
179
179
  async (e) => {
180
- c(""), v(""), ae(), ae(), p == null || p(e);
180
+ m(""), v(""), ae(), ae(), u == null || u(e);
181
181
  },
182
182
  [
183
- c,
183
+ m,
184
184
  v,
185
- p
185
+ u
186
186
  ]
187
- ), ni = d(
187
+ ), ni = p(
188
188
  async ({ transactions: e }) => {
189
189
  te(() => e.length);
190
190
  try {
@@ -192,12 +192,12 @@ const Wt = ({
192
192
  throw new Error("signMvxTransactions function is not provided");
193
193
  await Q(e), oe(e);
194
194
  } catch (b) {
195
- console.error(b), fe.dismiss(), fe.error("Transaction cancelled"), f == null || f("Transaction cancelled"), te(0), si(), c(""), v("");
195
+ console.error(b), he.dismiss(), he.error("Transaction cancelled"), f == null || f("Transaction cancelled"), te(0), li(), m(""), v("");
196
196
  }
197
197
  },
198
198
  [
199
- me,
200
- c,
199
+ ii,
200
+ m,
201
201
  v,
202
202
  W,
203
203
  oi,
@@ -212,28 +212,28 @@ const Wt = ({
212
212
  receiverAddressError: Z,
213
213
  confirmRateError: S,
214
214
  handleBlur: L,
215
- handleChange: pe,
215
+ handleChange: de,
216
216
  handleSubmit: ai,
217
- resetSwapForm: si
217
+ resetSwapForm: li
218
218
  } = Ai({
219
219
  isMvxConnected: !!a,
220
220
  rate: o,
221
221
  sender: a ?? "",
222
- receiver: ii ?? "",
222
+ receiver: c ?? "",
223
223
  firstToken: i,
224
- firstAmount: l,
224
+ firstAmount: s,
225
225
  fromChainId: E,
226
226
  toChainId: V,
227
227
  secondToken: t,
228
228
  secondAmount: M,
229
- setForceRefetchRate: Fe,
229
+ setForceRefetchRate: Le,
230
230
  senderChainType: bi.mvx,
231
231
  receiverChainType: n == null ? void 0 : n.chainType,
232
232
  onSubmit: ni
233
- }), li = !!(X || Y || k || w || J || Z || S), ci = m(() => l !== "" ? w ?? X : void 0, [X, l, w]), mi = m(() => M !== "" ? k ?? Y : void 0, [k, Y, M]);
234
- return I(() => (l || R(""), K(l), U && clearInterval(U), U = setInterval(() => {
235
- K(l);
236
- }, 50 * 1e3), () => clearInterval(U)), [l, Le, K]), I(() => {
233
+ }), si = !!(X || Y || k || w || J || Z || S), ci = d(() => s !== "" ? w ?? X : void 0, [X, s, w]), mi = d(() => M !== "" ? k ?? Y : void 0, [k, Y, M]);
234
+ return I(() => (s || R(""), K(s), U && clearInterval(U), U = setInterval(() => {
235
+ K(s);
236
+ }, 50 * 1e3), () => clearInterval(U)), [s, Ve, K]), I(() => {
237
237
  o != null && o.amountOut && (h.setFieldValue(F.secondAmount, o.amountOut), R(o.amountOut));
238
238
  }, [o == null ? void 0 : o.amountOut]), I(() => {
239
239
  w && (h.setFieldValue(F.secondAmount, "0"), R("0"));
@@ -241,7 +241,7 @@ const Wt = ({
241
241
  D && (h.setFieldValue(
242
242
  F.firstAmount,
243
243
  D
244
- ), c(D));
244
+ ), m(D));
245
245
  }, []), I(() => {
246
246
  x && (h.setFieldValue(
247
247
  F.secondAmount,
@@ -255,12 +255,12 @@ const Wt = ({
255
255
  transactions: re.map((b) => ({
256
256
  ...b,
257
257
  txHash: e,
258
- receiver: u.address
258
+ receiver: c
259
259
  })),
260
260
  provider: (o == null ? void 0 : o.provider) ?? Ci.None,
261
261
  url: vi() ?? "",
262
262
  token: W ?? ""
263
- }), p == null || p([e]);
263
+ }), u == null || u([e]);
264
264
  } catch (e) {
265
265
  console.error("Error while sending transactions:", e), f == null || f(
266
266
  "An error occurred while sending the transaction"
@@ -274,20 +274,20 @@ const Wt = ({
274
274
  re,
275
275
  o == null ? void 0 : o.provider,
276
276
  ce
277
- ]), /* @__PURE__ */ r(pi, { children: /* @__PURE__ */ s(
277
+ ]), /* @__PURE__ */ r(pi, { children: /* @__PURE__ */ l(
278
278
  "form",
279
279
  {
280
- ref: Re,
280
+ ref: Me,
281
281
  noValidate: !0,
282
282
  className: "liq-flex liq-flex-col liq-gap-1 liq-relative",
283
283
  autoComplete: "off",
284
284
  onSubmit: ai,
285
285
  children: [
286
- ye && /* @__PURE__ */ r(Ri, { mvxAddress: a, onClose: ti }),
287
- /* @__PURE__ */ s(
288
- be,
286
+ we && /* @__PURE__ */ r(Ri, { mvxAddress: a, onClose: ti }),
287
+ /* @__PURE__ */ l(
288
+ ve,
289
289
  {
290
- className: ve(
290
+ className: qe(
291
291
  "liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
292
292
  {
293
293
  "liq-pointer-events-none": j,
@@ -295,37 +295,37 @@ const Wt = ({
295
295
  }
296
296
  ),
297
297
  children: [
298
- /* @__PURE__ */ s("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
298
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
299
299
  /* @__PURE__ */ r("span", { children: "From" }),
300
300
  /* @__PURE__ */ r(
301
301
  Ui,
302
302
  {
303
303
  accountAddress: a,
304
304
  chainIcon: T(g == null ? void 0 : g.pngUrl),
305
- username: xe,
306
- accountExplorerUrl: `${se.mvxExplorerAddress}/accounts/${a}`,
305
+ username: Ie,
306
+ accountExplorerUrl: `${le.mvxExplorerAddress}/accounts/${a}`,
307
307
  showTag: !0,
308
- onDisconnect: De,
308
+ onDisconnect: Ee,
309
309
  onConnect: ie
310
310
  }
311
311
  )
312
312
  ] }),
313
313
  J && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: J }),
314
- /* @__PURE__ */ s("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
314
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
315
315
  /* @__PURE__ */ r(
316
- Ce,
316
+ be,
317
317
  {
318
318
  inputName: "firstAmount",
319
319
  inputValue: h.values.firstAmount,
320
320
  amountError: ci,
321
321
  disabled: !1,
322
- onInputDebounceChange: c,
323
- onInputChange: pe,
322
+ onInputDebounceChange: m,
323
+ onInputChange: de,
324
324
  onBlur: L
325
325
  }
326
326
  ),
327
327
  /* @__PURE__ */ r(
328
- Ie,
328
+ Ce,
329
329
  {
330
330
  name: "firstToken",
331
331
  disabled: B,
@@ -338,7 +338,7 @@ const Wt = ({
338
338
  onBlur: L,
339
339
  onMaxBtnClick: ri,
340
340
  selectedOption: i,
341
- onTokenSelectorDisplay: (e) => Ve(e)
341
+ onTokenSelectorDisplay: (e) => Re(e)
342
342
  }
343
343
  )
344
344
  ] })
@@ -346,17 +346,17 @@ const Wt = ({
346
346
  }
347
347
  ),
348
348
  /* @__PURE__ */ r("div", { className: "liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10", children: Ue && /* @__PURE__ */ r(ji, { onChangeDirection: Ze }) }),
349
- /* @__PURE__ */ s(
350
- be,
349
+ /* @__PURE__ */ l(
350
+ ve,
351
351
  {
352
- className: ve(
352
+ className: qe(
353
353
  "liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
354
354
  {
355
355
  "liq-pointer-events-none": j
356
356
  }
357
357
  ),
358
358
  children: [
359
- /* @__PURE__ */ s("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
359
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
360
360
  /* @__PURE__ */ r("span", { children: "To" }),
361
361
  /* @__PURE__ */ r(
362
362
  Fi,
@@ -368,21 +368,21 @@ const Wt = ({
368
368
  ] }),
369
369
  Z && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: Z }),
370
370
  S && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: S }),
371
- /* @__PURE__ */ s("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
371
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
372
372
  /* @__PURE__ */ r(
373
- Ce,
373
+ be,
374
374
  {
375
375
  inputName: "secondAmount",
376
376
  inputValue: h.values.secondAmount,
377
377
  amountError: mi,
378
378
  disabled: !1,
379
379
  onInputDebounceChange: v,
380
- onInputChange: pe,
380
+ onInputChange: de,
381
381
  onBlur: L
382
382
  }
383
383
  ),
384
384
  /* @__PURE__ */ r(
385
- Ie,
385
+ Ce,
386
386
  {
387
387
  name: "secondToken",
388
388
  disabled: B,
@@ -400,7 +400,7 @@ const Wt = ({
400
400
  ]
401
401
  }
402
402
  ),
403
- /* @__PURE__ */ s("div", { className: "liq-flex liq-items-center liq-justify-center", children: [
403
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-justify-center", children: [
404
404
  !a && /* @__PURE__ */ r(
405
405
  Li,
406
406
  {
@@ -409,7 +409,7 @@ const Wt = ({
409
409
  onClick: ie
410
410
  }
411
411
  ),
412
- a && !de && /* @__PURE__ */ r(
412
+ a && !me && /* @__PURE__ */ r(
413
413
  Vi,
414
414
  {
415
415
  className: "liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",
@@ -417,16 +417,16 @@ const Wt = ({
417
417
  activeChain: n
418
418
  }
419
419
  ),
420
- a && de && /* @__PURE__ */ s(
420
+ a && me && /* @__PURE__ */ l(
421
421
  Mi,
422
422
  {
423
423
  "data-testid": "submit-button",
424
424
  type: "submit",
425
425
  variant: "neutral-850",
426
426
  className: "liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",
427
- disabled: !H || B || !a || !u.address || li,
427
+ disabled: !H || B || !a || !c || si,
428
428
  children: [
429
- H && /* @__PURE__ */ s("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
429
+ H && /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
430
430
  /* @__PURE__ */ r("div", { children: "Transfer to " }),
431
431
  /* @__PURE__ */ r(
432
432
  "img",
@@ -443,7 +443,7 @@ const Wt = ({
443
443
  }
444
444
  )
445
445
  ] }),
446
- u.address && P > 0 && /* @__PURE__ */ r("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: /* @__PURE__ */ s("div", { children: [
446
+ c && P > 0 && /* @__PURE__ */ r("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: /* @__PURE__ */ l("div", { children: [
447
447
  "You will be asked to sign ",
448
448
  P,
449
449
  " ",