@multiversx/sdk-dapp-liquidity 2.1.0-alpha.3 → 2.1.0

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.1.0-alpha.3",
6
+ "version": "2.1.0",
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"),js=require("@fortawesome/free-solid-svg-icons/faSpinner"),Is=require("@fortawesome/react-fontawesome"),Cs=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),Bs=require("@reown/appkit/react"),vs=require("@wagmi/core"),ys=require("lodash/debounce"),t=require("react"),k=require("react-toastify"),As=require("./hooks/useBridgeTokenSelection.js"),ks=require("./utils/bridgeFormHelpers.js"),Se=require("../../../constants/index.js"),Ss=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const H=require("../../../helpers/safeImageUrl.js"),L=require("../../../types/chainType.js"),ws=require("../../context/useWeb3App.js"),T=require("../../helpers/resolveBridgeApiChainId.js"),Ns=require("../../hooks/useAccount.js"),Ms=require("../../hooks/useBridgeApiChainId.js"),S=require("../../hooks/useBridgeFormik.js"),Ds=require("../../hooks/useFetchBridgeData.js"),Fs=require("../../hooks/useGetChainId.js"),Rs=require("../../hooks/useSendTransactions.js"),Es=require("../../hooks/useSignTransaction.js"),Vs=require("../../queries/useGetHistory.query.js"),Ps=require("../../queries/useGetRate.mutation.js"),we=require("../../utils/mxClsx.js"),Ne=require("../AmountCard/AmountCard.js"),Me=require("../AmountInput/AmountInput.js"),Us=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 Hs=require("../BridgeHistory/BridgeHistory.js"),Ls=require("../Connect/BridgeConnectButton.js");require("wagmi");const Ts=require("../Connect/MvxConnectButton.js"),Os=require("../Connect/BridgeAccountDisplay.js"),Gs=require("../Connect/MvxAccountDisplay.js");require("@reown/appkit-controllers");const Ws=require("../ToggleDirection/ToggleDirection.js"),De=require("../TokenSelector/TokenSelector.js");let O;const Xs=({mvxChainId:G,mvxAddress:c,username:Fe,callbackRoute:Re="/",firstTokenIdentifier:Ee,secondTokenIdentifier:Ve,firstTokenAmount:w,secondTokenAmount:j,refetchTrigger:Pe,showHistory:Ue,forcedDestinationTokenSymbol:He,onSuccessfullySentTransaction:N,onFailedSentTransaction:f,onHistoryClose:M,onMvxConnect:re,onMvxDisconnect:Le,onNavigate:Te,onChangeDirection:Oe})=>{var je,Ie;const Ge=t.useRef(null),ae=t.useRef(void 0),[W,We]=t.useState(!1),[D,I]=t.useState(!1),[Xe,ze]=t.useState(1),[X,z]=t.useState(0),g=Ns.useAccount(),{switchNetwork:oe}=Bs.useAppKitNetwork(),ce=Vs.useInvalidateHistoryQuery(),{config:le,options:ue,supportedChains:C,nativeAuthToken:Q,bridgeOnly:Qe}=ws.useWeb3App(),$=Fs.useGetChainId(),de=Ms.useBridgeApiChainId(),{evmTokensWithBalances:$e,mvxTokensWithBalances:Ke,isTokensLoading:Ye,isLoadingEvmTokensBalances:Je,isLoadingMvxTokensBalances:Ze,chains:B=[],isChainsLoading:es}=Ds.useFetchBridgeData({refetchTrigger:Pe,mvxAddress:c,mvxApiURL:ue.mvxApiURL}),K=Ye||Je||Ze||es,ss=t.useMemo(()=>C.find(n=>T.sameBridgeApiChainId(n.id,$)),[$,C]),o=t.useMemo(()=>B.find(n=>n.chainId.toString()===G.toString()),[$,B]),{evm:me,solana:he,bitcoin:ge,sui:pe}=Es.useSignTransaction(),qe=Rs.useSendTransactions(),{mutate:ts,data:u,isPending:v,error:b}=Ps.useGetRateMutation(),y=((je=b==null?void 0:b.response)==null?void 0:je.status)===400?(Ie=b==null?void 0:b.response)==null?void 0:Ie.data.message:void 0,ns=t.useCallback(n=>{const q=C.find(l=>T.sameBridgeApiChainId(l.id,n.id));q&&(alert("switch2"),oe(q))},[C,oe]),{firstToken:e,secondToken:a,fromOptions:F,toOptions:is,selectedChainOption:r,onChangeFirstSelect:fe,onChangeSecondSelect:rs,handleChangeDirection:as}=As.useBridgeTokenSelection({chains:B,activeChain:ss,sdkChains:C,switchNetwork:ns,fromTokens:$e,toTokens:Ke,firstTokenIdentifier:Ee,secondTokenIdentifier:Ve,forcedDestinationTokenSymbol:He,isTokensLoading:K,callbackRoute:Re,onNavigate:Te}),os=t.useMemo(()=>e?Se.MVX_CHAIN_IDS.includes(e.chainId.toString()):!1,[e==null?void 0:e.chainId]),cs=t.useMemo(()=>a?Se.MVX_CHAIN_IDS.includes(a.chainId.toString()):!1,[a==null?void 0:a.chainId]),[d,ls]=t.useState(w??""),[R,E]=t.useState(j??""),x=t.useMemo(()=>e?B.find(n=>T.sameBridgeApiChainId(n.chainId,e.chainId))??r:r,[e==null?void 0:e.chainId,B,r]),V=t.useMemo(()=>T.toBridgeApiChainId(e==null?void 0:e.chainId)??de,[e==null?void 0:e.chainId,de]),Y=g.address,be=g.isConnected&&!!Y,J=d!==""&&R!=="",Z=t.useCallback(ys(async n=>{!n||!Number(n)||!g.address||!(e!=null&&e.address)||!(a!=null&&a.address)||!r||!V||ts({nativeAuthToken:Q??"",body:{tokenIn:e.address,amountIn:n,fromChainId:V,tokenOut:a.address,toChainId:G}})},500),[g.address,V,e==null?void 0:e.address,a==null?void 0:a.address,r]),m=t.useCallback(n=>{ls(()=>n)},[]),_=t.useCallback(n=>{E(()=>n)},[]),us=t.useCallback(()=>{M==null||M()},[M]),ds=t.useCallback(()=>{const n=Cs.formatAmount({decimals:e==null?void 0:e.decimals,input:(e==null?void 0:e.balance)??"0",addCommas:!1,digits:4});p.setFieldValue("firstAmount",n),m(n)},[e==null?void 0:e.balance,e==null?void 0:e.decimals,m]),xe=t.useCallback(async n=>{m(""),_(""),ce(),ce(),N==null||N(n)},[m,_,N]),ms=()=>{as(),Oe()};t.useEffect(()=>{const n=ae.current;if(ae.current=r==null?void 0:r.chainId,!!n&&(r==null?void 0:r.chainId)!==(e==null?void 0:e.chainId)){const q=F==null?void 0:F.find(l=>l.chainId.toString()===(r==null?void 0:r.chainId));if(!q)return;fe(q)}},[r==null?void 0:r.chainId]);const hs=t.useCallback(async({transactions:n,provider:q})=>{var Ce,Be,ve;const l=[];I(!0),z(()=>n.length);try{let A=-1;for(const i of n){++A;try{switch(ks.resolveSigningChainType(i,x)){case L.ChainType.evm:{const h=await me.signTransaction({...i,value:BigInt(i.value),gas:BigInt(i.gasLimit),account:Y});if(!h||(l.push({...i,txHash:h}),A===n.length-1||!h))break;const U=await vs.waitForTransactionReceipt(le,{confirmations:1,hash:h});console.info({transactionReceipt:U,hash:h});break}case L.ChainType.sol:if(!i.instructions||!i.feePayer)break;const ie=await he.signTransaction({feePayer:i.feePayer,instructions:i.instructions,recentBlockhash:i.recentBlockhash});if(!ie)break;l.push({...i,txHash:ie});break;case L.ChainType.btc:if(!i.bitcoinParams){console.error("No bitcoin params");break}const _s=await ge.signTransaction(i.bitcoinParams);l.push({...i,txHash:_s});break;case L.ChainType.sui:{const h=(Ce=i.suiParams)==null?void 0:Ce.transactionBytes,U=(Be=i.suiParams)==null?void 0:Be.sender;if(!h||!U){console.error("No Sui transaction bytes or sender address");break}const ke=await pe.signTransaction({transaction:h,address:U});if(!ke)break;l.push({...i,suiParams:{...i.suiParams,signature:ke}});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:ne}=await qe({transactions:l,provider:q,url:Ss.getApiURL()??"",token:Q??""}),ye=((ve=ne.transactions)==null?void 0:ve.map(i=>i.txHash).filter(i=>!!i))??[],Ae=l.map(i=>i.txHash).filter(i=>!!i),xs=ye.length>0?ye:Ae.length>0?Ae:ne.batchId?[ne.batchId]:[];xe(xs),I(!1)}catch(A){console.error(A),k.toast.dismiss(),k.toast.error("Transaction cancelled"),f==null||f("Transaction cancelled"),I(!1),z(0),ps(),m(""),_("")}},[x==null?void 0:x.chainType,Y,le,m,_,Q,xe,qe,ge.signTransaction,me.signTransaction,he.signTransaction,pe.signTransaction]),{formik:p,firstAmountError:ee,secondAmountError:se,fromChainError:te,handleBlur:P,handleChange:_e,handleSubmit:gs,resetSwapForm:ps}=S.useBridgeFormik({isMvxConnected:!!c,rate:u,sender:g.address??"",receiver:c??"",firstToken:e,firstAmount:d,fromChainId:V,toChainId:G,secondToken:a,secondAmount:R,setForceRefetchRate:ze,onSubmit:hs}),qs=!!(ee||se||te||y),fs=t.useMemo(()=>d!==""?y??ee:void 0,[ee,d,y]),bs=t.useMemo(()=>R!==""?te??se:void 0,[te,se,R]);return t.useEffect(()=>(d||E(""),Z(d),O&&clearInterval(O),O=setInterval(()=>{Z(d)},50*1e3),()=>clearInterval(O)),[d,Xe,Z]),t.useEffect(()=>{u!=null&&u.amountOut&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,u.amountOut),E(u.amountOut))},[u==null?void 0:u.amountOut]),t.useEffect(()=>{y&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,"0"),E("0"))},[y]),t.useEffect(()=>{w&&(p.setFieldValue(S.BridgeFormikValuesEnum.firstAmount,w),m(w))},[]),t.useEffect(()=>{j&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,j),_(j))},[j]),s.jsx(s.Fragment,{children:s.jsxs("form",{ref:Ge,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:gs,children:[Ue&&s.jsx(Hs.BridgeHistory,{mvxAddress:c,onClose:us}),s.jsxs(Ne.AmountCard,{className:we.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(Os.BridgeAccountDisplay,{disabled:v,activeChain:x})]}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Me.AmountInput,{inputName:"firstAmount",inputValue:p.values.firstAmount,amountError:fs,disabled:!1,onInputDebounceChange:m,onInputChange:_e,onBlur:P}),s.jsx(De.TokenSelector,{name:"firstToken",disabled:v,options:F,areOptionsLoading:K,isMvxSelector:os,isDestination:!1,color:"neutral-850",onChange:fe,onBlur:P,onMaxBtnClick:ds,selectedOption:e,onTokenSelectorDisplay:n=>We(n)})]})]}),s.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:Qe&&s.jsx(Ws.ToggleDirection,{onChangeDirection:ms})}),s.jsxs(Ne.AmountCard,{className:we.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(Gs.MvxAccountDisplay,{accountAddress:c,chainIcon:H.safeImageUrl(o==null?void 0:o.pngUrl),username:Fe,accountExplorerUrl:`${ue.mvxExplorerAddress}/accounts/${c}`,showTag:!0,onDisconnect:Le,onConnect:re})]}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Me.AmountInput,{inputName:"secondAmount",inputValue:p.values.secondAmount,amountError:bs,disabled:!1,onInputDebounceChange:_,onInputChange:_e,onBlur:P}),s.jsx(De.TokenSelector,{name:"secondToken",disabled:v,omitDisableClass:!0,options:is,areOptionsLoading:K,isMvxSelector:cs,color:"neutral-850",onChange:rs,onBlur:P,selectedOption:a})]})]}),s.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!c&&s.jsx(Ts.MvxConnectButton,{mvxAccountAddress:c,icon:H.safeImageUrl(o==null?void 0:o.pngUrl),onClick:re}),c&&!be&&s.jsx(Ls.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:v,activeChain:x}),c&&be&&s.jsxs(Us.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||v||!c||!g.address||qs||D,children:[J&&!D&&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:H.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&&!D&&s.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"}),D&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx(Is.FontAwesomeIcon,{icon:js.faSpinner,spin:!0,className:"liq-mx-1 liq-flex liq-items-center"}),s.jsx("div",{children:"Depositing on"}),s.jsx("img",{src:H.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.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=Xs;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),js=require("@fortawesome/free-solid-svg-icons/faSpinner"),Is=require("@fortawesome/react-fontawesome"),Cs=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),Bs=require("@reown/appkit/react"),vs=require("@wagmi/core"),ys=require("lodash/debounce"),t=require("react"),k=require("react-toastify"),As=require("./hooks/useBridgeTokenSelection.js"),ks=require("./utils/bridgeFormHelpers.js"),Se=require("../../../constants/index.js"),Ss=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const H=require("../../../helpers/safeImageUrl.js"),L=require("../../../types/chainType.js"),ws=require("../../context/useWeb3App.js"),T=require("../../helpers/resolveBridgeApiChainId.js"),Ns=require("../../hooks/useAccount.js"),Ms=require("../../hooks/useBridgeApiChainId.js"),S=require("../../hooks/useBridgeFormik.js"),Ds=require("../../hooks/useFetchBridgeData.js"),Fs=require("../../hooks/useGetChainId.js"),Rs=require("../../hooks/useSendTransactions.js"),Es=require("../../hooks/useSignTransaction.js"),Vs=require("../../queries/useGetHistory.query.js"),Ps=require("../../queries/useGetRate.mutation.js"),we=require("../../utils/mxClsx.js"),Ne=require("../AmountCard/AmountCard.js"),Me=require("../AmountInput/AmountInput.js"),Us=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 Hs=require("../BridgeHistory/BridgeHistory.js"),Ls=require("../Connect/BridgeConnectButton.js");require("wagmi");const Ts=require("../Connect/MvxConnectButton.js"),Os=require("../Connect/BridgeAccountDisplay.js"),Gs=require("../Connect/MvxAccountDisplay.js");require("@reown/appkit-controllers");const Ws=require("../ToggleDirection/ToggleDirection.js"),De=require("../TokenSelector/TokenSelector.js");let O;const Xs=({mvxChainId:G,mvxAddress:c,username:Fe,callbackRoute:Re="/",firstTokenIdentifier:Ee,secondTokenIdentifier:Ve,firstTokenAmount:w,secondTokenAmount:j,refetchTrigger:Pe,showHistory:Ue,forcedDestinationTokenSymbol:He,onSuccessfullySentTransaction:N,onFailedSentTransaction:f,onHistoryClose:M,onMvxConnect:re,onMvxDisconnect:Le,onNavigate:Te,onChangeDirection:Oe})=>{var je,Ie;const Ge=t.useRef(null),ae=t.useRef(void 0),[W,We]=t.useState(!1),[D,I]=t.useState(!1),[Xe,ze]=t.useState(1),[X,z]=t.useState(0),g=Ns.useAccount(),{switchNetwork:oe}=Bs.useAppKitNetwork(),ce=Vs.useInvalidateHistoryQuery(),{config:le,options:ue,supportedChains:C,nativeAuthToken:Q,bridgeOnly:Qe}=ws.useWeb3App(),$=Fs.useGetChainId(),de=Ms.useBridgeApiChainId(),{evmTokensWithBalances:$e,mvxTokensWithBalances:Ke,isTokensLoading:Ye,isLoadingEvmTokensBalances:Je,isLoadingMvxTokensBalances:Ze,chains:B=[],isChainsLoading:es}=Ds.useFetchBridgeData({refetchTrigger:Pe,mvxAddress:c,mvxApiURL:ue.mvxApiURL}),K=Ye||Je||Ze||es,ss=t.useMemo(()=>C.find(n=>T.sameBridgeApiChainId(n.id,$)),[$,C]),o=t.useMemo(()=>B.find(n=>n.chainId.toString()===G.toString()),[$,B]),{evm:me,solana:he,bitcoin:ge,sui:pe}=Es.useSignTransaction(),qe=Rs.useSendTransactions(),{mutate:ts,data:u,isPending:v,error:b}=Ps.useGetRateMutation(),y=((je=b==null?void 0:b.response)==null?void 0:je.status)===400?(Ie=b==null?void 0:b.response)==null?void 0:Ie.data.message:void 0,ns=t.useCallback(n=>{const q=C.find(l=>T.sameBridgeApiChainId(l.id,n.id));q&&oe(q)},[C,oe]),{firstToken:e,secondToken:a,fromOptions:F,toOptions:is,selectedChainOption:r,onChangeFirstSelect:fe,onChangeSecondSelect:rs,handleChangeDirection:as}=As.useBridgeTokenSelection({chains:B,activeChain:ss,sdkChains:C,switchNetwork:ns,fromTokens:$e,toTokens:Ke,firstTokenIdentifier:Ee,secondTokenIdentifier:Ve,forcedDestinationTokenSymbol:He,isTokensLoading:K,callbackRoute:Re,onNavigate:Te}),os=t.useMemo(()=>e?Se.MVX_CHAIN_IDS.includes(e.chainId.toString()):!1,[e==null?void 0:e.chainId]),cs=t.useMemo(()=>a?Se.MVX_CHAIN_IDS.includes(a.chainId.toString()):!1,[a==null?void 0:a.chainId]),[d,ls]=t.useState(w??""),[R,E]=t.useState(j??""),x=t.useMemo(()=>e?B.find(n=>T.sameBridgeApiChainId(n.chainId,e.chainId))??r:r,[e==null?void 0:e.chainId,B,r]),V=t.useMemo(()=>T.toBridgeApiChainId(e==null?void 0:e.chainId)??de,[e==null?void 0:e.chainId,de]),Y=g.address,be=g.isConnected&&!!Y,J=d!==""&&R!=="",Z=t.useCallback(ys(async n=>{!n||!Number(n)||!g.address||!(e!=null&&e.address)||!(a!=null&&a.address)||!r||!V||ts({nativeAuthToken:Q??"",body:{tokenIn:e.address,amountIn:n,fromChainId:V,tokenOut:a.address,toChainId:G}})},500),[g.address,V,e==null?void 0:e.address,a==null?void 0:a.address,r]),m=t.useCallback(n=>{ls(()=>n)},[]),_=t.useCallback(n=>{E(()=>n)},[]),us=t.useCallback(()=>{M==null||M()},[M]),ds=t.useCallback(()=>{const n=Cs.formatAmount({decimals:e==null?void 0:e.decimals,input:(e==null?void 0:e.balance)??"0",addCommas:!1,digits:4});p.setFieldValue("firstAmount",n),m(n)},[e==null?void 0:e.balance,e==null?void 0:e.decimals,m]),xe=t.useCallback(async n=>{m(""),_(""),ce(),ce(),N==null||N(n)},[m,_,N]),ms=()=>{as(),Oe()};t.useEffect(()=>{const n=ae.current;if(ae.current=r==null?void 0:r.chainId,!!n&&(r==null?void 0:r.chainId)!==(e==null?void 0:e.chainId)){const q=F==null?void 0:F.find(l=>l.chainId.toString()===(r==null?void 0:r.chainId));if(!q)return;fe(q)}},[r==null?void 0:r.chainId]);const hs=t.useCallback(async({transactions:n,provider:q})=>{var Ce,Be,ve;const l=[];I(!0),z(()=>n.length);try{let A=-1;for(const i of n){++A;try{switch(ks.resolveSigningChainType(i,x)){case L.ChainType.evm:{const h=await me.signTransaction({...i,value:BigInt(i.value),gas:BigInt(i.gasLimit),account:Y});if(!h||(l.push({...i,txHash:h}),A===n.length-1||!h))break;const U=await vs.waitForTransactionReceipt(le,{confirmations:1,hash:h});console.info({transactionReceipt:U,hash:h});break}case L.ChainType.sol:if(!i.instructions||!i.feePayer)break;const ie=await he.signTransaction({feePayer:i.feePayer,instructions:i.instructions,recentBlockhash:i.recentBlockhash});if(!ie)break;l.push({...i,txHash:ie});break;case L.ChainType.btc:if(!i.bitcoinParams){console.error("No bitcoin params");break}const _s=await ge.signTransaction(i.bitcoinParams);l.push({...i,txHash:_s});break;case L.ChainType.sui:{const h=(Ce=i.suiParams)==null?void 0:Ce.transactionBytes,U=(Be=i.suiParams)==null?void 0:Be.sender;if(!h||!U){console.error("No Sui transaction bytes or sender address");break}const ke=await pe.signTransaction({transaction:h,address:U});if(!ke)break;l.push({...i,suiParams:{...i.suiParams,signature:ke}});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:ne}=await qe({transactions:l,provider:q,url:Ss.getApiURL()??"",token:Q??""}),ye=((ve=ne.transactions)==null?void 0:ve.map(i=>i.txHash).filter(i=>!!i))??[],Ae=l.map(i=>i.txHash).filter(i=>!!i),xs=ye.length>0?ye:Ae.length>0?Ae:ne.batchId?[ne.batchId]:[];xe(xs),I(!1)}catch(A){console.error(A),k.toast.dismiss(),k.toast.error("Transaction cancelled"),f==null||f("Transaction cancelled"),I(!1),z(0),ps(),m(""),_("")}},[x==null?void 0:x.chainType,Y,le,m,_,Q,xe,qe,ge.signTransaction,me.signTransaction,he.signTransaction,pe.signTransaction]),{formik:p,firstAmountError:ee,secondAmountError:se,fromChainError:te,handleBlur:P,handleChange:_e,handleSubmit:gs,resetSwapForm:ps}=S.useBridgeFormik({isMvxConnected:!!c,rate:u,sender:g.address??"",receiver:c??"",firstToken:e,firstAmount:d,fromChainId:V,toChainId:G,secondToken:a,secondAmount:R,setForceRefetchRate:ze,onSubmit:hs}),qs=!!(ee||se||te||y),fs=t.useMemo(()=>d!==""?y??ee:void 0,[ee,d,y]),bs=t.useMemo(()=>R!==""?te??se:void 0,[te,se,R]);return t.useEffect(()=>(d||E(""),Z(d),O&&clearInterval(O),O=setInterval(()=>{Z(d)},50*1e3),()=>clearInterval(O)),[d,Xe,Z]),t.useEffect(()=>{u!=null&&u.amountOut&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,u.amountOut),E(u.amountOut))},[u==null?void 0:u.amountOut]),t.useEffect(()=>{y&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,"0"),E("0"))},[y]),t.useEffect(()=>{w&&(p.setFieldValue(S.BridgeFormikValuesEnum.firstAmount,w),m(w))},[]),t.useEffect(()=>{j&&(p.setFieldValue(S.BridgeFormikValuesEnum.secondAmount,j),_(j))},[j]),s.jsx(s.Fragment,{children:s.jsxs("form",{ref:Ge,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:gs,children:[Ue&&s.jsx(Hs.BridgeHistory,{mvxAddress:c,onClose:us}),s.jsxs(Ne.AmountCard,{className:we.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(Os.BridgeAccountDisplay,{disabled:v,activeChain:x})]}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Me.AmountInput,{inputName:"firstAmount",inputValue:p.values.firstAmount,amountError:fs,disabled:!1,onInputDebounceChange:m,onInputChange:_e,onBlur:P}),s.jsx(De.TokenSelector,{name:"firstToken",disabled:v,options:F,areOptionsLoading:K,isMvxSelector:os,isDestination:!1,color:"neutral-850",onChange:fe,onBlur:P,onMaxBtnClick:ds,selectedOption:e,onTokenSelectorDisplay:n=>We(n)})]})]}),s.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:Qe&&s.jsx(Ws.ToggleDirection,{onChangeDirection:ms})}),s.jsxs(Ne.AmountCard,{className:we.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(Gs.MvxAccountDisplay,{accountAddress:c,chainIcon:H.safeImageUrl(o==null?void 0:o.pngUrl),username:Fe,accountExplorerUrl:`${ue.mvxExplorerAddress}/accounts/${c}`,showTag:!0,onDisconnect:Le,onConnect:re})]}),s.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[s.jsx(Me.AmountInput,{inputName:"secondAmount",inputValue:p.values.secondAmount,amountError:bs,disabled:!1,onInputDebounceChange:_,onInputChange:_e,onBlur:P}),s.jsx(De.TokenSelector,{name:"secondToken",disabled:v,omitDisableClass:!0,options:is,areOptionsLoading:K,isMvxSelector:cs,color:"neutral-850",onChange:rs,onBlur:P,selectedOption:a})]})]}),s.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!c&&s.jsx(Ts.MvxConnectButton,{mvxAccountAddress:c,icon:H.safeImageUrl(o==null?void 0:o.pngUrl),onClick:re}),c&&!be&&s.jsx(Ls.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:v,activeChain:x}),c&&be&&s.jsxs(Us.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||v||!c||!g.address||qs||D,children:[J&&!D&&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:H.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&&!D&&s.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"}),D&&s.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[s.jsx(Is.FontAwesomeIcon,{icon:js.faSpinner,spin:!0,className:"liq-mx-1 liq-flex liq-items-center"}),s.jsx("div",{children:"Depositing on"}),s.jsx("img",{src:H.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.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=Xs;
@@ -5,7 +5,7 @@ import { formatAmount as Si } from "@multiversx/sdk-dapp-utils/out/helpers/forma
5
5
  import { useAppKitNetwork as ki } from "@reown/appkit/react";
6
6
  import { waitForTransactionReceipt as Ri } from "@wagmi/core";
7
7
  import Mi from "lodash/debounce";
8
- import { useRef as Pe, useState as x, useMemo as h, useCallback as g, useEffect as w } from "react";
8
+ import { useRef as Pe, useState as x, useMemo as h, useCallback as g, useEffect as y } from "react";
9
9
  import { toast as M } from "react-toastify";
10
10
  import { useBridgeTokenSelection as Pi } from "./hooks/useBridgeTokenSelection.mjs";
11
11
  import { resolveSigningChainType as Vi } from "./utils/bridgeFormHelpers.mjs";
@@ -55,7 +55,7 @@ const $t = ({
55
55
  firstTokenIdentifier: Oe,
56
56
  secondTokenIdentifier: We,
57
57
  firstTokenAmount: P,
58
- secondTokenAmount: y,
58
+ secondTokenAmount: w,
59
59
  refetchTrigger: Xe,
60
60
  showHistory: ze,
61
61
  forcedDestinationTokenSymbol: Ge,
@@ -67,7 +67,7 @@ const $t = ({
67
67
  onNavigate: _e,
68
68
  onChangeDirection: $e
69
69
  }) => {
70
- var ye, Ne;
70
+ var we, Ne;
71
71
  const Ke = Pe(null), de = Pe(void 0), [$, Ye] = x(!1), [F, N] = x(!1), [Je, Ze] = x(1), [K, Y] = x(0), f = Ui(), { switchNetwork: me } = ki(), ue = Gi(), {
72
72
  config: pe,
73
73
  options: he,
@@ -81,29 +81,29 @@ const $t = ({
81
81
  isLoadingEvmTokensBalances: ni,
82
82
  isLoadingMvxTokensBalances: ri,
83
83
  chains: D = [],
84
- isChainsLoading: ai
84
+ isChainsLoading: oi
85
85
  } = Oi({
86
86
  refetchTrigger: Xe,
87
87
  mvxAddress: l,
88
88
  mvxApiURL: he.mvxApiURL
89
- }), T = ti || ni || ri || ai, oi = h(() => A.find((i) => le(i.id, Z)), [Z, A]), o = h(() => D.find(
89
+ }), T = ti || ni || ri || oi, ai = h(() => A.find((i) => le(i.id, Z)), [Z, A]), a = h(() => D.find(
90
90
  (i) => i.chainId.toString() === _.toString()
91
91
  ), [Z, D]), { evm: fe, solana: qe, bitcoin: be, sui: Ie } = zi(), ve = Xi(), {
92
92
  mutate: si,
93
93
  data: d,
94
94
  isPending: S,
95
95
  error: v
96
- } = Qi(), k = ((ye = v == null ? void 0 : v.response) == null ? void 0 : ye.status) === 400 ? (Ne = v == null ? void 0 : v.response) == null ? void 0 : Ne.data.message : void 0, li = g(
96
+ } = Qi(), k = ((we = v == null ? void 0 : v.response) == null ? void 0 : we.status) === 400 ? (Ne = v == null ? void 0 : v.response) == null ? void 0 : Ne.data.message : void 0, li = g(
97
97
  (i) => {
98
98
  const b = A.find(
99
99
  (c) => le(c.id, i.id)
100
100
  );
101
- b && (alert("switch2"), me(b));
101
+ b && me(b);
102
102
  },
103
103
  [A, me]
104
104
  ), {
105
105
  firstToken: e,
106
- secondToken: a,
106
+ secondToken: o,
107
107
  fromOptions: L,
108
108
  toOptions: ci,
109
109
  selectedChainOption: r,
@@ -112,7 +112,7 @@ const $t = ({
112
112
  handleChangeDirection: mi
113
113
  } = Pi({
114
114
  chains: D,
115
- activeChain: oi,
115
+ activeChain: ai,
116
116
  sdkChains: A,
117
117
  switchNetwork: li,
118
118
  fromTokens: ei,
@@ -123,20 +123,20 @@ const $t = ({
123
123
  isTokensLoading: T,
124
124
  callbackRoute: He,
125
125
  onNavigate: _e
126
- }), ui = h(() => e ? Ve.includes(e.chainId.toString()) : !1, [e == null ? void 0 : e.chainId]), pi = h(() => a ? Ve.includes(a.chainId.toString()) : !1, [a == null ? void 0 : a.chainId]), [m, hi] = x(P ?? ""), [U, j] = x(y ?? ""), B = h(() => e ? D.find(
126
+ }), ui = h(() => e ? Ve.includes(e.chainId.toString()) : !1, [e == null ? void 0 : e.chainId]), pi = h(() => o ? Ve.includes(o.chainId.toString()) : !1, [o == null ? void 0 : o.chainId]), [m, hi] = x(P ?? ""), [U, j] = x(w ?? ""), B = h(() => e ? D.find(
127
127
  (i) => le(i.chainId, e.chainId)
128
128
  ) ?? r : r, [e == null ? void 0 : e.chainId, D, r]), H = h(
129
129
  () => Li(e == null ? void 0 : e.chainId) ?? ge,
130
130
  [e == null ? void 0 : e.chainId, ge]
131
131
  ), ee = f.address, Ce = f.isConnected && !!ee, ie = m !== "" && U !== "", te = g(
132
132
  Mi(async (i) => {
133
- !i || !Number(i) || !f.address || !(e != null && e.address) || !(a != null && a.address) || !r || !H || si({
133
+ !i || !Number(i) || !f.address || !(e != null && e.address) || !(o != null && o.address) || !r || !H || si({
134
134
  nativeAuthToken: J ?? "",
135
135
  body: {
136
136
  tokenIn: e.address,
137
137
  amountIn: i,
138
138
  fromChainId: H,
139
- tokenOut: a.address,
139
+ tokenOut: o.address,
140
140
  toChainId: _
141
141
  }
142
142
  });
@@ -145,7 +145,7 @@ const $t = ({
145
145
  f.address,
146
146
  H,
147
147
  e == null ? void 0 : e.address,
148
- a == null ? void 0 : a.address,
148
+ o == null ? void 0 : o.address,
149
149
  r
150
150
  ]
151
151
  ), u = g((i) => {
@@ -174,7 +174,7 @@ const $t = ({
174
174
  ), qi = () => {
175
175
  mi(), $e();
176
176
  };
177
- w(() => {
177
+ y(() => {
178
178
  const i = de.current;
179
179
  if (de.current = r == null ? void 0 : r.chainId, !!i && (r == null ? void 0 : r.chainId) !== (e == null ? void 0 : e.chainId)) {
180
180
  const b = L == null ? void 0 : L.find(
@@ -244,12 +244,12 @@ const $t = ({
244
244
  console.error("No bitcoin params");
245
245
  break;
246
246
  }
247
- const yi = await be.signTransaction(
247
+ const wi = await be.signTransaction(
248
248
  t.bitcoinParams
249
249
  );
250
250
  c.push({
251
251
  ...t,
252
- txHash: yi
252
+ txHash: wi
253
253
  });
254
254
  break;
255
255
  case z.sui: {
@@ -285,13 +285,13 @@ const $t = ({
285
285
  return;
286
286
  }
287
287
  }
288
- const { data: oe } = await ve({
288
+ const { data: ae } = await ve({
289
289
  transactions: c,
290
290
  provider: b,
291
291
  url: Ei() ?? "",
292
292
  token: J ?? ""
293
- }), ke = ((Se = oe.transactions) == null ? void 0 : Se.map((t) => t.txHash).filter((t) => !!t)) ?? [], Re = c.map((t) => t.txHash).filter((t) => !!t), wi = ke.length > 0 ? ke : Re.length > 0 ? Re : oe.batchId ? [oe.batchId] : [];
294
- xe(wi), N(!1);
293
+ }), ke = ((Se = ae.transactions) == null ? void 0 : Se.map((t) => t.txHash).filter((t) => !!t)) ?? [], Re = c.map((t) => t.txHash).filter((t) => !!t), yi = ke.length > 0 ? ke : Re.length > 0 ? Re : ae.batchId ? [ae.batchId] : [];
294
+ xe(yi), N(!1);
295
295
  } catch (R) {
296
296
  console.error(R), M.dismiss(), M.error("Transaction cancelled"), I == null || I("Transaction cancelled"), N(!1), Y(0), vi(), u(""), C("");
297
297
  }
@@ -314,9 +314,9 @@ const $t = ({
314
314
  formik: q,
315
315
  firstAmountError: ne,
316
316
  secondAmountError: re,
317
- fromChainError: ae,
317
+ fromChainError: oe,
318
318
  handleBlur: O,
319
- handleChange: we,
319
+ handleChange: ye,
320
320
  handleSubmit: Ii,
321
321
  resetSwapForm: vi
322
322
  } = Hi({
@@ -328,28 +328,28 @@ const $t = ({
328
328
  firstAmount: m,
329
329
  fromChainId: H,
330
330
  toChainId: _,
331
- secondToken: a,
331
+ secondToken: o,
332
332
  secondAmount: U,
333
333
  setForceRefetchRate: Ze,
334
334
  onSubmit: bi
335
- }), Bi = !!(ne || re || ae || k), Ci = h(() => m !== "" ? k ?? ne : void 0, [ne, m, k]), xi = h(() => U !== "" ? ae ?? re : void 0, [ae, re, U]);
336
- return w(() => (m || j(""), te(m), Q && clearInterval(Q), Q = setInterval(() => {
335
+ }), Bi = !!(ne || re || oe || k), Ci = h(() => m !== "" ? k ?? ne : void 0, [ne, m, k]), xi = h(() => U !== "" ? oe ?? re : void 0, [oe, re, U]);
336
+ return y(() => (m || j(""), te(m), Q && clearInterval(Q), Q = setInterval(() => {
337
337
  te(m);
338
- }, 50 * 1e3), () => clearInterval(Q)), [m, Je, te]), w(() => {
338
+ }, 50 * 1e3), () => clearInterval(Q)), [m, Je, te]), y(() => {
339
339
  d != null && d.amountOut && (q.setFieldValue(G.secondAmount, d.amountOut), j(d.amountOut));
340
- }, [d == null ? void 0 : d.amountOut]), w(() => {
340
+ }, [d == null ? void 0 : d.amountOut]), y(() => {
341
341
  k && (q.setFieldValue(G.secondAmount, "0"), j("0"));
342
- }, [k]), w(() => {
342
+ }, [k]), y(() => {
343
343
  P && (q.setFieldValue(
344
344
  G.firstAmount,
345
345
  P
346
346
  ), u(P));
347
- }, []), w(() => {
348
- y && (q.setFieldValue(
347
+ }, []), y(() => {
348
+ w && (q.setFieldValue(
349
349
  G.secondAmount,
350
- y
351
- ), C(y));
352
- }, [y]), /* @__PURE__ */ n(Ni, { children: /* @__PURE__ */ s(
350
+ w
351
+ ), C(w));
352
+ }, [w]), /* @__PURE__ */ n(Ni, { children: /* @__PURE__ */ s(
353
353
  "form",
354
354
  {
355
355
  ref: Ke,
@@ -389,7 +389,7 @@ const $t = ({
389
389
  amountError: Ci,
390
390
  disabled: !1,
391
391
  onInputDebounceChange: u,
392
- onInputChange: we,
392
+ onInputChange: ye,
393
393
  onBlur: O
394
394
  }
395
395
  ),
@@ -431,7 +431,7 @@ const $t = ({
431
431
  Zi,
432
432
  {
433
433
  accountAddress: l,
434
- chainIcon: X(o == null ? void 0 : o.pngUrl),
434
+ chainIcon: X(a == null ? void 0 : a.pngUrl),
435
435
  username: je,
436
436
  accountExplorerUrl: `${he.mvxExplorerAddress}/accounts/${l}`,
437
437
  showTag: !0,
@@ -449,7 +449,7 @@ const $t = ({
449
449
  amountError: xi,
450
450
  disabled: !1,
451
451
  onInputDebounceChange: C,
452
- onInputChange: we,
452
+ onInputChange: ye,
453
453
  onBlur: O
454
454
  }
455
455
  ),
@@ -465,7 +465,7 @@ const $t = ({
465
465
  color: "neutral-850",
466
466
  onChange: di,
467
467
  onBlur: O,
468
- selectedOption: a
468
+ selectedOption: o
469
469
  }
470
470
  )
471
471
  ] })
@@ -477,7 +477,7 @@ const $t = ({
477
477
  Yi,
478
478
  {
479
479
  mvxAccountAddress: l,
480
- icon: X(o == null ? void 0 : o.pngUrl),
480
+ icon: X(a == null ? void 0 : a.pngUrl),
481
481
  onClick: ce
482
482
  }
483
483
  ),
@@ -502,7 +502,7 @@ const $t = ({
502
502
  /* @__PURE__ */ n(
503
503
  "img",
504
504
  {
505
- src: X(o == null ? void 0 : o.pngUrl),
505
+ src: X(a == null ? void 0 : a.pngUrl),
506
506
  alt: "",
507
507
  className: "liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"
508
508
  }
@@ -523,7 +523,7 @@ const $t = ({
523
523
  /* @__PURE__ */ n(
524
524
  "img",
525
525
  {
526
- src: X(o == null ? void 0 : o.pngUrl),
526
+ src: X(a == null ? void 0 : a.pngUrl),
527
527
  alt: "",
528
528
  className: "liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"
529
529
  }
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),nt=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),rt=require("@reown/appkit/react"),ot=require("lodash/debounce"),s=require("react"),ce=require("react-toastify"),at=require("./hooks/useBridgeTokenSelection.js"),le=require("../../../constants/index.js"),ct=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const $=require("../../../helpers/safeImageUrl.js"),lt=require("../../../types/providerType.js"),ue=require("../../context/useWeb3App.js"),D=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const ut=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),dt=require("../../hooks/useFetchBridgeData.js"),mt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const qt=require("../../hooks/useGetChainId.js"),ht=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("@solana/web3.js");require("wagmi");require("@reown/appkit-controllers");const pt=require("../../queries/useGetHistory.query.js"),gt=require("../../queries/useGetRate.mutation.js"),de=require("../../utils/mxClsx.js"),me=require("../AmountCard/AmountCard.js"),qe=require("../AmountInput/AmountInput.js"),_t=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 ft=require("../BridgeHistory/BridgeHistory.js"),xt=require("../Connect/BridgeConnectButton.js"),bt=require("../Connect/MvxConnectButton.js"),Ct=require("../Connect/BridgeAccountDisplay.js"),jt=require("../Connect/MvxAccountDisplay.js"),vt=require("../ToggleDirection/ToggleDirection.js"),he=require("../TokenSelector/TokenSelector.js");let E;const It=({mvxChainId:B,mvxAddress:o,username:pe,callbackRoute:ge="/",firstTokenIdentifier:_e,secondTokenIdentifier:fe,firstTokenAmount:A,secondTokenAmount:f,refetchTrigger:xe,showHistory:be,forcedDestinationTokenSymbol:Ce,onSuccessfullySentTransaction:d,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:z,onMvxDisconnect:je,onNavigate:ve,onChangeDirection:Ie})=>{var oe,ae;const Be=s.useRef(null),[O,Ae]=s.useState(!1),[ye,Me]=s.useState(1),[R,K]=s.useState(0),[Y,J]=s.useState([]),a=ut.useAccount(),{switchNetwork:Z}=rt.useAppKitNetwork(),T=pt.useInvalidateHistoryQuery(),{options:ee,supportedChains:x,nativeAuthToken:V,bridgeOnly:ke}=ue.useWeb3App(),F=qt.useGetChainId(),te=mt.useBridgeApiChainId(),se=ht.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=ue.useWeb3App(),{evmTokensWithBalances:Ne,mvxTokensWithBalances:we,isTokensLoading:De,isLoadingEvmTokensBalances:Ee,isLoadingMvxTokensBalances:Oe,chains:b=[],isChainsLoading:Re}=dt.useFetchBridgeData({refetchTrigger:xe,mvxAddress:o,mvxApiURL:ee.mvxApiURL}),G=De||Ee||Oe||Re,Ve=s.useMemo(()=>x.find(e=>D.sameBridgeApiChainId(e.id,F)),[F,x]),h=s.useMemo(()=>b.find(e=>e.chainId.toString()===B.toString()),[F,b]),{mutate:Fe,data:r,isPending:C,error:p}=gt.useGetRateMutation(),j=((oe=p==null?void 0:p.response)==null?void 0:oe.status)===400?(ae=p==null?void 0:p.response)==null?void 0:ae.data.message:void 0,Le=s.useCallback(e=>{const _=x.find(it=>D.sameBridgeApiChainId(it.id,e.id));_&&(alert("switch3"),Z(_))},[x,Z]),{firstToken:i,secondToken:n,fromOptions:Se,toOptions:Ue,selectedChainOption:v,onChangeFirstSelect:Ge,onChangeSecondSelect:He,handleChangeDirection:We}=at.useBridgeTokenSelection({chains:b,activeChain:Ve,sdkChains:x,switchNetwork:Le,fromTokens:we,toTokens:Ne,firstTokenIdentifier:_e,secondTokenIdentifier:fe,forcedDestinationTokenSymbol:Ce,isTokensLoading:G,mvxChainId:B,callbackRoute:ge,onNavigate:ve}),Pe=()=>{We(),Ie()},[c,Qe]=s.useState(A??""),[M,k]=s.useState(f??""),Xe=s.useMemo(()=>i?le.MVX_CHAIN_IDS.includes(i.chainId.toString()):!1,[i==null?void 0:i.chainId]),$e=s.useMemo(()=>n?le.MVX_CHAIN_IDS.includes(n.chainId.toString()):!1,[n==null?void 0:n.chainId]),l=s.useMemo(()=>n?b.find(e=>D.sameBridgeApiChainId(e.chainId,n.chainId))??v:v,[n==null?void 0:n.chainId,b,v]),N=s.useMemo(()=>D.toBridgeApiChainId(n==null?void 0:n.chainId)??te,[n==null?void 0:n.chainId,te]),ie=a.address,ne=a.isConnected&&!!ie,H=c!==""&&M!=="",W=s.useCallback(ot(async e=>{!e||!Number(e)||!a.address||!(i!=null&&i.address)||!(n!=null&&n.address)||!v||!N||Fe({nativeAuthToken:V??"",body:{tokenIn:i.address,amountIn:e,fromChainId:B,tokenOut:n.address,toChainId:N}})},500),[a.address,N,i==null?void 0:i.address,n==null?void 0:n.address,v]),u=s.useCallback(e=>{Qe(()=>e)},[]),g=s.useCallback(e=>{k(()=>e)},[]),ze=s.useCallback(()=>{y==null||y()},[y]),Ke=s.useCallback(()=>{const e=nt.formatAmount({decimals:i==null?void 0:i.decimals,input:(i==null?void 0:i.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",e),u(e)},[i==null?void 0:i.balance,i==null?void 0:i.decimals,u]),Ye=s.useCallback(async e=>{u(""),g(""),T(),T(),d==null||d(e)},[u,g,d]),Je=s.useCallback(async({transactions:e})=>{K(()=>e.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(e),J(e)}catch(_){console.error(_),ce.toast.dismiss(),ce.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),K(0),Te(),u(""),g("")}},[ie,u,g,V,Ye,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,handleBlur:w,handleChange:re,handleSubmit:Ze,resetSwapForm:Te}=I.useBridgeFormik({isMvxConnected:!!o,rate:r,sender:o??"",receiver:a.address??"",firstToken:i,firstAmount:c,fromChainId:B,toChainId:N,secondToken:n,secondAmount:M,setForceRefetchRate:Me,onSubmit:Je}),et=!!(P||Q||X||j),tt=s.useMemo(()=>c!==""?j??P:void 0,[P,c,j]),st=s.useMemo(()=>M!==""?X??Q:void 0,[X,Q,M]);return s.useEffect(()=>(c||k(""),W(c),E&&clearInterval(E),E=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(E)),[c,ye,W]),s.useEffect(()=>{r!=null&&r.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,r.amountOut),k(r.amountOut))},[r==null?void 0:r.amountOut]),s.useEffect(()=>{j&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),k("0"))},[j]),s.useEffect(()=>{A&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,A),u(A))},[]),s.useEffect(()=>{f&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,f),g(f))},[f]),s.useEffect(()=>{if(U)try{const e=U;se({transactions:Y.map(_=>({..._,txHash:e,receiver:a.address})),provider:(r==null?void 0:r.provider)??lt.ProviderType.None,url:ct.getApiURL()??"",token:V??""}),d==null||d([e])}catch(e){console.error("Error while sending transactions:",e),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),J([])}},[U,Y,r==null?void 0:r.provider,se]),t.jsx(t.Fragment,{children:t.jsxs("form",{ref:Be,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:Ze,children:[be&&t.jsx(ft.BridgeHistory,{mvxAddress:o,onClose:ze}),t.jsxs(me.AmountCard,{className:de.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!O}),children:[t.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[t.jsx("span",{children:"From"}),t.jsx(jt.MvxAccountDisplay,{accountAddress:o,chainIcon:$.safeImageUrl(h==null?void 0:h.pngUrl),username:pe,accountExplorerUrl:`${ee.mvxExplorerAddress}/accounts/${o}`,showTag:!0,onDisconnect:je,onConnect:z})]}),t.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[t.jsx(qe.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:tt,disabled:!1,onInputDebounceChange:u,onInputChange:re,onBlur:w}),t.jsx(he.TokenSelector,{name:"firstToken",disabled:C,options:Se,areOptionsLoading:G,isMvxSelector:Xe,isDestination:!1,color:"neutral-850",onChange:Ge,onBlur:w,onMaxBtnClick:Ke,selectedOption:i,onTokenSelectorDisplay:e=>Ae(e)})]})]}),t.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:ke&&t.jsx(vt.ToggleDirection,{onChangeDirection:Pe})}),t.jsxs(me.AmountCard,{className:de.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O}),children:[t.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[t.jsx("span",{children:"To"}),t.jsx(Ct.BridgeAccountDisplay,{disabled:C,activeChain:l})]}),t.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[t.jsx(qe.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:st,disabled:!1,onInputDebounceChange:g,onInputChange:re,onBlur:w}),t.jsx(he.TokenSelector,{name:"secondToken",disabled:C,omitDisableClass:!0,options:Ue,areOptionsLoading:G,isMvxSelector:$e,color:"neutral-850",onChange:He,onBlur:w,selectedOption:n})]})]}),t.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!o&&t.jsx(bt.MvxConnectButton,{mvxAccountAddress:o,icon:$.safeImageUrl(h==null?void 0:h.pngUrl),onClick:z}),o&&!ne&&t.jsx(xt.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:C,activeChain:l}),o&&ne&&t.jsxs(_t.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||C||!o||!a.address||et,children:[H&&t.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[t.jsx("div",{children:"Transfer to "}),t.jsx("img",{src:$.safeImageUrl(l==null?void 0:l.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),t.jsx("div",{children:l==null?void 0:l.networkName})]}),!H&&t.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),a.address&&R>0&&t.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:t.jsxs("div",{children:["You will be asked to sign ",R," ",R>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=It;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),nt=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),rt=require("@reown/appkit/react"),ot=require("lodash/debounce"),s=require("react"),ce=require("react-toastify"),at=require("./hooks/useBridgeTokenSelection.js"),le=require("../../../constants/index.js"),ct=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const $=require("../../../helpers/safeImageUrl.js"),lt=require("../../../types/providerType.js"),ue=require("../../context/useWeb3App.js"),D=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const ut=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),dt=require("../../hooks/useFetchBridgeData.js"),mt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const qt=require("../../hooks/useGetChainId.js"),ht=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("@solana/web3.js");require("wagmi");require("@reown/appkit-controllers");const pt=require("../../queries/useGetHistory.query.js"),gt=require("../../queries/useGetRate.mutation.js"),de=require("../../utils/mxClsx.js"),me=require("../AmountCard/AmountCard.js"),qe=require("../AmountInput/AmountInput.js"),_t=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 ft=require("../BridgeHistory/BridgeHistory.js"),xt=require("../Connect/BridgeConnectButton.js"),bt=require("../Connect/MvxConnectButton.js"),Ct=require("../Connect/BridgeAccountDisplay.js"),jt=require("../Connect/MvxAccountDisplay.js"),vt=require("../ToggleDirection/ToggleDirection.js"),he=require("../TokenSelector/TokenSelector.js");let E;const It=({mvxChainId:B,mvxAddress:o,username:pe,callbackRoute:ge="/",firstTokenIdentifier:_e,secondTokenIdentifier:fe,firstTokenAmount:A,secondTokenAmount:f,refetchTrigger:xe,showHistory:be,forcedDestinationTokenSymbol:Ce,onSuccessfullySentTransaction:d,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:z,onMvxDisconnect:je,onNavigate:ve,onChangeDirection:Ie})=>{var oe,ae;const Be=s.useRef(null),[O,Ae]=s.useState(!1),[ye,Me]=s.useState(1),[R,K]=s.useState(0),[Y,J]=s.useState([]),a=ut.useAccount(),{switchNetwork:Z}=rt.useAppKitNetwork(),T=pt.useInvalidateHistoryQuery(),{options:ee,supportedChains:x,nativeAuthToken:V,bridgeOnly:ke}=ue.useWeb3App(),F=qt.useGetChainId(),te=mt.useBridgeApiChainId(),se=ht.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=ue.useWeb3App(),{evmTokensWithBalances:Ne,mvxTokensWithBalances:we,isTokensLoading:De,isLoadingEvmTokensBalances:Ee,isLoadingMvxTokensBalances:Oe,chains:b=[],isChainsLoading:Re}=dt.useFetchBridgeData({refetchTrigger:xe,mvxAddress:o,mvxApiURL:ee.mvxApiURL}),G=De||Ee||Oe||Re,Ve=s.useMemo(()=>x.find(e=>D.sameBridgeApiChainId(e.id,F)),[F,x]),h=s.useMemo(()=>b.find(e=>e.chainId.toString()===B.toString()),[F,b]),{mutate:Fe,data:r,isPending:C,error:p}=gt.useGetRateMutation(),j=((oe=p==null?void 0:p.response)==null?void 0:oe.status)===400?(ae=p==null?void 0:p.response)==null?void 0:ae.data.message:void 0,Le=s.useCallback(e=>{const _=x.find(it=>D.sameBridgeApiChainId(it.id,e.id));_&&Z(_)},[x,Z]),{firstToken:i,secondToken:n,fromOptions:Se,toOptions:Ue,selectedChainOption:v,onChangeFirstSelect:Ge,onChangeSecondSelect:He,handleChangeDirection:We}=at.useBridgeTokenSelection({chains:b,activeChain:Ve,sdkChains:x,switchNetwork:Le,fromTokens:we,toTokens:Ne,firstTokenIdentifier:_e,secondTokenIdentifier:fe,forcedDestinationTokenSymbol:Ce,isTokensLoading:G,mvxChainId:B,callbackRoute:ge,onNavigate:ve}),Pe=()=>{We(),Ie()},[c,Qe]=s.useState(A??""),[M,k]=s.useState(f??""),Xe=s.useMemo(()=>i?le.MVX_CHAIN_IDS.includes(i.chainId.toString()):!1,[i==null?void 0:i.chainId]),$e=s.useMemo(()=>n?le.MVX_CHAIN_IDS.includes(n.chainId.toString()):!1,[n==null?void 0:n.chainId]),l=s.useMemo(()=>n?b.find(e=>D.sameBridgeApiChainId(e.chainId,n.chainId))??v:v,[n==null?void 0:n.chainId,b,v]),N=s.useMemo(()=>D.toBridgeApiChainId(n==null?void 0:n.chainId)??te,[n==null?void 0:n.chainId,te]),ie=a.address,ne=a.isConnected&&!!ie,H=c!==""&&M!=="",W=s.useCallback(ot(async e=>{!e||!Number(e)||!a.address||!(i!=null&&i.address)||!(n!=null&&n.address)||!v||!N||Fe({nativeAuthToken:V??"",body:{tokenIn:i.address,amountIn:e,fromChainId:B,tokenOut:n.address,toChainId:N}})},500),[a.address,N,i==null?void 0:i.address,n==null?void 0:n.address,v]),u=s.useCallback(e=>{Qe(()=>e)},[]),g=s.useCallback(e=>{k(()=>e)},[]),ze=s.useCallback(()=>{y==null||y()},[y]),Ke=s.useCallback(()=>{const e=nt.formatAmount({decimals:i==null?void 0:i.decimals,input:(i==null?void 0:i.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",e),u(e)},[i==null?void 0:i.balance,i==null?void 0:i.decimals,u]),Ye=s.useCallback(async e=>{u(""),g(""),T(),T(),d==null||d(e)},[u,g,d]),Je=s.useCallback(async({transactions:e})=>{K(()=>e.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(e),J(e)}catch(_){console.error(_),ce.toast.dismiss(),ce.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),K(0),Te(),u(""),g("")}},[ie,u,g,V,Ye,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,handleBlur:w,handleChange:re,handleSubmit:Ze,resetSwapForm:Te}=I.useBridgeFormik({isMvxConnected:!!o,rate:r,sender:o??"",receiver:a.address??"",firstToken:i,firstAmount:c,fromChainId:B,toChainId:N,secondToken:n,secondAmount:M,setForceRefetchRate:Me,onSubmit:Je}),et=!!(P||Q||X||j),tt=s.useMemo(()=>c!==""?j??P:void 0,[P,c,j]),st=s.useMemo(()=>M!==""?X??Q:void 0,[X,Q,M]);return s.useEffect(()=>(c||k(""),W(c),E&&clearInterval(E),E=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(E)),[c,ye,W]),s.useEffect(()=>{r!=null&&r.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,r.amountOut),k(r.amountOut))},[r==null?void 0:r.amountOut]),s.useEffect(()=>{j&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),k("0"))},[j]),s.useEffect(()=>{A&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,A),u(A))},[]),s.useEffect(()=>{f&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,f),g(f))},[f]),s.useEffect(()=>{if(U)try{const e=U;se({transactions:Y.map(_=>({..._,txHash:e,receiver:a.address})),provider:(r==null?void 0:r.provider)??lt.ProviderType.None,url:ct.getApiURL()??"",token:V??""}),d==null||d([e])}catch(e){console.error("Error while sending transactions:",e),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),J([])}},[U,Y,r==null?void 0:r.provider,se]),t.jsx(t.Fragment,{children:t.jsxs("form",{ref:Be,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:Ze,children:[be&&t.jsx(ft.BridgeHistory,{mvxAddress:o,onClose:ze}),t.jsxs(me.AmountCard,{className:de.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!O}),children:[t.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[t.jsx("span",{children:"From"}),t.jsx(jt.MvxAccountDisplay,{accountAddress:o,chainIcon:$.safeImageUrl(h==null?void 0:h.pngUrl),username:pe,accountExplorerUrl:`${ee.mvxExplorerAddress}/accounts/${o}`,showTag:!0,onDisconnect:je,onConnect:z})]}),t.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[t.jsx(qe.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:tt,disabled:!1,onInputDebounceChange:u,onInputChange:re,onBlur:w}),t.jsx(he.TokenSelector,{name:"firstToken",disabled:C,options:Se,areOptionsLoading:G,isMvxSelector:Xe,isDestination:!1,color:"neutral-850",onChange:Ge,onBlur:w,onMaxBtnClick:Ke,selectedOption:i,onTokenSelectorDisplay:e=>Ae(e)})]})]}),t.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:ke&&t.jsx(vt.ToggleDirection,{onChangeDirection:Pe})}),t.jsxs(me.AmountCard,{className:de.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O}),children:[t.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[t.jsx("span",{children:"To"}),t.jsx(Ct.BridgeAccountDisplay,{disabled:C,activeChain:l})]}),t.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[t.jsx(qe.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:st,disabled:!1,onInputDebounceChange:g,onInputChange:re,onBlur:w}),t.jsx(he.TokenSelector,{name:"secondToken",disabled:C,omitDisableClass:!0,options:Ue,areOptionsLoading:G,isMvxSelector:$e,color:"neutral-850",onChange:He,onBlur:w,selectedOption:n})]})]}),t.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!o&&t.jsx(bt.MvxConnectButton,{mvxAccountAddress:o,icon:$.safeImageUrl(h==null?void 0:h.pngUrl),onClick:z}),o&&!ne&&t.jsx(xt.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:C,activeChain:l}),o&&ne&&t.jsxs(_t.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||C||!o||!a.address||et,children:[H&&t.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[t.jsx("div",{children:"Transfer to "}),t.jsx("img",{src:$.safeImageUrl(l==null?void 0:l.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),t.jsx("div",{children:l==null?void 0:l.networkName})]}),!H&&t.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),a.address&&R>0&&t.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:t.jsxs("div",{children:["You will be asked to sign ",R," ",R>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=It;
@@ -28,11 +28,11 @@ import "@solana/web3.js";
28
28
  import "wagmi";
29
29
  import "@reown/appkit-controllers";
30
30
  import { useInvalidateHistoryQuery as Ai } from "../../queries/useGetHistory.query.mjs";
31
- import { useGetRateMutation as wi } from "../../queries/useGetRate.mutation.mjs";
31
+ import { useGetRateMutation as xi } from "../../queries/useGetRate.mutation.mjs";
32
32
  import { mxClsx as fe } from "../../utils/mxClsx.mjs";
33
33
  import { AmountCard as ge } from "../AmountCard/AmountCard.mjs";
34
34
  import { AmountInput as qe } from "../AmountInput/AmountInput.mjs";
35
- import { MxButton as xi } from "../base/MxButton/MxButton.mjs";
35
+ import { MxButton as Ni } from "../base/MxButton/MxButton.mjs";
36
36
  import "../base/MxCard/MxCard.mjs";
37
37
  import "../base/MxLink/MxLink.mjs";
38
38
  import "../base/MxSearch/MxSearch.mjs";
@@ -42,7 +42,7 @@ import "@headlessui/react";
42
42
  import "react-dom";
43
43
  import "react-popper";
44
44
  import "../base/MxTooltip/components/TooltipContainer/TooltipContainer.mjs";
45
- import { BridgeHistory as Ni } from "../BridgeHistory/BridgeHistory.mjs";
45
+ import { BridgeHistory as wi } from "../BridgeHistory/BridgeHistory.mjs";
46
46
  import { BridgeConnectButton as yi } from "../Connect/BridgeConnectButton.mjs";
47
47
  import { MvxConnectButton as Di } from "../Connect/MvxConnectButton.mjs";
48
48
  import { BridgeAccountDisplay as Oi } from "../Connect/BridgeAccountDisplay.mjs";
@@ -60,13 +60,13 @@ const Ot = ({
60
60
  firstTokenAmount: O,
61
61
  secondTokenAmount: B,
62
62
  refetchTrigger: Ae,
63
- showHistory: we,
64
- forcedDestinationTokenSymbol: xe,
63
+ showHistory: xe,
64
+ forcedDestinationTokenSymbol: Ne,
65
65
  onSuccessfullySentTransaction: p,
66
66
  onFailedSentTransaction: f,
67
67
  onHistoryClose: M,
68
68
  onMvxConnect: S,
69
- onMvxDisconnect: Ne,
69
+ onMvxDisconnect: we,
70
70
  onNavigate: ye,
71
71
  onChangeDirection: De
72
72
  }) => {
@@ -86,25 +86,25 @@ const Ot = ({
86
86
  isTokensLoading: Ue,
87
87
  isLoadingEvmTokensBalances: je,
88
88
  isLoadingMvxTokensBalances: ke,
89
- chains: w = [],
89
+ chains: x = [],
90
90
  isChainsLoading: Pe
91
91
  } = vi({
92
92
  refetchTrigger: Ae,
93
93
  mvxAddress: o,
94
94
  mvxApiURL: ne.mvxApiURL
95
- }), $ = Ue || je || ke || Pe, We = m(() => A.find((e) => Z(e.id, W)), [W, A]), g = m(() => w.find(
95
+ }), $ = Ue || je || ke || Pe, We = m(() => A.find((e) => Z(e.id, W)), [W, A]), g = m(() => x.find(
96
96
  (e) => e.chainId.toString() === D.toString()
97
- ), [W, w]), {
97
+ ), [W, x]), {
98
98
  mutate: Ge,
99
99
  data: n,
100
- isPending: x,
100
+ isPending: N,
101
101
  error: q
102
- } = wi(), N = ((de = q == null ? void 0 : q.response) == null ? void 0 : de.status) === 400 ? (me = q == null ? void 0 : q.response) == null ? void 0 : me.data.message : void 0, Qe = u(
102
+ } = xi(), w = ((de = q == null ? void 0 : q.response) == null ? void 0 : de.status) === 400 ? (me = q == null ? void 0 : q.response) == null ? void 0 : me.data.message : void 0, Qe = u(
103
103
  (e) => {
104
104
  const v = A.find(
105
105
  (si) => Z(si.id, e.id)
106
106
  );
107
- v && (alert("switch3"), te(v));
107
+ v && te(v);
108
108
  },
109
109
  [A, te]
110
110
  ), {
@@ -117,7 +117,7 @@ const Ot = ({
117
117
  onChangeSecondSelect: He,
118
118
  handleChangeDirection: Ke
119
119
  } = pi({
120
- chains: w,
120
+ chains: x,
121
121
  activeChain: We,
122
122
  sdkChains: A,
123
123
  switchNetwork: Qe,
@@ -125,16 +125,16 @@ const Ot = ({
125
125
  toTokens: Le,
126
126
  firstTokenIdentifier: Ie,
127
127
  secondTokenIdentifier: Be,
128
- forcedDestinationTokenSymbol: xe,
128
+ forcedDestinationTokenSymbol: Ne,
129
129
  isTokensLoading: $,
130
130
  mvxChainId: D,
131
131
  callbackRoute: Ce,
132
132
  onNavigate: ye
133
133
  }), Xe = () => {
134
134
  Ke(), De();
135
- }, [l, Ye] = C(O ?? ""), [E, R] = C(B ?? ""), Je = m(() => i ? pe.includes(i.chainId.toString()) : !1, [i == null ? void 0 : i.chainId]), Ze = m(() => t ? pe.includes(t.chainId.toString()) : !1, [t == null ? void 0 : t.chainId]), c = m(() => t ? w.find(
135
+ }, [l, Ye] = C(O ?? ""), [E, R] = C(B ?? ""), Je = m(() => i ? pe.includes(i.chainId.toString()) : !1, [i == null ? void 0 : i.chainId]), Ze = m(() => t ? pe.includes(t.chainId.toString()) : !1, [t == null ? void 0 : t.chainId]), c = m(() => t ? x.find(
136
136
  (e) => Z(e.chainId, t.chainId)
137
- ) ?? y : y, [t == null ? void 0 : t.chainId, w, y]), V = m(
137
+ ) ?? y : y, [t == null ? void 0 : t.chainId, x, y]), V = m(
138
138
  () => gi(t == null ? void 0 : t.chainId) ?? oe,
139
139
  [t == null ? void 0 : t.chainId, oe]
140
140
  ), se = s.address, le = s.isConnected && !!se, z = l !== "" && E !== "", H = u(
@@ -221,14 +221,14 @@ const Ot = ({
221
221
  secondAmount: E,
222
222
  setForceRefetchRate: Re,
223
223
  onSubmit: ii
224
- }), ni = !!(K || X || Y || N), oi = m(() => l !== "" ? N ?? K : void 0, [K, l, N]), ai = m(() => E !== "" ? Y ?? X : void 0, [Y, X, E]);
224
+ }), ni = !!(K || X || Y || w), oi = m(() => l !== "" ? w ?? K : void 0, [K, l, w]), ai = m(() => E !== "" ? Y ?? X : void 0, [Y, X, E]);
225
225
  return I(() => (l || R(""), H(l), U && clearInterval(U), U = setInterval(() => {
226
226
  H(l);
227
227
  }, 50 * 1e3), () => clearInterval(U)), [l, Ee, H]), I(() => {
228
228
  n != null && n.amountOut && (h.setFieldValue(F.secondAmount, n.amountOut), R(n.amountOut));
229
229
  }, [n == null ? void 0 : n.amountOut]), I(() => {
230
- N && (h.setFieldValue(F.secondAmount, "0"), R("0"));
231
- }, [N]), I(() => {
230
+ w && (h.setFieldValue(F.secondAmount, "0"), R("0"));
231
+ }, [w]), I(() => {
232
232
  O && (h.setFieldValue(
233
233
  F.firstAmount,
234
234
  O
@@ -274,7 +274,7 @@ const Ot = ({
274
274
  autoComplete: "off",
275
275
  onSubmit: ti,
276
276
  children: [
277
- we && /* @__PURE__ */ r(Ni, { mvxAddress: o, onClose: Se }),
277
+ xe && /* @__PURE__ */ r(wi, { mvxAddress: o, onClose: Se }),
278
278
  /* @__PURE__ */ a(
279
279
  ge,
280
280
  {
@@ -296,7 +296,7 @@ const Ot = ({
296
296
  username: ve,
297
297
  accountExplorerUrl: `${ne.mvxExplorerAddress}/accounts/${o}`,
298
298
  showTag: !0,
299
- onDisconnect: Ne,
299
+ onDisconnect: we,
300
300
  onConnect: S
301
301
  }
302
302
  )
@@ -318,7 +318,7 @@ const Ot = ({
318
318
  be,
319
319
  {
320
320
  name: "firstToken",
321
- disabled: x,
321
+ disabled: N,
322
322
  options: _e,
323
323
  areOptionsLoading: $,
324
324
  isMvxSelector: Je,
@@ -351,7 +351,7 @@ const Ot = ({
351
351
  /* @__PURE__ */ r(
352
352
  Oi,
353
353
  {
354
- disabled: x,
354
+ disabled: N,
355
355
  activeChain: c
356
356
  }
357
357
  )
@@ -373,7 +373,7 @@ const Ot = ({
373
373
  be,
374
374
  {
375
375
  name: "secondToken",
376
- disabled: x,
376
+ disabled: N,
377
377
  omitDisableClass: !0,
378
378
  options: $e,
379
379
  areOptionsLoading: $,
@@ -401,18 +401,18 @@ const Ot = ({
401
401
  yi,
402
402
  {
403
403
  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",
404
- disabled: x,
404
+ disabled: N,
405
405
  activeChain: c
406
406
  }
407
407
  ),
408
408
  o && le && /* @__PURE__ */ a(
409
- xi,
409
+ Ni,
410
410
  {
411
411
  "data-testid": "submit-button",
412
412
  type: "submit",
413
413
  variant: "neutral-850",
414
414
  className: "liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",
415
- disabled: !z || x || !o || !s.address || ni,
415
+ disabled: !z || N || !o || !s.address || ni,
416
416
  children: [
417
417
  z && /* @__PURE__ */ a("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
418
418
  /* @__PURE__ */ r("div", { children: "Transfer to " }),
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),n=require("../../../helpers/resolveBridgeApiChainId.js"),W=require("../../../utils/getInitialTokens.js"),O=require("../utils/bridgeFormHelpers.js"),X=({chains:a,firstTokenIdentifier:j,secondTokenIdentifier:q,fromTokens:i,toTokens:t,isTokensLoading:S,activeChainId:F,mvxChainId:m,callbackRoute:M,forcedDestinationTokenSymbol:R,onNavigate:E,switchNetwork:L,sdkChains:I,activeChain:g})=>{const _=u.useRef(!1),[d,o]=u.useState(),[l,B]=u.useState(),y=u.useMemo(()=>(i==null?void 0:i.filter(e=>m?e.chainId.toString().toLowerCase()===m.toString().toLowerCase():!0).map(e=>({...e,identifier:e.address,ticker:e.symbol})))??[],[i,m]),w=u.useCallback(e=>O.getAvailableTokens(e,t,R),[t,R]),G=u.useMemo(()=>d?(t==null?void 0:t.filter(e=>e.symbol.toLowerCase()===d.symbol.toLowerCase()).map(e=>({...e,identifier:e.address,ticker:e.symbol})))??[]:[],[d==null?void 0:d.symbol,t]),J=u.useMemo(()=>{const e=m?l:d,r=e&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,e.chainId)));if(r)return r;const s=a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,g==null?void 0:g.id));return s||((m?d&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,d.chainId))):l&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,l.chainId))))??(a==null?void 0:a[0]))},[g==null?void 0:g.id,a,d==null?void 0:d.chainId,m,l==null?void 0:l.chainId]),A=u.useCallback(e=>O.getDefaultReceivingToken(e,t),[t]),b=u.useCallback(({firstTokenId:e,secondTokenId:r})=>{O.updateUrlParams({firstTokenId:e,secondTokenId:r,callbackRoute:M,isTokensLoading:S,onNavigate:E})},[M,S,E]),K=u.useCallback(e=>{if(!e)return;o(e),b({firstTokenId:e.address});let r=t==null?void 0:t.find(s=>s.symbol.toLowerCase()===e.symbol.toLowerCase());if(!r){const s=w(e);r=s.find(p=>p.symbol.toLowerCase()===e.symbol.toLowerCase())??A(s)}r&&(B(r),b({secondTokenId:r.address}))},[w,A,b,t]),Q=u.useCallback(e=>{if(!e)return;B(e),b({secondTokenId:e.address});const r=y.find(s=>s.symbol.toLowerCase()===e.symbol.toLowerCase());r&&(o(r),b({firstTokenId:r.address}))},[y,b]),V=u.useCallback(()=>{if(!d||!l)return;o(l),B(d),b({firstTokenId:l.address,secondTokenId:d.address});const e=I==null?void 0:I.find(r=>n.sameBridgeApiChainId(r.id,l.chainId));e&&L&&(alert("switch4"),L(e))},[d,l,b,I,L]);return u.useEffect(()=>{var P,z,D,U;if(S||_.current||!y.length)return;if(d&&l){_.current=!0;return}const e=W.getInitialTokens({firstTokenId:j,secondTokenId:q}),r=y.find(({identifier:c})=>(e==null?void 0:e.firstTokenId)===c)??y.find(c=>n.sameBridgeApiChainId(c.chainId,F))??y[0];let s=t==null?void 0:t.find(c=>c.symbol.toLowerCase()===(r==null?void 0:r.symbol.toLowerCase()));if(!s){const c=w(r);s=(c==null?void 0:c.find(({address:C})=>{var H;return C.toLowerCase()===((H=(r==null?void 0:r.symbol)??(e==null?void 0:e.secondTokenId))==null?void 0:H.toLowerCase())}))??c.find(C=>C.symbol.toLowerCase()===(r==null?void 0:r.symbol.toLowerCase()))??A(c)}if(!!d&&!!l&&((P=d==null?void 0:d.address)==null?void 0:P.toLowerCase())===((z=r==null?void 0:r.address)==null?void 0:z.toLowerCase())&&((D=l==null?void 0:l.address)==null?void 0:D.toLowerCase())===((U=s==null?void 0:s.address)==null?void 0:U.toLowerCase()))return;let f=!1;if(r){o(r),b({firstTokenId:r.address});const c=(I==null?void 0:I.find(C=>n.sameBridgeApiChainId(C.id,r.chainId)))??g;c&&L&&(alert("switch5"),L(c)),f=!0}s&&(B(s),b({secondTokenId:s.address}),f=f&&!0),_.current=f},[S,y,t,j,q,F,w,A,b,I,g,L]),u.useEffect(()=>{const e=i==null?void 0:i.find(r=>r.address===(d==null?void 0:d.address));e&&o(r=>r&&{...r,balance:e.balance})},[i,d==null?void 0:d.address]),u.useEffect(()=>{const e=t==null?void 0:t.find(r=>r.address===(l==null?void 0:l.address));e&&B(r=>r&&{...r,balance:e.balance})},[t,l==null?void 0:l.address]),{firstToken:d,secondToken:l,fromOptions:y,toOptions:G,selectedChainOption:J,setFirstToken:o,setSecondToken:B,onChangeFirstSelect:K,onChangeSecondSelect:Q,handleChangeDirection:V,updateUrlParams:b}};exports.useBridgeTokenSelection=X;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),n=require("../../../helpers/resolveBridgeApiChainId.js"),W=require("../../../utils/getInitialTokens.js"),O=require("../utils/bridgeFormHelpers.js"),X=({chains:a,firstTokenIdentifier:j,secondTokenIdentifier:q,fromTokens:I,toTokens:t,isTokensLoading:S,activeChainId:F,mvxChainId:m,callbackRoute:M,forcedDestinationTokenSymbol:R,onNavigate:E,switchNetwork:L,sdkChains:i,activeChain:g})=>{const _=u.useRef(!1),[d,o]=u.useState(),[l,B]=u.useState(),y=u.useMemo(()=>(I==null?void 0:I.filter(e=>m?e.chainId.toString().toLowerCase()===m.toString().toLowerCase():!0).map(e=>({...e,identifier:e.address,ticker:e.symbol})))??[],[I,m]),A=u.useCallback(e=>O.getAvailableTokens(e,t,R),[t,R]),G=u.useMemo(()=>d?(t==null?void 0:t.filter(e=>e.symbol.toLowerCase()===d.symbol.toLowerCase()).map(e=>({...e,identifier:e.address,ticker:e.symbol})))??[]:[],[d==null?void 0:d.symbol,t]),J=u.useMemo(()=>{const e=m?l:d,r=e&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,e.chainId)));if(r)return r;const s=a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,g==null?void 0:g.id));return s||((m?d&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,d.chainId))):l&&(a==null?void 0:a.find(f=>n.sameBridgeApiChainId(f.chainId,l.chainId))))??(a==null?void 0:a[0]))},[g==null?void 0:g.id,a,d==null?void 0:d.chainId,m,l==null?void 0:l.chainId]),w=u.useCallback(e=>O.getDefaultReceivingToken(e,t),[t]),b=u.useCallback(({firstTokenId:e,secondTokenId:r})=>{O.updateUrlParams({firstTokenId:e,secondTokenId:r,callbackRoute:M,isTokensLoading:S,onNavigate:E})},[M,S,E]),K=u.useCallback(e=>{if(!e)return;o(e),b({firstTokenId:e.address});let r=t==null?void 0:t.find(s=>s.symbol.toLowerCase()===e.symbol.toLowerCase());if(!r){const s=A(e);r=s.find(p=>p.symbol.toLowerCase()===e.symbol.toLowerCase())??w(s)}r&&(B(r),b({secondTokenId:r.address}))},[A,w,b,t]),Q=u.useCallback(e=>{if(!e)return;B(e),b({secondTokenId:e.address});const r=y.find(s=>s.symbol.toLowerCase()===e.symbol.toLowerCase());r&&(o(r),b({firstTokenId:r.address}))},[y,b]),V=u.useCallback(()=>{if(!d||!l)return;o(l),B(d),b({firstTokenId:l.address,secondTokenId:d.address});const e=i==null?void 0:i.find(r=>n.sameBridgeApiChainId(r.id,l.chainId));e&&L&&L(e)},[d,l,b,i,L]);return u.useEffect(()=>{var P,z,D,U;if(S||_.current||!y.length)return;if(d&&l){_.current=!0;return}const e=W.getInitialTokens({firstTokenId:j,secondTokenId:q}),r=y.find(({identifier:c})=>(e==null?void 0:e.firstTokenId)===c)??y.find(c=>n.sameBridgeApiChainId(c.chainId,F))??y[0];let s=t==null?void 0:t.find(c=>c.symbol.toLowerCase()===(r==null?void 0:r.symbol.toLowerCase()));if(!s){const c=A(r);s=(c==null?void 0:c.find(({address:C})=>{var H;return C.toLowerCase()===((H=(r==null?void 0:r.symbol)??(e==null?void 0:e.secondTokenId))==null?void 0:H.toLowerCase())}))??c.find(C=>C.symbol.toLowerCase()===(r==null?void 0:r.symbol.toLowerCase()))??w(c)}if(!!d&&!!l&&((P=d==null?void 0:d.address)==null?void 0:P.toLowerCase())===((z=r==null?void 0:r.address)==null?void 0:z.toLowerCase())&&((D=l==null?void 0:l.address)==null?void 0:D.toLowerCase())===((U=s==null?void 0:s.address)==null?void 0:U.toLowerCase()))return;let f=!1;if(r){o(r),b({firstTokenId:r.address});const c=(i==null?void 0:i.find(C=>n.sameBridgeApiChainId(C.id,r.chainId)))??g;c&&L&&L(c),f=!0}s&&(B(s),b({secondTokenId:s.address}),f=f&&!0),_.current=f},[S,y,t,j,q,F,A,w,b,i,g,L]),u.useEffect(()=>{const e=I==null?void 0:I.find(r=>r.address===(d==null?void 0:d.address));e&&o(r=>r&&{...r,balance:e.balance})},[I,d==null?void 0:d.address]),u.useEffect(()=>{const e=t==null?void 0:t.find(r=>r.address===(l==null?void 0:l.address));e&&B(r=>r&&{...r,balance:e.balance})},[t,l==null?void 0:l.address]),{firstToken:d,secondToken:l,fromOptions:y,toOptions:G,selectedChainOption:J,setFirstToken:o,setSecondToken:B,onChangeFirstSelect:K,onChangeSecondSelect:Q,handleChangeDirection:V,updateUrlParams:b}};exports.useBridgeTokenSelection=X;
@@ -1,7 +1,7 @@
1
1
  import { useRef as _, useState as Q, useMemo as p, useCallback as O, useEffect as z } from "react";
2
2
  import { sameBridgeApiChainId as m } from "../../../helpers/resolveBridgeApiChainId.mjs";
3
3
  import { getInitialTokens as n } from "../../../utils/getInitialTokens.mjs";
4
- import { getAvailableTokens as i, getDefaultReceivingToken as x, updateUrlParams as N } from "../utils/bridgeFormHelpers.mjs";
4
+ import { getAvailableTokens as x, getDefaultReceivingToken as i, updateUrlParams as N } from "../utils/bridgeFormHelpers.mjs";
5
5
  const ee = ({
6
6
  chains: f,
7
7
  firstTokenIdentifier: D,
@@ -10,23 +10,23 @@ const ee = ({
10
10
  toTokens: t,
11
11
  isTokensLoading: o,
12
12
  activeChainId: C,
13
- mvxChainId: w,
13
+ mvxChainId: g,
14
14
  callbackRoute: E,
15
15
  forcedDestinationTokenSymbol: M,
16
16
  onNavigate: j,
17
- switchNetwork: g,
17
+ switchNetwork: w,
18
18
  sdkChains: I,
19
19
  activeChain: y
20
20
  }) => {
21
21
  const U = _(!1), [d, S] = Q(), [l, A] = Q(), L = p(
22
- () => (s == null ? void 0 : s.filter((e) => w ? e.chainId.toString().toLowerCase() === w.toString().toLowerCase() : !0).map((e) => ({
22
+ () => (s == null ? void 0 : s.filter((e) => g ? e.chainId.toString().toLowerCase() === g.toString().toLowerCase() : !0).map((e) => ({
23
23
  ...e,
24
24
  identifier: e.address,
25
25
  ticker: e.symbol
26
26
  }))) ?? [],
27
- [s, w]
27
+ [s, g]
28
28
  ), P = O(
29
- (e) => i(
29
+ (e) => x(
30
30
  e,
31
31
  t,
32
32
  M
@@ -39,7 +39,7 @@ const ee = ({
39
39
  identifier: e.address,
40
40
  ticker: e.symbol
41
41
  }))) ?? [] : [], [d == null ? void 0 : d.symbol, t]), W = p(() => {
42
- const e = w ? l : d, r = e && (f == null ? void 0 : f.find(
42
+ const e = g ? l : d, r = e && (f == null ? void 0 : f.find(
43
43
  (c) => m(c.chainId, e.chainId)
44
44
  ));
45
45
  if (r)
@@ -47,7 +47,7 @@ const ee = ({
47
47
  const u = f == null ? void 0 : f.find(
48
48
  (c) => m(c.chainId, y == null ? void 0 : y.id)
49
49
  );
50
- return u || ((w ? d && (f == null ? void 0 : f.find(
50
+ return u || ((g ? d && (f == null ? void 0 : f.find(
51
51
  (c) => m(c.chainId, d.chainId)
52
52
  )) : l && (f == null ? void 0 : f.find(
53
53
  (c) => m(c.chainId, l.chainId)
@@ -56,10 +56,10 @@ const ee = ({
56
56
  y == null ? void 0 : y.id,
57
57
  f,
58
58
  d == null ? void 0 : d.chainId,
59
- w,
59
+ g,
60
60
  l == null ? void 0 : l.chainId
61
61
  ]), R = O(
62
- (e) => x(e, t),
62
+ (e) => i(e, t),
63
63
  [t]
64
64
  ), b = O(
65
65
  ({
@@ -113,8 +113,8 @@ const ee = ({
113
113
  const e = I == null ? void 0 : I.find(
114
114
  (r) => m(r.id, l.chainId)
115
115
  );
116
- e && g && (alert("switch4"), g(e));
117
- }, [d, l, b, I, g]);
116
+ e && w && w(e);
117
+ }, [d, l, b, I, w]);
118
118
  return z(() => {
119
119
  var q, G, H, J;
120
120
  if (o || U.current || !L.length)
@@ -153,7 +153,7 @@ const ee = ({
153
153
  const a = (I == null ? void 0 : I.find(
154
154
  (B) => m(B.id, r.chainId)
155
155
  )) ?? y;
156
- a && g && (alert("switch5"), g(a)), c = !0;
156
+ a && w && w(a), c = !0;
157
157
  }
158
158
  u && (A(u), b({ secondTokenId: u.address }), c = c && !0), U.current = c;
159
159
  }, [
@@ -168,7 +168,7 @@ const ee = ({
168
168
  b,
169
169
  I,
170
170
  y,
171
- g
171
+ w
172
172
  ]), z(() => {
173
173
  const e = s == null ? void 0 : s.find(
174
174
  (r) => r.address === (d == null ? void 0 : d.address)
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../types/chainType.js"),c=require("../../../constants/index.js"),d=require("../../../utils/getCompletePathname.js"),f=({firstTokenId:e,secondTokenId:r,callbackRoute:s,isTokensLoading:n,onNavigate:t})=>{if(n)return;const i=d.getCompletePathname(),u=new URLSearchParams(c.safeWindow.location.search);e&&u.set("firstToken",e),r&&u.set("secondToken",r);const a=`${s}?${u.toString()}`};function m(e,r){var s,n;return(s=e.suiParams)!=null&&s.transactionBytes&&((n=e.suiParams)!=null&&n.sender)?o.ChainType.sui:e.instructions&&e.feePayer?o.ChainType.sol:e.bitcoinParams?o.ChainType.btc:e.to&&e.data!==void 0?o.ChainType.evm:r==null?void 0:r.chainType}const y=(e,r,s)=>{if(s){const t=r==null?void 0:r.find(i=>i.symbol.toLowerCase()===s.toLowerCase());return t?[t]:[]}if(!(e!=null&&e.availableTokens))return[];const n=[];for(const t of e.availableTokens){const i=r==null?void 0:r.find(u=>u.address.toLowerCase()===t.address.toLowerCase());i&&n.push(i)}return n},l=(e,r)=>e.find(s=>s.symbol.toLowerCase().includes("usdc"))??(r==null?void 0:r.find(s=>s.symbol.toLowerCase().includes("usdc")));exports.getAvailableTokens=y;exports.getDefaultReceivingToken=l;exports.resolveSigningChainType=m;exports.updateUrlParams=f;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../types/chainType.js"),f=require("../../../constants/index.js"),l=require("../../../utils/getCompletePathname.js"),y=({firstTokenId:e,secondTokenId:r,callbackRoute:s,isTokensLoading:n,onNavigate:i})=>{var o,a;if(n)return;const u=l.getCompletePathname(),t=new URLSearchParams(f.safeWindow.location.search);e&&t.set("firstToken",e),r&&t.set("secondToken",r);const d=`${s}?${t.toString()}`;u!==d&&((a=(o=f.safeWindow.history)==null?void 0:o.replaceState)==null||a.call(o,null,"",d),i==null||i(d,{replace:!0}))};function m(e,r){var s,n;return(s=e.suiParams)!=null&&s.transactionBytes&&((n=e.suiParams)!=null&&n.sender)?c.ChainType.sui:e.instructions&&e.feePayer?c.ChainType.sol:e.bitcoinParams?c.ChainType.btc:e.to&&e.data!==void 0?c.ChainType.evm:r==null?void 0:r.chainType}const p=(e,r,s)=>{if(s){const i=r==null?void 0:r.find(u=>u.symbol.toLowerCase()===s.toLowerCase());return i?[i]:[]}if(!(e!=null&&e.availableTokens))return[];const n=[];for(const i of e.availableTokens){const u=r==null?void 0:r.find(t=>t.address.toLowerCase()===i.address.toLowerCase());u&&n.push(u)}return n},h=(e,r)=>e.find(s=>s.symbol.toLowerCase().includes("usdc"))??(r==null?void 0:r.find(s=>s.symbol.toLowerCase().includes("usdc")));exports.getAvailableTokens=p;exports.getDefaultReceivingToken=h;exports.resolveSigningChainType=m;exports.updateUrlParams=y;
@@ -1,44 +1,46 @@
1
1
  import { ChainType as t } from "../../../../types/chainType.mjs";
2
- import { safeWindow as d } from "../../../constants/index.mjs";
3
- import { getCompletePathname as m } from "../../../utils/getCompletePathname.mjs";
4
- const a = ({
2
+ import { safeWindow as c } from "../../../constants/index.mjs";
3
+ import { getCompletePathname as w } from "../../../utils/getCompletePathname.mjs";
4
+ const p = ({
5
5
  firstTokenId: e,
6
6
  secondTokenId: r,
7
7
  callbackRoute: s,
8
8
  isTokensLoading: i,
9
- onNavigate: o
9
+ onNavigate: u
10
10
  }) => {
11
+ var n, m;
11
12
  if (i)
12
13
  return;
13
- const u = m(), n = new URLSearchParams(d.location.search);
14
- e && n.set("firstToken", e), r && n.set("secondToken", r);
15
- const f = `${s}?${n.toString()}`;
14
+ const o = w(), f = new URLSearchParams(c.location.search);
15
+ e && f.set("firstToken", e), r && f.set("secondToken", r);
16
+ const d = `${s}?${f.toString()}`;
17
+ o !== d && ((m = (n = c.history) == null ? void 0 : n.replaceState) == null || m.call(n, null, "", d), u == null || u(d, { replace: !0 }));
16
18
  };
17
- function P(e, r) {
19
+ function L(e, r) {
18
20
  var s, i;
19
21
  return (s = e.suiParams) != null && s.transactionBytes && ((i = e.suiParams) != null && i.sender) ? t.sui : e.instructions && e.feePayer ? t.sol : e.bitcoinParams ? t.btc : e.to && e.data !== void 0 ? t.evm : r == null ? void 0 : r.chainType;
20
22
  }
21
- const y = (e, r, s) => {
23
+ const h = (e, r, s) => {
22
24
  if (s) {
23
- const o = r == null ? void 0 : r.find(
24
- (u) => u.symbol.toLowerCase() === s.toLowerCase()
25
+ const u = r == null ? void 0 : r.find(
26
+ (o) => o.symbol.toLowerCase() === s.toLowerCase()
25
27
  );
26
- return o ? [o] : [];
28
+ return u ? [u] : [];
27
29
  }
28
30
  if (!(e != null && e.availableTokens))
29
31
  return [];
30
32
  const i = [];
31
- for (const o of e.availableTokens) {
32
- const u = r == null ? void 0 : r.find(
33
- (n) => n.address.toLowerCase() === o.address.toLowerCase()
33
+ for (const u of e.availableTokens) {
34
+ const o = r == null ? void 0 : r.find(
35
+ (f) => f.address.toLowerCase() === u.address.toLowerCase()
34
36
  );
35
- u && i.push(u);
37
+ o && i.push(o);
36
38
  }
37
39
  return i;
38
- }, L = (e, r) => e.find((s) => s.symbol.toLowerCase().includes("usdc")) ?? (r == null ? void 0 : r.find((s) => s.symbol.toLowerCase().includes("usdc")));
40
+ }, C = (e, r) => e.find((s) => s.symbol.toLowerCase().includes("usdc")) ?? (r == null ? void 0 : r.find((s) => s.symbol.toLowerCase().includes("usdc")));
39
41
  export {
40
- y as getAvailableTokens,
41
- L as getDefaultReceivingToken,
42
- P as resolveSigningChainType,
43
- a as updateUrlParams
42
+ h as getAvailableTokens,
43
+ C as getDefaultReceivingToken,
44
+ L as resolveSigningChainType,
45
+ p as updateUrlParams
44
46
  };
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),x=require("@reown/appkit/react"),u=require("react"),b=require("./TokenIcon.js"),g=require("../../../../types/chainType.js"),j=require("../../../context/useWeb3App.js"),f=require("../../../hooks/useGetChainId.js"),h=require("../../../hooks/useResolveTokenChain.js"),y=({token:s,onClick:d,selected:m})=>{var c,a;const{tokenChain:e,chainIcon:n}=h.useResolveTokenChain({token:s}),{supportedChains:i}=j.useWeb3App(),{switchNetwork:q}=x.useAppKitNetwork(),r=f.useGetChainId(),l=u.useMemo(()=>i==null?void 0:i.find(o=>o.id.toString()===(r==null?void 0:r.toString())),[r,i]),p=u.useCallback(()=>{(e==null?void 0:e.chainType)===g.ChainType.evm&&l&&e!=null&&e.chainId&&(l==null?void 0:l.id.toString())!==(e==null?void 0:e.chainId.toString())&&(alert("switch1"),q((i==null?void 0:i.find(o=>o.id.toString()===(e==null?void 0:e.chainId.toString())))??l))},[l,i,q,e==null?void 0:e.chainId,e==null?void 0:e.chainType]);return t.jsx("div",{"data-testid":`token-item-${(a=(c=s.symbol)==null?void 0:c.toLowerCase)==null?void 0:a.call(c)}`,className:`token-item ${m?"liq-selected":""} liq-flex liq-cursor-pointer liq-items-center liq-justify-between liq-rounded-lg liq-p-2 hover:liq-bg-neutral-700 liq-bg-neutral-850`,onClick:()=>{p(),d(s)},children:t.jsxs("div",{className:"liq-flex liq-w-full liq-items-center liq-relative",children:[t.jsx(b.TokenIcon,{size:"lg",token:s,className:"liq-flex liq-items-center liq-justify-center"}),n&&t.jsx("img",{src:n,alt:"",className:"liq-absolute liq-left-4 liq-bottom-[-2px] liq-chain-icon liq-sm liq-w-6 liq-h-6 liq-border-[3px] liq-border-neutral-850 liq-rounded-lg"}),t.jsxs("div",{className:"liq-ml-2",children:[t.jsx("div",{className:"liq-text-sm liq-font-bold",children:s.symbol}),t.jsx("div",{className:"liq-text-xs liq-text-gray-400",children:s.name})]})]})})};exports.TokenItem=y;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),x=require("@reown/appkit/react"),a=require("react"),b=require("./TokenIcon.js"),g=require("../../../../types/chainType.js"),j=require("../../../context/useWeb3App.js"),f=require("../../../hooks/useGetChainId.js"),h=require("../../../hooks/useResolveTokenChain.js"),y=({token:s,onClick:d,selected:m})=>{var c,u;const{tokenChain:e,chainIcon:n}=h.useResolveTokenChain({token:s}),{supportedChains:i}=j.useWeb3App(),{switchNetwork:q}=x.useAppKitNetwork(),r=f.useGetChainId(),l=a.useMemo(()=>i==null?void 0:i.find(o=>o.id.toString()===(r==null?void 0:r.toString())),[r,i]),p=a.useCallback(()=>{(e==null?void 0:e.chainType)===g.ChainType.evm&&l&&e!=null&&e.chainId&&(l==null?void 0:l.id.toString())!==(e==null?void 0:e.chainId.toString())&&q((i==null?void 0:i.find(o=>o.id.toString()===(e==null?void 0:e.chainId.toString())))??l)},[l,i,q,e==null?void 0:e.chainId,e==null?void 0:e.chainType]);return t.jsx("div",{"data-testid":`token-item-${(u=(c=s.symbol)==null?void 0:c.toLowerCase)==null?void 0:u.call(c)}`,className:`token-item ${m?"liq-selected":""} liq-flex liq-cursor-pointer liq-items-center liq-justify-between liq-rounded-lg liq-p-2 hover:liq-bg-neutral-700 liq-bg-neutral-850`,onClick:()=>{p(),d(s)},children:t.jsxs("div",{className:"liq-flex liq-w-full liq-items-center liq-relative",children:[t.jsx(b.TokenIcon,{size:"lg",token:s,className:"liq-flex liq-items-center liq-justify-center"}),n&&t.jsx("img",{src:n,alt:"",className:"liq-absolute liq-left-4 liq-bottom-[-2px] liq-chain-icon liq-sm liq-w-6 liq-h-6 liq-border-[3px] liq-border-neutral-850 liq-rounded-lg"}),t.jsxs("div",{className:"liq-ml-2",children:[t.jsx("div",{className:"liq-text-sm liq-font-bold",children:s.symbol}),t.jsx("div",{className:"liq-text-xs liq-text-gray-400",children:s.name})]})]})})};exports.TokenItem=y;
@@ -1,35 +1,35 @@
1
- import { jsx as r, jsxs as n } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
2
  import { useAppKitNetwork as u } from "@reown/appkit/react";
3
3
  import { useMemo as g, useCallback as b } from "react";
4
4
  import { TokenIcon as x } from "./TokenIcon.mjs";
5
- import { ChainType as w } from "../../../../types/chainType.mjs";
6
- import { useWeb3App as N } from "../../../context/useWeb3App.mjs";
7
- import { useGetChainId as h } from "../../../hooks/useGetChainId.mjs";
8
- import { useResolveTokenChain as v } from "../../../hooks/useResolveTokenChain.mjs";
5
+ import { ChainType as N } from "../../../../types/chainType.mjs";
6
+ import { useWeb3App as v } from "../../../context/useWeb3App.mjs";
7
+ import { useGetChainId as w } from "../../../hooks/useGetChainId.mjs";
8
+ import { useResolveTokenChain as y } from "../../../hooks/useResolveTokenChain.mjs";
9
9
  const G = ({
10
10
  token: e,
11
11
  onClick: a,
12
12
  selected: p
13
13
  }) => {
14
14
  var o, d;
15
- const { tokenChain: i, chainIcon: m } = v({
15
+ const { tokenChain: i, chainIcon: m } = y({
16
16
  token: e
17
- }), { supportedChains: l } = N(), { switchNetwork: q } = u(), s = h(), t = g(() => l == null ? void 0 : l.find(
17
+ }), { supportedChains: l } = v(), { switchNetwork: q } = u(), s = w(), r = g(() => l == null ? void 0 : l.find(
18
18
  (c) => c.id.toString() === (s == null ? void 0 : s.toString())
19
19
  ), [s, l]), f = b(() => {
20
- (i == null ? void 0 : i.chainType) === w.evm && t && i != null && i.chainId && (t == null ? void 0 : t.id.toString()) !== (i == null ? void 0 : i.chainId.toString()) && (alert("switch1"), q(
20
+ (i == null ? void 0 : i.chainType) === N.evm && r && i != null && i.chainId && (r == null ? void 0 : r.id.toString()) !== (i == null ? void 0 : i.chainId.toString()) && q(
21
21
  (l == null ? void 0 : l.find(
22
22
  (c) => c.id.toString() === (i == null ? void 0 : i.chainId.toString())
23
- )) ?? t
24
- ));
23
+ )) ?? r
24
+ );
25
25
  }, [
26
- t,
26
+ r,
27
27
  l,
28
28
  q,
29
29
  i == null ? void 0 : i.chainId,
30
30
  i == null ? void 0 : i.chainType
31
31
  ]);
32
- return /* @__PURE__ */ r(
32
+ return /* @__PURE__ */ t(
33
33
  "div",
34
34
  {
35
35
  "data-testid": `token-item-${(d = (o = e.symbol) == null ? void 0 : o.toLowerCase) == null ? void 0 : d.call(o)}`,
@@ -38,7 +38,7 @@ const G = ({
38
38
  f(), a(e);
39
39
  },
40
40
  children: /* @__PURE__ */ n("div", { className: "liq-flex liq-w-full liq-items-center liq-relative", children: [
41
- /* @__PURE__ */ r(
41
+ /* @__PURE__ */ t(
42
42
  x,
43
43
  {
44
44
  size: "lg",
@@ -46,7 +46,7 @@ const G = ({
46
46
  className: "liq-flex liq-items-center liq-justify-center"
47
47
  }
48
48
  ),
49
- m && /* @__PURE__ */ r(
49
+ m && /* @__PURE__ */ t(
50
50
  "img",
51
51
  {
52
52
  src: m,
@@ -55,8 +55,8 @@ const G = ({
55
55
  }
56
56
  ),
57
57
  /* @__PURE__ */ n("div", { className: "liq-ml-2", children: [
58
- /* @__PURE__ */ r("div", { className: "liq-text-sm liq-font-bold", children: e.symbol }),
59
- /* @__PURE__ */ r("div", { className: "liq-text-xs liq-text-gray-400", children: e.name })
58
+ /* @__PURE__ */ t("div", { className: "liq-text-sm liq-font-bold", children: e.symbol }),
59
+ /* @__PURE__ */ t("div", { className: "liq-text-xs liq-text-gray-400", children: e.name })
60
60
  ] })
61
61
  ] })
62
62
  }
@@ -12,6 +12,7 @@ export type Web3AppContextProps = {
12
12
  supportedChains: AppKitNetwork[];
13
13
  nativeAuthToken: string;
14
14
  bridgeOnly?: boolean;
15
+ reconnectOnMount?: boolean;
15
16
  signMvxTransactions?: (transactions: IPlainTransactionObject[]) => Promise<{
16
17
  error?: string;
17
18
  batchId?: string;
@@ -23,5 +24,5 @@ export declare const Web3AppContext: import('react').Context<Web3AppContextProps
23
24
  type Web3AppProviderType = Omit<Web3AppContextProps, 'supportedChains'> & {
24
25
  supportedChains?: AppKitNetwork[];
25
26
  };
26
- export declare function Web3AppProvider({ children, config, appKit, options, supportedChains, nativeAuthToken, bridgeOnly, signMvxTransactions, latestMvxTransactionHash, resetMvxTransactionHash }: PropsWithChildren<Web3AppProviderType>): import("react/jsx-runtime").JSX.Element;
27
+ export declare function Web3AppProvider({ children, config, appKit, options, supportedChains, nativeAuthToken, bridgeOnly, reconnectOnMount, signMvxTransactions, latestMvxTransactionHash, resetMvxTransactionHash }: PropsWithChildren<Web3AppProviderType>): import("react/jsx-runtime").JSX.Element;
27
28
  export {};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("@tanstack/react-query"),e=require("react"),y=require("wagmi"),d=e.createContext(void 0);function C({children:l,config:r,appKit:u,options:n,supportedChains:a=[],nativeAuthToken:t,bridgeOnly:b=!1,signMvxTransactions:o,latestMvxTransactionHash:v,resetMvxTransactionHash:p}){const[s]=e.useState(()=>new c.QueryClient);e.useEffect(()=>{s.invalidateQueries()},[t]);const x=e.useMemo(()=>({config:r,appKit:u,options:n,supportedChains:a,nativeAuthToken:t,bridgeOnly:b,signMvxTransactions:o,latestMvxTransactionHash:v,resetMvxTransactionHash:p}),[r,u,n,t,o]);return i.jsx(d.Provider,{value:x,children:i.jsx(y.WagmiProvider,{config:r,children:i.jsx(c.QueryClientProvider,{client:s,children:l})})})}exports.Web3AppContext=d;exports.Web3AppProvider=C;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),c=require("@tanstack/react-query"),e=require("react"),C=require("wagmi"),d=e.createContext(void 0);function P({children:l,config:r,appKit:i,options:n,supportedChains:a=[],nativeAuthToken:t,bridgeOnly:b=!1,reconnectOnMount:v=!0,signMvxTransactions:o,latestMvxTransactionHash:p,resetMvxTransactionHash:x}){const[s]=e.useState(()=>new c.QueryClient);e.useEffect(()=>{s.invalidateQueries()},[t]);const y=e.useMemo(()=>({config:r,appKit:i,options:n,supportedChains:a,nativeAuthToken:t,bridgeOnly:b,signMvxTransactions:o,latestMvxTransactionHash:p,resetMvxTransactionHash:x}),[r,i,n,t,o]);return u.jsx(d.Provider,{value:y,children:u.jsx(C.WagmiProvider,{config:r,reconnectOnMount:v,children:u.jsx(c.QueryClientProvider,{client:s,children:l})})})}exports.Web3AppContext=d;exports.Web3AppProvider=P;
@@ -1,27 +1,28 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { QueryClient as s, QueryClientProvider as C } from "@tanstack/react-query";
3
- import { createContext as v, useState as P, useEffect as x, useMemo as y } from "react";
4
- import { WagmiProvider as Q } from "wagmi";
5
- const W = v(
2
+ import { QueryClient as C, QueryClientProvider as v } from "@tanstack/react-query";
3
+ import { createContext as P, useState as x, useEffect as y, useMemo as Q } from "react";
4
+ import { WagmiProvider as W } from "wagmi";
5
+ const a = P(
6
6
  void 0
7
7
  );
8
- function w({
9
- children: u,
8
+ function E({
9
+ children: l,
10
10
  config: e,
11
11
  appKit: o,
12
12
  options: i,
13
13
  supportedChains: d = [],
14
14
  nativeAuthToken: r,
15
15
  bridgeOnly: n = !1,
16
+ reconnectOnMount: c = !0,
16
17
  signMvxTransactions: m,
17
- latestMvxTransactionHash: c,
18
- resetMvxTransactionHash: f
18
+ latestMvxTransactionHash: f,
19
+ resetMvxTransactionHash: p
19
20
  }) {
20
- const [l] = P(() => new s());
21
- x(() => {
22
- l.invalidateQueries();
21
+ const [u] = x(() => new C());
22
+ y(() => {
23
+ u.invalidateQueries();
23
24
  }, [r]);
24
- const p = y(() => ({
25
+ const s = Q(() => ({
25
26
  config: e,
26
27
  appKit: o,
27
28
  options: i,
@@ -29,12 +30,12 @@ function w({
29
30
  nativeAuthToken: r,
30
31
  bridgeOnly: n,
31
32
  signMvxTransactions: m,
32
- latestMvxTransactionHash: c,
33
- resetMvxTransactionHash: f
33
+ latestMvxTransactionHash: f,
34
+ resetMvxTransactionHash: p
34
35
  }), [e, o, i, r, m]);
35
- return /* @__PURE__ */ t(W.Provider, { value: p, children: /* @__PURE__ */ t(Q, { config: e, children: /* @__PURE__ */ t(C, { client: l, children: u }) }) });
36
+ return /* @__PURE__ */ t(a.Provider, { value: s, children: /* @__PURE__ */ t(W, { config: e, reconnectOnMount: c, children: /* @__PURE__ */ t(v, { client: u, children: l }) }) });
36
37
  }
37
38
  export {
38
- W as Web3AppContext,
39
- w as Web3AppProvider
39
+ a as Web3AppContext,
40
+ E as Web3AppProvider
40
41
  };
@@ -15,6 +15,7 @@ export type InitOptions = {
15
15
  suiEnvironment?: 'mainnet' | 'testnet' | 'devnet';
16
16
  suiFeaturedWalletIds?: string[];
17
17
  expectedSuiAddress?: string;
18
+ disableInjectedDiscoveryInMobileDapp?: boolean;
18
19
  };
19
20
  export declare enum SuiMethods {
20
21
  SIGN_TRANSACTION = "sui_signTransaction",
@@ -26,4 +27,5 @@ export declare function init(options: InitOptions): Promise<{
26
27
  appKit: any;
27
28
  options: InitOptions;
28
29
  supportedChains: AppKitNetwork[];
30
+ reconnectOnMount: boolean;
29
31
  }>;
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@reown/appkit/networks"),x=require("@reown/appkit/react"),w=require("@reown/appkit-adapter-wagmi"),N=require("viem/chains"),C=require("../../constants/index.js"),U=require("../../store/inMemoryStore.js"),h=require("../adapters/SuiAdapter.js");function k(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,c.get?c:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const b=k(N),E=a.defineChain({id:"mainnet",name:"SUI Mainnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.mainnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/"}},chainNamespace:"sui",caipNetworkId:"sui:mainnet"}),_=a.defineChain({id:"testnet",name:"SUI Testnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.testnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/?network=testnet"}},chainNamespace:"sui",caipNetworkId:"sui:testnet"}),y=a.defineChain({id:"devnet",name:"SUI Devnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.devnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/?network=devnet"}},chainNamespace:"sui",caipNetworkId:"sui:devnet"}),v={mainnet:E,testnet:_,devnet:y};var g=(e=>(e.SIGN_TRANSACTION="sui_signTransaction",e.SIGN_AND_EXECUTE_TRANSACTION="sui_signAndExecuteTransaction",e.SIGN_PERSONAL_MESSAGE="sui_signPersonalMessage",e))(g||{});async function O(e){var p,m,S,f,I;const n=U.InMemoryStore.getInstance();n.setItem("apiURL",e.apiURL),n.setItem("bridgeURL",e.bridgeURL),n.setItem("mvxApiURL",e.mvxApiURL),n.setItem("mvxExplorerAddress",e.mvxExplorerAddress),n.setItem("mvxChainId",e.mvxChainId);const i={...b},c=Object.values(i).filter(t=>e.acceptedChainIDs.includes(t.id.toString())&&!C.MVX_CHAIN_IDS.includes(t.id.toString())).map(t=>t),o=[a.mainnet,a.bsc,a.bscTestnet,...c],u=[...o];if(e.suiEnvironment){const t=v[e.suiEnvironment];u.push(t)}const d=new w.WagmiAdapter({...e.adapterConfig,ssr:e.adapterConfig.ssr??!0,projectId:e.appKitOptions.projectId,networks:o}),l=[d];if(e.suiEnvironment){const t=v[e.suiEnvironment],r=t.caipNetworkId??`sui:${t.id}`;l.push(new h.SuiAdapter({explicitCaipChains:[r],expectedSuiAddress:e.expectedSuiAddress}))}const s=x.createAppKit({...e.appKitOptions,adapters:l,networks:[u[0],...u.slice(1)]});if(await s.ready(),e.suiEnvironment){const t=await s.getUniversalProvider(),r=(m=(p=t==null?void 0:t.session)==null?void 0:p.namespaces)==null?void 0:m.sui;if((S=r==null?void 0:r.accounts)!=null&&S.length&&!s.getCaipAddress("sui")){const A=(f=r.accounts[0])==null?void 0:f.split(":").pop();(!e.expectedSuiAddress||A===e.expectedSuiAddress)&&await((I=s.syncWalletConnectAccount)==null?void 0:I.call(s))}}return{config:d.wagmiConfig,appKit:s,options:e,supportedChains:u}}exports.SuiMethods=g;exports.init=O;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@reown/appkit/networks"),b=require("@reown/appkit/react"),x=require("@reown/appkit-adapter-wagmi"),N=require("viem/chains"),h=require("./isMobileInjectedDappBrowser.js"),C=require("../../constants/index.js"),U=require("../../store/inMemoryStore.js"),k=require("../adapters/SuiAdapter.js");function E(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,c.get?c:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const _=E(N),y=a.defineChain({id:"mainnet",name:"SUI Mainnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.mainnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/"}},chainNamespace:"sui",caipNetworkId:"sui:mainnet"}),j=a.defineChain({id:"testnet",name:"SUI Testnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.testnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/?network=testnet"}},chainNamespace:"sui",caipNetworkId:"sui:testnet"}),D=a.defineChain({id:"devnet",name:"SUI Devnet",nativeCurrency:{name:"SUI",symbol:"SUI",decimals:9},rpcUrls:{default:{http:["https://fullnode.devnet.sui.io:443"]}},blockExplorers:{default:{name:"SUI Explorer",url:"https://explorer.sui.io/?network=devnet"}},chainNamespace:"sui",caipNetworkId:"sui:devnet"}),g={mainnet:y,testnet:j,devnet:D};var w=(e=>(e.SIGN_TRANSACTION="sui_signTransaction",e.SIGN_AND_EXECUTE_TRANSACTION="sui_signAndExecuteTransaction",e.SIGN_PERSONAL_MESSAGE="sui_signPersonalMessage",e))(w||{});async function O(e){var m,I,f,S,v;const n=U.InMemoryStore.getInstance();n.setItem("apiURL",e.apiURL),n.setItem("bridgeURL",e.bridgeURL),n.setItem("mvxApiURL",e.mvxApiURL),n.setItem("mvxExplorerAddress",e.mvxExplorerAddress),n.setItem("mvxChainId",e.mvxChainId);const i={..._},c=Object.values(i).filter(t=>e.acceptedChainIDs.includes(t.id.toString())&&!C.MVX_CHAIN_IDS.includes(t.id.toString())).map(t=>t),d=[a.mainnet,a.bsc,a.bscTestnet,...c],o=[...d];if(e.suiEnvironment){const t=g[e.suiEnvironment];o.push(t)}const u=!!e.disableInjectedDiscoveryInMobileDapp&&h.isMobileInjectedDappBrowser(),l=new x.WagmiAdapter({...e.adapterConfig,ssr:e.adapterConfig.ssr??!0,projectId:e.appKitOptions.projectId,networks:d,...u?{multiInjectedProviderDiscovery:!1}:{}}),p=[l];if(e.suiEnvironment){const t=g[e.suiEnvironment],r=t.caipNetworkId??`sui:${t.id}`;p.push(new k.SuiAdapter({explicitCaipChains:[r],expectedSuiAddress:e.expectedSuiAddress}))}const s=b.createAppKit({...e.appKitOptions,adapters:p,networks:[o[0],...o.slice(1)],...u?{enableEIP6963:!1}:{}});if(await s.ready(),e.suiEnvironment){const t=await s.getUniversalProvider(),r=(I=(m=t==null?void 0:t.session)==null?void 0:m.namespaces)==null?void 0:I.sui;if((f=r==null?void 0:r.accounts)!=null&&f.length&&!s.getCaipAddress("sui")){const A=(S=r.accounts[0])==null?void 0:S.split(":").pop();(!e.expectedSuiAddress||A===e.expectedSuiAddress)&&await((v=s.syncWalletConnectAccount)==null?void 0:v.call(s))}}return{config:l.wagmiConfig,appKit:s,options:e,supportedChains:o,reconnectOnMount:!u}}exports.SuiMethods=w;exports.init=O;
@@ -1,11 +1,12 @@
1
- import { defineChain as a, mainnet as A, bsc as U, bscTestnet as N } from "@reown/appkit/networks";
2
- import { createAppKit as w } from "@reown/appkit/react";
3
- import { WagmiAdapter as C } from "@reown/appkit-adapter-wagmi";
4
- import * as E from "viem/chains";
5
- import { MVX_CHAIN_IDS as g } from "../../constants/index.mjs";
6
- import { InMemoryStore as h } from "../../store/inMemoryStore.mjs";
7
- import { SuiAdapter as k } from "../adapters/SuiAdapter.mjs";
8
- const b = a({
1
+ import { defineChain as c, mainnet as U, bsc as w, bscTestnet as N } from "@reown/appkit/networks";
2
+ import { createAppKit as C } from "@reown/appkit/react";
3
+ import { WagmiAdapter as E } from "@reown/appkit-adapter-wagmi";
4
+ import * as h from "viem/chains";
5
+ import { isMobileInjectedDappBrowser as g } from "./isMobileInjectedDappBrowser.mjs";
6
+ import { MVX_CHAIN_IDS as k } from "../../constants/index.mjs";
7
+ import { InMemoryStore as b } from "../../store/inMemoryStore.mjs";
8
+ import { SuiAdapter as y } from "../adapters/SuiAdapter.mjs";
9
+ const _ = c({
9
10
  id: "mainnet",
10
11
  name: "SUI Mainnet",
11
12
  nativeCurrency: { name: "SUI", symbol: "SUI", decimals: 9 },
@@ -17,7 +18,7 @@ const b = a({
17
18
  },
18
19
  chainNamespace: "sui",
19
20
  caipNetworkId: "sui:mainnet"
20
- }), _ = a({
21
+ }), D = c({
21
22
  id: "testnet",
22
23
  name: "SUI Testnet",
23
24
  nativeCurrency: { name: "SUI", symbol: "SUI", decimals: 9 },
@@ -32,7 +33,7 @@ const b = a({
32
33
  },
33
34
  chainNamespace: "sui",
34
35
  caipNetworkId: "sui:testnet"
35
- }), y = a({
36
+ }), T = c({
36
37
  id: "devnet",
37
38
  name: "SUI Devnet",
38
39
  nativeCurrency: { name: "SUI", symbol: "SUI", decimals: 9 },
@@ -47,63 +48,66 @@ const b = a({
47
48
  },
48
49
  chainNamespace: "sui",
49
50
  caipNetworkId: "sui:devnet"
50
- }), f = {
51
- mainnet: b,
52
- testnet: _,
53
- devnet: y
51
+ }), v = {
52
+ mainnet: _,
53
+ testnet: D,
54
+ devnet: T
54
55
  };
55
- var T = /* @__PURE__ */ ((e) => (e.SIGN_TRANSACTION = "sui_signTransaction", e.SIGN_AND_EXECUTE_TRANSACTION = "sui_signAndExecuteTransaction", e.SIGN_PERSONAL_MESSAGE = "sui_signPersonalMessage", e))(T || {});
56
- async function j(e) {
57
- var u, m, p, l, I;
58
- const n = h.getInstance();
56
+ var R = /* @__PURE__ */ ((e) => (e.SIGN_TRANSACTION = "sui_signTransaction", e.SIGN_AND_EXECUTE_TRANSACTION = "sui_signAndExecuteTransaction", e.SIGN_PERSONAL_MESSAGE = "sui_signPersonalMessage", e))(R || {});
57
+ async function K(e) {
58
+ var p, m, l, I, f;
59
+ const n = b.getInstance();
59
60
  n.setItem("apiURL", e.apiURL), n.setItem("bridgeURL", e.bridgeURL), n.setItem("mvxApiURL", e.mvxApiURL), n.setItem("mvxExplorerAddress", e.mvxExplorerAddress), n.setItem("mvxChainId", e.mvxChainId);
60
- const S = { ...E }, v = Object.values(S).filter(
61
- (t) => e.acceptedChainIDs.includes(t.id.toString()) && !g.includes(t.id.toString())
62
- ).map((t) => t), c = [
63
- A,
61
+ const S = { ...h }, x = Object.values(S).filter(
62
+ (t) => e.acceptedChainIDs.includes(t.id.toString()) && !k.includes(t.id.toString())
63
+ ).map((t) => t), o = [
64
64
  U,
65
+ w,
65
66
  N,
66
- ...v
67
- ], r = [...c];
67
+ ...x
68
+ ], r = [...o];
68
69
  if (e.suiEnvironment) {
69
- const t = f[e.suiEnvironment];
70
+ const t = v[e.suiEnvironment];
70
71
  r.push(t);
71
72
  }
72
- const o = new C({
73
+ const a = !!e.disableInjectedDiscoveryInMobileDapp && g(), d = new E({
73
74
  ...e.adapterConfig,
74
75
  ssr: e.adapterConfig.ssr ?? !0,
75
76
  projectId: e.appKitOptions.projectId,
76
- networks: c
77
- }), d = [o];
77
+ networks: o,
78
+ ...a ? { multiInjectedProviderDiscovery: !1 } : {}
79
+ }), u = [d];
78
80
  if (e.suiEnvironment) {
79
- const t = f[e.suiEnvironment], i = t.caipNetworkId ?? `sui:${t.id}`;
80
- d.push(
81
- new k({
81
+ const t = v[e.suiEnvironment], i = t.caipNetworkId ?? `sui:${t.id}`;
82
+ u.push(
83
+ new y({
82
84
  explicitCaipChains: [i],
83
85
  expectedSuiAddress: e.expectedSuiAddress
84
86
  })
85
87
  );
86
88
  }
87
- const s = w({
89
+ const s = C({
88
90
  ...e.appKitOptions,
89
- adapters: d,
90
- networks: [r[0], ...r.slice(1)]
91
+ adapters: u,
92
+ networks: [r[0], ...r.slice(1)],
93
+ ...a ? { enableEIP6963: !1 } : {}
91
94
  });
92
95
  if (await s.ready(), e.suiEnvironment) {
93
- const t = await s.getUniversalProvider(), i = (m = (u = t == null ? void 0 : t.session) == null ? void 0 : u.namespaces) == null ? void 0 : m.sui;
94
- if ((p = i == null ? void 0 : i.accounts) != null && p.length && !s.getCaipAddress("sui")) {
95
- const x = (l = i.accounts[0]) == null ? void 0 : l.split(":").pop();
96
- (!e.expectedSuiAddress || x === e.expectedSuiAddress) && await ((I = s.syncWalletConnectAccount) == null ? void 0 : I.call(s));
96
+ const t = await s.getUniversalProvider(), i = (m = (p = t == null ? void 0 : t.session) == null ? void 0 : p.namespaces) == null ? void 0 : m.sui;
97
+ if ((l = i == null ? void 0 : i.accounts) != null && l.length && !s.getCaipAddress("sui")) {
98
+ const A = (I = i.accounts[0]) == null ? void 0 : I.split(":").pop();
99
+ (!e.expectedSuiAddress || A === e.expectedSuiAddress) && await ((f = s.syncWalletConnectAccount) == null ? void 0 : f.call(s));
97
100
  }
98
101
  }
99
102
  return {
100
- config: o.wagmiConfig,
103
+ config: d.wagmiConfig,
101
104
  appKit: s,
102
105
  options: e,
103
- supportedChains: r
106
+ supportedChains: r,
107
+ reconnectOnMount: !a
104
108
  };
105
109
  }
106
110
  export {
107
- T as SuiMethods,
108
- j as init
111
+ R as SuiMethods,
112
+ K as init
109
113
  };
@@ -0,0 +1 @@
1
+ export declare function isMobileInjectedDappBrowser(): boolean;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants/index.js");function i(){if(!e.safeWindow.navigator.userAgent)return!1;const n=/Android|iPhone|iPad|iPod|Mobile/i.test(e.safeWindow.navigator.userAgent)&&!/Windows Phone/i.test(e.safeWindow.navigator.userAgent),o=!!e.safeWindow.ethereum;return n&&o}exports.isMobileInjectedDappBrowser=i;
@@ -0,0 +1,10 @@
1
+ import { safeWindow as e } from "../constants/index.mjs";
2
+ function t() {
3
+ if (!e.navigator.userAgent)
4
+ return !1;
5
+ const o = /Android|iPhone|iPad|iPod|Mobile/i.test(e.navigator.userAgent) && !/Windows Phone/i.test(e.navigator.userAgent), i = !!e.ethereum;
6
+ return o && i;
7
+ }
8
+ export {
9
+ t as isMobileInjectedDappBrowser
10
+ };