@matchain/matchid-sdk-react 0.1.40-alpha.0 → 0.1.40-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/assets/icon/index.d.mts +6 -2
  2. package/dist/assets/icon/index.d.ts +6 -2
  3. package/dist/assets/icon/index.js +56 -0
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +5 -1
  6. package/dist/{chunk-75ZLGQV7.mjs → chunk-B2HVAJPQ.mjs} +2 -2
  7. package/dist/{chunk-6PWH7WZI.mjs → chunk-DPXMCLYK.mjs} +56 -2
  8. package/dist/chunk-DPXMCLYK.mjs.map +1 -0
  9. package/dist/{chunk-XMGJLSI2.mjs → chunk-RYZFW6P6.mjs} +347 -107
  10. package/dist/chunk-RYZFW6P6.mjs.map +1 -0
  11. package/dist/components/index.d.mts +2 -2
  12. package/dist/components/index.d.ts +2 -2
  13. package/dist/components/index.js +496 -228
  14. package/dist/components/index.js.map +1 -1
  15. package/dist/components/index.mjs +4 -2
  16. package/dist/hooks/api/index.d.mts +2 -2
  17. package/dist/hooks/api/index.d.ts +2 -2
  18. package/dist/hooks/api/index.js +64 -41
  19. package/dist/hooks/api/index.js.map +1 -1
  20. package/dist/hooks/api/index.mjs +3 -3
  21. package/dist/hooks/index.d.mts +2 -2
  22. package/dist/hooks/index.d.ts +2 -2
  23. package/dist/hooks/index.js +68 -45
  24. package/dist/hooks/index.js.map +1 -1
  25. package/dist/hooks/index.mjs +2 -2
  26. package/dist/{index-mEK7Lcps.d.mts → index-C3KZYrtu.d.mts} +3 -2
  27. package/dist/{index-CvCSpU8m.d.ts → index-COlsBC-b.d.mts} +9 -3
  28. package/dist/{index-BPveUnst.d.ts → index-DoF5jRoi.d.ts} +1 -1
  29. package/dist/{index-DlrDrTMk.d.ts → index-Dq9Swg8r.d.ts} +3 -2
  30. package/dist/{index-ClQl2MMF.d.mts → index-fS75Swm8.d.ts} +9 -3
  31. package/dist/{index-Dm5o2w2J.d.mts → index-fl6SNIZC.d.mts} +1 -1
  32. package/dist/index.d.mts +4 -4
  33. package/dist/index.d.ts +4 -4
  34. package/dist/index.js +589 -306
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.mjs +6 -6
  37. package/dist/{types.d-IS3DBl3p.d.mts → types.d-CLO_WLka.d.mts} +1 -1
  38. package/dist/{types.d-IS3DBl3p.d.ts → types.d-CLO_WLka.d.ts} +1 -1
  39. package/example/src/components/Login/index.tsx +2 -2
  40. package/example/src/config/index.ts +6 -1
  41. package/example/src/pages/User.tsx +4 -4
  42. package/package.json +2 -2
  43. package/dist/chunk-6PWH7WZI.mjs.map +0 -1
  44. package/dist/chunk-XMGJLSI2.mjs.map +0 -1
  45. /package/dist/{chunk-75ZLGQV7.mjs.map → chunk-B2HVAJPQ.mjs.map} +0 -0
@@ -44,6 +44,7 @@ __export(components_exports, {
44
44
  PasswordModal: () => PasswordModal,
45
45
  Popover: () => Popover,
46
46
  SOLModal: () => SOLModal,
47
+ TONModal: () => TONModal,
47
48
  TRONModal: () => TRONModal,
48
49
  UsernameModal: () => UsernameModal
49
50
  });
@@ -1054,6 +1055,58 @@ function BitgetIcon({
1054
1055
  );
1055
1056
  }
1056
1057
 
1058
+ // src/assets/icon/TonDarkIcon.tsx
1059
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1060
+ function TonLightIcon({ size = 40, ...props }) {
1061
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1062
+ "svg",
1063
+ {
1064
+ width: size,
1065
+ height: size,
1066
+ ...props,
1067
+ viewBox: "0 0 40 40",
1068
+ fill: "none",
1069
+ xmlns: "http://www.w3.org/2000/svg",
1070
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
1071
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1072
+ "path",
1073
+ {
1074
+ stroke: "null",
1075
+ id: "svg_2",
1076
+ fill: "black",
1077
+ d: "m28.551235,7.336842l-17.103441,0c-3.144714,0 -5.137911,3.392209 -3.555804,6.134509l10.555606,18.295835c0.688817,1.19463 2.41502,1.19463 3.103838,0l10.557753,-18.295835c1.57996,-2.737917 -0.413237,-6.134509 -3.555804,-6.134509l-0.002147,0zm-10.112226,18.943687l-2.298831,-4.449093l-5.546854,-9.920635c-0.36592,-0.634971 0.086046,-1.448654 0.852323,-1.448654l6.991215,0l0,15.820529l0.002147,-0.002147zm10.962403,-14.371875l-5.544707,9.924928l-2.298831,4.446947l0,-15.820529l6.991215,0c0.766277,0 1.218244,0.813683 0.852323,1.448654z"
1078
+ }
1079
+ )
1080
+ }
1081
+ );
1082
+ }
1083
+
1084
+ // src/assets/icon/TonLightIcon.tsx
1085
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1086
+ function TonLightIcon2({ size = 40, ...props }) {
1087
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1088
+ "svg",
1089
+ {
1090
+ width: size,
1091
+ height: size,
1092
+ ...props,
1093
+ viewBox: "0 0 40 40",
1094
+ fill: "none",
1095
+ xmlns: "http://www.w3.org/2000/svg",
1096
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
1097
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1098
+ "path",
1099
+ {
1100
+ stroke: "null",
1101
+ id: "svg_2",
1102
+ fill: "white",
1103
+ d: "m28.551235,7.336842l-17.103441,0c-3.144714,0 -5.137911,3.392209 -3.555804,6.134509l10.555606,18.295835c0.688817,1.19463 2.41502,1.19463 3.103838,0l10.557753,-18.295835c1.57996,-2.737917 -0.413237,-6.134509 -3.555804,-6.134509l-0.002147,0zm-10.112226,18.943687l-2.298831,-4.449093l-5.546854,-9.920635c-0.36592,-0.634971 0.086046,-1.448654 0.852323,-1.448654l6.991215,0l0,15.820529l0.002147,-0.002147zm10.962403,-14.371875l-5.544707,9.924928l-2.298831,4.446947l0,-15.820529l6.991215,0c0.766277,0 1.218244,0.813683 0.852323,1.448654z"
1104
+ }
1105
+ )
1106
+ }
1107
+ );
1108
+ }
1109
+
1057
1110
  // src/hooks/useLayout.tsx
1058
1111
  var import_react = require("react");
1059
1112
  function useDownMd() {
@@ -1071,7 +1124,7 @@ function useDownMd() {
1071
1124
  }
1072
1125
 
1073
1126
  // src/components/Modal/index.tsx
1074
- var import_jsx_runtime42 = require("react/jsx-runtime");
1127
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1075
1128
  function Modal({
1076
1129
  children,
1077
1130
  isOpen,
@@ -1079,21 +1132,21 @@ function Modal({
1079
1132
  zIndex = 100,
1080
1133
  className = ""
1081
1134
  }) {
1082
- return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1135
+ return isOpen ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1083
1136
  "div",
1084
1137
  {
1085
1138
  className: "matchid-overlay",
1086
1139
  style: {
1087
1140
  zIndex
1088
1141
  },
1089
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1142
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `matchid-modal ${className}`, style: {
1090
1143
  width
1091
1144
  }, children: [
1092
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "matchid-modal-mobile-header" }),
1145
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "matchid-modal-mobile-header" }),
1093
1146
  children
1094
1147
  ] })
