@matchain/matchid-sdk-react 0.1.42-alpha.2 → 0.1.42-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.
Files changed (63) hide show
  1. package/dist/{chunk-2YN5Y3SM.mjs → chunk-FZUZ63FZ.mjs} +2 -2
  2. package/dist/chunk-GEM2V3W6.mjs +4638 -0
  3. package/dist/chunk-GEM2V3W6.mjs.map +1 -0
  4. package/dist/chunk-SQIJR7RA.mjs +29 -0
  5. package/dist/chunk-SQIJR7RA.mjs.map +1 -0
  6. package/dist/components/index.js +647 -452
  7. package/dist/components/index.js.map +1 -1
  8. package/dist/components/index.mjs +4 -1
  9. package/dist/hooks/api/index.js +113 -76
  10. package/dist/hooks/api/index.js.map +1 -1
  11. package/dist/hooks/api/index.mjs +3 -2
  12. package/dist/hooks/index.js +321 -151
  13. package/dist/hooks/index.js.map +1 -1
  14. package/dist/hooks/index.mjs +2 -1
  15. package/dist/index.css +84 -4
  16. package/dist/index.js +1033 -625
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +6 -2
  19. package/dist/types/index.js +44 -0
  20. package/dist/types/index.js.map +1 -0
  21. package/dist/types/index.mjs +10 -0
  22. package/dist/types/index.mjs.map +1 -0
  23. package/example/package.json +1 -0
  24. package/example/src/App.tsx +54 -28
  25. package/example/src/components/ButtonGroup/index.tsx +10 -0
  26. package/example/src/components/Login/index.tsx +2 -2
  27. package/example/src/components/RoutePrivate/index.tsx +4 -3
  28. package/example/src/config/chains/index.ts +2 -0
  29. package/example/src/config/chains/matchMain.ts +27 -0
  30. package/example/src/config/chains/matchTest.ts +33 -0
  31. package/example/src/config/index.ts +6 -2
  32. package/example/src/pages/User/components/BindListModal.tsx +10 -0
  33. package/example/src/pages/User/components/PohListModal.tsx +10 -0
  34. package/example/src/pages/User/components/QueryDisplay.tsx +25 -0
  35. package/example/src/pages/{User.tsx → User/index.tsx} +55 -84
  36. package/example/src/pages/Wallet.tsx +133 -44
  37. package/example/src/store/useLocalStore.ts +45 -0
  38. package/package.json +7 -2
  39. package/dist/assets/icon/index.d.mts +0 -133
  40. package/dist/assets/icon/index.d.ts +0 -133
  41. package/dist/chunk-PZPEWHBV.mjs +0 -4251
  42. package/dist/chunk-PZPEWHBV.mjs.map +0 -1
  43. package/dist/components/index.d.mts +0 -4
  44. package/dist/components/index.d.ts +0 -4
  45. package/dist/config/chains/index.d.mts +0 -2
  46. package/dist/config/chains/index.d.ts +0 -2
  47. package/dist/hooks/api/index.d.mts +0 -5
  48. package/dist/hooks/api/index.d.ts +0 -5
  49. package/dist/hooks/index.d.mts +0 -4
  50. package/dist/hooks/index.d.ts +0 -4
  51. package/dist/index-B4YpKSY3.d.ts +0 -94
  52. package/dist/index-CxY3u9Rv.d.ts +0 -89
  53. package/dist/index-DCReY5T2.d.mts +0 -89
  54. package/dist/index-DXRGMAbv.d.mts +0 -83
  55. package/dist/index-DXRGMAbv.d.ts +0 -83
  56. package/dist/index-DbjibQ5d.d.mts +0 -65
  57. package/dist/index-GcpJCj6O.d.ts +0 -65
  58. package/dist/index-_k6h9w0P.d.mts +0 -94
  59. package/dist/index.d.mts +0 -33
  60. package/dist/index.d.ts +0 -33
  61. package/dist/types.d-DwF-Pkvh.d.mts +0 -179
  62. package/dist/types.d-DwF-Pkvh.d.ts +0 -179
  63. /package/dist/{chunk-2YN5Y3SM.mjs.map → chunk-FZUZ63FZ.mjs.map} +0 -0
@@ -41,6 +41,7 @@ __export(components_exports, {
41
41
  LoginPanel: () => LoginPanel,
42
42
  Modal: () => Modal,
43
43
  ModalWithHeader: () => ModalWithHeader,
44
+ Overlay: () => Overlay,
44
45
  PasswordModal: () => PasswordModal,
45
46
  Popover: () => Popover,
46
47
  SOLModal: () => SOLModal,
@@ -51,7 +52,7 @@ __export(components_exports, {
51
52
  module.exports = __toCommonJS(components_exports);
52
53
 
53
54
  // src/components/EmailModal/index.tsx
54
- var import_react15 = require("react");
55
+ var import_react18 = require("react");
55
56
 
56
57
  // src/assets/icon/ArrowLeftIcon.tsx
57
58
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -1123,15 +1124,24 @@ function useDownMd() {
1123
1124
  return isBelowMd;
1124
1125
  }
1125
1126
 
1126
- // src/components/Modal/index.tsx
1127
+ // src/components/Overlay/index.tsx
1128
+ var import_react2 = require("react");
1127
1129
  var import_jsx_runtime44 = require("react/jsx-runtime");
1128
- function Modal({
1130
+ function Overlay({
1131
+ isOpen = false,
1129
1132
  children,
1130
- isOpen,
1131
- width = 480,
1132
- zIndex = 100,
1133
- className = ""
1133
+ zIndex = 100
1134
1134
  }) {
1135
+ (0, import_react2.useEffect)(() => {
1136
+ if (isOpen) {
1137
+ document.body.style.overflow = "hidden";
1138
+ } else {
1139
+ document.body.style.overflow = "";
1140
+ }
1141
+ return () => {
1142
+ document.body.style.overflow = "";
1143
+ };
1144
+ }, [isOpen]);
1135
1145
  return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1136
1146
  "div",
1137
1147
  {
@@ -1139,15 +1149,27 @@ function Modal({
1139
1149
  style: {
1140
1150
  zIndex
1141
1151
  },
1142
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1143
- width
1144
- }, children: [
1145
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "matchid-modal-mobile-header" }),
1146
- children
1147
- ] })
1152
+ children
1148
1153
  }
1149
1154
  ) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {});
1150
1155
  }
1156
+
1157
+ // src/components/Modal/index.tsx
1158
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1159
+ function Modal({
1160
+ children,
1161
+ isOpen,
1162
+ width = 480,
1163
+ zIndex = 100,
1164
+ className = ""
1165
+ }) {
1166
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Overlay, { isOpen, zIndex, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1167
+ width
1168
+ }, children: [
1169
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "matchid-modal-mobile-header" }),
1170
+ children
1171
+ ] }) });
1172
+ }
1151
1173
  function ModalWithHeader({
1152
1174
  children,
1153
1175
  onBack,
@@ -1158,24 +1180,24 @@ function ModalWithHeader({
1158
1180
  ...props
1159
1181
  }) {
1160
1182
  const isDownMd = useDownMd();
1161
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Modal, { ...props, children: [
1162
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1163
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "matchid-modal-header-content", children: [
1164
- onBack && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1165
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "matchid-modal-header-title", children: title })
1183
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Modal, { ...props, children: [
1184
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1185
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "matchid-modal-header-content", children: [
1186
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1187
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "matchid-modal-header-title", children: title })
1166
1188
  ] }),
1167
- onClose && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1189
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1168
1190
  ] }),
1169
1191
  children
1170
1192
  ] });
1171
1193
  }
1172
1194
 
1173
1195
  // src/components/EmailModal/StepEmail.tsx
1174
- var import_react3 = require("react");
1196
+ var import_react4 = require("react");
1175
1197
 
1176
1198
  // src/utils/index.ts
1177
1199
  var getVersion = () => {
1178
- return "0.0.1";
1200
+ return "0.0.2";
1179
1201
  };
1180
1202
  function encodeBase64(input) {
1181
1203
  return btoa(unescape(encodeURIComponent(input)));
@@ -1199,7 +1221,7 @@ function getAppClientId() {
1199
1221
  }
1200
1222
 
1201
1223
  // src/components/Button/index.tsx
1202
- var import_jsx_runtime45 = require("react/jsx-runtime");
1224
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1203
1225
  function Button({
1204
1226
  size = "df",
1205
1227
  disabled = false,
@@ -1218,7 +1240,7 @@ function Button({
1218
1240
  onClick && onClick();
1219
1241
  }
1220
1242
  };
1221
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
1243
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1222
1244
  "button",
1223
1245
  {
1224
1246
  type,
@@ -1228,14 +1250,14 @@ function Button({
1228
1250
  ...style
1229
1251
  },
1230
1252
  onClick: onAction,
1231
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1253
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1232
1254
  }
1233
1255
  );
1234
1256
  }
1235
1257
 
1236
1258
  // src/components/Input/index.tsx
1237
- var import_react2 = require("react");
1238
- var import_jsx_runtime46 = require("react/jsx-runtime");
1259
+ var import_react3 = require("react");
1260
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1239
1261
  function Input({
1240
1262
  onChange,
1241
1263
  type,
@@ -1243,19 +1265,19 @@ function Input({
1243
1265
  className = "",
1244
1266
  ...props
1245
1267
  }) {
1246
- const [inputType, setInputType] = (0, import_react2.useState)(type);
1268
+ const [inputType, setInputType] = (0, import_react3.useState)(type);
1247
1269
  const isDownMd = useDownMd();
1248
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
1249
1271
  "div",
1250
1272
  {
1251
1273
  className: `matchid-input-box ${props.value && props.value.length > 0 ? "matchid-input-has-content" : ""} ${className}`,
1252
1274
  children: [
1253
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1254
- props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1275
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1276
+ props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1255
1277
  if (onChange) {
1256
1278
  onChange({ target: { value: "" } });
1257
1279
  }
1258
- }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1280
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1259
1281
  DeleteRoundIcon,
1260
1282
  {
1261
1283
  height: isDownMd ? 16 : 21,
@@ -1263,9 +1285,9 @@ function Input({
1263
1285
  color: "var(--matchid-input-delete-icon-color)"
1264
1286
  }
1265
1287
  ) }),
1266
- type === "password" && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1288
+ type === "password" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1267
1289
  setInputType(inputType === "password" ? "text" : "password");
1268
- }, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(CloseEyeIcon, { size: isDownMd ? 16 : 20 }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(OpenEyeIcon, { size: isDownMd ? 16 : 20 }) }),
1290
+ }, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CloseEyeIcon, { size: isDownMd ? 16 : 20 }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(OpenEyeIcon, { size: isDownMd ? 16 : 20 }) }),
1269
1291
  after
1270
1292
  ]
1271
1293
  }
