@multiversx/sdk-dapp-liquidity 2.4.0-alpha.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/{BridgeHistory-BUSiuT1d.mjs → BridgeHistory-B86lT8s-.mjs} +13 -13
  2. package/BridgeHistory-D3Zg2V1U.js +2 -0
  3. package/index.js +1 -1
  4. package/index.mjs +59 -58
  5. package/package.json +1 -1
  6. package/reactjs/components/BridgeForm/BridgeForm.js +1 -1
  7. package/reactjs/components/BridgeForm/BridgeForm.mjs +71 -74
  8. package/reactjs/components/BridgeForm/Deposit.js +1 -1
  9. package/reactjs/components/BridgeForm/Deposit.mjs +237 -237
  10. package/reactjs/components/BridgeForm/Transfer.js +1 -1
  11. package/reactjs/components/BridgeForm/Transfer.mjs +44 -44
  12. package/reactjs/components/BridgeForm/hooks/useBridgeTokenSelection.js +1 -1
  13. package/reactjs/components/BridgeForm/hooks/useBridgeTokenSelection.mjs +94 -96
  14. package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.d.ts +5 -0
  15. package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.js +1 -1
  16. package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.mjs +7 -2
  17. package/reactjs/components/BridgeHistory/BridgeHistory.js +1 -1
  18. package/reactjs/components/BridgeHistory/BridgeHistory.mjs +1 -1
  19. package/reactjs/components/BridgeHistory/index.js +1 -1
  20. package/reactjs/components/BridgeHistory/index.mjs +1 -1
  21. package/reactjs/components/Connect/ChainSelectConnect.js +1 -1
  22. package/reactjs/components/Connect/ChainSelectConnect.mjs +3 -3
  23. package/reactjs/components/base/MxLoadSkeleton/MxLoadSkeleton.d.ts +1 -0
  24. package/reactjs/components/base/MxLoadSkeleton/MxLoadSkeleton.js +2 -0
  25. package/reactjs/components/base/MxLoadSkeleton/MxLoadSkeleton.mjs +24 -0
  26. package/reactjs/components/base/MxLoadSkeleton/index.d.ts +1 -0
  27. package/reactjs/components/base/MxLoadSkeleton/index.js +2 -0
  28. package/reactjs/components/base/MxLoadSkeleton/index.mjs +2 -0
  29. package/reactjs/components/base/index.d.ts +1 -0
  30. package/reactjs/components/base/index.js +1 -1
  31. package/reactjs/components/base/index.mjs +6 -4
  32. package/reactjs/components/index.js +1 -1
  33. package/reactjs/components/index.mjs +23 -22
  34. package/reactjs/context/Web3AppProvider.js +1 -1
  35. package/reactjs/context/Web3AppProvider.mjs +31 -27
  36. package/reactjs/hooks/index.js +1 -1
  37. package/reactjs/hooks/index.mjs +14 -14
  38. package/reactjs/hooks/useBridgeFormik.js +1 -1
  39. package/reactjs/hooks/useBridgeFormik.mjs +14 -14
  40. package/reactjs/hooks/useFetchBridgeData.js +1 -1
  41. package/reactjs/hooks/useFetchBridgeData.mjs +1 -1
  42. package/reactjs/hooks/useFetchTokens.js +1 -1
  43. package/reactjs/hooks/useFetchTokens.mjs +1 -1
  44. package/reactjs/index.js +1 -1
  45. package/reactjs/index.mjs +59 -58
  46. package/reactjs/queries/index.js +1 -1
  47. package/reactjs/queries/index.mjs +3 -3
  48. package/reactjs/queries/useGetAllTokens.query.js +1 -1
  49. package/reactjs/queries/useGetAllTokens.query.mjs +1 -1
  50. package/reactjs/queries/useGetChains.query.js +1 -1
  51. package/reactjs/queries/useGetChains.query.mjs +1 -1
  52. package/reactjs/queries/useGetMvxTokensBalances.query.d.ts +1 -2
  53. package/reactjs/queries/useGetMvxTokensBalances.query.js +1 -1
  54. package/reactjs/queries/useGetMvxTokensBalances.query.mjs +3 -3
  55. package/reactjs/queries/useGetNonMvxTokensBalances.query.js +1 -1
  56. package/reactjs/queries/useGetNonMvxTokensBalances.query.mjs +1 -1
  57. package/reactjs/utils/hasEnoughFunds.js +1 -1
  58. package/reactjs/utils/hasEnoughFunds.mjs +3 -3
  59. package/reactjs/utils/index.js +1 -1
  60. package/reactjs/utils/index.mjs +11 -11
  61. package/style.css +1 -1
  62. package/useFetchBridgeData-BUeRPF3t.js +2 -0
  63. package/{hooks-DMIHvAKb.mjs → useFetchBridgeData-C9hzwYG6.mjs} +20 -21
  64. package/BridgeHistory-0NVr8Uxp.js +0 -2
  65. package/hooks-SJPsZfDx.js +0 -2
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../chunk-oiTVcehM.js"),t=require("../../../constants/index.js"),ee=require("../../../helpers/getApiURL.js"),n=require("../../../helpers/safeImageUrl.js"),te=require("../../../types/chainType.js");require("../../../helpers/index.js");const ne=require("../../utils/mxClsx.js"),re=require("../base/MxButton/MxButton.js");require("../base/index.js");const ie=require("../AmountCard/AmountCard.js");require("../AmountCard/index.js");const ae=require("../AmountInput/AmountInput.js");require("../AmountInput/index.js");const oe=require("../../hooks/useAccount.js"),se=require("../../context/useWeb3App.js"),ce=require("../../../types/providerType.js"),r=require("../../hooks/useBridgeFormik.js"),i=require("../../helpers/resolveBridgeApiChainId.js"),le=require("../../hooks/useBridgeApiChainId.js"),ue=require("../../../hooks-SJPsZfDx.js"),de=require("../../hooks/useGetChainId.js"),fe=require("../../hooks/useSendTransactions.js"),pe=require("./hooks/useBridgeTokenSelection.js"),me=require("../../hooks/useDisconnectOnChainTypeChange.js"),he=require("../../hooks/useNamespaceAddress.js"),ge=require("../../queries/useGetHistory.query.js"),_e=require("../../queries/useGetRate.mutation.js"),ve=require("../../../BridgeHistory-0NVr8Uxp.js");require("../BridgeHistory/index.js");const ye=require("../Connect/BridgeConnectButton.js"),be=require("../Connect/MvxConnectButton.js"),xe=require("../Connect/BridgeAccountDisplay.js"),Se=require("../Connect/MvxAccountDisplay.js");require("../Connect/index.js");const Ce=require("../../../ToggleDirection-CZ9-ZD7Y.js"),we=require("../TokenSelector/TokenSelector.js");require("../TokenSelector/index.js");let a=require("react/jsx-runtime"),o=require("react"),Te=require("@reown/appkit/react"),Ee=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),s=require("lodash/debounce");s=e.n(s);let De=require("react-toastify");var c,l=({mvxChainId:e,mvxAddress:l,username:Oe,callbackRoute:ke=`/`,firstTokenIdentifier:Ae,secondTokenIdentifier:je,firstTokenAmount:u,secondTokenAmount:d,refetchTrigger:Me,showHistory:Ne,forcedDestinationTokenSymbol:Pe,onSuccessfullySentTransaction:f,onFailedSentTransaction:p,onHistoryClose:m,onMvxConnect:h,onMvxDisconnect:Fe,onNavigate:Ie,onChangeDirection:Le})=>{let Re=(0,o.useRef)(null),[g,ze]=(0,o.useState)(!1),[Be,Ve]=(0,o.useState)(1),[_,v]=(0,o.useState)(0),[y,b]=(0,o.useState)([]),He=oe.useAccount(),{switchNetwork:x}=(0,Te.useAppKitNetwork)(),S=ge.useInvalidateHistoryQuery(),{options:Ue,supportedChains:C,nativeAuthToken:w,bridgeOnly:We}=se.useWeb3App(),T=de.useGetChainId(),Ge=le.useBridgeApiChainId(),Ke=fe.useSendTransactions(),{signMvxTransactions:E,resetMvxTransactionHash:qe,latestMvxTransactionHash:D}=se.useWeb3App(),{evmTokensWithBalances:Je,mvxTokensWithBalances:Ye,isTokensLoading:Xe,isLoadingEvmTokensBalances:Ze,isLoadingMvxTokensBalances:Qe,chains:O=[],isChainsLoading:$e}=ue.t({refetchTrigger:Me,mvxAddress:l,mvxApiURL:Ue.mvxApiURL}),k=Xe||Ze||Qe||$e,et=(0,o.useMemo)(()=>C.find(e=>i.sameBridgeApiChainId(e.id,T)),[T,C]),tt=(0,o.useMemo)(()=>O.find(t=>t.chainId.toString()===e.toString()),[T,O]),{mutate:nt,data:A,isPending:j,error:rt}=_e.useGetRateMutation(),M=rt?.response?.status===400?rt?.response?.data.message:void 0,{firstToken:N,secondToken:P,fromOptions:it,toOptions:at,selectedChainOption:F,onChangeFirstSelect:ot,onChangeSecondSelect:st,handleChangeDirection:ct}=pe.useBridgeTokenSelection({chains:O,activeChain:et,sdkChains:C,switchNetwork:(0,o.useCallback)(e=>{let t=C.find(t=>i.sameBridgeApiChainId(t.id,e.id));t&&x(t)},[C,x]),fromTokens:Ye,toTokens:Je,firstTokenIdentifier:Ae,secondTokenIdentifier:je,forcedDestinationTokenSymbol:Pe,isTokensLoading:k,mvxChainId:e,callbackRoute:ke,onNavigate:Ie}),lt=()=>{ct(),Le()},[I,ut]=(0,o.useState)(u??``),[L,R]=(0,o.useState)(d??``),dt=(0,o.useMemo)(()=>N?t.MVX_CHAIN_IDS.includes(N.chainId.toString()):!1,[N?.chainId]),ft=(0,o.useMemo)(()=>P?t.MVX_CHAIN_IDS.includes(P.chainId.toString()):!1,[P?.chainId]),z=(0,o.useMemo)(()=>P?O.find(e=>i.sameBridgeApiChainId(e.chainId,P.chainId))??F:F,[P?.chainId,O,F]),B=(0,o.useMemo)(()=>i.toBridgeApiChainId(P?.chainId)??Ge,[P?.chainId,Ge]);me.useDisconnectOnChainTypeChange(z?.chainType);let V=he.useNamespaceAddress(z?.chainType),pt=V,mt=He.isConnected&&!!V,H=I!==``&&L!==``,U=(0,o.useCallback)((0,s.default)(async t=>{!t||!Number(t)||!V||!N?.address||!P?.address||!F||!B||nt({nativeAuthToken:w??``,body:{tokenIn:N.address,amountIn:t,fromChainId:e,tokenOut:P.address,toChainId:B}})},500),[V,B,N?.address,P?.address,F,e,w,nt]),W=(0,o.useCallback)(e=>{ut(()=>e)},[]),G=(0,o.useCallback)(e=>{R(()=>e)},[]),ht=(0,o.useCallback)(()=>{m?.()},[m]),gt=(0,o.useCallback)(()=>{let e=(0,Ee.formatAmount)({decimals:N?.decimals,input:N?.balance??`0`,addCommas:!1,digits:4});K.setFieldValue(`firstAmount`,e),W(e)},[N?.balance,N?.decimals,W]),_t=(0,o.useCallback)(async({transactions:e})=>{v(()=>e.length);try{if(!E)throw Error(`signMvxTransactions function is not provided`);await E(e),b(e)}catch(e){console.error(e),De.toast.dismiss(),De.toast.error(`Transaction cancelled`),p?.(`Transaction cancelled`),v(0),bt(),W(``),G(``)}},[pt,W,G,w,(0,o.useCallback)(async e=>{W(``),G(``),S(),S(),f?.(e)},[W,G,f]),E]),{formik:K,firstAmountError:q,secondAmountError:J,fromChainError:Y,senderAddressError:X,receiverAddressError:Z,confirmRateError:Q,handleBlur:$,handleChange:vt,handleSubmit:yt,resetSwapForm:bt}=r.useBridgeFormik({isMvxConnected:!!l,rate:A,sender:l??``,receiver:V??``,firstToken:N,firstAmount:I,fromChainId:e,toChainId:B,secondToken:P,secondAmount:L,setForceRefetchRate:Ve,senderChainType:te.ChainType.mvx,receiverChainType:z?.chainType,onSubmit:_t}),xt=!!(q||J||Y||M||X||Z||Q),St=(0,o.useMemo)(()=>I===``?void 0:M??q,[q,I,M]),Ct=(0,o.useMemo)(()=>L===``?void 0:Y??J,[Y,J,L]);return(0,o.useEffect)(()=>(I||R(``),U(I),c&&clearInterval(c),c=setInterval(()=>{U(I)},50*1e3),()=>clearInterval(c)),[I,Be,U]),(0,o.useEffect)(()=>{A?.amountOut&&(K.setFieldValue(r.BridgeFormikValuesEnum.secondAmount,A.amountOut),R(A.amountOut))},[A?.amountOut]),(0,o.useEffect)(()=>{M&&(K.setFieldValue(r.BridgeFormikValuesEnum.secondAmount,`0`),R(`0`))},[M]),(0,o.useEffect)(()=>{u&&(K.setFieldValue(r.BridgeFormikValuesEnum.firstAmount,u),W(u))},[]),(0,o.useEffect)(()=>{d&&(K.setFieldValue(r.BridgeFormikValuesEnum.secondAmount,d),G(d))},[d]),(0,o.useEffect)(()=>{if(D)try{let e=D;Ke({transactions:y.map(t=>({...t,txHash:e,receiver:V})),provider:A?.provider??ce.ProviderType.None,url:ee.getApiURL()??``,token:w??``}),f?.([e])}catch(e){console.error(`Error while sending transactions:`,e),p?.(`An error occurred while sending the transaction`);return}finally{qe?.(),b([])}},[D,y,V,w,p,f,A?.provider,qe,Ke]),(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(`form`,{ref:Re,noValidate:!0,className:`liq-flex liq-flex-col liq-gap-1 liq-relative`,autoComplete:`off`,onSubmit:yt,children:[Ne&&(0,a.jsx)(ve.t,{mvxAddress:l,onClose:ht}),(0,a.jsxs)(ie.AmountCard,{className:ne.mxClsx(`liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6`,{"liq-pointer-events-none":g,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!g}),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-gap-1`,children:[(0,a.jsx)(`span`,{children:`From`}),(0,a.jsx)(Se.MvxAccountDisplay,{accountAddress:l,chainIcon:n.safeImageUrl(tt?.pngUrl),username:Oe,accountExplorerUrl:`${Ue.mvxExplorerAddress}/accounts/${l}`,showTag:!0,onDisconnect:Fe,onConnect:h})]}),X&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:X}),(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-between liq-gap-1`,children:[(0,a.jsx)(ae.AmountInput,{inputName:`firstAmount`,inputValue:K.values.firstAmount,amountError:St,disabled:!1,onInputDebounceChange:W,onInputChange:vt,onBlur:$}),(0,a.jsx)(we.TokenSelector,{name:`firstToken`,disabled:j,options:it,areOptionsLoading:k,isMvxSelector:dt,isDestination:!1,color:`neutral-850`,onChange:ot,onBlur:$,onMaxBtnClick:gt,selectedOption:N,onTokenSelectorDisplay:e=>ze(e)})]})]}),(0,a.jsx)(`div`,{className:`liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10`,children:We&&(0,a.jsx)(Ce.t,{onChangeDirection:lt})}),(0,a.jsxs)(ie.AmountCard,{className:ne.mxClsx(`liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6`,{"liq-pointer-events-none":g}),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-gap-1`,children:[(0,a.jsx)(`span`,{children:`To`}),(0,a.jsx)(xe.BridgeAccountDisplay,{disabled:j,activeChain:z})]}),Z&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:Z}),Q&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:Q}),(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-between liq-gap-1`,children:[(0,a.jsx)(ae.AmountInput,{inputName:`secondAmount`,inputValue:K.values.secondAmount,amountError:Ct,disabled:!1,onInputDebounceChange:G,onInputChange:vt,onBlur:$}),(0,a.jsx)(we.TokenSelector,{name:`secondToken`,disabled:j,omitDisableClass:!0,options:at,areOptionsLoading:k,isMvxSelector:ft,color:`neutral-850`,onChange:st,onBlur:$,selectedOption:P})]})]}),(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-justify-center`,children:[!l&&(0,a.jsx)(be.MvxConnectButton,{mvxAccountAddress:l,icon:n.safeImageUrl(tt?.pngUrl),onClick:h}),l&&!mt&&(0,a.jsx)(ye.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:j,activeChain:z}),l&&mt&&(0,a.jsxs)(re.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||j||!l||!V||xt,children:[H&&(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-center liq-items-center liq-gap-2`,children:[(0,a.jsx)(`div`,{children:`Transfer to `}),(0,a.jsx)(`img`,{src:n.safeImageUrl(z?.pngUrl),alt:``,className:`liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg`}),(0,a.jsx)(`div`,{children:z?.networkName})]}),!H&&(0,a.jsx)(`span`,{className:`liq-text-neutral-100`,children:`Enter amount`})]})]}),V&&_>0&&(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm`,children:(0,a.jsxs)(`div`,{children:[`You will be asked to sign `,_,` `,_>1?`transactions`:`transaction`,` `,`on your wallet`]})})]})})};exports.Transfer=l;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../chunk-oiTVcehM.js"),t=require("../../../constants/index.js"),ee=require("../../../helpers/getApiURL.js"),n=require("../../../helpers/safeImageUrl.js"),te=require("../../../types/chainType.js");require("../../../helpers/index.js");const ne=require("../../utils/mxClsx.js"),re=require("../base/MxButton/MxButton.js");require("../base/index.js");const ie=require("../AmountCard/AmountCard.js");require("../AmountCard/index.js");const ae=require("../AmountInput/AmountInput.js");require("../AmountInput/index.js");const r=require("../../helpers/resolveBridgeApiChainId.js"),oe=require("./hooks/useBridgeTokenSelection.js"),se=require("../../context/useWeb3App.js"),ce=require("../../hooks/useAccount.js"),le=require("../../hooks/useBridgeApiChainId.js"),ue=require("../../../types/providerType.js"),i=require("../../hooks/useBridgeFormik.js"),de=require("../../hooks/useDisconnectOnChainTypeChange.js"),fe=require("../../hooks/useGetChainId.js"),pe=require("../../hooks/useSendTransactions.js"),me=require("../../../useFetchBridgeData-BUeRPF3t.js"),he=require("../../hooks/useNamespaceAddress.js"),ge=require("../../queries/useGetHistory.query.js"),_e=require("../../queries/useGetRate.mutation.js"),ve=require("../../../BridgeHistory-D3Zg2V1U.js");require("../BridgeHistory/index.js");const ye=require("../Connect/BridgeConnectButton.js"),be=require("../Connect/MvxConnectButton.js"),xe=require("../Connect/BridgeAccountDisplay.js"),Se=require("../Connect/MvxAccountDisplay.js");require("../Connect/index.js");const Ce=require("../../../ToggleDirection-CZ9-ZD7Y.js"),we=require("../TokenSelector/TokenSelector.js");require("../TokenSelector/index.js");let a=require("react/jsx-runtime"),o=require("react"),Te=require("@multiversx/sdk-dapp-utils/out/helpers/formatAmount"),Ee=require("@reown/appkit/react"),s=require("lodash/debounce");s=e.n(s);let De=require("react-toastify");var c,l=({mvxChainId:e,mvxAddress:l,username:Oe,callbackRoute:ke=`/`,firstTokenIdentifier:Ae,secondTokenIdentifier:je,firstTokenAmount:u,secondTokenAmount:d,refetchTrigger:Me,showHistory:Ne,forcedDestinationTokenSymbol:Pe,onSuccessfullySentTransaction:f,onFailedSentTransaction:p,onHistoryClose:m,onMvxConnect:h,onMvxDisconnect:Fe,onNavigate:Ie,onChangeDirection:Le})=>{let Re=(0,o.useRef)(null),[g,ze]=(0,o.useState)(!1),[Be,Ve]=(0,o.useState)(1),[_,v]=(0,o.useState)(0),[y,b]=(0,o.useState)([]),He=ce.useAccount(),{switchNetwork:x}=(0,Ee.useAppKitNetwork)(),S=ge.useInvalidateHistoryQuery(),{options:Ue,supportedChains:C,nativeAuthToken:w,bridgeOnly:We}=se.useWeb3App(),T=fe.useGetChainId(),Ge=le.useBridgeApiChainId(),Ke=pe.useSendTransactions(),{signMvxTransactions:E,resetMvxTransactionHash:qe,latestMvxTransactionHash:D}=se.useWeb3App(),{evmTokensWithBalances:Je,mvxTokensWithBalances:Ye,isTokensLoading:Xe,isLoadingEvmTokensBalances:Ze,isLoadingMvxTokensBalances:Qe,chains:O=[],isChainsLoading:$e}=me.t({refetchTrigger:Me,mvxAddress:l,mvxApiURL:Ue.mvxApiURL}),k=Xe||Ze||Qe||$e,et=(0,o.useMemo)(()=>C.find(e=>r.sameBridgeApiChainId(e.id,T)),[T,C]),tt=(0,o.useMemo)(()=>O.find(t=>t.chainId.toString()===e.toString()),[T,O]),{mutate:nt,data:A,isPending:j,error:rt}=_e.useGetRateMutation(),M=rt?.response?.status===400?rt?.response?.data.message:void 0,{firstToken:N,secondToken:P,fromOptions:it,toOptions:at,selectedChainOption:F,onChangeFirstSelect:ot,onChangeSecondSelect:st,handleChangeDirection:ct}=oe.useBridgeTokenSelection({chains:O,activeChain:et,sdkChains:C,switchNetwork:(0,o.useCallback)(e=>{let t=C.find(t=>r.sameBridgeApiChainId(t.id,e.id));t&&x(t)},[C,x]),fromTokens:Ye,toTokens:Je,firstTokenIdentifier:Ae,secondTokenIdentifier:je,forcedDestinationTokenSymbol:Pe,isTokensLoading:k,mvxChainId:e,callbackRoute:ke,onNavigate:Ie}),lt=()=>{ct(),Le()},[I,ut]=(0,o.useState)(u??``),[L,R]=(0,o.useState)(d??``),dt=(0,o.useMemo)(()=>N?t.MVX_CHAIN_IDS.includes(N.chainId.toString()):!1,[N?.chainId]),ft=(0,o.useMemo)(()=>P?t.MVX_CHAIN_IDS.includes(P.chainId.toString()):!1,[P?.chainId]),z=(0,o.useMemo)(()=>P?O.find(e=>r.sameBridgeApiChainId(e.chainId,P.chainId))??F:F,[P?.chainId,O,F]),B=(0,o.useMemo)(()=>r.toBridgeApiChainId(P?.chainId)??Ge,[P?.chainId,Ge]);de.useDisconnectOnChainTypeChange(z?.chainType);let V=he.useNamespaceAddress(z?.chainType),pt=V,mt=He.isConnected&&!!V,H=I!==``&&L!==``,U=(0,o.useCallback)((0,s.default)(async t=>{!t||!Number(t)||!V||!N?.address||!P?.address||!F||!B||nt({nativeAuthToken:w??``,body:{tokenIn:N.address,amountIn:t,fromChainId:e,tokenOut:P.address,toChainId:B}})},500),[V,B,N?.address,P?.address,F,e,w,nt]),W=(0,o.useCallback)(e=>{ut(()=>e)},[]),G=(0,o.useCallback)(e=>{R(()=>e)},[]),ht=(0,o.useCallback)(()=>{m?.()},[m]),gt=(0,o.useCallback)(()=>{let e=(0,Te.formatAmount)({decimals:N?.decimals,input:N?.balance??`0`,addCommas:!1,digits:4});K.setFieldValue(`firstAmount`,e),W(e)},[N?.balance,N?.decimals,W]),_t=(0,o.useCallback)(async({transactions:e})=>{v(()=>e.length);try{if(!E)throw Error(`signMvxTransactions function is not provided`);await E(e),b(e)}catch(e){console.error(e),De.toast.dismiss(),De.toast.error(`Transaction cancelled`),p?.(`Transaction cancelled`),v(0),bt(),W(``),G(``)}},[pt,W,G,w,(0,o.useCallback)(async e=>{W(``),G(``),S(),S(),f?.(e)},[W,G,f]),E]),{formik:K,firstAmountError:q,secondAmountError:J,fromChainError:Y,senderAddressError:X,receiverAddressError:Z,confirmRateError:Q,handleBlur:$,handleChange:vt,handleSubmit:yt,resetSwapForm:bt}=i.useBridgeFormik({isMvxConnected:!!l,rate:A,sender:l??``,receiver:V??``,firstToken:N,firstAmount:I,fromChainId:e,toChainId:B,secondToken:P,secondAmount:L,setForceRefetchRate:Ve,senderChainType:te.ChainType.mvx,receiverChainType:z?.chainType,onSubmit:_t}),xt=!!(q||J||Y||M||X||Z||Q),St=(0,o.useMemo)(()=>I===``?void 0:M??q,[q,I,M]),Ct=(0,o.useMemo)(()=>L===``?void 0:Y??J,[Y,J,L]);return(0,o.useEffect)(()=>(I||R(``),U(I),c&&clearInterval(c),c=setInterval(()=>{U(I)},50*1e3),()=>clearInterval(c)),[I,Be,U]),(0,o.useEffect)(()=>{A?.amountOut&&(K.setFieldValue(i.BridgeFormikValuesEnum.secondAmount,A.amountOut),R(A.amountOut))},[A?.amountOut]),(0,o.useEffect)(()=>{M&&(K.setFieldValue(i.BridgeFormikValuesEnum.secondAmount,`0`),R(`0`))},[M]),(0,o.useEffect)(()=>{u&&(K.setFieldValue(i.BridgeFormikValuesEnum.firstAmount,u),W(u))},[]),(0,o.useEffect)(()=>{d&&(K.setFieldValue(i.BridgeFormikValuesEnum.secondAmount,d),G(d))},[d]),(0,o.useEffect)(()=>{if(D)try{let e=D;Ke({transactions:y.map(t=>({...t,txHash:e,receiver:V})),provider:A?.provider??ue.ProviderType.None,url:ee.getApiURL()??``,token:w??``}),f?.([e])}catch(e){console.error(`Error while sending transactions:`,e),p?.(`An error occurred while sending the transaction`);return}finally{qe?.(),b([])}},[D,y,V,w,p,f,A?.provider,qe,Ke]),(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(`form`,{ref:Re,noValidate:!0,className:`liq-flex liq-flex-col liq-gap-1 liq-relative`,autoComplete:`off`,onSubmit:yt,children:[Ne&&(0,a.jsx)(ve.t,{mvxAddress:l,onClose:ht}),(0,a.jsxs)(ie.AmountCard,{className:ne.mxClsx(`liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6`,{"liq-pointer-events-none":g,"focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80":!g}),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-gap-1`,children:[(0,a.jsx)(`span`,{children:`From`}),(0,a.jsx)(Se.MvxAccountDisplay,{accountAddress:l,chainIcon:n.safeImageUrl(tt?.pngUrl),username:Oe,accountExplorerUrl:`${Ue.mvxExplorerAddress}/accounts/${l}`,showTag:!0,onDisconnect:Fe,onConnect:h})]}),X&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:X}),(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-between liq-gap-1`,children:[(0,a.jsx)(ae.AmountInput,{inputName:`firstAmount`,inputValue:K.values.firstAmount,amountError:St,disabled:!1,onInputDebounceChange:W,onInputChange:vt,onBlur:$}),(0,a.jsx)(we.TokenSelector,{name:`firstToken`,disabled:j,options:it,areOptionsLoading:k,isMvxSelector:dt,isDestination:!1,color:`neutral-850`,onChange:ot,onBlur:$,onMaxBtnClick:gt,selectedOption:N,onTokenSelectorDisplay:e=>ze(e)})]})]}),(0,a.jsx)(`div`,{className:`liq-absolute liq-left-[6%] liq-top-[40%] -liq-mt-1 liq-z-10`,children:We&&(0,a.jsx)(Ce.t,{onChangeDirection:lt})}),(0,a.jsxs)(ie.AmountCard,{className:ne.mxClsx(`liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6`,{"liq-pointer-events-none":g}),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-gap-1`,children:[(0,a.jsx)(`span`,{children:`To`}),(0,a.jsx)(xe.BridgeAccountDisplay,{disabled:j,activeChain:z})]}),Z&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:Z}),Q&&(0,a.jsx)(`div`,{className:`liq-text-red-400 liq-text-xs liq-mt-1`,children:Q}),(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-between liq-gap-1`,children:[(0,a.jsx)(ae.AmountInput,{inputName:`secondAmount`,inputValue:K.values.secondAmount,amountError:Ct,disabled:!1,onInputDebounceChange:G,onInputChange:vt,onBlur:$}),(0,a.jsx)(we.TokenSelector,{name:`secondToken`,disabled:j,omitDisableClass:!0,options:at,areOptionsLoading:k,isMvxSelector:ft,color:`neutral-850`,onChange:st,onBlur:$,selectedOption:P})]})]}),(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-justify-center`,children:[!l&&(0,a.jsx)(be.MvxConnectButton,{mvxAccountAddress:l,icon:n.safeImageUrl(tt?.pngUrl),onClick:h}),l&&!mt&&(0,a.jsx)(ye.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:j,activeChain:z}),l&&mt&&(0,a.jsxs)(re.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||j||!l||!V||xt,children:[H&&(0,a.jsxs)(`div`,{className:`liq-flex liq-justify-center liq-items-center liq-gap-2`,children:[(0,a.jsx)(`div`,{children:`Transfer to `}),(0,a.jsx)(`img`,{src:n.safeImageUrl(z?.pngUrl),alt:``,className:`liq-h-[1.5rem] liq-w-[1.5rem] liq-rounded-lg`}),(0,a.jsx)(`div`,{children:z?.networkName})]}),!H&&(0,a.jsx)(`span`,{className:`liq-text-neutral-100`,children:`Enter amount`})]})]}),V&&_>0&&(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm`,children:(0,a.jsxs)(`div`,{children:[`You will be asked to sign `,_,` `,_>1?`transactions`:`transaction`,` `,`on your wallet`]})})]})})};exports.Transfer=l;
@@ -10,21 +10,21 @@ import { AmountCard as re } from "../AmountCard/AmountCard.mjs";
10
10
  import "../AmountCard/index.mjs";
