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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("@fortawesome/free-solid-svg-icons/faPowerOff"),x=require("@fortawesome/react-fontawesome"),p=require("@reown/appkit/react"),t=require("../../../helpers/getDisplayName.js"),g=require("./SwitchChainButton.js"),j=require("../../../types/chainType.js"),y=require("../../hooks/useAccount.js"),f=require("../../hooks/useSuiConnect.js");require("clsx");require("tailwind-merge");require("../base/MxCard/MxCard.js");const b=require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@headlessui/react");require("react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");require("../../constants/index.js");const N=require("../CopyButton/CopyButton.js"),w=require("../TrimAddress/TrimAddress.js"),_=({activeChain:i,disabled:n})=>{var c;const o=y.useAccount(),{disconnect:q}=p.useDisconnect(),l=f.useSuiConnect(),r=(i==null?void 0:i.chainType)===j.ChainType.sui,s=r?l.suiAddress:o.address,d=async a=>{try{a.preventDefault(),r?await l.disconnect():await q()}catch(u){console.error("Failed to disconnect:",u)}};return s?e.jsxs(e.Fragment,{children:[e.jsx("img",{src:i==null?void 0:i.pngUrl,alt:"",className:"liq-w-6 liq-h-6 liq-rounded-lg"}),e.jsx("span",{className:"liq-truncate liq-text-gray-400",children:t.getDisplayName(i)}),e.jsx("span",{className:"liq-ml-[-5px]",children:":"}),e.jsx("div",{className:"liq-flex liq-items-center liq-justify-between",children:e.jsxs("div",{className:"liq-flex liq-max-w-[10rem] liq-items-center liq-gap-1",children:[e.jsx(b.MxLink,{to:`${(c=i==null?void 0:i.blockExplorerUrls)==null?void 0:c[0]}/address/${s}`,target:"_blank",showExternalIcon:!1,className:"!liq-relative",children:e.jsx("div",{className:"liq-flex liq-min-w-0 liq-flex-grow liq-overflow-hidden liq-leading-none liq-max-w-[10rem]",children:e.jsx(w.TrimAddress,{address:s,"data-testid":"evm-address"})})}),e.jsx(N.CopyButton,{text:s,className:"liq-text-sm","data-testid":"evm-copy-button"})]})}),e.jsx("div",{className:"liq-ml-auto liq-mr-0 liq-flex liq-items-center liq-gap-1",children:e.jsx("button",{className:"focus-primary liq-flex liq-items-center liq-gap-1 liq-rounded-xl liq-px-0 liq-py-2 liq-text-sm liq-font-semibold liq-text-neutral-400 liq-transition-colors liq-duration-200 hover:enabled:liq-text-white disabled:liq-opacity-50",onClick:d,"data-testid":"evm-disconnect-button",children:e.jsx(x.FontAwesomeIcon,{icon:m.faPowerOff})})})]}):r?e.jsxs("div",{className:"liq-flex liq-max-w-full liq-items-center liq-gap-2",children:[e.jsx("button",{disabled:n||l.isConnecting,onClick:()=>l.connect(),className:"liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",children:e.jsx("div",{className:"liq-flex liq-items-center",children:e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:l.isConnecting?"Connecting...":"Connect"}),e.jsx("img",{src:i==null?void 0:i.pngUrl,alt:"",className:"liq-w-4 liq-h-4 liq-rounded-sm"}),e.jsx("div",{className:"liq-truncate md:liq-text-clip",children:t.getDisplayName(i)})]})})}),l.isConnecting&&e.jsx("button",{type:"button",onClick:()=>void l.cancelPendingConnection(),className:"liq-shrink-0 liq-rounded-lg liq-px-2 liq-py-1 liq-text-xs liq-font-medium liq-text-neutral-400 hover:liq-text-white",children:"Cancel"})]}):e.jsx(g.SwitchChainButton,{disabled:n,className:"liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",children:e.jsx("div",{className:"liq-flex liq-items-center",children:e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:o.isConnecting?"Connecting...":"Connect"}),e.jsx("img",{src:i==null?void 0:i.pngUrl,alt:"",className:"liq-w-4 liq-h-4 liq-rounded-sm"}),e.jsx("div",{className:"liq-truncate md:liq-text-clip",children:t.getDisplayName(i)})]})})})};exports.BridgeAccountDisplay=_;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),x=require("@fortawesome/free-solid-svg-icons/faPowerOff"),p=require("@fortawesome/react-fontawesome"),g=require("@reown/appkit/react"),r=require("../../../helpers/getDisplayName.js"),j=require("./SwitchChainButton.js"),y=require("../../../types/chainType.js"),f=require("../../hooks/useAccount.js"),N=require("../../hooks/useNamespaceAddress.js"),b=require("../../hooks/useSuiConnect.js");require("clsx");require("tailwind-merge");require("../base/MxCard/MxCard.js");const _=require("../base/MxLink/MxLink.js");require("../base/MxSearch/MxSearch.js");require("@fortawesome/free-solid-svg-icons/faClose");require("@headlessui/react");require("react");require("react-dom");require("react-popper");require("../base/MxTooltip/components/TooltipContainer/TooltipContainer.js");require("../../constants/index.js");const w=require("../CopyButton/CopyButton.js"),h=require("../TrimAddress/TrimAddress.js"),k=({activeChain:s,disabled:n})=>{var c;const t=f.useAccount(),{disconnect:q}=g.useDisconnect(),l=b.useSuiConnect(),d=N.useNamespaceAddress(s==null?void 0:s.chainType),o=(s==null?void 0:s.chainType)===y.ChainType.sui,i=d??t.address,a=async u=>{try{u.preventDefault(),o?await l.disconnect():await q()}catch(m){console.error("Failed to disconnect:",m)}};return i?e.jsxs(e.Fragment,{children:[e.jsx("img",{src:s==null?void 0:s.pngUrl,alt:"",className:"liq-w-6 liq-h-6 liq-rounded-lg"}),e.jsx("span",{className:"liq-truncate liq-text-gray-400",children:r.getDisplayName(s)}),e.jsx("span",{className:"liq-ml-[-5px]",children:":"}),e.jsx("div",{className:"liq-flex liq-items-center liq-justify-between",children:e.jsxs("div",{className:"liq-flex liq-max-w-[10rem] liq-items-center liq-gap-1",children:[e.jsx(_.MxLink,{to:`${(c=s==null?void 0:s.blockExplorerUrls)==null?void 0:c[0]}/address/${i}`,target:"_blank",showExternalIcon:!1,className:"!liq-relative",children:e.jsx("div",{className:"liq-flex liq-min-w-0 liq-flex-grow liq-overflow-hidden liq-leading-none liq-max-w-[10rem]",children:e.jsx(h.TrimAddress,{address:i,"data-testid":"evm-address"})})}),e.jsx(w.CopyButton,{text:i,className:"liq-text-sm","data-testid":"evm-copy-button"})]})}),e.jsx("div",{className:"liq-ml-auto liq-mr-0 liq-flex liq-items-center liq-gap-1",children:e.jsx("button",{className:"focus-primary liq-flex liq-items-center liq-gap-1 liq-rounded-xl liq-px-0 liq-py-2 liq-text-sm liq-font-semibold liq-text-neutral-400 liq-transition-colors liq-duration-200 hover:enabled:liq-text-white disabled:liq-opacity-50",onClick:a,"data-testid":"evm-disconnect-button",children:e.jsx(p.FontAwesomeIcon,{icon:x.faPowerOff})})})]}):o?e.jsxs("div",{className:"liq-flex liq-max-w-full liq-items-center liq-gap-2",children:[e.jsx("button",{disabled:n||l.isConnecting,onClick:()=>l.connect(),className:"liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",children:e.jsx("div",{className:"liq-flex liq-items-center",children:e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:l.isConnecting?"Connecting...":"Connect"}),e.jsx("img",{src:s==null?void 0:s.pngUrl,alt:"",className:"liq-w-4 liq-h-4 liq-rounded-sm"}),e.jsx("div",{className:"liq-truncate md:liq-text-clip",children:r.getDisplayName(s)})]})})}),l.isConnecting&&e.jsx("button",{type:"button",onClick:()=>void l.cancelPendingConnection(),className:"liq-shrink-0 liq-rounded-lg liq-px-2 liq-py-1 liq-text-xs liq-font-medium liq-text-neutral-400 hover:liq-text-white",children:"Cancel"})]}):e.jsx(j.SwitchChainButton,{disabled:n,className:"liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",children:e.jsx("div",{className:"liq-flex liq-items-center",children:e.jsxs("div",{className:"liq-flex liq-justify-center liq-items-center liq-gap-2",children:[e.jsx("div",{children:t.isConnecting?"Connecting...":"Connect"}),e.jsx("img",{src:s==null?void 0:s.pngUrl,alt:"",className:"liq-w-4 liq-h-4 liq-rounded-sm"}),e.jsx("div",{className:"liq-truncate md:liq-text-clip",children:r.getDisplayName(s)})]})})})};exports.BridgeAccountDisplay=k;
@@ -1,16 +1,17 @@
1
- import { jsxs as t, Fragment as u, jsx as l } from "react/jsx-runtime";
2
- import { faPowerOff as f } from "@fortawesome/free-solid-svg-icons/faPowerOff";
3
- import { FontAwesomeIcon as x } from "@fortawesome/react-fontawesome";
4
- import { useDisconnect as g } from "@reown/appkit/react";
1
+ import { jsxs as r, Fragment as f, jsx as l } from "react/jsx-runtime";
2
+ import { faPowerOff as x } from "@fortawesome/free-solid-svg-icons/faPowerOff";
3
+ import { FontAwesomeIcon as g } from "@fortawesome/react-fontawesome";
4
+ import { useDisconnect as y } from "@reown/appkit/react";
5
5
  import { getDisplayName as s } from "../../../helpers/getDisplayName.mjs";
