@matchain/matchid-sdk-react 0.1.46-alpha.9 → 0.1.47

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 (85) hide show
  1. package/dist/assets/icon/index.d.mts +2 -4
  2. package/dist/assets/icon/index.d.ts +2 -4
  3. package/dist/assets/icon/index.js +0 -27
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +1 -3
  6. package/dist/chunk-A3XSTHEE.mjs +93 -0
  7. package/dist/chunk-A3XSTHEE.mjs.map +1 -0
  8. package/dist/{chunk-A5D3NKTK.mjs → chunk-DPXMCLYK.mjs} +3 -29
  9. package/dist/chunk-DPXMCLYK.mjs.map +1 -0
  10. package/dist/{chunk-UA6XHZHX.mjs → chunk-SQIJR7RA.mjs} +14 -2
  11. package/dist/chunk-SQIJR7RA.mjs.map +1 -0
  12. package/dist/{chunk-OBHKOOCD.mjs → chunk-TOUC33US.mjs} +4618 -142
  13. package/dist/chunk-TOUC33US.mjs.map +1 -0
  14. package/dist/components/index.d.mts +3 -3
  15. package/dist/components/index.d.ts +3 -3
  16. package/dist/components/index.js +812 -387
  17. package/dist/components/index.js.map +1 -1
  18. package/dist/components/index.mjs +12 -12
  19. package/dist/hooks/api/index.d.mts +2 -2
  20. package/dist/hooks/api/index.d.ts +2 -2
  21. package/dist/hooks/api/index.js +239 -342
  22. package/dist/hooks/api/index.js.map +1 -1
  23. package/dist/hooks/api/index.mjs +6 -12
  24. package/dist/hooks/index.d.mts +2 -2
  25. package/dist/hooks/index.d.ts +2 -2
  26. package/dist/hooks/index.js +498 -398
  27. package/dist/hooks/index.js.map +1 -1
  28. package/dist/hooks/index.mjs +4 -6
  29. package/dist/{index-DYb6srm9.d.ts → index-B0VpxAI2.d.mts} +33 -5
  30. package/dist/{index-C9EBucNb.d.ts → index-CFWR1boZ.d.ts} +24 -2
  31. package/dist/{index-BQ4znGiW.d.ts → index-CTSg5TRS.d.ts} +2 -9
  32. package/dist/index-CWYElOA2.d.mts +65 -0
  33. package/dist/index-CoTirILQ.d.ts +65 -0
  34. package/dist/{index-DrzL-Ogw.d.mts → index-D2pNP7Bz.d.mts} +24 -2
  35. package/dist/{index-DuBywj_6.d.mts → index-DR2JTaoi.d.mts} +2 -9
  36. package/dist/{index-BD6sPfI_.d.mts → index-DVlCrOjr.d.ts} +33 -5
  37. package/dist/index.css +1 -106
  38. package/dist/index.d.mts +6 -8
  39. package/dist/index.d.ts +6 -8
  40. package/dist/index.js +2333 -2208
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.mjs +6 -12
  43. package/dist/types/index.d.mts +1 -1
  44. package/dist/types/index.d.ts +1 -1
  45. package/dist/types/index.mjs +1 -2
  46. package/dist/{types-BvsN5jj9.d.mts → types-CRumDe2M.d.mts} +1 -109
  47. package/dist/{types-BvsN5jj9.d.ts → types-CRumDe2M.d.ts} +1 -109
  48. package/example/src/App.tsx +0 -7
  49. package/example/src/config/chains/matchMain.ts +3 -2
  50. package/example/src/pages/User/components/BindListModal.tsx +1 -1
  51. package/example/src/pages/User/components/PohListModal.tsx +1 -1
  52. package/example/src/pages/User/index.tsx +13 -1
  53. package/example/src/pages/{Wallet/index.tsx → Wallet.tsx} +1 -27
  54. package/package.json +1 -5
  55. package/dist/chunk-A5D3NKTK.mjs.map +0 -1
  56. package/dist/chunk-E4GTBGEE.mjs +0 -4241
  57. package/dist/chunk-E4GTBGEE.mjs.map +0 -1
  58. package/dist/chunk-FFTS42UP.mjs +0 -112
  59. package/dist/chunk-FFTS42UP.mjs.map +0 -1
  60. package/dist/chunk-HBOS3RBL.mjs +0 -19
  61. package/dist/chunk-HBOS3RBL.mjs.map +0 -1
  62. package/dist/chunk-OBHKOOCD.mjs.map +0 -1
  63. package/dist/chunk-UA6XHZHX.mjs.map +0 -1
  64. package/dist/chunk-XKPX224V.mjs +0 -168
  65. package/dist/chunk-XKPX224V.mjs.map +0 -1
  66. package/dist/index-BEANfTWl.d.mts +0 -57
  67. package/dist/index-BhavUO9H.d.ts +0 -26
  68. package/dist/index-CgwBZE9m.d.ts +0 -119
  69. package/dist/index-DdqWjOlR.d.ts +0 -57
  70. package/dist/index-IXJvjOKV.d.mts +0 -119
  71. package/dist/index-sdb-MpAt.d.mts +0 -26
  72. package/dist/ui/index.d.mts +0 -6
  73. package/dist/ui/index.d.ts +0 -6
  74. package/dist/ui/index.js +0 -724
  75. package/dist/ui/index.js.map +0 -1
  76. package/dist/ui/index.mjs +0 -35
  77. package/dist/ui/index.mjs.map +0 -1
  78. package/example/src/pages/UI/components/AlphaAvatar.tsx +0 -11
  79. package/example/src/pages/UI/components/Radio.tsx +0 -15
  80. package/example/src/pages/UI/components/Switch.tsx +0 -13
  81. package/example/src/pages/UI/index.tsx +0 -11
  82. package/example/src/pages/Wallet/components/AssetListModal.tsx +0 -15
  83. package/example/src/pages/Wallet/components/ChainListModal.tsx +0 -11
  84. package/example/src/pages/Wallet/components/ImportTokenListModal.tsx +0 -15
  85. /package/example/src/{components → pages/User/components}/QueryDisplay.tsx +0 -0
@@ -42,6 +42,7 @@ __export(components_exports, {
42
42
  Modal: () => Modal,
43
43
  ModalWithHeader: () => ModalWithHeader,
44
44
  Overlay: () => Overlay,
45
+ PasswordModal: () => PasswordModal,
45
46
  Popover: () => Popover,
46
47
  SOLModal: () => SOLModal,
47
48
  TONModal: () => TONModal,
@@ -52,7 +53,7 @@ __export(components_exports, {
52
53
  module.exports = __toCommonJS(components_exports);
53
54
 
54
55
  // src/components/EmailModal/index.tsx
55
- var import_react15 = require("react");
56
+ var import_react18 = require("react");
56
57
 
57
58
  // src/assets/icon/ArrowLeftIcon.tsx
58
59
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -354,6 +355,21 @@ function CheckRoundIcon({
354
355
 
355
356
  // src/assets/icon/PasswordRoundIcon.tsx
356
357
  var import_jsx_runtime16 = require("react/jsx-runtime");
358
+ function PasswordRoundIcon() {
359
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("svg", { width: "40", height: "40", viewBox: "0 0 40 40", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
360
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("rect", { x: "0.5", y: "0.5", width: "39", height: "39", rx: "7.5", fill: "white" }),
361
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("rect", { x: "0.5", y: "0.5", width: "39", height: "39", rx: "7.5", stroke: "black" }),
362
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
363
+ "path",
364
+ {
365
+ fillRule: "evenodd",
366
+ clipRule: "evenodd",
367
+ d: "M19.7673 16.1137C19.962 13.9479 21.7831 12.25 24 12.25C26.3472 12.25 28.25 14.1528 28.25 16.5C28.25 18.8472 26.3472 20.75 24 20.75C23.488 20.75 22.9987 20.6598 22.5461 20.495C21.9175 20.2662 21.1115 20.3279 20.5486 20.8908L19.2626 22.1768C19.2157 22.2237 19.1521 22.25 19.0858 22.25H18C17.3096 22.25 16.75 22.8096 16.75 23.5V24.25H15.5C14.8096 24.25 14.25 24.8096 14.25 25.5V26.5C14.25 26.6381 14.1381 26.75 14 26.75H12C11.8619 26.75 11.75 26.6381 11.75 26.5V23.9538C11.75 23.8817 11.7811 23.8131 11.8354 23.7656L19.1524 17.3632C19.5404 17.0238 19.7275 16.556 19.7673 16.1137ZM24 10.75C20.9997 10.75 18.5369 13.0473 18.2733 15.9794C18.2614 16.1115 18.2107 16.1941 18.1646 16.2344L10.8476 22.6368C10.4678 22.9691 10.25 23.4491 10.25 23.9538V26.5C10.25 27.4665 11.0335 28.25 12 28.25H14C14.9665 28.25 15.75 27.4665 15.75 26.5V25.75H17C17.6904 25.75 18.25 25.1904 18.25 24.5V23.75H19.0858C19.5499 23.75 19.995 23.5656 20.3232 23.2374L21.6092 21.9514C21.6738 21.8868 21.8277 21.8298 22.033 21.9045C22.6476 22.1283 23.3104 22.25 24 22.25C27.1756 22.25 29.75 19.6756 29.75 16.5C29.75 13.3244 27.1756 10.75 24 10.75ZM25 16.5C25.5523 16.5 26 16.0523 26 15.5C26 14.9477 25.5523 14.5 25 14.5C24.4477 14.5 24 14.9477 24 15.5C24 16.0523 24.4477 16.5 25 16.5Z",
368
+ fill: "black"
369
+ }
370
+ )
371
+ ] });
372
+ }
357
373
 
358
374
  // src/assets/icon/CloseEyeIcon.tsx
359
375
  var import_jsx_runtime17 = require("react/jsx-runtime");
@@ -1093,9 +1109,6 @@ function TonLightIcon2({ size = 40, ...props }) {
1093
1109
  );
1094
1110
  }
1095
1111
 
1096
- // src/assets/icon/ErrorRoundIcon.tsx
1097
- var import_jsx_runtime44 = require("react/jsx-runtime");
1098
-
1099
1112
  // src/hooks/useLayout.tsx
1100
1113
  var import_react = require("react");
1101
1114
  function useDownMd() {
@@ -1112,9 +1125,9 @@ function useDownMd() {
1112
1125
  return isBelowMd;
1113
1126
  }
1114
1127
 
1115
- // src/ui/Overlay/index.tsx
1128
+ // src/components/Overlay/index.tsx
1116
1129
  var import_react2 = require("react");
1117
- var import_jsx_runtime45 = require("react/jsx-runtime");
1130
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1118
1131
  function Overlay({
1119
1132
  isOpen = false,
1120
1133
  children,
@@ -1130,7 +1143,7 @@ function Overlay({
1130
1143
  document.body.style.overflow = "";
1131
1144
  };
1132
1145
  }, [isOpen]);
1133
- return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
1146
+ return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1134
1147
  "div",
1135
1148
  {
1136
1149
  className: "matchid-overlay",
@@ -1139,11 +1152,11 @@ function Overlay({
1139
1152
  },
1140
1153
  children
1141
1154
  }
1142
- ) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, {});
1155
+ ) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {});
1143
1156
  }
1144
1157
 
1145
- // src/ui/Modal/index.tsx
1146
- var import_jsx_runtime46 = require("react/jsx-runtime");
1158
+ // src/components/Modal/index.tsx
1159
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1147
1160
  function Modal({
1148
1161
  children,
1149
1162
  isOpen,
@@ -1151,10 +1164,10 @@ function Modal({
1151
1164
  zIndex = 100,
1152
1165
  className = ""
1153
1166
  }) {
1154
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Overlay, { isOpen, zIndex, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1167
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Overlay, { isOpen, zIndex, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1155
1168
  width
1156
1169
  }, children: [
1157
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-modal-mobile-header" }),
1170
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "matchid-modal-mobile-header" }),
1158
1171
  children
1159
1172
  ] }) });