11
11
  import { AmountInput as ie } from "../AmountInput/AmountInput.mjs";
12
12
  import "../AmountInput/index.mjs";
13
- import { useAccount as ae } from "../../hooks/useAccount.mjs";
14
- import { useWeb3App as oe } from "../../context/useWeb3App.mjs";
15
- import { ProviderType as se } from "../../../types/providerType.mjs";
16
- import { BridgeFormikValuesEnum as r, useBridgeFormik as ce } from "../../hooks/useBridgeFormik.mjs";
17
- import { sameBridgeApiChainId as i, toBridgeApiChainId as le } from "../../helpers/resolveBridgeApiChainId.mjs";
18
- import { useBridgeApiChainId as ue } from "../../hooks/useBridgeApiChainId.mjs";
19
- import { t as de } from "../../../hooks-DMIHvAKb.mjs";
20
- import { useGetChainId as fe } from "../../hooks/useGetChainId.mjs";
21
- import { useSendTransactions as pe } from "../../hooks/useSendTransactions.mjs";
22
- import { useBridgeTokenSelection as me } from "./hooks/useBridgeTokenSelection.mjs";
23
- import { useDisconnectOnChainTypeChange as he } from "../../hooks/useDisconnectOnChainTypeChange.mjs";
13
+ import { sameBridgeApiChainId as r, toBridgeApiChainId as ae } from "../../helpers/resolveBridgeApiChainId.mjs";
14
+ import { useBridgeTokenSelection as oe } from "./hooks/useBridgeTokenSelection.mjs";
15
+ import { useWeb3App as se } from "../../context/useWeb3App.mjs";
16
+ import { useAccount as ce } from "../../hooks/useAccount.mjs";
17
+ import { useBridgeApiChainId as le } from "../../hooks/useBridgeApiChainId.mjs";
18
+ import { ProviderType as ue } from "../../../types/providerType.mjs";
19
+ import { BridgeFormikValuesEnum as i, useBridgeFormik as de } from "../../hooks/useBridgeFormik.mjs";
20
+ import { useDisconnectOnChainTypeChange as fe } from "../../hooks/useDisconnectOnChainTypeChange.mjs";
21
+ import { useGetChainId as pe } from "../../hooks/useGetChainId.mjs";
22
+ import { useSendTransactions as me } from "../../hooks/useSendTransactions.mjs";
23
+ import { t as he } from "../../../useFetchBridgeData-C9hzwYG6.mjs";
24
24
  import { useNamespaceAddress as ge } from "../../hooks/useNamespaceAddress.mjs";