6
- import { SwitchChainButton as y } from "./SwitchChainButton.mjs";
7
- import { ChainType as N } from "../../../types/chainType.mjs";
8
- import { useAccount as b } from "../../hooks/useAccount.mjs";
9
- import { useSuiConnect as w } from "../../hooks/useSuiConnect.mjs";
6
+ import { SwitchChainButton as N } from "./SwitchChainButton.mjs";
7
+ import { ChainType as b } from "../../../types/chainType.mjs";
8
+ import { useAccount as w } from "../../hooks/useAccount.mjs";
9
+ import { useNamespaceAddress as h } from "../../hooks/useNamespaceAddress.mjs";
10
+ import { useSuiConnect as k } from "../../hooks/useSuiConnect.mjs";
10
11
  import "clsx";
11
12
  import "tailwind-merge";
12
13
  import "../base/MxCard/MxCard.mjs";
13
- import { MxLink as h } from "../base/MxLink/MxLink.mjs";
14
+ import { MxLink as A } from "../base/MxLink/MxLink.mjs";
14
15
  import "../base/MxSearch/MxSearch.mjs";
15
16
  import "@fortawesome/free-solid-svg-icons/faClose";
16
17
  import "@headlessui/react";
@@ -19,52 +20,52 @@ import "react-dom";
19
20
  import "react-popper";
