@multiversx/sdk-dapp-liquidity 2.3.0-alpha.0 → 2.3.0-alpha.2
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 +1 -1
- package/reactjs/components/BridgeForm/Deposit.js +1 -1
- package/reactjs/components/BridgeForm/Deposit.mjs +156 -153
- package/reactjs/components/BridgeForm/Transfer.js +1 -1
- package/reactjs/components/BridgeForm/Transfer.mjs +145 -142
- package/reactjs/components/Connect/BridgeAccountDisplay.js +1 -1
- package/reactjs/components/Connect/BridgeAccountDisplay.mjs +45 -44
- package/reactjs/hooks/useDisconnectOnChainTypeChange.d.ts +12 -0
- package/reactjs/hooks/useDisconnectOnChainTypeChange.js +2 -0
- package/reactjs/hooks/useDisconnectOnChainTypeChange.mjs +13 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ct=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),lt=require("@reown/appkit/react"),ut=require("lodash/debounce"),s=require("react"),de=require("react-toastify"),dt=require("./hooks/useBridgeTokenSelection.js"),me=require("../../../constants/index.js"),mt=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const Y=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const qt=require("../../../types/chainType.js"),ht=require("../../../types/providerType.js"),qe=require("../../context/useWeb3App.js"),k=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const pt=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),gt=require("../../hooks/useFetchBridgeData.js"),xt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const _t=require("../../hooks/useGetChainId.js"),ft=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("wagmi");require("@reown/appkit-controllers");const jt=require("../../hooks/useNamespaceAddress.js"),bt=require("../../queries/useGetHistory.query.js"),Ct=require("../../queries/useGetRate.mutation.js"),he=require("../../utils/mxClsx.js"),pe=require("../AmountCard/AmountCard.js"),ge=require("../AmountInput/AmountInput.js"),vt=require("../base/MxButton/MxButton.js");require("../base/MxCard/MxCard.js");require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@fortawesome/react-fontawesome");require("@headlessui/react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");const It=require("../BridgeHistory/BridgeHistory.js"),At=require("../Connect/BridgeConnectButton.js"),Bt=require("../Connect/MvxConnectButton.js"),yt=require("../Connect/BridgeAccountDisplay.js"),Nt=require("../Connect/MvxAccountDisplay.js"),Mt=require("../ToggleDirection/ToggleDirection.js"),xe=require("../TokenSelector/TokenSelector.js");let D;const Et=({mvxChainId:A,mvxAddress:a,username:_e,callbackRoute:fe="/",firstTokenIdentifier:je,secondTokenIdentifier:be,firstTokenAmount:B,secondTokenAmount:_,refetchTrigger:Ce,showHistory:ve,forcedDestinationTokenSymbol:Ie,onSuccessfullySentTransaction:u,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:J,onMvxDisconnect:Ae,onNavigate:Be,onChangeDirection:ye})=>{var le,ue;const Ne=s.useRef(null),[R,Me]=s.useState(!1),[Ee,we]=s.useState(1),[O,Z]=s.useState(0),[T,ee]=s.useState([]),d=pt.useAccount(),{switchNetwork:te}=lt.useAppKitNetwork(),se=bt.useInvalidateHistoryQuery(),{options:ie,supportedChains:f,nativeAuthToken:V,bridgeOnly:ke}=qe.useWeb3App(),F=_t.useGetChainId(),re=xt.useBridgeApiChainId(),ne=ft.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=qe.useWeb3App(),{evmTokensWithBalances:De,mvxTokensWithBalances:Re,isTokensLoading:Oe,isLoadingEvmTokensBalances:Ve,isLoadingMvxTokensBalances:Fe,chains:j=[],isChainsLoading:Le}=gt.useFetchBridgeData({refetchTrigger:Ce,mvxAddress:a,mvxApiURL:ie.mvxApiURL}),G=Oe||Ve||Fe||Le,Se=s.useMemo(()=>f.find(t=>k.sameBridgeApiChainId(t.id,F)),[F,f]),h=s.useMemo(()=>j.find(t=>t.chainId.toString()===A.toString()),[F,j]),{mutate:Ue,data:n,isPending:b,error:p}=Ct.useGetRateMutation(),C=((le=p==null?void 0:p.response)==null?void 0:le.status)===400?(ue=p==null?void 0:p.response)==null?void 0:ue.data.message:void 0,Ge=s.useCallback(t=>{const x=f.find(at=>k.sameBridgeApiChainId(at.id,t.id));x&&te(x)},[f,te]),{firstToken:i,secondToken:r,fromOptions:He,toOptions:We,selectedChainOption:v,onChangeFirstSelect:Pe,onChangeSecondSelect:Qe,handleChangeDirection:Xe}=dt.useBridgeTokenSelection({chains:j,activeChain:Se,sdkChains:f,switchNetwork:Ge,fromTokens:Re,toTokens:De,firstTokenIdentifier:je,secondTokenIdentifier:be,forcedDestinationTokenSymbol:Ie,isTokensLoading:G,mvxChainId:A,callbackRoute:fe,onNavigate:Be}),$e=()=>{Xe(),ye()},[c,ze]=s.useState(B??""),[N,M]=s.useState(_??""),Ke=s.useMemo(()=>i?me.MVX_CHAIN_IDS.includes(i.chainId.toString()):!1,[i==null?void 0:i.chainId]),Ye=s.useMemo(()=>r?me.MVX_CHAIN_IDS.includes(r.chainId.toString()):!1,[r==null?void 0:r.chainId]),o=s.useMemo(()=>r?j.find(t=>k.sameBridgeApiChainId(t.chainId,r.chainId))??v:v,[r==null?void 0:r.chainId,j,v]),E=s.useMemo(()=>k.toBridgeApiChainId(r==null?void 0:r.chainId)??re,[r==null?void 0:r.chainId,re]),Je=jt.useNamespaceAddress(o==null?void 0:o.chainType),oe=d.address,ae=d.isConnected&&!!oe,H=c!==""&&N!=="",W=s.useCallback(ut(async t=>{!t||!Number(t)||!d.address||!(i!=null&&i.address)||!(r!=null&&r.address)||!v||!E||Ue({nativeAuthToken:V??"",body:{tokenIn:i.address,amountIn:t,fromChainId:A,tokenOut:r.address,toChainId:E}})},500),[d.address,E,i==null?void 0:i.address,r==null?void 0:r.address,v]),l=s.useCallback(t=>{ze(()=>t)},[]),g=s.useCallback(t=>{M(()=>t)},[]),Ze=s.useCallback(()=>{y==null||y()},[y]),Te=s.useCallback(()=>{const t=ct.formatAmount({decimals:i==null?void 0:i.decimals,input:(i==null?void 0:i.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",t),l(t)},[i==null?void 0:i.balance,i==null?void 0:i.decimals,l]),et=s.useCallback(async t=>{l(""),g(""),se(),se(),u==null||u(t)},[l,g,u]),tt=s.useCallback(async({transactions:t})=>{Z(()=>t.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(t),ee(t)}catch(x){console.error(x),de.toast.dismiss(),de.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),Z(0),it(),l(""),g("")}},[oe,l,g,V,et,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,senderAddressError:$,receiverAddressError:z,confirmRateError:K,handleBlur:w,handleChange:ce,handleSubmit:st,resetSwapForm:it}=I.useBridgeFormik({isMvxConnected:!!a,rate:n,sender:a??"",receiver:Je??"",firstToken:i,firstAmount:c,fromChainId:A,toChainId:E,secondToken:r,secondAmount:N,setForceRefetchRate:we,senderChainType:qt.ChainType.mvx,receiverChainType:o==null?void 0:o.chainType,onSubmit:tt}),rt=!!(P||Q||X||C||$||z||K),nt=s.useMemo(()=>c!==""?C??P:void 0,[P,c,C]),ot=s.useMemo(()=>N!==""?X??Q:void 0,[X,Q,N]);return s.useEffect(()=>(c||M(""),W(c),D&&clearInterval(D),D=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(D)),[c,Ee,W]),s.useEffect(()=>{n!=null&&n.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,n.amountOut),M(n.amountOut))},[n==null?void 0:n.amountOut]),s.useEffect(()=>{C&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),M("0"))},[C]),s.useEffect(()=>{B&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,B),l(B))},[]),s.useEffect(()=>{_&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,_),g(_))},[_]),s.useEffect(()=>{if(U)try{const t=U;ne({transactions:T.map(x=>({...x,txHash:t,receiver:d.address})),provider:(n==null?void 0:n.provider)??ht.ProviderType.None,url:mt.getApiURL()??"",token:V??""}),u==null||u([t])}catch(t){console.error("Error while sending transactions:",t),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),ee([])}},[U,T,n==null?void 0:n.provider,ne]),e.jsx(e.Fragment,{children:e.jsxs("form",{ref:Ne,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:st,children:[ve&&e.jsx(It.BridgeHistory,{mvxAddress:a,onClose:Ze}),e.jsxs(pe.AmountCard,{className:he.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"From"}),e.jsx(Nt.MvxAccountDisplay,{accountAddress:a,chainIcon:Y.safeImageUrl(h==null?void 0:h.pngUrl),username:_e,accountExplorerUrl:`${ie.mvxExplorerAddress}/accounts/${a}`,showTag:!0,onDisconnect:Ae,onConnect:J})]}),$&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:$}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(ge.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:nt,disabled:!1,onInputDebounceChange:l,onInputChange:ce,onBlur:w}),e.jsx(xe.TokenSelector,{name:"firstToken",disabled:b,options:He,areOptionsLoading:G,isMvxSelector:Ke,isDestination:!1,color:"neutral-850",onChange:Pe,onBlur:w,onMaxBtnClick:Te,selectedOption:i,onTokenSelectorDisplay:t=>Me(t)})]})]}),e.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:ke&&e.jsx(Mt.ToggleDirection,{onChangeDirection:$e})}),e.jsxs(pe.AmountCard,{className:he.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":R}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"To"}),e.jsx(yt.BridgeAccountDisplay,{disabled:b,activeChain:o})]}),z&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:z}),K&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:K}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(ge.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:ot,disabled:!1,onInputDebounceChange:g,onInputChange:ce,onBlur:w}),e.jsx(xe.TokenSelector,{name:"secondToken",disabled:b,omitDisableClass:!0,options:We,areOptionsLoading:G,isMvxSelector:Ye,color:"neutral-850",onChange:Qe,onBlur:w,selectedOption:r})]})]}),e.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!a&&e.jsx(Bt.MvxConnectButton,{mvxAccountAddress:a,icon:Y.safeImageUrl(h==null?void 0:h.pngUrl),onClick:J}),a&&!ae&&e.jsx(At.BridgeConnectButton,{className:"liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",disabled:b,activeChain:o}),a&&ae&&e.jsxs(vt.MxButton,{"data-testid":"submit-button",type:"submit",variant:"neutral-850",className:"liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",disabled:!H||b||!a||!d.address||rt,children:[H&&e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:"Transfer to "}),e.jsx("img",{src:Y.safeImageUrl(o==null?void 0:o.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),e.jsx("div",{children:o==null?void 0:o.networkName})]}),!H&&e.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),d.address&&O>0&&e.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:e.jsxs("div",{children:["You will be asked to sign ",O," ",O>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=Et;
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ct=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),lt=require("@reown/appkit/react"),ut=require("lodash/debounce"),i=require("react"),ue=require("react-toastify"),dt=require("./hooks/useBridgeTokenSelection.js"),de=require("../../../constants/index.js"),mt=require("../../../helpers/getApiURL.js");require("../../constants/index.js");const Y=require("../../../helpers/safeImageUrl.js");require("@solana/web3.js");require("bitcoinjs-lib");require("viem");const qt=require("../../../types/chainType.js"),ht=require("../../../types/providerType.js"),me=require("../../context/useWeb3App.js"),D=require("../../helpers/resolveBridgeApiChainId.js");require("yup");require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");require("bignumber.js");const pt=require("../../hooks/useAccount.js");require("axios");const I=require("../../hooks/useBridgeFormik.js"),gt=require("../../hooks/useFetchBridgeData.js"),xt=require("../../hooks/useBridgeApiChainId.js");require("@tanstack/react-query");const _t=require("../../hooks/useGetChainId.js"),ft=require("../../hooks/useSendTransactions.js");require("@reown/appkit-adapter-solana/react");require("wagmi");require("@reown/appkit-controllers");const jt=require("../../hooks/useDisconnectOnChainTypeChange.js"),Ct=require("../../hooks/useNamespaceAddress.js"),bt=require("../../queries/useGetHistory.query.js"),vt=require("../../queries/useGetRate.mutation.js"),qe=require("../../utils/mxClsx.js"),he=require("../AmountCard/AmountCard.js"),pe=require("../AmountInput/AmountInput.js"),It=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 At=require("../BridgeHistory/BridgeHistory.js"),Bt=require("../Connect/BridgeConnectButton.js"),yt=require("../Connect/MvxConnectButton.js"),Nt=require("../Connect/BridgeAccountDisplay.js"),Mt=require("../Connect/MvxAccountDisplay.js"),Et=require("../ToggleDirection/ToggleDirection.js"),ge=require("../TokenSelector/TokenSelector.js");let k;const wt=({mvxChainId:A,mvxAddress:a,username:xe,callbackRoute:_e="/",firstTokenIdentifier:fe,secondTokenIdentifier:je,firstTokenAmount:B,secondTokenAmount:_,refetchTrigger:Ce,showHistory:be,forcedDestinationTokenSymbol:ve,onSuccessfullySentTransaction:d,onFailedSentTransaction:q,onHistoryClose:y,onMvxConnect:J,onMvxDisconnect:Ie,onNavigate:Ae,onChangeDirection:Be})=>{var ce,le;const ye=i.useRef(null),[O,Ne]=i.useState(!1),[Me,Ee]=i.useState(1),[R,Z]=i.useState(0),[T,ee]=i.useState([]),we=pt.useAccount(),{switchNetwork:te}=lt.useAppKitNetwork(),ie=bt.useInvalidateHistoryQuery(),{options:se,supportedChains:f,nativeAuthToken:V,bridgeOnly:De}=me.useWeb3App(),F=_t.useGetChainId(),re=xt.useBridgeApiChainId(),ne=ft.useSendTransactions(),{signMvxTransactions:L,resetMvxTransactionHash:S,latestMvxTransactionHash:U}=me.useWeb3App(),{evmTokensWithBalances:ke,mvxTokensWithBalances:Oe,isTokensLoading:Re,isLoadingEvmTokensBalances:Ve,isLoadingMvxTokensBalances:Fe,chains:j=[],isChainsLoading:Le}=gt.useFetchBridgeData({refetchTrigger:Ce,mvxAddress:a,mvxApiURL:se.mvxApiURL}),G=Re||Ve||Fe||Le,Se=i.useMemo(()=>f.find(t=>D.sameBridgeApiChainId(t.id,F)),[F,f]),h=i.useMemo(()=>j.find(t=>t.chainId.toString()===A.toString()),[F,j]),{mutate:Ue,data:o,isPending:C,error:p}=vt.useGetRateMutation(),b=((ce=p==null?void 0:p.response)==null?void 0:ce.status)===400?(le=p==null?void 0:p.response)==null?void 0:le.data.message:void 0,Ge=i.useCallback(t=>{const x=f.find(at=>D.sameBridgeApiChainId(at.id,t.id));x&&te(x)},[f,te]),{firstToken:s,secondToken:r,fromOptions:He,toOptions:We,selectedChainOption:v,onChangeFirstSelect:Pe,onChangeSecondSelect:Qe,handleChangeDirection:Xe}=dt.useBridgeTokenSelection({chains:j,activeChain:Se,sdkChains:f,switchNetwork:Ge,fromTokens:Oe,toTokens:ke,firstTokenIdentifier:fe,secondTokenIdentifier:je,forcedDestinationTokenSymbol:ve,isTokensLoading:G,mvxChainId:A,callbackRoute:_e,onNavigate:Ae}),$e=()=>{Xe(),Be()},[c,ze]=i.useState(B??""),[N,M]=i.useState(_??""),Ke=i.useMemo(()=>s?de.MVX_CHAIN_IDS.includes(s.chainId.toString()):!1,[s==null?void 0:s.chainId]),Ye=i.useMemo(()=>r?de.MVX_CHAIN_IDS.includes(r.chainId.toString()):!1,[r==null?void 0:r.chainId]),n=i.useMemo(()=>r?j.find(t=>D.sameBridgeApiChainId(t.chainId,r.chainId))??v:v,[r==null?void 0:r.chainId,j,v]),E=i.useMemo(()=>D.toBridgeApiChainId(r==null?void 0:r.chainId)??re,[r==null?void 0:r.chainId,re]);jt.useDisconnectOnChainTypeChange(n==null?void 0:n.chainType);const l=Ct.useNamespaceAddress(n==null?void 0:n.chainType),Je=l,oe=we.isConnected&&!!l,H=c!==""&&N!=="",W=i.useCallback(ut(async t=>{!t||!Number(t)||!l||!(s!=null&&s.address)||!(r!=null&&r.address)||!v||!E||Ue({nativeAuthToken:V??"",body:{tokenIn:s.address,amountIn:t,fromChainId:A,tokenOut:r.address,toChainId:E}})},500),[l,E,s==null?void 0:s.address,r==null?void 0:r.address,v]),u=i.useCallback(t=>{ze(()=>t)},[]),g=i.useCallback(t=>{M(()=>t)},[]),Ze=i.useCallback(()=>{y==null||y()},[y]),Te=i.useCallback(()=>{const t=ct.formatAmount({decimals:s==null?void 0:s.decimals,input:(s==null?void 0:s.balance)??"0",addCommas:!1,digits:4});m.setFieldValue("firstAmount",t),u(t)},[s==null?void 0:s.balance,s==null?void 0:s.decimals,u]),et=i.useCallback(async t=>{u(""),g(""),ie(),ie(),d==null||d(t)},[u,g,d]),tt=i.useCallback(async({transactions:t})=>{Z(()=>t.length);try{if(!L)throw new Error("signMvxTransactions function is not provided");await L(t),ee(t)}catch(x){console.error(x),ue.toast.dismiss(),ue.toast.error("Transaction cancelled"),q==null||q("Transaction cancelled"),Z(0),st(),u(""),g("")}},[Je,u,g,V,et,L]),{formik:m,firstAmountError:P,secondAmountError:Q,fromChainError:X,senderAddressError:$,receiverAddressError:z,confirmRateError:K,handleBlur:w,handleChange:ae,handleSubmit:it,resetSwapForm:st}=I.useBridgeFormik({isMvxConnected:!!a,rate:o,sender:a??"",receiver:l??"",firstToken:s,firstAmount:c,fromChainId:A,toChainId:E,secondToken:r,secondAmount:N,setForceRefetchRate:Ee,senderChainType:qt.ChainType.mvx,receiverChainType:n==null?void 0:n.chainType,onSubmit:tt}),rt=!!(P||Q||X||b||$||z||K),nt=i.useMemo(()=>c!==""?b??P:void 0,[P,c,b]),ot=i.useMemo(()=>N!==""?X??Q:void 0,[X,Q,N]);return i.useEffect(()=>(c||M(""),W(c),k&&clearInterval(k),k=setInterval(()=>{W(c)},50*1e3),()=>clearInterval(k)),[c,Me,W]),i.useEffect(()=>{o!=null&&o.amountOut&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,o.amountOut),M(o.amountOut))},[o==null?void 0:o.amountOut]),i.useEffect(()=>{b&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,"0"),M("0"))},[b]),i.useEffect(()=>{B&&(m.setFieldValue(I.BridgeFormikValuesEnum.firstAmount,B),u(B))},[]),i.useEffect(()=>{_&&(m.setFieldValue(I.BridgeFormikValuesEnum.secondAmount,_),g(_))},[_]),i.useEffect(()=>{if(U)try{const t=U;ne({transactions:T.map(x=>({...x,txHash:t,receiver:l})),provider:(o==null?void 0:o.provider)??ht.ProviderType.None,url:mt.getApiURL()??"",token:V??""}),d==null||d([t])}catch(t){console.error("Error while sending transactions:",t),q==null||q("An error occurred while sending the transaction");return}finally{S==null||S(),ee([])}},[U,T,o==null?void 0:o.provider,ne]),e.jsx(e.Fragment,{children:e.jsxs("form",{ref:ye,noValidate:!0,className:"liq-flex liq-flex-col liq-gap-1 liq-relative",autoComplete:"off",onSubmit:it,children:[be&&e.jsx(At.BridgeHistory,{mvxAddress:a,onClose:Ze}),e.jsxs(he.AmountCard,{className:qe.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!O}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"From"}),e.jsx(Mt.MvxAccountDisplay,{accountAddress:a,chainIcon:Y.safeImageUrl(h==null?void 0:h.pngUrl),username:xe,accountExplorerUrl:`${se.mvxExplorerAddress}/accounts/${a}`,showTag:!0,onDisconnect:Ie,onConnect:J})]}),$&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:$}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(pe.AmountInput,{inputName:"firstAmount",inputValue:m.values.firstAmount,amountError:nt,disabled:!1,onInputDebounceChange:u,onInputChange:ae,onBlur:w}),e.jsx(ge.TokenSelector,{name:"firstToken",disabled:C,options:He,areOptionsLoading:G,isMvxSelector:Ke,isDestination:!1,color:"neutral-850",onChange:Pe,onBlur:w,onMaxBtnClick:Te,selectedOption:s,onTokenSelectorDisplay:t=>Ne(t)})]})]}),e.jsx("div",{className:"liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10",children:De&&e.jsx(Et.ToggleDirection,{onChangeDirection:$e})}),e.jsxs(he.AmountCard,{className:qe.mxClsx("liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",{"liq-pointer-events-none":O}),children:[e.jsxs("div",{className:"liq-flex liq-items-center liq-gap-1",children:[e.jsx("span",{children:"To"}),e.jsx(Nt.BridgeAccountDisplay,{disabled:C,activeChain:n})]}),z&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:z}),K&&e.jsx("div",{className:"liq-text-red-400 liq-text-xs liq-mt-1",children:K}),e.jsxs("div",{className:"liq-flex liq-justify-between liq-gap-1",children:[e.jsx(pe.AmountInput,{inputName:"secondAmount",inputValue:m.values.secondAmount,amountError:ot,disabled:!1,onInputDebounceChange:g,onInputChange:ae,onBlur:w}),e.jsx(ge.TokenSelector,{name:"secondToken",disabled:C,omitDisableClass:!0,options:We,areOptionsLoading:G,isMvxSelector:Ye,color:"neutral-850",onChange:Qe,onBlur:w,selectedOption:r})]})]}),e.jsxs("div",{className:"liq-flex liq-items-center liq-justify-center",children:[!a&&e.jsx(yt.MvxConnectButton,{mvxAccountAddress:a,icon:Y.safeImageUrl(h==null?void 0:h.pngUrl),onClick:J}),a&&!oe&&e.jsx(Bt.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:n}),a&&oe&&e.jsxs(It.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||!a||!l||rt,children:[H&&e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:"Transfer to "}),e.jsx("img",{src:Y.safeImageUrl(n==null?void 0:n.pngUrl),alt:"",className:"liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"}),e.jsx("div",{children:n==null?void 0:n.networkName})]}),!H&&e.jsx("span",{className:"liq-text-neutral-100",children:"Enter amount"})]})]}),l&&R>0&&e.jsx("div",{className:"liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm",children:e.jsxs("div",{children:["You will be asked to sign ",R," ",R>1?"transactions":"transaction"," ","on your wallet"]})})]})})};exports.Transfer=wt;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsx as r, Fragment as pi, jsxs as
|
|
1
|
+
import { jsx as r, Fragment as pi, jsxs as l } from "react/jsx-runtime";
|
|
2
2
|
import { formatAmount as ui } from "@multiversx/sdk-dapp-utils/out/helpers/formatAmount";
|
|
3
3
|
import { useAppKitNetwork as hi } from "@reown/appkit/react";
|
|
4
4
|
import fi from "lodash/debounce";
|
|
5
|
-
import { useRef as gi, useState as C, useMemo as
|
|
6
|
-
import { toast as
|
|
5
|
+
import { useRef as gi, useState as C, useMemo as d, useCallback as p, useEffect as I } from "react";
|
|
6
|
+
import { toast as he } from "react-toastify";
|
|
7
7
|
import { useBridgeTokenSelection as qi } from "./hooks/useBridgeTokenSelection.mjs";
|
|
8
|
-
import { MVX_CHAIN_IDS as
|
|
8
|
+
import { MVX_CHAIN_IDS as fe } from "../../../constants/index.mjs";
|
|
9
9
|
import { getApiURL as vi } from "../../../helpers/getApiURL.mjs";
|
|
10
10
|
import "../../constants/index.mjs";
|
|
11
11
|
import { safeImageUrl as T } from "../../../helpers/safeImageUrl.mjs";
|
|
@@ -14,7 +14,7 @@ import "bitcoinjs-lib";
|
|
|
14
14
|
import "viem";
|
|
15
15
|
import { ChainType as bi } from "../../../types/chainType.mjs";
|
|
16
16
|
import { ProviderType as Ci } from "../../../types/providerType.mjs";
|
|
17
|
-
import { useWeb3App as
|
|
17
|
+
import { useWeb3App as ge } from "../../context/useWeb3App.mjs";
|
|
18
18
|
import { sameBridgeApiChainId as ee, toBridgeApiChainId as Ii } from "../../helpers/resolveBridgeApiChainId.mjs";
|
|
19
19
|
import "yup";
|
|
20
20
|
import "@multiversx/sdk-dapp-utils/out/helpers/parseAmount";
|
|
@@ -30,13 +30,14 @@ import { useSendTransactions as yi } from "../../hooks/useSendTransactions.mjs";
|
|
|
30
30
|
import "@reown/appkit-adapter-solana/react";
|
|
31
31
|
import "wagmi";
|
|
32
32
|
import "@reown/appkit-controllers";
|
|
33
|
+
import { useDisconnectOnChainTypeChange as Di } from "../../hooks/useDisconnectOnChainTypeChange.mjs";
|
|
33
34
|
import { useNamespaceAddress as Ei } from "../../hooks/useNamespaceAddress.mjs";
|
|
34
|
-
import { useInvalidateHistoryQuery as
|
|
35
|
-
import { useGetRateMutation as
|
|
36
|
-
import { mxClsx as
|
|
37
|
-
import { AmountCard as
|
|
38
|
-
import { AmountInput as
|
|
39
|
-
import { MxButton as
|
|
35
|
+
import { useInvalidateHistoryQuery as Oi } from "../../queries/useGetHistory.query.mjs";
|
|
36
|
+
import { useGetRateMutation as Mi } from "../../queries/useGetRate.mutation.mjs";
|
|
37
|
+
import { mxClsx as qe } from "../../utils/mxClsx.mjs";
|
|
38
|
+
import { AmountCard as ve } from "../AmountCard/AmountCard.mjs";
|
|
39
|
+
import { AmountInput as be } from "../AmountInput/AmountInput.mjs";
|
|
40
|
+
import { MxButton as Ri } from "../base/MxButton/MxButton.mjs";
|
|
40
41
|
import "../base/MxCard/MxCard.mjs";
|
|
41
42
|
import "../base/MxLink/MxLink.mjs";
|
|
42
43
|
import "../base/MxSearch/MxSearch.mjs";
|
|
@@ -46,45 +47,45 @@ import "@headlessui/react";
|
|
|
46
47
|
import "react-dom";
|
|
47
48
|
import "react-popper";
|
|
48
49
|
import "../base/MxTooltip/components/TooltipContainer/TooltipContainer.mjs";
|
|
49
|
-
import { BridgeHistory as
|
|
50
|
-
import { BridgeConnectButton as
|
|
51
|
-
import { MvxConnectButton as
|
|
52
|
-
import { BridgeAccountDisplay as
|
|
53
|
-
import { MvxAccountDisplay as
|
|
54
|
-
import { ToggleDirection as
|
|
55
|
-
import { TokenSelector as
|
|
50
|
+
import { BridgeHistory as Vi } from "../BridgeHistory/BridgeHistory.mjs";
|
|
51
|
+
import { BridgeConnectButton as Li } from "../Connect/BridgeConnectButton.mjs";
|
|
52
|
+
import { MvxConnectButton as Fi } from "../Connect/MvxConnectButton.mjs";
|
|
53
|
+
import { BridgeAccountDisplay as Ui } from "../Connect/BridgeAccountDisplay.mjs";
|
|
54
|
+
import { MvxAccountDisplay as ji } from "../Connect/MvxAccountDisplay.mjs";
|
|
55
|
+
import { ToggleDirection as Pi } from "../ToggleDirection/ToggleDirection.mjs";
|
|
56
|
+
import { TokenSelector as Ce } from "../TokenSelector/TokenSelector.mjs";
|
|
56
57
|
let U;
|
|
57
|
-
const
|
|
58
|
-
mvxChainId:
|
|
58
|
+
const Qt = ({
|
|
59
|
+
mvxChainId: D,
|
|
59
60
|
mvxAddress: a,
|
|
60
|
-
username:
|
|
61
|
-
callbackRoute:
|
|
62
|
-
firstTokenIdentifier:
|
|
63
|
-
secondTokenIdentifier:
|
|
64
|
-
firstTokenAmount:
|
|
61
|
+
username: Ie,
|
|
62
|
+
callbackRoute: xe = "/",
|
|
63
|
+
firstTokenIdentifier: Ae,
|
|
64
|
+
secondTokenIdentifier: Ne,
|
|
65
|
+
firstTokenAmount: E,
|
|
65
66
|
secondTokenAmount: x,
|
|
66
|
-
refetchTrigger:
|
|
67
|
-
showHistory:
|
|
68
|
-
forcedDestinationTokenSymbol:
|
|
69
|
-
onSuccessfullySentTransaction:
|
|
67
|
+
refetchTrigger: Be,
|
|
68
|
+
showHistory: we,
|
|
69
|
+
forcedDestinationTokenSymbol: ye,
|
|
70
|
+
onSuccessfullySentTransaction: u,
|
|
70
71
|
onFailedSentTransaction: f,
|
|
71
72
|
onHistoryClose: O,
|
|
72
73
|
onMvxConnect: ie,
|
|
73
74
|
onMvxDisconnect: De,
|
|
74
|
-
onNavigate:
|
|
75
|
-
onChangeDirection:
|
|
75
|
+
onNavigate: Ee,
|
|
76
|
+
onChangeDirection: Oe
|
|
76
77
|
}) => {
|
|
77
|
-
var
|
|
78
|
-
const
|
|
79
|
-
options:
|
|
78
|
+
var pe, ue;
|
|
79
|
+
const Me = gi(null), [j, Re] = C(!1), [Ve, Le] = C(1), [P, te] = C(0), [re, oe] = C([]), Fe = xi(), { switchNetwork: ne } = hi(), ae = Oi(), {
|
|
80
|
+
options: le,
|
|
80
81
|
supportedChains: A,
|
|
81
82
|
nativeAuthToken: W,
|
|
82
83
|
bridgeOnly: Ue
|
|
83
|
-
} =
|
|
84
|
+
} = ge(), G = wi(), se = Bi(), ce = yi(), {
|
|
84
85
|
signMvxTransactions: Q,
|
|
85
86
|
resetMvxTransactionHash: _,
|
|
86
87
|
latestMvxTransactionHash: $
|
|
87
|
-
} =
|
|
88
|
+
} = ge(), {
|
|
88
89
|
evmTokensWithBalances: je,
|
|
89
90
|
mvxTokensWithBalances: Pe,
|
|
90
91
|
isTokensLoading: We,
|
|
@@ -93,17 +94,17 @@ const Wt = ({
|
|
|
93
94
|
chains: N = [],
|
|
94
95
|
isChainsLoading: _e
|
|
95
96
|
} = Ni({
|
|
96
|
-
refetchTrigger:
|
|
97
|
+
refetchTrigger: Be,
|
|
97
98
|
mvxAddress: a,
|
|
98
|
-
mvxApiURL:
|
|
99
|
-
}), z = We || Ge || Qe || _e, $e =
|
|
100
|
-
(e) => e.chainId.toString() ===
|
|
99
|
+
mvxApiURL: le.mvxApiURL
|
|
100
|
+
}), z = We || Ge || Qe || _e, $e = d(() => A.find((e) => ee(e.id, G)), [G, A]), g = d(() => N.find(
|
|
101
|
+
(e) => e.chainId.toString() === D.toString()
|
|
101
102
|
), [G, N]), {
|
|
102
103
|
mutate: ze,
|
|
103
|
-
data:
|
|
104
|
+
data: n,
|
|
104
105
|
isPending: B,
|
|
105
106
|
error: q
|
|
106
|
-
} =
|
|
107
|
+
} = Mi(), w = ((pe = q == null ? void 0 : q.response) == null ? void 0 : pe.status) === 400 ? (ue = q == null ? void 0 : q.response) == null ? void 0 : ue.data.message : void 0, He = p(
|
|
107
108
|
(e) => {
|
|
108
109
|
const b = A.find(
|
|
109
110
|
(di) => ee(di.id, e.id)
|
|
@@ -118,8 +119,8 @@ const Wt = ({
|
|
|
118
119
|
toOptions: Xe,
|
|
119
120
|
selectedChainOption: y,
|
|
120
121
|
onChangeFirstSelect: Ye,
|
|
121
|
-
onChangeSecondSelect:
|
|
122
|
-
handleChangeDirection:
|
|
122
|
+
onChangeSecondSelect: Je,
|
|
123
|
+
handleChangeDirection: Ze
|
|
123
124
|
} = qi({
|
|
124
125
|
chains: N,
|
|
125
126
|
activeChain: $e,
|
|
@@ -127,64 +128,66 @@ const Wt = ({
|
|
|
127
128
|
switchNetwork: He,
|
|
128
129
|
fromTokens: Pe,
|
|
129
130
|
toTokens: je,
|
|
130
|
-
firstTokenIdentifier:
|
|
131
|
-
secondTokenIdentifier:
|
|
132
|
-
forcedDestinationTokenSymbol:
|
|
131
|
+
firstTokenIdentifier: Ae,
|
|
132
|
+
secondTokenIdentifier: Ne,
|
|
133
|
+
forcedDestinationTokenSymbol: ye,
|
|
133
134
|
isTokensLoading: z,
|
|
134
|
-
mvxChainId:
|
|
135
|
-
callbackRoute:
|
|
136
|
-
onNavigate:
|
|
137
|
-
}),
|
|
138
|
-
|
|
139
|
-
}, [
|
|
135
|
+
mvxChainId: D,
|
|
136
|
+
callbackRoute: xe,
|
|
137
|
+
onNavigate: Ee
|
|
138
|
+
}), Se = () => {
|
|
139
|
+
Ze(), Oe();
|
|
140
|
+
}, [s, ke] = C(E ?? ""), [M, R] = C(x ?? ""), Te = d(() => i ? fe.includes(i.chainId.toString()) : !1, [i == null ? void 0 : i.chainId]), ei = d(() => t ? fe.includes(t.chainId.toString()) : !1, [t == null ? void 0 : t.chainId]), o = d(() => t ? N.find(
|
|
140
141
|
(e) => ee(e.chainId, t.chainId)
|
|
141
|
-
) ?? y : y, [t == null ? void 0 : t.chainId, N, y]), V =
|
|
142
|
-
() => Ii(t == null ? void 0 : t.chainId) ??
|
|
143
|
-
[t == null ? void 0 : t.chainId,
|
|
144
|
-
)
|
|
142
|
+
) ?? y : y, [t == null ? void 0 : t.chainId, N, y]), V = d(
|
|
143
|
+
() => Ii(t == null ? void 0 : t.chainId) ?? se,
|
|
144
|
+
[t == null ? void 0 : t.chainId, se]
|
|
145
|
+
);
|
|
146
|
+
Di(o == null ? void 0 : o.chainType);
|
|
147
|
+
const c = Ei(o == null ? void 0 : o.chainType), ii = c, me = Fe.isConnected && !!c, H = s !== "" && M !== "", K = p(
|
|
145
148
|
fi(async (e) => {
|
|
146
|
-
!e || !Number(e) || !
|
|
149
|
+
!e || !Number(e) || !c || !(i != null && i.address) || !(t != null && t.address) || !y || !V || ze({
|
|
147
150
|
nativeAuthToken: W ?? "",
|
|
148
151
|
body: {
|
|
149
152
|
tokenIn: i.address,
|
|
150
153
|
amountIn: e,
|
|
151
|
-
fromChainId:
|
|
154
|
+
fromChainId: D,
|
|
152
155
|
tokenOut: t.address,
|
|
153
156
|
toChainId: V
|
|
154
157
|
}
|
|
155
158
|
});
|
|
156
159
|
}, 500),
|
|
157
160
|
[
|
|
158
|
-
|
|
161
|
+
c,
|
|
159
162
|
V,
|
|
160
163
|
i == null ? void 0 : i.address,
|
|
161
164
|
t == null ? void 0 : t.address,
|
|
162
165
|
y
|
|
163
166
|
]
|
|
164
|
-
),
|
|
165
|
-
|
|
166
|
-
}, []), v =
|
|
167
|
+
), m = p((e) => {
|
|
168
|
+
ke(() => e);
|
|
169
|
+
}, []), v = p((e) => {
|
|
167
170
|
R(() => e);
|
|
168
|
-
}, []), ti =
|
|
171
|
+
}, []), ti = p(() => {
|
|
169
172
|
O == null || O();
|
|
170
|
-
}, [O]), ri =
|
|
173
|
+
}, [O]), ri = p(() => {
|
|
171
174
|
const e = ui({
|
|
172
175
|
decimals: i == null ? void 0 : i.decimals,
|
|
173
176
|
input: (i == null ? void 0 : i.balance) ?? "0",
|
|
174
177
|
addCommas: !1,
|
|
175
178
|
digits: 4
|
|
176
179
|
});
|
|
177
|
-
h.setFieldValue("firstAmount", e),
|
|
178
|
-
}, [i == null ? void 0 : i.balance, i == null ? void 0 : i.decimals,
|
|
180
|
+
h.setFieldValue("firstAmount", e), m(e);
|
|
181
|
+
}, [i == null ? void 0 : i.balance, i == null ? void 0 : i.decimals, m]), oi = p(
|
|
179
182
|
async (e) => {
|
|
180
|
-
|
|
183
|
+
m(""), v(""), ae(), ae(), u == null || u(e);
|
|
181
184
|
},
|
|
182
185
|
[
|
|
183
|
-
|
|
186
|
+
m,
|
|
184
187
|
v,
|
|
185
|
-
|
|
188
|
+
u
|
|
186
189
|
]
|
|
187
|
-
), ni =
|
|
190
|
+
), ni = p(
|
|
188
191
|
async ({ transactions: e }) => {
|
|
189
192
|
te(() => e.length);
|
|
190
193
|
try {
|
|
@@ -192,12 +195,12 @@ const Wt = ({
|
|
|
192
195
|
throw new Error("signMvxTransactions function is not provided");
|
|
193
196
|
await Q(e), oe(e);
|
|
194
197
|
} catch (b) {
|
|
195
|
-
console.error(b),
|
|
198
|
+
console.error(b), he.dismiss(), he.error("Transaction cancelled"), f == null || f("Transaction cancelled"), te(0), li(), m(""), v("");
|
|
196
199
|
}
|
|
197
200
|
},
|
|
198
201
|
[
|
|
199
|
-
|
|
200
|
-
|
|
202
|
+
ii,
|
|
203
|
+
m,
|
|
201
204
|
v,
|
|
202
205
|
W,
|
|
203
206
|
oi,
|
|
@@ -207,41 +210,41 @@ const Wt = ({
|
|
|
207
210
|
formik: h,
|
|
208
211
|
firstAmountError: X,
|
|
209
212
|
secondAmountError: Y,
|
|
210
|
-
fromChainError:
|
|
211
|
-
senderAddressError:
|
|
212
|
-
receiverAddressError:
|
|
213
|
-
confirmRateError:
|
|
213
|
+
fromChainError: J,
|
|
214
|
+
senderAddressError: Z,
|
|
215
|
+
receiverAddressError: S,
|
|
216
|
+
confirmRateError: k,
|
|
214
217
|
handleBlur: L,
|
|
215
|
-
handleChange:
|
|
218
|
+
handleChange: de,
|
|
216
219
|
handleSubmit: ai,
|
|
217
|
-
resetSwapForm:
|
|
220
|
+
resetSwapForm: li
|
|
218
221
|
} = Ai({
|
|
219
222
|
isMvxConnected: !!a,
|
|
220
|
-
rate:
|
|
223
|
+
rate: n,
|
|
221
224
|
sender: a ?? "",
|
|
222
|
-
receiver:
|
|
225
|
+
receiver: c ?? "",
|
|
223
226
|
firstToken: i,
|
|
224
|
-
firstAmount:
|
|
225
|
-
fromChainId:
|
|
227
|
+
firstAmount: s,
|
|
228
|
+
fromChainId: D,
|
|
226
229
|
toChainId: V,
|
|
227
230
|
secondToken: t,
|
|
228
231
|
secondAmount: M,
|
|
229
|
-
setForceRefetchRate:
|
|
232
|
+
setForceRefetchRate: Le,
|
|
230
233
|
senderChainType: bi.mvx,
|
|
231
|
-
receiverChainType:
|
|
234
|
+
receiverChainType: o == null ? void 0 : o.chainType,
|
|
232
235
|
onSubmit: ni
|
|
233
|
-
}),
|
|
234
|
-
return I(() => (
|
|
235
|
-
K(
|
|
236
|
-
}, 50 * 1e3), () => clearInterval(U)), [
|
|
237
|
-
|
|
238
|
-
}, [
|
|
236
|
+
}), si = !!(X || Y || J || w || Z || S || k), ci = d(() => s !== "" ? w ?? X : void 0, [X, s, w]), mi = d(() => M !== "" ? J ?? Y : void 0, [J, Y, M]);
|
|
237
|
+
return I(() => (s || R(""), K(s), U && clearInterval(U), U = setInterval(() => {
|
|
238
|
+
K(s);
|
|
239
|
+
}, 50 * 1e3), () => clearInterval(U)), [s, Ve, K]), I(() => {
|
|
240
|
+
n != null && n.amountOut && (h.setFieldValue(F.secondAmount, n.amountOut), R(n.amountOut));
|
|
241
|
+
}, [n == null ? void 0 : n.amountOut]), I(() => {
|
|
239
242
|
w && (h.setFieldValue(F.secondAmount, "0"), R("0"));
|
|
240
243
|
}, [w]), I(() => {
|
|
241
|
-
|
|
244
|
+
E && (h.setFieldValue(
|
|
242
245
|
F.firstAmount,
|
|
243
|
-
|
|
244
|
-
),
|
|
246
|
+
E
|
|
247
|
+
), m(E));
|
|
245
248
|
}, []), I(() => {
|
|
246
249
|
x && (h.setFieldValue(
|
|
247
250
|
F.secondAmount,
|
|
@@ -255,12 +258,12 @@ const Wt = ({
|
|
|
255
258
|
transactions: re.map((b) => ({
|
|
256
259
|
...b,
|
|
257
260
|
txHash: e,
|
|
258
|
-
receiver:
|
|
261
|
+
receiver: c
|
|
259
262
|
})),
|
|
260
|
-
provider: (
|
|
263
|
+
provider: (n == null ? void 0 : n.provider) ?? Ci.None,
|
|
261
264
|
url: vi() ?? "",
|
|
262
265
|
token: W ?? ""
|
|
263
|
-
}),
|
|
266
|
+
}), u == null || u([e]);
|
|
264
267
|
} catch (e) {
|
|
265
268
|
console.error("Error while sending transactions:", e), f == null || f(
|
|
266
269
|
"An error occurred while sending the transaction"
|
|
@@ -272,22 +275,22 @@ const Wt = ({
|
|
|
272
275
|
}, [
|
|
273
276
|
$,
|
|
274
277
|
re,
|
|
275
|
-
|
|
278
|
+
n == null ? void 0 : n.provider,
|
|
276
279
|
ce
|
|
277
|
-
]), /* @__PURE__ */ r(pi, { children: /* @__PURE__ */
|
|
280
|
+
]), /* @__PURE__ */ r(pi, { children: /* @__PURE__ */ l(
|
|
278
281
|
"form",
|
|
279
282
|
{
|
|
280
|
-
ref:
|
|
283
|
+
ref: Me,
|
|
281
284
|
noValidate: !0,
|
|
282
285
|
className: "liq-flex liq-flex-col liq-gap-1 liq-relative",
|
|
283
286
|
autoComplete: "off",
|
|
284
287
|
onSubmit: ai,
|
|
285
288
|
children: [
|
|
286
|
-
|
|
287
|
-
/* @__PURE__ */
|
|
288
|
-
|
|
289
|
+
we && /* @__PURE__ */ r(Vi, { mvxAddress: a, onClose: ti }),
|
|
290
|
+
/* @__PURE__ */ l(
|
|
291
|
+
ve,
|
|
289
292
|
{
|
|
290
|
-
className:
|
|
293
|
+
className: qe(
|
|
291
294
|
"liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
|
|
292
295
|
{
|
|
293
296
|
"liq-pointer-events-none": j,
|
|
@@ -295,37 +298,37 @@ const Wt = ({
|
|
|
295
298
|
}
|
|
296
299
|
),
|
|
297
300
|
children: [
|
|
298
|
-
/* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
|
|
299
302
|
/* @__PURE__ */ r("span", { children: "From" }),
|
|
300
303
|
/* @__PURE__ */ r(
|
|
301
|
-
|
|
304
|
+
ji,
|
|
302
305
|
{
|
|
303
306
|
accountAddress: a,
|
|
304
307
|
chainIcon: T(g == null ? void 0 : g.pngUrl),
|
|
305
|
-
username:
|
|
306
|
-
accountExplorerUrl: `${
|
|
308
|
+
username: Ie,
|
|
309
|
+
accountExplorerUrl: `${le.mvxExplorerAddress}/accounts/${a}`,
|
|
307
310
|
showTag: !0,
|
|
308
311
|
onDisconnect: De,
|
|
309
312
|
onConnect: ie
|
|
310
313
|
}
|
|
311
314
|
)
|
|
312
315
|
] }),
|
|
313
|
-
|
|
314
|
-
/* @__PURE__ */
|
|
316
|
+
Z && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: Z }),
|
|
317
|
+
/* @__PURE__ */ l("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
|
|
315
318
|
/* @__PURE__ */ r(
|
|
316
|
-
|
|
319
|
+
be,
|
|
317
320
|
{
|
|
318
321
|
inputName: "firstAmount",
|
|
319
322
|
inputValue: h.values.firstAmount,
|
|
320
323
|
amountError: ci,
|
|
321
324
|
disabled: !1,
|
|
322
|
-
onInputDebounceChange:
|
|
323
|
-
onInputChange:
|
|
325
|
+
onInputDebounceChange: m,
|
|
326
|
+
onInputChange: de,
|
|
324
327
|
onBlur: L
|
|
325
328
|
}
|
|
326
329
|
),
|
|
327
330
|
/* @__PURE__ */ r(
|
|
328
|
-
|
|
331
|
+
Ce,
|
|
329
332
|
{
|
|
330
333
|
name: "firstToken",
|
|
331
334
|
disabled: B,
|
|
@@ -338,51 +341,51 @@ const Wt = ({
|
|
|
338
341
|
onBlur: L,
|
|
339
342
|
onMaxBtnClick: ri,
|
|
340
343
|
selectedOption: i,
|
|
341
|
-
onTokenSelectorDisplay: (e) =>
|
|
344
|
+
onTokenSelectorDisplay: (e) => Re(e)
|
|
342
345
|
}
|
|
343
346
|
)
|
|
344
347
|
] })
|
|
345
348
|
]
|
|
346
349
|
}
|
|
347
350
|
),
|
|
348
|
-
/* @__PURE__ */ r("div", { className: "liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10", children: Ue && /* @__PURE__ */ r(
|
|
349
|
-
/* @__PURE__ */
|
|
350
|
-
|
|
351
|
+
/* @__PURE__ */ r("div", { className: "liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10", children: Ue && /* @__PURE__ */ r(Pi, { onChangeDirection: Se }) }),
|
|
352
|
+
/* @__PURE__ */ l(
|
|
353
|
+
ve,
|
|
351
354
|
{
|
|
352
|
-
className:
|
|
355
|
+
className: qe(
|
|
353
356
|
"liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
|
|
354
357
|
{
|
|
355
358
|
"liq-pointer-events-none": j
|
|
356
359
|
}
|
|
357
360
|
),
|
|
358
361
|
children: [
|
|
359
|
-
/* @__PURE__ */
|
|
362
|
+
/* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
|
|
360
363
|
/* @__PURE__ */ r("span", { children: "To" }),
|
|
361
364
|
/* @__PURE__ */ r(
|
|
362
|
-
|
|
365
|
+
Ui,
|
|
363
366
|
{
|
|
364
367
|
disabled: B,
|
|
365
|
-
activeChain:
|
|
368
|
+
activeChain: o
|
|
366
369
|
}
|
|
367
370
|
)
|
|
368
371
|
] }),
|
|
369
|
-
Z && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: Z }),
|
|
370
372
|
S && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: S }),
|
|
371
|
-
/* @__PURE__ */
|
|
373
|
+
k && /* @__PURE__ */ r("div", { className: "liq-text-red-400 liq-text-xs liq-mt-1", children: k }),
|
|
374
|
+
/* @__PURE__ */ l("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
|
|
372
375
|
/* @__PURE__ */ r(
|
|
373
|
-
|
|
376
|
+
be,
|
|
374
377
|
{
|
|
375
378
|
inputName: "secondAmount",
|
|
376
379
|
inputValue: h.values.secondAmount,
|
|
377
380
|
amountError: mi,
|
|
378
381
|
disabled: !1,
|
|
379
382
|
onInputDebounceChange: v,
|
|
380
|
-
onInputChange:
|
|
383
|
+
onInputChange: de,
|
|
381
384
|
onBlur: L
|
|
382
385
|
}
|
|
383
386
|
),
|
|
384
387
|
/* @__PURE__ */ r(
|
|
385
|
-
|
|
388
|
+
Ce,
|
|
386
389
|
{
|
|
387
390
|
name: "secondToken",
|
|
388
391
|
disabled: B,
|
|
@@ -391,7 +394,7 @@ const Wt = ({
|
|
|
391
394
|
areOptionsLoading: z,
|
|
392
395
|
isMvxSelector: ei,
|
|
393
396
|
color: "neutral-850",
|
|
394
|
-
onChange:
|
|
397
|
+
onChange: Je,
|
|
395
398
|
onBlur: L,
|
|
396
399
|
selectedOption: t
|
|
397
400
|
}
|
|
@@ -400,50 +403,50 @@ const Wt = ({
|
|
|
400
403
|
]
|
|
401
404
|
}
|
|
402
405
|
),
|
|
403
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-justify-center", children: [
|
|
404
407
|
!a && /* @__PURE__ */ r(
|
|
405
|
-
|
|
408
|
+
Fi,
|
|
406
409
|
{
|
|
407
410
|
mvxAccountAddress: a,
|
|
408
411
|
icon: T(g == null ? void 0 : g.pngUrl),
|
|
409
412
|
onClick: ie
|
|
410
413
|
}
|
|
411
414
|
),
|
|
412
|
-
a && !
|
|
413
|
-
|
|
415
|
+
a && !me && /* @__PURE__ */ r(
|
|
416
|
+
Li,
|
|
414
417
|
{
|
|
415
418
|
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",
|
|
416
419
|
disabled: B,
|
|
417
|
-
activeChain:
|
|
420
|
+
activeChain: o
|
|
418
421
|
}
|
|
419
422
|
),
|
|
420
|
-
a &&
|
|
421
|
-
|
|
423
|
+
a && me && /* @__PURE__ */ l(
|
|
424
|
+
Ri,
|
|
422
425
|
{
|
|
423
426
|
"data-testid": "submit-button",
|
|
424
427
|
type: "submit",
|
|
425
428
|
variant: "neutral-850",
|
|
426
429
|
className: "liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",
|
|
427
|
-
disabled: !H || B || !a || !
|
|
430
|
+
disabled: !H || B || !a || !c || si,
|
|
428
431
|
children: [
|
|
429
|
-
H && /* @__PURE__ */
|
|
432
|
+
H && /* @__PURE__ */ l("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
|
|
430
433
|
/* @__PURE__ */ r("div", { children: "Transfer to " }),
|
|
431
434
|
/* @__PURE__ */ r(
|
|
432
435
|
"img",
|
|
433
436
|
{
|
|
434
|
-
src: T(
|
|
437
|
+
src: T(o == null ? void 0 : o.pngUrl),
|
|
435
438
|
alt: "",
|
|
436
439
|
className: "liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg"
|
|
437
440
|
}
|
|
438
441
|
),
|
|
439
|
-
/* @__PURE__ */ r("div", { children:
|
|
442
|
+
/* @__PURE__ */ r("div", { children: o == null ? void 0 : o.networkName })
|
|
440
443
|
] }),
|
|
441
444
|
!H && /* @__PURE__ */ r("span", { className: "liq-text-neutral-100", children: "Enter amount" })
|
|
442
445
|
]
|
|
443
446
|
}
|
|
444
447
|
)
|
|
445
448
|
] }),
|
|
446
|
-
|
|
449
|
+
c && P > 0 && /* @__PURE__ */ r("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: /* @__PURE__ */ l("div", { children: [
|
|
447
450
|
"You will be asked to sign ",
|
|
448
451
|
P,
|
|
449
452
|
" ",
|
|
@@ -456,5 +459,5 @@ const Wt = ({
|
|
|
456
459
|
) });
|
|
457
460
|
};
|
|
458
461
|
export {
|
|
459
|
-
|
|
462
|
+
Qt as Transfer
|
|
460
463
|
};
|