@matchain/matchid-sdk-react 0.1.42-alpha.0 → 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-ZP4OU66T.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 +678 -454
  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 +122 -77
  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 +330 -146
  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 +1102 -615
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.mjs +9 -5
  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-OVZZIJZP.mjs +0 -4196
  64. package/dist/chunk-OVZZIJZP.mjs.map +0 -1
  65. package/dist/index-Blx4Nrwm.d.ts +0 -93
  66. package/dist/index-C1uG-2K1.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-ZP4OU66T.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();
@@ -2175,7 +2382,8 @@ function useUserInfo() {
2175
2382
  resolve({
2176
2383
  ...res.data,
2177
2384
  method: res.method,
2178
- appid: res.appid
2385
+ appid: res.appid,
2386
+ did
2179
2387
  });
2180
2388
  } else {
2181
2389
  reject(new Error(res.message));
@@ -2215,7 +2423,7 @@ function useUserInfo() {
2215
2423
  }
2216
2424
 
2217
2425
  // src/components/EmailModal/StepVerify.tsx
2218
- var import_react13 = require("react");
2426
+ var import_react17 = require("react");
2219
2427
 
2220
2428
  // src/config/index.tsx
2221
2429
  var EMAIL_INTERVAL = 60;
@@ -2223,21 +2431,21 @@ var EMAIL_CODE_LENGTH = 6;
2223
2431
 
2224
2432
  // src/components/EmailModal/StepVerify.tsx
2225
2433
  var import_react_intl6 = require("react-intl");
2226
- var import_jsx_runtime55 = require("react/jsx-runtime");
2434
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2227
2435
  function StepVerify(props) {
2228
2436
  const intl = (0, import_react_intl6.useIntl)();
2229
2437
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
2230
- const [error, setError] = (0, import_react13.useState)("");
2231
- const [code, setCode] = (0, import_react13.useState)("");
2232
- const [sending, setSending] = (0, import_react13.useState)(false);
2233
- const [submitting, setSubmitting] = (0, import_react13.useState)(false);
2234
- const sendTimeRef = (0, import_react13.useRef)(0);
2235
- 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({
2236
2444
  id: "send"
2237
2445
  }));
2238
2446
  const intervalTime = EMAIL_INTERVAL;
2239
2447
  const codeLength = EMAIL_CODE_LENGTH;
2240
- const intervalRef = (0, import_react13.useRef)(null);
2448
+ const intervalRef = (0, import_react17.useRef)(null);
2241
2449
  const isDownMd = useDownMd();
2242
2450
  const onSend = async () => {
2243
2451
  if (sendTimeRef.current > 0) {
@@ -2268,7 +2476,7 @@ function StepVerify(props) {
2268
2476
  setSending(false);
2269
2477
  }
2270
2478
  };
2271
- (0, import_react13.useEffect)(() => {
2479
+ (0, import_react17.useEffect)(() => {
2272
2480
  onSend();
2273
2481
  return () => {
2274
2482
  if (intervalRef.current) {
@@ -2276,7 +2484,7 @@ function StepVerify(props) {
2276
2484
  }
2277
2485
  };
2278
2486
  }, []);
2279
- const canContinue = (0, import_react13.useMemo)(() => {
2487
+ const canContinue = (0, import_react17.useMemo)(() => {
2280
2488
  return code.length === codeLength;
2281
2489
  }, [code]);
2282
2490
  const onContinue = async () => {
@@ -2300,17 +2508,17 @@ function StepVerify(props) {
2300
2508
  setSubmitting(false);
2301
2509
  }
2302
2510
  };
2303
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-box", children: [
2304
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header", children: [
2305
- /* @__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 }) }),
2306
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2307
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2308
- /* @__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" }) })
2309
2517
  ] })
2310
2518
  ] }),
2311
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Field, { label: intl.formatMessage({
2519
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Field, { label: intl.formatMessage({
2312
2520
  id: "verificationCode"
2313
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2521
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2314
2522
  Input,
2315
2523
  {
2316
2524
  placeholder: intl.formatMessage({
@@ -2320,7 +2528,7 @@ function StepVerify(props) {
2320
2528
  maxLength: codeLength,
2321
2529
  onChange: (e) => setCode(e.target.value),
2322
2530
  value: code,
2323
- after: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2531
+ after: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2324
2532
  Button,
2325
2533
  {
2326
2534
  highlight: true,
@@ -2339,13 +2547,13 @@ function StepVerify(props) {
2339
2547
  )
2340
2548
  }
2341
2549
  ) }),
2342
- /* @__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" }) })
2343
2551
  ] });
2344
2552
  }
2345
2553
 
2346
2554
  // src/components/EmailModal/index.tsx
2347
2555
  var import_react_intl7 = require("react-intl");
2348
- var import_jsx_runtime56 = require("react/jsx-runtime");
2556
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2349
2557
  function EmailModal({
2350
2558
  isOpen = false,
2351
2559
  width = 480,
@@ -2353,16 +2561,16 @@ function EmailModal({
2353
2561
  onBack,
2354
2562
  onLogin
2355
2563
  }) {
2356
- const [step, setStep] = (0, import_react14.useState)("input");
2357
- const [emailVal, setEmailVal] = (0, import_react14.useState)("");
2564
+ const [step, setStep] = (0, import_react18.useState)("input");
2565
+ const [emailVal, setEmailVal] = (0, import_react18.useState)("");
2358
2566
  const intl = (0, import_react_intl7.useIntl)();
2359
- (0, import_react14.useEffect)(() => {
2567
+ (0, import_react18.useEffect)(() => {
2360
2568
  if (!isOpen) {
2361
2569
  setStep("input");
2362
2570
  setEmailVal("");
2363
2571
  }
2364
2572
  }, [isOpen]);
2365
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2573
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2366
2574
  ModalWithHeader,
2367
2575
  {
2368
2576
  isOpen,
@@ -2372,17 +2580,17 @@ function EmailModal({
2372
2580
  id: "email"
2373
2581
  }),
2374
2582
  onBack: step == "verify" ? () => setStep("input") : onBack,
2375
- 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) => {
2376
2584
  setEmailVal(email);
2377
2585
  setStep("verify");
2378
- } }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2586
+ } }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2379
2587
  }
2380
2588
  );
2381
2589
  }
2382
2590
 
2383
2591
  // src/components/Popover/index.tsx
2384
- var import_react15 = require("react");
2385
- var import_jsx_runtime57 = require("react/jsx-runtime");
2592
+ var import_react19 = require("react");
2593
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2386
2594
  function Popover({
2387
2595
  children,
2388
2596
  content,
@@ -2391,8 +2599,8 @@ function Popover({
2391
2599
  className = "",
2392
2600
  gap = "20px"
2393
2601
  }) {
2394
- const [active, setActive] = (0, import_react15.useState)(false);
2395
- 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)(
2396
2604
  "div",
2397
2605
  {
2398
2606
  onClick: () => {
@@ -2403,18 +2611,18 @@ function Popover({
2403
2611
  className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
2404
2612
  children: [
2405
2613
  children,
2406
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { style: {
2614
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { style: {
2407
2615
  paddingTop: gap
2408
- }, 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 }) })
2409
2617
  ]
2410
2618
  }
2411
2619
  );
2412
2620
  }
2413
2621
 
2414
2622
  // src/components/LoginBox/index.tsx
2415
- var import_react16 = require("react");
2623
+ var import_react20 = require("react");
2416
2624
  var import_react_intl8 = require("react-intl");
2417
- var import_jsx_runtime58 = require("react/jsx-runtime");
2625
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2418
2626
  var RecommendItem = ({
2419
2627
  icon,
2420
2628
  name,
@@ -2423,20 +2631,20 @@ var RecommendItem = ({
2423
2631
  children,
2424
2632
  footer
2425
2633
  }) => {
2426
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2427
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2428
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2429
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2430
- /* @__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 })
2431
2639
  ] }),
2432
- footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2640
+ footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2433
2641
  ArrowDownIcon,
2434
2642
  {
2435
2643
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
2436
2644
  size: 20,
2437
2645
  color: "var(--matchid-arrow-color)"
2438
2646
  }
2439
- ) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2647
+ ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2440
2648
  ArrowRightIcon,
2441
2649
  {
2442
2650
  className: "matchid-login-recommend-method-arrow",
@@ -2445,7 +2653,7 @@ var RecommendItem = ({
2445
2653
  }
2446
2654
  )
2447
2655
  ] }),
2448
- children && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2656
+ children && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2449
2657
  "div",
2450
2658
  {
2451
2659
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -2467,131 +2675,131 @@ function LoginBox({
2467
2675
  "linkedin",
2468
2676
  "discord"
2469
2677
  ],
2470
- walletMethods = ["evm", "sol", "btc", "tron"],
2678
+ walletMethods = ["evm", "sol", "btc", "tron", "ton"],
2471
2679
  inModal = false
2472
2680
  }) {
2473
- const [emailOpen, setEmailOpen] = (0, import_react16.useState)(false);
2681
+ const [emailOpen, setEmailOpen] = (0, import_react20.useState)(false);
2474
2682
  const { login } = useUserInfo();
2475
- const [showWallet, setShowWallet] = (0, import_react16.useState)(false);
2683
+ const [showWallet, setShowWallet] = (0, import_react20.useState)(false);
2476
2684
  const intl = (0, import_react_intl8.useIntl)();
2477
2685
  const isDownMd = useDownMd();
2478
2686
  const methodMap = {
2479
2687
  wallet: {
2480
- 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 }),
2481
2689
  name: intl.formatMessage({ id: "wallet" }),
2482
2690
  onClick: () => setShowWallet(!showWallet),
2483
2691
  type: "wallet"
2484
2692
  },
2485
2693
  email: {
2486
- 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 }),
2487
2695
  name: intl.formatMessage({ id: "email" }),
2488
2696
  onClick: () => {
2489
2697
  setEmailOpen(true);
2490
2698
  }
2491
2699
  },
2492
2700
  google: {
2493
- 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 }),
2494
2702
  name: "Google",
2495
2703
  onClick: () => login("google")
2496
2704
  },
2497
2705
  twitter: {
2498
- 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 }),
2499
2707
  name: "X",
2500
2708
  onClick: () => login("twitter")
2501
2709
  },
2502
2710
  telegram: {
2503
- 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 }),
2504
2712
  name: "Telegram",
2505
2713
  onClick: () => login("telegram")
2506
2714
  },
2507
2715
  github: {
2508
- 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 }),
2509
2717
  name: "Github",
2510
2718
  onClick: () => login("github")
2511
2719
  },
2512
2720
  discord: {
2513
- 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 }),
2514
2722
  name: "Discord",
2515
2723
  onClick: () => login("discord")
2516
2724
  },
2517
2725
  linkedin: {
2518
- 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 }),
2519
2727
  name: "LinkedIn",
2520
2728
  onClick: () => login("linkedin")
2521
2729
  },
2522
2730
  facebook: {
2523
- 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 }),
2524
2732
  name: "Facebook",
2525
2733
  onClick: () => login("facebook")
2526
2734
  },
2527
2735
  youtube: {
2528
- 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 }),
2529
2737
  name: "Youtube",
2530
2738
  onClick: () => login("youtube")
2531
2739
  }
2532
2740
  };
2533
2741
  const walletMap = {
2534
2742
  evm: {
2535
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2536
- 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 }),
2537
2745
  name: "EVM",
2538
2746
  onClick: () => login("evm")
2539
2747
  },
2540
2748
  sol: {
2541
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2542
- 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 }),
2543
2751
  name: "SOL",
2544
2752
  onClick: () => login("sol")
2545
2753
  },
2546
2754
  btc: {
2547
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2548
- 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 }),
2549
2757
  name: "BTC",
2550
2758
  onClick: () => login("btc")
2551
2759
  },
2552
2760
  tron: {
2553
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2554
- 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 }),
2555
2763
  name: "TRON",
2556
2764
  onClick: () => login("tron")
2557
2765
  },
2558
2766
  ton: {
2559
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
2560
- 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 }),
2561
2769
  name: "TON",
2562
2770
  onClick: () => login("ton")
2563
2771
  }
2564
2772
  };
2565
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2566
- (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-box", children: [
2567
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2568
- 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)(
2569
2777
  RecommendItem,
2570
2778
  {
2571
2779
  icon: methodMap[m]?.icon,
2572
2780
  name: methodMap[m]?.name,
2573
2781
  onClick: methodMap[m]?.onClick,
2574
2782
  showChildren: m == "wallet" && showWallet,
2575
- children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2576
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2577
- /* @__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) => {
2578
2786
  const m2 = walletMap[n];
2579
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
2787
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2580
2788
  "div",
2581
2789
  {
2582
2790
  className: "matchid-login-recommend-wallet-item",
2583
2791
  onClick: m2.onClick,
2584
2792
  children: [
2585
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2586
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2587
- /* @__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)(
2588
2796
  "div",
2589
2797
  {
2590
2798
  className: "matchid-login-recommend-wallet-item-hover-icon",
2591
2799
  children: m2.activeIcon
2592
2800
  }
2593
2801
  ),
2594
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2802
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2595
2803
  "span",
2596
2804
  {
2597
2805
  className: "matchid-login-recommend-wallet-item-name",
@@ -2599,7 +2807,7 @@ function LoginBox({
2599
2807
  }
2600
2808
  )
2601
2809
  ] }),
2602
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2810
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2603
2811
  ArrowRightIcon,
2604
2812
  {
2605
2813
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -2617,10 +2825,10 @@ function LoginBox({
2617
2825
  m
2618
2826
  );
2619
2827
  }) }),
2620
- methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-other", children: [
2621
- /* @__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" }) }),
2622
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2623
- 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)(
2624
2832
  "div",
2625
2833
  {
2626
2834
  className: "matchid-login-method-item",
@@ -2633,7 +2841,7 @@ function LoginBox({
2633
2841
  }) })
2634
2842
  ] })
2635
2843
  ] }),
2636
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2844
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2637
2845
  EmailModal,
2638
2846
  {
2639
2847
  isOpen: emailOpen,
@@ -2649,56 +2857,56 @@ function LoginBox({
2649
2857
  }
2650
2858
 
2651
2859
  // src/components/LoginButton/index.tsx
2652
- var import_react18 = require("react");
2860
+ var import_react22 = require("react");
2653
2861
 
2654
2862
  // src/components/LoginPanel/index.tsx
2655
2863
  var import_react_intl9 = require("react-intl");
2656
- var import_jsx_runtime59 = require("react/jsx-runtime");
2864
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2657
2865
  function LoginPanel({
2658
2866
  header,
2659
2867
  onClose,
2660
2868
  ...props
2661
2869
  }) {
2662
2870
  const isDownMd = useDownMd();
2663
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel", children: [
2664
- header ? header : /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header", children: [
2665
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2666
- /* @__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" }) }),
2667
- /* @__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" }) })
2668
2876
  ] }),
2669
- 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 }) })
2670
2878
  ] }),
2671
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-divide" }),
2672
- /* @__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 }) })
2673
2881
  ] });
2674
2882
  }
2675
2883
 
2676
2884
  // src/components/LoginModal/index.tsx
2677
- var import_jsx_runtime60 = require("react/jsx-runtime");
2885
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2678
2886
  function LoginModal({
2679
2887
  isOpen = false,
2680
2888
  width = 480,
2681
2889
  ...props
2682
2890
  }) {
2683
2891
  const { isLogin } = useUserInfo();
2684
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2892
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2685
2893
  Modal,
2686
2894
  {
2687
2895
  isOpen: isOpen && !isLogin,
2688
2896
  width,
2689
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(LoginPanel, { ...props, inModal: true })
2897
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LoginPanel, { ...props, inModal: true })
2690
2898
  }
2691
2899
  );
2692
2900
  }
2693
2901
 
2694
2902
  // src/components/UserPopover/index.tsx
2695
- var import_react17 = require("react");
2903
+ var import_react21 = require("react");
2696
2904
 
2697
2905
  // src/assets/icon/ProfileIcon.tsx
2698
- var import_jsx_runtime61 = require("react/jsx-runtime");
2906
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2699
2907
  function ProfileIcon({ size = 24, color = "black", ...props }) {
2700
- 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: [
2701
- /* @__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)(
2702
2910
  "path",
2703
2911
  {
2704
2912
  fillRule: "evenodd",
@@ -2707,7 +2915,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2707
2915
  fill: color
2708
2916
  }
2709
2917
  ),
2710
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2918
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2711
2919
  "path",
2712
2920
  {
2713
2921
  fillRule: "evenodd",
@@ -2721,10 +2929,10 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2721
2929
 
2722
2930
  // src/components/UserPopover/index.tsx
2723
2931
  var import_react_intl10 = require("react-intl");
2724
- var import_jsx_runtime62 = require("react/jsx-runtime");
2932
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2725
2933
  function UserContent() {
2726
2934
  const { logout, address, username } = useUserInfo();
2727
- const [logouting, setLogouting] = (0, import_react17.useState)(false);
2935
+ const [logouting, setLogouting] = (0, import_react21.useState)(false);
2728
2936
  const onLogout = async () => {
2729
2937
  if (logouting) return;
2730
2938
  try {
@@ -2742,34 +2950,34 @@ function UserContent() {
2742
2950
  rightIcon,
2743
2951
  onClick
2744
2952
  }) => {
2745
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2746
- /* @__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: [
2747
2955
  icon,
2748
- /* @__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 })
2749
2957
  ] }),
2750
2958
  rightIcon
2751
2959
  ] });
2752
2960
  };
2753
2961
  const UserDivider = () => {
2754
- 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` });
2755
2963
  };
2756
- const [usernameOpen, setUsernameOpen] = (0, import_react17.useState)(false);
2964
+ const [usernameOpen, setUsernameOpen] = (0, import_react21.useState)(false);
2757
2965
  const [copied, setCopied] = useCopyClipboard();
2758
2966
  const intl = (0, import_react_intl10.useIntl)();
2759
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-content", children: [
2760
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-list", children: [
2761
- /* @__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: () => {
2762
2970
  setCopied(address);
2763
- }, 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) }),
2764
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserDivider, {}),
2765
- /* @__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: () => {
2766
2974
  setUsernameOpen(true);
2767
- }, 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({
2768
2976
  id: "setUsername"
2769
2977
  }) })
2770
2978
  ] }),
2771
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2772
- /* @__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: () => {
2773
2981
  setUsernameOpen(false);
2774
2982
  }, onSuccess: () => {
2775
2983
  setUsernameOpen(false);
@@ -2780,12 +2988,12 @@ function UserPopover({
2780
2988
  children,
2781
2989
  ...props
2782
2990
  }) {
2783
- 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 });
2784
2992
  }
2785
2993
 
2786
2994
  // src/components/LoginButton/index.tsx
2787
2995
  var import_react_intl11 = require("react-intl");
2788
- var import_jsx_runtime63 = require("react/jsx-runtime");
2996
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2789
2997
  function LoginButton({
2790
2998
  loginRender,
2791
2999
  methods,
@@ -2799,10 +3007,10 @@ function LoginButton({
2799
3007
  }) {
2800
3008
  const intl = (0, import_react_intl11.useIntl)();
2801
3009
  const { isLogin, username } = useUserInfo();
2802
- const [loginOpen, setLoginOpen] = (0, import_react18.useState)(false);
3010
+ const [loginOpen, setLoginOpen] = (0, import_react22.useState)(false);
2803
3011
  if (!isLogin) {
2804
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2805
- /* @__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)(
2806
3014
  LoginModal,
2807
3015
  {
2808
3016
  methods,
@@ -2812,32 +3020,32 @@ function LoginButton({
2812
3020
  onClose: () => setLoginOpen(false)
2813
3021
  }
2814
3022
  ),
2815
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2816
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UnLoginIcon_default, {}),
2817
- /* @__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" }) })
2818
3026
  ] })
2819
3027
  ] });
2820
3028
  }
2821
- 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: [
2822
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginIcon_default, {}),
2823
- /* @__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({
2824
3032
  id: "user"
2825
3033
  }) })
2826
3034
  ] }) });
2827
3035
  }
2828
3036
 
2829
3037
  // src/components/UsernameModal/index.tsx
2830
- var import_react19 = require("react");
3038
+ var import_react23 = require("react");
2831
3039
 
2832
3040
  // src/assets/icon/InfoRoundIcon.tsx
2833
- var import_jsx_runtime64 = require("react/jsx-runtime");
3041
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2834
3042
  function InfoRoundIcon({
2835
3043
  size,
2836
3044
  color = "#6E6E6E",
2837
3045
  ...props
2838
3046
  }) {
2839
- 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: [
2840
- /* @__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)(
2841
3049
  "path",
2842
3050
  {
2843
3051
  fillRule: "evenodd",
@@ -2846,21 +3054,21 @@ function InfoRoundIcon({
2846
3054
  fill: color
2847
3055
  }
2848
3056
  ) }),
2849
- /* @__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" }) }) })
2850
3058
  ] });
2851
3059
  }
2852
3060
 
2853
3061
  // src/components/UsernameModal/index.tsx
2854
3062
  var import_react_intl12 = require("react-intl");
2855
- var import_jsx_runtime65 = require("react/jsx-runtime");
3063
+ var import_jsx_runtime69 = require("react/jsx-runtime");
2856
3064
  var ValidItem = ({
2857
3065
  success = false,
2858
3066
  text
2859
3067
  }) => {
2860
3068
  const isDownMd = useDownMd();
2861
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2862
- success ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2863
- /* @__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 })
2864
3072
  ] });
2865
3073
  };
2866
3074
  function UsernameModal({
@@ -2871,23 +3079,23 @@ function UsernameModal({
2871
3079
  }) {
2872
3080
  const { username, refreshOverview } = useUserInfo();
2873
3081
  const { isLogin } = useUserInfo();
2874
- const [val, setVal] = (0, import_react19.useState)(username);
2875
- const [error, setError] = (0, import_react19.useState)("");
3082
+ const [val, setVal] = (0, import_react23.useState)(username);
3083
+ const [error, setError] = (0, import_react23.useState)("");
2876
3084
  const isDownMd = useDownMd();
2877
- (0, import_react19.useEffect)(() => {
3085
+ (0, import_react23.useEffect)(() => {
2878
3086
  if (isOpen) {
2879
3087
  setVal(username);
2880
3088
  setError("");
2881
3089
  }
2882
3090
  }, [isOpen]);
2883
- const isValid = (0, import_react19.useMemo)(() => {
3091
+ const isValid = (0, import_react23.useMemo)(() => {
2884
3092
  return isValidUsername(val);
2885
3093
  }, [val]);
2886
- const isLength = (0, import_react19.useMemo)(() => {
3094
+ const isLength = (0, import_react23.useMemo)(() => {
2887
3095
  return val.length >= 2 && val.length <= 32;
2888
3096
  }, [val]);
2889
3097
  const isSafe = isValid && isLength;
2890
- const [isSubmitting, setIsSubmitting] = (0, import_react19.useState)(false);
3098
+ const [isSubmitting, setIsSubmitting] = (0, import_react23.useState)(false);
2891
3099
  const onSubmit = async () => {
2892
3100
  if (isSubmitting) return;
2893
3101
  try {
@@ -2908,12 +3116,12 @@ function UsernameModal({
2908
3116
  }
2909
3117
  };
2910
3118
  const intl = (0, import_react_intl12.useIntl)();
2911
- 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({
2912
3120
  id: username ? "editUsernameTitle" : "setUsernameTitle"
2913
- }), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-username-box", children: [
2914
- /* @__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({
2915
3123
  id: "username"
2916
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3124
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2917
3125
  Input,
2918
3126
  {
2919
3127
  placeholder: intl.formatMessage({
@@ -2926,8 +3134,8 @@ function UsernameModal({
2926
3134
  value: val
2927
3135
  }
2928
3136
  ) }),
2929
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-valid", children: [
2930
- /* @__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)(
2931
3139
  ValidItem,
2932
3140
  {
2933
3141
  success: isValid,
@@ -2936,21 +3144,21 @@ function UsernameModal({
2936
3144
  })
2937
3145
  }
2938
3146
  ),
2939
- /* @__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({
2940
3148
  id: "usernameLengthError"
2941
3149
  }) })
2942
3150
  ] }),
2943
- /* @__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: {
2944
3152
  marginTop: isDownMd ? "36px" : "64px"
2945
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
2946
- /* @__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: {
2947
3155
  marginTop: isDownMd ? "12px" : "24px"
2948
- }, 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" }) })
2949
3157
  ] }) });
2950
3158
  }
2951
3159
 
2952
3160
  // src/components/SOLModal/index.tsx
2953
- var import_react21 = __toESM(require("react"));
3161
+ var import_react25 = __toESM(require("react"));
2954
3162
  var import_web3 = require("@solana/web3.js");
2955
3163
  var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
2956
3164
  var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
@@ -2969,7 +3177,7 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
2969
3177
  var import_react_intl13 = require("react-intl");
2970
3178
 
2971
3179
  // src/components/WalletModalContent/index.tsx
2972
- var import_react20 = require("react");
3180
+ var import_react24 = require("react");
2973
3181
 
2974
3182
  // src/assets/wallet.ts
2975
3183
  var walletErrorImage = "data:image/png;base64,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";
@@ -2979,7 +3187,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
2979
3187
  var walletSigningImage = "data:image/png;base64,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";
2980
3188
 
2981
3189
  // src/components/WalletModalContent/index.tsx
2982
- var import_jsx_runtime66 = require("react/jsx-runtime");
3190
+ var import_jsx_runtime70 = require("react/jsx-runtime");
2983
3191
  function WalletModalContent({
2984
3192
  status,
2985
3193
  error,
@@ -2990,7 +3198,7 @@ function WalletModalContent({
2990
3198
  address,
2991
3199
  connected
2992
3200
  }) {
2993
- const pageData = (0, import_react20.useMemo)(() => {
3201
+ const pageData = (0, import_react24.useMemo)(() => {
2994
3202
  if (status == "success") {
2995
3203
  return {
2996
3204
  btnText: "Disconnect Wallet",
@@ -3049,12 +3257,12 @@ function WalletModalContent({
3049
3257
  statusImage: walletConnectImage
3050
3258
  };
3051
3259
  }, [visible, connected, status, error, address]);
3052
- 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: [
3053
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-content`, children: [
3054
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: pageData.statusImage }),
3055
- /* @__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 })
3056
3264
  ] }),
3057
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3265
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3058
3266
  Button,
3059
3267
  {
3060
3268
  block: true,
@@ -3069,7 +3277,7 @@ function WalletModalContent({
3069
3277
  }
3070
3278
 
3071
3279
  // src/components/SOLModal/index.tsx
3072
- var import_jsx_runtime67 = require("react/jsx-runtime");
3280
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3073
3281
  function WalletContent({
3074
3282
  onSuccess,
3075
3283
  type
@@ -3077,17 +3285,17 @@ function WalletContent({
3077
3285
  const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
3078
3286
  const wallet = (0, import_wallet_adapter_react.useWallet)();
3079
3287
  const { events, login } = useMatch();
3080
- const [status, setStatus] = (0, import_react21.useState)("");
3081
- const statusRef = import_react21.default.useRef(status);
3082
- const [error, setError] = (0, import_react21.useState)("");
3083
- (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)(() => {
3084
3292
  const init = async () => {
3085
3293
  await wallet.disconnect();
3086
3294
  setVisible(true);
3087
3295
  };
3088
3296
  init();
3089
3297
  }, []);
3090
- (0, import_react21.useEffect)(() => {
3298
+ (0, import_react25.useEffect)(() => {
3091
3299
  if (wallet.connected) {
3092
3300
  console.log("wallet.connected", wallet.connected);
3093
3301
  toLoginInWallet();
@@ -3099,7 +3307,10 @@ function WalletContent({
3099
3307
  try {
3100
3308
  setStatus("nonce");
3101
3309
  statusRef.current = "nonce";
3102
- 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" });
3103
3314
  if (!isSuccess(res)) {
3104
3315
  throw new Error(res.message);
3105
3316
  }
@@ -3148,7 +3359,7 @@ function WalletContent({
3148
3359
  statusRef.current = "";
3149
3360
  }
3150
3361
  };
3151
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3362
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3152
3363
  WalletModalContent,
3153
3364
  {
3154
3365
  connected: wallet.connected,
@@ -3203,21 +3414,24 @@ var wallets = [
3203
3414
  new import_wallet_adapter_wallets.TrustWalletAdapter(),
3204
3415
  new import_wallet_adapter_wallets.XDEFIWalletAdapter()
3205
3416
  ];
3206
- function SOLModal({
3417
+ function SOLConnectModal({
3207
3418
  type = "login",
3208
3419
  onSuccess,
3209
3420
  ...props
3210
3421
  }) {
3211
3422
  const intl = (0, import_react_intl13.useIntl)();
3212
- 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({
3213
3424
  id: type == "bind" ? "bindWith" : "loginWith"
3214
3425
  }, {
3215
3426
  name: "SOL"
3216
- }), 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 });
3217
3431
  }
3218
3432
 
3219
3433
  // src/components/TRONModal/index.tsx
3220
- var import_react23 = __toESM(require("react"));
3434
+ var import_react27 = __toESM(require("react"));
3221
3435
  var import_react_intl14 = require("react-intl");
3222
3436
 
3223
3437
  // src/lib/tron/TronLinkAdapter.ts
@@ -3251,7 +3465,7 @@ var TronLinkAdapter = class {
3251
3465
  };
3252
3466
 
3253
3467
  // src/hooks/useTRONWallet.ts
3254
- var import_react22 = require("react");
3468
+ var import_react26 = require("react");
3255
3469
 
3256
3470
  // src/lib/tron/BitgetAdapter.ts
3257
3471
  var BitgetAdapter = class {
@@ -3296,9 +3510,9 @@ var OKXAdapter = class {
3296
3510
  // src/hooks/useTRONWallet.ts
3297
3511
  var useTRONWallet = () => {
3298
3512
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
3299
- const [installedWallets, setInstalledWallets] = (0, import_react22.useState)([]);
3300
- const [address, setAddress] = (0, import_react22.useState)(null);
3301
- (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)(() => {
3302
3516
  const getInstalled = async () => {
3303
3517
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3304
3518
  wallet: wallet2,
@@ -3308,11 +3522,11 @@ var useTRONWallet = () => {
3308
3522
  };
3309
3523
  getInstalled();
3310
3524
  }, []);
3311
- const [wallet, chooseWallet] = (0, import_react22.useState)(null);
3525
+ const [wallet, chooseWallet] = (0, import_react26.useState)(null);
3312
3526
  const onConnect = async () => {
3313
3527
  setAddress(await wallet.connect());
3314
3528
  };
3315
- (0, import_react22.useEffect)(() => {
3529
+ (0, import_react26.useEffect)(() => {
3316
3530
  if (!wallet) {
3317
3531
  setAddress(null);
3318
3532
  }
@@ -3328,8 +3542,8 @@ var useTRONWallet = () => {
3328
3542
  };
3329
3543
 
3330
3544
  // src/components/TRONModal/index.tsx
3331
- var import_jsx_runtime68 = require("react/jsx-runtime");
3332
- function TRONModal({
3545
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3546
+ function TRONConnectModal({
3333
3547
  type = "login",
3334
3548
  onSuccess,
3335
3549
  ...props
@@ -3338,15 +3552,15 @@ function TRONModal({
3338
3552
  const intl = (0, import_react_intl14.useIntl)();
3339
3553
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
3340
3554
  const iconMaps = {
3341
- tronlink: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3342
- bitget: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3343
- 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 })
3344
3558
  };
3345
3559
  const { events, login } = useMatch();
3346
- const [status, setStatus] = (0, import_react23.useState)("");
3347
- const statusRef = import_react23.default.useRef(status);
3348
- const [error, setError] = (0, import_react23.useState)("");
3349
- 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)(() => {
3350
3564
  return !!address;
3351
3565
  }, [address]);
3352
3566
  const disconnect = async () => {
@@ -3414,7 +3628,7 @@ function TRONModal({
3414
3628
  statusRef.current = "";
3415
3629
  }
3416
3630
  };
3417
- (0, import_react23.useEffect)(() => {
3631
+ (0, import_react27.useEffect)(() => {
3418
3632
  if (wallet) {
3419
3633
  console.log("onConnect");
3420
3634
  onConnect();
@@ -3422,21 +3636,21 @@ function TRONModal({
3422
3636
  setStatus("");
3423
3637
  }
3424
3638
  }, [wallet]);
3425
- (0, import_react23.useEffect)(() => {
3639
+ (0, import_react27.useEffect)(() => {
3426
3640
  if (address) {
3427
3641
  toLoginInWallet();
3428
3642
  }
3429
3643
  }, [address]);
3430
- (0, import_react23.useEffect)(() => {
3644
+ (0, import_react27.useEffect)(() => {
3431
3645
  if (!props.isOpen) {
3432
3646
  disconnect();
3433
3647
  }
3434
3648
  }, [props.isOpen]);
3435
- 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({
3436
3650
  id: type == "bind" ? "bindWith" : "loginWith"
3437
3651
  }, {
3438
3652
  name: "TRON"
3439
- }), 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)(
3440
3654
  WalletModalContent,
3441
3655
  {
3442
3656
  error,
@@ -3449,9 +3663,9 @@ function TRONModal({
3449
3663
  setVisible: () => {
3450
3664
  }
3451
3665
  }
3452
- ) : /* @__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: [
3453
3667
  installedWallets.map((wallet2) => {
3454
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3668
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3455
3669
  RecommendItem,
3456
3670
  {
3457
3671
  icon: iconMaps[wallet2.walletKey],
@@ -3464,14 +3678,14 @@ function TRONModal({
3464
3678
  );
3465
3679
  }),
3466
3680
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3467
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3681
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3468
3682
  RecommendItem,
3469
3683
  {
3470
3684
  icon: iconMaps[wallet2.walletKey],
3471
3685
  name: wallet2.name,
3472
3686
  onClick: () => {
3473
3687
  },
3474
- footer: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { size: "sm", onClick: () => {
3688
+ footer: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { size: "sm", onClick: () => {
3475
3689
  window.open(wallet2.website);
3476
3690
  }, children: "Install" })
3477
3691
  },
@@ -3480,26 +3694,29 @@ function TRONModal({
3480
3694
  })
3481
3695
  ] }) }) });
3482
3696
  }
3697
+ function TRONModal(props) {
3698
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TRONConnectModal, { ...props, type: "" });
3699
+ }
3483
3700
 
3484
3701
  // src/components/TONModal/index.tsx
3485
- var import_react24 = __toESM(require("react"));
3702
+ var import_react28 = __toESM(require("react"));
3486
3703
  var import_react_intl15 = require("react-intl");
3487
3704
  var import_ui_react = require("@tonconnect/ui-react");
3488
- var import_jsx_runtime69 = require("react/jsx-runtime");
3705
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3489
3706
  function WalletContent2({
3490
3707
  onSuccess,
3491
3708
  type
3492
3709
  }) {
3493
3710
  const { events, login } = useMatch();
3494
- const [connected, setConnected] = (0, import_react24.useState)(false);
3711
+ const [connected, setConnected] = (0, import_react28.useState)(false);
3495
3712
  const wallet = (0, import_ui_react.useTonWallet)();
3496
3713
  const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
3497
3714
  const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
3498
3715
  const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
3499
- const [status, setStatus] = (0, import_react24.useState)("");
3500
- const statusRef = import_react24.default.useRef(status);
3501
- const [error, setError] = (0, import_react24.useState)("");
3502
- (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)(() => {
3503
3720
  const init = async () => {
3504
3721
  if (wallet) {
3505
3722
  await tonConnectUI.disconnect();
@@ -3572,7 +3789,7 @@ function WalletContent2({
3572
3789
  }
3573
3790
  });
3574
3791
  }, []);
3575
- (0, import_react24.useEffect)(() => {
3792
+ (0, import_react28.useEffect)(() => {
3576
3793
  if (wallet) {
3577
3794
  setConnected(true);
3578
3795
  console.log("Wallet connected:", wallet);
@@ -3583,7 +3800,7 @@ function WalletContent2({
3583
3800
  setStatus("");
3584
3801
  }
3585
3802
  }, [wallet]);
3586
- (0, import_react24.useEffect)(() => {
3803
+ (0, import_react28.useEffect)(() => {
3587
3804
  console.log({
3588
3805
  state,
3589
3806
  wallet
@@ -3612,7 +3829,7 @@ function WalletContent2({
3612
3829
  }
3613
3830
  }
3614
3831
  }, [state]);
3615
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3832
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3616
3833
  WalletModalContent,
3617
3834
  {
3618
3835
  connected,
@@ -3638,7 +3855,7 @@ function WalletContent2({
3638
3855
  }
3639
3856
  );
3640
3857
  }
3641
- function TONModal({
3858
+ function TONConnectModal({
3642
3859
  type = "login",
3643
3860
  onSuccess,
3644
3861
  ...props
@@ -3646,21 +3863,24 @@ function TONModal({
3646
3863
  const intl = (0, import_react_intl15.useIntl)();
3647
3864
  const { endpoints, appid } = useLocalStore_default();
3648
3865
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
3649
- 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({
3650
3867
  id: type == "bind" ? "bindWith" : "loginWith"
3651
3868
  }, {
3652
3869
  name: "TON"
3653
- }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3870
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3654
3871
  import_ui_react.TonConnectUIProvider,
3655
3872
  {
3656
3873
  manifestUrl,
3657
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(WalletContent2, { onSuccess, type })
3874
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletContent2, { onSuccess, type })
3658
3875
  }
3659
3876
  ) });
3660
3877
  }
3878
+ function TONModal(props) {
3879
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TONConnectModal, { ...props });
3880
+ }
3661
3881
 
3662
3882
  // src/components/BTCModal/index.tsx
3663
- var import_react26 = __toESM(require("react"));
3883
+ var import_react30 = __toESM(require("react"));
3664
3884
  var import_react_intl16 = require("react-intl");
3665
3885
 
3666
3886
  // src/lib/btc/UnisatAdapter.ts
@@ -3732,7 +3952,7 @@ var XverseAdapter = class {
3732
3952
  }
3733
3953
  });
3734
3954
  } catch (err) {
3735
- console.error(err);
3955
+ matchlog_default.error(err);
3736
3956
  resolve(false);
3737
3957
  }
3738
3958
  });
@@ -3809,12 +4029,12 @@ var LeatherAdapter = class {
3809
4029
  };
3810
4030
 
3811
4031
  // src/hooks/useBTCWallet.ts
3812
- var import_react25 = require("react");
4032
+ var import_react29 = require("react");
3813
4033
  var useBTCWallet = () => {
3814
4034
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
3815
- const [installedWallets, setInstalledWallets] = (0, import_react25.useState)([]);
3816
- const [address, setAddress] = (0, import_react25.useState)(null);
3817
- (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)(() => {
3818
4038
  const getInstalled = async () => {
3819
4039
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3820
4040
  wallet: wallet2,
@@ -3824,11 +4044,11 @@ var useBTCWallet = () => {
3824
4044
  };
3825
4045
  getInstalled();
3826
4046
  }, []);
3827
- const [wallet, chooseWallet] = (0, import_react25.useState)(null);
4047
+ const [wallet, chooseWallet] = (0, import_react29.useState)(null);
3828
4048
  const onConnect = async () => {
3829
4049
  setAddress(await wallet.connect());
3830
4050
  };
3831
- (0, import_react25.useEffect)(() => {
4051
+ (0, import_react29.useEffect)(() => {
3832
4052
  if (!wallet) {
3833
4053
  setAddress(null);
3834
4054
  }
@@ -3844,8 +4064,8 @@ var useBTCWallet = () => {
3844
4064
  };
3845
4065
 
3846
4066
  // src/components/BTCModal/index.tsx
3847
- var import_jsx_runtime70 = require("react/jsx-runtime");
3848
- function BTCModal({
4067
+ var import_jsx_runtime74 = require("react/jsx-runtime");
4068
+ function BTCConnectModal({
3849
4069
  type = "login",
3850
4070
  onSuccess,
3851
4071
  ...props
@@ -3854,15 +4074,15 @@ function BTCModal({
3854
4074
  const intl = (0, import_react_intl16.useIntl)();
3855
4075
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
3856
4076
  const iconMaps = {
3857
- leather: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3858
- unisat: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3859
- 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 })
3860
4080
  };
3861
4081
  const { events, login } = useMatch();
3862
- const [status, setStatus] = (0, import_react26.useState)("");
3863
- const statusRef = import_react26.default.useRef(status);
3864
- const [error, setError] = (0, import_react26.useState)("");
3865
- 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)(() => {
3866
4086
  return !!address;
3867
4087
  }, [address]);
3868
4088
  const disconnect = async () => {
@@ -3926,7 +4146,7 @@ function BTCModal({
3926
4146
  statusRef.current = "";
3927
4147
  }
3928
4148
  };
3929
- (0, import_react26.useEffect)(() => {
4149
+ (0, import_react30.useEffect)(() => {
3930
4150
  if (wallet) {
3931
4151
  console.log("onConnect");
3932
4152
  try {
@@ -3939,12 +4159,12 @@ function BTCModal({
3939
4159
  setStatus("");
3940
4160
  }
3941
4161
  }, [wallet]);
3942
- (0, import_react26.useEffect)(() => {
4162
+ (0, import_react30.useEffect)(() => {
3943
4163
  if (address) {
3944
4164
  toLoginInWallet();
3945
4165
  }
3946
4166
  }, [address]);
3947
- (0, import_react26.useEffect)(() => {
4167
+ (0, import_react30.useEffect)(() => {
3948
4168
  if (!props.isOpen) {
3949
4169
  disconnect();
3950
4170
  }
@@ -3956,11 +4176,11 @@ function BTCModal({
3956
4176
  statusRef.current = "";
3957
4177
  setError("");
3958
4178
  };
3959
- 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({
3960
4180
  id: type == "bind" ? "bindWith" : "loginWith"
3961
4181
  }, {
3962
4182
  name: "BTC"
3963
- }), 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)(
3964
4184
  WalletModalContent,
3965
4185
  {
3966
4186
  error,
@@ -3973,9 +4193,9 @@ function BTCModal({
3973
4193
  setVisible: () => {
3974
4194
  }
3975
4195
  }
3976
- ) : /* @__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: [
3977
4197
  installedWallets.map((wallet2) => {
3978
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4198
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3979
4199
  RecommendItem,
3980
4200
  {
3981
4201
  icon: iconMaps[wallet2.walletKey],
@@ -3988,14 +4208,14 @@ function BTCModal({
3988
4208
  );
3989
4209
  }),
3990
4210
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3991
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4211
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3992
4212
  RecommendItem,
3993
4213
  {
3994
4214
  icon: iconMaps[wallet2.walletKey],
3995
4215
  name: wallet2.name,
3996
4216
  onClick: () => {
3997
4217
  },
3998
- footer: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { size: "sm", onClick: () => {
4218
+ footer: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { size: "sm", onClick: () => {
3999
4219
  window.open(wallet2.website);
4000
4220
  }, children: "Install" })
4001
4221
  },
@@ -4004,6 +4224,9 @@ function BTCModal({
4004
4224
  })
4005
4225
  ] }) }) });
4006
4226
  }
4227
+ function BTCModal(props) {
4228
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(BTCConnectModal, { ...props });
4229
+ }
4007
4230
  // Annotate the CommonJS export names for ESM import in node:
4008
4231
  0 && (module.exports = {
4009
4232
  BTCModal,
@@ -4017,6 +4240,7 @@ function BTCModal({
4017
4240
  LoginPanel,
4018
4241
  Modal,
4019
4242
  ModalWithHeader,
4243
+ Overlay,
4020
4244
  PasswordModal,
4021
4245
  Popover,
4022
4246
  SOLModal,