20
21
  import "../base/MxTooltip/components/TooltipContainer/TooltipContainer.mjs";
21
22
  import "../../constants/index.mjs";
22
- import { CopyButton as k } from "../CopyButton/CopyButton.mjs";
23
- import { TrimAddress as A } from "../TrimAddress/TrimAddress.mjs";
24
- const W = ({
25
- activeChain: i,
23
+ import { CopyButton as j } from "../CopyButton/CopyButton.mjs";
24
+ import { TrimAddress as D } from "../TrimAddress/TrimAddress.mjs";
25
+ const Z = ({
26
+ activeChain: e,
26
27
  disabled: o
27
28
  }) => {
28
29
  var d;
29
- const m = b(), { disconnect: c } = g(), e = w(), n = (i == null ? void 0 : i.chainType) === N.sui, r = n ? e.suiAddress : m.address, q = async (a) => {
30
+ const n = w(), { disconnect: c } = y(), i = k(), q = h(e == null ? void 0 : e.chainType), m = (e == null ? void 0 : e.chainType) === b.sui, t = q ?? n.address, a = async (p) => {
30
31
  try {
31
- a.preventDefault(), n ? await e.disconnect() : await c();
32
- } catch (p) {
33
- console.error("Failed to disconnect:", p);
32
+ p.preventDefault(), m ? await i.disconnect() : await c();
33
+ } catch (u) {
34
+ console.error("Failed to disconnect:", u);
34
35
  }
35
36
  };
36
- return r ? /* @__PURE__ */ t(u, { children: [
37
+ return t ? /* @__PURE__ */ r(f, { children: [
37
38
  /* @__PURE__ */ l(
38
39
  "img",
39
40
  {
40
- src: i == null ? void 0 : i.pngUrl,
41
+ src: e == null ? void 0 : e.pngUrl,
41
42
  alt: "",
42
43
  className: "liq-w-6 liq-h-6 liq-rounded-lg"
43
44
  }
44
45
  ),
45
- /* @__PURE__ */ l("span", { className: "liq-truncate liq-text-gray-400", children: s(i) }),
46
+ /* @__PURE__ */ l("span", { className: "liq-truncate liq-text-gray-400", children: s(e) }),
46
47
  /* @__PURE__ */ l("span", { className: "liq-ml-[-5px]", children: ":" }),
47
- /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-justify-between", children: /* @__PURE__ */ t("div", { className: "liq-flex liq-max-w-[10rem] liq-items-center liq-gap-1", children: [
48
+ /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center liq-justify-between", children: /* @__PURE__ */ r("div", { className: "liq-flex liq-max-w-[10rem] liq-items-center liq-gap-1", children: [
48
49
  /* @__PURE__ */ l(
49
- h,
50
+ A,
50
51
  {
51
- to: `${(d = i == null ? void 0 : i.blockExplorerUrls) == null ? void 0 : d[0]}/address/${r}`,
52
+ to: `${(d = e == null ? void 0 : e.blockExplorerUrls) == null ? void 0 : d[0]}/address/${t}`,
52
53
  target: "_blank",
53
54
  showExternalIcon: !1,
54
55
  className: "!liq-relative",
55
56
  children: /* @__PURE__ */ l("div", { className: "liq-flex liq-min-w-0 liq-flex-grow liq-overflow-hidden liq-leading-none liq-max-w-[10rem]", children: /* @__PURE__ */ l(
56
- A,
57
+ D,
57
58
  {
58
- address: r,
59
+ address: t,
59
60
  "data-testid": "evm-address"
60
61
  }
61
62
  ) })
62
63
  }
63
64
  ),
64
65
  /* @__PURE__ */ l(
65
- k,
66
+ j,
66
67
  {
67
- text: r,
68
+ text: t,
68
69
  className: "liq-text-sm",
69
70
  "data-testid": "evm-copy-button"
70
71
  }
@@ -74,61 +75,61 @@ const W = ({
74
75
  "button",
75
76
  {
76
77
  className: "focus-primary liq-flex liq-items-center liq-gap-1 liq-rounded-xl liq-px-0 liq-py-2 liq-text-sm liq-font-semibold liq-text-neutral-400 liq-transition-colors liq-duration-200 hover:enabled:liq-text-white disabled:liq-opacity-50",
77
- onClick: q,
78
+ onClick: a,
78
79
  "data-testid": "evm-disconnect-button",
79
- children: /* @__PURE__ */ l(x, { icon: f })
80
+ children: /* @__PURE__ */ l(g, { icon: x })
80
81
  }
81
82
  ) })
82
- ] }) : n ? /* @__PURE__ */ t("div", { className: "liq-flex liq-max-w-full liq-items-center liq-gap-2", children: [
83
+ ] }) : m ? /* @__PURE__ */ r("div", { className: "liq-flex liq-max-w-full liq-items-center liq-gap-2", children: [
83
84
  /* @__PURE__ */ l(
84
85
  "button",
85
86
  {
86
- disabled: o || e.isConnecting,
87
- onClick: () => e.connect(),
87
+ disabled: o || i.isConnecting,
88
+ onClick: () => i.connect(),
88
89
  className: "liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",
89
- children: /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center", children: /* @__PURE__ */ t("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
90
- /* @__PURE__ */ l("div", { children: e.isConnecting ? "Connecting..." : "Connect" }),
90
+ children: /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center", children: /* @__PURE__ */ r("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
91
+ /* @__PURE__ */ l("div", { children: i.isConnecting ? "Connecting..." : "Connect" }),
91
92
  /* @__PURE__ */ l(
92
93
  "img",
93
94
  {
94
- src: i == null ? void 0 : i.pngUrl,
95
+ src: e == null ? void 0 : e.pngUrl,
95
96
  alt: "",
96
97
  className: "liq-w-4 liq-h-4 liq-rounded-sm"
97
98
  }
98
99
  ),
99
- /* @__PURE__ */ l("div", { className: "liq-truncate md:liq-text-clip", children: s(i) })
100
+ /* @__PURE__ */ l("div", { className: "liq-truncate md:liq-text-clip", children: s(e) })
100
101
  ] }) })
101
102
  }
102
103
  ),
103
- e.isConnecting && /* @__PURE__ */ l(
104
+ i.isConnecting && /* @__PURE__ */ l(
104
105
  "button",
105
106
  {
106
107
  type: "button",
107
- onClick: () => void e.cancelPendingConnection(),
108
+ onClick: () => void i.cancelPendingConnection(),
108
109
  className: "liq-shrink-0 liq-rounded-lg liq-px-2 liq-py-1 liq-text-xs liq-font-medium liq-text-neutral-400 hover:liq-text-white",
109
110
  children: "Cancel"
110
111
  }
111
112
  )
112
113
  ] }) : /* @__PURE__ */ l(
113
- y,
114
+ N,
114
115
  {
115
116
  disabled: o,
116
117
  className: "liq-rounded-lg liq-font-semibold liq-transition-colors liq-duration-200 disabled:liq-opacity-50 liq-bg-neutral-750 !liq-text-primary-200 hover:enabled:liq-bg-primary liq-px-2",
117
- children: /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center", children: /* @__PURE__ */ t("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
118
- /* @__PURE__ */ l("div", { children: m.isConnecting ? "Connecting..." : "Connect" }),
118
+ children: /* @__PURE__ */ l("div", { className: "liq-flex liq-items-center", children: /* @__PURE__ */ r("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
119
+ /* @__PURE__ */ l("div", { children: n.isConnecting ? "Connecting..." : "Connect" }),
119
120
  /* @__PURE__ */ l(
120
121
  "img",
121
122
  {
122
- src: i == null ? void 0 : i.pngUrl,
123
+ src: e == null ? void 0 : e.pngUrl,
123
124
  alt: "",
124
125
  className: "liq-w-4 liq-h-4 liq-rounded-sm"
125
126
  }
126
127
  ),
127
- /* @__PURE__ */ l("div", { className: "liq-truncate md:liq-text-clip", children: s(i) })
128
+ /* @__PURE__ */ l("div", { className: "liq-truncate md:liq-text-clip", children: s(e) })
128
129
  ] }) })
129
130
  }
130
131
  );
131
132
  };