1095
1148
  }
1096
- ) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, {});
1149
+ ) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {});
1097
1150
  }
1098
1151
  function ModalWithHeader({
1099
1152
  children,
@@ -1105,13 +1158,13 @@ function ModalWithHeader({
1105
1158
  ...props
1106
1159
  }) {
1107
1160
  const isDownMd = useDownMd();
1108
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Modal, { ...props, children: [
1109
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1110
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "matchid-modal-header-content", children: [
1111
- onBack && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1112
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "matchid-modal-header-title", children: title })
1161
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Modal, { ...props, children: [
1162
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `matchid-modal-header ${showBorder ? "matchid-modal-header-border" : ""}`, children: [
1163
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "matchid-modal-header-content", children: [
1164
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ArrowLeftIcon, { height: isDownMd ? 20 : 25, width: isDownMd ? 20 : 24, className: "matchid-modal-header-back", onClick: onBack }),
1165
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "matchid-modal-header-title", children: title })
1113
1166
  ] }),
1114
- onClose && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1167
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30, className: "matchid-modal-header-close", onClick: onClose })
1115
1168
  ] }),
1116
1169
  children
1117
1170
  ] });
@@ -1146,7 +1199,7 @@ function getAppClientId() {
1146
1199
  }
1147
1200
 
1148
1201
  // src/components/Button/index.tsx
1149
- var import_jsx_runtime43 = require("react/jsx-runtime");
1202
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1150
1203
  function Button({
1151
1204
  size = "df",
1152
1205
  disabled = false,
@@ -1165,7 +1218,7 @@ function Button({
1165
1218
  onClick && onClick();
1166
1219
  }
1167
1220
  };
1168
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1221
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
1169
1222
  "button",
1170
1223
  {
1171
1224
  type,
@@ -1175,14 +1228,14 @@ function Button({
1175
1228
  ...style
1176
1229
  },
1177
1230
  onClick: onAction,
1178
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1231
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
1179
1232
  }
1180
1233
  );
1181
1234
  }
1182
1235
 
1183
1236
  // src/components/Input/index.tsx
1184
1237
  var import_react2 = require("react");
1185
- var import_jsx_runtime44 = require("react/jsx-runtime");
1238
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1186
1239
  function Input({
1187
1240
  onChange,
1188
1241
  type,
@@ -1192,17 +1245,17 @@ function Input({
1192
1245
  }) {
1193
1246
  const [inputType, setInputType] = (0, import_react2.useState)(type);
1194
1247
  const isDownMd = useDownMd();
1195
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
1248
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
1196
1249
  "div",
1197
1250
  {
1198
1251
  className: `matchid-input-box ${props.value && props.value.length > 0 ? "matchid-input-has-content" : ""} ${className}`,
1199
1252
  children: [
1200
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1201
- props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1253
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("input", { type: inputType, onChange, ...props, className: "matchid-input-field" }),
1254
+ props.value && props.value.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-input-delete-icon", onClick: (e) => {
1202
1255
  if (onChange) {
1203
1256
  onChange({ target: { value: "" } });
1204
1257
  }
1205
- }, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1258
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1206
1259
  DeleteRoundIcon,
1207
1260
  {
1208
1261
  height: isDownMd ? 16 : 21,
@@ -1210,9 +1263,9 @@ function Input({
1210
1263
  color: "var(--matchid-input-delete-icon-color)"
1211
1264
  }
1212
1265
  ) }),
1213
- type === "password" && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1266
+ type === "password" && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-input-eye-icon", onClick: () => {
1214
1267
  setInputType(inputType === "password" ? "text" : "password");
1215
- }, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CloseEyeIcon, { size: isDownMd ? 16 : 20 }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(OpenEyeIcon, { size: isDownMd ? 16 : 20 }) }),
1268
+ }, children: inputType === "password" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(CloseEyeIcon, { size: isDownMd ? 16 : 20 }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(OpenEyeIcon, { size: isDownMd ? 16 : 20 }) }),
1216
1269
  after
1217
1270
  ]
1218
1271
  }
@@ -1220,7 +1273,7 @@ function Input({
1220
1273
  }
1221
1274
 
1222
1275
  // src/components/Field/index.tsx
1223
- var import_jsx_runtime45 = require("react/jsx-runtime");
1276
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1224
1277
  function Field({
1225
1278
  label,
1226
1279
  children,
@@ -1228,19 +1281,19 @@ function Field({
1228
1281
  required,
1229
1282
  className = ""
1230
1283
  }) {
1231
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1232
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "matchid-field-label", children: [
1233
- required && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "matchid-field-required", children: "*" }),
1284
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: `matchid-field-box ${className}`, children: [
1285
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-field-label", children: [
1286
+ required && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "matchid-field-required", children: "*" }),
1234
1287
  label
1235
1288
  ] }),
1236
1289
  children,
1237
- error && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "matchid-field-error", children: error })
1290
+ error && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-field-error", children: error })
1238
1291
  ] });
1239
1292
  }
1240
1293
 
1241
1294
  // src/components/EmailModal/StepEmail.tsx
1242
1295
  var import_react_intl = require("react-intl");
1243
- var import_jsx_runtime46 = require("react/jsx-runtime");
1296
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1244
1297
  function StepEmail(props) {
1245
1298
  const intl = (0, import_react_intl.useIntl)();
1246
1299
  const [emailVal, setEmailVal] = (0, import_react3.useState)("");
@@ -1255,10 +1308,10 @@ function StepEmail(props) {
1255
1308
  const onContinue = async () => {
1256
1309
  props.onContinue(emailVal);
1257
1310
  };
1258
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "matchid-email-email-box", children: [
1259
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Field, { label: intl.formatMessage({
1311
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "matchid-email-email-box", children: [
1312
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: intl.formatMessage({
1260
1313
  id: "emailAddress"
1261
- }), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
1314
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
1262
1315
  Input,
1263
1316
  {
1264
1317
  placeholder: intl.formatMessage({
@@ -1268,9 +1321,9 @@ function StepEmail(props) {
1268
1321
  value: emailVal
1269
1322
  }
1270
1323
  ) }),
1271
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { disabled: !canContinue, style: {
1324
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { disabled: !canContinue, style: {
1272
1325
  marginTop: "64px"
1273
- }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1326
+ }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_intl.FormattedMessage, { id: "continue" }) })
1274
1327
  ] });
1275
1328
  }
1276
1329
 
@@ -1479,28 +1532,42 @@ var getAuthInfoApi = () => {
1479
1532
  method: "GET"
1480
1533
  });
1481
1534
  };