25
25
  import { useInvalidateHistoryQuery as _e } from "../../queries/useGetHistory.query.mjs";
26
26
  import { useGetRateMutation as ve } from "../../queries/useGetRate.mutation.mjs";
27
- import { t as ye } from "../../../BridgeHistory-BUSiuT1d.mjs";
27
+ import { t as ye } from "../../../BridgeHistory-B86lT8s-.mjs";
28
28
  import "../BridgeHistory/index.mjs";
29
29
  import { BridgeConnectButton as be } from "../Connect/BridgeConnectButton.mjs";
30
30
  import { MvxConnectButton as xe } from "../Connect/MvxConnectButton.mjs";
@@ -36,43 +36,43 @@ import { TokenSelector as Te } from "../TokenSelector/TokenSelector.mjs";
36
36
  import "../TokenSelector/index.mjs";
37
37
  import { Fragment as Ee, jsx as a, jsxs as o } from "react/jsx-runtime";
38
38
  import { useCallback as s, useEffect as c, useMemo as l, useRef as De, useState as u } from "react";
39
- import { useAppKitNetwork as Oe } from "@reown/appkit/react";
40
- import { formatAmount as ke } from "@multiversx/sdk-dapp-utils/out/helpers/formatAmount";
39
+ import { formatAmount as Oe } from "@multiversx/sdk-dapp-utils/out/helpers/formatAmount";
40
+ import { useAppKitNetwork as ke } from "@reown/appkit/react";
41
41
  import Ae from "lodash/debounce";