1160
1173
  }
@@ -1168,13 +1181,13 @@ function ModalWithHeader({
1168
1181
  ...props
1169
1182
  }) {
1170
1183
  const isDownMd = useDownMd();
1171
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Modal, { ...props, children: [
1172
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1173
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "matchid-modal-header-content", children: [
1174
- onBack && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1175
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "matchid-modal-header-title", children: title })
1184
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Modal, { ...props, children: [
1185
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1186
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "matchid-modal-header-content", children: [
1187
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1188
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "matchid-modal-header-title", children: title })
1176
1189
  ] }),
1177
- onClose && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1190
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1178
1191
  ] }),
1179
1192
  children
1180
1193
  ] });
@@ -1208,8 +1221,8 @@ function getAppClientId() {
1208
1221
  return "react-sdk-" + getVersion();
1209
1222
  }
1210
1223
 
1211
- // src/ui/Button/index.tsx
1212
- var import_jsx_runtime47 = require("react/jsx-runtime");
1224
+ // src/components/Button/index.tsx
1225
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1213
1226
  function Button({
1214
1227
  size = "df",
1215
1228
  disabled = false,
@@ -1228,7 +1241,7 @@ function Button({
1228
1241
  onClick && onClick();
1229
1242
  }
1230
1243
  };
1231
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1244
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1232
1245
  "button",
1233
1246
  {
1234
1247
  type,
@@ -1238,14 +1251,14 @@ function Button({
1238
1251
  ...style
1239
1252
  },
1240
1253
  onClick: onAction,
1241
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1254
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1242
1255
  }
1243
1256
  );
1244
1257
  }
1245
1258
 
1246
- // src/ui/Input/index.tsx
1259
+ // src/components/Input/index.tsx
1247
1260
  var import_react3 = require("react");
1248
- var import_jsx_runtime48 = require("react/jsx-runtime");
1261
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1249
1262
  function Input({
1250
1263
  onChange,
1251
1264
  type,
@@ -1255,17 +1268,17 @@ function Input({
1255
1268
  }) {
1256
1269
  const [inputType, setInputType] = (0, import_react3.useState)(type);
1257
1270
  const isDownMd = useDownMd();
1258
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
1271
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
1259
1272
  "div",
1260
1273
  {
1261
1274
  className: `matchid-input-box ${props.value && props.value.length > 0 ? "matchid-input-has-content" : ""} ${className}`,
1262
1275
  children: [
1263
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1264
- props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1276
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1277
+ props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1265
1278
  if (onChange) {
1266
1279
  onChange({ target: { value: "" } });
1267
1280
  }
1268
- }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
1281
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1269
1282
  DeleteRoundIcon,
1270
1283
  {
1271
1284
  height: isDownMd ? 16 : 21,
@@ -1273,17 +1286,17 @@ function Input({
1273
1286
  color: "var(--matchid-input-delete-icon-color)"
1274
1287
  }
1275
1288
  ) }),
1276
- type === "password" && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1289
+ type === "password" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1277
1290
  setInputType(inputType === "password" ? "text" : "password");
1278
- }, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(CloseEyeIcon, { size: isDownMd ? 16 : 20 }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(OpenEyeIcon, { size: isDownMd ? 16 : 20 }) }),
1291
+ }, 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 }) }),
1279
1292
  after
1280
1293
  ]
1281
1294
  }
1282
1295
  );
1283
1296
  }
1284
1297
 
1285
- // src/ui/Field/index.tsx
1286
- var import_jsx_runtime49 = require("react/jsx-runtime");
1298
+ // src/components/Field/index.tsx
1299
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1287
1300
  function Field({
1288
1301
  label,
1289
1302
  children,
@@ -1291,19 +1304,19 @@ function Field({
1291
1304
  required,
1292
1305
  className = ""
1293
1306
  }) {
1294
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1295
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-field-label", children: [
1296
- required && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "matchid-field-required", children: "*" }),
1307
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1308
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "matchid-field-label", children: [
1309
+ required && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "matchid-field-required", children: "*" }),
1297
1310
  label
1298
1311
  ] }),
1299
1312
  children,
1300
- error && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-field-error", children: error })
1313
+ error && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "matchid-field-error", children: error })
1301
1314
  ] });
1302
1315
  }
1303
1316
 
1304
1317
  // src/components/EmailModal/StepEmail.tsx
1305
1318
  var import_react_intl = require("react-intl");
1306
- var import_jsx_runtime50 = require("react/jsx-runtime");
1319
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1307
1320
  function StepEmail(props) {
1308
1321
  const intl = (0, import_react_intl.useIntl)();
1309
1322
  const [emailVal, setEmailVal] = (0, import_react4.useState)("");
@@ -1318,10 +1331,10 @@ function StepEmail(props) {
1318
1331
  const onContinue = async () => {
1319
1332
  props.onContinue(emailVal);
1320
1333
  };
1321
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-email-email-box", children: [
1322
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: intl.formatMessage({
1334
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-email-email-box", children: [
1335
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({
1323
1336
  id: "emailAddress"
1324
- }), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
1337
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1325
1338
  Input,
1326
1339
  {
1327
1340
  placeholder: intl.formatMessage({
@@ -1331,15 +1344,57 @@ function StepEmail(props) {
1331
1344
  value: emailVal
1332
1345
  }
1333
1346
  ) }),
1334
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { disabled: !canContinue, style: {
1347
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { disabled: !canContinue, style: {
1335
1348
  marginTop: "64px"
1336
- }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1349
+ }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1337
1350
  ] });
1338
1351
  }
1339
1352
 
1340
1353
  // src/store/useLocalStore.ts
1341
1354
  var import_zustand = require("zustand");
1342
1355
  var import_middleware = require("zustand/middleware");
1356
+ var persistedState = (0, import_middleware.persist)(
1357
+ (set) => ({
1358
+ appid: "",
1359
+ token: "",
1360
+ did: "",
1361
+ mid: "",
1362
+ overview: null,
1363
+ theme: "light",
1364
+ setOverview: (overview) => set({
1365
+ overview,
1366
+ address: overview.address,
1367
+ did: overview.did,
1368
+ mid: overview.mid
1369
+ }),
1370
+ endpoints: {
1371
+ back: "https://api.matchid.ai/",
1372
+ auth: "https://auth.matchid.ai/"
1373
+ },
1374
+ setDid: (did) => set({ did }),
1375
+ setToken: (token) => set({ token }),
1376
+ setAppid: (appid) => set({ appid }),
1377
+ setMid: (mid) => set({ mid }),
1378
+ logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
1379
+ setTheme: (theme) => set({ theme }),
1380
+ setEndpoints: (endpoints) => set({ endpoints }),
1381
+ address: "",
1382
+ setAddress: (address) => set({ address }),
1383
+ locale: "en",
1384
+ setLocale: (locale) => set({ locale }),
1385
+ wallet: {
1386
+ type: "UserPasscode"
1387
+ },
1388
+ setWallet: (wallet) => set({ wallet })
1389
+ }),
1390
+ { name: "match-local" }
1391
+ );
1392
+ var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
1393
+ var localStore = useLocalStore;
1394
+ var useLocalStore_default = useLocalStore;
1395
+
1396
+ // src/hooks/useUserInfo.tsx
1397
+ var import_react16 = require("react");
1343
1398
 
1344
1399
  // src/api/request.ts
1345
1400
  var import_axios = __toESM(require("axios"));
@@ -1599,62 +1654,15 @@ var getAppConfigApi = () => {
1599
1654
  });
1600
1655
  };
1601
1656
 
1602
- // src/store/useLocalStore.ts
1603
- var persistedState = (0, import_middleware.persist)(
1604
- (set) => ({
1605
- appid: "",
1606
- token: "",
1607
- did: "",
1608
- mid: "",
1609
- overview: null,
1610
- theme: "light",
1611
- setOverview: (overview) => set({
1612
- overview,
1613
- address: overview.address,
1614
- did: overview.did,
1615
- mid: overview.mid
1616
- }),
1617
- refreshOverview: async () => {
1618
- const res = await getOverviewInfoApi();
1619
- if (res.data) {
1620
- set({ overview: res.data });
1621
- set({ address: res.data.address });
1622
- set({ did: res.data.did });
1623
- set({ mid: res.data.mid });
1624
- }
1625
- },
1626
- endpoints: {
1627
- back: "https://api.matchid.ai/",
1628
- auth: "https://auth.matchid.ai/"
1629
- },
1630
- setDid: (did) => set({ did }),
1631
- setToken: (token) => set({ token }),
1632
- setAppid: (appid) => set({ appid }),
1633
- setMid: (mid) => set({ mid }),
1634
- logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
1635
- setTheme: (theme) => set({ theme }),
1636
- setEndpoints: (endpoints) => set({ endpoints }),
1637
- address: "",
1638
- setAddress: (address) => set({ address }),
1639
- locale: "en",
1640
- setLocale: (locale) => set({ locale }),
1641
- wallet: {
1642
- type: "UserPasscode"
1643
- },
1644
- setWallet: (wallet) => set({ wallet })
1645
- }),
1646
- { name: "match-local" }
1647
- );
1648
- var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
1649
- var localStore = useLocalStore;
1650
- var useLocalStore_default = useLocalStore;
1651
-
1652
- // src/hooks/useUserInfo.tsx
1653
- var import_react13 = require("react");
1654
-
1655
1657
  // src/MatchContext.tsx
1658
+ var import_react15 = require("react");
1659
+
1660
+ // src/context/BusinessProvider.tsx
1656
1661
  var import_react12 = require("react");
1657
1662
 
1663
+ // src/components/PasswordModal/index.tsx
1664
+ var import_react8 = require("react");
1665
+
1658
1666
  // src/hooks/useMatchEvents.ts
1659
1667
  var import_react5 = require("react");
1660
1668
 
@@ -1693,8 +1701,18 @@ var import_viem = require("viem");
1693
1701
  var import_zustand2 = require("zustand");
1694
1702
  var useStore = (0, import_zustand2.create)((set) => ({
1695
1703
  walletReady: false,
1696
- setWalletReady: (inited) => set({ walletReady: inited })
1704
+ setWalletReady: (inited) => set({ walletReady: inited }),
1705
+ recoveryModal: {
1706
+ open: false,
1707
+ success: async () => {
1708
+ },
1709
+ close: async () => {
1710
+ }
1711
+ },
1712
+ setRecoveryModal: (params) => set({ recoveryModal: params }),
1713
+ closeRecoveryModal: () => set({ recoveryModal: { open: false } })
1697
1714
  }));
1715
+ var useStore_default = useStore;
1698
1716
 
1699
1717
  // src/hooks/useWallet.tsx
1700
1718
  var import_accounts = require("viem/accounts");
@@ -1706,39 +1724,39 @@ var import_viem3 = require("viem");
1706
1724
  var import_zustand3 = require("zustand");
1707
1725
 
1708
1726
  // src/hooks/useConfig.tsx
1709
- var import_jsx_runtime51 = require("react/jsx-runtime");
1727
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1710
1728
  var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
1711
1729
  var WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