132
133
  export {
133
- W as BridgeAccountDisplay
134
+ Z as BridgeAccountDisplay
134
135
  };
@@ -0,0 +1,12 @@
1
+ import { ChainType } from '../../types/chainType';
2
+
3
+ /**
4
+ * Disconnects the previous chain namespace when the active chain type changes.
5
+ *
6
+ * This covers all paths that can change the chain type (token selection, direction
7
+ * toggle, etc.) and prevents stale SUI sessions from lingering after switching to
8
+ * EVM (and vice-versa) in mobile dapp browsers.
9
+ *
10
+ * Only reacts to genuine transitions — skips the initial undefined→value mount.
11
+ */
12
+ export declare function useDisconnectOnChainTypeChange(chainType: ChainType | undefined): void;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@reown/appkit/react"),s=require("react"),c=require("../../types/chainType.js");function r(n){const{disconnect:i}=o.useDisconnect(),t=s.useRef(void 0);s.useEffect(()=>{const e=t.current;t.current=n,!(e===void 0||e===n)&&(e===c.ChainType.sui?i({namespace:"sui"}):e===c.ChainType.evm&&i())},[n])}exports.useDisconnectOnChainTypeChange=r;
@@ -0,0 +1,13 @@
1
+ import { useDisconnect as t } from "@reown/appkit/react";
2
+ import { useRef as s, useEffect as c } from "react";
3
+ import { ChainType as r } from "../../types/chainType.mjs";
4
+ function p(n) {
5
+ const { disconnect: o } = t(), i = s(void 0);
6
+ c(() => {
7
+ const e = i.current;
8
+ i.current = n, !(e === void 0 || e === n) && (e === r.sui ? o({ namespace: "sui" }) : e === r.evm && o());
9
+ }, [n]);
10
+ }
11
+ export {
12
+ p as useDisconnectOnChainTypeChange
13
+ };