@@ -1273,7 +1295,7 @@ function Input({
1273
1295
  }
1274
1296
 
1275
1297
  // src/components/Field/index.tsx
1276
- var import_jsx_runtime47 = require("react/jsx-runtime");
1298
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1277
1299
  function Field({
1278
1300
  label,
1279
1301
  children,
@@ -1281,37 +1303,37 @@ function Field({
1281
1303
  required,
1282
1304
  className = ""
1283
1305
  }) {
1284
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1285
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-field-label", children: [
1286
- required && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "matchid-field-required", children: "*" }),
1306
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1307
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "matchid-field-label", children: [
1308
+ required && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "matchid-field-required", children: "*" }),
1287
1309
  label
1288
1310
  ] }),
1289
1311
  children,
1290
- error && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-field-error", children: error })
1312
+ error && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "matchid-field-error", children: error })
1291
1313
  ] });
1292
1314
  }
1293
1315
 
1294
1316
  // src/components/EmailModal/StepEmail.tsx
1295
1317
  var import_react_intl = require("react-intl");
1296
- var import_jsx_runtime48 = require("react/jsx-runtime");
1318
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1297
1319
  function StepEmail(props) {
1298
1320
  const intl = (0, import_react_intl.useIntl)();
1299
- const [emailVal, setEmailVal] = (0, import_react3.useState)("");
1300
- (0, import_react3.useEffect)(() => {
1321
+ const [emailVal, setEmailVal] = (0, import_react4.useState)("");
1322
+ (0, import_react4.useEffect)(() => {
1301
1323
  if (props.email) {
1302
1324
  setEmailVal(props.email);
1303
1325
  }
1304
1326
  }, []);
1305
- const canContinue = (0, import_react3.useMemo)(() => {
1327
+ const canContinue = (0, import_react4.useMemo)(() => {
1306
1328
  return isValidEmail(emailVal);
1307
1329
  }, [emailVal]);
1308
1330
  const onContinue = async () => {
1309
1331
  props.onContinue(emailVal);
1310
1332
  };
1311
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "matchid-email-email-box", children: [
1312
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: intl.formatMessage({
1333
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-email-email-box", children: [
1334
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({
1313
1335
  id: "emailAddress"
1314
- }), children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
1336
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1315
1337
  Input,
1316
1338
  {
1317
1339
  placeholder: intl.formatMessage({
@@ -1321,9 +1343,9 @@ function StepEmail(props) {
1321
1343
  value: emailVal
1322
1344
  }
1323
1345
  ) }),
1324
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { disabled: !canContinue, style: {
1346
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { disabled: !canContinue, style: {
1325
1347
  marginTop: "64px"
1326
- }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1348
+ }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1327
1349
  ] });
1328
1350
  }
1329
1351
 
@@ -1371,7 +1393,7 @@ var localStore = useLocalStore;
1371
1393
  var useLocalStore_default = useLocalStore;
1372
1394
 
1373
1395
  // src/hooks/useUserInfo.tsx
1374
- var import_react13 = require("react");
1396
+ var import_react16 = require("react");
1375
1397
 
1376
1398
  // src/api/request.ts
1377
1399
  var import_axios = __toESM(require("axios"));
@@ -1580,16 +1602,16 @@ var toBindWalletApi = ({
1580
1602
  };
1581
1603
 
1582
1604
  // src/MatchContext.tsx
1583
- var import_react12 = require("react");
1605
+ var import_react15 = require("react");
1584
1606
 
1585
1607
  // src/context/BusinessProvider.tsx
1586
- var import_react9 = require("react");
1608
+ var import_react12 = require("react");
1587
1609
 
1588
1610
  // src/components/PasswordModal/index.tsx
1589
- var import_react6 = require("react");
1611
+ var import_react8 = require("react");
1590
1612
 
1591
1613
  // src/hooks/useMatchEvents.ts
1592
- var import_react4 = require("react");
1614
+ var import_react5 = require("react");
1593
1615
 
1594
1616
  // src/hooks/eventManager.ts
1595
1617
  var EventManager = class {
@@ -1619,11 +1641,14 @@ var EventManager = class {
1619
1641
  var eventManager = new EventManager();
1620
1642
  var eventManager_default = eventManager;
1621
1643
 
1644
+ // src/hooks/useWallet.tsx
1645
+ var import_viem = require("viem");
1646
+
1622
1647
  // src/store/useStore.ts
1623
1648
  var import_zustand2 = require("zustand");
1624
1649
  var useStore = (0, import_zustand2.create)((set) => ({
1625
- walletIframeInited: false,
1626
- setWalletIframeInited: (inited) => set({ walletIframeInited: inited }),
1650
+ walletReady: false,
1651
+ setWalletReady: (inited) => set({ walletReady: inited }),
1627
1652
  recoveryModal: {
1628
1653
  open: false,
1629
1654
  success: async () => {
@@ -1638,149 +1663,335 @@ var useStore_default = useStore;
1638
1663
 
1639
1664
  // src/hooks/useWallet.tsx
1640
1665
  var import_accounts = require("viem/accounts");
1666
+ var import_viem2 = require("viem");
1667
+ var import_react6 = require("react");
1668
+ var import_viem3 = require("viem");
1669
+
1670
+ // src/store/useModalStore.ts
1671
+ var import_zustand3 = require("zustand");
1672
+ var useSOLModalStore = (0, import_zustand3.create)((set) => ({
1673
+ isOpen: false,
1674
+ type: "",
1675
+ open: (type) => set({ isOpen: true, type }),
1676
+ close: () => set({ isOpen: false })
1677
+ }));
1678
+ var useTRONModalStore = (0, import_zustand3.create)((set) => ({
1679
+ isOpen: false,
1680
+ type: "",
1681
+ open: (type) => set({ isOpen: true, type }),
1682
+ close: () => set({ isOpen: false })
1683
+ }));
1684
+ var useTONModalStore = (0, import_zustand3.create)((set) => ({
1685
+ isOpen: false,
1686
+ type: "",
1687
+ open: (type) => set({ isOpen: true, type }),
1688
+ close: () => set({ isOpen: false })
1689
+ }));
1690
+ var useBTCModalStore = (0, import_zustand3.create)((set) => ({
1691
+ isOpen: false,
1692
+ type: "",
1693
+ open: (type) => set({ isOpen: true, type }),
1694
+ close: () => set({ isOpen: false })
1695
+ }));
1696
+ var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
1697
+ type: "",
1698
+ isOpen: false,
1699
+ open: (type) => set({ isOpen: true, type }),
1700
+ close: () => set({ isOpen: false })
1701
+ }));
1702
+ var useHashPanelStore = (0, import_zustand3.create)((set) => ({
1703
+ isOpen: false,
1704
+ hash: null,
1705
+ chain: null,
1706
+ open: (params) => set({
1707
+ isOpen: true,
1708
+ hash: params?.hash || null,
1709
+ chain: params?.chain || null
1710
+ }),
1711
+ close: () => set({ isOpen: false })
1712
+ }));
1713
+
1714
+ // src/hooks/useWallet.tsx
1641
1715
  var AppClientId = "react-sdk-" + getVersion();
1642
1716
  function useWallet() {
1643
1717
  const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
1644
- const { setRecoveryModal, closeRecoveryModal } = useStore_default();
1645
- const initWallet = ({
1718
+ const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
1719
+ const { open: openHashPanel } = useHashPanelStore();
1720
+ const initCore = ({
1646
1721
  did,
1647
1722
  address: address2
1648
1723
  }) => {
1649
- return window.waitMatchUntilWalletMessage(
1650
- "initCore",
1724
+ return window.matchProvider.waitUntilWalletMessage(
1651
1725
  {
1652
- AppId: appid,
1653
- AppClientId,
1654
- UserId: did,
1655
- AccessToken: token,
1656
- Address: address2
1726
+ method: "initCore",
1727
+ data: {
1728
+ AppId: appid,
1729
+ AppClientId,
1730
+ UserId: did,
1731
+ AccessToken: token,
1732
+ Address: address2
1733
+ }
1657
1734
  }
1658
1735
  );
1659
1736
  };
1737
+ const generateEmbeddedWallets = async (data) => {
1738
+ return await window.matchProvider.waitUntilWalletMessage({
1739
+ method: "generateEmbeddedWallets",
1740
+ data
1741
+ });
1742
+ };
1743
+ const recoveryEmbeddedWallets = async (data) => {
1744
+ return await window.matchProvider.waitUntilWalletMessage({
1745
+ method: "recoveryEmbeddedWallets",
1746
+ data
1747
+ });
1748
+ };
1660
1749
  const isRecovered = async () => {
1661
- const res = await window.waitMatchUntilWalletMessage("isRecovered");
1750
+ const res = await window.matchProvider.waitUntilWalletMessage({
1751
+ method: "isRecovered"
1752
+ });
1662
1753
  return res.isRecovered;
1663
1754
  };
1664
- const generateWallet = async ({
1665
- did,
1666
- userPasscode,
1667
- recoveryType = "user_passcode_recovery_key"
1755
+ const recoverAfter = async ({
1756
+ chainType,
1757
+ handle
1668
1758
  }) => {
1669
- return await window.waitMatchUntilWalletMessage("generateWallet", {
1670
- chainType: "ethereum",
1671
- recoveryType,
1672
- userPasscode
1673
- });
1674
- };
1675
- const recoverAfter = async (func) => {
1676
1759
  return new Promise(async (resolve, reject) => {
1677
1760
  const res = await isRecovered();
1678
- matchlog_default.log("isRecovered", res);
1679
- if (!res) {
1680
- await initWallet({
1681
- address: overview?.address || "",
1682
- did: overview?.did?.split(":")[2] || ""
1683
- });
1684
- if (walletConfig.type == "UserPasscode") {
1685
- setRecoveryModal({
1686
- open: true,
1687
- success: async () => {
1688
- matchlog_default.log("recover Success");
1689
- await func(resolve, reject);
1690
- },
1691
- close: async () => {
1692
- closeRecoveryModal();
1693
- reject(new Error("recover modal close"));
1694
- }
1695
- });
1696
- return;
1697
- }
1698
- await recoveryWallet("ethereum", "base_generated_recovery_key");
1699
- await func(resolve, reject);
1700
- } else {
1701
- await recoveryWallet("ethereum", "user_passcode_recovery_key");
1702
- await func(resolve, reject);
1761
+ matchlog_default.log("sdk.mpc.isRecovered", res);
1762
+ if (res) {
1763
+ await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
1764
+ await handle(resolve, reject);
1765
+ return;
1703
1766
  }
1767
+ setRecoveryModal({
1768
+ chainType,
1769
+ open: true,
1770
+ success: async () => {
1771
+ closeRecoveryModal();
1772
+ matchlog_default.log("sdk.mpc.recover", "Success");
1773
+ await handle(resolve, reject);
1774
+ },
1775
+ close: async () => {
1776
+ closeRecoveryModal();
1777
+ reject(new Error("recover modal close"));
1778
+ }
1779
+ });
1780
+ await initCore({
1781
+ address: overview?.address || "",
1782
+ did: overview?.did || ""
1783
+ });
1704
1784
  });
1705
1785
  };
1706
- const signMessage2 = async (message, type) => {
1786
+ const signMessage2 = async ({
1787
+ message,
1788
+ chainType = "ethereum" /* Ethereum */
1789
+ }) => {
1707
1790
  const getSign = async (resolve, reject) => {
1708
1791
  try {
1709
- const recoverRes = await window.waitMatchUntilWalletMessage("signMessage", {
1710
- message,
1711
- chainType: type
1792
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1793
+ method: "signMessage",
1794
+ data: {
1795
+ message,
1796
+ chainType
1797
+ }
1712
1798
  });
1713
- closeRecoveryModal();
1714
- resolve(recoverRes);
1799
+ resolve(recoverRes.message);
1715
1800
  } catch (error) {
1716
1801
  console.error("qwe-sign-error", error);
1717
1802
  reject(error);
1718
1803
  }
1719
1804
  };
1720
- return await recoverAfter(getSign);
1805
+ return await recoverAfter({
1806
+ handle: getSign,
1807
+ chainType
1808
+ });
1721
1809
  };
1722
- const signTransaction = async (transaction, type) => {
1810
+ const signTransaction = async ({
1811
+ transaction,
1812
+ chainType = "ethereum" /* Ethereum */,
1813
+ chain
1814
+ }) => {
1815
+ console.log("qwe-sign-transaction", transaction);
1723
1816
  const getSign = async (resolve, reject) => {
1724
1817
  try {
1725
- const recoverRes = await window.waitMatchUntilWalletMessage("signTransaction", {
1726
- transaction,
1727
- chainType: type
1818
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1819
+ method: "signTransaction",
1820
+ data: {
1821
+ transaction,
1822
+ chainType,
1823
+ chain
1824
+ }
1728
1825
  });
1729
- closeRecoveryModal();
1730
- resolve(recoverRes);
1826
+ resolve(recoverRes.message);
1731
1827
  } catch (error) {
1732
1828
  console.error("qwe-sign-error", error);
1733
1829
  reject(error);
1734
1830
  }
1735
1831
  };
1736
- return await recoverAfter(getSign);
1737
- };
1738
- const recoveryWallet = async (chainType, recoveryType, userPasscode) => {
1739
- return await window.waitMatchUntilWalletMessage("recoveryWallet", {
1740
- chainType,
1741
- recoveryType,
1742
- userPasscode
1832
+ return await recoverAfter({
1833
+ handle: getSign,
1834
+ chainType
1743
1835
  });
1744
1836
  };
1745
- const evmAccount = address ? (0, import_accounts.toAccount)({
1746
- address,
1747
- async signMessage({ message }) {
1748
- return await signMessage2(message);
1749
- },
1750
- async signTransaction(transaction, options) {
1751
- const { account, ...restTransaction } = transaction;
1752
- const sign = await signTransaction({
1753
- ...restTransaction
1754
- });
1755
- return sign;
1756
- },
1757
- async signTypedData(typedData) {
1758
- return "0x";
1759
- }
1760
- }) : void 0;
1837
+ const evmAccount = (0, import_react6.useMemo)(() => {
1838
+ return address ? (0, import_accounts.toAccount)({
1839
+ address,
1840
+ async signMessage({ message }) {
1841
+ return await signMessage2({
1842
+ message,
1843
+ chainType: "ethereum" /* Ethereum */
1844
+ });
1845
+ },
1846
+ async signTransaction(transaction, options) {
1847
+ const { account, chain, ...restTransaction } = transaction;
1848
+ console.log("qwe-sign-transaction", restTransaction, options);
1849
+ return await signTransaction({
1850
+ transaction: {
1851
+ ...restTransaction
1852
+ },
1853
+ chainType: "ethereum" /* Ethereum */,
1854
+ chain: {
1855
+ id: chain?.id || restTransaction.chainId,
1856
+ name: chain?.name,
1857
+ nativeCurrency: {
1858
+ name: chain?.nativeCurrency?.name || "ETH",
1859
+ symbol: chain?.nativeCurrency?.symbol || "ETH",
1860
+ decimals: chain?.nativeCurrency?.decimals || 18
1861
+ }
1862
+ }
1863
+ });
1864
+ },
1865
+ async signTypedData(typedData) {
1866
+ return "0x";
1867
+ }
1868
+ }) : void 0;
1869
+ }, [address]);
1870
+ (0, import_react6.useEffect)(() => {
1871
+ console.log("qwe-evmAccount", evmAccount);
1872
+ }, [evmAccount]);
1761
1873
  return {
1874
+ walletReady,
1762
1875
  evmAccount,
1763
1876
  address,
1764
- recoveryWallet,
1765
- initWallet,
1766
- generateWallet,
1877
+ initCore,
1767
1878
  signMessage: signMessage2,
1768
1879
  signTransaction,
1769
1880
  isRecovered,
1770
- recoverAfter
1881
+ recoverAfter,
1882
+ generateEmbeddedWallets,
1883
+ recoveryEmbeddedWallets,
1884
+ createWalletClient: (parameters) => {
1885
+ if (!evmAccount) {
1886
+ return;
1887
+ }
1888
+ const obj = (0, import_viem2.createWalletClient)({
1889
+ ...parameters,
1890
+ account: evmAccount
1891
+ });
1892
+ const sendTransaction = async (transaction) => {
1893
+ const getSign = async (resolve, reject) => {
1894
+ const { chain, ...restTransaction } = transaction;
1895
+ const chainId = chain ? chain.id : await obj.getChainId();
1896
+ const _chain = chain || obj.chain;
1897
+ const transactionId = Date.now().toString() + Math.random().toString().slice(6);
1898
+ const sendPrepareTransactionRequest = async () => {
1899
+ const { chain: chain2, account, ...prepareTransactionRequest } = await obj.prepareTransactionRequest(transaction);
1900
+ window.matchProvider.sendWalletMessage({
1901
+ method: "prepareTransactionRequest",
1902
+ data: {
1903
+ prepareTransactionRequest,
1904
+ transactionId
1905
+ }
1906
+ });
1907
+ };
1908
+ let interval = null;
1909
+ const timer = setTimeout(() => {
1910
+ sendPrepareTransactionRequest();
1911
+ interval = setInterval(() => {
1912
+ sendPrepareTransactionRequest();
1913
+ }, 1e4);
1914
+ }, 1500);
1915
+ try {
1916
+ const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
1917
+ method: "sendTransaction",
1918
+ data: {
1919
+ transactionId,
1920
+ transaction: {
1921
+ ...restTransaction
1922
+ },
1923
+ chainType: "ethereum" /* Ethereum */,
1924
+ chain: {
1925
+ id: chainId,
1926
+ name: _chain?.name,
1927
+ nativeCurrency: _chain?.nativeCurrency
1928
+ }
1929
+ }
1930
+ });
1931
+ openHashPanel();
1932
+ const txHash = await obj.sendRawTransaction({
1933
+ serializedTransaction
1934
+ });
1935
+ openHashPanel({
1936
+ hash: txHash,
1937
+ chain
1938
+ });
1939
+ clearTimeout(timer);
1940
+ clearInterval(interval);
1941
+ resolve(txHash);
1942
+ } catch (error) {
1943
+ console.error("qwe-sign-error", error);
1944
+ clearTimeout(timer);
1945
+ clearInterval(interval);
1946
+ reject(error);
1947
+ }
1948
+ };
1949
+ return await recoverAfter({
1950
+ handle: getSign,
1951
+ chainType: "ethereum" /* Ethereum */
1952
+ });
1953
+ };
1954
+ const deployContract = async (parameters2) => {
1955
+ const { abi, args, bytecode, ...request3 } = parameters2;
1956
+ const calldata = (0, import_viem3.encodeDeployData)({ abi, args, bytecode });
1957
+ return await sendTransaction({
1958
+ ...request3,
1959
+ data: calldata
1960
+ });
1961
+ };
1962
+ const writeContract = async (parameters2) => {
1963
+ const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
1964
+ const data = (0, import_viem.encodeFunctionData)({
1965
+ abi,
1966
+ args,
1967
+ functionName
1968
+ });
1969
+ return await sendTransaction({
1970
+ data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
1971
+ to: address2,
1972
+ ...request3
1973
+ });
1974
+ };
1975
+ return {
1976
+ ...obj,
1977
+ sendTransaction,
1978
+ deployContract,
1979
+ writeContract
1980
+ };
1981
+ }
1771
1982
  };
1772
1983
  }
1773
1984
 
1774
1985
  // src/hooks/useCopyClipboard.ts
1775
1986
  var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
1776
- var import_react5 = require("react");
1987
+ var import_react7 = require("react");
1777
1988
  function useCopyClipboard(timeout = 500) {
1778
- const [isCopied, setIsCopied] = (0, import_react5.useState)(false);
1779
- const staticCopy = (0, import_react5.useCallback)((text) => {
1989
+ const [isCopied, setIsCopied] = (0, import_react7.useState)(false);
1990
+ const staticCopy = (0, import_react7.useCallback)((text) => {
1780
1991
  const didCopy = (0, import_copy_to_clipboard.default)(text);
1781
1992
  setIsCopied(didCopy);
1782
1993
  }, []);
1783
- (0, import_react5.useEffect)(() => {
1994
+ (0, import_react7.useEffect)(() => {
1784
1995
  if (isCopied) {
1785
1996
  const hide = setTimeout(() => {
1786
1997
  setIsCopied(false);
@@ -1796,21 +2007,23 @@ function useCopyClipboard(timeout = 500) {
1796
2007
 
1797
2008
  // src/components/PasswordModal/index.tsx
1798
2009
  var import_react_intl2 = require("react-intl");
1799
- var import_jsx_runtime49 = require("react/jsx-runtime");
2010
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1800
2011
  function PasswordModal({
1801
2012
  title,
1802
2013
  isOpen,
1803
2014
  onSuccess,
2015
+ chainType = "ethereum" /* Ethereum */,
2016
+ recoveryType = "user_passcode_recovery_key" /* UserPasscode */,
1804
2017
  ...props
1805
2018
  }) {
1806
2019
  const { refreshOverview, overview } = useUserInfo();
1807
2020
  const { isLogin, did } = useUserInfo();
1808
- const [password, setPassword] = (0, import_react6.useState)("");
1809
- const [rePassword, setRePassword] = (0, import_react6.useState)("");
1810
- const [error, setError] = (0, import_react6.useState)("");
1811
- const { generateWallet, initWallet } = useWallet();
2021
+ const [password, setPassword] = (0, import_react8.useState)("");
2022
+ const [rePassword, setRePassword] = (0, import_react8.useState)("");
2023
+ const [error, setError] = (0, import_react8.useState)("");
2024
+ const { generateEmbeddedWallets, initCore } = useWallet();
1812
2025
  const intl = (0, import_react_intl2.useIntl)();
1813
- const passwordError = (0, import_react6.useMemo)(() => {
2026
+ const passwordError = (0, import_react8.useMemo)(() => {
1814
2027
  if (password.length < 6) return intl.formatMessage({
1815
2028
  id: "passwordMinError"
1816
2029
  }, {
@@ -1818,7 +2031,7 @@ function PasswordModal({
1818
2031
  });
1819
2032
  return "";
1820
2033
  }, [password]);
1821
- const rePasswordError = (0, import_react6.useMemo)(() => {
2034
+ const rePasswordError = (0, import_react8.useMemo)(() => {
1822
2035
  if (rePassword != password) {
1823
2036
  return intl.formatMessage({
1824
2037
  id: "passwordMatchError"
@@ -1826,25 +2039,25 @@ function PasswordModal({
1826
2039
  }
1827
2040
  return "";
1828
2041
  }, [rePassword, password]);
1829
- (0, import_react6.useEffect)(() => {
2042
+ (0, import_react8.useEffect)(() => {
1830
2043
  if (isOpen) {
1831
2044
  setPassword("");
1832
2045
  setRePassword("");
1833
2046
  }
1834
2047
  }, [isOpen, overview]);
1835
- const [isSubmitting, setIsSubmitting] = (0, import_react6.useState)(false);
2048
+ const [isSubmitting, setIsSubmitting] = (0, import_react8.useState)(false);
1836
2049
  const onContinue = async () => {
1837
2050
  if (isSubmitting) return;
1838
2051
  try {
1839
2052
  setIsSubmitting(true);
1840
- const did2 = overview ? overview.did.split(":")[2] : "";
1841
- await initWallet({
1842
- did: did2,
2053
+ await initCore({
2054
+ did: overview?.did || "",
1843
2055
  address: ""
1844
2056
  });
1845
- const address = await generateWallet({
1846
- did: did2,
1847
- userPasscode: password
2057
+ const address = await generateEmbeddedWallets({
2058
+ userPasscode: password,
2059
+ chainType,
2060
+ recoveryType
1848
2061
  });
1849
2062
  await refreshOverview();
1850
2063
  onSuccess && onSuccess();
@@ -1854,15 +2067,15 @@ function PasswordModal({
1854
2067
  setIsSubmitting(false);
1855
2068
  }
1856
2069
  };
1857
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2070
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
1858
2071
  id: "passwordTitle"
1859
- }), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-box", children: [
1860
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-header", children: [
1861
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PasswordRoundIcon, {}) }),
1862
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
2072
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-password-box", children: [
2073
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-password-header", children: [
2074
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PasswordRoundIcon, {}) }),
2075
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
1863
2076
  ] }),
1864
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-content", children: [
1865
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2077
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-password-content", children: [
2078
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
1866
2079
  Input,
1867
2080
  {
1868
2081
  placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
@@ -1872,9 +2085,9 @@ function PasswordModal({
1872
2085
  value: password
1873
2086
  }
1874
2087
  ) }),
1875
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({
2088
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: intl.formatMessage({
1876
2089
  id: "rePassword"
1877
- }), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2090
+ }), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
1878
2091
  Input,
1879
2092
  {
1880
2093
  placeholder: intl.formatMessage({
@@ -1887,7 +2100,7 @@ function PasswordModal({
1887
2100
  }
1888
2101
  ) })
1889
2102
  ] }),
1890
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2103
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
1891
2104
  Button,
1892
2105
  {
1893
2106
  disabled: password.length == 0 || !!passwordError || !!rePasswordError,
@@ -1896,79 +2109,60 @@ function PasswordModal({
1896
2109
  size: "lg",
1897
2110
  onClick: onContinue,
1898
2111
  loading: isSubmitting,
1899
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
2112
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
1900
2113
  }
1901
2114
  )
1902
2115
  ] }) });
1903
2116
  }
1904
2117
 
1905
2118
  // src/components/RecoveryModal/index.tsx
1906
- var import_react7 = require("react");
2119
+ var import_react9 = require("react");
1907
2120
  var import_react_intl3 = require("react-intl");
1908
- var import_jsx_runtime50 = require("react/jsx-runtime");
1909
-
1910
- // src/store/useModalStore.ts
1911
- var import_zustand3 = require("zustand");
1912
- var useSOLModalStore = (0, import_zustand3.create)((set) => ({
1913
- isOpen: false,
1914
- type: "",
1915
- open: (type) => set({ isOpen: true, type }),
1916
- close: () => set({ isOpen: false })
1917
- }));
1918
- var useTRONModalStore = (0, import_zustand3.create)((set) => ({
1919
- isOpen: false,
1920
- type: "",
1921
- open: (type) => set({ isOpen: true, type }),
1922
- close: () => set({ isOpen: false })
1923
- }));
1924
- var useTONModalStore = (0, import_zustand3.create)((set) => ({
1925
- isOpen: false,
1926
- type: "",
1927
- open: (type) => set({ isOpen: true, type }),
1928
- close: () => set({ isOpen: false })
1929
- }));
1930
- var useBTCModalStore = (0, import_zustand3.create)((set) => ({
1931
- isOpen: false,
1932
- type: "",
1933
- open: (type) => set({ isOpen: true, type }),
1934
- close: () => set({ isOpen: false })
1935
- }));
1936
- var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
1937
- type: "",
1938
- isOpen: false,
1939
- open: (type) => set({ isOpen: true, type }),
1940
- close: () => set({ isOpen: false })
1941
- }));
2121
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1942
2122
 
1943
2123
  // src/components/CEXBindModal/index.tsx
1944
- var import_react8 = require("react");
2124
+ var import_react10 = require("react");
1945
2125
  var import_react_intl4 = require("react-intl");
1946
- var import_jsx_runtime51 = require("react/jsx-runtime");
2126
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2127
+
2128
+ // src/components/HashPanel/index.tsx
2129
+ var import_viem4 = require("viem");
2130
+ var import_react11 = require("react");
2131
+ var import_react_query = require("@tanstack/react-query");
2132
+
2133
+ // src/components/Drawer/index.tsx
2134
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2135
+
2136
+ // src/components/ModalDrawer/index.tsx
2137
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2138
+
2139
+ // src/components/HashPanel/index.tsx
2140
+ var import_jsx_runtime55 = require("react/jsx-runtime");
1947
2141
 
1948
2142
  // src/context/BusinessProvider.tsx
1949
- var import_jsx_runtime52 = require("react/jsx-runtime");
2143
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1950
2144
 
1951
2145
  // src/context/index.tsx
1952
- var import_jsx_runtime53 = (
2146
+ var import_jsx_runtime57 = (
1953
2147
  // <MpcWalletProvider>
1954
2148
  require("react/jsx-runtime")
1955
2149
  );
1956
2150
 
1957
2151
  // src/hooks/useWalletInit.ts
1958
- var import_react10 = require("react");
2152
+ var import_react13 = require("react");
1959
2153
  var AppClientId2 = getAppClientId();
1960
2154
 
1961
2155
  // src/hooks/useInit.tsx
1962
- var import_react11 = require("react");
2156
+ var import_react14 = require("react");
1963
2157
 
1964
2158
  // src/MatchContext.tsx
1965
- var import_react_query = require("@tanstack/react-query");
2159
+ var import_react_query2 = require("@tanstack/react-query");
1966
2160
  var import_react_intl5 = require("react-intl");
1967
- var import_jsx_runtime54 = require("react/jsx-runtime");
1968
- var queryClient = new import_react_query.QueryClient();
1969
- var MatchContext = (0, import_react12.createContext)(void 0);
2161
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2162
+ var queryClient = new import_react_query2.QueryClient();
2163
+ var MatchContext = (0, import_react15.createContext)(void 0);
1970
2164
  var useMatch = () => {
1971
- const context = (0, import_react12.useContext)(MatchContext);
2165
+ const context = (0, import_react15.useContext)(MatchContext);
1972
2166
  if (context === void 0) {
1973
2167
  throw new Error("useMatch must be used within a MatchProvider");
1974
2168
  }
@@ -1995,7 +2189,7 @@ function useUserInfo() {
1995
2189
  const { open: TONOpen } = useTONModalStore();
1996
2190
  const { open: BTCOpen } = useBTCModalStore();
1997
2191
  const { open: CEXBindOpen } = useCEXBindModalStore();
1998
- const isLogin = (0, import_react13.useMemo)(() => !!token, [token]);
2192
+ const isLogin = (0, import_react16.useMemo)(() => !!token && !!overview, [token, overview]);
1999
2193
  const logout = async () => {
2000
2194
  try {
2001
2195
  await toLogoutApi();
@@ -2229,7 +2423,7 @@ function useUserInfo() {
2229
2423
  }
2230
2424
 
2231
2425
  // src/components/EmailModal/StepVerify.tsx
2232
- var import_react14 = require("react");
2426
+ var import_react17 = require("react");
2233
2427
 
2234
2428
  // src/config/index.tsx
2235
2429
  var EMAIL_INTERVAL = 60;
@@ -2237,21 +2431,21 @@ var EMAIL_CODE_LENGTH = 6;
2237
2431
 
2238
2432
  // src/components/EmailModal/StepVerify.tsx
2239
2433
  var import_react_intl6 = require("react-intl");
2240
- var import_jsx_runtime55 = require("react/jsx-runtime");
2434
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2241
2435
  function StepVerify(props) {
2242
2436
  const intl = (0, import_react_intl6.useIntl)();
2243
2437
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
2244
- const [error, setError] = (0, import_react14.useState)("");
2245
- const [code, setCode] = (0, import_react14.useState)("");
2246
- const [sending, setSending] = (0, import_react14.useState)(false);
2247
- const [submitting, setSubmitting] = (0, import_react14.useState)(false);
2248
- const sendTimeRef = (0, import_react14.useRef)(0);
2249
- const [sendBtnText, setSendBtnText] = (0, import_react14.useState)(intl.formatMessage({
2438
+ const [error, setError] = (0, import_react17.useState)("");
2439
+ const [code, setCode] = (0, import_react17.useState)("");
2440
+ const [sending, setSending] = (0, import_react17.useState)(false);
2441
+ const [submitting, setSubmitting] = (0, import_react17.useState)(false);
2442
+ const sendTimeRef = (0, import_react17.useRef)(0);
2443
+ const [sendBtnText, setSendBtnText] = (0, import_react17.useState)(intl.formatMessage({
2250
2444
  id: "send"
2251
2445
  }));
2252
2446
  const intervalTime = EMAIL_INTERVAL;
2253
2447
  const codeLength = EMAIL_CODE_LENGTH;
2254
- const intervalRef = (0, import_react14.useRef)(null);
2448
+ const intervalRef = (0, import_react17.useRef)(null);
2255
2449
  const isDownMd = useDownMd();
2256
2450
  const onSend = async () => {
2257
2451
  if (sendTimeRef.current > 0) {
@@ -2282,7 +2476,7 @@ function StepVerify(props) {
2282
2476
  setSending(false);
2283
2477
  }
2284
2478
  };
2285
- (0, import_react14.useEffect)(() => {
2479
+ (0, import_react17.useEffect)(() => {
2286
2480
  onSend();
2287
2481
  return () => {
2288
2482
  if (intervalRef.current) {
@@ -2290,7 +2484,7 @@ function StepVerify(props) {
2290
2484
  }
2291
2485
  };
2292
2486
  }, []);
2293
- const canContinue = (0, import_react14.useMemo)(() => {
2487
+ const canContinue = (0, import_react17.useMemo)(() => {
2294
2488
  return code.length === codeLength;
2295
2489
  }, [code]);
2296
2490
  const onContinue = async () => {
@@ -2314,17 +2508,17 @@ function StepVerify(props) {
2314
2508
  setSubmitting(false);
2315
2509
  }
2316
2510
  };
2317
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-box", children: [
2318
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header", children: [
2319
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
2320
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2321
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2322
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
2511
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-box", children: [
2512
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-header", children: [
2513
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
2514
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2515
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2516
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
2323
2517
  ] })
2324
2518
  ] }),
2325
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Field, { label: intl.formatMessage({
2519
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Field, { label: intl.formatMessage({
2326
2520
  id: "verificationCode"
2327
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2521
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2328
2522
  Input,
2329
2523
  {
2330
2524
  placeholder: intl.formatMessage({
@@ -2334,7 +2528,7 @@ function StepVerify(props) {
2334
2528
  maxLength: codeLength,
2335
2529
  onChange: (e) => setCode(e.target.value),
2336
2530
  value: code,
2337
- after: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2531
+ after: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2338
2532
  Button,
2339
2533
  {
2340
2534
  highlight: true,
@@ -2353,13 +2547,13 @@ function StepVerify(props) {
2353
2547
  )
2354
2548
  }
2355
2549
  ) }),
2356
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
2550
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
2357
2551
  ] });
2358
2552
  }
2359
2553
 
2360
2554
  // src/components/EmailModal/index.tsx
2361
2555
  var import_react_intl7 = require("react-intl");
2362
- var import_jsx_runtime56 = require("react/jsx-runtime");
2556
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2363
2557
  function EmailModal({
2364
2558
  isOpen = false,
2365
2559
  width = 480,
@@ -2367,16 +2561,16 @@ function EmailModal({
2367
2561
  onBack,
2368
2562
  onLogin
2369
2563
  }) {
2370
- const [step, setStep] = (0, import_react15.useState)("input");
2371
- const [emailVal, setEmailVal] = (0, import_react15.useState)("");
2564
+ const [step, setStep] = (0, import_react18.useState)("input");
2565
+ const [emailVal, setEmailVal] = (0, import_react18.useState)("");
2372
2566
  const intl = (0, import_react_intl7.useIntl)();
2373
- (0, import_react15.useEffect)(() => {
2567
+ (0, import_react18.useEffect)(() => {
2374
2568
  if (!isOpen) {
2375
2569
  setStep("input");
2376
2570
  setEmailVal("");
2377
2571
  }
2378
2572
  }, [isOpen]);
2379
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2573
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2380
2574
  ModalWithHeader,
2381
2575
  {
2382
2576
  isOpen,
@@ -2386,17 +2580,17 @@ function EmailModal({
2386
2580
  id: "email"
2387
2581
  }),
2388
2582
  onBack: step == "verify" ? () => setStep("input") : onBack,
2389
- children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2583
+ children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2390
2584
  setEmailVal(email);
2391
2585
  setStep("verify");
2392
- } }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2586
+ } }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2393
2587
  }
2394
2588
  );
2395
2589
  }
2396
2590
 
2397
2591
  // src/components/Popover/index.tsx
2398
- var import_react16 = require("react");
2399
- var import_jsx_runtime57 = require("react/jsx-runtime");
2592
+ var import_react19 = require("react");
2593
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2400
2594
  function Popover({
2401
2595
  children,
2402
2596
  content,
@@ -2405,8 +2599,8 @@ function Popover({
2405
2599
  className = "",
2406
2600
  gap = "20px"
2407
2601
  }) {
2408
- const [active, setActive] = (0, import_react16.useState)(false);
2409
- return children && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
2602
+ const [active, setActive] = (0, import_react19.useState)(false);
2603
+ return children && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
2410
2604
  "div",
2411
2605
  {
2412
2606
  onClick: () => {
@@ -2417,18 +2611,18 @@ function Popover({
2417
2611
  className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
2418
2612
  children: [
2419
2613
  children,
2420
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { style: {
2614
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { style: {
2421
2615
  paddingTop: gap
2422
- }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2616
+ }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2423
2617
  ]
2424
2618
  }
2425
2619
  );
2426
2620
  }
2427
2621
 
2428
2622
  // src/components/LoginBox/index.tsx
2429
- var import_react17 = require("react");
2623
+ var import_react20 = require("react");
2430
2624
  var import_react_intl8 = require("react-intl");
2431
- var import_jsx_runtime58 = require("react/jsx-runtime");
2625
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2432
2626
  var RecommendItem = ({
2433
2627
  icon,
2434
2628
  name,
@@ -2437,20 +2631,20 @@ var RecommendItem = ({
2437
2631
  children,
2438
2632
  footer
2439
2633
  }) => {
2440
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2441
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2442
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2443
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2444
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2634
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2635
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2636
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2637
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2638
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2445
2639
  ] }),
2446
- footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2640
+ footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2447
2641
  ArrowDownIcon,
2448
2642
  {
2449
2643
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
2450
2644
  size: 20,
2451
2645
  color: "var(--matchid-arrow-color)"
2452
2646
  }
2453
- ) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2647
+ ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2454
2648
  ArrowRightIcon,
2455
2649
  {
2456
2650
  className: "matchid-login-recommend-method-arrow",
@@ -2459,7 +2653,7 @@ var RecommendItem = ({
2459
2653
  }
2460
2654
  )
2461
2655
  ] }),
2462
- children && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2656
+ children && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2463
2657
  "div",
2464
2658
  {
2465
2659
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -2484,128 +2678,128 @@ function LoginBox({
2484
2678
  walletMethods = ["evm", "sol", "btc", "tron"],
2485
2679
  inModal = false
2486
2680
  }) {
2487
- const [emailOpen, setEmailOpen] = (0, import_react17.useState)(false);
2681
+ const [emailOpen, setEmailOpen] = (0, import_react20.useState)(false);
2488
2682
  const { login } = useUserInfo();
2489
- const [showWallet, setShowWallet] = (0, import_react17.useState)(false);
2683
+ const [showWallet, setShowWallet] = (0, import_react20.useState)(false);
2490
2684
  const intl = (0, import_react_intl8.useIntl)();
2491
2685
  const isDownMd = useDownMd();
2492
2686
  const methodMap = {
2493
2687
  wallet: {
2494
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2688
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2495
2689
  name: intl.formatMessage({ id: "wallet" }),
2496
2690
  onClick: () => setShowWallet(!showWallet),
2497
2691
  type: "wallet"
2498
2692
  },
2499
2693
  email: {
2500
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2694
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2501
2695
  name: intl.formatMessage({ id: "email" }),
2502
2696
  onClick: () => {
2503
2697
  setEmailOpen(true);
2504
2698
  }
2505
2699
  },
2506
2700
  google: {
2507
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2701
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2508
2702
  name: "Google",
2509
2703
  onClick: () => login("google")
2510
2704
  },
2511
2705
  twitter: {
2512
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2706
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2513
2707
  name: "X",
2514
2708
  onClick: () => login("twitter")
2515
2709
  },
2516
2710
  telegram: {
2517
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2711
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2518
2712
  name: "Telegram",
2519
2713
  onClick: () => login("telegram")
2520
2714
  },
2521
2715
  github: {
2522
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2716
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2523
2717
  name: "Github",
2524
2718
  onClick: () => login("github")
2525
2719
  },
2526
2720
  discord: {
2527
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2721
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2528
2722
  name: "Discord",
2529
2723
  onClick: () => login("discord")
2530
2724
  },
2531
2725
  linkedin: {
2532
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2726
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2533
2727
  name: "LinkedIn",
2534
2728
  onClick: () => login("linkedin")
2535
2729
  },
2536
2730
  facebook: {
2537
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2731
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2538
2732
  name: "Facebook",
2539
2733
  onClick: () => login("facebook")
2540
2734
  },
2541
2735
  youtube: {
2542
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2736
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2543
2737
  name: "Youtube",
2544
2738
  onClick: () => login("youtube")
2545
2739
  }
2546
2740
  };
2547
2741
  const walletMap = {
2548
2742
  evm: {
2549
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2550
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
2743
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2744
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
2551
2745
  name: "EVM",
2552
2746
  onClick: () => login("evm")
2553
2747
  },
2554
2748
  sol: {
2555
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2556
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
2749
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2750
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
2557
2751
  name: "SOL",
2558
2752
  onClick: () => login("sol")
2559
2753
  },
2560
2754
  btc: {
2561
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2562
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
2755
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2756
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
2563
2757
  name: "BTC",
2564
2758
  onClick: () => login("btc")
2565
2759
  },
2566
2760
  tron: {
2567
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2568
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
2761
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2762
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
2569
2763
  name: "TRON",
2570
2764
  onClick: () => login("tron")
2571
2765
  },
2572
2766
  ton: {
2573
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
2574
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
2767
+ icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
2768
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
2575
2769
  name: "TON",
2576
2770
  onClick: () => login("ton")
2577
2771
  }
2578
2772
  };
2579
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2580
- (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-box", children: [
2581
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2582
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2773
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
2774
+ (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-box", children: [
2775
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2776
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2583
2777
  RecommendItem,
2584
2778
  {
2585
2779
  icon: methodMap[m]?.icon,
2586
2780
  name: methodMap[m]?.name,
2587
2781
  onClick: methodMap[m]?.onClick,
2588
2782
  showChildren: m == "wallet" && showWallet,
2589
- children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2590
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2591
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: walletMethods.map((n) => {
2783
+ children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
2784
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2785
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: walletMethods.map((n) => {
2592
2786
  const m2 = walletMap[n];
2593
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
2787
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2594
2788
  "div",
2595
2789
  {
2596
2790
  className: "matchid-login-recommend-wallet-item",
2597
2791
  onClick: m2.onClick,
2598
2792
  children: [
2599
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2600
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2601
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2793
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2794
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2795
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2602
2796
  "div",
2603
2797
  {
2604
2798
  className: "matchid-login-recommend-wallet-item-hover-icon",
2605
2799
  children: m2.activeIcon
2606
2800
  }
2607
2801
  ),
2608
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2802
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2609
2803
  "span",
2610
2804
  {
2611
2805
  className: "matchid-login-recommend-wallet-item-name",
@@ -2613,7 +2807,7 @@ function LoginBox({
2613
2807
  }
2614
2808
  )
2615
2809
  ] }),
2616
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2810
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2617
2811
  ArrowRightIcon,
2618
2812
  {
2619
2813
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -2631,10 +2825,10 @@ function LoginBox({
2631
2825
  m
2632
2826
  );
2633
2827
  }) }),
2634
- methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-other", children: [
2635
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
2636
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2637
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2828
+ methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-other", children: [
2829
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
2830
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2831
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2638
2832
  "div",
2639
2833
  {
2640
2834
  className: "matchid-login-method-item",
@@ -2647,7 +2841,7 @@ function LoginBox({
2647
2841
  }) })
2648
2842
  ] })
2649
2843
  ] }),
2650
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2844
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2651
2845
  EmailModal,
2652
2846
  {
2653
2847
  isOpen: emailOpen,
@@ -2663,56 +2857,56 @@ function LoginBox({
2663
2857
  }
2664
2858
 
2665
2859
  // src/components/LoginButton/index.tsx
2666
- var import_react19 = require("react");
2860
+ var import_react22 = require("react");
2667
2861
 
2668
2862
  // src/components/LoginPanel/index.tsx
2669
2863
  var import_react_intl9 = require("react-intl");
2670
- var import_jsx_runtime59 = require("react/jsx-runtime");
2864
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2671
2865
  function LoginPanel({
2672
2866
  header,
2673
2867
  onClose,
2674
2868
  ...props
2675
2869
  }) {
2676
2870
  const isDownMd = useDownMd();
2677
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel", children: [
2678
- header ? header : /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header", children: [
2679
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2680
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
2681
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
2871
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel", children: [
2872
+ header ? header : /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel-header", children: [
2873
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2874
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
2875
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
2682
2876
  ] }),
2683
- onClose && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
2877
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
2684
2878
  ] }),
2685
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-divide" }),
2686
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(LoginBox, { ...props }) })
2879
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-divide" }),
2880
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginBox, { ...props }) })
2687
2881
  ] });
2688
2882
  }
2689
2883
 
2690
2884
  // src/components/LoginModal/index.tsx
2691
- var import_jsx_runtime60 = require("react/jsx-runtime");
2885
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2692
2886
  function LoginModal({
2693
2887
  isOpen = false,
2694
2888
  width = 480,
2695
2889
  ...props
2696
2890
  }) {
2697
2891
  const { isLogin } = useUserInfo();
2698
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2892
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2699
2893
  Modal,
2700
2894
  {
2701
2895
  isOpen: isOpen && !isLogin,
2702
2896
  width,
2703
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(LoginPanel, { ...props, inModal: true })
2897
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LoginPanel, { ...props, inModal: true })
2704
2898
  }
2705
2899
  );
2706
2900
  }
2707
2901
 
2708
2902
  // src/components/UserPopover/index.tsx
2709
- var import_react18 = require("react");
2903
+ var import_react21 = require("react");
2710
2904
 
2711
2905
  // src/assets/icon/ProfileIcon.tsx
2712
- var import_jsx_runtime61 = require("react/jsx-runtime");
2906
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2713
2907
  function ProfileIcon({ size = 24, color = "black", ...props }) {
2714
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
2715
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2908
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
2909
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2716
2910
  "path",
2717
2911
  {
2718
2912
  fillRule: "evenodd",
@@ -2721,7 +2915,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2721
2915
  fill: color
2722
2916
  }
2723
2917
  ),
2724
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2918
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2725
2919
  "path",
2726
2920
  {
2727
2921
  fillRule: "evenodd",
@@ -2735,10 +2929,10 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2735
2929
 
2736
2930
  // src/components/UserPopover/index.tsx
2737
2931
  var import_react_intl10 = require("react-intl");
2738
- var import_jsx_runtime62 = require("react/jsx-runtime");
2932
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2739
2933
  function UserContent() {
2740
2934
  const { logout, address, username } = useUserInfo();
2741
- const [logouting, setLogouting] = (0, import_react18.useState)(false);
2935
+ const [logouting, setLogouting] = (0, import_react21.useState)(false);
2742
2936
  const onLogout = async () => {
2743
2937
  if (logouting) return;
2744
2938
  try {
@@ -2756,34 +2950,34 @@ function UserContent() {
2756
2950
  rightIcon,
2757
2951
  onClick
2758
2952
  }) => {
2759
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2760
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
2953
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2954
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
2761
2955
  icon,
2762
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-user-popover-item-text", children })
2956
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "matchid-user-popover-item-text", children })
2763
2957
  ] }),
2764
2958
  rightIcon
2765
2959
  ] });
2766
2960
  };
2767
2961
  const UserDivider = () => {
2768
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: `matchid-user-popover-divider` });
2962
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `matchid-user-popover-divider` });
2769
2963
  };
2770
- const [usernameOpen, setUsernameOpen] = (0, import_react18.useState)(false);
2964
+ const [usernameOpen, setUsernameOpen] = (0, import_react21.useState)(false);
2771
2965
  const [copied, setCopied] = useCopyClipboard();
2772
2966
  const intl = (0, import_react_intl10.useIntl)();
2773
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-content", children: [
2774
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-list", children: [
2775
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserItem, { onClick: () => {
2967
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-content", children: [
2968
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-list", children: [
2969
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserItem, { onClick: () => {
2776
2970
  setCopied(address);
2777
- }, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
2778
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserDivider, {}),
2779
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserItem, { onClick: () => {
2971
+ }, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
2972
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserDivider, {}),
2973
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserItem, { onClick: () => {
2780
2974
  setUsernameOpen(true);
2781
- }, icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
2975
+ }, icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
2782
2976
  id: "setUsername"
2783
2977
  }) })
2784
2978
  ] }),
2785
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2786
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
2979
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2980
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
2787
2981
  setUsernameOpen(false);
2788
2982
  }, onSuccess: () => {
2789
2983
  setUsernameOpen(false);
@@ -2794,12 +2988,12 @@ function UserPopover({
2794
2988
  children,
2795
2989
  ...props
2796
2990
  }) {
2797
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserContent, {}), children });
2991
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserContent, {}), children });
2798
2992
  }
2799
2993
 
2800
2994
  // src/components/LoginButton/index.tsx
2801
2995
  var import_react_intl11 = require("react-intl");
2802
- var import_jsx_runtime63 = require("react/jsx-runtime");
2996
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2803
2997
  function LoginButton({
2804
2998
  loginRender,
2805
2999
  methods,
@@ -2813,10 +3007,10 @@ function LoginButton({
2813
3007
  }) {
2814
3008
  const intl = (0, import_react_intl11.useIntl)();
2815
3009
  const { isLogin, username } = useUserInfo();
2816
- const [loginOpen, setLoginOpen] = (0, import_react19.useState)(false);
3010
+ const [loginOpen, setLoginOpen] = (0, import_react22.useState)(false);
2817
3011
  if (!isLogin) {
2818
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2819
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3012
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
3013
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2820
3014
  LoginModal,
2821
3015
  {
2822
3016
  methods,
@@ -2826,32 +3020,32 @@ function LoginButton({
2826
3020
  onClose: () => setLoginOpen(false)
2827
3021
  }
2828
3022
  ),
2829
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2830
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UnLoginIcon_default, {}),
2831
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
3023
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
3024
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UnLoginIcon_default, {}),
3025
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
2832
3026
  ] })
2833
3027
  ] });
2834
3028
  }
2835
- return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_jsx_runtime63.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
2836
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginIcon_default, {}),
2837
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
3029
+ return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_jsx_runtime67.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
3030
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LoginIcon_default, {}),
3031
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
2838
3032
  id: "user"