1712
1730
  function useWalletConfig() {
1713
1731
  const isDownMd = useDownMd();
1714
1732
  const walletMap = {
1715
1733
  evm: {
1716
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
1717
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
1734
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
1735
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
1718
1736
  name: "EVM",
1719
1737
  method: "evm"
1720
1738
  },
1721
1739
  sol: {
1722
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
1723
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
1740
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
1741
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
1724
1742
  name: "SOL",
1725
1743
  method: "sol"
1726
1744
  },
1727
1745
  btc: {
1728
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
1729
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
1746
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
1747
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
1730
1748
  name: "BTC",
1731
1749
  method: "btc"
1732
1750
  },
1733
1751
  tron: {
1734
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
1735
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
1752
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
1753
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
1736
1754
  name: "TRON",
1737
1755
  method: "tron"
1738
1756
  },
1739
1757
  ton: {
1740
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
1741
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
1758
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
1759
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
1742
1760
  name: "TON",
1743
1761
  method: "ton"
1744
1762
  }
@@ -1800,6 +1818,291 @@ var useWalletModalStore = (0, import_zustand3.create)((set) => ({
1800
1818
 
1801
1819
  // src/hooks/useWallet.tsx
1802
1820
  var AppClientId = "react-sdk-" + getVersion();
1821
+ function useWallet() {
1822
+ const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
1823
+ const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
1824
+ const { open: openHashPanel } = useHashPanelStore();
1825
+ const initCore = ({
1826
+ did,
1827
+ address: address2
1828
+ }) => {
1829
+ return window.matchProvider.waitUntilWalletMessage(
1830
+ {
1831
+ method: "initCore",
1832
+ data: {
1833
+ AppId: appid,
1834
+ AppClientId,
1835
+ UserId: did,
1836
+ AccessToken: token,
1837
+ Address: address2
1838
+ }
1839
+ }
1840
+ );
1841
+ };
1842
+ const generateEmbeddedWallets = async (data) => {
1843
+ return await window.matchProvider.waitUntilWalletMessage({
1844
+ method: "generateEmbeddedWallets",
1845
+ data
1846
+ });
1847
+ };
1848
+ const recoveryEmbeddedWallets = async (data) => {
1849
+ return await window.matchProvider.waitUntilWalletMessage({
1850
+ method: "recoveryEmbeddedWallets",
1851
+ data
1852
+ });
1853
+ };
1854
+ const isRecovered = async () => {
1855
+ const res = await window.matchProvider.waitUntilWalletMessage({
1856
+ method: "isRecovered"
1857
+ });
1858
+ return res.isRecovered;
1859
+ };
1860
+ const recoverAfter = async ({
1861
+ chainType,
1862
+ handle
1863
+ }) => {
1864
+ return new Promise(async (resolve, reject) => {
1865
+ const res = await isRecovered();
1866
+ matchlog_default.log("sdk.mpc.isRecovered", res);
1867
+ if (res) {
1868
+ await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
1869
+ await handle(resolve, reject);
1870
+ return;
1871
+ }
1872
+ setRecoveryModal({
1873
+ chainType,
1874
+ open: true,
1875
+ success: async () => {
1876
+ closeRecoveryModal();
1877
+ matchlog_default.log("sdk.mpc.recover", "Success");
1878
+ await handle(resolve, reject);
1879
+ },
1880
+ close: async () => {
1881
+ closeRecoveryModal();
1882
+ reject(new Error("recover modal close"));
1883
+ }
1884
+ });
1885
+ await initCore({
1886
+ address: overview?.address || "",
1887
+ did: overview?.did || ""
1888
+ });
1889
+ });
1890
+ };
1891
+ const signMessage2 = async ({
1892
+ message,
1893
+ chainType = "ethereum" /* Ethereum */
1894
+ }) => {
1895
+ const getSign = async (resolve, reject) => {
1896
+ try {
1897
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1898
+ method: "signMessage",
1899
+ data: {
1900
+ message,
1901
+ chainType
1902
+ }
1903
+ });
1904
+ resolve(recoverRes.message);
1905
+ } catch (error) {
1906
+ console.error("qwe-sign-error", error);
1907
+ reject(error);
1908
+ }
1909
+ };
1910
+ return await recoverAfter({
1911
+ handle: getSign,
1912
+ chainType
1913
+ });
1914
+ };
1915
+ const signTransaction = async ({
1916
+ transaction,
1917
+ chainType = "ethereum" /* Ethereum */,
1918
+ chain
1919
+ }) => {
1920
+ console.log("qwe-sign-transaction", transaction);
1921
+ const getSign = async (resolve, reject) => {
1922
+ try {
1923
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
1924
+ method: "signTransaction",
1925
+ data: {
1926
+ transaction,
1927
+ chainType,
1928
+ chain
1929
+ }
1930
+ });
1931
+ resolve(recoverRes.message);
1932
+ } catch (error) {
1933
+ console.error("qwe-sign-error", error);
1934
+ reject(error);
1935
+ }
1936
+ };
1937
+ return await recoverAfter({
1938
+ handle: getSign,
1939
+ chainType
1940
+ });
1941
+ };
1942
+ const evmAccount = (0, import_react6.useMemo)(() => {
1943
+ return address ? (0, import_accounts.toAccount)({
1944
+ address,
1945
+ async signMessage({ message }) {
1946
+ return await signMessage2({
1947
+ message,
1948
+ chainType: "ethereum" /* Ethereum */
1949
+ });
1950
+ },
1951
+ async signTransaction(transaction, options) {
1952
+ const { account, chain, ...restTransaction } = transaction;
1953
+ console.log("qwe-sign-transaction", restTransaction, options);
1954
+ return await signTransaction({
1955
+ transaction: {
1956
+ ...restTransaction
1957
+ },
1958
+ chainType: "ethereum" /* Ethereum */,
1959
+ chain: {
1960
+ id: chain?.id || restTransaction.chainId,
1961
+ name: chain?.name,
1962
+ nativeCurrency: {
1963
+ name: chain?.nativeCurrency?.name || "ETH",
1964
+ symbol: chain?.nativeCurrency?.symbol || "ETH",
1965
+ decimals: chain?.nativeCurrency?.decimals || 18
1966
+ },
1967
+ rpcUrls: chain?.rpcUrls
1968
+ }
1969
+ });
1970
+ },
1971
+ async signTypedData(typedData) {
1972
+ return "0x";
1973
+ }
1974
+ }) : void 0;
1975
+ }, [address]);
1976
+ (0, import_react6.useEffect)(() => {
1977
+ matchlog_default.log("qwe-evmAccount", evmAccount);
1978
+ }, [evmAccount]);
1979
+ return {
1980
+ walletReady,
1981
+ evmAccount,
1982
+ address,
1983
+ initCore,
1984
+ signMessage: signMessage2,
1985
+ signTransaction,
1986
+ isRecovered,
1987
+ recoverAfter,
1988
+ generateEmbeddedWallets,
1989
+ recoveryEmbeddedWallets,
1990
+ createWalletClient: (parameters) => {
1991
+ if (!evmAccount) {
1992
+ return;
1993
+ }
1994
+ const obj = (0, import_viem2.createWalletClient)({
1995
+ ...parameters,
1996
+ account: evmAccount
1997
+ });
1998
+ const sendTransaction = async (transaction) => {
1999
+ const getSign = async (resolve, reject) => {
2000
+ const { chain, ...restTransaction } = transaction;
2001
+ const chainId = chain ? chain.id : await obj.getChainId();
2002
+ const _chain = chain || obj.chain;
2003
+ const transactionId = Date.now().toString() + Math.random().toString().slice(6);
2004
+ window.matchProvider.transactionMessageIntervalMap[transactionId] = {
2005
+ transaction,
2006
+ func: async () => {
2007
+ try {
2008
+ const {
2009
+ chain: chain2,
2010
+ account,
2011
+ ...prepareTransactionRequest
2012
+ // @ts-ignore
2013
+ } = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
2014
+ window.matchProvider.sendWalletMessage({
2015
+ method: "prepareTransactionRequest",
2016
+ data: {
2017
+ prepareTransactionRequest,
2018
+ transactionId
2019
+ }
2020
+ });
2021
+ } catch (error) {
2022
+ console.error(error);
2023
+ }
2024
+ },
2025
+ interval: setInterval(() => {
2026
+ window.matchProvider.transactionMessageIntervalMap[transactionId].func();
2027
+ }, 1e4)
2028
+ };
2029
+ try {
2030
+ const {
2031
+ chain: chain2,
2032
+ account,
2033
+ ...prepareTransactionRequest
2034
+ // @ts-ignore
2035
+ } = await obj.prepareTransactionRequest(transaction);
2036
+ const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
2037
+ method: "sendTransaction",
2038
+ data: {
2039
+ transactionId,
2040
+ transaction: {
2041
+ ...restTransaction
2042
+ },
2043
+ chainType: "ethereum" /* Ethereum */,
2044
+ chain: {
2045
+ id: chainId,
2046
+ name: _chain?.name,
2047
+ nativeCurrency: _chain?.nativeCurrency,
2048
+ rpcUrls: _chain?.rpcUrls
2049
+ },
2050
+ prepareTransactionRequest
2051
+ }
2052
+ });
2053
+ openHashPanel();
2054
+ const txHash = await obj.sendRawTransaction({
2055
+ serializedTransaction
2056
+ });
2057
+ openHashPanel({
2058
+ hash: txHash,
2059
+ chain: _chain
2060
+ });
2061
+ clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
2062
+ delete window.matchProvider.transactionMessageIntervalMap[transactionId];
2063
+ resolve(txHash);
2064
+ } catch (error) {
2065
+ console.error("qwe-sign-error", error);
2066
+ clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
2067
+ delete window.matchProvider.transactionMessageIntervalMap[transactionId];
2068
+ reject(error);
2069
+ }
2070
+ };
2071
+ return await recoverAfter({
2072
+ handle: getSign,
2073
+ chainType: "ethereum" /* Ethereum */
2074
+ });
2075
+ };
2076
+ const deployContract = async (parameters2) => {
2077
+ const { abi, args, bytecode, ...request3 } = parameters2;
2078
+ const calldata = (0, import_viem3.encodeDeployData)({ abi, args, bytecode });
2079
+ return await sendTransaction({
2080
+ ...request3,
2081
+ data: calldata
2082
+ });
2083
+ };
2084
+ const writeContract = async (parameters2) => {
2085
+ const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
2086
+ const data = (0, import_viem.encodeFunctionData)({
2087
+ abi,
2088
+ args,
2089
+ functionName
2090
+ });
2091
+ return await sendTransaction({
2092
+ data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
2093
+ to: address2,
2094
+ ...request3
2095
+ });
2096
+ };
2097
+ return {
2098
+ ...obj,
2099
+ sendTransaction,
2100
+ deployContract,
2101
+ writeContract
2102
+ };
2103
+ }
2104
+ };
2105
+ }
1803
2106
 
1804
2107
  // src/hooks/useCopyClipboard.ts
1805
2108
  var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
@@ -1824,49 +2127,165 @@ function useCopyClipboard(timeout = 500) {
1824
2127
  return [isCopied, staticCopy];
1825
2128
  }
1826
2129
 
1827
- // src/components/CEXBindModal/index.tsx
1828
- var import_react8 = require("react");
2130
+ // src/components/PasswordModal/index.tsx
1829
2131
  var import_react_intl2 = require("react-intl");