1482
- var getWalletNonceApi = ({ address }) => {
1535
+ var getWalletNonceApi = (data) => {
1483
1536
  return request_default({
1484
1537
  url: `/api/v1/login/wallet/init`,
1485
1538
  method: "POST",
1486
- data: { address }
1539
+ data
1487
1540
  });
1488
1541
  };
1489
- var loginByWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type }) => {
1542
+ var loginByWalletApi = ({
1543
+ type,
1544
+ address,
1545
+ signature,
1546
+ message,
1547
+ connector_type,
1548
+ wallet_client_type
1549
+ }) => {
1490
1550
  return request_default({
1491
1551
  url: `/api/v1/login/wallet`,
1492
1552
  method: "POST",
1493
1553
  data: { type, address, signature, message, connector_type, wallet_client_type }
1494
1554
  });
1495
1555
  };
1496
- var getWalletInitApi = ({ address }) => {
1556
+ var getWalletInitApi = (data) => {
1497
1557
  return request_default({
1498
1558
  url: `/api/v1/wallet/init`,
1499
1559
  method: "POST",
1500
- data: { address }
1560
+ data
1501
1561
  });
1502
1562
  };
1503
- var toBindWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type }) => {
1563
+ var toBindWalletApi = ({
1564
+ type,
1565
+ address,
1566
+ signature,
1567
+ message,
1568
+ connector_type,
1569
+ wallet_client_type
1570
+ }) => {
1504
1571
  return request_default({
1505
1572
  url: `/api/v1/wallet/bind`,
1506
1573
  method: "POST",
@@ -1716,7 +1783,7 @@ function useCopyClipboard(timeout = 500) {
1716
1783
 
1717
1784
  // src/components/PasswordModal/index.tsx
1718
1785
  var import_react_intl2 = require("react-intl");
1719
- var import_jsx_runtime47 = require("react/jsx-runtime");
1786
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1720
1787
  function PasswordModal({
1721
1788
  title,
1722
1789
  isOpen,
@@ -1774,15 +1841,15 @@ function PasswordModal({
1774
1841
  setIsSubmitting(false);
1775
1842
  }
1776
1843
  };
1777
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
1844
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
1778
1845
  id: "passwordTitle"
1779
- }), children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-password-box", children: [
1780
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-password-header", children: [
1781
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PasswordRoundIcon, {}) }),
1782
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
1846
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-box", children: [
1847
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-header", children: [
1848
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PasswordRoundIcon, {}) }),
1849
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
1783
1850
  ] }),
1784
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-password-content", children: [
1785
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1851
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "matchid-password-content", children: [
1852
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1786
1853
  Input,
1787
1854
  {
1788
1855
  placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
@@ -1792,9 +1859,9 @@ function PasswordModal({
1792
1859
  value: password
1793
1860
  }
1794
1861
  ) }),
1795
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Field, { label: intl.formatMessage({
1862
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: intl.formatMessage({
1796
1863
  id: "rePassword"
1797
- }), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1864
+ }), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1798
1865
  Input,
1799
1866
  {
1800
1867
  placeholder: intl.formatMessage({
@@ -1807,7 +1874,7 @@ function PasswordModal({
1807
1874
  }
1808
1875
  ) })
1809
1876
  ] }),
1810
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
1877
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
1811
1878
  Button,
1812
1879
  {
1813
1880
  disabled: password.length == 0 || !!passwordError || !!rePasswordError,
@@ -1816,7 +1883,7 @@ function PasswordModal({
1816
1883
  size: "lg",
1817
1884
  onClick: onContinue,
1818
1885
  loading: isSubmitting,
1819
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
1886
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
1820
1887
  }
1821
1888
  )
1822
1889
  ] }) });
