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