@matchain/matchid-sdk-react 0.1.42-alpha.1 → 0.1.42-alpha.10

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 (69) hide show
  1. package/dist/assets/icon/index.d.mts +1 -1
  2. package/dist/assets/icon/index.d.ts +1 -1
  3. package/dist/{chunk-U5KWO2YJ.mjs → chunk-N53ZMW5C.mjs} +2 -2
  4. package/dist/chunk-SQIJR7RA.mjs +29 -0
  5. package/dist/chunk-SQIJR7RA.mjs.map +1 -0
  6. package/dist/chunk-YG4MNAUD.mjs +4662 -0
  7. package/dist/chunk-YG4MNAUD.mjs.map +1 -0
  8. package/dist/components/index.d.mts +3 -2
  9. package/dist/components/index.d.ts +3 -2
  10. package/dist/components/index.js +676 -453
  11. package/dist/components/index.js.map +1 -1
  12. package/dist/components/index.mjs +4 -1
  13. package/dist/hooks/api/index.d.mts +2 -2
  14. package/dist/hooks/api/index.d.ts +2 -2
  15. package/dist/hooks/api/index.js +120 -76
  16. package/dist/hooks/api/index.js.map +1 -1
  17. package/dist/hooks/api/index.mjs +3 -2
  18. package/dist/hooks/index.d.mts +5 -2
  19. package/dist/hooks/index.d.ts +5 -2
  20. package/dist/hooks/index.js +328 -145
  21. package/dist/hooks/index.js.map +1 -1
  22. package/dist/hooks/index.mjs +2 -1
  23. package/dist/index-BxS06a5O.d.ts +50 -0
  24. package/dist/{index-Dq9Swg8r.d.ts → index-Ca9nh_8s.d.ts} +1 -1
  25. package/dist/{index-COlsBC-b.d.mts → index-CmH9iRLd.d.mts} +25 -12
  26. package/dist/{index-C3KZYrtu.d.mts → index-DFZpfAfc.d.mts} +1 -1
  27. package/dist/index-DKMrpRJC.d.ts +137 -0
  28. package/dist/{index-fS75Swm8.d.ts → index-DY_ReBra.d.ts} +25 -12
  29. package/dist/index-q5XDobUF.d.mts +50 -0
  30. package/dist/index-sOVSnYF4.d.mts +137 -0
  31. package/dist/index.css +84 -4
  32. package/dist/index.d.mts +9 -4
  33. package/dist/index.d.ts +9 -4
  34. package/dist/index.js +1100 -614
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.mjs +6 -2
  37. package/dist/mpc-CTbBWHld.d.mts +20 -0
  38. package/dist/mpc-CTbBWHld.d.ts +20 -0
  39. package/dist/types/index.d.mts +3 -0
  40. package/dist/types/index.d.ts +3 -0
  41. package/dist/types/index.js +44 -0
  42. package/dist/types/index.js.map +1 -0
  43. package/dist/types/index.mjs +10 -0
  44. package/dist/types/index.mjs.map +1 -0
  45. package/dist/types-CVwZEgQ0.d.mts +244 -0
  46. package/dist/types-CVwZEgQ0.d.ts +244 -0
  47. package/example/package.json +1 -0
  48. package/example/src/App.tsx +56 -27
  49. package/example/src/components/ButtonGroup/index.tsx +10 -0
  50. package/example/src/components/Login/index.tsx +2 -2
  51. package/example/src/components/RoutePrivate/index.tsx +4 -3
  52. package/example/src/config/chains/index.ts +2 -0
  53. package/example/src/config/chains/matchMain.ts +27 -0
  54. package/example/src/config/chains/matchTest.ts +33 -0
  55. package/example/src/config/index.ts +6 -2
  56. package/example/src/pages/User/components/BindListModal.tsx +10 -0
  57. package/example/src/pages/User/components/PohListModal.tsx +10 -0
  58. package/example/src/pages/User/components/QueryDisplay.tsx +25 -0
  59. package/example/src/pages/{User.tsx → User/index.tsx} +55 -84
  60. package/example/src/pages/Wallet.tsx +133 -44
  61. package/example/src/store/useLocalStore.ts +45 -0
  62. package/package.json +7 -2
  63. package/dist/chunk-SBOIXOAW.mjs +0 -4197
  64. package/dist/chunk-SBOIXOAW.mjs.map +0 -1
  65. package/dist/index-BrdP6eg5.d.ts +0 -93
  66. package/dist/index-D7bNSBwl.d.mts +0 -93
  67. package/dist/types.d-CLO_WLka.d.mts +0 -176
  68. package/dist/types.d-CLO_WLka.d.ts +0 -176
  69. /package/dist/{chunk-U5KWO2YJ.mjs.map → chunk-N53ZMW5C.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_react14 = 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
 
@@ -1358,7 +1380,11 @@ var persistedState = (0, import_middleware.persist)(
1358
1380
  address: "",
1359
1381
  setAddress: (address) => set({ address }),
1360
1382
  locale: "en",
1361
- setLocale: (locale) => set({ locale })
1383
+ setLocale: (locale) => set({ locale }),
1384
+ wallet: {
1385
+ type: "UserPasscode"
1386
+ },
1387
+ setWallet: (wallet) => set({ wallet })
1362
1388
  }),
1363
1389
  { name: "match-local" }
1364
1390
  );
@@ -1367,7 +1393,7 @@ var localStore = useLocalStore;
1367
1393
  var useLocalStore_default = useLocalStore;
1368
1394
 
1369
1395
  // src/hooks/useUserInfo.tsx
1370
- var import_react12 = require("react");
1396
+ var import_react16 = require("react");
1371
1397
 
1372
1398
  // src/api/request.ts
1373
1399
  var import_axios = __toESM(require("axios"));