@@ -1825,7 +1892,7 @@ function PasswordModal({
1825
1892
  // src/components/RecoveryModal/index.tsx
1826
1893
  var import_react7 = require("react");
1827
1894
  var import_react_intl3 = require("react-intl");
1828
- var import_jsx_runtime48 = require("react/jsx-runtime");
1895
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1829
1896
 
1830
1897
  // src/store/useModalStore.ts
1831
1898
  var import_zustand3 = require("zustand");
@@ -1841,6 +1908,12 @@ var useTRONModalStore = (0, import_zustand3.create)((set) => ({
1841
1908
  open: (type) => set({ isOpen: true, type }),
1842
1909
  close: () => set({ isOpen: false })
1843
1910
  }));
1911
+ var useTONModalStore = (0, import_zustand3.create)((set) => ({
1912
+ isOpen: false,
1913
+ type: "",
1914
+ open: (type) => set({ isOpen: true, type }),
1915
+ close: () => set({ isOpen: false })
1916
+ }));
1844
1917
  var useBTCModalStore = (0, import_zustand3.create)((set) => ({
1845
1918
  isOpen: false,
1846
1919
  type: "",
@@ -1857,13 +1930,13 @@ var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
1857
1930
  // src/components/CEXBindModal/index.tsx
1858
1931
  var import_react8 = require("react");
1859
1932
  var import_react_intl4 = require("react-intl");
1860
- var import_jsx_runtime49 = require("react/jsx-runtime");
1933
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1861
1934
 
1862
1935
  // src/context/BusinessProvider.tsx
1863
- var import_jsx_runtime50 = require("react/jsx-runtime");
1936
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1864
1937
 
1865
1938
  // src/context/index.tsx
1866
- var import_jsx_runtime51 = (
1939
+ var import_jsx_runtime53 = (
1867
1940
  // <MpcWalletProvider>
1868
1941
  require("react/jsx-runtime")
1869
1942
  );
@@ -1878,7 +1951,7 @@ var import_react10 = require("react");
1878
1951
  // src/MatchContext.tsx
1879
1952
  var import_react_query = require("@tanstack/react-query");
1880
1953
  var import_react_intl5 = require("react-intl");
1881
- var import_jsx_runtime52 = require("react/jsx-runtime");
1954
+ var import_jsx_runtime54 = require("react/jsx-runtime");
1882
1955
  var queryClient = new import_react_query.QueryClient();
1883
1956
  var MatchContext = (0, import_react11.createContext)(void 0);
1884
1957
  var useMatch = () => {
@@ -1905,6 +1978,7 @@ function useUserInfo() {
1905
1978
  const { events, login } = useMatch();
1906
1979
  const { open: SOLOpen } = useSOLModalStore();
1907
1980
  const { open: TRONOpen } = useTRONModalStore();
1981
+ const { open: TONOpen } = useTONModalStore();
1908
1982
  const { open: BTCOpen } = useBTCModalStore();
1909
1983
  const { open: CEXBindOpen } = useCEXBindModalStore();
1910
1984
  const isLogin = (0, import_react12.useMemo)(() => !!token, [token]);
@@ -1953,6 +2027,8 @@ function useUserInfo() {
1953
2027
  return SOLOpen("login");
1954
2028
  case "tron":
1955
2029
  return TRONOpen("login");
2030
+ case "ton":
2031
+ return TONOpen("login");
1956
2032
  case "btc":
1957
2033
  return BTCOpen("login");
1958
2034
  case "telegram":
@@ -2044,6 +2120,8 @@ function useUserInfo() {
2044
2120
  return SOLOpen("bind");
2045
2121
  case "tron":
2046
2122
  return TRONOpen("bind");
2123
+ case "ton":
2124
+ return TONOpen("bind");
2047
2125
  case "btc":
2048
2126
  return BTCOpen("bind");
2049
2127
  case "telegram":
@@ -2104,7 +2182,7 @@ var EMAIL_CODE_LENGTH = 6;
2104
2182
 
2105
2183
  // src/components/EmailModal/StepVerify.tsx
2106
2184
  var import_react_intl6 = require("react-intl");
2107
- var import_jsx_runtime53 = require("react/jsx-runtime");
2185
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2108
2186
  function StepVerify(props) {
2109
2187
  const intl = (0, import_react_intl6.useIntl)();
2110
2188
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
@@ -2181,17 +2259,17 @@ function StepVerify(props) {
2181
2259
  setSubmitting(false);
2182
2260
  }
2183
2261
  };
2184
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-email-verify-box", children: [
2185
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-email-verify-header", children: [
2186
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
2187
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2188
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2189
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
2262
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-box", children: [
2263
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header", children: [
2264
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
2265
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
2266
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
2267
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
2190
2268
  ] })
2191
2269
  ] }),
2192
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Field, { label: intl.formatMessage({
2270
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Field, { label: intl.formatMessage({
2193
2271
  id: "verificationCode"
2194
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2272
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2195
2273
  Input,
2196
2274
  {
2197
2275
  placeholder: intl.formatMessage({
@@ -2201,7 +2279,7 @@ function StepVerify(props) {
2201
2279
  maxLength: codeLength,
2202
2280
  onChange: (e) => setCode(e.target.value),
2203
2281
  value: code,
2204
- after: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2282
+ after: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2205
2283
  Button,
2206
2284
  {
2207
2285
  highlight: true,
@@ -2220,13 +2298,13 @@ function StepVerify(props) {
2220
2298
  )
2221
2299
  }
2222
2300
  ) }),
2223
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
2301
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
2224
2302
  ] });
2225
2303
  }
2226
2304
 
2227
2305
  // src/components/EmailModal/index.tsx
2228
2306
  var import_react_intl7 = require("react-intl");
2229
- var import_jsx_runtime54 = require("react/jsx-runtime");
2307
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2230
2308
  function EmailModal({
2231
2309
  isOpen = false,
2232
2310
  width = 480,
@@ -2243,7 +2321,7 @@ function EmailModal({
2243
2321
  setEmailVal("");
2244
2322
  }
2245
2323
  }, [isOpen]);
2246
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2324
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2247
2325
  ModalWithHeader,
2248
2326
  {
2249
2327
  isOpen,
@@ -2253,17 +2331,17 @@ function EmailModal({
2253
2331
  id: "email"
2254
2332
  }),
2255
2333
  onBack: step == "verify" ? () => setStep("input") : onBack,
2256
- children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2334
+ children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
2257
2335
  setEmailVal(email);
2258
2336
  setStep("verify");
2259
- } }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2337
+ } }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
2260
2338
  }
2261
2339
  );
2262
2340
  }
2263
2341
 
2264
2342
  // src/components/Popover/index.tsx
2265
2343
  var import_react15 = require("react");
2266
- var import_jsx_runtime55 = require("react/jsx-runtime");
2344
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2267
2345
  function Popover({
2268
2346
  children,
2269
2347
  content,
@@ -2273,7 +2351,7 @@ function Popover({
2273
2351
  gap = "20px"
2274
2352
  }) {
2275
2353
  const [active, setActive] = (0, import_react15.useState)(false);
2276
- return children && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
2354
+ return children && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
2277
2355
  "div",
2278
2356
  {
2279
2357
  onClick: () => {
@@ -2284,9 +2362,9 @@ function Popover({
2284
2362
  className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
2285
2363
  children: [
2286
2364
  children,
2287
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { style: {
2365
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { style: {
2288
2366
  paddingTop: gap
2289
- }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2367
+ }, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `matchid-popover-content`, children: content }) })
2290
2368
  ]
2291
2369
  }
2292
2370
  );
@@ -2295,7 +2373,7 @@ function Popover({
2295
2373
  // src/components/LoginBox/index.tsx
2296
2374
  var import_react16 = require("react");
2297
2375
  var import_react_intl8 = require("react-intl");
2298
- var import_jsx_runtime56 = require("react/jsx-runtime");
2376
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2299
2377
  var RecommendItem = ({
2300
2378
  icon,
2301
2379
  name,
@@ -2304,20 +2382,20 @@ var RecommendItem = ({
2304
2382
  children,
2305
2383
  footer
2306
2384
  }) => {
2307
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2308
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2309
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2310
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2311
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2385
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method", children: [
2386
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
2387
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
2388
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
2389
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
2312
2390
  ] }),
2313
- footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2391
+ footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2314
2392
  ArrowDownIcon,
2315
2393
  {
2316
2394
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
2317
2395
  size: 20,
2318
2396
  color: "var(--matchid-arrow-color)"
2319
2397
  }
2320
- ) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2398
+ ) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2321
2399
  ArrowRightIcon,
2322
2400
  {
2323
2401
  className: "matchid-login-recommend-method-arrow",
@@ -2326,7 +2404,7 @@ var RecommendItem = ({
2326
2404
  }
2327
2405
  )
2328
2406
  ] }),
2329
- children && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2407
+ children && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2330
2408
  "div",
2331
2409
  {
2332
2410
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -2358,115 +2436,121 @@ function LoginBox({
2358
2436
  const isDownMd = useDownMd();
2359
2437
  const methodMap = {
2360
2438
  wallet: {
2361
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2439
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
2362
2440
  name: intl.formatMessage({ id: "wallet" }),
2363
2441
  onClick: () => setShowWallet(!showWallet),
2364
2442
  type: "wallet"
2365
2443
  },
2366
2444
  email: {
2367
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2445
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
2368
2446
  name: intl.formatMessage({ id: "email" }),
2369
2447
  onClick: () => {
2370
2448
  setEmailOpen(true);
2371
2449
  }
2372
2450
  },
2373
2451
  google: {
2374
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2452
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
2375
2453
  name: "Google",
2376
2454
  onClick: () => login("google")
2377
2455
  },
2378
2456
  twitter: {
2379
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2457
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
2380
2458
  name: "X",
2381
2459
  onClick: () => login("twitter")
2382
2460
  },
2383
2461
  telegram: {
2384
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2462
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
2385
2463
  name: "Telegram",
2386
2464
  onClick: () => login("telegram")
2387
2465
  },
2388
2466
  github: {
2389
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2467
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
2390
2468
  name: "Github",
2391
2469
  onClick: () => login("github")
2392
2470
  },
2393
2471
  discord: {
2394
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2472
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
2395
2473
  name: "Discord",
2396
2474
  onClick: () => login("discord")
2397
2475
  },
2398
2476
  linkedin: {
2399
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2477
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
2400
2478
  name: "LinkedIn",
2401
2479
  onClick: () => login("linkedin")
2402
2480
  },
2403
2481
  facebook: {
2404
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2482
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
2405
2483
  name: "Facebook",
2406
2484
  onClick: () => login("facebook")
2407
2485
  },
2408
2486
  youtube: {
2409
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2487
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
2410
2488
  name: "Youtube",
2411
2489
  onClick: () => login("youtube")
2412
2490
  }
2413
2491
  };
2414
2492
  const walletMap = {
2415
2493
  evm: {
2416
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2417
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
2494
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
2495
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
2418
2496
  name: "EVM",
2419
2497
  onClick: () => login("evm")
2420
2498
  },
2421
2499
  sol: {
2422
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2423
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
2500
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
2501
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
2424
2502
  name: "SOL",
2425
2503
  onClick: () => login("sol")
2426
2504
  },
2427
2505
  btc: {
2428
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2429
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
2506
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
2507
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
2430
2508
  name: "BTC",
2431
2509
  onClick: () => login("btc")
2432
2510
  },
2433
2511
  tron: {
2434
- icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2435
- activeIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
2512
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
2513
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
2436
2514
  name: "TRON",
2437
2515
  onClick: () => login("tron")
2516
+ },
2517
+ ton: {
2518
+ icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
2519
+ activeIcon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
2520
+ name: "TON",
2521
+ onClick: () => login("ton")
2438
2522
  }
2439
2523
  };
2440
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
2441
- (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-box", children: [
2442
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2443
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2524
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2525
+ (!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-box", children: [
2526
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-list", children: recommendMethods.map((m) => {
2527
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2444
2528
  RecommendItem,
2445
2529
  {
2446
2530
  icon: methodMap[m]?.icon,
2447
2531
  name: methodMap[m]?.name,
2448
2532
  onClick: methodMap[m]?.onClick,
2449
2533
  showChildren: m == "wallet" && showWallet,
2450
- children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
2451
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2452
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: walletMethods.map((n) => {
2534
+ children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2535
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
2536
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: walletMethods.map((n) => {
2453
2537
  const m2 = walletMap[n];
2454
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
2538
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
2455
2539
  "div",
2456
2540
  {
2457
2541
  className: "matchid-login-recommend-wallet-item",
2458
2542
  onClick: m2.onClick,
2459
2543
  children: [
2460
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2461
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2462
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2544
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
2545
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
2546
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2463
2547
  "div",
2464
2548
  {
2465
2549
  className: "matchid-login-recommend-wallet-item-hover-icon",
2466
2550
  children: m2.activeIcon
2467
2551
  }
2468
2552
  ),
2469
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2553
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2470
2554
  "span",
2471
2555
  {
2472
2556
  className: "matchid-login-recommend-wallet-item-name",
@@ -2474,7 +2558,7 @@ function LoginBox({
2474
2558
  }
2475
2559
  )
2476
2560
  ] }),
2477
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2561
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2478
2562
  ArrowRightIcon,
2479
2563
  {
2480
2564
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -2492,10 +2576,10 @@ function LoginBox({
2492
2576
  m
2493
2577
  );
2494
2578
  }) }),
2495
- methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "matchid-login-other", children: [
2496
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
2497
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2498
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2579
+ methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-login-other", children: [
2580
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
2581
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
2582
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2499
2583
  "div",
2500
2584
  {
2501
2585
  className: "matchid-login-method-item",
@@ -2508,7 +2592,7 @@ function LoginBox({
2508
2592
  }) })
2509
2593
  ] })
2510
2594
  ] }),
2511
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2595
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2512
2596
  EmailModal,
2513
2597
  {
2514
2598
  isOpen: emailOpen,
@@ -2528,40 +2612,40 @@ var import_react18 = require("react");
2528
2612
 
2529
2613
  // src/components/LoginPanel/index.tsx
2530
2614
  var import_react_intl9 = require("react-intl");
2531
- var import_jsx_runtime57 = require("react/jsx-runtime");
2615
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2532
2616
  function LoginPanel({
2533
2617
  header,
2534
2618
  onClose,
2535
2619
  ...props
2536
2620
  }) {
2537
2621
  const isDownMd = useDownMd();
2538
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "matchid-login-panel", children: [
2539
- header ? header : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "matchid-login-panel-header", children: [
2540
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2541
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
2542
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
2622
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel", children: [
2623
+ header ? header : /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header", children: [
2624
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
2625
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
2626
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
2543
2627
  ] }),
2544
- onClose && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
2628
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
2545
2629
  ] }),
2546
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "matchid-login-panel-divide" }),
2547
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LoginBox, { ...props }) })
2630
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-divide" }),
2631
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(LoginBox, { ...props }) })
2548
2632
  ] });