2839
3033
  }) })
2840
3034
  ] }) });
2841
3035
  }
2842
3036
 
2843
3037
  // src/components/UsernameModal/index.tsx
2844
- var import_react20 = require("react");
3038
+ var import_react23 = require("react");
2845
3039
 
2846
3040
  // src/assets/icon/InfoRoundIcon.tsx
2847
- var import_jsx_runtime64 = require("react/jsx-runtime");
3041
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2848
3042
  function InfoRoundIcon({
2849
3043
  size,
2850
3044
  color = "#6E6E6E",
2851
3045
  ...props
2852
3046
  }) {
2853
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
2854
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3047
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
3048
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2855
3049
  "path",
2856
3050
  {
2857
3051
  fillRule: "evenodd",
@@ -2860,21 +3054,21 @@ function InfoRoundIcon({
2860
3054
  fill: color
2861
3055
  }
2862
3056
  ) }),
2863
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
3057
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
2864
3058
  ] });
2865
3059
  }
2866
3060
 
2867
3061
  // src/components/UsernameModal/index.tsx
2868
3062
  var import_react_intl12 = require("react-intl");
2869
- var import_jsx_runtime65 = require("react/jsx-runtime");
3063
+ var import_jsx_runtime69 = require("react/jsx-runtime");
2870
3064
  var ValidItem = ({
2871
3065
  success = false,
2872
3066
  text
2873
3067
  }) => {
2874
3068
  const isDownMd = useDownMd();
2875
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2876
- success ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2877
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: text })
3069
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
3070
+ success ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
3071
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: text })
2878
3072
  ] });