@@ -1576,13 +1602,16 @@ var toBindWalletApi = ({
1576
1602
  };
1577
1603
 
1578
1604
  // src/MatchContext.tsx
1579
- var import_react11 = require("react");
1605
+ var import_react15 = require("react");
1606
+
1607
+ // src/context/BusinessProvider.tsx
1608
+ var import_react12 = require("react");
1580
1609
 
1581
1610
  // src/components/PasswordModal/index.tsx
1582
- var import_react6 = require("react");
1611
+ var import_react8 = require("react");
1583
1612
 
1584
1613
  // src/hooks/useMatchEvents.ts
1585
- var import_react4 = require("react");
1614
+ var import_react5 = require("react");
1586
1615
 
1587
1616
  // src/hooks/eventManager.ts
1588
1617
  var EventManager = class {
@@ -1612,11 +1641,14 @@ var EventManager = class {
1612
1641
  var eventManager = new EventManager();
1613
1642
  var eventManager_default = eventManager;
1614
1643
 
1644
+ // src/hooks/useWallet.tsx
1645
+ var import_viem = require("viem");
1646
+
1615
1647
  // src/store/useStore.ts
1616
1648
  var import_zustand2 = require("zustand");
1617
1649
  var useStore = (0, import_zustand2.create)((set) => ({
1618
- walletIframeInited: false,
1619
- setWalletIframeInited: (inited) => set({ walletIframeInited: inited }),
1650
+ walletReady: false,
1651
+ setWalletReady: (inited) => set({ walletReady: inited }),
1620
1652
  recoveryModal: {
1621
1653
  open: false,
1622
1654
  success: async () => {
@@ -1631,143 +1663,335 @@ var useStore_default = useStore;
1631
1663
 
1632
1664
  // src/hooks/useWallet.tsx
1633
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
1634
1715
  var AppClientId = "react-sdk-" + getVersion();
1635
1716
  function useWallet() {
1636
- const { appid, token, overview, address } = useLocalStore_default();
1637
- const { setRecoveryModal, closeRecoveryModal } = useStore_default();
1638
- const initWallet = ({
1717
+ const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
1718
+ const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
1719
+ const { open: openHashPanel } = useHashPanelStore();
1720
+ const initCore = ({
1639
1721
  did,
1640
1722
  address: address2
1641
1723
  }) => {
1642
- return window.waitMatchUntilWalletMessage(
1643
- "initCore",
1724
+ return window.matchProvider.waitUntilWalletMessage(
1644
1725
  {
1645
- AppId: appid,
1646
- AppClientId,
1647
- UserId: did,
1648
- AccessToken: token,
1649
- Address: address2
1726
+ method: "initCore",
1727
+ data: {
1728
+ AppId: appid,
1729
+ AppClientId,
1730
+ UserId: did,
1731
+ AccessToken: token,
1732
+ Address: address2
1733
+ }
1650
1734
  }
1651
1735
  );
1652
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
+ };
1653
1749
  const isRecovered = async () => {
1654
- const res = await window.waitMatchUntilWalletMessage("isRecovered");
1750
+ const res = await window.matchProvider.waitUntilWalletMessage({
1751
+ method: "isRecovered"
1752
+ });
1655
1753
  return res.isRecovered;
1656
1754
  };
1657
- const generateWallet = async ({
1658
- did,
1659
- userPasscode
1755
+ const recoverAfter = async ({
1756
+ chainType,
1757
+ handle
1660
1758
  }) => {
1661
- return await window.waitMatchUntilWalletMessage("generateWallet", {
1662
- chainType: "ethereum",
1663
- recoveryType: "user_passcode_recovery_key",
1664
- userPasscode
1665
- });
1666
- };
1667
- const recoverAfter = async (func) => {
1668
1759
  return new Promise(async (resolve, reject) => {
1669
1760
  const res = await isRecovered();
1670
- matchlog_default.log("isRecovered", res);
1671
- if (!res) {
1672
- setRecoveryModal({
1673
- open: true,
1674
- success: async () => {
1675
- matchlog_default.log("recover Success");
1676
- await func(resolve, reject);
1677
- },
1678
- close: async () => {
1679
- closeRecoveryModal();
1680
- reject(new Error("recover modal close"));
1681
- }
1682
- });
1683
- await initWallet({
1684
- address: overview?.address || "",
1685
- did: overview?.did?.split(":")[2] || ""
1686
- });
1687
- } else {
1688
- await recoveryWallet("ethereum", "user_passcode_recovery_key");
1689
- 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;
1690
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
+ });
1691
1784
  });
1692
1785
  };
1693
- const signMessage2 = async (message, type) => {
1786
+ const signMessage2 = async ({
1787
+ message,
1788
+ chainType = "ethereum" /* Ethereum */
1789
+ }) => {
1694
1790
  const getSign = async (resolve, reject) => {
1695
1791
  try {
1696
- const recoverRes = await window.waitMatchUntilWalletMessage("signMessage", {
1697
- message,
1698
- chainType: type
1792
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1793
+ method: "signMessage",
1794
+ data: {
1795
+ message,
1796
+ chainType
1797
+ }
1699
1798
  });
1700
- closeRecoveryModal();
1701
- resolve(recoverRes);
1799
+ resolve(recoverRes.message);
1702
1800
  } catch (error) {
1703
1801
  console.error("qwe-sign-error", error);
1704
1802
  reject(error);
1705
1803
  }
1706
1804
  };
1707
- return await recoverAfter(getSign);
1805
+ return await recoverAfter({
1806
+ handle: getSign,
1807
+ chainType
1808
+ });
1708
1809
  };
1709
- 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);
1710
1816
  const getSign = async (resolve, reject) => {
1711
1817
  try {
1712
- const recoverRes = await window.waitMatchUntilWalletMessage("signTransaction", {
1713
- transaction,
1714
- chainType: type
1818
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1819
+ method: "signTransaction",
1820
+ data: {
1821
+ transaction,
1822
+ chainType,
1823
+ chain
1824
+ }
1715
1825
  });
1716
- closeRecoveryModal();
1717
- resolve(recoverRes);
1826
+ resolve(recoverRes.message);
1718
1827
  } catch (error) {
1719
1828
  console.error("qwe-sign-error", error);
1720
1829
  reject(error);
1721
1830
  }
1722
1831
  };
1723
- return await recoverAfter(getSign);
1724
- };
1725
- const recoveryWallet = async (chainType, recoveryType, userPasscode) => {
1726
- return await window.waitMatchUntilWalletMessage("recoveryWallet", {
1727
- chainType,
1728
- recoveryType,
1729
- userPasscode
1832
+ return await recoverAfter({
1833
+ handle: getSign,
1834
+ chainType
1730
1835
  });
1731
1836
  };
1732
- const evmAccount = address ? (0, import_accounts.toAccount)({
1733
- address,
1734
- async signMessage({ message }) {
1735
- return await signMessage2(message);
1736
- },
1737
- async signTransaction(transaction, options) {
1738
- const { account, ...restTransaction } = transaction;
1739
- const sign = await signTransaction({
1740
- ...restTransaction
1741
- });
1742
- return sign;
1743
- },
1744
- async signTypedData(typedData) {
1745
- return "0x";
1746
- }
1747
- }) : 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]);
1748
1873
  return {
1874
+ walletReady,
1749
1875
  evmAccount,
1750
1876
  address,
1751
- recoveryWallet,
1752
- initWallet,
1753
- generateWallet,
1877
+ initCore,
1754
1878
  signMessage: signMessage2,
1755
1879
  signTransaction,
1756
1880
  isRecovered,
1757
- 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
+ }
1758
1982
  };
1759
1983
  }
1760
1984
 
1761
1985
  // src/hooks/useCopyClipboard.ts
1762
1986
  var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
1763
- var import_react5 = require("react");
1987
+ var import_react7 = require("react");
1764
1988
  function useCopyClipboard(timeout = 500) {
1765
- const [isCopied, setIsCopied] = (0, import_react5.useState)(false);
1766
- const staticCopy = (0, import_react5.useCallback)((text) => {
1989
+ const [isCopied, setIsCopied] = (0, import_react7.useState)(false);
1990
+ const staticCopy = (0, import_react7.useCallback)((text) => {
1767
1991
  const didCopy = (0, import_copy_to_clipboard.default)(text);
1768
1992
  setIsCopied(didCopy);
1769
1993
  }, []);
1770
- (0, import_react5.useEffect)(() => {
1994
+ (0, import_react7.useEffect)(() => {
1771
1995
  if (isCopied) {
1772
1996
  const hide = setTimeout(() => {
1773
1997
  setIsCopied(false);
@@ -1783,21 +2007,23 @@ function useCopyClipboard(timeout = 500) {
1783
2007
 
1784
2008
  // src/components/PasswordModal/index.tsx
1785
2009
  var import_react_intl2 = require("react-intl");
1786
- var import_jsx_runtime49 = require("react/jsx-runtime");
2010
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1787
2011
  function PasswordModal({
1788
2012
  title,
1789
2013
  isOpen,
1790
2014
  onSuccess,
2015
+ chainType = "ethereum" /* Ethereum */,
2016
+ recoveryType = "user_passcode_recovery_key" /* UserPasscode */,
1791
2017
  ...props
1792
2018
  }) {
1793
2019
  const { refreshOverview, overview } = useUserInfo();
1794
2020
  const { isLogin, did } = useUserInfo();
1795
- const [password, setPassword] = (0, import_react6.useState)("");
1796
- const [rePassword, setRePassword] = (0, import_react6.useState)("");
1797
- const [error, setError] = (0, import_react6.useState)("");
1798
- 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();
1799
2025
  const intl = (0, import_react_intl2.useIntl)();
1800
- const passwordError = (0, import_react6.useMemo)(() => {
2026
+ const passwordError = (0, import_react8.useMemo)(() => {
1801
2027
  if (password.length < 6) return intl.formatMessage({
1802
2028
  id: "passwordMinError"
1803
2029
  }, {
@@ -1805,7 +2031,7 @@ function PasswordModal({
1805
2031
  });
1806
2032
  return "";
1807
2033
  }, [password]);
1808
- const rePasswordError = (0, import_react6.useMemo)(() => {
2034
+ const rePasswordError = (0, import_react8.useMemo)(() => {
1809
2035
  if (rePassword != password) {
1810
2036
  return intl.formatMessage({
1811
2037
  id: "passwordMatchError"
@@ -1813,25 +2039,25 @@ function PasswordModal({
1813
2039
  }
1814
2040
  return "";
1815
2041
  }, [rePassword, password]);
1816
- (0, import_react6.useEffect)(() => {
2042
+ (0, import_react8.useEffect)(() => {
1817
2043
  if (isOpen) {
1818
2044
  setPassword("");
1819
2045
  setRePassword("");
1820
2046
  }
1821
2047
  }, [isOpen, overview]);
1822
- const [isSubmitting, setIsSubmitting] = (0, import_react6.useState)(false);
2048
+ const [isSubmitting, setIsSubmitting] = (0, import_react8.useState)(false);
1823
2049
  const onContinue = async () => {
1824
2050
  if (isSubmitting) return;
1825
2051
  try {
1826
2052
  setIsSubmitting(true);
1827
- const did2 = overview ? overview.did.split(":")[2] : "";
1828
- await initWallet({
1829
- did: did2,
2053
+ await initCore({
2054
+ did: overview?.did || "",
1830
2055
  address: ""
1831
2056
  });
1832
- const address = await generateWallet({
1833
- did: did2.split(":")[2],
1834
- userPasscode: password
2057
+ const address = await generateEmbeddedWallets({
2058
+ userPasscode: password,
2059
+ chainType,
2060
+ recoveryType
1835
2061
  });
1836
2062
  await refreshOverview();
1837
2063
  onSuccess && onSuccess();
@@ -1841,15 +2067,15 @@ function PasswordModal({
1841
2067
  setIsSubmitting(false);
1842
2068
  }
1843
2069
  };
1844
- 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({
1845
2071
  id: "passwordTitle"
1846
- }), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-box", children: [
1847
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-header", children: [
1848
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PasswordRoundIcon, {}) }),
1849
- /* @__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" }) })
1850
2076
  ] }),
1851
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-content", children: [
1852
- /* @__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)(
1853
2079
  Input,
1854
2080
  {
1855
2081
  placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
@@ -1859,9 +2085,9 @@ function PasswordModal({
1859
2085
  value: password
1860
2086
  }
1861
2087
  ) }),
1862
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({
2088
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: intl.formatMessage({
1863
2089
  id: "rePassword"
1864
- }), 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)(
1865
2091
  Input,
1866
2092
  {
1867
2093
  placeholder: intl.formatMessage({
@@ -1874,7 +2100,7 @@ function PasswordModal({
1874
2100
  }
1875
2101
  ) })
1876
2102
  ] }),
1877
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2103
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
1878
2104
  Button,
1879
2105
  {
1880
2106
  disabled: password.length == 0 || !!passwordError || !!rePasswordError,
@@ -1883,79 +2109,60 @@ function PasswordModal({
1883
2109
  size: "lg",
1884
2110
  onClick: onContinue,
1885
2111
  loading: isSubmitting,
1886
- 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" })
1887
2113
  }
1888
2114
  )
1889
2115
  ] }) });
1890
2116
  }
1891
2117
 
1892
2118
  // src/components/RecoveryModal/index.tsx
1893
- var import_react7 = require("react");
2119
+ var import_react9 = require("react");
1894
2120
  var import_react_intl3 = require("react-intl");
1895
- var import_jsx_runtime50 = require("react/jsx-runtime");
1896
-
1897
- // src/store/useModalStore.ts
1898
- var import_zustand3 = require("zustand");
1899
- var useSOLModalStore = (0, import_zustand3.create)((set) => ({
1900
- isOpen: false,
1901
- type: "",
1902
- open: (type) => set({ isOpen: true, type }),
1903
- close: () => set({ isOpen: false })
1904
- }));
1905
- var useTRONModalStore = (0, import_zustand3.create)((set) => ({
1906
- isOpen: false,
1907
- type: "",
1908
- open: (type) => set({ isOpen: true, type }),
1909
- close: () => set({ isOpen: false })
1910
- }));
1911
- var useTONModalStore = (0, import_zustand3.create)((set) => ({
1912
- isOpen: false,
1913
- type: "",
1914
- open: (type) => set({ isOpen: true, type }),
1915
- close: () => set({ isOpen: false })
1916
- }));
1917
- var useBTCModalStore = (0, import_zustand3.create)((set) => ({
1918
- isOpen: false,
1919
- type: "",
1920
- open: (type) => set({ isOpen: true, type }),
1921
- close: () => set({ isOpen: false })
1922
- }));
1923
- var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
1924
- type: "",
1925
- isOpen: false,
1926
- open: (type) => set({ isOpen: true, type }),
1927
- close: () => set({ isOpen: false })
1928
- }));
2121
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1929
2122
 
1930
2123
  // src/components/CEXBindModal/index.tsx
1931
- var import_react8 = require("react");
2124
+ var import_react10 = require("react");
1932
2125
  var import_react_intl4 = require("react-intl");
1933
- 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");
1934
2141
 
1935
2142
  // src/context/BusinessProvider.tsx
1936
- var import_jsx_runtime52 = require("react/jsx-runtime");
2143
+ var import_jsx_runtime56 = require("react/jsx-runtime");
1937
2144
 
1938
2145
  // src/context/index.tsx
1939
- var import_jsx_runtime53 = (
2146
+ var import_jsx_runtime57 = (
1940
2147
  // <MpcWalletProvider>
1941
2148
  require("react/jsx-runtime")
1942
2149
  );
1943
2150
 
1944
2151
  // src/hooks/useWalletInit.ts
1945
- var import_react9 = require("react");
2152
+ var import_react13 = require("react");
1946
2153
  var AppClientId2 = getAppClientId();
1947
2154
 
1948
2155
  // src/hooks/useInit.tsx
1949
- var import_react10 = require("react");
2156
+ var import_react14 = require("react");
1950
2157
 
1951
2158
  // src/MatchContext.tsx
1952
- var import_react_query = require("@tanstack/react-query");
2159
+ var import_react_query2 = require("@tanstack/react-query");
1953
2160
  var import_react_intl5 = require("react-intl");
1954
- var import_jsx_runtime54 = require("react/jsx-runtime");
1955
- var queryClient = new import_react_query.QueryClient();
1956
- var MatchContext = (0, import_react11.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);
1957
2164
  var useMatch = () => {
1958
- const context = (0, import_react11.useContext)(MatchContext);
2165
+ const context = (0, import_react15.useContext)(MatchContext);
1959
2166
  if (context === void 0) {
1960
2167
  throw new Error("useMatch must be used within a MatchProvider");
1961
2168
  }
@@ -1982,7 +2189,7 @@ function useUserInfo() {
1982
2189
  const { open: TONOpen } = useTONModalStore();
1983
2190
  const { open: BTCOpen } = useBTCModalStore();
1984
2191
  const { open: CEXBindOpen } = useCEXBindModalStore();
1985
- const isLogin = (0, import_react12.useMemo)(() => !!token, [token]);
2192
+ const isLogin = (0, import_react16.useMemo)(() => !!token && !!overview, [token, overview]);
1986
2193
  const logout = async () => {
1987
2194
  try {
1988
2195
  await toLogoutApi();
@@ -2216,7 +2423,7 @@ function useUserInfo() {
2216
2423
  }
2217
2424
 
2218
2425
  // src/components/EmailModal/StepVerify.tsx
2219
- var import_react13 = require("react");
2426
+ var import_react17 = require("react");
2220
2427
 
2221
2428
  // src/config/index.tsx
2222
2429
  var EMAIL_INTERVAL = 60;
@@ -2224,21 +2431,21 @@ var EMAIL_CODE_LENGTH = 6;
2224
2431
 
2225
2432
  // src/components/EmailModal/StepVerify.tsx
2226
2433
  var import_react_intl6 = require("react-intl");
2227
- var import_jsx_runtime55 = require("react/jsx-runtime");
2434
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2228
2435
  function StepVerify(props) {
2229
2436
  const intl = (0, import_react_intl6.useIntl)();
2230
2437
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
2231
- const [error, setError] = (0, import_react13.useState)("");
2232
- const [code, setCode] = (0, import_react13.useState)("");
2233
- const [sending, setSending] = (0, import_react13.useState)(false);
2234
- const [submitting, setSubmitting] = (0, import_react13.useState)(false);
2235
- const sendTimeRef = (0, import_react13.useRef)(0);
2236
- const [sendBtnText, setSendBtnText] = (0, import_react13.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({
2237
2444
  id: "send"
2238
2445
  }));
2239
2446
  const intervalTime = EMAIL_INTERVAL;
2240
2447
  const codeLength = EMAIL_CODE_LENGTH;
2241
- const intervalRef = (0, import_react13.useRef)(null);
2448
+ const intervalRef = (0, import_react17.useRef)(null);
2242
2449
  const isDownMd = useDownMd();
2243
2450
  const onSend = async () => {
2244
2451
  if (sendTimeRef.current > 0) {
@@ -2269,7 +2476,7 @@ function StepVerify(props) {
2269
2476
  setSending(false);
2270
2477
  }
2271
2478
  };
2272
- (0, import_react13.useEffect)(() => {
2479
+ (0, import_react17.useEffect)(() => {
2273
2480
  onSend();
2274
2481
  return () => {
2275
2482
  if (intervalRef.current) {
@@ -2277,7 +2484,7 @@ function StepVerify(props) {
2277
2484
  }
2278
2485
  };
2279
2486
  }, []);
2280
- const canContinue = (0, import_react13.useMemo)(() => {
2487
+ const canContinue = (0, import_react17.useMemo)(() => {
2281
2488
  return code.length === codeLength;
2282
2489
  }, [code]);
2283
2490
  const onContinue = async () => {
@@ -2301,17 +2508,17 @@ function StepVerify(props) {
2301
2508
  setSubmitting(false);
2302
2509
  }
2303
2510
  };
2304
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-box", children: [
2305
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header", children: [
2306
- /* @__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 }) }),
2307
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2308
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2309
- /* @__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" }) })
2310
2517
  ] })
2311
2518
  ] }),
2312
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Field, { label: intl.formatMessage({
2519
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Field, { label: intl.formatMessage({
2313
2520
  id: "verificationCode"
2314
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2521
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2315
2522
  Input,
2316
2523
  {
2317
2524
  placeholder: intl.formatMessage({
@@ -2321,7 +2528,7 @@ function StepVerify(props) {
2321
2528
  maxLength: codeLength,
2322
2529
  onChange: (e) => setCode(e.target.value),
2323
2530
  value: code,
2324
- after: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2531
+ after: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2325
2532
  Button,
2326
2533
  {
2327
2534
  highlight: true,
@@ -2340,13 +2547,13 @@ function StepVerify(props) {
2340
2547
  )
2341
2548
  }
2342
2549
  ) }),
2343
- /* @__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" }) })
2344
2551
  ] });
2345
2552
  }
2346
2553
 
2347
2554
  // src/components/EmailModal/index.tsx
2348
2555
  var import_react_intl7 = require("react-intl");
2349
- var import_jsx_runtime56 = require("react/jsx-runtime");
2556
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2350
2557
  function EmailModal({
2351
2558
  isOpen = false,
2352
2559
  width = 480,
@@ -2354,16 +2561,16 @@ function EmailModal({
2354
2561
  onBack,
2355
2562
  onLogin
2356
2563
  }) {
2357
- const [step, setStep] = (0, import_react14.useState)("input");
2358
- const [emailVal, setEmailVal] = (0, import_react14.useState)("");
2564
+ const [step, setStep] = (0, import_react18.useState)("input");
2565
+ const [emailVal, setEmailVal] = (0, import_react18.useState)("");
2359
2566
  const intl = (0, import_react_intl7.useIntl)();
2360
- (0, import_react14.useEffect)(() => {
2567
+ (0, import_react18.useEffect)(() => {
2361
2568
  if (!isOpen) {
2362
2569
  setStep("input");
2363
2570
  setEmailVal("");
2364
2571
  }
2365
2572
  }, [isOpen]);
2366
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2573
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2367
2574
  ModalWithHeader,
2368
2575
  {
2369
2576
  isOpen,
@@ -2373,17 +2580,17 @@ function EmailModal({
2373
2580
  id: "email"
2374
2581
  }),
2375
2582
  onBack: step == "verify" ? () => setStep("input") : onBack,
2376
- 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) => {
2377
2584
  setEmailVal(email);
2378
2585
  setStep("verify");
2379
- } }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2586
+ } }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2380
2587
  }
2381
2588
  );
2382
2589
  }
2383
2590
 
2384
2591
  // src/components/Popover/index.tsx
2385
- var import_react15 = require("react");
2386
- var import_jsx_runtime57 = require("react/jsx-runtime");
2592
+ var import_react19 = require("react");
2593
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2387
2594
  function Popover({
2388
2595
  children,
2389
2596
  content,
@@ -2392,8 +2599,8 @@ function Popover({
2392
2599
  className = "",
2393
2600
  gap = "20px"
2394
2601
  }) {
2395
- const [active, setActive] = (0, import_react15.useState)(false);
2396
- 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)(
2397
2604
  "div",
2398
2605
  {
2399
2606
  onClick: () => {
@@ -2404,18 +2611,18 @@ function Popover({
2404
2611
  className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
2405
2612
  children: [
2406
2613
  children,
2407
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { style: {
2614
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { style: {
2408
2615
  paddingTop: gap
2409
- }, 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 }) })
2410
2617
  ]
2411
2618
  }
2412
2619
  );
2413
2620
  }
2414
2621
 
2415
2622
  // src/components/LoginBox/index.tsx
2416
- var import_react16 = require("react");
2623
+ var import_react20 = require("react");
2417
2624
  var import_react_intl8 = require("react-intl");
2418
- var import_jsx_runtime58 = require("react/jsx-runtime");
2625
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2419
2626
  var RecommendItem = ({
2420
2627
  icon,
2421
2628
  name,
@@ -2424,20 +2631,20 @@ var RecommendItem = ({
2424
2631
  children,
2425
2632
  footer
2426
2633
  }) => {
2427
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2428
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2429
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2430
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2431
- /* @__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 })
2432
2639
  ] }),
2433
- footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2640
+ footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2434
2641
  ArrowDownIcon,
2435
2642
  {
2436
2643
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
2437
2644
  size: 20,
2438
2645
  color: "var(--matchid-arrow-color)"
2439
2646
  }
2440
- ) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2647
+ ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2441
2648
  ArrowRightIcon,
2442
2649
  {
2443
2650
  className: "matchid-login-recommend-method-arrow",
@@ -2446,7 +2653,7 @@ var RecommendItem = ({
2446
2653
  }
2447
2654
  )
2448
2655
  ] }),
2449
- children && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2656
+ children && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2450
2657
  "div",
2451
2658
  {
2452
2659
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -2468,131 +2675,131 @@ function LoginBox({
2468
2675
  "linkedin",
2469
2676
  "discord"
2470
2677
  ],
2471
- walletMethods = ["evm", "sol", "btc", "tron"],
2678
+ walletMethods = ["evm", "sol", "btc", "tron", "ton"],
2472
2679
  inModal = false
2473
2680
  }) {
2474
- const [emailOpen, setEmailOpen] = (0, import_react16.useState)(false);
2681
+ const [emailOpen, setEmailOpen] = (0, import_react20.useState)(false);
2475
2682
  const { login } = useUserInfo();
2476
- const [showWallet, setShowWallet] = (0, import_react16.useState)(false);
2683
+ const [showWallet, setShowWallet] = (0, import_react20.useState)(false);
2477
2684
  const intl = (0, import_react_intl8.useIntl)();
2478
2685
  const isDownMd = useDownMd();
2479
2686
  const methodMap = {
2480
2687
  wallet: {
2481
- 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 }),
2482
2689
  name: intl.formatMessage({ id: "wallet" }),
2483
2690
  onClick: () => setShowWallet(!showWallet),
2484
2691
  type: "wallet"
2485
2692
  },
2486
2693
  email: {
2487
- 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 }),
2488
2695
  name: intl.formatMessage({ id: "email" }),
2489
2696
  onClick: () => {
2490
2697
  setEmailOpen(true);
2491
2698
  }
2492
2699
  },
2493
2700
  google: {
2494
- 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 }),
2495
2702
  name: "Google",
2496
2703
  onClick: () => login("google")
2497
2704
  },
2498
2705
  twitter: {
2499
- 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 }),
2500
2707
  name: "X",
2501
2708
  onClick: () => login("twitter")
2502
2709
  },
2503
2710
  telegram: {
2504
- 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 }),
2505
2712
  name: "Telegram",
2506
2713
  onClick: () => login("telegram")
2507
2714
  },
2508
2715
  github: {
2509
- 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 }),
2510
2717
  name: "Github",
2511
2718
  onClick: () => login("github")
2512
2719
  },
2513
2720
  discord: {
2514
- 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 }),
2515
2722
  name: "Discord",
2516
2723
  onClick: () => login("discord")
2517
2724
  },
2518
2725
  linkedin: {
2519
- 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 }),
2520
2727
  name: "LinkedIn",
2521
2728
  onClick: () => login("linkedin")
2522
2729
  },
2523
2730
  facebook: {
2524
- 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 }),
2525
2732
  name: "Facebook",
2526
2733
  onClick: () => login("facebook")
2527
2734
  },
2528
2735
  youtube: {
2529
- 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 }),
2530
2737
  name: "Youtube",
2531
2738
  onClick: () => login("youtube")
2532
2739
  }
2533
2740
  };
2534
2741
  const walletMap = {
2535
2742
  evm: {
2536
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2537
- 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 }),
2538
2745
  name: "EVM",
2539
2746
  onClick: () => login("evm")
2540
2747
  },
2541
2748
  sol: {
2542
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2543
- 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 }),
2544
2751
  name: "SOL",
2545
2752
  onClick: () => login("sol")
2546
2753
  },
2547
2754
  btc: {
2548
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2549
- 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 }),
2550
2757
  name: "BTC",
2551
2758
  onClick: () => login("btc")
2552
2759
  },
2553
2760
  tron: {
2554
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2555
- 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 }),
2556
2763
  name: "TRON",
2557
2764
  onClick: () => login("tron")
2558
2765
  },
2559
2766
  ton: {
2560
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
2561
- 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 }),
2562
2769
  name: "TON",
2563
2770
  onClick: () => login("ton")
2564
2771
  }
2565
2772
  };
2566
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2567
- (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-box", children: [
2568
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2569
- 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)(
2570
2777
  RecommendItem,
2571
2778
  {
2572
2779
  icon: methodMap[m]?.icon,
2573
2780
  name: methodMap[m]?.name,
2574
2781
  onClick: methodMap[m]?.onClick,
2575
2782
  showChildren: m == "wallet" && showWallet,
2576
- children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2577
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2578
- /* @__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) => {
2579
2786
  const m2 = walletMap[n];
2580
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
2787
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2581
2788
  "div",
2582
2789
  {
2583
2790
  className: "matchid-login-recommend-wallet-item",
2584
2791
  onClick: m2.onClick,
2585
2792
  children: [
2586
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2587
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2588
- /* @__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)(
2589
2796
  "div",
2590
2797
  {
2591
2798
  className: "matchid-login-recommend-wallet-item-hover-icon",
2592
2799
  children: m2.activeIcon
2593
2800
  }
2594
2801
  ),
2595
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2802
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2596
2803
  "span",
2597
2804
  {
2598
2805
  className: "matchid-login-recommend-wallet-item-name",
@@ -2600,7 +2807,7 @@ function LoginBox({
2600
2807
  }
2601
2808
  )
2602
2809
  ] }),
2603
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2810
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2604
2811
  ArrowRightIcon,
2605
2812
  {
2606
2813
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -2618,10 +2825,10 @@ function LoginBox({
2618
2825
  m
2619
2826
  );
2620
2827
  }) }),
2621
- methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-other", children: [
2622
- /* @__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" }) }),
2623
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2624
- 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)(
2625
2832
  "div",
2626
2833
  {
2627
2834
  className: "matchid-login-method-item",
@@ -2634,7 +2841,7 @@ function LoginBox({
2634
2841
  }) })
2635
2842
  ] })
2636
2843
  ] }),
2637
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2844
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2638
2845
  EmailModal,
2639
2846
  {
2640
2847
  isOpen: emailOpen,
@@ -2650,56 +2857,56 @@ function LoginBox({
2650
2857
  }
2651
2858
 
2652
2859
  // src/components/LoginButton/index.tsx
2653
- var import_react18 = require("react");
2860
+ var import_react22 = require("react");
2654
2861
 
2655
2862
  // src/components/LoginPanel/index.tsx
2656
2863
  var import_react_intl9 = require("react-intl");
2657
- var import_jsx_runtime59 = require("react/jsx-runtime");
2864
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2658
2865
  function LoginPanel({
2659
2866
  header,
2660
2867
  onClose,
2661
2868
  ...props
2662
2869
  }) {
2663
2870
  const isDownMd = useDownMd();
2664
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel", children: [
2665
- header ? header : /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header", children: [
2666
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2667
- /* @__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" }) }),
2668
- /* @__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" }) })
2669
2876
  ] }),
2670
- 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 }) })
2671
2878
  ] }),
2672
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-divide" }),
2673
- /* @__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 }) })
2674
2881
  ] });
2675
2882
  }
2676
2883
 
2677
2884
  // src/components/LoginModal/index.tsx
2678
- var import_jsx_runtime60 = require("react/jsx-runtime");
2885
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2679
2886
  function LoginModal({
2680
2887
  isOpen = false,
2681
2888
  width = 480,
2682
2889
  ...props
2683
2890
  }) {
2684
2891
  const { isLogin } = useUserInfo();
2685
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2892
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2686
2893
  Modal,
2687
2894
  {
2688
2895
  isOpen: isOpen && !isLogin,
2689
2896
  width,
2690
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(LoginPanel, { ...props, inModal: true })
2897
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LoginPanel, { ...props, inModal: true })
2691
2898
  }
2692
2899
  );
2693
2900
  }
2694
2901
 
2695
2902
  // src/components/UserPopover/index.tsx
2696
- var import_react17 = require("react");
2903
+ var import_react21 = require("react");
2697
2904
 
2698
2905
  // src/assets/icon/ProfileIcon.tsx
2699
- var import_jsx_runtime61 = require("react/jsx-runtime");
2906
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2700
2907
  function ProfileIcon({ size = 24, color = "black", ...props }) {
2701
- 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: [
2702
- /* @__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)(
2703
2910
  "path",
2704
2911
  {
2705
2912
  fillRule: "evenodd",
@@ -2708,7 +2915,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2708
2915
  fill: color
2709
2916
  }
2710
2917
  ),
2711
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2918
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2712
2919
  "path",
2713
2920
  {
2714
2921
  fillRule: "evenodd",
@@ -2722,10 +2929,10 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2722
2929
 
2723
2930
  // src/components/UserPopover/index.tsx
2724
2931
  var import_react_intl10 = require("react-intl");
2725
- var import_jsx_runtime62 = require("react/jsx-runtime");
2932
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2726
2933
  function UserContent() {
2727
2934
  const { logout, address, username } = useUserInfo();
2728
- const [logouting, setLogouting] = (0, import_react17.useState)(false);
2935
+ const [logouting, setLogouting] = (0, import_react21.useState)(false);
2729
2936
  const onLogout = async () => {
2730
2937
  if (logouting) return;
2731
2938
  try {
@@ -2743,34 +2950,34 @@ function UserContent() {
2743
2950
  rightIcon,
2744
2951
  onClick
2745
2952
  }) => {
2746
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2747
- /* @__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: [
2748
2955
  icon,
2749
- /* @__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 })
2750
2957
  ] }),
2751
2958
  rightIcon
2752
2959
  ] });
2753
2960
  };
2754
2961
  const UserDivider = () => {
2755
- 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` });
2756
2963
  };
2757
- const [usernameOpen, setUsernameOpen] = (0, import_react17.useState)(false);
2964
+ const [usernameOpen, setUsernameOpen] = (0, import_react21.useState)(false);
2758
2965
  const [copied, setCopied] = useCopyClipboard();
2759
2966
  const intl = (0, import_react_intl10.useIntl)();
2760
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-content", children: [
2761
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-list", children: [
2762
- /* @__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: () => {
2763
2970
  setCopied(address);
2764
- }, 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) }),
2765
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserDivider, {}),
2766
- /* @__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: () => {
2767
2974
  setUsernameOpen(true);
2768
- }, 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({
2769
2976
  id: "setUsername"
2770
2977
  }) })
2771
2978
  ] }),
2772
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2773
- /* @__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: () => {
2774
2981
  setUsernameOpen(false);
2775
2982
  }, onSuccess: () => {
2776
2983
  setUsernameOpen(false);
@@ -2781,12 +2988,12 @@ function UserPopover({
2781
2988
  children,
2782
2989
  ...props
2783
2990
  }) {
2784
- 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 });
2785
2992
  }
2786
2993
 
2787
2994
  // src/components/LoginButton/index.tsx
2788
2995
  var import_react_intl11 = require("react-intl");
2789
- var import_jsx_runtime63 = require("react/jsx-runtime");
2996
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2790
2997
  function LoginButton({
2791
2998
  loginRender,
2792
2999
  methods,
@@ -2800,10 +3007,10 @@ function LoginButton({
2800
3007
  }) {
2801
3008
  const intl = (0, import_react_intl11.useIntl)();
2802
3009
  const { isLogin, username } = useUserInfo();
2803
- const [loginOpen, setLoginOpen] = (0, import_react18.useState)(false);
3010
+ const [loginOpen, setLoginOpen] = (0, import_react22.useState)(false);
2804
3011
  if (!isLogin) {
2805
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2806
- /* @__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)(
2807
3014
  LoginModal,
2808
3015
  {
2809
3016
  methods,
@@ -2813,32 +3020,32 @@ function LoginButton({
2813
3020
  onClose: () => setLoginOpen(false)
2814
3021
  }
2815
3022
  ),
2816
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2817
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UnLoginIcon_default, {}),
2818
- /* @__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" }) })
2819
3026
  ] })
2820
3027
  ] });
2821
3028
  }
2822
- 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: [
2823
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginIcon_default, {}),
2824
- /* @__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({
2825
3032
  id: "user"
2826
3033
  }) })
2827
3034
  ] }) });
2828
3035
  }
2829
3036
 
2830
3037
  // src/components/UsernameModal/index.tsx
2831
- var import_react19 = require("react");
3038
+ var import_react23 = require("react");
2832
3039
 
2833
3040
  // src/assets/icon/InfoRoundIcon.tsx
2834
- var import_jsx_runtime64 = require("react/jsx-runtime");
3041
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2835
3042
  function InfoRoundIcon({
2836
3043
  size,
2837
3044
  color = "#6E6E6E",
2838
3045
  ...props
2839
3046
  }) {
2840
- 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: [
2841
- /* @__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)(
2842
3049
  "path",
2843
3050
  {
2844
3051
  fillRule: "evenodd",
@@ -2847,21 +3054,21 @@ function InfoRoundIcon({
2847
3054
  fill: color
2848
3055
  }
2849
3056
  ) }),
2850
- /* @__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" }) }) })
2851
3058
  ] });
2852
3059
  }
2853
3060
 
2854
3061
  // src/components/UsernameModal/index.tsx
2855
3062
  var import_react_intl12 = require("react-intl");
2856
- var import_jsx_runtime65 = require("react/jsx-runtime");
3063
+ var import_jsx_runtime69 = require("react/jsx-runtime");
2857
3064
  var ValidItem = ({
2858
3065
  success = false,
2859
3066
  text
2860
3067
  }) => {
2861
3068
  const isDownMd = useDownMd();
2862
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2863
- success ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2864
- /* @__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 })
2865
3072
  ] });
2866
3073
  };
2867
3074
  function UsernameModal({
@@ -2872,23 +3079,23 @@ function UsernameModal({
2872
3079
  }) {
2873
3080
  const { username, refreshOverview } = useUserInfo();
2874
3081
  const { isLogin } = useUserInfo();
2875
- const [val, setVal] = (0, import_react19.useState)(username);
2876
- const [error, setError] = (0, import_react19.useState)("");
3082
+ const [val, setVal] = (0, import_react23.useState)(username);
3083
+ const [error, setError] = (0, import_react23.useState)("");
2877
3084
  const isDownMd = useDownMd();
2878
- (0, import_react19.useEffect)(() => {
3085
+ (0, import_react23.useEffect)(() => {
2879
3086
  if (isOpen) {
2880
3087
  setVal(username);
2881
3088
  setError("");
2882
3089
  }
2883
3090
  }, [isOpen]);
2884
- const isValid = (0, import_react19.useMemo)(() => {
3091
+ const isValid = (0, import_react23.useMemo)(() => {
2885
3092
  return isValidUsername(val);
2886
3093
  }, [val]);
2887
- const isLength = (0, import_react19.useMemo)(() => {
3094
+ const isLength = (0, import_react23.useMemo)(() => {
2888
3095
  return val.length >= 2 && val.length <= 32;
2889
3096
  }, [val]);
2890
3097
  const isSafe = isValid && isLength;
2891
- const [isSubmitting, setIsSubmitting] = (0, import_react19.useState)(false);
3098
+ const [isSubmitting, setIsSubmitting] = (0, import_react23.useState)(false);
2892
3099
  const onSubmit = async () => {
2893
3100
  if (isSubmitting) return;
2894
3101
  try {
@@ -2909,12 +3116,12 @@ function UsernameModal({
2909
3116
  }
2910
3117
  };
2911
3118
  const intl = (0, import_react_intl12.useIntl)();
2912
- 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({
2913
3120
  id: username ? "editUsernameTitle" : "setUsernameTitle"
2914
- }), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-username-box", children: [
2915
- /* @__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({
2916
3123
  id: "username"
2917
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3124
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2918
3125
  Input,
2919
3126
  {
2920
3127
  placeholder: intl.formatMessage({
@@ -2927,8 +3134,8 @@ function UsernameModal({
2927
3134
  value: val
2928
3135
  }
2929
3136
  ) }),
2930
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-valid", children: [
2931
- /* @__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)(
2932
3139
  ValidItem,
2933
3140
  {
2934
3141
  success: isValid,
@@ -2937,21 +3144,21 @@ function UsernameModal({
2937
3144
  })
2938
3145
  }
2939
3146
  ),
2940
- /* @__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({
2941
3148
  id: "usernameLengthError"
2942
3149
  }) })
2943
3150
  ] }),
2944
- /* @__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: {
2945
3152
  marginTop: isDownMd ? "36px" : "64px"
2946
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
2947
- /* @__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: {
2948
3155
  marginTop: isDownMd ? "12px" : "24px"
2949
- }, 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" }) })
2950
3157
  ] }) });
2951
3158
  }
2952
3159
 
2953
3160
  // src/components/SOLModal/index.tsx
2954
- var import_react21 = __toESM(require("react"));
3161
+ var import_react25 = __toESM(require("react"));
2955
3162
  var import_web3 = require("@solana/web3.js");
2956
3163
  var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
2957
3164
  var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
@@ -2970,7 +3177,7 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
2970
3177
  var import_react_intl13 = require("react-intl");
2971
3178
 
2972
3179
  // src/components/WalletModalContent/index.tsx
2973
- var import_react20 = require("react");
3180
+ var import_react24 = require("react");
2974
3181
 
2975
3182
  // src/assets/wallet.ts
2976
3183
  var walletErrorImage = "data:image/png;base64,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";
@@ -2980,7 +3187,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
2980
3187
  var walletSigningImage = "data:image/png;base64,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";
2981
3188
 
2982
3189
  // src/components/WalletModalContent/index.tsx
2983
- var import_jsx_runtime66 = require("react/jsx-runtime");
3190
+ var import_jsx_runtime70 = require("react/jsx-runtime");
2984
3191
  function WalletModalContent({
2985
3192
  status,
2986
3193
  error,
@@ -2991,7 +3198,7 @@ function WalletModalContent({
2991
3198
  address,
2992
3199
  connected
2993
3200
  }) {
2994
- const pageData = (0, import_react20.useMemo)(() => {
3201
+ const pageData = (0, import_react24.useMemo)(() => {
2995
3202
  if (status == "success") {
2996
3203
  return {
2997
3204
  btnText: "Disconnect Wallet",
@@ -3050,12 +3257,12 @@ function WalletModalContent({
3050
3257
  statusImage: walletConnectImage
3051
3258
  };
3052
3259
  }, [visible, connected, status, error, address]);
3053
- 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: [
3054
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-content`, children: [
3055
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: pageData.statusImage }),
3056
- /* @__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 })
3057
3264
  ] }),
3058
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3265
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3059
3266
  Button,
3060
3267
  {
3061
3268
  block: true,
@@ -3070,7 +3277,7 @@ function WalletModalContent({
3070
3277
  }
3071
3278
 
3072
3279
  // src/components/SOLModal/index.tsx
3073
- var import_jsx_runtime67 = require("react/jsx-runtime");
3280
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3074
3281
  function WalletContent({
3075
3282
  onSuccess,
3076
3283
  type
@@ -3078,17 +3285,17 @@ function WalletContent({
3078
3285
  const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
3079
3286
  const wallet = (0, import_wallet_adapter_react.useWallet)();
3080
3287
  const { events, login } = useMatch();
3081
- const [status, setStatus] = (0, import_react21.useState)("");
3082
- const statusRef = import_react21.default.useRef(status);
3083
- const [error, setError] = (0, import_react21.useState)("");
3084
- (0, import_react21.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)(() => {
3085
3292
  const init = async () => {
3086
3293
  await wallet.disconnect();
3087
3294
  setVisible(true);
3088
3295
  };
3089
3296
  init();
3090
3297
  }, []);
3091
- (0, import_react21.useEffect)(() => {
3298
+ (0, import_react25.useEffect)(() => {
3092
3299
  if (wallet.connected) {
3093
3300
  console.log("wallet.connected", wallet.connected);
3094
3301
  toLoginInWallet();
@@ -3100,7 +3307,10 @@ function WalletContent({
3100
3307
  try {
3101
3308
  setStatus("nonce");
3102
3309
  statusRef.current = "nonce";
3103
- const res = type == "bind" ? await getWalletInitApi({ address, type: "SOL" }) : await getWalletNonceApi({ address, type: "SOL" });
3310
+ const res = type == "bind" ? await getWalletInitApi({
3311
+ address,
3312
+ type: "SOL"
3313
+ }) : await getWalletNonceApi({ address, type: "SOL" });
3104
3314
  if (!isSuccess(res)) {
3105
3315
  throw new Error(res.message);
3106
3316
  }
@@ -3149,7 +3359,7 @@ function WalletContent({
3149
3359
  statusRef.current = "";
3150
3360
  }
3151
3361
  };
3152
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3362
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3153
3363
  WalletModalContent,
3154
3364
  {
3155
3365
  connected: wallet.connected,
@@ -3204,21 +3414,24 @@ var wallets = [
3204
3414
  new import_wallet_adapter_wallets.TrustWalletAdapter(),
3205
3415
  new import_wallet_adapter_wallets.XDEFIWalletAdapter()
3206
3416
  ];
3207
- function SOLModal({
3417
+ function SOLConnectModal({
3208
3418
  type = "login",
3209
3419
  onSuccess,
3210
3420
  ...props
3211
3421
  }) {
3212
3422
  const intl = (0, import_react_intl13.useIntl)();
3213
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3423
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3214
3424
  id: type == "bind" ? "bindWith" : "loginWith"
3215
3425
  }, {
3216
3426
  name: "SOL"
3217
- }), 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 }) }) }) }) });
3427
+ }), 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 }) }) }) }) });
3428
+ }
3429
+ function SOLModal(props) {
3430
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(SOLConnectModal, { ...props });
3218
3431
  }
3219
3432
 
3220
3433
  // src/components/TRONModal/index.tsx
3221
- var import_react23 = __toESM(require("react"));
3434
+ var import_react27 = __toESM(require("react"));
3222
3435
  var import_react_intl14 = require("react-intl");
3223
3436
 
3224
3437
  // src/lib/tron/TronLinkAdapter.ts
@@ -3252,7 +3465,7 @@ var TronLinkAdapter = class {
3252
3465
  };
3253
3466
 
3254
3467
  // src/hooks/useTRONWallet.ts
3255
- var import_react22 = require("react");
3468
+ var import_react26 = require("react");
3256
3469
 
3257
3470
  // src/lib/tron/BitgetAdapter.ts
3258
3471
  var BitgetAdapter = class {
@@ -3297,9 +3510,9 @@ var OKXAdapter = class {
3297
3510
  // src/hooks/useTRONWallet.ts
3298
3511
  var useTRONWallet = () => {
3299
3512
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
3300
- const [installedWallets, setInstalledWallets] = (0, import_react22.useState)([]);
3301
- const [address, setAddress] = (0, import_react22.useState)(null);
3302
- (0, import_react22.useEffect)(() => {
3513
+ const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
3514
+ const [address, setAddress] = (0, import_react26.useState)(null);
3515
+ (0, import_react26.useEffect)(() => {
3303
3516
  const getInstalled = async () => {
3304
3517
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3305
3518
  wallet: wallet2,
@@ -3309,11 +3522,11 @@ var useTRONWallet = () => {
3309
3522
  };
3310
3523
  getInstalled();
3311
3524
  }, []);
3312
- const [wallet, chooseWallet] = (0, import_react22.useState)(null);
3525
+ const [wallet, chooseWallet] = (0, import_react26.useState)(null);
3313
3526
  const onConnect = async () => {
3314
3527
  setAddress(await wallet.connect());
3315
3528
  };
3316
- (0, import_react22.useEffect)(() => {
3529
+ (0, import_react26.useEffect)(() => {
3317
3530
  if (!wallet) {
3318
3531
  setAddress(null);
3319
3532
  }
@@ -3329,8 +3542,8 @@ var useTRONWallet = () => {
3329
3542
  };
3330
3543
 
3331
3544
  // src/components/TRONModal/index.tsx
3332
- var import_jsx_runtime68 = require("react/jsx-runtime");
3333
- function TRONModal({
3545
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3546
+ function TRONConnectModal({
3334
3547
  type = "login",
3335
3548
  onSuccess,
3336
3549
  ...props
@@ -3339,15 +3552,15 @@ function TRONModal({
3339
3552
  const intl = (0, import_react_intl14.useIntl)();
3340
3553
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
3341
3554
  const iconMaps = {
3342
- tronlink: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3343
- bitget: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3344
- okx: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3555
+ tronlink: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3556
+ bitget: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3557
+ okx: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3345
3558
  };
3346
3559
  const { events, login } = useMatch();
3347
- const [status, setStatus] = (0, import_react23.useState)("");
3348
- const statusRef = import_react23.default.useRef(status);
3349
- const [error, setError] = (0, import_react23.useState)("");
3350
- const connected = (0, import_react23.useMemo)(() => {
3560
+ const [status, setStatus] = (0, import_react27.useState)("");
3561
+ const statusRef = import_react27.default.useRef(status);
3562
+ const [error, setError] = (0, import_react27.useState)("");
3563
+ const connected = (0, import_react27.useMemo)(() => {
3351
3564
  return !!address;
3352
3565
  }, [address]);
3353
3566
  const disconnect = async () => {
@@ -3415,7 +3628,7 @@ function TRONModal({
3415
3628
  statusRef.current = "";
3416
3629
  }
3417
3630
  };
3418
- (0, import_react23.useEffect)(() => {
3631
+ (0, import_react27.useEffect)(() => {
3419
3632
  if (wallet) {
3420
3633
  console.log("onConnect");
3421
3634
  onConnect();
@@ -3423,21 +3636,21 @@ function TRONModal({
3423
3636
  setStatus("");
3424
3637
  }
3425
3638
  }, [wallet]);
3426
- (0, import_react23.useEffect)(() => {
3639
+ (0, import_react27.useEffect)(() => {
3427
3640
  if (address) {
3428
3641
  toLoginInWallet();
3429
3642
  }
3430
3643
  }, [address]);
3431
- (0, import_react23.useEffect)(() => {
3644
+ (0, import_react27.useEffect)(() => {
3432
3645
  if (!props.isOpen) {
3433
3646
  disconnect();
3434
3647
  }
3435
3648
  }, [props.isOpen]);
3436
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3649
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3437
3650
  id: type == "bind" ? "bindWith" : "loginWith"
3438
3651
  }, {
3439
3652
  name: "TRON"
3440
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3653
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3441
3654
  WalletModalContent,
3442
3655
  {
3443
3656
  error,
@@ -3450,9 +3663,9 @@ function TRONModal({
3450
3663
  setVisible: () => {
3451
3664
  }
3452
3665
  }
3453
- ) : /* @__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: [
3666
+ ) : /* @__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: [
3454
3667
  installedWallets.map((wallet2) => {
3455
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3668
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3456
3669
  RecommendItem,
3457
3670
  {
3458
3671
  icon: iconMaps[wallet2.walletKey],
@@ -3465,14 +3678,14 @@ function TRONModal({
3465
3678
  );
3466
3679
  }),
3467
3680
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3468
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3681
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3469
3682
  RecommendItem,
3470
3683
  {
3471
3684
  icon: iconMaps[wallet2.walletKey],
3472
3685
  name: wallet2.name,
3473
3686
  onClick: () => {
3474
3687
  },
3475
- footer: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { size: "sm", onClick: () => {
3688
+ footer: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { size: "sm", onClick: () => {
3476
3689
  window.open(wallet2.website);
3477
3690
  }, children: "Install" })
3478
3691
  },
@@ -3481,26 +3694,29 @@ function TRONModal({
3481
3694
  })
3482
3695
  ] }) }) });
3483
3696
  }
3697
+ function TRONModal(props) {
3698
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TRONConnectModal, { ...props, type: "" });
3699
+ }
3484
3700
 
3485
3701
  // src/components/TONModal/index.tsx
3486
- var import_react24 = __toESM(require("react"));
3702
+ var import_react28 = __toESM(require("react"));
3487
3703
  var import_react_intl15 = require("react-intl");
3488
3704
  var import_ui_react = require("@tonconnect/ui-react");
3489
- var import_jsx_runtime69 = require("react/jsx-runtime");
3705
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3490
3706
  function WalletContent2({
3491
3707
  onSuccess,
3492
3708
  type
3493
3709
  }) {
3494
3710
  const { events, login } = useMatch();
3495
- const [connected, setConnected] = (0, import_react24.useState)(false);
3711
+ const [connected, setConnected] = (0, import_react28.useState)(false);
3496
3712
  const wallet = (0, import_ui_react.useTonWallet)();
3497
3713
  const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
3498
3714
  const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
3499
3715
  const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
3500
- const [status, setStatus] = (0, import_react24.useState)("");
3501
- const statusRef = import_react24.default.useRef(status);
3502
- const [error, setError] = (0, import_react24.useState)("");
3503
- (0, import_react24.useEffect)(() => {
3716
+ const [status, setStatus] = (0, import_react28.useState)("");
3717
+ const statusRef = import_react28.default.useRef(status);
3718
+ const [error, setError] = (0, import_react28.useState)("");
3719
+ (0, import_react28.useEffect)(() => {
3504
3720
  const init = async () => {
3505
3721
  if (wallet) {
3506
3722
  await tonConnectUI.disconnect();
@@ -3573,7 +3789,7 @@ function WalletContent2({
3573
3789
  }
3574
3790
  });
3575
3791
  }, []);
3576
- (0, import_react24.useEffect)(() => {
3792
+ (0, import_react28.useEffect)(() => {
3577
3793
  if (wallet) {
3578
3794
  setConnected(true);
3579
3795
  console.log("Wallet connected:", wallet);
@@ -3584,7 +3800,7 @@ function WalletContent2({
3584
3800
  setStatus("");
3585
3801
  }
3586
3802
  }, [wallet]);
3587
- (0, import_react24.useEffect)(() => {
3803
+ (0, import_react28.useEffect)(() => {
3588
3804
  console.log({
3589
3805
  state,
3590
3806
  wallet
@@ -3613,7 +3829,7 @@ function WalletContent2({
3613
3829
  }
3614
3830
  }
3615
3831
  }, [state]);
3616
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3832
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3617
3833
  WalletModalContent,
3618
3834
  {
3619
3835
  connected,
@@ -3639,7 +3855,7 @@ function WalletContent2({
3639
3855
  }
3640
3856
  );
3641
3857
  }
3642
- function TONModal({
3858
+ function TONConnectModal({
3643
3859
  type = "login",
3644
3860
  onSuccess,
3645
3861
  ...props
@@ -3647,21 +3863,24 @@ function TONModal({
3647
3863
  const intl = (0, import_react_intl15.useIntl)();
3648
3864
  const { endpoints, appid } = useLocalStore_default();
3649
3865
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
3650
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3866
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3651
3867
  id: type == "bind" ? "bindWith" : "loginWith"
3652
3868
  }, {
3653
3869
  name: "TON"
3654
- }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3870
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3655
3871
  import_ui_react.TonConnectUIProvider,
3656
3872
  {
3657
3873
  manifestUrl,
3658
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(WalletContent2, { onSuccess, type })
3874
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletContent2, { onSuccess, type })
3659
3875
  }
3660
3876
  ) });
3661
3877
  }
3878
+ function TONModal(props) {
3879
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TONConnectModal, { ...props });
3880
+ }
3662
3881
 
3663
3882
  // src/components/BTCModal/index.tsx
3664
- var import_react26 = __toESM(require("react"));
3883
+ var import_react30 = __toESM(require("react"));
3665
3884
  var import_react_intl16 = require("react-intl");
3666
3885
 
3667
3886
  // src/lib/btc/UnisatAdapter.ts
@@ -3733,7 +3952,7 @@ var XverseAdapter = class {
3733
3952
  }
3734
3953
  });
3735
3954
  } catch (err) {
3736
- console.error(err);
3955
+ matchlog_default.error(err);
3737
3956
  resolve(false);
3738
3957
  }
3739
3958
  });
@@ -3810,12 +4029,12 @@ var LeatherAdapter = class {
3810
4029
  };
3811
4030
 
3812
4031
  // src/hooks/useBTCWallet.ts
3813
- var import_react25 = require("react");
4032
+ var import_react29 = require("react");
3814
4033
  var useBTCWallet = () => {
3815
4034
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
3816
- const [installedWallets, setInstalledWallets] = (0, import_react25.useState)([]);
3817
- const [address, setAddress] = (0, import_react25.useState)(null);
3818
- (0, import_react25.useEffect)(() => {
4035
+ const [installedWallets, setInstalledWallets] = (0, import_react29.useState)([]);
4036
+ const [address, setAddress] = (0, import_react29.useState)(null);
4037
+ (0, import_react29.useEffect)(() => {
3819
4038
  const getInstalled = async () => {
3820
4039
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3821
4040
  wallet: wallet2,
@@ -3825,11 +4044,11 @@ var useBTCWallet = () => {
3825
4044
  };
3826
4045
  getInstalled();
3827
4046
  }, []);
3828
- const [wallet, chooseWallet] = (0, import_react25.useState)(null);
4047
+ const [wallet, chooseWallet] = (0, import_react29.useState)(null);
3829
4048
  const onConnect = async () => {
3830
4049
  setAddress(await wallet.connect());
3831
4050
  };
3832
- (0, import_react25.useEffect)(() => {
4051
+ (0, import_react29.useEffect)(() => {
3833
4052
  if (!wallet) {
3834
4053
  setAddress(null);
3835
4054
  }
@@ -3845,8 +4064,8 @@ var useBTCWallet = () => {
3845
4064
  };
3846
4065
 
3847
4066
  // src/components/BTCModal/index.tsx
3848
- var import_jsx_runtime70 = require("react/jsx-runtime");
3849
- function BTCModal({
4067
+ var import_jsx_runtime74 = require("react/jsx-runtime");
4068
+ function BTCConnectModal({
3850
4069
  type = "login",
3851
4070
  onSuccess,
3852
4071
  ...props
@@ -3855,15 +4074,15 @@ function BTCModal({
3855
4074
  const intl = (0, import_react_intl16.useIntl)();
3856
4075
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
3857
4076
  const iconMaps = {
3858
- leather: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3859
- unisat: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3860
- xverse: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
4077
+ leather: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
4078
+ unisat: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
4079
+ xverse: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
3861
4080
  };
3862
4081
  const { events, login } = useMatch();
3863
- const [status, setStatus] = (0, import_react26.useState)("");
3864
- const statusRef = import_react26.default.useRef(status);
3865
- const [error, setError] = (0, import_react26.useState)("");
3866
- const connected = (0, import_react26.useMemo)(() => {
4082
+ const [status, setStatus] = (0, import_react30.useState)("");
4083
+ const statusRef = import_react30.default.useRef(status);
4084
+ const [error, setError] = (0, import_react30.useState)("");
4085
+ const connected = (0, import_react30.useMemo)(() => {
3867
4086
  return !!address;
3868
4087
  }, [address]);
3869
4088
  const disconnect = async () => {
@@ -3927,7 +4146,7 @@ function BTCModal({
3927
4146
  statusRef.current = "";
3928
4147
  }
3929
4148
  };
3930
- (0, import_react26.useEffect)(() => {
4149
+ (0, import_react30.useEffect)(() => {
3931
4150
  if (wallet) {
3932
4151
  console.log("onConnect");
3933
4152
  try {
@@ -3940,12 +4159,12 @@ function BTCModal({
3940
4159
  setStatus("");
3941
4160
  }
3942
4161
  }, [wallet]);
3943
- (0, import_react26.useEffect)(() => {
4162
+ (0, import_react30.useEffect)(() => {
3944
4163
  if (address) {
3945
4164
  toLoginInWallet();
3946
4165
  }
3947
4166
  }, [address]);
3948
- (0, import_react26.useEffect)(() => {
4167
+ (0, import_react30.useEffect)(() => {
3949
4168
  if (!props.isOpen) {
3950
4169
  disconnect();
3951
4170
  }
@@ -3957,11 +4176,11 @@ function BTCModal({
3957
4176
  statusRef.current = "";
3958
4177
  setError("");
3959
4178
  };
3960
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4179
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3961
4180
  id: type == "bind" ? "bindWith" : "loginWith"
3962
4181
  }, {
3963
4182
  name: "BTC"
3964
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4183
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3965
4184
  WalletModalContent,
3966
4185
  {
3967
4186
  error,
@@ -3974,9 +4193,9 @@ function BTCModal({
3974
4193
  setVisible: () => {
3975
4194
  }
3976
4195
  }
3977
- ) : /* @__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: [
4196
+ ) : /* @__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: [
3978
4197
  installedWallets.map((wallet2) => {
3979
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4198
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3980
4199
  RecommendItem,
3981
4200
  {
3982
4201
  icon: iconMaps[wallet2.walletKey],
@@ -3989,14 +4208,14 @@ function BTCModal({
3989
4208
  );
3990
4209
  }),
3991
4210
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3992
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4211
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3993
4212
  RecommendItem,
3994
4213
  {
3995
4214
  icon: iconMaps[wallet2.walletKey],
3996
4215
  name: wallet2.name,
3997
4216
  onClick: () => {
3998
4217
  },
3999
- footer: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { size: "sm", onClick: () => {
4218
+ footer: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { size: "sm", onClick: () => {
4000
4219
  window.open(wallet2.website);
4001
4220
  }, children: "Install" })
4002
4221
  },
@@ -4005,6 +4224,9 @@ function BTCModal({
4005
4224
  })
4006
4225
  ] }) }) });
4007
4226
  }
4227
+ function BTCModal(props) {
4228
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(BTCConnectModal, { ...props });
4229
+ }
4008
4230
  // Annotate the CommonJS export names for ESM import in node:
4009
4231
  0 && (module.exports = {
4010
4232
  BTCModal,
@@ -4018,6 +4240,7 @@ function BTCModal({
4018
4240
  LoginPanel,
4019
4241
  Modal,
4020
4242
  ModalWithHeader,
4243
+ Overlay,
4021
4244
  PasswordModal,
4022
4245
  Popover,
4023
4246
  SOLModal,