2549
2633
  }
2550
2634
 
2551
2635
  // src/components/LoginModal/index.tsx
2552
- var import_jsx_runtime58 = require("react/jsx-runtime");
2636
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2553
2637
  function LoginModal({
2554
2638
  isOpen = false,
2555
2639
  width = 480,
2556
2640
  ...props
2557
2641
  }) {
2558
2642
  const { isLogin } = useUserInfo();
2559
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2643
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2560
2644
  Modal,
2561
2645
  {
2562
2646
  isOpen: isOpen && !isLogin,
2563
2647
  width,
2564
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LoginPanel, { ...props, inModal: true })
2648
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(LoginPanel, { ...props, inModal: true })
2565
2649
  }
2566
2650
  );
2567
2651
  }
@@ -2570,10 +2654,10 @@ function LoginModal({
2570
2654
  var import_react17 = require("react");
2571
2655
 
2572
2656
  // src/assets/icon/ProfileIcon.tsx
2573
- var import_jsx_runtime59 = require("react/jsx-runtime");
2657
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2574
2658
  function ProfileIcon({ size = 24, color = "black", ...props }) {
2575
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
2576
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2659
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
2660
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2577
2661
  "path",
2578
2662
  {
2579
2663
  fillRule: "evenodd",
@@ -2582,7 +2666,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2582
2666
  fill: color
2583
2667
  }
2584
2668
  ),
2585
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2669
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2586
2670
  "path",
2587
2671
  {
2588
2672
  fillRule: "evenodd",
@@ -2596,7 +2680,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
2596
2680
 
2597
2681
  // src/components/UserPopover/index.tsx
2598
2682
  var import_react_intl10 = require("react-intl");
2599
- var import_jsx_runtime60 = require("react/jsx-runtime");
2683
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2600
2684
  function UserContent() {
2601
2685
  const { logout, address, username } = useUserInfo();
2602
2686
  const [logouting, setLogouting] = (0, import_react17.useState)(false);
@@ -2617,34 +2701,34 @@ function UserContent() {
2617
2701
  rightIcon,
2618
2702
  onClick
2619
2703
  }) => {
2620
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2621
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
2704
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
2705
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
2622
2706
  icon,
2623
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "matchid-user-popover-item-text", children })
2707
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-user-popover-item-text", children })
2624
2708
  ] }),
2625
2709
  rightIcon
2626
2710
  ] });
2627
2711
  };
2628
2712
  const UserDivider = () => {
2629
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: `matchid-user-popover-divider` });
2713
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: `matchid-user-popover-divider` });
2630
2714
  };
2631
2715
  const [usernameOpen, setUsernameOpen] = (0, import_react17.useState)(false);
2632
2716
  const [copied, setCopied] = useCopyClipboard();
2633
2717
  const intl = (0, import_react_intl10.useIntl)();
2634
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-user-popover-content", children: [
2635
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "matchid-user-popover-list", children: [
2636
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UserItem, { onClick: () => {
2718
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-content", children: [
2719
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-user-popover-list", children: [
2720
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserItem, { onClick: () => {
2637
2721
  setCopied(address);
2638
- }, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
2639
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UserDivider, {}),
2640
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UserItem, { onClick: () => {
2722
+ }, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
2723
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserDivider, {}),
2724
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserItem, { onClick: () => {
2641
2725
  setUsernameOpen(true);
2642
- }, icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
2726
+ }, icon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
2643
2727
  id: "setUsername"
2644
2728
  }) })
2645
2729
  ] }),
2646
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2647
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
2730
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
2731
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
2648
2732
  setUsernameOpen(false);
2649
2733
  }, onSuccess: () => {
2650
2734
  setUsernameOpen(false);
@@ -2655,12 +2739,12 @@ function UserPopover({
2655
2739
  children,
2656
2740
  ...props
2657
2741
  }) {
2658
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UserContent, {}), children });
2742
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UserContent, {}), children });
2659
2743
  }
2660
2744
 
2661
2745
  // src/components/LoginButton/index.tsx
2662
2746
  var import_react_intl11 = require("react-intl");
2663
- var import_jsx_runtime61 = require("react/jsx-runtime");
2747
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2664
2748
  function LoginButton({
2665
2749
  loginRender,
2666
2750
  methods,
@@ -2676,8 +2760,8 @@ function LoginButton({
2676
2760
  const { isLogin, username } = useUserInfo();
2677
2761
  const [loginOpen, setLoginOpen] = (0, import_react18.useState)(false);
2678
2762
  if (!isLogin) {
2679
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
2680
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2763
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2764
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2681
2765
  LoginModal,
2682
2766
  {
2683
2767
  methods,
@@ -2687,15 +2771,15 @@ function LoginButton({
2687
2771
  onClose: () => setLoginOpen(false)
2688
2772
  }
2689
2773
  ),
2690
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2691
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(UnLoginIcon_default, {}),
2692
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
2774
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
2775
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UnLoginIcon_default, {}),
2776
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
2693
2777
  ] })
2694
2778
  ] });