1830
- var import_jsx_runtime52 = require("react/jsx-runtime");
2132
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2133
+ function PasswordModal({
2134
+ title,
2135
+ isOpen,
2136
+ onSuccess,
2137
+ chainType = "ethereum" /* Ethereum */,
2138
+ recoveryType = "user_passcode_recovery_key" /* UserPasscode */,
2139
+ ...props
2140
+ }) {
2141
+ const { refreshOverview, overview } = useUserInfo();
2142
+ const { isLogin, did } = useUserInfo();
2143
+ const [password, setPassword] = (0, import_react8.useState)("");
2144
+ const [rePassword, setRePassword] = (0, import_react8.useState)("");
2145
+ const [error, setError] = (0, import_react8.useState)("");
2146
+ const { generateEmbeddedWallets, initCore } = useWallet();
2147
+ const { walletReady } = useStore_default();
2148
+ const intl = (0, import_react_intl2.useIntl)();
2149
+ const passwordError = (0, import_react8.useMemo)(() => {
2150
+ if (password.length < 6) return intl.formatMessage({
2151
+ id: "passwordMinError"
2152
+ }, {
2153
+ length: 6
2154
+ });
2155
+ return "";
2156
+ }, [password]);
2157
+ const rePasswordError = (0, import_react8.useMemo)(() => {
2158
+ if (rePassword != password) {
2159
+ return intl.formatMessage({
2160
+ id: "passwordMatchError"
2161
+ });
2162
+ }
2163
+ return "";
2164
+ }, [rePassword, password]);
2165
+ (0, import_react8.useEffect)(() => {
2166
+ if (isOpen) {
2167
+ setPassword("");
2168
+ setRePassword("");
2169
+ }
2170
+ }, [isOpen, overview]);
2171
+ const [isSubmitting, setIsSubmitting] = (0, import_react8.useState)(false);
2172
+ const onContinue = async () => {
2173
+ if (isSubmitting) return;
2174
+ try {
2175
+ setIsSubmitting(true);
2176
+ await initCore({
2177
+ did: overview?.did || "",
2178
+ address: ""
2179
+ });
2180
+ const address = await generateEmbeddedWallets({
2181
+ userPasscode: password,
2182
+ chainType,
2183
+ recoveryType
2184
+ });
2185
+ await refreshOverview();
2186
+ onSuccess && onSuccess();
2187
+ } catch (error2) {
2188
+ setError(error2.message);
2189
+ } finally {
2190
+ setIsSubmitting(false);
2191
+ }
2192
+ };
2193
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2194
+ id: "passwordTitle"
2195
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-box", children: [
2196
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-header", children: [
2197
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(PasswordRoundIcon, {}) }),
2198
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
2199
+ ] }),
2200
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-content", children: [
2201
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2202
+ Input,
2203
+ {
2204
+ placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
2205
+ maxLength: 32,
2206
+ type: "password",
2207
+ onChange: (e) => setPassword(e.target.value),
2208
+ value: password
2209
+ }
2210
+ ) }),
2211
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: intl.formatMessage({
2212
+ id: "rePassword"
2213
+ }), error: !walletReady ? intl.formatMessage({ id: "walletLoading" }) : rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2214
+ Input,
2215
+ {
2216
+ placeholder: intl.formatMessage({
2217
+ id: "rePasswordPlaceholder"
2218
+ }),
2219
+ maxLength: 32,
2220
+ onChange: (e) => setRePassword(e.target.value),
2221
+ value: rePassword,
2222
+ type: "password"
2223
+ }
2224
+ ) })
2225
+ ] }),
2226
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2227
+ Button,
2228
+ {
2229
+ disabled: password.length == 0 || !!passwordError || !!rePasswordError || !walletReady,
2230
+ highlight: true,
2231
+ block: true,
2232
+ size: "lg",
2233
+ onClick: onContinue,
2234
+ loading: isSubmitting,
2235
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
2236
+ }
2237
+ )
2238
+ ] }) });
2239
+ }
1831
2240
 
1832
- // src/ui/HashPanel/index.tsx
1833
- var import_viem4 = require("viem");
2241
+ // src/components/RecoveryModal/index.tsx
1834
2242
  var import_react9 = require("react");
1835
- var import_react_query = require("@tanstack/react-query");
2243
+ var import_react_intl3 = require("react-intl");
2244
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1836
2245
 
1837
- // src/ui/Drawer/index.tsx
2246
+ // src/components/CEXBindModal/index.tsx
2247
+ var import_react10 = require("react");
2248
+ var import_react_intl4 = require("react-intl");
1838
2249
  var import_jsx_runtime53 = require("react/jsx-runtime");
1839
2250
 
1840
- // src/ui/ModalDrawer/index.tsx
2251
+ // src/components/HashPanel/index.tsx
2252
+ var import_viem4 = require("viem");
2253
+ var import_react11 = require("react");
2254
+ var import_react_query = require("@tanstack/react-query");
2255
+
2256
+ // src/components/Drawer/index.tsx
1841
2257
  var import_jsx_runtime54 = require("react/jsx-runtime");
1842
2258
 
1843
- // src/ui/HashPanel/index.tsx
2259
+ // src/components/ModalDrawer/index.tsx
1844
2260
  var import_jsx_runtime55 = require("react/jsx-runtime");
1845
2261
 
1846
- // src/context/BusinessProvider.tsx
2262
+ // src/components/HashPanel/index.tsx
1847
2263
  var import_jsx_runtime56 = require("react/jsx-runtime");
1848
2264
 
2265
+ // src/context/BusinessProvider.tsx
2266
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2267
+
1849
2268
  // src/context/index.tsx