42
42
  import { toast as je } from "react-toastify";
43
43
  //#region src/reactjs/components/BridgeForm/Transfer.tsx
44
44
  var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/", firstTokenIdentifier: Pe, secondTokenIdentifier: Fe, firstTokenAmount: m, secondTokenAmount: h, refetchTrigger: Ie, showHistory: Le, forcedDestinationTokenSymbol: Re, onSuccessfullySentTransaction: g, onFailedSentTransaction: _, onHistoryClose: v, onMvxConnect: ze, onMvxDisconnect: Be, onNavigate: Ve, onChangeDirection: He }) => {
45
- let Ue = De(null), [y, We] = u(!1), [Ge, Ke] = u(1), [b, qe] = u(0), [Je, Ye] = u([]), Xe = ae(), { switchNetwork: Ze } = Oe(), Qe = _e(), { options: $e, supportedChains: x, nativeAuthToken: S, bridgeOnly: et } = oe(), C = fe(), tt = ue(), nt = pe(), { signMvxTransactions: w, resetMvxTransactionHash: T, latestMvxTransactionHash: E } = oe(), { evmTokensWithBalances: rt, mvxTokensWithBalances: it, isTokensLoading: at, isLoadingEvmTokensBalances: ot, isLoadingMvxTokensBalances: st, chains: D = [], isChainsLoading: ct } = de({
45
+ let Ue = De(null), [y, We] = u(!1), [Ge, Ke] = u(1), [b, qe] = u(0), [Je, Ye] = u([]), Xe = ce(), { switchNetwork: Ze } = ke(), Qe = _e(), { options: $e, supportedChains: x, nativeAuthToken: S, bridgeOnly: et } = se(), C = pe(), tt = le(), nt = me(), { signMvxTransactions: w, resetMvxTransactionHash: rt, latestMvxTransactionHash: T } = se(), { evmTokensWithBalances: it, mvxTokensWithBalances: at, isTokensLoading: ot, isLoadingEvmTokensBalances: st, isLoadingMvxTokensBalances: ct, chains: E = [], isChainsLoading: lt } = he({
46
46
  refetchTrigger: Ie,
47
47
  mvxAddress: p,
48
48
  mvxApiURL: $e.mvxApiURL
49
- }), O = at || ot || st || ct, lt = l(() => x.find((e) => i(e.id, C)), [C, x]), ut = l(() => D.find((e) => e.chainId.toString() === f.toString()), [C, D]), { mutate: dt, data: k, isPending: A, error: ft } = ve(), j = ft?.response?.status === 400 ? ft?.response?.data.message : void 0, { firstToken: M, secondToken: N, fromOptions: pt, toOptions: mt, selectedChainOption: P, onChangeFirstSelect: ht, onChangeSecondSelect: gt, handleChangeDirection: _t } = me({
50
- chains: D,
51
- activeChain: lt,
49
+ }), D = ot || st || ct || lt, ut = l(() => x.find((e) => r(e.id, C)), [C, x]), dt = l(() => E.find((e) => e.chainId.toString() === f.toString()), [C, E]), { mutate: O, data: k, isPending: A, error: ft } = ve(), j = ft?.response?.status === 400 ? ft?.response?.data.message : void 0, { firstToken: M, secondToken: N, fromOptions: pt, toOptions: mt, selectedChainOption: P, onChangeFirstSelect: ht, onChangeSecondSelect: gt, handleChangeDirection: _t } = oe({
50
+ chains: E,
51
+ activeChain: ut,
52
52
  sdkChains: x,
53
53
  switchNetwork: s((e) => {
54
- let t = x.find((t) => i(t.id, e.id));
54
+ let t = x.find((t) => r(t.id, e.id));
55
55
  t && Ze(t);
56
56
  }, [x, Ze]),
57
- fromTokens: it,
58
- toTokens: rt,
57
+ fromTokens: at,
58
+ toTokens: it,
59
59
  firstTokenIdentifier: Pe,
60
60
  secondTokenIdentifier: Fe,
61
61
  forcedDestinationTokenSymbol: Re,
62
- isTokensLoading: O,
62
+ isTokensLoading: D,
63
63
  mvxChainId: f,
64
64
  callbackRoute: Ne,
65
65
  onNavigate: Ve
66
66
  }), vt = () => {
67
67
  _t(), He();
68
- }, [F, yt] = u(m ?? ""), [I, L] = u(h ?? ""), bt = l(() => M ? e.includes(M.chainId.toString()) : !1, [M?.chainId]), xt = l(() => N ? e.includes(N.chainId.toString()) : !1, [N?.chainId]), R = l(() => N ? D.find((e) => i(e.chainId, N.chainId)) ?? P : P, [
68
+ }, [F, yt] = u(m ?? ""), [I, L] = u(h ?? ""), bt = l(() => M ? e.includes(M.chainId.toString()) : !1, [M?.chainId]), xt = l(() => N ? e.includes(N.chainId.toString()) : !1, [N?.chainId]), R = l(() => N ? E.find((e) => r(e.chainId, N.chainId)) ?? P : P, [
69
69
  N?.chainId,
70
- D,
70
+ E,
71
71
  P
72
- ]), z = l(() => le(N?.chainId) ?? tt, [N?.chainId, tt]);
73
- he(R?.chainType);
72
+ ]), z = l(() => ae(N?.chainId) ?? tt, [N?.chainId, tt]);
73
+ fe(R?.chainType);
74
74
  let B = ge(R?.chainType), St = B, Ct = Xe.isConnected && !!B, V = F !== "" && I !== "", H = s(Ae(async (e) => {
75
- !e || !Number(e) || !B || !M?.address || !N?.address || !P || !z || dt({
75
+ !e || !Number(e) || !B || !M?.address || !N?.address || !P || !z || O({
76
76
  nativeAuthToken: S ?? "",
77
77
  body: {
78
78
  tokenIn: M.address,
@@ -90,7 +90,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
90
90
  P,
91
91
  f,
92
92
  S,
93
- dt
93
+ O
94
94
  ]), U = s((e) => {
95
95
  yt(() => e);
96
96
  }, []), W = s((e) => {
@@ -98,7 +98,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
98
98
  }, []), wt = s(() => {
99
99
  v?.();
100
100
  }, [v]), Tt = s(() => {
101
- let e = ke({
101
+ let e = Oe({
102
102
  decimals: M?.decimals,
103
103
  input: M?.balance ?? "0",
104
104
  addCommas: !1,
@@ -130,7 +130,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
130
130
  g
131
131
  ]),
132
132
  w
133
- ]), { formik: G, firstAmountError: K, secondAmountError: q, fromChainError: J, senderAddressError: Y, receiverAddressError: X, confirmRateError: Z, handleBlur: Q, handleChange: $, handleSubmit: Dt, resetSwapForm: Ot } = ce({
133
+ ]), { formik: G, firstAmountError: K, secondAmountError: q, fromChainError: J, senderAddressError: Y, receiverAddressError: X, confirmRateError: Z, handleBlur: Q, handleChange: $, handleSubmit: Dt, resetSwapForm: Ot } = de({
134
134
  isMvxConnected: !!p,
135
135
  rate: k,
136
136
  sender: p ?? "",
@@ -161,23 +161,23 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
161
161
  Ge,
162
162
  H
163
163
  ]), c(() => {
164
- k?.amountOut && (G.setFieldValue(r.secondAmount, k.amountOut), L(k.amountOut));
164
+ k?.amountOut && (G.setFieldValue(i.secondAmount, k.amountOut), L(k.amountOut));
165
165
  }, [k?.amountOut]), c(() => {
166
- j && (G.setFieldValue(r.secondAmount, "0"), L("0"));
166
+ j && (G.setFieldValue(i.secondAmount, "0"), L("0"));
167
167
  }, [j]), c(() => {
168
- m && (G.setFieldValue(r.firstAmount, m), U(m));
168
+ m && (G.setFieldValue(i.firstAmount, m), U(m));
169
169
  }, []), c(() => {
170
- h && (G.setFieldValue(r.secondAmount, h), W(h));
170
+ h && (G.setFieldValue(i.secondAmount, h), W(h));
171
171
  }, [h]), c(() => {
172
- if (E) try {
173
- let e = E;
172
+ if (T) try {
173
+ let e = T;
174
174
  nt({
175
175
  transactions: Je.map((t) => ({
176
176
  ...t,
177
177
  txHash: e,
178
178
  receiver: B
179
179
  })),
180
- provider: k?.provider ?? se.None,
180
+ provider: k?.provider ?? ue.None,
181
181
  url: t() ?? "",
182
182
  token: S ?? ""
183
183
  }), g?.([e]);
@@ -185,17 +185,17 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
185
185
  console.error("Error while sending transactions:", e), _?.("An error occurred while sending the transaction");
186
186
  return;
187
187
  } finally {
188
- T?.(), Ye([]);
188
+ rt?.(), Ye([]);
189
189
  }
190
190
  }, [
191
- E,
191
+ T,
192
192
  Je,
193
193
  B,
194
194
  S,
195
195
  _,
196
196
  g,
197
197
  k?.provider,
198
- T,
198
+ rt,
199
199
  nt
200
200
  ]), /* @__PURE__ */ a(Ee, { children: /* @__PURE__ */ o("form", {
201
201
  ref: Ue,
@@ -218,7 +218,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
218
218
  className: "liq-flex liq-items-center liq-gap-1",
219
219
  children: [/* @__PURE__ */ a("span", { children: "From" }), /* @__PURE__ */ a(Ce, {
220
220
  accountAddress: p,
221
- chainIcon: n(ut?.pngUrl),
221
+ chainIcon: n(dt?.pngUrl),
222
222
  username: Me,
223
223
  accountExplorerUrl: `${$e.mvxExplorerAddress}/accounts/${p}`,
224
224
  showTag: !0,
@@ -244,7 +244,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
244
244
  name: "firstToken",
245
245
  disabled: A,
246
246
  options: pt,
247
- areOptionsLoading: O,
247
+ areOptionsLoading: D,
248
248
  isMvxSelector: bt,
249
249
  isDestination: !1,
250
250
  color: "neutral-850",
@@ -294,7 +294,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
294
294
  disabled: A,
295
295
  omitDisableClass: !0,
296
296
  options: mt,
297
- areOptionsLoading: O,
297
+ areOptionsLoading: D,
298
298
  isMvxSelector: xt,
299
299
  color: "neutral-850",
300
300
  onChange: gt,
@@ -309,7 +309,7 @@ var d, f = ({ mvxChainId: f, mvxAddress: p, username: Me, callbackRoute: Ne = "/
309
309
  children: [
310
310
  !p && /* @__PURE__ */ a(xe, {
311
311
  mvxAccountAddress: p,
312
- icon: n(ut?.pngUrl),
312
+ icon: n(dt?.pngUrl),
313
313
  onClick: ze
314
314
  }),
315
315
  p && !Ct && /* @__PURE__ */ a(be, {
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../helpers/resolveBridgeApiChainId.js"),t=require("../../../utils/getInitialTokens.js"),n=require("../utils/bridgeFormHelpers.js");let r=require("react");var i=({chains:i,firstTokenIdentifier:a,secondTokenIdentifier:o,fromTokens:s,toTokens:c,isTokensLoading:l,activeChainId:u,mvxChainId:d,callbackRoute:f,forcedDestinationTokenSymbol:p,onNavigate:m,switchNetwork:h,sdkChains:g,activeChain:_})=>{let v=(0,r.useRef)(!1),[y,b]=(0,r.useState)(),[x,S]=(0,r.useState)(),C=(0,r.useMemo)(()=>s?.filter(e=>d?e.chainId.toString().toLowerCase()===d.toString().toLowerCase():!0).map(e=>({...e,identifier:e.address,ticker:e.symbol}))??[],[s,d]),w=(0,r.useCallback)(e=>n.getAvailableTokens(e,c,p),[c,p]),T=(0,r.useMemo)(()=>y?c?.filter(e=>e.symbol.toLowerCase()===y.symbol.toLowerCase()).map(e=>({...e,identifier:e.address,ticker:e.symbol}))??[]:[],[y?.symbol,c]),E=(0,r.useMemo)(()=>{let t=d?x:y;return t&&i?.find(n=>e.sameBridgeApiChainId(n.chainId,t.chainId))||i?.find(t=>e.sameBridgeApiChainId(t.chainId,_?.id))||((d?y&&i?.find(t=>e.sameBridgeApiChainId(t.chainId,y.chainId)):x&&i?.find(t=>e.sameBridgeApiChainId(t.chainId,x.chainId)))??i?.[0])},[_?.id,i,y?.chainId,d,x?.chainId]),D=(0,r.useCallback)(e=>n.getDefaultReceivingToken(e,c),[c]),O=(0,r.useCallback)(({firstTokenId:e,secondTokenId:t})=>{n.updateUrlParams({firstTokenId:e,secondTokenId:t,callbackRoute:f,isTokensLoading:l,onNavigate:m})},[f,l,m]),k=(0,r.useCallback)(e=>{if(!e)return;b(e),O({firstTokenId:e.address});let t=c?.find(t=>t.symbol.toLowerCase()===e.symbol.toLowerCase());if(!t){let n=w(e);t=n.find(t=>t.symbol.toLowerCase()===e.symbol.toLowerCase())??D(n)}t&&(S(t),O({secondTokenId:t.address}))},[w,D,O,c]),A=(0,r.useCallback)(e=>{if(!e)return;S(e),O({secondTokenId:e.address});let t=C.find(t=>t.symbol.toLowerCase()===e.symbol.toLowerCase());t&&(b(t),O({firstTokenId:t.address}))},[C,O]),j=(0,r.useCallback)(()=>{if(!y||!x)return;b(x),S(y),O({firstTokenId:x.address,secondTokenId:y.address});let t=g?.find(t=>e.sameBridgeApiChainId(t.id,x.chainId));t&&h&&h(t)},[y,x,O,g,h]);return(0,r.useEffect)(()=>{if(l||v.current||!C.length)return;if(y&&x){v.current=!0;return}let n=t.getInitialTokens({firstTokenId:a,secondTokenId:o}),r=C.find(({identifier:e})=>n?.firstTokenId?.toLowerCase()===e.toLowerCase())??C.find(t=>e.sameBridgeApiChainId(t.chainId,u))??C[0],i=c?.find(e=>e.symbol.toLowerCase()===r?.symbol.toLowerCase());if(!i){let e=w(r);i=e?.find(({address:e})=>e.toLowerCase()===(r?.symbol??n?.secondTokenId)?.toLowerCase())??e.find(e=>e.symbol.toLowerCase()===r?.symbol.toLowerCase())??D(e)}if(y&&x&&y?.address?.toLowerCase()===r?.address?.toLowerCase()&&x?.address?.toLowerCase()===i?.address?.toLowerCase())return;let s=!1;if(r){b(r),O({firstTokenId:r.address});let t=g?.find(t=>e.sameBridgeApiChainId(t.id,r.chainId))??_;t&&h&&h(t),s=!0}i&&(S(i),O({secondTokenId:i.address}),s&&=!0),v.current=s},[l,C,c,a,o,u,w,D,O,g,_,h]),(0,r.useEffect)(()=>{let e=s?.find(e=>e.address.toLowerCase()===y?.address?.toLowerCase());e&&b(t=>t&&{...t,balance:e.balance})},[s,y?.address]),(0,r.useEffect)(()=>{let e=c?.find(e=>e.address.toLowerCase()===x?.address?.toLowerCase());e&&S(t=>t&&{...t,balance:e.balance})},[c,x?.address]),{firstToken:y,secondToken:x,fromOptions:C,toOptions:T,selectedChainOption:E,setFirstToken:b,setSecondToken:S,onChangeFirstSelect:k,onChangeSecondSelect:A,handleChangeDirection:j,updateUrlParams:O}};exports.useBridgeTokenSelection=i;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../utils/getInitialTokens.js"),t=require("../../../helpers/resolveBridgeApiChainId.js"),n=require("../utils/bridgeFormHelpers.js");let r=require("react");var i=({chains:i,firstTokenIdentifier:a,secondTokenIdentifier:o,fromTokens:s,toTokens:c,isTokensLoading:l,activeChainId:u,mvxChainId:d,callbackRoute:f,forcedDestinationTokenSymbol:p,onNavigate:m,switchNetwork:h,sdkChains:g,activeChain:_})=>{let v=(0,r.useRef)(!1),[y,b]=(0,r.useState)(),[x,S]=(0,r.useState)(),C=(0,r.useMemo)(()=>s?.filter(e=>d?e.chainId.toString().toLowerCase()===d.toString().toLowerCase():!0).map(e=>({...e,identifier:e.address,ticker:e.symbol}))??[],[s,d]),w=(0,r.useCallback)(e=>n.getAvailableTokens(e,c,p),[c,p]),T=(0,r.useMemo)(()=>y?n.getAvailableTokens(y,c,p).map(e=>({...e,identifier:e.address,ticker:e.symbol})):[],[y,c,p]),E=(0,r.useMemo)(()=>{let e=d?x:y;return e&&i?.find(n=>t.sameBridgeApiChainId(n.chainId,e.chainId))||i?.find(e=>t.sameBridgeApiChainId(e.chainId,_?.id))||((d?y&&i?.find(e=>t.sameBridgeApiChainId(e.chainId,y.chainId)):x&&i?.find(e=>t.sameBridgeApiChainId(e.chainId,x.chainId)))??i?.[0])},[_?.id,i,y?.chainId,d,x?.chainId]),D=(0,r.useCallback)(e=>n.getDefaultReceivingToken(e,c),[c]),O=(0,r.useCallback)(({firstTokenId:e,secondTokenId:t})=>{n.updateUrlParams({firstTokenId:e,secondTokenId:t,callbackRoute:f,isTokensLoading:l,onNavigate:m})},[f,l,m]),k=(0,r.useCallback)(e=>{if(!e)return;b(e),O({firstTokenId:e.address});let t=n.findPairedToken(e,c,p)??D(w(e));t&&(S(t),O({secondTokenId:t.address}))},[w,D,O,c,p]),A=(0,r.useCallback)(e=>{if(!e)return;S(e),O({secondTokenId:e.address});let t=C.find(t=>t.symbol.toLowerCase()===e.symbol.toLowerCase());t&&(b(t),O({firstTokenId:t.address}))},[C,O]),j=(0,r.useCallback)(()=>{if(!y||!x)return;b(x),S(y),O({firstTokenId:x.address,secondTokenId:y.address});let e=g?.find(e=>t.sameBridgeApiChainId(e.id,x.chainId));e&&h&&h(e)},[y,x,O,g,h]);return(0,r.useEffect)(()=>{if(l||v.current||!C.length)return;if(y&&x){v.current=!0;return}let r=e.getInitialTokens({firstTokenId:a,secondTokenId:o}),i=C.find(({identifier:e})=>r?.firstTokenId?.toLowerCase()===e.toLowerCase())??C.find(e=>t.sameBridgeApiChainId(e.chainId,u))??C[0],s=(i&&n.findPairedToken(i,c,p))??D(i?w(i):[]);if(y&&x&&y?.address?.toLowerCase()===i?.address?.toLowerCase()&&x?.address?.toLowerCase()===s?.address?.toLowerCase())return;let d=!1;if(i){b(i),O({firstTokenId:i.address});let e=g?.find(e=>t.sameBridgeApiChainId(e.id,i.chainId))??_;e&&h&&h(e),d=!0}s&&(S(s),O({secondTokenId:s.address}),d&&=!0),v.current=d},[l,C,c,a,o,u,p,w,D,O,g,_,h]),(0,r.useEffect)(()=>{let e=s?.find(e=>e.address.toLowerCase()===y?.address?.toLowerCase());e&&b(t=>t&&{...t,balance:e.balance})},[s,y?.address]),(0,r.useEffect)(()=>{let e=c?.find(e=>e.address.toLowerCase()===x?.address?.toLowerCase());e&&S(t=>t&&{...t,balance:e.balance})},[c,x?.address]),{firstToken:y,secondToken:x,fromOptions:C,toOptions:T,selectedChainOption:E,setFirstToken:b,setSecondToken:S,onChangeFirstSelect:k,onChangeSecondSelect:A,handleChangeDirection:j,updateUrlParams:O}};exports.useBridgeTokenSelection=i;
@@ -1,132 +1,130 @@
1
- import { sameBridgeApiChainId as e } from "../../../helpers/resolveBridgeApiChainId.mjs";
2
- import { getInitialTokens as t } from "../../../utils/getInitialTokens.mjs";
3
- import { getAvailableTokens as n, getDefaultReceivingToken as r, updateUrlParams as i } from "../utils/bridgeFormHelpers.mjs";
4
- import { useCallback as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
1
+ import { getInitialTokens as e } from "../../../utils/getInitialTokens.mjs";
2
+ import { sameBridgeApiChainId as t } from "../../../helpers/resolveBridgeApiChainId.mjs";
3
+ import { findPairedToken as n, getAvailableTokens as r, getDefaultReceivingToken as i, updateUrlParams as a } from "../utils/bridgeFormHelpers.mjs";
4
+ import { useCallback as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
5
5
  //#region src/reactjs/components/BridgeForm/hooks/useBridgeTokenSelection.ts
6
- var u = ({ chains: u, firstTokenIdentifier: d, secondTokenIdentifier: f, fromTokens: p, toTokens: m, isTokensLoading: h, activeChainId: g, mvxChainId: _, callbackRoute: v, forcedDestinationTokenSymbol: y, onNavigate: b, switchNetwork: x, sdkChains: S, activeChain: C }) => {
7
- let w = c(!1), [T, E] = l(), [D, O] = l(), k = s(() => p?.filter((e) => _ ? e.chainId.toString().toLowerCase() === _.toString().toLowerCase() : !0).map((e) => ({
6
+ var d = ({ chains: d, firstTokenIdentifier: f, secondTokenIdentifier: p, fromTokens: m, toTokens: h, isTokensLoading: g, activeChainId: _, mvxChainId: v, callbackRoute: y, forcedDestinationTokenSymbol: b, onNavigate: x, switchNetwork: S, sdkChains: C, activeChain: w }) => {
7
+ let T = l(!1), [E, D] = u(), [O, k] = u(), A = c(() => m?.filter((e) => v ? e.chainId.toString().toLowerCase() === v.toString().toLowerCase() : !0).map((e) => ({
8
8
  ...e,
9
9
  identifier: e.address,
10
10
  ticker: e.symbol
11
- })) ?? [], [p, _]), A = a((e) => n(e, m, y), [m, y]), j = s(() => T ? m?.filter((e) => e.symbol.toLowerCase() === T.symbol.toLowerCase()).map((e) => ({
11
+ })) ?? [], [m, v]), j = o((e) => r(e, h, b), [h, b]), M = c(() => E ? r(E, h, b).map((e) => ({
12
12
  ...e,
13
13
  identifier: e.address,
14
14
  ticker: e.symbol
15
- })) ?? [] : [], [T?.symbol, m]), M = s(() => {
16
- let t = _ ? D : T;
17
- return t && u?.find((n) => e(n.chainId, t.chainId)) || u?.find((t) => e(t.chainId, C?.id)) || ((_ ? T && u?.find((t) => e(t.chainId, T.chainId)) : D && u?.find((t) => e(t.chainId, D.chainId))) ?? u?.[0]);
15
+ })) : [], [
16
+ E,
17
+ h,
18
+ b
19
+ ]), N = c(() => {
20
+ let e = v ? O : E;
21
+ return e && d?.find((n) => t(n.chainId, e.chainId)) || d?.find((e) => t(e.chainId, w?.id)) || ((v ? E && d?.find((e) => t(e.chainId, E.chainId)) : O && d?.find((e) => t(e.chainId, O.chainId))) ?? d?.[0]);
18
22
  }, [
19
- C?.id,
20
- u,
21
- T?.chainId,
22
- _,
23
- D?.chainId
24
- ]), N = a((e) => r(e, m), [m]), P = a(({ firstTokenId: e, secondTokenId: t }) => {
25
- i({
23
+ w?.id,
24
+ d,
25
+ E?.chainId,
26
+ v,
27
+ O?.chainId
28
+ ]), P = o((e) => i(e, h), [h]), F = o(({ firstTokenId: e, secondTokenId: t }) => {
29
+ a({
26
30
  firstTokenId: e,
27
31
  secondTokenId: t,
28
- callbackRoute: v,
29
- isTokensLoading: h,
30
- onNavigate: b
32
+ callbackRoute: y,
33
+ isTokensLoading: g,
34
+ onNavigate: x
31
35
  });
32
36
  }, [
33
- v,
34
- h,
35
- b
36
- ]), F = a((e) => {
37
+ y,
38
+ g,
39
+ x
40
+ ]), I = o((e) => {
37
41
  if (!e) return;
38
- E(e), P({ firstTokenId: e.address });
39
- let t = m?.find((t) => t.symbol.toLowerCase() === e.symbol.toLowerCase());
40
- if (!t) {
41
- let n = A(e);
42
- t = n.find((t) => t.symbol.toLowerCase() === e.symbol.toLowerCase()) ?? N(n);
43
- }
44
- t && (O(t), P({ secondTokenId: t.address }));
42
+ D(e), F({ firstTokenId: e.address });
43
+ let t = n(e, h, b) ?? P(j(e));
44
+ t && (k(t), F({ secondTokenId: t.address }));
45
45
  }, [
46
- A,
47
- N,
46
+ j,
48
47
  P,
49
- m
50
- ]), I = a((e) => {
48
+ F,
49
+ h,
50
+ b
51
+ ]), L = o((e) => {
51
52
  if (!e) return;
52
- O(e), P({ secondTokenId: e.address });
53
- let t = k.find((t) => t.symbol.toLowerCase() === e.symbol.toLowerCase());
54
- t && (E(t), P({ firstTokenId: t.address }));
55
- }, [k, P]), L = a(() => {
56
- if (!T || !D) return;
57
- E(D), O(T), P({
58
- firstTokenId: D.address,
59
- secondTokenId: T.address
53
+ k(e), F({ secondTokenId: e.address });
54
+ let t = A.find((t) => t.symbol.toLowerCase() === e.symbol.toLowerCase());
55
+ t && (D(t), F({ firstTokenId: t.address }));
56
+ }, [A, F]), R = o(() => {
57
+ if (!E || !O) return;
58
+ D(O), k(E), F({
59
+ firstTokenId: O.address,
60
+ secondTokenId: E.address
60
61
  });
61
- let t = S?.find((t) => e(t.id, D.chainId));
62
- t && x && x(t);
62
+ let e = C?.find((e) => t(e.id, O.chainId));
63
+ e && S && S(e);
63
64
  }, [
64
- T,
65
- D,
66
- P,
67
- S,
68
- x
65
+ E,
66
+ O,
67
+ F,
68
+ C,
69
+ S
69
70
  ]);
70
- return o(() => {
71
- if (h || w.current || !k.length) return;
72
- if (T && D) {
73
- w.current = !0;
71
+ return s(() => {
72
+ if (g || T.current || !A.length) return;
73
+ if (E && O) {
74
+ T.current = !0;
74
75
  return;
75
76
  }
76
- let n = t({
77
- firstTokenId: d,
78
- secondTokenId: f
79
- }), r = k.find(({ identifier: e }) => n?.firstTokenId?.toLowerCase() === e.toLowerCase()) ?? k.find((t) => e(t.chainId, g)) ?? k[0], i = m?.find((e) => e.symbol.toLowerCase() === r?.symbol.toLowerCase());
80
- if (!i) {
81
- let e = A(r);
82
- i = e?.find(({ address: e }) => e.toLowerCase() === (r?.symbol ?? n?.secondTokenId)?.toLowerCase()) ?? e.find((e) => e.symbol.toLowerCase() === r?.symbol.toLowerCase()) ?? N(e);
83
- }
84
- if (T && D && T?.address?.toLowerCase() === r?.address?.toLowerCase() && D?.address?.toLowerCase() === i?.address?.toLowerCase()) return;
85
- let a = !1;
86
- if (r) {
87
- E(r), P({ firstTokenId: r.address });
88
- let t = S?.find((t) => e(t.id, r.chainId)) ?? C;
89
- t && x && x(t), a = !0;
77
+ let r = e({
78
+ firstTokenId: f,
79
+ secondTokenId: p
80
+ }), i = A.find(({ identifier: e }) => r?.firstTokenId?.toLowerCase() === e.toLowerCase()) ?? A.find((e) => t(e.chainId, _)) ?? A[0], a = (i && n(i, h, b)) ?? P(i ? j(i) : []);
81
+ if (E && O && E?.address?.toLowerCase() === i?.address?.toLowerCase() && O?.address?.toLowerCase() === a?.address?.toLowerCase()) return;
82
+ let o = !1;
83
+ if (i) {
84
+ D(i), F({ firstTokenId: i.address });
85
+ let e = C?.find((e) => t(e.id, i.chainId)) ?? w;
86
+ e && S && S(e), o = !0;
90
87
  }
91
- i && (O(i), P({ secondTokenId: i.address }), a &&= !0), w.current = a;
88
+ a && (k(a), F({ secondTokenId: a.address }), o &&= !0), T.current = o;
92
89
  }, [
93
- h,
94
- k,
95
- m,
96
- d,
97
- f,
98
90
  g,
99
91
  A,
100
- N,
92
+ h,
93
+ f,
94
+ p,
95
+ _,
96
+ b,
97
+ j,
101
98
  P,
102
- S,
99
+ F,
103
100
  C,
104
- x
105
- ]), o(() => {
106
- let e = p?.find((e) => e.address.toLowerCase() === T?.address?.toLowerCase());
107
- e && E((t) => t && {
101
+ w,
102
+ S
103
+ ]), s(() => {
104
+ let e = m?.find((e) => e.address.toLowerCase() === E?.address?.toLowerCase());
105
+ e && D((t) => t && {
108
106
  ...t,
109
107
  balance: e.balance
110
108
  });
111
- }, [p, T?.address]), o(() => {
112
- let e = m?.find((e) => e.address.toLowerCase() === D?.address?.toLowerCase());
113
- e && O((t) => t && {
109
+ }, [m, E?.address]), s(() => {
110
+ let e = h?.find((e) => e.address.toLowerCase() === O?.address?.toLowerCase());
111
+ e && k((t) => t && {
114
112
  ...t,
115
113
  balance: e.balance
116
114
  });
117
- }, [m, D?.address]), {
118
- firstToken: T,
119
- secondToken: D,
120
- fromOptions: k,
121
- toOptions: j,
122
- selectedChainOption: M,
123
- setFirstToken: E,
124
- setSecondToken: O,
125
- onChangeFirstSelect: F,
126
- onChangeSecondSelect: I,
127
- handleChangeDirection: L,
128
- updateUrlParams: P
115
+ }, [h, O?.address]), {
116
+ firstToken: E,
117
+ secondToken: O,
118
+ fromOptions: A,
119
+ toOptions: M,
120
+ selectedChainOption: N,
121
+ setFirstToken: D,
122
+ setSecondToken: k,
123
+ onChangeFirstSelect: I,
124
+ onChangeSecondSelect: L,
125
+ handleChangeDirection: R,
126
+ updateUrlParams: F
129
127
  };
130
128
  };
131
129
  //#endregion
132
- export { u as useBridgeTokenSelection };
130
+ export { d as useBridgeTokenSelection };
@@ -15,6 +15,11 @@ export declare function resolveSigningChainType(transaction: ServerTransaction,
15
15
  * Gets available tokens based on the source token and forced destination
16
16
  */
17
17
  export declare const getAvailableTokens: (option: TokenType, targetTokens?: TokenType[], forcedDestinationTokenSymbol?: string) => TokenType[];
18
+ /**
19
+ * Finds the best paired destination token for a given source token.
20
+ * Priority: availableTokens address match > symbol match (last resort).
21
+ */
22
+ export declare const findPairedToken: (sourceToken: TokenType, targetTokens?: TokenType[], forcedDestinationTokenSymbol?: string) => TokenType | undefined;
18
23
  /**
19
24
  * Gets the default receiving token (prefers USDC)
20
25
  */
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../constants/index.js"),t=require("../../../../types/chainType.js"),n=require("../../../utils/getCompletePathname.js");var r=({firstTokenId:t,secondTokenId:r,callbackRoute:i,isTokensLoading:a,onNavigate:o})=>{if(a)return;let s=n.getCompletePathname(),c=new URLSearchParams(e.safeWindow.location.search);t&&c.set(`firstToken`,t),r&&c.set(`secondToken`,r);let l=`${i}?${c.toString()}`;s!==l&&(e.safeWindow.history?.replaceState?.(null,``,l),o?.(l,{replace:!0}))};function i(e,n){return e.suiParams?.transactionBytes&&e.suiParams?.sender?t.ChainType.sui:e.instructions&&e.feePayer?t.ChainType.sol:e.bitcoinParams?t.ChainType.btc:e.to&&e.data!==void 0?t.ChainType.evm:n?.chainType}var a=(e,t,n)=>{if(n){let e=t?.find(e=>e.symbol.toLowerCase()===n.toLowerCase());return e?[e]:[]}if(!e?.availableTokens)return[];let r=[];for(let n of e.availableTokens){let e=t?.find(e=>e.address.toLowerCase()===n.address.toLowerCase());e&&r.push(e)}return r},o=(e,t)=>e.find(e=>e.symbol.toLowerCase().includes(`usdc`))??t?.find(e=>e.symbol.toLowerCase().includes(`usdc`)),s=(e,t)=>e?!!t?.some(t=>t.address.toLowerCase()===e.toLowerCase()):!1;exports.getAvailableTokens=a,exports.getDefaultReceivingToken=o,exports.isTokenIdFromMvx=s,exports.resolveSigningChainType=i,exports.updateUrlParams=r;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../constants/index.js"),t=require("../../../../types/chainType.js"),n=require("../../../utils/getCompletePathname.js");var r=({firstTokenId:t,secondTokenId:r,callbackRoute:i,isTokensLoading:a,onNavigate:o})=>{if(a)return;let s=n.getCompletePathname(),c=new URLSearchParams(e.safeWindow.location.search);t&&c.set(`firstToken`,t),r&&c.set(`secondToken`,r);let l=`${i}?${c.toString()}`;s!==l&&(e.safeWindow.history?.replaceState?.(null,``,l),o?.(l,{replace:!0}))};function i(e,n){return e.suiParams?.transactionBytes&&e.suiParams?.sender?t.ChainType.sui:e.instructions&&e.feePayer?t.ChainType.sol:e.bitcoinParams?t.ChainType.btc:e.to&&e.data!==void 0?t.ChainType.evm:n?.chainType}var a=(e,t,n)=>{if(n){let e=t?.find(e=>e.symbol.toLowerCase()===n.toLowerCase());return e?[e]:[]}if(!e?.availableTokens)return[];let r=[];for(let n of e.availableTokens){let e=t?.find(e=>e.address.toLowerCase()===n.address.toLowerCase());e&&r.push(e)}return r},o=(e,t,n)=>{let r=a(e,t,n);if(r.length>0)return r[0];let i=n??e.symbol;return t?.find(e=>e.symbol.toLowerCase()===i.toLowerCase())},s=(e,t)=>e.find(e=>e.symbol.toLowerCase().includes(`usdc`))??t?.find(e=>e.symbol.toLowerCase().includes(`usdc`)),c=(e,t)=>e?!!t?.some(t=>t.address.toLowerCase()===e.toLowerCase()):!1;exports.findPairedToken=o,exports.getAvailableTokens=a,exports.getDefaultReceivingToken=s,exports.isTokenIdFromMvx=c,exports.resolveSigningChainType=i,exports.updateUrlParams=r;
@@ -24,6 +24,11 @@ var a = (e, t, n) => {
24
24
  e && r.push(e);
25
25
  }
26
26
  return r;
27
- }, o = (e, t) => e.find((e) => e.symbol.toLowerCase().includes("usdc")) ?? t?.find((e) => e.symbol.toLowerCase().includes("usdc")), s = (e, t) => e ? !!t?.some((t) => t.address.toLowerCase() === e.toLowerCase()) : !1;
27
+ }, o = (e, t, n) => {
28
+ let r = a(e, t, n);
29
+ if (r.length > 0) return r[0];
30
+ let i = n ?? e.symbol;
31
+ return t?.find((e) => e.symbol.toLowerCase() === i.toLowerCase());
32
+ }, s = (e, t) => e.find((e) => e.symbol.toLowerCase().includes("usdc")) ?? t?.find((e) => e.symbol.toLowerCase().includes("usdc")), c = (e, t) => e ? !!t?.some((t) => t.address.toLowerCase() === e.toLowerCase()) : !1;
28
33
  //#endregion
29
- export { a as getAvailableTokens, o as getDefaultReceivingToken, s as isTokenIdFromMvx, i as resolveSigningChainType, r as updateUrlParams };
34
+ export { o as findPairedToken, a as getAvailableTokens, s as getDefaultReceivingToken, c as isTokenIdFromMvx, i as resolveSigningChainType, r as updateUrlParams };
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../BridgeHistory-0NVr8Uxp.js");exports.BridgeHistory=e.t;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../BridgeHistory-D3Zg2V1U.js");exports.BridgeHistory=e.t;
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../../BridgeHistory-BUSiuT1d.mjs";
1
+ import { t as e } from "../../../BridgeHistory-B86lT8s-.mjs";
2
2
  export { e as BridgeHistory };
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../BridgeHistory-0NVr8Uxp.js");exports.BridgeHistory=e.t;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../BridgeHistory-D3Zg2V1U.js");exports.BridgeHistory=e.t;
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../../BridgeHistory-BUSiuT1d.mjs";
1
+ import { t as e } from "../../../BridgeHistory-B86lT8s-.mjs";
2
2
  export { e as BridgeHistory };
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../chains-Bmeag21l.js");require("../../constants/index.js");const t=require("../../../helpers/getDisplayName.js"),n=require("../../hooks/useAccount.js"),r=require("../../context/useWeb3App.js"),i=require("../../hooks/useSuiConnect.js");let a=require("react/jsx-runtime"),o=require("react"),s=require("@reown/appkit/react");var c=({activeChain:n,hasSui:r,onEvmSelect:i,onSuiSelect:o,onClose:s})=>(0,a.jsx)(`div`,{className:`liq-fixed liq-inset-0 liq-z-[9999] liq-flex liq-items-center liq-justify-center liq-bg-black/60`,onClick:s,children:(0,a.jsxs)(`div`,{className:`liq-w-[340px] liq-rounded-2xl liq-bg-neutral-900 liq-border liq-border-neutral-700/40 liq-shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-justify-between liq-px-5 liq-py-4 liq-border-b liq-border-neutral-700/30`,children:[(0,a.jsx)(`h3`,{className:`liq-text-white liq-text-base liq-font-semibold liq-m-0`,children:`Select Chain`}),(0,a.jsx)(`button`,{onClick:s,className:`liq-text-neutral-400 hover:liq-text-white liq-text-lg liq-bg-transparent liq-border-none liq-cursor-pointer liq-p-1`,children:`×`})]}),(0,a.jsxs)(`div`,{className:`liq-flex liq-flex-col liq-gap-2 liq-p-4`,children:[(0,a.jsxs)(`button`,{onClick:i,className:`liq-flex liq-items-center liq-gap-3 liq-w-full liq-rounded-xl liq-bg-neutral-800/60 liq-px-4 liq-py-3 liq-text-left liq-text-white liq-font-medium liq-border liq-border-transparent liq-transition-all liq-duration-200 hover:liq-bg-neutral-750 hover:liq-border-neutral-600/50 liq-cursor-pointer`,children:[n?.pngUrl&&(0,a.jsx)(`img`,{src:n.pngUrl,alt:``,className:`liq-w-8 liq-h-8 liq-rounded-full`}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`div`,{className:`liq-text-sm liq-font-semibold`,children:n?t.getDisplayName(n):`Ethereum`}),(0,a.jsx)(`div`,{className:`liq-text-xs liq-text-neutral-400`,children:`EVM Chains`})]})]}),r&&(0,a.jsxs)(`button`,{onClick:o,className:`liq-flex liq-items-center liq-gap-3 liq-w-full liq-rounded-xl liq-bg-neutral-800/60 liq-px-4 liq-py-3 liq-text-left liq-text-white liq-font-medium liq-border liq-border-transparent liq-transition-all liq-duration-200 hover:liq-bg-neutral-750 hover:liq-border-neutral-600/50 liq-cursor-pointer`,children:[(0,a.jsx)(`img`,{src:e.r.sui,alt:``,className:`liq-w-8 liq-h-8 liq-rounded-full`}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`div`,{className:`liq-text-sm liq-font-semibold`,children:`Sui`}),(0,a.jsx)(`div`,{className:`liq-text-xs liq-text-neutral-400`,children:`Sui Network`})]})]})]})]})}),l=({activeChain:e,disabled:t,className:l})=>{let[u,d]=(0,o.useState)(!1),{open:f}=(0,s.useAppKit)(),p=n.useAccount(),{options:m}=r.useWeb3App(),h=i.useSuiConnect(),g=!!m.suiEnvironment;if(p.isConnected||h.isConnected)return null;let _=()=>{d(!1),f({view:`Connect`,namespace:`eip155`})};return g?(0,a.jsxs)(a.Fragment,{children:[u&&(0,a.jsx)(c,{activeChain:e,hasSui:g,onEvmSelect:_,onSuiSelect:()=>{d(!1),h.connect()},onClose:()=>d(!1)}),(0,a.jsx)(`button`,{onClick:()=>d(!0),disabled:t,className:`liq-font-bold liq-text-inherit liq-rounded-lg ${l??``}`,children:(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-gap-1`,children:(0,a.jsx)(`span`,{className:`liq-text-primary-200`,children:p.isConnecting?`Connecting...`:`Connect`})})})]}):(0,a.jsx)(`button`,{onClick:_,disabled:t,className:`liq-font-bold liq-text-inherit liq-rounded-lg ${l??``}`,children:(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-gap-1`,children:(0,a.jsx)(`span`,{className:`liq-text-primary-200`,children:p.isConnecting?`Connecting...`:`Connect`})})})};exports.ChainSelectConnect=l;
2
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../chains-Bmeag21l.js");require("../../constants/index.js");const t=require("../../../helpers/getDisplayName.js"),n=require("../../context/useWeb3App.js"),r=require("../../hooks/useAccount.js"),i=require("../../hooks/useSuiConnect.js");let a=require("react/jsx-runtime"),o=require("react"),s=require("@reown/appkit/react");var c=({activeChain:n,hasSui:r,onEvmSelect:i,onSuiSelect:o,onClose:s})=>(0,a.jsx)(`div`,{className:`liq-fixed liq-inset-0 liq-z-[9999] liq-flex liq-items-center liq-justify-center liq-bg-black/60`,onClick:s,children:(0,a.jsxs)(`div`,{className:`liq-w-[340px] liq-rounded-2xl liq-bg-neutral-900 liq-border liq-border-neutral-700/40 liq-shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(`div`,{className:`liq-flex liq-items-center liq-justify-between liq-px-5 liq-py-4 liq-border-b liq-border-neutral-700/30`,children:[(0,a.jsx)(`h3`,{className:`liq-text-white liq-text-base liq-font-semibold liq-m-0`,children:`Select Chain`}),(0,a.jsx)(`button`,{onClick:s,className:`liq-text-neutral-400 hover:liq-text-white liq-text-lg liq-bg-transparent liq-border-none liq-cursor-pointer liq-p-1`,children:`×`})]}),(0,a.jsxs)(`div`,{className:`liq-flex liq-flex-col liq-gap-2 liq-p-4`,children:[(0,a.jsxs)(`button`,{onClick:i,className:`liq-flex liq-items-center liq-gap-3 liq-w-full liq-rounded-xl liq-bg-neutral-800/60 liq-px-4 liq-py-3 liq-text-left liq-text-white liq-font-medium liq-border liq-border-transparent liq-transition-all liq-duration-200 hover:liq-bg-neutral-750 hover:liq-border-neutral-600/50 liq-cursor-pointer`,children:[n?.pngUrl&&(0,a.jsx)(`img`,{src:n.pngUrl,alt:``,className:`liq-w-8 liq-h-8 liq-rounded-full`}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`div`,{className:`liq-text-sm liq-font-semibold`,children:n?t.getDisplayName(n):`Ethereum`}),(0,a.jsx)(`div`,{className:`liq-text-xs liq-text-neutral-400`,children:`EVM Chains`})]})]}),r&&(0,a.jsxs)(`button`,{onClick:o,className:`liq-flex liq-items-center liq-gap-3 liq-w-full liq-rounded-xl liq-bg-neutral-800/60 liq-px-4 liq-py-3 liq-text-left liq-text-white liq-font-medium liq-border liq-border-transparent liq-transition-all liq-duration-200 hover:liq-bg-neutral-750 hover:liq-border-neutral-600/50 liq-cursor-pointer`,children:[(0,a.jsx)(`img`,{src:e.r.sui,alt:``,className:`liq-w-8 liq-h-8 liq-rounded-full`}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`div`,{className:`liq-text-sm liq-font-semibold`,children:`Sui`}),(0,a.jsx)(`div`,{className:`liq-text-xs liq-text-neutral-400`,children:`Sui Network`})]})]})]})]})}),l=({activeChain:e,disabled:t,className:l})=>{let[u,d]=(0,o.useState)(!1),{open:f}=(0,s.useAppKit)(),p=r.useAccount(),{options:m}=n.useWeb3App(),h=i.useSuiConnect(),g=!!m.suiEnvironment;if(p.isConnected||h.isConnected)return null;let _=()=>{d(!1),f({view:`Connect`,namespace:`eip155`})};return g?(0,a.jsxs)(a.Fragment,{children:[u&&(0,a.jsx)(c,{activeChain:e,hasSui:g,onEvmSelect:_,onSuiSelect:()=>{d(!1),h.connect()},onClose:()=>d(!1)}),(0,a.jsx)(`button`,{onClick:()=>d(!0),disabled:t,className:`liq-font-bold liq-text-inherit liq-rounded-lg ${l??``}`,children:(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-gap-1`,children:(0,a.jsx)(`span`,{className:`liq-text-primary-200`,children:p.isConnecting?`Connecting...`:`Connect`})})})]}):(0,a.jsx)(`button`,{onClick:_,disabled:t,className:`liq-font-bold liq-text-inherit liq-rounded-lg ${l??``}`,children:(0,a.jsx)(`div`,{className:`liq-flex liq-items-center liq-justify-center liq-gap-1`,children:(0,a.jsx)(`span`,{className:`liq-text-primary-200`,children:p.isConnecting?`Connecting...`:`Connect`})})})};exports.ChainSelectConnect=l;
@@ -1,8 +1,8 @@
1
1
  import { r as e } from "../../../chains-DQACurVn.mjs";
2
2
  import "../../constants/index.mjs";
3
3
  import { getDisplayName as t } from "../../../helpers/getDisplayName.mjs";
4
- import { useAccount as n } from "../../hooks/useAccount.mjs";
5
- import { useWeb3App as r } from "../../context/useWeb3App.mjs";
4
+ import { useWeb3App as n } from "../../context/useWeb3App.mjs";
5
+ import { useAccount as r } from "../../hooks/useAccount.mjs";
6
6
  import { useSuiConnect as i } from "../../hooks/useSuiConnect.mjs";
7
7
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  import { useState as c } from "react";
@@ -58,7 +58,7 @@ var u = ({ activeChain: n, hasSui: r, onEvmSelect: i, onSuiSelect: a, onClose: c
58
58
  })]
59
59
  })
60
60
  }), d = ({ activeChain: e, disabled: t, className: d }) => {
61
- let [f, p] = c(!1), { open: m } = l(), h = n(), { options: g } = r(), _ = i(), v = !!g.suiEnvironment;
61
+ let [f, p] = c(!1), { open: m } = l(), h = r(), { options: g } = n(), _ = i(), v = !!g.suiEnvironment;
62
62
  if (h.isConnected || _.isConnected) return null;
63
63
  let y = () => {
64
64
  p(!1), m({