2695
2779
  }
2696
- return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_jsx_runtime61.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
2697
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(LoginIcon_default, {}),
2698
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
2780
+ return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_jsx_runtime63.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
2781
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginIcon_default, {}),
2782
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
2699
2783
  id: "user"
2700
2784
  }) })
2701
2785
  ] }) });
@@ -2705,14 +2789,14 @@ function LoginButton({
2705
2789
  var import_react19 = require("react");
2706
2790
 
2707
2791
  // src/assets/icon/InfoRoundIcon.tsx
2708
- var import_jsx_runtime62 = require("react/jsx-runtime");
2792
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2709
2793
  function InfoRoundIcon({
2710
2794
  size,
2711
2795
  color = "#6E6E6E",
2712
2796
  ...props
2713
2797
  }) {
2714
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
2715
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2798
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
2799
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2716
2800
  "path",
2717
2801
  {
2718
2802
  fillRule: "evenodd",
@@ -2721,21 +2805,21 @@ function InfoRoundIcon({
2721
2805
  fill: color
2722
2806
  }
2723
2807
  ) }),
2724
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
2808
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
2725
2809
  ] });
2726
2810
  }
2727
2811
 
2728
2812
  // src/components/UsernameModal/index.tsx
2729
2813
  var import_react_intl12 = require("react-intl");
2730
- var import_jsx_runtime63 = require("react/jsx-runtime");
2814
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2731
2815
  var ValidItem = ({
2732
2816
  success = false,
2733
2817
  text
2734
2818
  }) => {
2735
2819
  const isDownMd = useDownMd();
2736
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2737
- success ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2738
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { children: text })
2820
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
2821
+ success ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
2822
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: text })
2739
2823
  ] });
2740
2824
  };
2741
2825
  function UsernameModal({
@@ -2783,12 +2867,12 @@ function UsernameModal({
2783
2867
  }
2784
2868
  };
2785
2869
  const intl = (0, import_react_intl12.useIntl)();
2786
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2870
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
2787
2871
  id: username ? "editUsernameTitle" : "setUsernameTitle"
2788
- }), children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-username-box", children: [
2789
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Field, { label: intl.formatMessage({
2872
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-username-box", children: [
2873
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Field, { label: intl.formatMessage({
2790
2874
  id: "username"
2791
- }), error, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2875
+ }), error, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2792
2876
  Input,
2793
2877
  {
2794
2878
  placeholder: intl.formatMessage({
@@ -2801,8 +2885,8 @@ function UsernameModal({
2801
2885
  value: val
2802
2886
  }
2803
2887
  ) }),
2804
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "matchid-valid", children: [
2805
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2888
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-valid", children: [
2889
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2806
2890
  ValidItem,
2807
2891
  {
2808
2892
  success: isValid,
@@ -2811,16 +2895,16 @@ function UsernameModal({
2811
2895
  })
2812
2896
  }
2813
2897
  ),
2814
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
2898
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
2815
2899
  id: "usernameLengthError"
2816
2900
  }) })
2817
2901
  ] }),
2818
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
2902
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
2819
2903
  marginTop: isDownMd ? "36px" : "64px"
2820
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
2821
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { style: {
2904
+ }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
2905
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { style: {
2822
2906
  marginTop: isDownMd ? "12px" : "24px"
2823
- }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
2907
+ }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
2824
2908
  ] }) });
2825
2909
  }
2826
2910
 
@@ -2854,7 +2938,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
2854
2938
  var walletSigningImage = "data:image/png;base64,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";
2855
2939
 
2856
2940
  // src/components/WalletModalContent/index.tsx