1850
- var import_jsx_runtime57 = (
2269
+ var import_jsx_runtime58 = (
1851
2270
  // <MpcWalletProvider>
1852
2271
  require("react/jsx-runtime")
1853
2272
  );
1854
2273
 
1855
2274
  // src/hooks/useWalletInit.ts
1856
- var import_react10 = require("react");
2275
+ var import_react13 = require("react");
1857
2276
  var AppClientId2 = getAppClientId();
1858
2277
 
1859
2278
  // src/hooks/useInit.tsx
1860
- var import_react11 = require("react");
2279
+ var import_react14 = require("react");
1861
2280
 
1862
2281
  // src/MatchContext.tsx
1863
2282
  var import_react_query2 = require("@tanstack/react-query");
1864
- var import_react_intl3 = require("react-intl");
1865
- var import_jsx_runtime58 = require("react/jsx-runtime");
2283
+ var import_react_intl5 = require("react-intl");
2284
+ var import_jsx_runtime59 = require("react/jsx-runtime");
1866
2285
  var queryClient = new import_react_query2.QueryClient();
1867
- var MatchContext = (0, import_react12.createContext)(void 0);
2286
+ var MatchContext = (0, import_react15.createContext)(void 0);
1868
2287
  var useMatch = () => {
1869
- const context = (0, import_react12.useContext)(MatchContext);
2288
+ const context = (0, import_react15.useContext)(MatchContext);
1870
2289
  if (context === void 0) {
1871
2290
  throw new Error("useMatch must be used within a MatchProvider");
1872
2291
  }
@@ -1885,8 +2304,7 @@ function useUserInfo() {
1885
2304
  overview,
1886
2305
  address,
1887
2306
  endpoints,
1888
- locale,
1889
- refreshOverview
2307
+ locale
1890
2308
  } = useLocalStore_default();
1891
2309
  const { events, login } = useMatch();
1892
2310
  const { open: SOLOpen } = useSOLModalStore();
@@ -1895,7 +2313,7 @@ function useUserInfo() {
1895
2313
  const { open: BTCOpen } = useBTCModalStore();
1896
2314
  const { open: CEXBindOpen } = useCEXBindModalStore();
1897
2315
  const walletModalStore = useWalletModalStore();
1898
- const isLogin = (0, import_react13.useMemo)(() => !!token && !!overview, [token, overview]);
2316
+ const isLogin = (0, import_react16.useMemo)(() => !!token && !!overview, [token, overview]);
1899
2317
  const logout = async () => {
1900
2318
  try {
1901
2319
  await toLogoutApi();
@@ -1995,6 +2413,12 @@ function useUserInfo() {
1995
2413
  }
1996
2414
  return false;
1997
2415
  };
2416
+ const refreshOverview = async () => {
2417
+ const res = await getOverviewInfoApi();
2418
+ if (res.data) {
2419
+ setOverview(res.data);
2420
+ }
2421
+ };
1998
2422
  const bindWallet = async () => {
1999
2423
  if (!token) {
2000
2424
  throw new Error("You must login first");
@@ -2127,29 +2551,29 @@ function useUserInfo() {
2127
2551
  }
2128
2552
 
2129
2553
  // src/components/EmailModal/StepVerify.tsx
2130
- var import_react14 = require("react");
2554
+ var import_react17 = require("react");
2131
2555
 
2132
2556
  // src/config/index.tsx
2133
2557
  var EMAIL_INTERVAL = 60;
2134
2558
  var EMAIL_CODE_LENGTH = 6;
2135
2559
 
2136
2560
  // src/components/EmailModal/StepVerify.tsx
2137
- var import_react_intl4 = require("react-intl");
2138
- var import_jsx_runtime59 = require("react/jsx-runtime");
2561
+ var import_react_intl6 = require("react-intl");
2562
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2139
2563
  function StepVerify(props) {
2140
- const intl = (0, import_react_intl4.useIntl)();
2564
+ const intl = (0, import_react_intl6.useIntl)();
2141
2565
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
2142
- const [error, setError] = (0, import_react14.useState)("");
2143
- const [code, setCode] = (0, import_react14.useState)("");
2144
- const [sending, setSending] = (0, import_react14.useState)(false);
2145
- const [submitting, setSubmitting] = (0, import_react14.useState)(false);
2146
- const sendTimeRef = (0, import_react14.useRef)(0);
2147
- const [sendBtnText, setSendBtnText] = (0, import_react14.useState)(intl.formatMessage({
2566
+ const [error, setError] = (0, import_react17.useState)("");
2567
+ const [code, setCode] = (0, import_react17.useState)("");
2568
+ const [sending, setSending] = (0, import_react17.useState)(false);
2569
+ const [submitting, setSubmitting] = (0, import_react17.useState)(false);
2570
+ const sendTimeRef = (0, import_react17.useRef)(0);
2571
+ const [sendBtnText, setSendBtnText] = (0, import_react17.useState)(intl.formatMessage({
2148
2572
  id: "send"
2149
2573
  }));
2150
2574
  const intervalTime = EMAIL_INTERVAL;
2151
2575
  const codeLength = EMAIL_CODE_LENGTH;
2152
- const intervalRef = (0, import_react14.useRef)(null);
2576
+ const intervalRef = (0, import_react17.useRef)(null);
2153
2577
  const isDownMd = useDownMd();
2154
2578
  const onSend = async () => {
2155
2579
  if (sendTimeRef.current > 0) {
@@ -2180,7 +2604,7 @@ function StepVerify(props) {
2180
2604
  setSending(false);
2181
2605
  }
2182
2606
  };
2183
- (0, import_react14.useEffect)(() => {
2607
+ (0, import_react17.useEffect)(() => {
2184
2608
  onSend();
2185
2609
  return () => {
2186
2610
  if (intervalRef.current) {
@@ -2188,7 +2612,7 @@ function StepVerify(props) {
2188
2612
  }
2189
2613
  };
2190
2614
  }, []);
2191
- const canContinue = (0, import_react14.useMemo)(() => {
2615
+ const canContinue = (0, import_react17.useMemo)(() => {
2192
2616
  return code.length === codeLength;
2193
2617
  }, [code]);
2194
2618
  const onContinue = async () => {
@@ -2212,17 +2636,17 @@ function StepVerify(props) {
2212
2636
  setSubmitting(false);
2213
2637
  }
2214
2638
  };
2215
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-box", children: [
2216
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-header", children: [
2217
- /* @__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 }) }),
2218
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2219
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2220
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl4.FormattedMessage, { id: "sendEmailTips" }) })
2639
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-email-verify-box", children: [
2640
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-email-verify-header", children: [
2641
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
2642
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2643
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2644
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
2221
2645
  ] })
2222
2646
  ] }),
2223
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Field, { label: intl.formatMessage({
2647
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Field, { label: intl.formatMessage({
2224
2648
  id: "verificationCode"
2225
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2649
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2226
2650
  Input,
2227
2651
  {
2228
2652
  placeholder: intl.formatMessage({
@@ -2232,7 +2656,7 @@ function StepVerify(props) {
2232
2656
  maxLength: codeLength,
2233
2657
  onChange: (e) => setCode(e.target.value),
2234
2658
  value: code,
2235
- after: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2659
+ after: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2236
2660
  Button,
2237
2661
  {
2238
2662
  highlight: true,
@@ -2251,13 +2675,13 @@ function StepVerify(props) {
2251
2675
  )
2252
2676
  }
2253
2677
  ) }),
2254
- /* @__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_intl4.FormattedMessage, { id: "continue" }) })
2678
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
2255
2679
  ] });
2256
2680
  }
2257
2681
 
2258
2682
  // src/components/EmailModal/index.tsx
2259
- var import_react_intl5 = require("react-intl");
2260
- var import_jsx_runtime60 = require("react/jsx-runtime");
2683
+ var import_react_intl7 = require("react-intl");
2684
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2261
2685
  function EmailModal({
2262
2686
  isOpen = false,
2263
2687
  width = 480,
@@ -2265,16 +2689,16 @@ function EmailModal({
2265
2689
  onBack,
2266
2690
  onLogin
2267
2691
  }) {
2268
- const [step, setStep] = (0, import_react15.useState)("input");
2269
- const [emailVal, setEmailVal] = (0, import_react15.useState)("");
2270
- const intl = (0, import_react_intl5.useIntl)();
2271
- (0, import_react15.useEffect)(() => {
2692
+ const [step, setStep] = (0, import_react18.useState)("input");
2693
+ const [emailVal, setEmailVal] = (0, import_react18.useState)("");
2694
+ const intl = (0, import_react_intl7.useIntl)();
2695
+ (0, import_react18.useEffect)(() => {
2272
2696
  if (!isOpen) {
2273
2697
  setStep("input");
2274
2698
  setEmailVal("");
2275
2699
  }
2276
2700
  }, [isOpen]);
2277
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2701
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2278
2702
  ModalWithHeader,
2279
2703
  {
2280
2704
  isOpen,
@@ -2284,17 +2708,17 @@ function EmailModal({
2284
2708
  id: "email"
2285
2709
  }),
2286
2710
  onBack: step == "verify" ? () => setStep("input") : onBack,
2287
- children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2711
+ children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2288
2712
  setEmailVal(email);
2289
2713
  setStep("verify");
2290
- } }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2714
+ } }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2291
2715
  }
2292
2716
  );
2293
2717
  }
2294
2718
 
2295
- // src/ui/Popover/index.tsx
2296
- var import_react16 = require("react");
2297
- var import_jsx_runtime61 = require("react/jsx-runtime");
2719
+ // src/components/Popover/index.tsx
2720
+ var import_react19 = require("react");
2721
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2298
2722
  function Popover({
2299
2723
  children,
2300
2724
  content,
@@ -2303,8 +2727,8 @@ function Popover({
2303
2727
  className = "",
2304
2728
  gap = "20px"
2305
2729
  }) {
2306
- const [active, setActive] = (0, import_react16.useState)(false);
2307
- return children && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
2730
+ const [active, setActive] = (0, import_react19.useState)(false);
2731
+ return children && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2308
2732
  "div",
2309
2733
  {
2310
2734
  onClick: () => {
@@ -2315,17 +2739,17 @@ function Popover({
2315
2739
  className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
2316
2740
  children: [
2317
2741
  children,
2318
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { style: {
2742
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { style: {
2319
2743
  paddingTop: gap
2320
- }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2744
+ }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2321
2745
  ]
2322
2746
  }
2323
2747
  );
2324
2748
  }
2325
2749
 
2326
2750
  // src/components/LoginBox/index.tsx
2327
- var import_react17 = require("react");
2328
- var import_react_intl6 = require("react-intl");
2751
+ var import_react20 = require("react");
2752
+ var import_react_intl8 = require("react-intl");
2329
2753
 
2330
2754
  // src/hooks/useAppConfig.ts
2331
2755
  var import_react_query3 = require("@tanstack/react-query");
@@ -2348,7 +2772,7 @@ function useAppConfig() {
2348
2772
  }
2349
2773
 
2350
2774
  // src/components/LoginBox/index.tsx
2351
- var import_jsx_runtime62 = require("react/jsx-runtime");
2775
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2352
2776
  var RecommendItem = ({
2353
2777
  icon,
2354
2778
  name,
@@ -2357,20 +2781,20 @@ var RecommendItem = ({
2357
2781
  children,
2358
2782
  footer
2359
2783
  }) => {
2360
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2361
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2362
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2363
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2364
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2784
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2785
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2786
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2787
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2788
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2365
2789
  ] }),
2366
- footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2790
+ footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2367
2791
  ArrowDownIcon,
2368
2792
  {
2369
2793
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
2370
2794
  size: 20,
2371
2795
  color: "var(--matchid-arrow-color)"
2372
2796
  }
2373
- ) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2797
+ ) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2374
2798
  ArrowRightIcon,
2375
2799
  {
2376
2800
  className: "matchid-login-recommend-method-arrow",
@@ -2379,7 +2803,7 @@ var RecommendItem = ({
2379
2803
  }
2380
2804
  )
2381
2805
  ] }),
2382
- children && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2806
+ children && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2383
2807
  "div",
2384
2808
  {
2385
2809
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -2395,7 +2819,7 @@ function LoginBox({
2395
2819
  inModal = false
2396
2820
  }) {
2397
2821
  const config = useAppConfig();
2398
- const methodConfig = (0, import_react17.useMemo)(() => {
2822
+ const methodConfig = (0, import_react20.useMemo)(() => {
2399
2823
  if (recommendMethods || methods || walletMethods) {
2400
2824
  return {
2401
2825
  recommendMethods: recommendMethods ? recommendMethods : walletMethods ? ["wallet"] : [],
@@ -2437,82 +2861,82 @@ function LoginBox({
2437
2861
  walletMethods: walletMethodList
2438
2862
  };
2439
2863
  }, [config.platform, recommendMethods, methods, walletMethods]);
2440
- const [emailOpen, setEmailOpen] = (0, import_react17.useState)(false);
2864
+ const [emailOpen, setEmailOpen] = (0, import_react20.useState)(false);
2441
2865
  const { login } = useUserInfo();
2442
- const [showWallet, setShowWallet] = (0, import_react17.useState)(false);
2443
- const intl = (0, import_react_intl6.useIntl)();
2866
+ const [showWallet, setShowWallet] = (0, import_react20.useState)(false);
2867
+ const intl = (0, import_react_intl8.useIntl)();
2444
2868
  const isDownMd = useDownMd();
2445
2869
  const methodMap = {
2446
2870
  wallet: {
2447
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2871
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2448
2872
  name: intl.formatMessage({ id: "wallet" }),
2449
2873
  onClick: () => setShowWallet(!showWallet),
2450
2874
  type: "wallet"
2451
2875
  },
2452
2876
  email: {
2453
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2877
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2454
2878
  name: intl.formatMessage({ id: "email" }),
2455
2879
  onClick: () => {
2456
2880
  setEmailOpen(true);
2457
2881
  }
2458
2882
  },
2459
2883
  google: {
2460
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2884
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2461
2885
  name: "Google",
2462
2886
  onClick: () => login("google")
2463
2887
  },
2464
2888
  twitter: {
2465
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2889
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2466
2890
  name: "X",
2467
2891
  onClick: () => login("twitter")
2468
2892
  },
2469
2893
  telegram: {
2470
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2894
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2471
2895
  name: "Telegram",
2472
2896
  onClick: () => login("telegram")
2473
2897
  },
2474
2898
  github: {
2475
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2899
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2476
2900
  name: "Github",
2477
2901
  onClick: () => login("github")
2478
2902
  },
2479
2903
  discord: {
2480
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2904
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2481
2905
  name: "Discord",
2482
2906
  onClick: () => login("discord")
2483
2907
  },
2484
2908
  linkedin: {
2485
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2909
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2486
2910
  name: "LinkedIn",
2487
2911
  onClick: () => login("linkedin")
2488
2912
  },
2489
2913
  facebook: {
2490
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2914
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2491
2915
  name: "Facebook",
2492
2916
  onClick: () => login("facebook")
2493
2917
  },
2494
2918
  youtube: {
2495
- icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2919
+ icon: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2496
2920
  name: "Youtube",
2497
2921
  onClick: () => login("youtube")
2498
2922
  }
2499
2923
  };
2500
2924
  const { walletMap } = useWalletConfig();
2501
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
2502
- (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-box", children: [
2503
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
2504
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2925
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2926
+ (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-box", children: [
2927
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
2928
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2505
2929
  RecommendItem,
2506
2930
  {
2507
2931
  icon: methodMap[m]?.icon,
2508
2932
  name: methodMap[m]?.name,
2509
2933
  onClick: methodMap[m]?.onClick,
2510
2934
  showChildren: m == "wallet" && showWallet,
2511
- children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
2512
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2513
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
2935
+ children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2936
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2937
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
2514
2938
  const m2 = walletMap[n];
2515
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2939
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2516
2940
  "div",
2517
2941
  {
2518
2942
  className: "matchid-login-recommend-wallet-item",
@@ -2520,16 +2944,16 @@ function LoginBox({
2520
2944
  login(m2.method);
2521
2945
  },
2522
2946
  children: [
2523
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2524
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2525
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2947
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2948
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2949
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2526
2950
  "div",
2527
2951
  {
2528
2952
  className: "matchid-login-recommend-wallet-item-hover-icon",
2529
2953
  children: m2.activeIcon
2530
2954
  }
2531
2955
  ),
2532
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2956
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2533
2957
  "span",
2534
2958
  {
2535
2959
  className: "matchid-login-recommend-wallet-item-name",
@@ -2537,7 +2961,7 @@ function LoginBox({
2537
2961
  }
2538
2962
  )
2539
2963
  ] }),
2540
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2964
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2541
2965
  ArrowRightIcon,
2542
2966
  {
2543
2967
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -2555,10 +2979,10 @@ function LoginBox({
2555
2979
  m
2556
2980
  );
2557
2981
  }) }),
2558
- methodConfig.methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-other", children: [
2559
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl6.FormattedMessage, { id: "otherLoginMethods" }) }),
2560
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
2561
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2982
+ methodConfig.methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-other", children: [
2983
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
2984
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
2985
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2562
2986
  "div",
2563
2987
  {
2564
2988
  className: "matchid-login-method-item",
@@ -2571,7 +2995,7 @@ function LoginBox({
2571
2995
  }) })
2572
2996
  ] })
2573
2997
  ] }),
2574
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2998
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2575
2999
  EmailModal,
2576
3000
  {
2577
3001
  isOpen: emailOpen,
@@ -2587,56 +3011,56 @@ function LoginBox({
2587
3011
  }
2588
3012
 
2589
3013
  // src/components/LoginButton/index.tsx
2590
- var import_react19 = require("react");
3014
+ var import_react22 = require("react");
2591
3015
 
2592
3016
  // src/components/LoginPanel/index.tsx
2593
- var import_react_intl7 = require("react-intl");
2594
- var import_jsx_runtime63 = require("react/jsx-runtime");
3017
+ var import_react_intl9 = require("react-intl");
3018
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2595
3019
  function LoginPanel({
2596
3020
  header,
2597
3021
  onClose,
2598
3022
  ...props
2599
3023
  }) {
2600
3024
  const isDownMd = useDownMd();
2601
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel", children: [
2602
- header ? header : /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel-header", children: [
2603
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2604
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl7.FormattedMessage, { id: "loginTitle" }) }),
2605
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl7.FormattedMessage, { id: "loginTips" }) })
3025
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "matchid-login-panel", children: [
3026
+ header ? header : /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "matchid-login-panel-header", children: [
3027
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
3028
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
3029
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
2606
3030
  ] }),
2607
- 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 }) })
3031
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
2608
3032
  ] }),
2609
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-divide" }),
2610
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginBox, { ...props }) })
3033
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-login-panel-divide" }),
3034
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LoginBox, { ...props }) })
2611
3035
  ] });
2612
3036
  }
2613
3037
 
2614
3038
  // src/components/LoginModal/index.tsx
2615
- var import_jsx_runtime64 = require("react/jsx-runtime");
3039
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2616
3040
  function LoginModal({
2617
3041
  isOpen = false,
2618
3042
  width = 480,
2619
3043
  ...props
2620
3044
  }) {
2621
3045
  const { isLogin } = useUserInfo();
2622
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3046
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2623
3047
  Modal,
2624
3048
  {
2625
3049
  isOpen: isOpen && !isLogin,
2626
3050
  width,
2627
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LoginPanel, { ...props, inModal: true })
3051
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(LoginPanel, { ...props, inModal: true })
2628
3052
  }
2629
3053
  );
2630
3054
  }
2631
3055
 
2632
3056
  // src/components/UserPopover/index.tsx
2633
- var import_react18 = require("react");
3057
+ var import_react21 = require("react");
2634
3058
 
2635
3059
  // src/assets/icon/ProfileIcon.tsx
2636
- var import_jsx_runtime65 = require("react/jsx-runtime");
3060
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2637
3061
  function ProfileIcon({ size = 24, color = "black", ...props }) {
2638
- 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: [
2639
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3062
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
3063
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2640
3064
  "path",
2641
3065
  {
2642
3066
  fillRule: "evenodd",
@@ -2645,7 +3069,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2645
3069
  fill: color
2646
3070
  }
2647
3071
  ),
2648
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3072
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2649
3073
  "path",
2650
3074
  {
2651
3075
  fillRule: "evenodd",
@@ -2658,11 +3082,11 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2658
3082
  }
2659
3083
 
2660
3084
  // src/components/UserPopover/index.tsx
2661
- var import_react_intl8 = require("react-intl");
2662
- var import_jsx_runtime66 = require("react/jsx-runtime");
3085
+ var import_react_intl10 = require("react-intl");
3086
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2663
3087
  function UserContent() {
2664
3088
  const { logout, address, username } = useUserInfo();
2665
- const [logouting, setLogouting] = (0, import_react18.useState)(false);
3089
+ const [logouting, setLogouting] = (0, import_react21.useState)(false);
2666
3090
  const onLogout = async () => {
2667
3091
  if (logouting) return;
2668
3092
  try {
@@ -2680,34 +3104,34 @@ function UserContent() {
2680
3104
  rightIcon,
2681
3105
  onClick
2682
3106
  }) => {
2683
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2684
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
3107
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
3108
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
2685
3109
  icon,
2686
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "matchid-user-popover-item-text", children })
3110
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "matchid-user-popover-item-text", children })
2687
3111
  ] }),
2688
3112
  rightIcon
2689
3113
  ] });
2690
3114
  };
2691
3115
  const UserDivider = () => {
2692
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `matchid-user-popover-divider` });
3116
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: `matchid-user-popover-divider` });
2693
3117
  };
2694
- const [usernameOpen, setUsernameOpen] = (0, import_react18.useState)(false);
3118
+ const [usernameOpen, setUsernameOpen] = (0, import_react21.useState)(false);
2695
3119
  const [copied, setCopied] = useCopyClipboard();
2696
- const intl = (0, import_react_intl8.useIntl)();
2697
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-content", children: [
2698
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-user-popover-list", children: [
2699
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserItem, { onClick: () => {
3120
+ const intl = (0, import_react_intl10.useIntl)();
3121
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "matchid-user-popover-content", children: [
3122
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "matchid-user-popover-list", children: [
3123
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UserItem, { onClick: () => {
2700
3124
  setCopied(address);
2701
- }, 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) }),
2702
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserDivider, {}),
2703
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserItem, { onClick: () => {
3125
+ }, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
3126
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UserDivider, {}),
3127
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UserItem, { onClick: () => {
2704
3128
  setUsernameOpen(true);
2705
- }, 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({
3129
+ }, icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
2706
3130
  id: "setUsername"
2707
3131
  }) })
2708
3132
  ] }),
2709
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_intl8.FormattedMessage, { id: "disconnect" }) }),
2710
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
3133
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
3134
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
2711
3135
  setUsernameOpen(false);
2712
3136
  }, onSuccess: () => {
2713
3137
  setUsernameOpen(false);
@@ -2718,12 +3142,12 @@ function UserPopover({
2718
3142
  children,
2719
3143
  ...props
2720
3144
  }) {
2721
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserContent, {}), children });
3145
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UserContent, {}), children });
2722
3146
  }
2723
3147
 
2724
3148
  // src/components/LoginButton/index.tsx
2725
- var import_react_intl9 = require("react-intl");
2726
- var import_jsx_runtime67 = require("react/jsx-runtime");
3149
+ var import_react_intl11 = require("react-intl");
3150
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2727
3151
  function LoginButton({
2728
3152
  loginRender,
2729
3153
  methods,
@@ -2735,12 +3159,12 @@ function LoginButton({
2735
3159
  walletMethods,
2736
3160
  ...props
2737
3161
  }) {
2738
- const intl = (0, import_react_intl9.useIntl)();
3162
+ const intl = (0, import_react_intl11.useIntl)();
2739
3163
  const { isLogin, username } = useUserInfo();
2740
- const [loginOpen, setLoginOpen] = (0, import_react19.useState)(false);
3164
+ const [loginOpen, setLoginOpen] = (0, import_react22.useState)(false);
2741
3165
  if (!isLogin) {
2742
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
2743
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3166
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
3167
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2744
3168
  LoginModal,
2745
3169
  {
2746
3170
  methods,
@@ -2750,32 +3174,32 @@ function LoginButton({
2750
3174
  onClose: () => setLoginOpen(false)
2751
3175
  }
2752
3176
  ),
2753
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2754
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UnLoginIcon_default, {}),
2755
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react_intl9.FormattedMessage, { id: "login" }) })
3177
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
3178
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(UnLoginIcon_default, {}),
3179
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
2756
3180
  ] })
2757
3181
  ] });
2758
3182
  }
2759
- 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: [
2760
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LoginIcon_default, {}),
2761
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
3183
+ return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_jsx_runtime68.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
3184
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(LoginIcon_default, {}),
3185
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
2762
3186
  id: "user"
2763
3187
  }) })
2764
3188
  ] }) });
2765
3189
  }
2766
3190
 
2767
3191
  // src/components/UsernameModal/index.tsx
2768
- var import_react20 = require("react");
3192
+ var import_react23 = require("react");
2769
3193
 
2770
3194
  // src/assets/icon/InfoRoundIcon.tsx
2771
- var import_jsx_runtime68 = require("react/jsx-runtime");
3195
+ var import_jsx_runtime69 = require("react/jsx-runtime");
2772
3196
  function InfoRoundIcon({
2773
3197
  size,
2774
3198
  color = "#6E6E6E",
2775
3199
  ...props
2776
3200
  }) {
2777
- 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: [
2778
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3201
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
3202
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2779
3203
  "path",
2780
3204
  {
2781
3205
  fillRule: "evenodd",
@@ -2784,21 +3208,21 @@ function InfoRoundIcon({
2784
3208
  fill: color
2785
3209
  }
2786
3210
  ) }),
2787
- /* @__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" }) }) })
3211
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
2788
3212
  ] });
2789
3213
  }
2790
3214
 
2791
3215
  // src/components/UsernameModal/index.tsx
2792
- var import_react_intl10 = require("react-intl");
2793
- var import_jsx_runtime69 = require("react/jsx-runtime");
3216
+ var import_react_intl12 = require("react-intl");
3217
+ var import_jsx_runtime70 = require("react/jsx-runtime");
2794
3218
  var ValidItem = ({
2795
3219
  success = false,
2796
3220
  text
2797
3221
  }) => {
2798
3222
  const isDownMd = useDownMd();
2799
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2800
- success ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2801
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: text })
3223
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
3224
+ success ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
3225
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: text })
2802
3226
  ] });
2803
3227
  };
2804
3228
  function UsernameModal({
@@ -2809,23 +3233,23 @@ function UsernameModal({
2809
3233
  }) {
2810
3234
  const { username, refreshOverview } = useUserInfo();
2811
3235
  const { isLogin } = useUserInfo();
2812
- const [val, setVal] = (0, import_react20.useState)(username);
2813
- const [error, setError] = (0, import_react20.useState)("");
3236
+ const [val, setVal] = (0, import_react23.useState)(username);
3237
+ const [error, setError] = (0, import_react23.useState)("");
2814
3238
  const isDownMd = useDownMd();
2815
- (0, import_react20.useEffect)(() => {
3239
+ (0, import_react23.useEffect)(() => {
2816
3240
  if (isOpen) {
2817
3241
  setVal(username);
2818
3242
  setError("");
2819
3243
  }
2820
3244
  }, [isOpen]);
2821
- const isValid = (0, import_react20.useMemo)(() => {
3245
+ const isValid = (0, import_react23.useMemo)(() => {
2822
3246
  return isValidUsername(val);
2823
3247
  }, [val]);
2824
- const isLength = (0, import_react20.useMemo)(() => {
3248
+ const isLength = (0, import_react23.useMemo)(() => {
2825
3249
  return val.length >= 2 && val.length <= 32;
2826
3250
  }, [val]);
2827
3251
  const isSafe = isValid && isLength;
2828
- const [isSubmitting, setIsSubmitting] = (0, import_react20.useState)(false);
3252
+ const [isSubmitting, setIsSubmitting] = (0, import_react23.useState)(false);
2829
3253
  const onSubmit = async () => {
2830
3254
  if (isSubmitting) return;
2831
3255
  try {
@@ -2845,13 +3269,13 @@ function UsernameModal({
2845
3269
  setIsSubmitting(false);
2846
3270
  }
2847
3271
  };
2848
- const intl = (0, import_react_intl10.useIntl)();
2849
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
3272
+ const intl = (0, import_react_intl12.useIntl)();
3273
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2850
3274
  id: username ? "editUsernameTitle" : "setUsernameTitle"
2851
- }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "matchid-username-box", children: [
2852
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Field, { label: intl.formatMessage({
3275
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "matchid-username-box", children: [
3276
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Field, { label: intl.formatMessage({
2853
3277
  id: "username"
2854
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3278
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
2855
3279
  Input,
2856
3280
  {
2857
3281
  placeholder: intl.formatMessage({
@@ -2864,8 +3288,8 @@ function UsernameModal({
2864
3288
  value: val
2865
3289
  }
2866
3290
  ) }),
2867
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "matchid-valid", children: [
2868
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3291
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "matchid-valid", children: [
3292
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
2869
3293
  ValidItem,
2870
3294
  {
2871
3295
  success: isValid,
@@ -2874,21 +3298,21 @@ function UsernameModal({
2874
3298
  })
2875
3299
  }
2876
3300
  ),
2877
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
3301
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
2878
3302
  id: "usernameLengthError"
2879
3303
  }) })
2880
3304
  ] }),
2881
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
3305
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
2882
3306
  marginTop: isDownMd ? "36px" : "64px"
2883
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react_intl10.FormattedMessage, { id: "confirm" }) }),
2884
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { style: {
3307
+ }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
3308
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { style: {
2885
3309
  marginTop: isDownMd ? "12px" : "24px"
2886
- }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react_intl10.FormattedMessage, { id: "cancel" }) })
3310
+ }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
2887
3311
  ] }) });
2888
3312
  }
2889
3313
 
2890
3314
  // src/components/SOLModal/index.tsx
2891
- var import_react22 = __toESM(require("react"));
3315
+ var import_react25 = __toESM(require("react"));
2892
3316
  var import_web3 = require("@solana/web3.js");
2893
3317
  var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
2894
3318
  var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
@@ -2904,10 +3328,10 @@ var WalletAdapterNetwork;
2904
3328
  // src/components/SOLModal/index.tsx
2905
3329
  var import_wallet_adapter_wallets = require("@solana/wallet-adapter-wallets");
2906
3330
  var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
2907
- var import_react_intl11 = require("react-intl");
3331
+ var import_react_intl13 = require("react-intl");
2908
3332
 
2909
3333
  // src/components/WalletModalContent/index.tsx
2910
- var import_react21 = require("react");
3334
+ var import_react24 = require("react");
2911
3335
 
2912
3336
  // src/assets/wallet.ts
2913
3337
  var walletErrorImage = "data:image/png;base64,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";
@@ -2917,7 +3341,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
2917
3341
  var walletSigningImage = "data:image/png;base64,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";
2918
3342
 
2919
3343
  // src/components/WalletModalContent/index.tsx
2920
- var import_jsx_runtime70 = require("react/jsx-runtime");
3344
+ var import_jsx_runtime71 = require("react/jsx-runtime");
2921
3345
  function WalletModalContent({
2922
3346
  status,
2923
3347
  error,
@@ -2928,7 +3352,7 @@ function WalletModalContent({
2928
3352
  address,
2929
3353
  connected
2930
3354
  }) {
2931
- const pageData = (0, import_react21.useMemo)(() => {
3355
+ const pageData = (0, import_react24.useMemo)(() => {
2932
3356
  if (status == "success") {
2933
3357
  return {
2934
3358
  btnText: "Disconnect Wallet",
@@ -2987,12 +3411,12 @@ function WalletModalContent({
2987
3411
  statusImage: walletConnectImage
2988
3412
  };
2989
3413
  }, [visible, connected, status, error, address]);
2990
- 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: [
2991
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `matchid-wallet-content`, children: [
2992
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("img", { src: pageData.statusImage }),
2993
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3414
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: `matchid-wallet-box`, children: [
3415
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: `matchid-wallet-content`, children: [
3416
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("img", { src: pageData.statusImage }),
3417
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
2994
3418
  ] }),
2995
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3419
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
2996
3420
  Button,
2997
3421
  {
2998
3422
  block: true,
@@ -3007,7 +3431,7 @@ function WalletModalContent({
3007
3431
  }
3008
3432
 
3009
3433
  // src/components/SOLModal/index.tsx
3010
- var import_jsx_runtime71 = require("react/jsx-runtime");
3434
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3011
3435
  function WalletContent({
3012
3436
  onSuccess,
3013
3437
  type
@@ -3015,17 +3439,17 @@ function WalletContent({
3015
3439
  const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
3016
3440
  const wallet = (0, import_wallet_adapter_react.useWallet)();
3017
3441
  const { events, login } = useMatch();
3018
- const [status, setStatus] = (0, import_react22.useState)("");
3019
- const statusRef = import_react22.default.useRef(status);
3020
- const [error, setError] = (0, import_react22.useState)("");
3021
- (0, import_react22.useEffect)(() => {
3442
+ const [status, setStatus] = (0, import_react25.useState)("");
3443
+ const statusRef = import_react25.default.useRef(status);
3444
+ const [error, setError] = (0, import_react25.useState)("");
3445
+ (0, import_react25.useEffect)(() => {
3022
3446
  const init = async () => {
3023
3447
  await wallet.disconnect();
3024
3448
  setVisible(true);
3025
3449
  };
3026
3450
  init();
3027
3451
  }, []);
3028
- (0, import_react22.useEffect)(() => {
3452
+ (0, import_react25.useEffect)(() => {
3029
3453
  if (wallet.connected) {
3030
3454
  console.log("wallet.connected", wallet.connected);
3031
3455
  toLoginInWallet();
@@ -3089,7 +3513,7 @@ function WalletContent({
3089
3513
  statusRef.current = "";
3090
3514
  }
3091
3515
  };
3092
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3516
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3093
3517
  WalletModalContent,
3094
3518
  {
3095
3519
  connected: wallet.connected,
@@ -3149,20 +3573,20 @@ function SOLConnectModal({
3149
3573
  onSuccess,
3150
3574
  ...props
3151
3575
  }) {
3152
- const intl = (0, import_react_intl11.useIntl)();
3153
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3576
+ const intl = (0, import_react_intl13.useIntl)();
3577
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3154
3578
  id: type == "bind" ? "bindWith" : "loginWith"
3155
3579
  }, {
3156
3580
  name: "SOL"
3157
- }), 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 }) }) }) }) });
3581
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
3158
3582
  }
3159
3583
  function SOLModal(props) {
3160
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(SOLConnectModal, { ...props });
3584
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(SOLConnectModal, { ...props });
3161
3585
  }
3162
3586
 
3163
3587
  // src/components/TRONModal/index.tsx
3164
- var import_react24 = __toESM(require("react"));
3165
- var import_react_intl12 = require("react-intl");
3588
+ var import_react27 = __toESM(require("react"));
3589
+ var import_react_intl14 = require("react-intl");
3166
3590
 
3167
3591
  // src/lib/tron/TronLinkAdapter.ts
3168
3592
  var TronLinkAdapter = class {
@@ -3195,7 +3619,7 @@ var TronLinkAdapter = class {
3195
3619
  };
3196
3620
 
3197
3621
  // src/hooks/useTRONWallet.ts
3198
- var import_react23 = require("react");
3622
+ var import_react26 = require("react");
3199
3623
 
3200
3624
  // src/lib/tron/BitgetAdapter.ts
3201
3625
  var BitgetAdapter = class {
@@ -3240,9 +3664,9 @@ var OKXAdapter = class {
3240
3664
  // src/hooks/useTRONWallet.ts
3241
3665
  var useTRONWallet = () => {
3242
3666
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
3243
- const [installedWallets, setInstalledWallets] = (0, import_react23.useState)([]);
3244
- const [address, setAddress] = (0, import_react23.useState)(null);
3245
- (0, import_react23.useEffect)(() => {
3667
+ const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
3668
+ const [address, setAddress] = (0, import_react26.useState)(null);
3669
+ (0, import_react26.useEffect)(() => {
3246
3670
  const getInstalled = async () => {
3247
3671
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3248
3672
  wallet: wallet2,
@@ -3252,11 +3676,11 @@ var useTRONWallet = () => {
3252
3676
  };
3253
3677
  getInstalled();
3254
3678
  }, []);
3255
- const [wallet, chooseWallet] = (0, import_react23.useState)(null);
3679
+ const [wallet, chooseWallet] = (0, import_react26.useState)(null);
3256
3680
  const onConnect = async () => {
3257
3681
  setAddress(await wallet.connect());
3258
3682
  };
3259
- (0, import_react23.useEffect)(() => {
3683
+ (0, import_react26.useEffect)(() => {
3260
3684
  if (!wallet) {
3261
3685
  setAddress(null);
3262
3686
  }
@@ -3272,25 +3696,25 @@ var useTRONWallet = () => {
3272
3696
  };
3273
3697
 
3274
3698
  // src/components/TRONModal/index.tsx
3275
- var import_jsx_runtime72 = require("react/jsx-runtime");
3699
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3276
3700
  function TRONConnectModal({
3277
3701
  type = "login",
3278
3702
  onSuccess,
3279
3703
  ...props
3280
3704
  }) {
3281
3705
  const isDownMd = useDownMd();
3282
- const intl = (0, import_react_intl12.useIntl)();
3706
+ const intl = (0, import_react_intl14.useIntl)();
3283
3707
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
3284
3708
  const iconMaps = {
3285
- tronlink: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3286
- bitget: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3287
- okx: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3709
+ tronlink: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3710
+ bitget: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3711
+ okx: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3288
3712
  };
3289
3713
  const { events, login } = useMatch();
3290
- const [status, setStatus] = (0, import_react24.useState)("");
3291
- const statusRef = import_react24.default.useRef(status);
3292
- const [error, setError] = (0, import_react24.useState)("");
3293
- const connected = (0, import_react24.useMemo)(() => {
3714
+ const [status, setStatus] = (0, import_react27.useState)("");
3715
+ const statusRef = import_react27.default.useRef(status);
3716
+ const [error, setError] = (0, import_react27.useState)("");
3717
+ const connected = (0, import_react27.useMemo)(() => {
3294
3718
  return !!address;
3295
3719
  }, [address]);
3296
3720
  const disconnect = async () => {
@@ -3358,7 +3782,7 @@ function TRONConnectModal({
3358
3782
  statusRef.current = "";
3359
3783
  }
3360
3784
  };
3361
- (0, import_react24.useEffect)(() => {
3785
+ (0, import_react27.useEffect)(() => {
3362
3786
  if (wallet) {
3363
3787
  console.log("onConnect");
3364
3788
  onConnect();
@@ -3366,21 +3790,21 @@ function TRONConnectModal({
3366
3790
  setStatus("");
3367
3791
  }
3368
3792
  }, [wallet]);
3369
- (0, import_react24.useEffect)(() => {
3793
+ (0, import_react27.useEffect)(() => {
3370
3794
  if (address) {
3371
3795
  toLoginInWallet();
3372
3796
  }
3373
3797
  }, [address]);
3374
- (0, import_react24.useEffect)(() => {
3798
+ (0, import_react27.useEffect)(() => {
3375
3799
  if (!props.isOpen) {
3376
3800
  disconnect();
3377
3801
  }
3378
3802
  }, [props.isOpen]);
3379
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3803
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3380
3804
  id: type == "bind" ? "bindWith" : "loginWith"
3381
3805
  }, {
3382
3806
  name: "TRON"
3383
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3807
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3384
3808
  WalletModalContent,
3385
3809
  {
3386
3810
  error,
@@ -3393,9 +3817,9 @@ function TRONConnectModal({
3393
3817
  setVisible: () => {
3394
3818
  }
3395
3819
  }
3396
- ) : /* @__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: [
3820
+ ) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3397
3821
  installedWallets.map((wallet2) => {
3398
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3822
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3399
3823
  RecommendItem,
3400
3824
  {
3401
3825
  icon: iconMaps[wallet2.walletKey],
@@ -3408,14 +3832,14 @@ function TRONConnectModal({
3408
3832
  );
3409
3833
  }),
3410
3834
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3411
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3835
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3412
3836
  RecommendItem,
3413
3837
  {
3414
3838
  icon: iconMaps[wallet2.walletKey],
3415
3839
  name: wallet2.name,
3416
3840
  onClick: () => {
3417
3841
  },
3418
- footer: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { size: "sm", onClick: () => {
3842
+ footer: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { size: "sm", onClick: () => {
3419
3843
  window.open(wallet2.website);
3420
3844
  }, children: "Install" })
3421
3845
  },
@@ -3425,28 +3849,28 @@ function TRONConnectModal({
3425
3849
  ] }) }) });
3426
3850
  }
3427
3851
  function TRONModal(props) {
3428
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TRONConnectModal, { ...props, type: "" });
3852
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TRONConnectModal, { ...props, type: props.type });
3429
3853
  }
3430
3854
 
3431
3855
  // src/components/TONModal/index.tsx
3432
- var import_react25 = __toESM(require("react"));
3433
- var import_react_intl13 = require("react-intl");
3856
+ var import_react28 = __toESM(require("react"));
3857
+ var import_react_intl15 = require("react-intl");
3434
3858
  var import_ui_react = require("@tonconnect/ui-react");
3435
- var import_jsx_runtime73 = require("react/jsx-runtime");
3859
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3436
3860
  function WalletContent2({
3437
3861
  onSuccess,
3438
3862
  type
3439
3863
  }) {
3440
3864
  const { events, login } = useMatch();
3441
- const [connected, setConnected] = (0, import_react25.useState)(false);
3865
+ const [connected, setConnected] = (0, import_react28.useState)(false);
3442
3866
  const wallet = (0, import_ui_react.useTonWallet)();
3443
3867
  const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
3444
3868
  const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
3445
3869
  const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
3446
- const [status, setStatus] = (0, import_react25.useState)("");
3447
- const statusRef = import_react25.default.useRef(status);
3448
- const [error, setError] = (0, import_react25.useState)("");
3449
- (0, import_react25.useEffect)(() => {
3870
+ const [status, setStatus] = (0, import_react28.useState)("");
3871
+ const statusRef = import_react28.default.useRef(status);
3872
+ const [error, setError] = (0, import_react28.useState)("");
3873
+ (0, import_react28.useEffect)(() => {
3450
3874
  const init = async () => {
3451
3875
  if (wallet) {
3452
3876
  await tonConnectUI.disconnect();
@@ -3519,7 +3943,7 @@ function WalletContent2({
3519
3943
  }
3520
3944
  });
3521
3945
  }, []);
3522
- (0, import_react25.useEffect)(() => {
3946
+ (0, import_react28.useEffect)(() => {
3523
3947
  if (wallet) {
3524
3948
  setConnected(true);
3525
3949
  console.log("Wallet connected:", wallet);
@@ -3530,7 +3954,7 @@ function WalletContent2({
3530
3954
  setStatus("");
3531
3955
  }
3532
3956
  }, [wallet]);
3533
- (0, import_react25.useEffect)(() => {
3957
+ (0, import_react28.useEffect)(() => {
3534
3958
  console.log({
3535
3959
  state,
3536
3960
  wallet
@@ -3559,7 +3983,7 @@ function WalletContent2({
3559
3983
  }
3560
3984
  }
3561
3985
  }, [state]);
3562
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
3986
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3563
3987
  WalletModalContent,
3564
3988
  {
3565
3989
  connected,
@@ -3590,28 +4014,28 @@ function TONConnectModal({
3590
4014
  onSuccess,
3591
4015
  ...props
3592
4016
  }) {
3593
- const intl = (0, import_react_intl13.useIntl)();
4017
+ const intl = (0, import_react_intl15.useIntl)();
3594
4018
  const { endpoints, appid } = useLocalStore_default();
3595
4019
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
3596
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4020
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3597
4021
  id: type == "bind" ? "bindWith" : "loginWith"
3598
4022
  }, {
3599
4023
  name: "TON"
3600
- }), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4024
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
3601
4025
  import_ui_react.TonConnectUIProvider,
3602
4026
  {
3603
4027
  manifestUrl,
3604
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletContent2, { onSuccess, type })
4028
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(WalletContent2, { onSuccess, type })
3605
4029
  }
3606
4030
  ) });
3607
4031
  }
3608
4032
  function TONModal(props) {
3609
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TONConnectModal, { ...props });
4033
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(TONConnectModal, { ...props });
3610
4034
  }
3611
4035
 
3612
4036
  // src/components/BTCModal/index.tsx
3613
- var import_react27 = __toESM(require("react"));
3614
- var import_react_intl14 = require("react-intl");
4037
+ var import_react30 = __toESM(require("react"));
4038
+ var import_react_intl16 = require("react-intl");
3615
4039
 
3616
4040
  // src/lib/btc/UnisatAdapter.ts
3617
4041
  var UnisatAdapter = class {
@@ -3759,12 +4183,12 @@ var LeatherAdapter = class {
3759
4183
  };
3760
4184
 
3761
4185
  // src/hooks/useBTCWallet.ts
3762
- var import_react26 = require("react");
4186
+ var import_react29 = require("react");
3763
4187
  var useBTCWallet = () => {
3764
4188
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
3765
- const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
3766
- const [address, setAddress] = (0, import_react26.useState)(null);
3767
- (0, import_react26.useEffect)(() => {
4189
+ const [installedWallets, setInstalledWallets] = (0, import_react29.useState)([]);
4190
+ const [address, setAddress] = (0, import_react29.useState)(null);
4191
+ (0, import_react29.useEffect)(() => {
3768
4192
  const getInstalled = async () => {
3769
4193
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3770
4194
  wallet: wallet2,
@@ -3774,11 +4198,11 @@ var useBTCWallet = () => {
3774
4198
  };
3775
4199
  getInstalled();
3776
4200
  }, []);
3777
- const [wallet, chooseWallet] = (0, import_react26.useState)(null);
4201
+ const [wallet, chooseWallet] = (0, import_react29.useState)(null);
3778
4202
  const onConnect = async () => {
3779
4203
  setAddress(await wallet.connect());
3780
4204
  };
3781
- (0, import_react26.useEffect)(() => {
4205
+ (0, import_react29.useEffect)(() => {
3782
4206
  if (!wallet) {
3783
4207
  setAddress(null);
3784
4208
  }
@@ -3794,25 +4218,25 @@ var useBTCWallet = () => {
3794
4218
  };
3795
4219
 
3796
4220
  // src/components/BTCModal/index.tsx
3797
- var import_jsx_runtime74 = require("react/jsx-runtime");
4221
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3798
4222
  function BTCConnectModal({
3799
4223
  type = "login",
3800
4224
  onSuccess,
3801
4225
  ...props
3802
4226
  }) {
3803
4227
  const isDownMd = useDownMd();
3804
- const intl = (0, import_react_intl14.useIntl)();
4228
+ const intl = (0, import_react_intl16.useIntl)();
3805
4229
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
3806
4230
  const iconMaps = {
3807
- leather: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3808
- unisat: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3809
- xverse: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
4231
+ leather: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
4232
+ unisat: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
4233
+ xverse: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
3810
4234
  };
3811
4235
  const { events, login } = useMatch();
3812
- const [status, setStatus] = (0, import_react27.useState)("");
3813
- const statusRef = import_react27.default.useRef(status);
3814
- const [error, setError] = (0, import_react27.useState)("");
3815
- const connected = (0, import_react27.useMemo)(() => {
4236
+ const [status, setStatus] = (0, import_react30.useState)("");
4237
+ const statusRef = import_react30.default.useRef(status);
4238
+ const [error, setError] = (0, import_react30.useState)("");
4239
+ const connected = (0, import_react30.useMemo)(() => {
3816
4240
  return !!address;
3817
4241
  }, [address]);
3818
4242
  const disconnect = async () => {
@@ -3876,7 +4300,7 @@ function BTCConnectModal({
3876
4300
  statusRef.current = "";
3877
4301
  }
3878
4302
  };
3879
- (0, import_react27.useEffect)(() => {
4303
+ (0, import_react30.useEffect)(() => {
3880
4304
  if (wallet) {
3881
4305
  console.log("onConnect");
3882
4306
  try {
@@ -3889,12 +4313,12 @@ function BTCConnectModal({
3889
4313
  setStatus("");
3890
4314
  }
3891
4315
  }, [wallet]);
3892
- (0, import_react27.useEffect)(() => {
4316
+ (0, import_react30.useEffect)(() => {
3893
4317
  if (address) {
3894
4318
  toLoginInWallet();
3895
4319
  }
3896
4320
  }, [address]);
3897
- (0, import_react27.useEffect)(() => {
4321
+ (0, import_react30.useEffect)(() => {
3898
4322
  if (!props.isOpen) {
3899
4323
  disconnect();
3900
4324
  }
@@ -3906,11 +4330,11 @@ function BTCConnectModal({
3906
4330
  statusRef.current = "";
3907
4331
  setError("");
3908
4332
  };
3909
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4333
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3910
4334
  id: type == "bind" ? "bindWith" : "loginWith"
3911
4335
  }, {
3912
4336
  name: "BTC"
3913
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
4337
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
3914
4338
  WalletModalContent,
3915
4339
  {
3916
4340
  error,
@@ -3923,9 +4347,9 @@ function BTCConnectModal({
3923
4347
  setVisible: () => {
3924
4348
  }
3925
4349
  }
3926
- ) : /* @__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: [
4350
+ ) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3927
4351
  installedWallets.map((wallet2) => {
3928
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
4352
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
3929
4353
  RecommendItem,
3930
4354
  {
3931
4355
  icon: iconMaps[wallet2.walletKey],
@@ -3938,14 +4362,14 @@ function BTCConnectModal({
3938
4362
  );
3939
4363
  }),
3940
4364
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3941
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
4365
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
3942
4366
  RecommendItem,
3943
4367
  {
3944
4368
  icon: iconMaps[wallet2.walletKey],
3945
4369
  name: wallet2.name,
3946
4370
  onClick: () => {
3947
4371
  },
3948
- footer: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { size: "sm", onClick: () => {
4372
+ footer: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Button, { size: "sm", onClick: () => {
3949
4373
  window.open(wallet2.website);
3950
4374
  }, children: "Install" })
3951
4375
  },
@@ -3955,23 +4379,23 @@ function BTCConnectModal({
3955
4379
  ] }) }) });
3956
4380
  }
3957
4381
  function BTCModal(props) {
3958
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(BTCConnectModal, { ...props });
4382
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(BTCConnectModal, { ...props });
3959
4383
  }
3960
4384
 
3961
4385
  // src/components/WalletModal/index.tsx
3962
- var import_react28 = require("react");
3963
- var import_react_intl15 = require("react-intl");
3964
- var import_jsx_runtime75 = require("react/jsx-runtime");
4386
+ var import_react31 = require("react");
4387
+ var import_react_intl17 = require("react-intl");
4388
+ var import_jsx_runtime76 = require("react/jsx-runtime");
3965
4389
  function WalletConnectModal({
3966
4390
  type,
3967
4391
  methods: _methods,
3968
4392
  ...props
3969
4393
  }) {
3970
- const intl = (0, import_react_intl15.useIntl)();
4394
+ const intl = (0, import_react_intl17.useIntl)();
3971
4395
  const { walletMap } = useWalletConfig();
3972
4396
  const { bind, login } = useUserInfo();
3973
4397
  const config = useAppConfig();
3974
- const methods = (0, import_react28.useMemo)(() => {
4398
+ const methods = (0, import_react31.useMemo)(() => {
3975
4399
  if (_methods) return _methods;
3976
4400
  if (!config.platform) {
3977
4401
  return [];
@@ -3979,13 +4403,13 @@ function WalletConnectModal({
3979
4403
  const platform = config.platform.map((p) => p.toLowerCase());
3980
4404
  return WALLET_METHODS.filter((m) => platform.includes(m));
3981
4405
  }, [config.platform, _methods]);
3982
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4406
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3983
4407
  id: type == "bind" ? "bindWith" : "loginWith"
3984
4408
  }, {
3985
4409
  name: ""
3986
- }), children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
4410
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
3987
4411
  const m = walletMap[method];
3988
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
4412
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
3989
4413
  RecommendItem,
3990
4414
  {
3991
4415
  icon: m?.icon,
@@ -3999,7 +4423,7 @@ function WalletConnectModal({
3999
4423
  }) }) }) });
4000
4424
  }
4001
4425
  function WalletModal(props) {
4002
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(WalletConnectModal, { ...props });
4426
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(WalletConnectModal, { ...props });
4003
4427
  }
4004
4428
  // Annotate the CommonJS export names for ESM import in node:
4005
4429
  0 && (module.exports = {
@@ -4015,6 +4439,7 @@ function WalletModal(props) {
4015
4439
  Modal,
4016
4440
  ModalWithHeader,
4017
4441
  Overlay,
4442
+ PasswordModal,
4018
4443
  Popover,
4019
4444
  SOLModal,
4020
4445
  TONModal,