2879
3073
  };
2880
3074
  function UsernameModal({
@@ -2885,23 +3079,23 @@ function UsernameModal({
2885
3079
  }) {
2886
3080
  const { username, refreshOverview } = useUserInfo();
2887
3081
  const { isLogin } = useUserInfo();
2888
- const [val, setVal] = (0, import_react20.useState)(username);
2889
- const [error, setError] = (0, import_react20.useState)("");
3082
+ const [val, setVal] = (0, import_react23.useState)(username);
3083
+ const [error, setError] = (0, import_react23.useState)("");
2890
3084
  const isDownMd = useDownMd();
2891
- (0, import_react20.useEffect)(() => {
3085
+ (0, import_react23.useEffect)(() => {
2892
3086
  if (isOpen) {
2893
3087
  setVal(username);
2894
3088
  setError("");
2895
3089
  }
2896
3090
  }, [isOpen]);
2897
- const isValid = (0, import_react20.useMemo)(() => {
3091
+ const isValid = (0, import_react23.useMemo)(() => {
2898
3092
  return isValidUsername(val);
2899
3093
  }, [val]);
2900
- const isLength = (0, import_react20.useMemo)(() => {
3094
+ const isLength = (0, import_react23.useMemo)(() => {
2901
3095
  return val.length >= 2 && val.length <= 32;
2902
3096
  }, [val]);
2903
3097
  const isSafe = isValid && isLength;
2904
- const [isSubmitting, setIsSubmitting] = (0, import_react20.useState)(false);
3098
+ const [isSubmitting, setIsSubmitting] = (0, import_react23.useState)(false);
2905
3099
  const onSubmit = async () => {
2906
3100
  if (isSubmitting) return;
2907
3101
  try {
@@ -2922,12 +3116,12 @@ function UsernameModal({
2922
3116
  }
2923
3117
  };
2924
3118
  const intl = (0, import_react_intl12.useIntl)();
2925
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
3119
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2926
3120
  id: username ? "editUsernameTitle" : "setUsernameTitle"
2927
- }), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-username-box", children: [
2928
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Field, { label: intl.formatMessage({
3121
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "matchid-username-box", children: [
3122
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Field, { label: intl.formatMessage({
2929
3123
  id: "username"
2930
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3124
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2931
3125
  Input,
2932
3126
  {
2933
3127
  placeholder: intl.formatMessage({
@@ -2940,8 +3134,8 @@ function UsernameModal({
2940
3134
  value: val
2941
3135
  }
2942
3136
  ) }),
2943
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-valid", children: [
2944
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3137
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "matchid-valid", children: [
3138
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2945
3139
  ValidItem,
2946
3140
  {
2947
3141
  success: isValid,
@@ -2950,21 +3144,21 @@ function UsernameModal({
2950
3144
  })
2951
3145
  }
2952
3146
  ),
2953
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
3147
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
2954
3148
  id: "usernameLengthError"
2955
3149
  }) })
2956
3150
  ] }),
2957
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
3151
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
2958
3152
  marginTop: isDownMd ? "36px" : "64px"
2959
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
2960
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { style: {
3153
+ }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
3154
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { style: {
2961
3155
  marginTop: isDownMd ? "12px" : "24px"
2962
- }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
3156
+ }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
2963
3157
  ] }) });
2964
3158
  }
2965
3159
 
2966
3160
  // src/components/SOLModal/index.tsx
2967
- var import_react22 = __toESM(require("react"));
3161
+ var import_react25 = __toESM(require("react"));
2968
3162
  var import_web3 = require("@solana/web3.js");
2969
3163
  var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
2970
3164
  var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
@@ -2983,7 +3177,7 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
2983
3177
  var import_react_intl13 = require("react-intl");
2984
3178
 
2985
3179
  // src/components/WalletModalContent/index.tsx
2986
- var import_react21 = require("react");
3180
+ var import_react24 = require("react");
2987
3181
 
2988
3182
  // src/assets/wallet.ts
2989
3183
  var walletErrorImage = "data:image/png;base64,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";
@@ -2993,7 +3187,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
2993
3187
  var walletSigningImage = "data:image/png;base64,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";
2994
3188
 
2995
3189
  // src/components/WalletModalContent/index.tsx
2996
- var import_jsx_runtime66 = require("react/jsx-runtime");
3190
+ var import_jsx_runtime70 = require("react/jsx-runtime");
2997
3191
  function WalletModalContent({
2998
3192
  status,
2999
3193
  error,
@@ -3004,7 +3198,7 @@ function WalletModalContent({
3004
3198
  address,
3005
3199
  connected
3006
3200
  }) {
3007
- const pageData = (0, import_react21.useMemo)(() => {
3201
+ const pageData = (0, import_react24.useMemo)(() => {
3008
3202
  if (status == "success") {
3009
3203
  return {
3010
3204
  btnText: "Disconnect Wallet",
@@ -3063,12 +3257,12 @@ function WalletModalContent({
3063
3257
  statusImage: walletConnectImage
3064
3258
  };
3065
3259
  }, [visible, connected, status, error, address]);
3066
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-box`, children: [
3067
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-content`, children: [
3068
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: pageData.statusImage }),
3069
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3260
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `matchid-wallet-box`, children: [
3261
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `matchid-wallet-content`, children: [
3262
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("img", { src: pageData.statusImage }),
3263
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3070
3264
  ] }),
3071
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3265
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3072
3266
  Button,
3073
3267
  {
3074
3268
  block: true,
@@ -3083,7 +3277,7 @@ function WalletModalContent({
3083
3277
  }
3084
3278
 
3085
3279
  // src/components/SOLModal/index.tsx
3086
- var import_jsx_runtime67 = require("react/jsx-runtime");
3280
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3087
3281
  function WalletContent({
3088
3282
  onSuccess,
3089
3283
  type
@@ -3091,17 +3285,17 @@ function WalletContent({
3091
3285
  const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
3092
3286
  const wallet = (0, import_wallet_adapter_react.useWallet)();
3093
3287
  const { events, login } = useMatch();
3094
- const [status, setStatus] = (0, import_react22.useState)("");
3095
- const statusRef = import_react22.default.useRef(status);
3096
- const [error, setError] = (0, import_react22.useState)("");
3097
- (0, import_react22.useEffect)(() => {
3288
+ const [status, setStatus] = (0, import_react25.useState)("");
3289
+ const statusRef = import_react25.default.useRef(status);
3290
+ const [error, setError] = (0, import_react25.useState)("");
3291
+ (0, import_react25.useEffect)(() => {
3098
3292
  const init = async () => {
3099
3293
  await wallet.disconnect();
3100
3294
  setVisible(true);
3101
3295
  };
3102
3296
  init();
3103
3297
  }, []);
3104
- (0, import_react22.useEffect)(() => {
3298
+ (0, import_react25.useEffect)(() => {
3105
3299
  if (wallet.connected) {
3106
3300
  console.log("wallet.connected", wallet.connected);
3107
3301
  toLoginInWallet();
@@ -3162,7 +3356,7 @@ function WalletContent({
3162
3356
  statusRef.current = "";
3163
3357
  }
3164
3358
  };
3165
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3359
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3166
3360
  WalletModalContent,
3167
3361
  {
3168
3362
  connected: wallet.connected,
@@ -3223,15 +3417,15 @@ function SOLModal({
3223
3417
  ...props
3224
3418
  }) {
3225
3419
  const intl = (0, import_react_intl13.useIntl)();
3226
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3420
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3227
3421
  id: type == "bind" ? "bindWith" : "loginWith"
3228
3422
  }, {
3229
3423
  name: "SOL"
3230
- }), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
3424
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
3231
3425
  }
3232
3426
 
3233
3427
  // src/components/TRONModal/index.tsx
3234
- var import_react24 = __toESM(require("react"));
3428
+ var import_react27 = __toESM(require("react"));
3235
3429
  var import_react_intl14 = require("react-intl");
3236
3430
 
3237
3431
  // src/lib/tron/TronLinkAdapter.ts
@@ -3265,7 +3459,7 @@ var TronLinkAdapter = class {
3265
3459
  };
3266
3460
 
3267
3461
  // src/hooks/useTRONWallet.ts
3268
- var import_react23 = require("react");
3462
+ var import_react26 = require("react");
3269
3463
 
3270
3464
  // src/lib/tron/BitgetAdapter.ts
3271
3465
  var BitgetAdapter = class {
@@ -3310,9 +3504,9 @@ var OKXAdapter = class {
3310
3504
  // src/hooks/useTRONWallet.ts
3311
3505
  var useTRONWallet = () => {
3312
3506
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
3313
- const [installedWallets, setInstalledWallets] = (0, import_react23.useState)([]);
3314
- const [address, setAddress] = (0, import_react23.useState)(null);
3315
- (0, import_react23.useEffect)(() => {
3507
+ const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
3508
+ const [address, setAddress] = (0, import_react26.useState)(null);
3509
+ (0, import_react26.useEffect)(() => {
3316
3510
  const getInstalled = async () => {
3317
3511
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3318
3512
  wallet: wallet2,
@@ -3322,11 +3516,11 @@ var useTRONWallet = () => {
3322
3516
  };
3323
3517
  getInstalled();
3324
3518
  }, []);
3325
- const [wallet, chooseWallet] = (0, import_react23.useState)(null);
3519
+ const [wallet, chooseWallet] = (0, import_react26.useState)(null);
3326
3520
  const onConnect = async () => {
3327
3521
  setAddress(await wallet.connect());
3328
3522
  };
3329
- (0, import_react23.useEffect)(() => {
3523
+ (0, import_react26.useEffect)(() => {
3330
3524
  if (!wallet) {
3331
3525
  setAddress(null);
3332
3526
  }
@@ -3342,7 +3536,7 @@ var useTRONWallet = () => {
3342
3536
  };
3343
3537
 
3344
3538
  // src/components/TRONModal/index.tsx
3345
- var import_jsx_runtime68 = require("react/jsx-runtime");
3539
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3346
3540
  function TRONModal({
3347
3541
  type = "login",
3348
3542
  onSuccess,
@@ -3352,15 +3546,15 @@ function TRONModal({
3352
3546
  const intl = (0, import_react_intl14.useIntl)();
3353
3547
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
3354
3548
  const iconMaps = {
3355
- tronlink: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3356
- bitget: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3357
- okx: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3549
+ tronlink: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3550
+ bitget: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3551
+ okx: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3358
3552
  };
3359
3553
  const { events, login } = useMatch();
3360
- const [status, setStatus] = (0, import_react24.useState)("");
3361
- const statusRef = import_react24.default.useRef(status);
3362
- const [error, setError] = (0, import_react24.useState)("");
3363
- const connected = (0, import_react24.useMemo)(() => {
3554
+ const [status, setStatus] = (0, import_react27.useState)("");
3555
+ const statusRef = import_react27.default.useRef(status);
3556
+ const [error, setError] = (0, import_react27.useState)("");
3557
+ const connected = (0, import_react27.useMemo)(() => {
3364
3558
  return !!address;
3365
3559
  }, [address]);
3366
3560
  const disconnect = async () => {
@@ -3428,7 +3622,7 @@ function TRONModal({
3428
3622
  statusRef.current = "";
3429
3623
  }
3430
3624
  };
3431
- (0, import_react24.useEffect)(() => {
3625
+ (0, import_react27.useEffect)(() => {
3432
3626
  if (wallet) {
3433
3627
  console.log("onConnect");
3434
3628
  onConnect();
@@ -3436,21 +3630,21 @@ function TRONModal({
3436
3630
  setStatus("");
3437
3631
  }
3438
3632
  }, [wallet]);
3439
- (0, import_react24.useEffect)(() => {
3633
+ (0, import_react27.useEffect)(() => {
3440
3634
  if (address) {
3441
3635
  toLoginInWallet();
3442
3636
  }
3443
3637
  }, [address]);
3444
- (0, import_react24.useEffect)(() => {
3638
+ (0, import_react27.useEffect)(() => {
3445
3639
  if (!props.isOpen) {
3446
3640
  disconnect();
3447
3641
  }
3448
3642
  }, [props.isOpen]);
3449
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3643
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3450
3644
  id: type == "bind" ? "bindWith" : "loginWith"
3451
3645
  }, {
3452
3646
  name: "TRON"
3453
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3647
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3454
3648
  WalletModalContent,
3455
3649
  {
3456
3650
  error,
@@ -3463,9 +3657,9 @@ function TRONModal({
3463
3657
  setVisible: () => {
3464
3658
  }
3465
3659
  }
3466
- ) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3660
+ ) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3467
3661
  installedWallets.map((wallet2) => {
3468
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3662
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3469
3663
  RecommendItem,
3470
3664
  {
3471
3665
  icon: iconMaps[wallet2.walletKey],
@@ -3478,14 +3672,14 @@ function TRONModal({
3478
3672
  );
3479
3673
  }),
3480
3674
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3481
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3675
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3482
3676
  RecommendItem,
3483
3677
  {
3484
3678
  icon: iconMaps[wallet2.walletKey],
3485
3679
  name: wallet2.name,
3486
3680
  onClick: () => {
3487
3681
  },
3488
- footer: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { size: "sm", onClick: () => {
3682
+ footer: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { size: "sm", onClick: () => {
3489
3683
  window.open(wallet2.website);
3490
3684
  }, children: "Install" })
3491
3685
  },
@@ -3496,24 +3690,24 @@ function TRONModal({
3496
3690
  }
3497
3691
 
3498
3692
  // src/components/TONModal/index.tsx
3499
- var import_react25 = __toESM(require("react"));
3693
+ var import_react28 = __toESM(require("react"));
3500
3694
  var import_react_intl15 = require("react-intl");
3501
3695
  var import_ui_react = require("@tonconnect/ui-react");
3502
- var import_jsx_runtime69 = require("react/jsx-runtime");
3696
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3503
3697
  function WalletContent2({
3504
3698
  onSuccess,
3505
3699
  type
3506
3700
  }) {
3507
3701
  const { events, login } = useMatch();
3508
- const [connected, setConnected] = (0, import_react25.useState)(false);
3702
+ const [connected, setConnected] = (0, import_react28.useState)(false);
3509
3703
  const wallet = (0, import_ui_react.useTonWallet)();
3510
3704
  const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
3511
3705
  const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
3512
3706
  const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
3513
- const [status, setStatus] = (0, import_react25.useState)("");
3514
- const statusRef = import_react25.default.useRef(status);
3515
- const [error, setError] = (0, import_react25.useState)("");
3516
- (0, import_react25.useEffect)(() => {
3707
+ const [status, setStatus] = (0, import_react28.useState)("");
3708
+ const statusRef = import_react28.default.useRef(status);
3709
+ const [error, setError] = (0, import_react28.useState)("");
3710
+ (0, import_react28.useEffect)(() => {
3517
3711
  const init = async () => {
3518
3712
  if (wallet) {
3519
3713
  await tonConnectUI.disconnect();
@@ -3586,7 +3780,7 @@ function WalletContent2({
3586
3780
  }
3587
3781
  });
3588
3782
  }, []);
3589
- (0, import_react25.useEffect)(() => {
3783
+ (0, import_react28.useEffect)(() => {
3590
3784
  if (wallet) {
3591
3785
  setConnected(true);
3592
3786
  console.log("Wallet connected:", wallet);
@@ -3597,7 +3791,7 @@ function WalletContent2({
3597
3791
  setStatus("");
3598
3792
  }
3599
3793
  }, [wallet]);
3600
- (0, import_react25.useEffect)(() => {
3794
+ (0, import_react28.useEffect)(() => {
3601
3795
  console.log({
3602
3796
  state,
3603
3797
  wallet
@@ -3626,7 +3820,7 @@ function WalletContent2({
3626
3820
  }
3627
3821
  }
3628
3822
  }, [state]);
3629
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3823
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3630
3824
  WalletModalContent,
3631
3825
  {
3632
3826
  connected,
@@ -3660,21 +3854,21 @@ function TONModal({
3660
3854
  const intl = (0, import_react_intl15.useIntl)();
3661
3855
  const { endpoints, appid } = useLocalStore_default();
3662
3856
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
3663
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3857
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3664
3858
  id: type == "bind" ? "bindWith" : "loginWith"
3665
3859
  }, {
3666
3860
  name: "TON"
3667
- }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3861
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3668
3862
  import_ui_react.TonConnectUIProvider,
3669
3863
  {
3670
3864
  manifestUrl,
3671
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(WalletContent2, { onSuccess, type })
3865
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletContent2, { onSuccess, type })
3672
3866
  }
3673
3867
  ) });
3674
3868
  }
3675
3869
 
3676
3870
  // src/components/BTCModal/index.tsx
3677
- var import_react27 = __toESM(require("react"));
3871
+ var import_react30 = __toESM(require("react"));
3678
3872
  var import_react_intl16 = require("react-intl");
3679
3873
 
3680
3874
  // src/lib/btc/UnisatAdapter.ts
@@ -3746,7 +3940,7 @@ var XverseAdapter = class {
3746
3940
  }
3747
3941
  });
3748
3942
  } catch (err) {
3749
- console.error(err);
3943
+ matchlog_default.error(err);
3750
3944
  resolve(false);
3751
3945
  }
3752
3946
  });
@@ -3823,12 +4017,12 @@ var LeatherAdapter = class {
3823
4017
  };
3824
4018
 
3825
4019
  // src/hooks/useBTCWallet.ts
3826
- var import_react26 = require("react");
4020
+ var import_react29 = require("react");
3827
4021
  var useBTCWallet = () => {
3828
4022
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
3829
- const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
3830
- const [address, setAddress] = (0, import_react26.useState)(null);
3831
- (0, import_react26.useEffect)(() => {
4023
+ const [installedWallets, setInstalledWallets] = (0, import_react29.useState)([]);
4024
+ const [address, setAddress] = (0, import_react29.useState)(null);
4025
+ (0, import_react29.useEffect)(() => {
3832
4026
  const getInstalled = async () => {
3833
4027
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3834
4028
  wallet: wallet2,
@@ -3838,11 +4032,11 @@ var useBTCWallet = () => {
3838
4032
  };
3839
4033
  getInstalled();
3840
4034
  }, []);
3841
- const [wallet, chooseWallet] = (0, import_react26.useState)(null);
4035
+ const [wallet, chooseWallet] = (0, import_react29.useState)(null);
3842
4036
  const onConnect = async () => {
3843
4037
  setAddress(await wallet.connect());
3844
4038
  };
3845
- (0, import_react26.useEffect)(() => {
4039
+ (0, import_react29.useEffect)(() => {
3846
4040
  if (!wallet) {
3847
4041
  setAddress(null);
3848
4042
  }
@@ -3858,7 +4052,7 @@ var useBTCWallet = () => {
3858
4052
  };
3859
4053
 
3860
4054
  // src/components/BTCModal/index.tsx
3861
- var import_jsx_runtime70 = require("react/jsx-runtime");
4055
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3862
4056
  function BTCModal({
3863
4057
  type = "login",
3864
4058
  onSuccess,
@@ -3868,15 +4062,15 @@ function BTCModal({
3868
4062
  const intl = (0, import_react_intl16.useIntl)();
3869
4063
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
3870
4064
  const iconMaps = {
3871
- leather: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3872
- unisat: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3873
- xverse: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
4065
+ leather: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
4066
+ unisat: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
4067
+ xverse: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
3874
4068
  };
3875
4069
  const { events, login } = useMatch();
3876
- const [status, setStatus] = (0, import_react27.useState)("");
3877
- const statusRef = import_react27.default.useRef(status);
3878
- const [error, setError] = (0, import_react27.useState)("");
3879
- const connected = (0, import_react27.useMemo)(() => {
4070
+ const [status, setStatus] = (0, import_react30.useState)("");
4071
+ const statusRef = import_react30.default.useRef(status);
4072
+ const [error, setError] = (0, import_react30.useState)("");
4073
+ const connected = (0, import_react30.useMemo)(() => {
3880
4074
  return !!address;
3881
4075
  }, [address]);
3882
4076
  const disconnect = async () => {
@@ -3940,7 +4134,7 @@ function BTCModal({
3940
4134
  statusRef.current = "";
3941
4135
  }
3942
4136
  };
3943
- (0, import_react27.useEffect)(() => {
4137
+ (0, import_react30.useEffect)(() => {
3944
4138
  if (wallet) {
3945
4139
  console.log("onConnect");
3946
4140
  try {
@@ -3953,12 +4147,12 @@ function BTCModal({
3953
4147
  setStatus("");
3954
4148
  }
3955
4149
  }, [wallet]);
3956
- (0, import_react27.useEffect)(() => {
4150
+ (0, import_react30.useEffect)(() => {
3957
4151
  if (address) {
3958
4152
  toLoginInWallet();
3959
4153
  }
3960
4154
  }, [address]);
3961
- (0, import_react27.useEffect)(() => {
4155
+ (0, import_react30.useEffect)(() => {
3962
4156
  if (!props.isOpen) {
3963
4157
  disconnect();
3964
4158
  }
@@ -3970,11 +4164,11 @@ function BTCModal({
3970
4164
  statusRef.current = "";
3971
4165
  setError("");
3972
4166
  };
3973
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4167
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3974
4168
  id: type == "bind" ? "bindWith" : "loginWith"
3975
4169
  }, {
3976
4170
  name: "BTC"
3977
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4171
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3978
4172
  WalletModalContent,
3979
4173
  {
3980
4174
  error,
@@ -3987,9 +4181,9 @@ function BTCModal({
3987
4181
  setVisible: () => {
3988
4182
  }
3989
4183
  }
3990
- ) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "matchid-login-recommend-list", children: [
4184
+ ) : /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3991
4185
  installedWallets.map((wallet2) => {
3992
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4186
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3993
4187
  RecommendItem,
3994
4188
  {
3995
4189
  icon: iconMaps[wallet2.walletKey],
@@ -4002,14 +4196,14 @@ function BTCModal({
4002
4196
  );
4003
4197
  }),
4004
4198
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
4005
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4199
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
4006
4200
  RecommendItem,
4007
4201
  {
4008
4202
  icon: iconMaps[wallet2.walletKey],
4009
4203
  name: wallet2.name,
4010
4204
  onClick: () => {
4011
4205
  },
4012
- footer: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { size: "sm", onClick: () => {
4206
+ footer: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { size: "sm", onClick: () => {
4013
4207
  window.open(wallet2.website);
4014
4208
  }, children: "Install" })
4015
4209
  },
@@ -4031,6 +4225,7 @@ function BTCModal({
4031
4225
  LoginPanel,
4032
4226
  Modal,
4033
4227
  ModalWithHeader,
4228
+ Overlay,
4034
4229
  PasswordModal,
4035
4230
  Popover,
4036
4231
  SOLModal,