2857
- var import_jsx_runtime64 = require("react/jsx-runtime");
2941
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2858
2942
  function WalletModalContent({
2859
2943
  status,
2860
2944
  error,
@@ -2881,8 +2965,13 @@ function WalletModalContent({
2881
2965
  text: error,
2882
2966
  btnText: "Reconnect Wallet",
2883
2967
  btnClick: async () => {
2968
+ console.log("click error");
2884
2969
  setError("");
2885
- await disconnect();
2970
+ try {
2971
+ await disconnect();
2972
+ } catch (error2) {
2973
+ console.error(error2);
2974
+ }
2886
2975
  setVisible(true);
2887
2976
  },
2888
2977
  statusImage: walletErrorImage,
@@ -2919,12 +3008,12 @@ function WalletModalContent({
2919
3008
  statusImage: walletConnectImage
2920
3009
  };
2921
3010
  }, [visible, connected, status, error, address]);
2922
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: `matchid-wallet-box`, children: [
2923
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: `matchid-wallet-content`, children: [
2924
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: pageData.statusImage }),
2925
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3011
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-box`, children: [
3012
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `matchid-wallet-content`, children: [
3013
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: pageData.statusImage }),
3014
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
2926
3015
  ] }),
2927
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3016
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2928
3017
  Button,
2929
3018
  {
2930
3019
  block: true,
@@ -2939,7 +3028,7 @@ function WalletModalContent({
2939
3028
  }
2940
3029
 
2941
3030
  // src/components/SOLModal/index.tsx
2942
- var import_jsx_runtime65 = require("react/jsx-runtime");
3031
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2943
3032
  function WalletContent({
2944
3033
  onSuccess,
2945
3034
  type
@@ -2969,7 +3058,7 @@ function WalletContent({
2969
3058
  try {
2970
3059
  setStatus("nonce");
2971
3060
  statusRef.current = "nonce";
2972
- const res = type == "bind" ? await getWalletInitApi({ address }) : await getWalletNonceApi({ address });
3061
+ const res = type == "bind" ? await getWalletInitApi({ address, type: "SOL" }) : await getWalletNonceApi({ address, type: "SOL" });
2973
3062
  if (!isSuccess(res)) {
2974
3063
  throw new Error(res.message);
2975
3064
  }
@@ -3018,7 +3107,7 @@ function WalletContent({
3018
3107
  statusRef.current = "";
3019
3108
  }
3020
3109
  };
3021
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3110
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3022
3111
  WalletModalContent,
3023
3112
  {
3024
3113
  connected: wallet.connected,
@@ -3079,11 +3168,11 @@ function SOLModal({
3079
3168
  ...props
3080
3169
  }) {
3081
3170
  const intl = (0, import_react_intl13.useIntl)();
3082
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3171
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3083
3172
  id: type == "bind" ? "bindWith" : "loginWith"
3084
3173
  }, {
3085
3174
  name: "SOL"
3086
- }), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
3175
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
3087
3176
  }
3088
3177
 
3089
3178
  // src/components/TRONModal/index.tsx
@@ -3198,7 +3287,7 @@ var useTRONWallet = () => {
3198
3287
  };
3199
3288
 
3200
3289
  // src/components/TRONModal/index.tsx
3201
- var import_jsx_runtime66 = require("react/jsx-runtime");
3290
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3202
3291
  function TRONModal({
3203
3292
  type = "login",
3204
3293
  onSuccess,
@@ -3208,9 +3297,9 @@ function TRONModal({
3208
3297
  const intl = (0, import_react_intl14.useIntl)();
3209
3298
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
3210
3299
  const iconMaps = {
3211
- tronlink: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3212
- bitget: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3213
- okx: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3300
+ tronlink: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3301
+ bitget: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3302
+ okx: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
3214
3303
  };
3215
3304
  const { events, login } = useMatch();
3216
3305
  const [status, setStatus] = (0, import_react23.useState)("");
@@ -3236,7 +3325,7 @@ function TRONModal({
3236
3325
  try {
3237
3326
  setStatus("nonce");
3238
3327
  statusRef.current = "nonce";
3239
- const res = type == "bind" ? await getWalletInitApi({ address }) : await getWalletNonceApi({ address });
3328
+ const res = type == "bind" ? await getWalletInitApi({ address, type: "TRON" }) : await getWalletNonceApi({ address, type: "TRON" });
3240
3329
  if (!isSuccess(res)) {
3241
3330
  throw new Error(res.message);
3242
3331
  }
@@ -3302,11 +3391,11 @@ function TRONModal({
3302
3391
  disconnect();
3303
3392
  }
3304
3393
  }, [props.isOpen]);
3305
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3394
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3306
3395
  id: type == "bind" ? "bindWith" : "loginWith"
3307
3396
  }, {
3308
3397
  name: "TRON"
3309
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3398
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3310
3399
  WalletModalContent,
3311
3400
  {
3312
3401
  error,
@@ -3319,9 +3408,9 @@ function TRONModal({
3319
3408
  setVisible: () => {
3320
3409
  }
3321
3410
  }
3322
- ) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3411
+ ) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3323
3412
  installedWallets.map((wallet2) => {
3324
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3413
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3325
3414
  RecommendItem,
3326
3415
  {
3327
3416
  icon: iconMaps[wallet2.walletKey],
@@ -3334,14 +3423,14 @@ function TRONModal({
3334
3423
  );
3335
3424
  }),
3336
3425
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3337
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3426
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3338
3427
  RecommendItem,
3339
3428
  {
3340
3429
  icon: iconMaps[wallet2.walletKey],
3341
3430
  name: wallet2.name,
3342
3431
  onClick: () => {
3343
3432
  },
3344
- footer: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { size: "sm", onClick: () => {
3433
+ footer: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { size: "sm", onClick: () => {
3345
3434
  window.open(wallet2.website);
3346
3435
  }, children: "Install" })
3347
3436
  },
@@ -3351,9 +3440,187 @@ function TRONModal({
3351
3440
  ] }) }) });
3352
3441
  }
3353
3442
 
3354
- // src/components/BTCModal/index.tsx
3355
- var import_react25 = __toESM(require("react"));
3443
+ // src/components/TONModal/index.tsx
3444
+ var import_react24 = __toESM(require("react"));
3356
3445
  var import_react_intl15 = require("react-intl");
3446
+ var import_ui_react = require("@tonconnect/ui-react");
3447
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3448
+ function WalletContent2({
3449
+ onSuccess,
3450
+ type
3451
+ }) {
3452
+ const { events, login } = useMatch();
3453
+ const [connected, setConnected] = (0, import_react24.useState)(false);
3454
+ const wallet = (0, import_ui_react.useTonWallet)();
3455
+ const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
3456
+ const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
3457
+ const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
3458
+ const [status, setStatus] = (0, import_react24.useState)("");
3459
+ const statusRef = import_react24.default.useRef(status);
3460
+ const [error, setError] = (0, import_react24.useState)("");
3461
+ (0, import_react24.useEffect)(() => {
3462
+ const init = async () => {
3463
+ if (wallet) {
3464
+ await tonConnectUI.disconnect();
3465
+ }
3466
+ open();
3467
+ };
3468
+ init();
3469
+ tonConnectUI.onStatusChange((wallet2) => {
3470
+ matchlog_default.log("onStatusChange:", wallet2, wallet2?.connectItems?.tonProof, JSON.stringify(wallet2?.connectItems?.tonProof));
3471
+ if (wallet2?.connectItems?.tonProof && "proof" in wallet2.connectItems.tonProof) {
3472
+ matchlog_default.log(wallet2?.connectItems.tonProof.proof, wallet2?.account);
3473
+ const toLoginInWallet = async () => {
3474
+ if (statusRef.current || !wallet2) return;
3475
+ setStatus("signer");
3476
+ statusRef.current = "signer";
3477
+ try {
3478
+ const signature = {
3479
+ "address": wallet2?.account?.address,
3480
+ "network": wallet2?.account?.chain,
3481
+ "public_key": wallet2?.account?.publicKey,
3482
+ "proof": {
3483
+ //@ts-ignore
3484
+ ...wallet2?.connectItems?.tonProof?.proof,
3485
+ "state_init": wallet2?.account?.walletStateInit
3486
+ }
3487
+ };
3488
+ let obj = {
3489
+ type: "TON",
3490
+ address: wallet2?.account?.publicKey,
3491
+ signature: JSON.stringify(signature),
3492
+ //@ts-ignore
3493
+ message: wallet2?.connectItems?.tonProof?.proof.payload,
3494
+ connector_type: "TON",
3495
+ wallet_client_type: wallet2?.name
3496
+ };
3497
+ console.log("signature", {
3498
+ signature,
3499
+ obj
3500
+ });
3501
+ const res1 = type == "bind" ? await toBindWalletApi(obj) : await loginByWalletApi(obj);
3502
+ if (res1) {
3503
+ if (!isSuccess(res1)) {
3504
+ throw new Error(res1.message);
3505
+ }
3506
+ matchlog_default.log(res1);
3507
+ setStatus("success");
3508
+ statusRef.current = "success";
3509
+ if (type == "bind") {
3510
+ events.onBind && events.onBind({
3511
+ type: "ton"
3512
+ });
3513
+ eventManager_default.emit("onBind", {
3514
+ type: "ton"
3515
+ });
3516
+ } else {
3517
+ await login({
3518
+ mid: res1.data.mid,
3519
+ token: `${res1.data.token_type} ${res1.data.access_token}`
3520
+ });
3521
+ }
3522
+ onSuccess && onSuccess();
3523
+ }
3524
+ } catch (error2) {
3525
+ setStatus("error");
3526
+ setError(error2.message);
3527
+ statusRef.current = "";
3528
+ }
3529
+ };
3530
+ toLoginInWallet();
3531
+ }
3532
+ });
3533
+ }, []);
3534
+ (0, import_react24.useEffect)(() => {
3535
+ if (wallet) {
3536
+ setConnected(true);
3537
+ console.log("Wallet connected:", wallet);
3538
+ } else {
3539
+ setConnected(false);
3540
+ open();
3541
+ statusRef.current = "";
3542
+ setStatus("");
3543
+ }
3544
+ }, [wallet]);
3545
+ (0, import_react24.useEffect)(() => {
3546
+ console.log({
3547
+ state,
3548
+ wallet
3549
+ });
3550
+ if (state.status == "opened") {
3551
+ const init = async () => {
3552
+ tonConnectUI.setConnectRequestParameters({ state: "loading" });
3553
+ const res = type == "bind" ? await getWalletInitApi({
3554
+ address: "tonconnect",
3555
+ type: "TON"
3556
+ }) : await getWalletNonceApi({ address: "tonconnect", type: "TON" });
3557
+ if (!isSuccess(res)) {
3558
+ tonConnectUI.setConnectRequestParameters(null);
3559
+ throw new Error(res.message);
3560
+ }
3561
+ tonConnectUI.setConnectRequestParameters({
3562
+ state: "ready",
3563
+ value: { tonProof: res.data.nonce }
3564
+ });
3565
+ };
3566
+ init();
3567
+ } else {
3568
+ if (!wallet) {
3569
+ setStatus("");
3570
+ statusRef.current = "";
3571
+ }
3572
+ }
3573
+ }, [state]);
3574
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3575
+ WalletModalContent,
3576
+ {
3577
+ connected,
3578
+ disconnect: tonConnectUI.disconnect,
3579
+ address: userFriendlyAddress,
3580
+ visible: state.status == "opened",
3581
+ setVisible: async (v) => {
3582
+ console.log("setVisible", v);
3583
+ if (v) {
3584
+ if (wallet) {
3585
+ await tonConnectUI.disconnect();
3586
+ }
3587
+ setStatus("");
3588
+ statusRef.current = "";
3589
+ open();
3590
+ } else {
3591
+ close();
3592
+ }
3593
+ },
3594
+ error,
3595
+ setError,
3596
+ status
3597
+ }
3598
+ );
3599
+ }
3600
+ function TONModal({
3601
+ type = "login",
3602
+ onSuccess,
3603
+ ...props
3604
+ }) {
3605
+ const intl = (0, import_react_intl15.useIntl)();
3606
+ const { endpoints, appid } = useLocalStore_default();
3607
+ const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
3608
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3609
+ id: type == "bind" ? "bindWith" : "loginWith"
3610
+ }, {
3611
+ name: "TON"
3612
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3613
+ import_ui_react.TonConnectUIProvider,
3614
+ {
3615
+ manifestUrl,
3616
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(WalletContent2, { onSuccess, type })
3617
+ }
3618
+ ) });
3619
+ }
3620
+
3621
+ // src/components/BTCModal/index.tsx
3622
+ var import_react26 = __toESM(require("react"));
3623
+ var import_react_intl16 = require("react-intl");
3357
3624
 
3358
3625
  // src/lib/btc/UnisatAdapter.ts
3359
3626
  var UnisatAdapter = class {
@@ -3501,12 +3768,12 @@ var LeatherAdapter = class {
3501
3768
  };
3502
3769
 
3503
3770
  // src/hooks/useBTCWallet.ts
3504
- var import_react24 = require("react");
3771
+ var import_react25 = require("react");
3505
3772
  var useBTCWallet = () => {
3506
3773
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
3507
- const [installedWallets, setInstalledWallets] = (0, import_react24.useState)([]);
3508
- const [address, setAddress] = (0, import_react24.useState)(null);
3509
- (0, import_react24.useEffect)(() => {
3774
+ const [installedWallets, setInstalledWallets] = (0, import_react25.useState)([]);
3775
+ const [address, setAddress] = (0, import_react25.useState)(null);
3776
+ (0, import_react25.useEffect)(() => {
3510
3777
  const getInstalled = async () => {
3511
3778
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3512
3779
  wallet: wallet2,
@@ -3516,11 +3783,11 @@ var useBTCWallet = () => {
3516
3783
  };
3517
3784
  getInstalled();
3518
3785
  }, []);
3519
- const [wallet, chooseWallet] = (0, import_react24.useState)(null);
3786
+ const [wallet, chooseWallet] = (0, import_react25.useState)(null);
3520
3787
  const onConnect = async () => {
3521
3788
  setAddress(await wallet.connect());
3522
3789
  };
3523
- (0, import_react24.useEffect)(() => {
3790
+ (0, import_react25.useEffect)(() => {
3524
3791
  if (!wallet) {
3525
3792
  setAddress(null);
3526
3793
  }
@@ -3536,25 +3803,25 @@ var useBTCWallet = () => {
3536
3803
  };
3537
3804
 
3538
3805
  // src/components/BTCModal/index.tsx
3539
- var import_jsx_runtime67 = require("react/jsx-runtime");
3806
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3540
3807
  function BTCModal({
3541
3808
  type = "login",
3542
3809
  onSuccess,
3543
3810
  ...props
3544
3811
  }) {
3545
3812
  const isDownMd = useDownMd();
3546
- const intl = (0, import_react_intl15.useIntl)();
3813
+ const intl = (0, import_react_intl16.useIntl)();
3547
3814
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
3548
3815
  const iconMaps = {
3549
- leather: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3550
- unisat: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3551
- xverse: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
3816
+ leather: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
3817
+ unisat: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
3818
+ xverse: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
3552
3819
  };
3553
3820
  const { events, login } = useMatch();
3554
- const [status, setStatus] = (0, import_react25.useState)("");
3555
- const statusRef = import_react25.default.useRef(status);
3556
- const [error, setError] = (0, import_react25.useState)("");
3557
- const connected = (0, import_react25.useMemo)(() => {
3821
+ const [status, setStatus] = (0, import_react26.useState)("");
3822
+ const statusRef = import_react26.default.useRef(status);
3823
+ const [error, setError] = (0, import_react26.useState)("");
3824
+ const connected = (0, import_react26.useMemo)(() => {
3558
3825
  return !!address;
3559
3826
  }, [address]);
3560
3827
  const disconnect = async () => {
@@ -3569,7 +3836,7 @@ function BTCModal({
3569
3836
  try {
3570
3837
  setStatus("nonce");
3571
3838
  statusRef.current = "nonce";
3572
- const res = type == "bind" ? await getWalletInitApi({ address }) : await getWalletNonceApi({ address });
3839
+ const res = type == "bind" ? await getWalletInitApi({ address, type: "BTC" }) : await getWalletNonceApi({ address, type: "BTC" });
3573
3840
  if (!isSuccess(res)) {
3574
3841
  throw new Error(res.message);
3575
3842
  }
@@ -3618,7 +3885,7 @@ function BTCModal({
3618
3885
  statusRef.current = "";
3619
3886
  }
3620
3887
  };
3621
- (0, import_react25.useEffect)(() => {
3888
+ (0, import_react26.useEffect)(() => {
3622
3889
  if (wallet) {
3623
3890
  console.log("onConnect");
3624
3891
  try {
@@ -3631,12 +3898,12 @@ function BTCModal({
3631
3898
  setStatus("");
3632
3899
  }
3633
3900
  }, [wallet]);
3634
- (0, import_react25.useEffect)(() => {
3901
+ (0, import_react26.useEffect)(() => {
3635
3902
  if (address) {
3636
3903
  toLoginInWallet();
3637
3904
  }
3638
3905
  }, [address]);
3639
- (0, import_react25.useEffect)(() => {
3906
+ (0, import_react26.useEffect)(() => {
3640
3907
  if (!props.isOpen) {
3641
3908
  disconnect();
3642
3909
  }
@@ -3648,11 +3915,11 @@ function BTCModal({
3648
3915
  statusRef.current = "";
3649
3916
  setError("");
3650
3917
  };
3651
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3918
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3652
3919
  id: type == "bind" ? "bindWith" : "loginWith"
3653
3920
  }, {
3654
3921
  name: "BTC"
3655
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3922
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3656
3923
  WalletModalContent,
3657
3924
  {
3658
3925
  error,
@@ -3665,9 +3932,9 @@ function BTCModal({
3665
3932
  setVisible: () => {
3666
3933
  }
3667
3934
  }
3668
- ) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3935
+ ) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "matchid-login-recommend-list", children: [
3669
3936
  installedWallets.map((wallet2) => {
3670
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3937
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3671
3938
  RecommendItem,
3672
3939
  {
3673
3940
  icon: iconMaps[wallet2.walletKey],
@@ -3680,14 +3947,14 @@ function BTCModal({
3680
3947
  );
3681
3948
  }),
3682
3949
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
3683
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3950
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3684
3951
  RecommendItem,
3685
3952
  {
3686
3953
  icon: iconMaps[wallet2.walletKey],
3687
3954
  name: wallet2.name,
3688
3955
  onClick: () => {
3689
3956
  },
3690
- footer: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { size: "sm", onClick: () => {
3957
+ footer: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { size: "sm", onClick: () => {
3691
3958
  window.open(wallet2.website);
3692
3959
  }, children: "Install" })
3693
3960
  },
@@ -3712,6 +3979,7 @@ function BTCModal({
3712
3979
  PasswordModal,
3713
3980
  Popover,
3714
3981
  SOLModal,
3982
+ TONModal,
3715
3983
  TRONModal,
3716
3984
  UsernameModal
3717
3985
  });