@matchain/matchid-sdk-react 0.1.53-alpha.8 → 0.1.54
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.
- package/dist/assets/icon/index.d.mts +2 -2
- package/dist/assets/icon/index.d.ts +2 -2
- package/dist/{chunk-X5HGL3ZX.mjs → chunk-ZPBHHXEE.mjs} +7689 -338
- package/dist/chunk-ZPBHHXEE.mjs.map +1 -0
- package/dist/components/index.d.mts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +363 -343
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +9 -11
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +493 -478
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +2 -3
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +258 -248
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +3 -5
- package/dist/{index-D5WIVIkc.d.ts → index-91BdMYDA.d.ts} +4 -2
- package/dist/{index-BVfCh4l-.d.mts → index-CPk553v5.d.mts} +1 -1
- package/dist/{index-D7S5DMUy.d.mts → index-CPwcm70o.d.mts} +3 -3
- package/dist/{index-zc2GEzJ9.d.ts → index-CZu_8fKl.d.ts} +40 -39
- package/dist/{index-SOVt-ADK.d.mts → index-ChHJD4NZ.d.mts} +4 -2
- package/dist/{index-CQmN0dN4.d.ts → index-CkHDxE7B.d.mts} +16 -4
- package/dist/{index-C0UKUm0h.d.ts → index-D5geEbXf.d.ts} +4 -3
- package/dist/{index-D3Kp05kW.d.ts → index-DFBrN7dx.d.ts} +1 -1
- package/dist/{index-DC4F1u-w.d.mts → index-DSvRdAyZ.d.mts} +4 -3
- package/dist/{index-DjbH13zc.d.mts → index-DX1vzCrM.d.mts} +40 -39
- package/dist/{index-DQFQ39D9.d.ts → index-Dj1K-UdZ.d.ts} +3 -3
- package/dist/{index-BDffLLM_.d.mts → index-DjwwXNp4.d.mts} +15 -3
- package/dist/{index-BaFmUVw-.d.mts → index-SRHVQn5G.d.ts} +16 -4
- package/dist/{index-BsX-ovIl.d.ts → index-Vxvd14yW.d.ts} +15 -3
- package/dist/index.css +141 -34
- package/dist/index.d.mts +758 -11
- package/dist/index.d.ts +758 -11
- package/dist/index.js +3859 -3738
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -9
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/{types-VrV1kYga.d.mts → types-Bi9iq57H.d.mts} +13 -1
- package/dist/{types-VrV1kYga.d.ts → types-Bi9iq57H.d.ts} +13 -1
- package/dist/ui/index.d.mts +3 -3
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.js +937 -160
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +6 -1
- package/example/package.json +1 -0
- package/example/src/App.tsx +24 -20
- package/package.json +1 -1
- package/dist/chunk-QTUR37B2.mjs +0 -7275
- package/dist/chunk-QTUR37B2.mjs.map +0 -1
- package/dist/chunk-X5HGL3ZX.mjs.map +0 -1
package/dist/components/index.js
CHANGED
|
@@ -59,7 +59,10 @@ __export(components_exports, {
|
|
|
59
59
|
module.exports = __toCommonJS(components_exports);
|
|
60
60
|
|
|
61
61
|
// src/components/EmailModal/index.tsx
|
|
62
|
-
var
|
|
62
|
+
var import_react25 = require("react");
|
|
63
|
+
|
|
64
|
+
// src/ui/Modal/index.tsx
|
|
65
|
+
var import_react3 = require("react");
|
|
63
66
|
|
|
64
67
|
// src/assets/icon/ArrowLeftIcon.tsx
|
|
65
68
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1283,6 +1286,7 @@ function Overlay({
|
|
|
1283
1286
|
}
|
|
1284
1287
|
|
|
1285
1288
|
// src/ui/Modal/index.tsx
|
|
1289
|
+
var import_react_intl = require("react-intl");
|
|
1286
1290
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
1287
1291
|
function Modal({
|
|
1288
1292
|
children,
|
|
@@ -1321,7 +1325,7 @@ function ModalWithHeader({
|
|
|
1321
1325
|
}
|
|
1322
1326
|
|
|
1323
1327
|
// src/components/EmailModal/StepEmail.tsx
|
|
1324
|
-
var
|
|
1328
|
+
var import_react5 = require("react");
|
|
1325
1329
|
|
|
1326
1330
|
// src/utils/index.tsx
|
|
1327
1331
|
var import_moment = __toESM(require("moment"));
|
|
@@ -1448,7 +1452,8 @@ function Button({
|
|
|
1448
1452
|
type = "button",
|
|
1449
1453
|
rounded = true,
|
|
1450
1454
|
className = "",
|
|
1451
|
-
style = {}
|
|
1455
|
+
style = {},
|
|
1456
|
+
dataset = {}
|
|
1452
1457
|
}) {
|
|
1453
1458
|
const onAction = () => {
|
|
1454
1459
|
if (!disabled && !loading) {
|
|
@@ -1465,13 +1470,14 @@ function Button({
|
|
|
1465
1470
|
...style
|
|
1466
1471
|
},
|
|
1467
1472
|
onClick: onAction,
|
|
1473
|
+
...dataset,
|
|
1468
1474
|
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
|
|
1469
1475
|
}
|
|
1470
1476
|
);
|
|
1471
1477
|
}
|
|
1472
1478
|
|
|
1473
1479
|
// src/ui/Input/index.tsx
|
|
1474
|
-
var
|
|
1480
|
+
var import_react4 = require("react");
|
|
1475
1481
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
1476
1482
|
function Input({
|
|
1477
1483
|
onChange,
|
|
@@ -1480,7 +1486,7 @@ function Input({
|
|
|
1480
1486
|
className = "",
|
|
1481
1487
|
...props
|
|
1482
1488
|
}) {
|
|
1483
|
-
const [inputType, setInputType] = (0,
|
|
1489
|
+
const [inputType, setInputType] = (0, import_react4.useState)(type);
|
|
1484
1490
|
const isDownMd = useDownMd();
|
|
1485
1491
|
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
1486
1492
|
"div",
|
|
@@ -1529,17 +1535,17 @@ function Field({
|
|
|
1529
1535
|
}
|
|
1530
1536
|
|
|
1531
1537
|
// src/components/EmailModal/StepEmail.tsx
|
|
1532
|
-
var
|
|
1538
|
+
var import_react_intl2 = require("react-intl");
|
|
1533
1539
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
1534
1540
|
function StepEmail(props) {
|
|
1535
|
-
const intl = (0,
|
|
1536
|
-
const [emailVal, setEmailVal] = (0,
|
|
1537
|
-
(0,
|
|
1541
|
+
const intl = (0, import_react_intl2.useIntl)();
|
|
1542
|
+
const [emailVal, setEmailVal] = (0, import_react5.useState)("");
|
|
1543
|
+
(0, import_react5.useEffect)(() => {
|
|
1538
1544
|
if (props.email) {
|
|
1539
1545
|
setEmailVal(props.email);
|
|
1540
1546
|
}
|
|
1541
1547
|
}, []);
|
|
1542
|
-
const canContinue = (0,
|
|
1548
|
+
const canContinue = (0, import_react5.useMemo)(() => {
|
|
1543
1549
|
return isValidEmail(emailVal);
|
|
1544
1550
|
}, [emailVal]);
|
|
1545
1551
|
const onContinue = async () => {
|
|
@@ -1560,7 +1566,7 @@ function StepEmail(props) {
|
|
|
1560
1566
|
) }),
|
|
1561
1567
|
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button, { disabled: !canContinue, style: {
|
|
1562
1568
|
marginTop: "64px"
|
|
1563
|
-
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
1569
|
+
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_intl2.FormattedMessage, { id: "continue" }) })
|
|
1564
1570
|
] });
|
|
1565
1571
|
}
|
|
1566
1572
|
|
|
@@ -1895,7 +1901,7 @@ var delContactsApi = (data) => {
|
|
|
1895
1901
|
};
|
|
1896
1902
|
var getContractsInfoApi = () => {
|
|
1897
1903
|
return retryRequest({
|
|
1898
|
-
url: `/api/v1/
|
|
1904
|
+
url: `/api/v1/contacts/info`,
|
|
1899
1905
|
method: "GET"
|
|
1900
1906
|
});
|
|
1901
1907
|
};
|
|
@@ -1962,13 +1968,13 @@ var localStore = useLocalStore;
|
|
|
1962
1968
|
var useLocalStore_default = useLocalStore;
|
|
1963
1969
|
|
|
1964
1970
|
// src/hooks/useUserInfo.tsx
|
|
1965
|
-
var
|
|
1971
|
+
var import_react23 = require("react");
|
|
1966
1972
|
|
|
1967
1973
|
// src/MatchContext.tsx
|
|
1968
|
-
var
|
|
1974
|
+
var import_react22 = require("react");
|
|
1969
1975
|
|
|
1970
1976
|
// src/hooks/useMatchEvents.ts
|
|
1971
|
-
var
|
|
1977
|
+
var import_react6 = require("react");
|
|
1972
1978
|
|
|
1973
1979
|
// src/hooks/eventManager.ts
|
|
1974
1980
|
var EventManager = class {
|
|
@@ -2016,11 +2022,11 @@ var useStore_default = useStore;
|
|
|
2016
2022
|
// src/hooks/useWallet.tsx
|
|
2017
2023
|
var import_accounts = require("viem/accounts");
|
|
2018
2024
|
var import_viem3 = require("viem");
|
|
2019
|
-
var
|
|
2025
|
+
var import_react11 = require("react");
|
|
2020
2026
|
var import_viem4 = require("viem");
|
|
2021
2027
|
|
|
2022
2028
|
// src/context/ModalContext.tsx
|
|
2023
|
-
var
|
|
2029
|
+
var import_react10 = __toESM(require("react"));
|
|
2024
2030
|
var import_react_dom = require("react-dom");
|
|
2025
2031
|
|
|
2026
2032
|
// src/ui/Drawer/index.tsx
|
|
@@ -2050,7 +2056,7 @@ function Drawer({
|
|
|
2050
2056
|
}
|
|
2051
2057
|
|
|
2052
2058
|
// src/ui/HashPanel/index.tsx
|
|
2053
|
-
var
|
|
2059
|
+
var import_react7 = require("react");
|
|
2054
2060
|
|
|
2055
2061
|
// src/ui/ModalDrawer/index.tsx
|
|
2056
2062
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
@@ -2127,7 +2133,7 @@ function HashPanel({
|
|
|
2127
2133
|
onClose,
|
|
2128
2134
|
zIndex
|
|
2129
2135
|
}) {
|
|
2130
|
-
const [status, setStatus] = (0,
|
|
2136
|
+
const [status, setStatus] = (0, import_react7.useState)("confirm");
|
|
2131
2137
|
const statusMaps = {
|
|
2132
2138
|
"confirm": {
|
|
2133
2139
|
icon: confirm_default,
|
|
@@ -2151,8 +2157,8 @@ function HashPanel({
|
|
|
2151
2157
|
}
|
|
2152
2158
|
};
|
|
2153
2159
|
const statusValue = statusMaps[status];
|
|
2154
|
-
const [shouldRefetch, setShouldRefetch] = (0,
|
|
2155
|
-
(0,
|
|
2160
|
+
const [shouldRefetch, setShouldRefetch] = (0, import_react7.useState)(true);
|
|
2161
|
+
(0, import_react7.useEffect)(() => {
|
|
2156
2162
|
if (hash) {
|
|
2157
2163
|
setShouldRefetch(true);
|
|
2158
2164
|
setStatus("pending");
|
|
@@ -2165,7 +2171,7 @@ function HashPanel({
|
|
|
2165
2171
|
chain,
|
|
2166
2172
|
refetchInterval: shouldRefetch ? 3e3 : false
|
|
2167
2173
|
});
|
|
2168
|
-
(0,
|
|
2174
|
+
(0, import_react7.useEffect)(() => {
|
|
2169
2175
|
if (hashQuery.data == 1 || hashQuery.data == -1) {
|
|
2170
2176
|
setShouldRefetch(false);
|
|
2171
2177
|
}
|
|
@@ -2216,7 +2222,7 @@ function HashPanel_default(props) {
|
|
|
2216
2222
|
}
|
|
2217
2223
|
|
|
2218
2224
|
// src/ui/Popover/index.tsx
|
|
2219
|
-
var
|
|
2225
|
+
var import_react8 = require("react");
|
|
2220
2226
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
2221
2227
|
function Popover({
|
|
2222
2228
|
children,
|
|
@@ -2226,7 +2232,7 @@ function Popover({
|
|
|
2226
2232
|
className = "",
|
|
2227
2233
|
gap = "20px"
|
|
2228
2234
|
}) {
|
|
2229
|
-
const [active, setActive] = (0,
|
|
2235
|
+
const [active, setActive] = (0, import_react8.useState)(false);
|
|
2230
2236
|
return children && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
2231
2237
|
"div",
|
|
2232
2238
|
{
|
|
@@ -2250,7 +2256,7 @@ function Popover({
|
|
|
2250
2256
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
2251
2257
|
|
|
2252
2258
|
// src/ui/AlphaAvatar/index.tsx
|
|
2253
|
-
var
|
|
2259
|
+
var import_react9 = require("react");
|
|
2254
2260
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2255
2261
|
function AlphaAvatar({
|
|
2256
2262
|
name,
|
|
@@ -2258,7 +2264,7 @@ function AlphaAvatar({
|
|
|
2258
2264
|
className = "",
|
|
2259
2265
|
style
|
|
2260
2266
|
}) {
|
|
2261
|
-
const avatar = (0,
|
|
2267
|
+
const avatar = (0, import_react9.useMemo)(() => {
|
|
2262
2268
|
if (name) {
|
|
2263
2269
|
const char = name[0].toUpperCase();
|
|
2264
2270
|
if (char.match(/[a-zA-Z0-9]/)) {
|
|
@@ -2333,9 +2339,9 @@ var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
|
2333
2339
|
|
|
2334
2340
|
// src/context/ModalContext.tsx
|
|
2335
2341
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2336
|
-
var ModalContext = (0,
|
|
2342
|
+
var ModalContext = (0, import_react10.createContext)(null);
|
|
2337
2343
|
function useModal() {
|
|
2338
|
-
const context = (0,
|
|
2344
|
+
const context = (0, import_react10.useContext)(ModalContext);
|
|
2339
2345
|
if (!context) {
|
|
2340
2346
|
throw new Error("useModal must be used within a ModalProvider");
|
|
2341
2347
|
}
|
|
@@ -2424,7 +2430,7 @@ function useWallet() {
|
|
|
2424
2430
|
throw error;
|
|
2425
2431
|
}
|
|
2426
2432
|
};
|
|
2427
|
-
const evmAccount = (0,
|
|
2433
|
+
const evmAccount = (0, import_react11.useMemo)(() => {
|
|
2428
2434
|
try {
|
|
2429
2435
|
return address ? (0, import_accounts.toAccount)({
|
|
2430
2436
|
address,
|
|
@@ -2463,7 +2469,7 @@ function useWallet() {
|
|
|
2463
2469
|
return void 0;
|
|
2464
2470
|
}
|
|
2465
2471
|
}, [address]);
|
|
2466
|
-
(0,
|
|
2472
|
+
(0, import_react11.useEffect)(() => {
|
|
2467
2473
|
matchlog_default.log("qwe-evmAccount", evmAccount);
|
|
2468
2474
|
}, [evmAccount]);
|
|
2469
2475
|
const realCreateWalletClient = (parameters) => {
|
|
@@ -2599,14 +2605,14 @@ function useWallet() {
|
|
|
2599
2605
|
|
|
2600
2606
|
// src/hooks/useCopyClipboard.ts
|
|
2601
2607
|
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
2602
|
-
var
|
|
2608
|
+
var import_react12 = require("react");
|
|
2603
2609
|
function useCopyClipboard(timeout = 500) {
|
|
2604
|
-
const [isCopied, setIsCopied] = (0,
|
|
2605
|
-
const staticCopy = (0,
|
|
2610
|
+
const [isCopied, setIsCopied] = (0, import_react12.useState)(false);
|
|
2611
|
+
const staticCopy = (0, import_react12.useCallback)((text) => {
|
|
2606
2612
|
const didCopy = (0, import_copy_to_clipboard.default)(text);
|
|
2607
2613
|
setIsCopied(didCopy);
|
|
2608
2614
|
}, []);
|
|
2609
|
-
(0,
|
|
2615
|
+
(0, import_react12.useEffect)(() => {
|
|
2610
2616
|
if (isCopied) {
|
|
2611
2617
|
const hide = setTimeout(() => {
|
|
2612
2618
|
setIsCopied(false);
|
|
@@ -2621,12 +2627,12 @@ function useCopyClipboard(timeout = 500) {
|
|
|
2621
2627
|
}
|
|
2622
2628
|
|
|
2623
2629
|
// src/context/ToastContext.tsx
|
|
2624
|
-
var
|
|
2630
|
+
var import_react13 = require("react");
|
|
2625
2631
|
var import_react_dom2 = require("react-dom");
|
|
2626
2632
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
2627
|
-
var ToastContext = (0,
|
|
2633
|
+
var ToastContext = (0, import_react13.createContext)(null);
|
|
2628
2634
|
function useToast() {
|
|
2629
|
-
const context = (0,
|
|
2635
|
+
const context = (0, import_react13.useContext)(ToastContext);
|
|
2630
2636
|
if (!context) {
|
|
2631
2637
|
throw new Error("useToast must be used within a ToastProvider");
|
|
2632
2638
|
}
|
|
@@ -2689,16 +2695,16 @@ function useImportTokenListQuery({
|
|
|
2689
2695
|
}
|
|
2690
2696
|
|
|
2691
2697
|
// src/hooks/useMatchChain.tsx
|
|
2692
|
-
var
|
|
2698
|
+
var import_react14 = require("react");
|
|
2693
2699
|
var import_viem5 = require("viem");
|
|
2694
|
-
var
|
|
2700
|
+
var import_react_intl3 = require("react-intl");
|
|
2695
2701
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
2696
2702
|
function useMatchChain() {
|
|
2697
2703
|
const chainListQuery = useChainListQuery();
|
|
2698
2704
|
const modal = useModal();
|
|
2699
|
-
const intl = (0,
|
|
2705
|
+
const intl = (0, import_react_intl3.useIntl)();
|
|
2700
2706
|
const { chainId: storeChainId, setChainId } = useLocalStore_default();
|
|
2701
|
-
const chainId = (0,
|
|
2707
|
+
const chainId = (0, import_react14.useMemo)(() => {
|
|
2702
2708
|
if (!chainListQuery.data || !chainListQuery.data.length) {
|
|
2703
2709
|
return null;
|
|
2704
2710
|
}
|
|
@@ -2707,7 +2713,7 @@ function useMatchChain() {
|
|
|
2707
2713
|
}
|
|
2708
2714
|
return chainListQuery.data[0].id;
|
|
2709
2715
|
}, [storeChainId, chainListQuery.data]);
|
|
2710
|
-
const chain = (0,
|
|
2716
|
+
const chain = (0, import_react14.useMemo)(() => {
|
|
2711
2717
|
if (!chainListQuery.data || !chainListQuery.data.length) {
|
|
2712
2718
|
return null;
|
|
2713
2719
|
}
|
|
@@ -2721,7 +2727,7 @@ function useMatchChain() {
|
|
|
2721
2727
|
close
|
|
2722
2728
|
}) {
|
|
2723
2729
|
const { chainId: storeChainId2, setChainId: setChainId2 } = useLocalStore_default();
|
|
2724
|
-
const [selectedChainId, setSelectedChainId] = (0,
|
|
2730
|
+
const [selectedChainId, setSelectedChainId] = (0, import_react14.useState)(storeChainId2);
|
|
2725
2731
|
const isDownMd = useDownMd();
|
|
2726
2732
|
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `matchid-change-network-box`, children: [
|
|
2727
2733
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: `matchid-change-network-list`, children: chainListQuery.data?.map((item, index) => {
|
|
@@ -2744,7 +2750,7 @@ function useMatchChain() {
|
|
|
2744
2750
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { size: "lg", highlight: true, onClick: () => {
|
|
2745
2751
|
setChainId2(selectedChainId || 0);
|
|
2746
2752
|
close();
|
|
2747
|
-
}, block: true, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2753
|
+
}, block: true, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_intl3.FormattedMessage, { id: "confirm" }) })
|
|
2748
2754
|
] });
|
|
2749
2755
|
}
|
|
2750
2756
|
const showChangeNetwork = () => {
|
|
@@ -2753,7 +2759,7 @@ function useMatchChain() {
|
|
|
2753
2759
|
content: ChangeNetwork
|
|
2754
2760
|
});
|
|
2755
2761
|
};
|
|
2756
|
-
const publicClient = (0,
|
|
2762
|
+
const publicClient = (0, import_react14.useMemo)(() => {
|
|
2757
2763
|
if (!chain) {
|
|
2758
2764
|
return null;
|
|
2759
2765
|
}
|
|
@@ -2781,7 +2787,7 @@ function useMatchChain() {
|
|
|
2781
2787
|
|
|
2782
2788
|
// src/hooks/useMatchWallet.tsx
|
|
2783
2789
|
var import_react_qrcode = require("react-qrcode");
|
|
2784
|
-
var
|
|
2790
|
+
var import_react16 = require("react");
|
|
2785
2791
|
var import_react_query5 = require("@tanstack/react-query");
|
|
2786
2792
|
|
|
2787
2793
|
// src/config/index.tsx
|
|
@@ -2849,11 +2855,11 @@ var useContractStore = (0, import_zustand4.create)((0, import_middleware3.devtoo
|
|
|
2849
2855
|
var useContractStore_default = useContractStore;
|
|
2850
2856
|
|
|
2851
2857
|
// src/hooks/useMatchWallet.tsx
|
|
2852
|
-
var
|
|
2858
|
+
var import_react_intl5 = require("react-intl");
|
|
2853
2859
|
|
|
2854
2860
|
// src/components/ImportToken/index.tsx
|
|
2855
|
-
var
|
|
2856
|
-
var
|
|
2861
|
+
var import_react15 = require("react");
|
|
2862
|
+
var import_react_intl4 = require("react-intl");
|
|
2857
2863
|
var import_react_query4 = require("@tanstack/react-query");
|
|
2858
2864
|
var import_viem7 = require("viem");
|
|
2859
2865
|
|
|
@@ -2867,12 +2873,12 @@ var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
|
2867
2873
|
// src/hooks/useMatchWallet.tsx
|
|
2868
2874
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
2869
2875
|
function useMatchWalletRecords() {
|
|
2870
|
-
const [hasMore, setHasMore] = (0,
|
|
2871
|
-
const [items, setItems] = (0,
|
|
2876
|
+
const [hasMore, setHasMore] = (0, import_react16.useState)(true);
|
|
2877
|
+
const [items, setItems] = (0, import_react16.useState)([]);
|
|
2872
2878
|
const { chainId, publicClient } = useMatchChain();
|
|
2873
2879
|
const { address } = useWallet();
|
|
2874
|
-
const hasMoreRef = (0,
|
|
2875
|
-
const nextPageParamsRef = (0,
|
|
2880
|
+
const hasMoreRef = (0, import_react16.useRef)(hasMore);
|
|
2881
|
+
const nextPageParamsRef = (0, import_react16.useRef)(void 0);
|
|
2876
2882
|
const { contracts, setContracts } = useContractStore_default();
|
|
2877
2883
|
const fetchMoreData = async () => {
|
|
2878
2884
|
const chainIdStr = chainId ? chainId.toString() : "";
|
|
@@ -2889,7 +2895,7 @@ function useMatchWalletRecords() {
|
|
|
2889
2895
|
}
|
|
2890
2896
|
hasMoreRef.current = res.data && res.data.transactions && res.data.transactions.length >= 50;
|
|
2891
2897
|
setHasMore(hasMoreRef.current);
|
|
2892
|
-
nextPageParamsRef.current = res.data
|
|
2898
|
+
nextPageParamsRef.current = res.data?.next_page_params;
|
|
2893
2899
|
}
|
|
2894
2900
|
};
|
|
2895
2901
|
const onInit = async () => {
|
|
@@ -2899,7 +2905,7 @@ function useMatchWalletRecords() {
|
|
|
2899
2905
|
hasMoreRef.current = true;
|
|
2900
2906
|
fetchMoreData();
|
|
2901
2907
|
};
|
|
2902
|
-
(0,
|
|
2908
|
+
(0, import_react16.useEffect)(() => {
|
|
2903
2909
|
if (chainId && address) {
|
|
2904
2910
|
onInit();
|
|
2905
2911
|
}
|
|
@@ -2955,7 +2961,7 @@ function useMatchWalletRecords() {
|
|
|
2955
2961
|
setContracts(contractMap);
|
|
2956
2962
|
}
|
|
2957
2963
|
};
|
|
2958
|
-
const list = (0,
|
|
2964
|
+
const list = (0, import_react16.useMemo)(() => {
|
|
2959
2965
|
const localTransactions = transactions[`${chainId}-${address}`] || [];
|
|
2960
2966
|
const removeList = localTransactions.filter((n) => items.findIndex((m) => m.hash == n.hash) >= 0);
|
|
2961
2967
|
removeList.forEach((item) => {
|
|
@@ -2997,7 +3003,7 @@ function useMatchWalletAssets({
|
|
|
2997
3003
|
chainId: chainId || 0,
|
|
2998
3004
|
...assetListOptions
|
|
2999
3005
|
});
|
|
3000
|
-
const mergedAssets = (0,
|
|
3006
|
+
const mergedAssets = (0, import_react16.useMemo)(() => {
|
|
3001
3007
|
if (!assetListQuery.data && !importTokenQuery.data) return [];
|
|
3002
3008
|
const assetList = (assetListQuery.data || []).map((asset) => ({
|
|
3003
3009
|
...asset,
|
|
@@ -3084,7 +3090,7 @@ function useMatchWalletAssetList({
|
|
|
3084
3090
|
retry: 3
|
|
3085
3091
|
// Retry up to 3 times if failed
|
|
3086
3092
|
});
|
|
3087
|
-
const erc20Tokens = (0,
|
|
3093
|
+
const erc20Tokens = (0, import_react16.useMemo)(() => list.filter((asset) => asset.address !== NATIVE_TOKEN_ADDRESS), [list]);
|
|
3088
3094
|
const erc20BalanceQuery = (0, import_react_query5.useQuery)({
|
|
3089
3095
|
queryKey: ["erc20Balances", erc20Tokens.map((token) => token.address)],
|
|
3090
3096
|
queryFn: async () => {
|
|
@@ -3112,7 +3118,7 @@ function useMatchWalletAssetList({
|
|
|
3112
3118
|
// Refresh every 15 seconds
|
|
3113
3119
|
retry: 3
|
|
3114
3120
|
});
|
|
3115
|
-
const enrichedAssets = (0,
|
|
3121
|
+
const enrichedAssets = (0, import_react16.useMemo)(() => {
|
|
3116
3122
|
if (!list) return [];
|
|
3117
3123
|
const erc20Balances = erc20BalanceQuery.data || [];
|
|
3118
3124
|
return list.map((asset) => {
|
|
@@ -3134,7 +3140,7 @@ function useMatchWalletAssetList({
|
|
|
3134
3140
|
return { ...asset, balance, value, balanceValue };
|
|
3135
3141
|
});
|
|
3136
3142
|
}, [list, nativeBalanceQuery.data, erc20BalanceQuery.data]);
|
|
3137
|
-
(0,
|
|
3143
|
+
(0, import_react16.useEffect)(() => {
|
|
3138
3144
|
const list2 = enrichedAssets.sort((a, b) => {
|
|
3139
3145
|
if (a.address === NATIVE_TOKEN_ADDRESS) return -1;
|
|
3140
3146
|
if (b.address === NATIVE_TOKEN_ADDRESS) return 1;
|
|
@@ -3159,13 +3165,13 @@ function useMatchWalletAssetList({
|
|
|
3159
3165
|
}
|
|
3160
3166
|
|
|
3161
3167
|
// src/hooks/useReceipt.tsx
|
|
3162
|
-
var
|
|
3168
|
+
var import_react17 = require("react");
|
|
3163
3169
|
var import_react_query6 = require("@tanstack/react-query");
|
|
3164
3170
|
var import_viem9 = require("viem");
|
|
3165
3171
|
var CACHE_TTL = 86400 * 30 * 1e3;
|
|
3166
3172
|
|
|
3167
3173
|
// src/hooks/useTransaction.tsx
|
|
3168
|
-
var
|
|
3174
|
+
var import_react18 = require("react");
|
|
3169
3175
|
var import_react_query7 = require("@tanstack/react-query");
|
|
3170
3176
|
var import_viem10 = require("viem");
|
|
3171
3177
|
var CACHE_TTL2 = 86400 * 30 * 1e3;
|
|
@@ -3256,8 +3262,8 @@ var useWalletModalStore = (0, import_zustand5.create)((set) => ({
|
|
|
3256
3262
|
}));
|
|
3257
3263
|
|
|
3258
3264
|
// src/components/CEXBindModal/index.tsx
|
|
3259
|
-
var
|
|
3260
|
-
var
|
|
3265
|
+
var import_react19 = require("react");
|
|
3266
|
+
var import_react_intl6 = require("react-intl");
|
|
3261
3267
|
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3262
3268
|
|
|
3263
3269
|
// src/context/BusinessProvider.tsx
|
|
@@ -3268,20 +3274,105 @@ var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
|
3268
3274
|
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3269
3275
|
|
|
3270
3276
|
// src/hooks/useWalletInit.ts
|
|
3271
|
-
var
|
|
3277
|
+
var import_react20 = require("react");
|
|
3272
3278
|
var AppClientId2 = getAppClientId();
|
|
3273
3279
|
|
|
3274
3280
|
// src/hooks/useInit.tsx
|
|
3275
|
-
var
|
|
3281
|
+
var import_react21 = require("react");
|
|
3276
3282
|
|
|
3277
3283
|
// src/MatchContext.tsx
|
|
3278
3284
|
var import_react_query9 = require("@tanstack/react-query");
|
|
3279
|
-
var
|
|
3285
|
+
var import_react_intl7 = require("react-intl");
|
|
3286
|
+
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
3287
|
+
var import_wallets = require("@rainbow-me/rainbowkit/wallets");
|
|
3288
|
+
var import_chains = require("wagmi/chains");
|
|
3289
|
+
|
|
3290
|
+
// src/config/chains/MatchMain.ts
|
|
3291
|
+
var import_viem11 = require("viem");
|
|
3292
|
+
var matchMain = /* @__PURE__ */ (0, import_viem11.defineChain)({
|
|
3293
|
+
//定义match链
|
|
3294
|
+
id: 698,
|
|
3295
|
+
name: "Matchain",
|
|
3296
|
+
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
3297
|
+
rpcUrls: {
|
|
3298
|
+
default: {
|
|
3299
|
+
http: ["https://rpc.matchain.io"]
|
|
3300
|
+
}
|
|
3301
|
+
},
|
|
3302
|
+
blockExplorers: {
|
|
3303
|
+
default: {
|
|
3304
|
+
name: "Matchscan",
|
|
3305
|
+
url: "https://matchscan.io/",
|
|
3306
|
+
apiUrl: "https://matchscan.io/api"
|
|
3307
|
+
}
|
|
3308
|
+
},
|
|
3309
|
+
iconUrl: "https://matchscan.io/static/identicon_logos/blockies.png",
|
|
3310
|
+
contracts: {
|
|
3311
|
+
multicall3: {
|
|
3312
|
+
address: "0xca11bde05977b3631167028862be2a173976ca11"
|
|
3313
|
+
}
|
|
3314
|
+
}
|
|
3315
|
+
// testnet: true,
|
|
3316
|
+
});
|
|
3317
|
+
|
|
3318
|
+
// src/config/chains/MatchTest.ts
|
|
3319
|
+
var import_viem12 = require("viem");
|
|
3320
|
+
var matchTest = /* @__PURE__ */ (0, import_viem12.defineChain)({
|
|
3321
|
+
//定义matchTest链
|
|
3322
|
+
id: 699,
|
|
3323
|
+
name: "MatchTest",
|
|
3324
|
+
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
3325
|
+
rpcUrls: {
|
|
3326
|
+
default: {
|
|
3327
|
+
http: ["https://testnet-rpc.matchain.io"]
|
|
3328
|
+
}
|
|
3329
|
+
},
|
|
3330
|
+
blockExplorers: {
|
|
3331
|
+
default: {
|
|
3332
|
+
name: "Matchscan",
|
|
3333
|
+
url: "https://testnet.matchscan.io/",
|
|
3334
|
+
apiUrl: "https://testnet.matchscan.io/api"
|
|
3335
|
+
}
|
|
3336
|
+
},
|
|
3337
|
+
iconUrl: "https://testnet.matchscan.io/static/identicon_logos/blockies.png",
|
|
3338
|
+
contracts: {
|
|
3339
|
+
multicall3: {
|
|
3340
|
+
address: "0xca11bde05977b3631167028862be2a173976ca11",
|
|
3341
|
+
blockCreated: 751532
|
|
3342
|
+
},
|
|
3343
|
+
ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" },
|
|
3344
|
+
ensUniversalResolver: {
|
|
3345
|
+
address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",
|
|
3346
|
+
blockCreated: 5317080
|
|
3347
|
+
}
|
|
3348
|
+
}
|
|
3349
|
+
// testnet: true,
|
|
3350
|
+
});
|
|
3351
|
+
|
|
3352
|
+
// src/MatchContext.tsx
|
|
3353
|
+
var import_wagmi = require("wagmi");
|
|
3280
3354
|
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3281
3355
|
var queryClient = new import_react_query9.QueryClient();
|
|
3282
|
-
var
|
|
3356
|
+
var wagmiConfig = (0, import_rainbowkit.getDefaultConfig)({
|
|
3357
|
+
appName: "MatchID",
|
|
3358
|
+
projectId: "9ac6ea7e07860f04616fb311b447dee9",
|
|
3359
|
+
wallets: [
|
|
3360
|
+
{
|
|
3361
|
+
groupName: "Recommended",
|
|
3362
|
+
wallets: [
|
|
3363
|
+
import_wallets.metaMaskWallet,
|
|
3364
|
+
import_wallets.walletConnectWallet,
|
|
3365
|
+
import_wallets.okxWallet,
|
|
3366
|
+
import_wallets.bitgetWallet,
|
|
3367
|
+
import_wallets.injectedWallet
|
|
3368
|
+
]
|
|
3369
|
+
}
|
|
3370
|
+
],
|
|
3371
|
+
chains: [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum, import_chains.base, matchMain, matchTest, import_chains.bsc]
|
|
3372
|
+
});
|
|
3373
|
+
var MatchContext = (0, import_react22.createContext)(void 0);
|
|
3283
3374
|
var useMatch = () => {
|
|
3284
|
-
const context = (0,
|
|
3375
|
+
const context = (0, import_react22.useContext)(MatchContext);
|
|
3285
3376
|
if (context === void 0) {
|
|
3286
3377
|
throw new Error("useMatch must be used within a MatchProvider");
|
|
3287
3378
|
}
|
|
@@ -3315,7 +3406,7 @@ function useUserInfo() {
|
|
|
3315
3406
|
const getRedirectUri = () => {
|
|
3316
3407
|
return encodeURIComponent(window.location.href);
|
|
3317
3408
|
};
|
|
3318
|
-
const isLogin = (0,
|
|
3409
|
+
const isLogin = (0, import_react23.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
3319
3410
|
const logout = async () => {
|
|
3320
3411
|
try {
|
|
3321
3412
|
await toLogoutApi();
|
|
@@ -3586,23 +3677,23 @@ function useUserInfo() {
|
|
|
3586
3677
|
}
|
|
3587
3678
|
|
|
3588
3679
|
// src/components/EmailModal/StepVerify.tsx
|
|
3589
|
-
var
|
|
3590
|
-
var
|
|
3680
|
+
var import_react24 = require("react");
|
|
3681
|
+
var import_react_intl8 = require("react-intl");
|
|
3591
3682
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
3592
3683
|
function StepVerify(props) {
|
|
3593
|
-
const intl = (0,
|
|
3684
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
3594
3685
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
3595
|
-
const [error, setError] = (0,
|
|
3596
|
-
const [code, setCode] = (0,
|
|
3597
|
-
const [sending, setSending] = (0,
|
|
3598
|
-
const [submitting, setSubmitting] = (0,
|
|
3599
|
-
const sendTimeRef = (0,
|
|
3600
|
-
const [sendBtnText, setSendBtnText] = (0,
|
|
3686
|
+
const [error, setError] = (0, import_react24.useState)("");
|
|
3687
|
+
const [code, setCode] = (0, import_react24.useState)("");
|
|
3688
|
+
const [sending, setSending] = (0, import_react24.useState)(false);
|
|
3689
|
+
const [submitting, setSubmitting] = (0, import_react24.useState)(false);
|
|
3690
|
+
const sendTimeRef = (0, import_react24.useRef)(0);
|
|
3691
|
+
const [sendBtnText, setSendBtnText] = (0, import_react24.useState)(intl.formatMessage({
|
|
3601
3692
|
id: "send"
|
|
3602
3693
|
}));
|
|
3603
3694
|
const intervalTime = EMAIL_INTERVAL;
|
|
3604
3695
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
3605
|
-
const intervalRef = (0,
|
|
3696
|
+
const intervalRef = (0, import_react24.useRef)(null);
|
|
3606
3697
|
const isDownMd = useDownMd();
|
|
3607
3698
|
const onSend = async () => {
|
|
3608
3699
|
if (sendTimeRef.current > 0) {
|
|
@@ -3633,7 +3724,7 @@ function StepVerify(props) {
|
|
|
3633
3724
|
setSending(false);
|
|
3634
3725
|
}
|
|
3635
3726
|
};
|
|
3636
|
-
(0,
|
|
3727
|
+
(0, import_react24.useEffect)(() => {
|
|
3637
3728
|
onSend();
|
|
3638
3729
|
return () => {
|
|
3639
3730
|
if (intervalRef.current) {
|
|
@@ -3641,7 +3732,7 @@ function StepVerify(props) {
|
|
|
3641
3732
|
}
|
|
3642
3733
|
};
|
|
3643
3734
|
}, []);
|
|
3644
|
-
const canContinue = (0,
|
|
3735
|
+
const canContinue = (0, import_react24.useMemo)(() => {
|
|
3645
3736
|
return code.length === codeLength;
|
|
3646
3737
|
}, [code]);
|
|
3647
3738
|
const onContinue = async () => {
|
|
@@ -3670,7 +3761,7 @@ function StepVerify(props) {
|
|
|
3670
3761
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
|
|
3671
3762
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
3672
3763
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
3673
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
3764
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react_intl8.FormattedMessage, { id: "sendEmailTips" }) })
|
|
3674
3765
|
] })
|
|
3675
3766
|
] }),
|
|
3676
3767
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Field, { label: intl.formatMessage({
|
|
@@ -3704,12 +3795,12 @@ function StepVerify(props) {
|
|
|
3704
3795
|
)
|
|
3705
3796
|
}
|
|
3706
3797
|
) }),
|
|
3707
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
3798
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react_intl8.FormattedMessage, { id: "continue" }) })
|
|
3708
3799
|
] });
|
|
3709
3800
|
}
|
|
3710
3801
|
|
|
3711
3802
|
// src/components/EmailModal/index.tsx
|
|
3712
|
-
var
|
|
3803
|
+
var import_react_intl9 = require("react-intl");
|
|
3713
3804
|
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
3714
3805
|
function EmailModal({
|
|
3715
3806
|
isOpen = false,
|
|
@@ -3718,10 +3809,10 @@ function EmailModal({
|
|
|
3718
3809
|
onBack,
|
|
3719
3810
|
onLogin
|
|
3720
3811
|
}) {
|
|
3721
|
-
const [step, setStep] = (0,
|
|
3722
|
-
const [emailVal, setEmailVal] = (0,
|
|
3723
|
-
const intl = (0,
|
|
3724
|
-
(0,
|
|
3812
|
+
const [step, setStep] = (0, import_react25.useState)("input");
|
|
3813
|
+
const [emailVal, setEmailVal] = (0, import_react25.useState)("");
|
|
3814
|
+
const intl = (0, import_react_intl9.useIntl)();
|
|
3815
|
+
(0, import_react25.useEffect)(() => {
|
|
3725
3816
|
if (!isOpen) {
|
|
3726
3817
|
setStep("input");
|
|
3727
3818
|
setEmailVal("");
|
|
@@ -3746,8 +3837,8 @@ function EmailModal({
|
|
|
3746
3837
|
}
|
|
3747
3838
|
|
|
3748
3839
|
// src/components/LoginBox/index.tsx
|
|
3749
|
-
var
|
|
3750
|
-
var
|
|
3840
|
+
var import_react26 = require("react");
|
|
3841
|
+
var import_react_intl10 = require("react-intl");
|
|
3751
3842
|
|
|
3752
3843
|
// src/hooks/useAppConfig.ts
|
|
3753
3844
|
var import_react_query10 = require("@tanstack/react-query");
|
|
@@ -3817,7 +3908,7 @@ function LoginBox({
|
|
|
3817
3908
|
inModal = false
|
|
3818
3909
|
}) {
|
|
3819
3910
|
const config = useAppConfig();
|
|
3820
|
-
const methodConfig = (0,
|
|
3911
|
+
const methodConfig = (0, import_react26.useMemo)(() => {
|
|
3821
3912
|
if (recommendMethods || methods || walletMethods) {
|
|
3822
3913
|
return {
|
|
3823
3914
|
recommendMethods: recommendMethods ? recommendMethods : walletMethods ? ["wallet"] : [],
|
|
@@ -3859,10 +3950,10 @@ function LoginBox({
|
|
|
3859
3950
|
walletMethods: walletMethodList
|
|
3860
3951
|
};
|
|
3861
3952
|
}, [config.platform, recommendMethods, methods, walletMethods]);
|
|
3862
|
-
const [emailOpen, setEmailOpen] = (0,
|
|
3953
|
+
const [emailOpen, setEmailOpen] = (0, import_react26.useState)(false);
|
|
3863
3954
|
const { login } = useUserInfo();
|
|
3864
|
-
const [showWallet, setShowWallet] = (0,
|
|
3865
|
-
const intl = (0,
|
|
3955
|
+
const [showWallet, setShowWallet] = (0, import_react26.useState)(false);
|
|
3956
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
3866
3957
|
const isDownMd = useDownMd();
|
|
3867
3958
|
const methodMap = {
|
|
3868
3959
|
wallet: {
|
|
@@ -3978,7 +4069,7 @@ function LoginBox({
|
|
|
3978
4069
|
);
|
|
3979
4070
|
}) }),
|
|
3980
4071
|
methodConfig.methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "matchid-login-other", children: [
|
|
3981
|
-
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4072
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_react_intl10.FormattedMessage, { id: "otherLoginMethods" }) }),
|
|
3982
4073
|
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
|
|
3983
4074
|
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
3984
4075
|
"div",
|
|
@@ -4009,10 +4100,10 @@ function LoginBox({
|
|
|
4009
4100
|
}
|
|
4010
4101
|
|
|
4011
4102
|
// src/components/LoginButton/index.tsx
|
|
4012
|
-
var
|
|
4103
|
+
var import_react28 = require("react");
|
|
4013
4104
|
|
|
4014
4105
|
// src/components/LoginPanel/index.tsx
|
|
4015
|
-
var
|
|
4106
|
+
var import_react_intl11 = require("react-intl");
|
|
4016
4107
|
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
4017
4108
|
function LoginPanel({
|
|
4018
4109
|
header,
|
|
@@ -4023,8 +4114,8 @@ function LoginPanel({
|
|
|
4023
4114
|
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
4024
4115
|
header ? header : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
4025
4116
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
4026
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4027
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4117
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_react_intl11.FormattedMessage, { id: "loginTitle" }) }),
|
|
4118
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_react_intl11.FormattedMessage, { id: "loginTips" }) })
|
|
4028
4119
|
] }),
|
|
4029
4120
|
onClose && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
|
|
4030
4121
|
] }),
|
|
@@ -4052,7 +4143,7 @@ function LoginModal({
|
|
|
4052
4143
|
}
|
|
4053
4144
|
|
|
4054
4145
|
// src/components/UserPopover/index.tsx
|
|
4055
|
-
var
|
|
4146
|
+
var import_react27 = require("react");
|
|
4056
4147
|
|
|
4057
4148
|
// src/assets/icon/ProfileIcon.tsx
|
|
4058
4149
|
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
@@ -4080,11 +4171,11 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
4080
4171
|
}
|
|
4081
4172
|
|
|
4082
4173
|
// src/components/UserPopover/index.tsx
|
|
4083
|
-
var
|
|
4174
|
+
var import_react_intl12 = require("react-intl");
|
|
4084
4175
|
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
4085
4176
|
function UserContent() {
|
|
4086
4177
|
const { logout, address, username } = useUserInfo();
|
|
4087
|
-
const [logouting, setLogouting] = (0,
|
|
4178
|
+
const [logouting, setLogouting] = (0, import_react27.useState)(false);
|
|
4088
4179
|
const onLogout = async () => {
|
|
4089
4180
|
if (logouting) return;
|
|
4090
4181
|
try {
|
|
@@ -4113,9 +4204,9 @@ function UserContent() {
|
|
|
4113
4204
|
const UserDivider = () => {
|
|
4114
4205
|
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: `matchid-user-popover-divider` });
|
|
4115
4206
|
};
|
|
4116
|
-
const [usernameOpen, setUsernameOpen] = (0,
|
|
4207
|
+
const [usernameOpen, setUsernameOpen] = (0, import_react27.useState)(false);
|
|
4117
4208
|
const [copied, setCopied] = useCopyClipboard();
|
|
4118
|
-
const intl = (0,
|
|
4209
|
+
const intl = (0, import_react_intl12.useIntl)();
|
|
4119
4210
|
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
4120
4211
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
4121
4212
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(UserItem, { onClick: () => {
|
|
@@ -4128,7 +4219,7 @@ function UserContent() {
|
|
|
4128
4219
|
id: "setUsername"
|
|
4129
4220
|
}) })
|
|
4130
4221
|
] }),
|
|
4131
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4222
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_react_intl12.FormattedMessage, { id: "disconnect" }) }),
|
|
4132
4223
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
4133
4224
|
setUsernameOpen(false);
|
|
4134
4225
|
}, onSuccess: () => {
|
|
@@ -4144,7 +4235,7 @@ function UserPopover({
|
|
|
4144
4235
|
}
|
|
4145
4236
|
|
|
4146
4237
|
// src/components/LoginButton/index.tsx
|
|
4147
|
-
var
|
|
4238
|
+
var import_react_intl13 = require("react-intl");
|
|
4148
4239
|
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
4149
4240
|
function LoginButton({
|
|
4150
4241
|
loginRender,
|
|
@@ -4157,9 +4248,9 @@ function LoginButton({
|
|
|
4157
4248
|
walletMethods,
|
|
4158
4249
|
...props
|
|
4159
4250
|
}) {
|
|
4160
|
-
const intl = (0,
|
|
4251
|
+
const intl = (0, import_react_intl13.useIntl)();
|
|
4161
4252
|
const { isLogin, username } = useUserInfo();
|
|
4162
|
-
const [loginOpen, setLoginOpen] = (0,
|
|
4253
|
+
const [loginOpen, setLoginOpen] = (0, import_react28.useState)(false);
|
|
4163
4254
|
if (!isLogin) {
|
|
4164
4255
|
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_jsx_runtime85.Fragment, { children: [
|
|
4165
4256
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
@@ -4174,7 +4265,7 @@ function LoginButton({
|
|
|
4174
4265
|
),
|
|
4175
4266
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
4176
4267
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(UnLoginIcon_default, {}),
|
|
4177
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4268
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_react_intl13.FormattedMessage, { id: "login" }) })
|
|
4178
4269
|
] })
|
|
4179
4270
|
] });
|
|
4180
4271
|
}
|
|
@@ -4187,8 +4278,8 @@ function LoginButton({
|
|
|
4187
4278
|
}
|
|
4188
4279
|
|
|
4189
4280
|
// src/components/UsernameModal/index.tsx
|
|
4190
|
-
var
|
|
4191
|
-
var
|
|
4281
|
+
var import_react29 = require("react");
|
|
4282
|
+
var import_react_intl14 = require("react-intl");
|
|
4192
4283
|
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
4193
4284
|
var ValidItem = ({
|
|
4194
4285
|
success = false,
|
|
@@ -4208,23 +4299,23 @@ function UsernameModal({
|
|
|
4208
4299
|
}) {
|
|
4209
4300
|
const { username, refreshOverview } = useUserInfo();
|
|
4210
4301
|
const { isLogin } = useUserInfo();
|
|
4211
|
-
const [val, setVal] = (0,
|
|
4212
|
-
const [error, setError] = (0,
|
|
4302
|
+
const [val, setVal] = (0, import_react29.useState)(username);
|
|
4303
|
+
const [error, setError] = (0, import_react29.useState)("");
|
|
4213
4304
|
const isDownMd = useDownMd();
|
|
4214
|
-
(0,
|
|
4305
|
+
(0, import_react29.useEffect)(() => {
|
|
4215
4306
|
if (isOpen) {
|
|
4216
4307
|
setVal(username);
|
|
4217
4308
|
setError("");
|
|
4218
4309
|
}
|
|
4219
4310
|
}, [isOpen]);
|
|
4220
|
-
const isValid = (0,
|
|
4311
|
+
const isValid = (0, import_react29.useMemo)(() => {
|
|
4221
4312
|
return isValidUsername(val);
|
|
4222
4313
|
}, [val]);
|
|
4223
|
-
const isLength = (0,
|
|
4314
|
+
const isLength = (0, import_react29.useMemo)(() => {
|
|
4224
4315
|
return val.length >= 2 && val.length <= 32;
|
|
4225
4316
|
}, [val]);
|
|
4226
4317
|
const isSafe = isValid && isLength;
|
|
4227
|
-
const [isSubmitting, setIsSubmitting] = (0,
|
|
4318
|
+
const [isSubmitting, setIsSubmitting] = (0, import_react29.useState)(false);
|
|
4228
4319
|
const onSubmit = async () => {
|
|
4229
4320
|
if (isSubmitting) return;
|
|
4230
4321
|
try {
|
|
@@ -4244,7 +4335,7 @@ function UsernameModal({
|
|
|
4244
4335
|
setIsSubmitting(false);
|
|
4245
4336
|
}
|
|
4246
4337
|
};
|
|
4247
|
-
const intl = (0,
|
|
4338
|
+
const intl = (0, import_react_intl14.useIntl)();
|
|
4248
4339
|
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
4249
4340
|
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
4250
4341
|
}), children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "matchid-username-box", children: [
|
|
@@ -4279,19 +4370,19 @@ function UsernameModal({
|
|
|
4279
4370
|
] }),
|
|
4280
4371
|
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
4281
4372
|
marginTop: isDownMd ? "36px" : "64px"
|
|
4282
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4373
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_react_intl14.FormattedMessage, { id: "confirm" }) }),
|
|
4283
4374
|
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Button, { style: {
|
|
4284
4375
|
marginTop: isDownMd ? "12px" : "24px"
|
|
4285
|
-
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4376
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_react_intl14.FormattedMessage, { id: "cancel" }) })
|
|
4286
4377
|
] }) });
|
|
4287
4378
|
}
|
|
4288
4379
|
|
|
4289
4380
|
// src/components/EVMModal/index.tsx
|
|
4290
|
-
var
|
|
4291
|
-
var
|
|
4381
|
+
var import_react32 = require("react");
|
|
4382
|
+
var import_react_intl15 = require("react-intl");
|
|
4292
4383
|
|
|
4293
4384
|
// src/components/WalletModalContent/index.tsx
|
|
4294
|
-
var
|
|
4385
|
+
var import_react30 = require("react");
|
|
4295
4386
|
|
|
4296
4387
|
// src/assets/wallet.ts
|
|
4297
4388
|
var walletErrorImage = "data:image/png;base64,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";
|
|
@@ -4312,7 +4403,7 @@ function WalletModalContent({
|
|
|
4312
4403
|
address,
|
|
4313
4404
|
connected
|
|
4314
4405
|
}) {
|
|
4315
|
-
const pageData = (0,
|
|
4406
|
+
const pageData = (0, import_react30.useMemo)(() => {
|
|
4316
4407
|
if (status == "success") {
|
|
4317
4408
|
return {
|
|
4318
4409
|
btnText: "Disconnect Wallet",
|
|
@@ -4390,8 +4481,8 @@ function WalletModalContent({
|
|
|
4390
4481
|
] }) });
|
|
4391
4482
|
}
|
|
4392
4483
|
function WalletModalContentV2(props) {
|
|
4393
|
-
const [submitting, setSubmitting] = (0,
|
|
4394
|
-
const pageData = (0,
|
|
4484
|
+
const [submitting, setSubmitting] = (0, import_react30.useState)(false);
|
|
4485
|
+
const pageData = (0, import_react30.useMemo)(() => {
|
|
4395
4486
|
const { status } = props;
|
|
4396
4487
|
if (status == "success") {
|
|
4397
4488
|
return {
|
|
@@ -4472,82 +4563,18 @@ function WalletModalContentV2(props) {
|
|
|
4472
4563
|
}
|
|
4473
4564
|
|
|
4474
4565
|
// src/components/EVMModal/index.tsx
|
|
4475
|
-
var
|
|
4476
|
-
var
|
|
4477
|
-
var import_wagmi2 = require("wagmi");
|
|
4478
|
-
var import_wallets = require("@rainbow-me/rainbowkit/wallets");
|
|
4479
|
-
|
|
4480
|
-
// src/config/chains/MatchMain.ts
|
|
4481
|
-
var import_viem11 = require("viem");
|
|
4482
|
-
var matchMain = /* @__PURE__ */ (0, import_viem11.defineChain)({
|
|
4483
|
-
//定义match链
|
|
4484
|
-
id: 698,
|
|
4485
|
-
name: "Matchain",
|
|
4486
|
-
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
4487
|
-
rpcUrls: {
|
|
4488
|
-
default: {
|
|
4489
|
-
http: ["https://rpc.matchain.io"]
|
|
4490
|
-
}
|
|
4491
|
-
},
|
|
4492
|
-
blockExplorers: {
|
|
4493
|
-
default: {
|
|
4494
|
-
name: "Matchscan",
|
|
4495
|
-
url: "https://matchscan.io/",
|
|
4496
|
-
apiUrl: "https://matchscan.io/api"
|
|
4497
|
-
}
|
|
4498
|
-
},
|
|
4499
|
-
iconUrl: "https://matchscan.io/static/identicon_logos/blockies.png",
|
|
4500
|
-
contracts: {
|
|
4501
|
-
multicall3: {
|
|
4502
|
-
address: "0xca11bde05977b3631167028862be2a173976ca11"
|
|
4503
|
-
}
|
|
4504
|
-
}
|
|
4505
|
-
// testnet: true,
|
|
4506
|
-
});
|
|
4507
|
-
|
|
4508
|
-
// src/config/chains/MatchTest.ts
|
|
4509
|
-
var import_viem12 = require("viem");
|
|
4510
|
-
var matchTest = /* @__PURE__ */ (0, import_viem12.defineChain)({
|
|
4511
|
-
//定义matchTest链
|
|
4512
|
-
id: 699,
|
|
4513
|
-
name: "MatchTest",
|
|
4514
|
-
nativeCurrency: { name: "Match Coin", symbol: "BNB", decimals: 18 },
|
|
4515
|
-
rpcUrls: {
|
|
4516
|
-
default: {
|
|
4517
|
-
http: ["https://testnet-rpc.matchain.io"]
|
|
4518
|
-
}
|
|
4519
|
-
},
|
|
4520
|
-
blockExplorers: {
|
|
4521
|
-
default: {
|
|
4522
|
-
name: "Matchscan",
|
|
4523
|
-
url: "https://testnet.matchscan.io/",
|
|
4524
|
-
apiUrl: "https://testnet.matchscan.io/api"
|
|
4525
|
-
}
|
|
4526
|
-
},
|
|
4527
|
-
iconUrl: "https://testnet.matchscan.io/static/identicon_logos/blockies.png",
|
|
4528
|
-
contracts: {
|
|
4529
|
-
multicall3: {
|
|
4530
|
-
address: "0xca11bde05977b3631167028862be2a173976ca11",
|
|
4531
|
-
blockCreated: 751532
|
|
4532
|
-
},
|
|
4533
|
-
ensRegistry: { address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e" },
|
|
4534
|
-
ensUniversalResolver: {
|
|
4535
|
-
address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",
|
|
4536
|
-
blockCreated: 5317080
|
|
4537
|
-
}
|
|
4538
|
-
}
|
|
4539
|
-
// testnet: true,
|
|
4540
|
-
});
|
|
4566
|
+
var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
4567
|
+
var import_wagmi3 = require("wagmi");
|
|
4541
4568
|
|
|
4542
4569
|
// src/hooks/useWalletBox.ts
|
|
4543
|
-
var
|
|
4570
|
+
var import_react31 = require("react");
|
|
4544
4571
|
function useWalletBox({
|
|
4545
4572
|
onInit
|
|
4546
4573
|
}) {
|
|
4547
|
-
const [status, setStateStatus] = (0,
|
|
4548
|
-
const [error, setError] = (0,
|
|
4549
|
-
const statusRef = (0,
|
|
4550
|
-
const [nonce, setNonce] = (0,
|
|
4574
|
+
const [status, setStateStatus] = (0, import_react31.useState)("start");
|
|
4575
|
+
const [error, setError] = (0, import_react31.useState)("");
|
|
4576
|
+
const statusRef = (0, import_react31.useRef)(status);
|
|
4577
|
+
const [nonce, setNonce] = (0, import_react31.useState)();
|
|
4551
4578
|
const setStatus = (status2) => {
|
|
4552
4579
|
statusRef.current = status2;
|
|
4553
4580
|
setStateStatus(status2);
|
|
@@ -4556,7 +4583,7 @@ function useWalletBox({
|
|
|
4556
4583
|
setError("");
|
|
4557
4584
|
setNonce(null);
|
|
4558
4585
|
};
|
|
4559
|
-
(0,
|
|
4586
|
+
(0, import_react31.useEffect)(() => {
|
|
4560
4587
|
init();
|
|
4561
4588
|
onInit({
|
|
4562
4589
|
setStatus
|
|
@@ -4580,8 +4607,8 @@ function useWalletBox({
|
|
|
4580
4607
|
}
|
|
4581
4608
|
|
|
4582
4609
|
// src/hooks/useEthersSigner.ts
|
|
4583
|
-
var
|
|
4584
|
-
var
|
|
4610
|
+
var React9 = __toESM(require("react"));
|
|
4611
|
+
var import_wagmi2 = require("wagmi");
|
|
4585
4612
|
var import_ethers = require("ethers");
|
|
4586
4613
|
|
|
4587
4614
|
// node_modules/@wagmi/core/dist/esm/version.js
|
|
@@ -4803,22 +4830,22 @@ function WalletContent({
|
|
|
4803
4830
|
onSuccess,
|
|
4804
4831
|
type
|
|
4805
4832
|
}) {
|
|
4806
|
-
const config = (0,
|
|
4807
|
-
const { openConnectModal, connectModalOpen } = (0,
|
|
4808
|
-
const { address, connector, isConnected } = (0,
|
|
4809
|
-
const { disconnectAsync } = (0,
|
|
4810
|
-
const chainId = (0,
|
|
4833
|
+
const config = (0, import_wagmi3.useConfig)();
|
|
4834
|
+
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit2.useConnectModal)();
|
|
4835
|
+
const { address, connector, isConnected } = (0, import_wagmi3.useAccount)();
|
|
4836
|
+
const { disconnectAsync } = (0, import_wagmi3.useDisconnect)({ config });
|
|
4837
|
+
const chainId = (0, import_wagmi3.useChainId)();
|
|
4811
4838
|
const { events, login } = useMatch();
|
|
4812
|
-
const [inited, setInited] = (0,
|
|
4839
|
+
const [inited, setInited] = (0, import_react32.useState)(false);
|
|
4813
4840
|
const { status, setStatus, error, setError, statusRef, nonce, setNonce, init } = useWalletBox({
|
|
4814
4841
|
onInit: async ({ setStatus: setStatus2 }) => {
|
|
4815
4842
|
setStatus2("start");
|
|
4816
4843
|
}
|
|
4817
4844
|
});
|
|
4818
|
-
(0,
|
|
4845
|
+
(0, import_react32.useEffect)(() => {
|
|
4819
4846
|
matchlog_default.log(`status=${status}`, `connectModalOpen=${connectModalOpen}`, `address=${address}`, `isConnected=${isConnected}`);
|
|
4820
4847
|
}, [status, connectModalOpen, isConnected, address]);
|
|
4821
|
-
(0,
|
|
4848
|
+
(0, import_react32.useEffect)(() => {
|
|
4822
4849
|
if (connectModalOpen) {
|
|
4823
4850
|
setStatus("connecting");
|
|
4824
4851
|
return;
|
|
@@ -4831,7 +4858,7 @@ function WalletContent({
|
|
|
4831
4858
|
setStatus("start");
|
|
4832
4859
|
}
|
|
4833
4860
|
}, [connectModalOpen, address]);
|
|
4834
|
-
(0,
|
|
4861
|
+
(0, import_react32.useEffect)(() => {
|
|
4835
4862
|
if (openConnectModal && !isConnected && !inited) {
|
|
4836
4863
|
openConnectModal && openConnectModal();
|
|
4837
4864
|
setInited(true);
|
|
@@ -4858,7 +4885,7 @@ function WalletContent({
|
|
|
4858
4885
|
setError(error2.message);
|
|
4859
4886
|
}
|
|
4860
4887
|
};
|
|
4861
|
-
const signature = (0,
|
|
4888
|
+
const signature = (0, import_react32.useCallback)(async () => {
|
|
4862
4889
|
if (!nonce || status != "nonce") {
|
|
4863
4890
|
return;
|
|
4864
4891
|
}
|
|
@@ -4914,7 +4941,7 @@ function WalletContent({
|
|
|
4914
4941
|
setError(error2.reason || error2.message);
|
|
4915
4942
|
}
|
|
4916
4943
|
}, [nonce, status, address]);
|
|
4917
|
-
(0,
|
|
4944
|
+
(0, import_react32.useEffect)(() => {
|
|
4918
4945
|
if (signature) {
|
|
4919
4946
|
signature();
|
|
4920
4947
|
}
|
|
@@ -4968,42 +4995,25 @@ function WalletContent({
|
|
|
4968
4995
|
}
|
|
4969
4996
|
);
|
|
4970
4997
|
}
|
|
4971
|
-
var wagmiConfig = (0, import_rainbowkit.getDefaultConfig)({
|
|
4972
|
-
appName: "MatchID",
|
|
4973
|
-
projectId: "9ac6ea7e07860f04616fb311b447dee9",
|
|
4974
|
-
wallets: [
|
|
4975
|
-
{
|
|
4976
|
-
groupName: "Recommended",
|
|
4977
|
-
wallets: [
|
|
4978
|
-
import_wallets.metaMaskWallet,
|
|
4979
|
-
import_wallets.walletConnectWallet,
|
|
4980
|
-
import_wallets.okxWallet,
|
|
4981
|
-
import_wallets.bitgetWallet,
|
|
4982
|
-
import_wallets.injectedWallet
|
|
4983
|
-
]
|
|
4984
|
-
}
|
|
4985
|
-
],
|
|
4986
|
-
chains: [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum, import_chains.base, matchMain, matchTest, import_chains.bsc]
|
|
4987
|
-
});
|
|
4988
4998
|
function EVMConnectModal({
|
|
4989
4999
|
type = "login",
|
|
4990
5000
|
onSuccess,
|
|
4991
5001
|
...props
|
|
4992
5002
|
}) {
|
|
4993
|
-
const intl = (0,
|
|
5003
|
+
const intl = (0, import_react_intl15.useIntl)();
|
|
4994
5004
|
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4995
5005
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4996
5006
|
}, {
|
|
4997
5007
|
name: "EVM"
|
|
4998
|
-
}), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
5008
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(WalletContent, { onSuccess, type }) });
|
|
4999
5009
|
}
|
|
5000
5010
|
function EVMModal(props) {
|
|
5001
5011
|
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(EVMConnectModal, { ...props });
|
|
5002
5012
|
}
|
|
5003
5013
|
|
|
5004
5014
|
// src/components/TRONModal/index.tsx
|
|
5005
|
-
var
|
|
5006
|
-
var
|
|
5015
|
+
var import_react34 = __toESM(require("react"));
|
|
5016
|
+
var import_react_intl16 = require("react-intl");
|
|
5007
5017
|
|
|
5008
5018
|
// src/lib/tron/TronLinkAdapter.ts
|
|
5009
5019
|
var TronLinkAdapter = class {
|
|
@@ -5036,7 +5046,7 @@ var TronLinkAdapter = class {
|
|
|
5036
5046
|
};
|
|
5037
5047
|
|
|
5038
5048
|
// src/hooks/useTRONWallet.ts
|
|
5039
|
-
var
|
|
5049
|
+
var import_react33 = require("react");
|
|
5040
5050
|
|
|
5041
5051
|
// src/lib/tron/BitgetAdapter.ts
|
|
5042
5052
|
var BitgetAdapter = class {
|
|
@@ -5081,9 +5091,9 @@ var OKXAdapter = class {
|
|
|
5081
5091
|
// src/hooks/useTRONWallet.ts
|
|
5082
5092
|
var useTRONWallet = () => {
|
|
5083
5093
|
const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
5084
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
5085
|
-
const [address, setAddress] = (0,
|
|
5086
|
-
(0,
|
|
5094
|
+
const [installedWallets, setInstalledWallets] = (0, import_react33.useState)([]);
|
|
5095
|
+
const [address, setAddress] = (0, import_react33.useState)(null);
|
|
5096
|
+
(0, import_react33.useEffect)(() => {
|
|
5087
5097
|
const getInstalled = async () => {
|
|
5088
5098
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
5089
5099
|
wallet: wallet2,
|
|
@@ -5093,11 +5103,11 @@ var useTRONWallet = () => {
|
|
|
5093
5103
|
};
|
|
5094
5104
|
getInstalled();
|
|
5095
5105
|
}, []);
|
|
5096
|
-
const [wallet, chooseWallet] = (0,
|
|
5106
|
+
const [wallet, chooseWallet] = (0, import_react33.useState)(null);
|
|
5097
5107
|
const onConnect = async () => {
|
|
5098
5108
|
setAddress(await wallet.connect());
|
|
5099
5109
|
};
|
|
5100
|
-
(0,
|
|
5110
|
+
(0, import_react33.useEffect)(() => {
|
|
5101
5111
|
if (!wallet) {
|
|
5102
5112
|
setAddress(null);
|
|
5103
5113
|
}
|
|
@@ -5120,7 +5130,7 @@ function TRONConnectModal({
|
|
|
5120
5130
|
...props
|
|
5121
5131
|
}) {
|
|
5122
5132
|
const isDownMd = useDownMd();
|
|
5123
|
-
const intl = (0,
|
|
5133
|
+
const intl = (0, import_react_intl16.useIntl)();
|
|
5124
5134
|
const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
|
|
5125
5135
|
const iconMaps = {
|
|
5126
5136
|
tronlink: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
|
|
@@ -5128,10 +5138,10 @@ function TRONConnectModal({
|
|
|
5128
5138
|
okx: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
5129
5139
|
};
|
|
5130
5140
|
const { events, login } = useMatch();
|
|
5131
|
-
const [status, setStatus] = (0,
|
|
5132
|
-
const statusRef =
|
|
5133
|
-
const [error, setError] = (0,
|
|
5134
|
-
const connected = (0,
|
|
5141
|
+
const [status, setStatus] = (0, import_react34.useState)("");
|
|
5142
|
+
const statusRef = import_react34.default.useRef(status);
|
|
5143
|
+
const [error, setError] = (0, import_react34.useState)("");
|
|
5144
|
+
const connected = (0, import_react34.useMemo)(() => {
|
|
5135
5145
|
return !!address;
|
|
5136
5146
|
}, [address]);
|
|
5137
5147
|
const disconnect = async () => {
|
|
@@ -5199,7 +5209,7 @@ function TRONConnectModal({
|
|
|
5199
5209
|
statusRef.current = "";
|
|
5200
5210
|
}
|
|
5201
5211
|
};
|
|
5202
|
-
(0,
|
|
5212
|
+
(0, import_react34.useEffect)(() => {
|
|
5203
5213
|
if (wallet) {
|
|
5204
5214
|
console.log("onConnect");
|
|
5205
5215
|
onConnect();
|
|
@@ -5207,12 +5217,12 @@ function TRONConnectModal({
|
|
|
5207
5217
|
setStatus("");
|
|
5208
5218
|
}
|
|
5209
5219
|
}, [wallet]);
|
|
5210
|
-
(0,
|
|
5220
|
+
(0, import_react34.useEffect)(() => {
|
|
5211
5221
|
if (address) {
|
|
5212
5222
|
toLoginInWallet();
|
|
5213
5223
|
}
|
|
5214
5224
|
}, [address]);
|
|
5215
|
-
(0,
|
|
5225
|
+
(0, import_react34.useEffect)(() => {
|
|
5216
5226
|
if (!props.isOpen) {
|
|
5217
5227
|
disconnect();
|
|
5218
5228
|
}
|
|
@@ -5270,8 +5280,8 @@ function TRONModal(props) {
|
|
|
5270
5280
|
}
|
|
5271
5281
|
|
|
5272
5282
|
// src/components/TONModal/index.tsx
|
|
5273
|
-
var
|
|
5274
|
-
var
|
|
5283
|
+
var import_react35 = __toESM(require("react"));
|
|
5284
|
+
var import_react_intl17 = require("react-intl");
|
|
5275
5285
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
5276
5286
|
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
5277
5287
|
function WalletContent2({
|
|
@@ -5279,15 +5289,15 @@ function WalletContent2({
|
|
|
5279
5289
|
type
|
|
5280
5290
|
}) {
|
|
5281
5291
|
const { events, login } = useMatch();
|
|
5282
|
-
const [connected, setConnected] = (0,
|
|
5292
|
+
const [connected, setConnected] = (0, import_react35.useState)(false);
|
|
5283
5293
|
const wallet = (0, import_ui_react.useTonWallet)();
|
|
5284
5294
|
const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
|
|
5285
5295
|
const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
|
|
5286
5296
|
const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
|
|
5287
|
-
const [status, setStatus] = (0,
|
|
5288
|
-
const statusRef =
|
|
5289
|
-
const [error, setError] = (0,
|
|
5290
|
-
(0,
|
|
5297
|
+
const [status, setStatus] = (0, import_react35.useState)("");
|
|
5298
|
+
const statusRef = import_react35.default.useRef(status);
|
|
5299
|
+
const [error, setError] = (0, import_react35.useState)("");
|
|
5300
|
+
(0, import_react35.useEffect)(() => {
|
|
5291
5301
|
const init = async () => {
|
|
5292
5302
|
if (tonConnectUI.connected) {
|
|
5293
5303
|
await tonConnectUI.disconnect();
|
|
@@ -5360,7 +5370,7 @@ function WalletContent2({
|
|
|
5360
5370
|
}
|
|
5361
5371
|
});
|
|
5362
5372
|
}, []);
|
|
5363
|
-
(0,
|
|
5373
|
+
(0, import_react35.useEffect)(() => {
|
|
5364
5374
|
if (wallet) {
|
|
5365
5375
|
setConnected(true);
|
|
5366
5376
|
console.log("Wallet connected:", wallet);
|
|
@@ -5371,7 +5381,7 @@ function WalletContent2({
|
|
|
5371
5381
|
setStatus("");
|
|
5372
5382
|
}
|
|
5373
5383
|
}, [wallet]);
|
|
5374
|
-
(0,
|
|
5384
|
+
(0, import_react35.useEffect)(() => {
|
|
5375
5385
|
console.log({
|
|
5376
5386
|
state,
|
|
5377
5387
|
wallet
|
|
@@ -5431,7 +5441,7 @@ function TONConnectModal({
|
|
|
5431
5441
|
onSuccess,
|
|
5432
5442
|
...props
|
|
5433
5443
|
}) {
|
|
5434
|
-
const intl = (0,
|
|
5444
|
+
const intl = (0, import_react_intl17.useIntl)();
|
|
5435
5445
|
const { endpoints, appid } = useLocalStore_default();
|
|
5436
5446
|
const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
|
|
5437
5447
|
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
@@ -5451,8 +5461,8 @@ function TONModal(props) {
|
|
|
5451
5461
|
}
|
|
5452
5462
|
|
|
5453
5463
|
// src/components/BTCModal/index.tsx
|
|
5454
|
-
var
|
|
5455
|
-
var
|
|
5464
|
+
var import_react37 = __toESM(require("react"));
|
|
5465
|
+
var import_react_intl18 = require("react-intl");
|
|
5456
5466
|
|
|
5457
5467
|
// src/lib/btc/UnisatAdapter.ts
|
|
5458
5468
|
var UnisatAdapter = class {
|
|
@@ -5600,7 +5610,7 @@ var LeatherAdapter = class {
|
|
|
5600
5610
|
};
|
|
5601
5611
|
|
|
5602
5612
|
// src/hooks/useBTCWallet.ts
|
|
5603
|
-
var
|
|
5613
|
+
var import_react36 = require("react");
|
|
5604
5614
|
|
|
5605
5615
|
// src/lib/btc/PhantomAdapter.ts
|
|
5606
5616
|
var PhantomAdapter = class {
|
|
@@ -5638,9 +5648,9 @@ var PhantomAdapter = class {
|
|
|
5638
5648
|
// src/hooks/useBTCWallet.ts
|
|
5639
5649
|
var useBTCWallet = () => {
|
|
5640
5650
|
const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
|
|
5641
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
5642
|
-
const [address, setAddress] = (0,
|
|
5643
|
-
(0,
|
|
5651
|
+
const [installedWallets, setInstalledWallets] = (0, import_react36.useState)([]);
|
|
5652
|
+
const [address, setAddress] = (0, import_react36.useState)(null);
|
|
5653
|
+
(0, import_react36.useEffect)(() => {
|
|
5644
5654
|
const getInstalled = async () => {
|
|
5645
5655
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
5646
5656
|
wallet: wallet2,
|
|
@@ -5650,11 +5660,11 @@ var useBTCWallet = () => {
|
|
|
5650
5660
|
};
|
|
5651
5661
|
getInstalled();
|
|
5652
5662
|
}, []);
|
|
5653
|
-
const [wallet, chooseWallet] = (0,
|
|
5663
|
+
const [wallet, chooseWallet] = (0, import_react36.useState)(null);
|
|
5654
5664
|
const onConnect = async () => {
|
|
5655
5665
|
setAddress(await wallet.connect());
|
|
5656
5666
|
};
|
|
5657
|
-
(0,
|
|
5667
|
+
(0, import_react36.useEffect)(() => {
|
|
5658
5668
|
if (!wallet) {
|
|
5659
5669
|
setAddress(null);
|
|
5660
5670
|
}
|
|
@@ -5677,7 +5687,7 @@ function BTCConnectModal({
|
|
|
5677
5687
|
...props
|
|
5678
5688
|
}) {
|
|
5679
5689
|
const isDownMd = useDownMd();
|
|
5680
|
-
const intl = (0,
|
|
5690
|
+
const intl = (0, import_react_intl18.useIntl)();
|
|
5681
5691
|
const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
|
|
5682
5692
|
const iconMaps = {
|
|
5683
5693
|
leather: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
|
|
@@ -5686,10 +5696,10 @@ function BTCConnectModal({
|
|
|
5686
5696
|
phantom: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PhantomIcon, { size: isDownMd ? 36 : 40 })
|
|
5687
5697
|
};
|
|
5688
5698
|
const { events, login } = useMatch();
|
|
5689
|
-
const [status, setStatus] = (0,
|
|
5690
|
-
const statusRef =
|
|
5691
|
-
const [error, setError] = (0,
|
|
5692
|
-
const connected = (0,
|
|
5699
|
+
const [status, setStatus] = (0, import_react37.useState)("");
|
|
5700
|
+
const statusRef = import_react37.default.useRef(status);
|
|
5701
|
+
const [error, setError] = (0, import_react37.useState)("");
|
|
5702
|
+
const connected = (0, import_react37.useMemo)(() => {
|
|
5693
5703
|
return !!address;
|
|
5694
5704
|
}, [address]);
|
|
5695
5705
|
const disconnect = async () => {
|
|
@@ -5753,7 +5763,7 @@ function BTCConnectModal({
|
|
|
5753
5763
|
statusRef.current = "";
|
|
5754
5764
|
}
|
|
5755
5765
|
};
|
|
5756
|
-
(0,
|
|
5766
|
+
(0, import_react37.useEffect)(() => {
|
|
5757
5767
|
if (wallet) {
|
|
5758
5768
|
console.log("onConnect");
|
|
5759
5769
|
try {
|
|
@@ -5766,12 +5776,12 @@ function BTCConnectModal({
|
|
|
5766
5776
|
setStatus("");
|
|
5767
5777
|
}
|
|
5768
5778
|
}, [wallet]);
|
|
5769
|
-
(0,
|
|
5779
|
+
(0, import_react37.useEffect)(() => {
|
|
5770
5780
|
if (address) {
|
|
5771
5781
|
toLoginInWallet();
|
|
5772
5782
|
}
|
|
5773
5783
|
}, [address]);
|
|
5774
|
-
(0,
|
|
5784
|
+
(0, import_react37.useEffect)(() => {
|
|
5775
5785
|
if (!props.isOpen) {
|
|
5776
5786
|
disconnect();
|
|
5777
5787
|
}
|
|
@@ -5836,19 +5846,19 @@ function BTCModal(props) {
|
|
|
5836
5846
|
}
|
|
5837
5847
|
|
|
5838
5848
|
// src/components/WalletModal/index.tsx
|
|
5839
|
-
var
|
|
5840
|
-
var
|
|
5849
|
+
var import_react38 = require("react");
|
|
5850
|
+
var import_react_intl19 = require("react-intl");
|
|
5841
5851
|
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5842
5852
|
function WalletConnectModal({
|
|
5843
5853
|
type,
|
|
5844
5854
|
methods: _methods,
|
|
5845
5855
|
...props
|
|
5846
5856
|
}) {
|
|
5847
|
-
const intl = (0,
|
|
5857
|
+
const intl = (0, import_react_intl19.useIntl)();
|
|
5848
5858
|
const { walletMap } = useWalletConfig();
|
|
5849
5859
|
const { bind, login } = useUserInfo();
|
|
5850
5860
|
const config = useAppConfig();
|
|
5851
|
-
const methods = (0,
|
|
5861
|
+
const methods = (0, import_react38.useMemo)(() => {
|
|
5852
5862
|
if (_methods) return _methods;
|
|
5853
5863
|
if (!config.platform) {
|
|
5854
5864
|
return [];
|
|
@@ -5880,11 +5890,11 @@ function WalletModal(props) {
|
|
|
5880
5890
|
}
|
|
5881
5891
|
|
|
5882
5892
|
// src/components/AlphaAvatar/index.tsx
|
|
5883
|
-
var
|
|
5893
|
+
var import_react39 = require("react");
|
|
5884
5894
|
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
5885
5895
|
function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
5886
|
-
const [avatar, setAvatar] = (0,
|
|
5887
|
-
(0,
|
|
5896
|
+
const [avatar, setAvatar] = (0, import_react39.useState)(void 0);
|
|
5897
|
+
(0, import_react39.useEffect)(() => {
|
|
5888
5898
|
if (name) {
|
|
5889
5899
|
const char = name[0].toUpperCase();
|
|
5890
5900
|
setAvatar(char);
|
|
@@ -5981,9 +5991,9 @@ function WalletAsset({
|
|
|
5981
5991
|
}
|
|
5982
5992
|
|
|
5983
5993
|
// src/components/TokenSend/index.tsx
|
|
5984
|
-
var
|
|
5994
|
+
var import_react40 = require("react");
|
|
5985
5995
|
var import_viem15 = require("viem");
|
|
5986
|
-
var
|
|
5996
|
+
var import_react_intl20 = require("react-intl");
|
|
5987
5997
|
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
5988
5998
|
function Input2({
|
|
5989
5999
|
onChange,
|
|
@@ -6016,25 +6026,25 @@ function TokenSend({
|
|
|
6016
6026
|
onBack
|
|
6017
6027
|
}) {
|
|
6018
6028
|
const { list: chainList } = useMatchChain();
|
|
6019
|
-
const intl = (0,
|
|
6029
|
+
const intl = (0, import_react_intl20.useIntl)();
|
|
6020
6030
|
const { createWalletClient: createWalletClient2 } = useWallet();
|
|
6021
6031
|
const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
|
|
6022
|
-
const chain = (0,
|
|
6032
|
+
const chain = (0, import_react40.useMemo)(() => {
|
|
6023
6033
|
return chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
6024
6034
|
}, [chainList, token.chain_id]);
|
|
6025
|
-
const walletClient = (0,
|
|
6035
|
+
const walletClient = (0, import_react40.useMemo)(() => {
|
|
6026
6036
|
return createWalletClient2({
|
|
6027
6037
|
// @ts-ignore
|
|
6028
6038
|
chain: (0, import_viem15.defineChain)(chain),
|
|
6029
6039
|
transport: (0, import_viem15.http)()
|
|
6030
6040
|
});
|
|
6031
6041
|
}, [chain]);
|
|
6032
|
-
const [amount, setAmount] = (0,
|
|
6033
|
-
const [address, setAddress] = (0,
|
|
6034
|
-
const [loading, setLoading] = (0,
|
|
6035
|
-
const [sending, setSending] = (0,
|
|
6036
|
-
const [txError, setTxError] = (0,
|
|
6037
|
-
const transaction = (0,
|
|
6042
|
+
const [amount, setAmount] = (0, import_react40.useState)("");
|
|
6043
|
+
const [address, setAddress] = (0, import_react40.useState)("");
|
|
6044
|
+
const [loading, setLoading] = (0, import_react40.useState)(false);
|
|
6045
|
+
const [sending, setSending] = (0, import_react40.useState)(false);
|
|
6046
|
+
const [txError, setTxError] = (0, import_react40.useState)("");
|
|
6047
|
+
const transaction = (0, import_react40.useMemo)(() => {
|
|
6038
6048
|
const reg = /^0x[a-fA-F0-9]{40}$/;
|
|
6039
6049
|
if (!amount || !address || !reg.test(address)) {
|
|
6040
6050
|
return;
|
|
@@ -6065,7 +6075,7 @@ function TokenSend({
|
|
|
6065
6075
|
setLoading(false);
|
|
6066
6076
|
}
|
|
6067
6077
|
};
|
|
6068
|
-
const error = (0,
|
|
6078
|
+
const error = (0, import_react40.useMemo)(() => {
|
|
6069
6079
|
setTxError("");
|
|
6070
6080
|
let amountError = "";
|
|
6071
6081
|
let addressError = "";
|
|
@@ -6108,7 +6118,7 @@ function TokenSend({
|
|
|
6108
6118
|
setAmount(value);
|
|
6109
6119
|
}
|
|
6110
6120
|
};
|
|
6111
|
-
const canSend = (0,
|
|
6121
|
+
const canSend = (0, import_react40.useMemo)(() => {
|
|
6112
6122
|
return !error.amount && !error.address && amount && address;
|
|
6113
6123
|
}, [error]);
|
|
6114
6124
|
const onNext = async () => {
|
|
@@ -6118,7 +6128,7 @@ function TokenSend({
|
|
|
6118
6128
|
}
|
|
6119
6129
|
onClose();
|
|
6120
6130
|
};
|
|
6121
|
-
(0,
|
|
6131
|
+
(0, import_react40.useEffect)(() => {
|
|
6122
6132
|
const receiveMessage = (event) => {
|
|
6123
6133
|
if (event.data) {
|
|
6124
6134
|
if (event.data.source == "match-wallet") {
|
|
@@ -6134,11 +6144,11 @@ function TokenSend({
|
|
|
6134
6144
|
window.removeEventListener("message", receiveMessage);
|
|
6135
6145
|
};
|
|
6136
6146
|
}, []);
|
|
6137
|
-
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(ModalDrawer, { isOpen: true, onClose, zIndex, title: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(ModalDrawer, { isOpen: true, onClose, zIndex, title: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_intl20.FormattedMessage, { id: "send" }), onBack, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-send-box`, children: [
|
|
6138
6148
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "matchid-token-send-content", children: [
|
|
6139
6149
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-amount-content`, children: [
|
|
6140
6150
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-amount-header`, children: [
|
|
6141
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6151
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_intl20.FormattedMessage, { id: "amount" }) }),
|
|
6142
6152
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-amount-chain`, children: [
|
|
6143
6153
|
token.icon ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6144
6154
|
"img",
|
|
@@ -6166,7 +6176,7 @@ function TokenSend({
|
|
|
6166
6176
|
),
|
|
6167
6177
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-amount-footer`, children: [
|
|
6168
6178
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-amount-title`, children: [
|
|
6169
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6179
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_intl20.FormattedMessage, { id: "balance" }),
|
|
6170
6180
|
":"
|
|
6171
6181
|
] }),
|
|
6172
6182
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-amount-value`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(NumberFormatter, { value: token.balance, tFixNum: 10, suffix: " " + token.symbol }) })
|
|
@@ -6174,7 +6184,7 @@ function TokenSend({
|
|
|
6174
6184
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(TransferIcon, { className: "matchid-token-amount-transfer" })
|
|
6175
6185
|
] }),
|
|
6176
6186
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `matchid-token-address-content`, children: [
|
|
6177
|
-
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-address-header`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-address-title`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6187
|
+
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-address-header`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: `matchid-token-address-title`, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_intl20.FormattedMessage, { id: "receiveTitle" }) }) }),
|
|
6178
6188
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6179
6189
|
Input2,
|
|
6180
6190
|
{
|
|
@@ -6200,14 +6210,14 @@ function TokenSend({
|
|
|
6200
6210
|
disabled: !canSend || !!txError,
|
|
6201
6211
|
onClick: onNext,
|
|
6202
6212
|
loading: loading || sending,
|
|
6203
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
6213
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_intl20.FormattedMessage, { id: "next" })
|
|
6204
6214
|
}
|
|
6205
6215
|
)
|
|
6206
6216
|
] }) });
|
|
6207
6217
|
}
|
|
6208
6218
|
|
|
6209
6219
|
// src/components/TokenDetail/index.tsx
|
|
6210
|
-
var
|
|
6220
|
+
var import_react_intl21 = require("react-intl");
|
|
6211
6221
|
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
6212
6222
|
function TokenDetail({
|
|
6213
6223
|
onClose,
|
|
@@ -6224,7 +6234,7 @@ function TokenDetail({
|
|
|
6224
6234
|
}, onBack: props.close, zIndex: props.zIndex, token });
|
|
6225
6235
|
});
|
|
6226
6236
|
};
|
|
6227
|
-
const intl = (0,
|
|
6237
|
+
const intl = (0, import_react_intl21.useIntl)();
|
|
6228
6238
|
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ModalDrawer, { isOpen: true, title: intl.formatMessage({
|
|
6229
6239
|
id: "tokenDetails"
|
|
6230
6240
|
}), onClose, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: `matchid-token-detail`, children: [
|
|
@@ -6245,13 +6255,13 @@ function TokenDetail({
|
|
|
6245
6255
|
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "matchid-token-contract-address", children: token.address })
|
|
6246
6256
|
] })
|
|
6247
6257
|
] }),
|
|
6248
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
6258
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_react_intl21.FormattedMessage, { id: "send" }) })
|
|
6249
6259
|
] }) });
|
|
6250
6260
|
}
|
|
6251
6261
|
|
|
6252
6262
|
// src/components/TokenSendList/index.tsx
|
|
6253
|
-
var
|
|
6254
|
-
var
|
|
6263
|
+
var import_react41 = require("react");
|
|
6264
|
+
var import_react_intl22 = require("react-intl");
|
|
6255
6265
|
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
6256
6266
|
function TokenSendList({ close }) {
|
|
6257
6267
|
const isDownMd = useDownMd();
|
|
@@ -6260,7 +6270,7 @@ function TokenSendList({ close }) {
|
|
|
6260
6270
|
list: walletAssets.mergedAssets
|
|
6261
6271
|
});
|
|
6262
6272
|
const { list } = useMatchChain();
|
|
6263
|
-
const [checked, setChecked] = (0,
|
|
6273
|
+
const [checked, setChecked] = (0, import_react41.useState)();
|
|
6264
6274
|
const modal = useModal();
|
|
6265
6275
|
const onNext = () => {
|
|
6266
6276
|
checked && modal.show((props) => {
|
|
@@ -6311,24 +6321,24 @@ function TokenSendList({ close }) {
|
|
|
6311
6321
|
index
|
|
6312
6322
|
);
|
|
6313
6323
|
}) }),
|
|
6314
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
6324
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_react_intl22.FormattedMessage, { id: "next" }) })
|
|
6315
6325
|
] });
|
|
6316
6326
|
}
|
|
6317
6327
|
|
|
6318
6328
|
// src/components/TransactionList/index.tsx
|
|
6319
6329
|
var import_react_infinite_scroll_component = __toESM(require("react-infinite-scroll-component"));
|
|
6320
|
-
var
|
|
6330
|
+
var import_react42 = require("react");
|
|
6321
6331
|
var import_viem16 = require("viem");
|
|
6322
6332
|
var import_viem17 = require("viem");
|
|
6323
|
-
var
|
|
6333
|
+
var import_react_intl23 = require("react-intl");
|
|
6324
6334
|
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
6325
6335
|
var Item = ({ data }) => {
|
|
6326
6336
|
const { address } = useWallet();
|
|
6327
6337
|
const isOut = data.from.toLowerCase() == address.toLowerCase();
|
|
6328
6338
|
const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
|
|
6329
6339
|
const { contracts } = useContractStore_default();
|
|
6330
|
-
const [shouldRefetch, setShouldRefetch] = (0,
|
|
6331
|
-
const transferType = (0,
|
|
6340
|
+
const [shouldRefetch, setShouldRefetch] = (0, import_react42.useState)(true);
|
|
6341
|
+
const transferType = (0, import_react42.useMemo)(() => {
|
|
6332
6342
|
const methodId = data.input.substring(2, 10);
|
|
6333
6343
|
if (methodId == "095ea7b3") {
|
|
6334
6344
|
return "erc20_approve";
|
|
@@ -6338,7 +6348,7 @@ var Item = ({ data }) => {
|
|
|
6338
6348
|
}
|
|
6339
6349
|
return "unknown";
|
|
6340
6350
|
}, [data.input]);
|
|
6341
|
-
const to = (0,
|
|
6351
|
+
const to = (0, import_react42.useMemo)(() => {
|
|
6342
6352
|
if (!isOut) {
|
|
6343
6353
|
return data.from;
|
|
6344
6354
|
}
|
|
@@ -6351,7 +6361,7 @@ var Item = ({ data }) => {
|
|
|
6351
6361
|
}
|
|
6352
6362
|
return data.to;
|
|
6353
6363
|
}, [data.input, transferType, data.to, isOut]);
|
|
6354
|
-
const amount = (0,
|
|
6364
|
+
const amount = (0, import_react42.useMemo)(() => {
|
|
6355
6365
|
if (transferType == "erc20_transfer") {
|
|
6356
6366
|
const decodeData = (0, import_viem16.decodeFunctionData)({
|
|
6357
6367
|
abi: import_viem17.erc20Abi,
|
|
@@ -6369,7 +6379,7 @@ var Item = ({ data }) => {
|
|
|
6369
6379
|
refetchInterval: shouldRefetch ? 3e3 : false,
|
|
6370
6380
|
enabled: shouldRefetch && data.source == "local"
|
|
6371
6381
|
});
|
|
6372
|
-
const status = (0,
|
|
6382
|
+
const status = (0, import_react42.useMemo)(() => {
|
|
6373
6383
|
if (data.source == "matchain") {
|
|
6374
6384
|
switch (data.extra.status) {
|
|
6375
6385
|
case "ok":
|
|
@@ -6396,12 +6406,12 @@ var Item = ({ data }) => {
|
|
|
6396
6406
|
}
|
|
6397
6407
|
return "loading";
|
|
6398
6408
|
}, [data.extra?.status, data.source, hashQuery.data]);
|
|
6399
|
-
(0,
|
|
6409
|
+
(0, import_react42.useEffect)(() => {
|
|
6400
6410
|
if (data.hash) {
|
|
6401
6411
|
setShouldRefetch(status == "loading");
|
|
6402
6412
|
}
|
|
6403
6413
|
}, [status, data.hash]);
|
|
6404
|
-
const symbol = (0,
|
|
6414
|
+
const symbol = (0, import_react42.useMemo)(() => {
|
|
6405
6415
|
if (transferType == "erc20_transfer") {
|
|
6406
6416
|
const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
|
|
6407
6417
|
return contract?.symbol || contract?.name || "unknown";
|
|
@@ -6453,7 +6463,7 @@ function TransactionList({
|
|
|
6453
6463
|
/* @__PURE__ */ (0, import_jsx_runtime98.jsx)(LoadingIcon_default, { rotate: true, size: 16, color: "black" }),
|
|
6454
6464
|
"Loading..."
|
|
6455
6465
|
] }),
|
|
6456
|
-
endMessage: items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
6466
|
+
endMessage: items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_react_intl23.FormattedMessage, { id: "noMoreRecords" }) }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_react_intl23.FormattedMessage, { id: "noRecords" }) }),
|
|
6457
6467
|
children: items.length == 0 && !hasMore ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "mt-[150px]" }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: `matchid-transaction-list`, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Item, { data: item }, index)) })
|
|
6458
6468
|
}
|
|
6459
6469
|
);
|
|
@@ -6477,13 +6487,12 @@ __export(contact_exports, {
|
|
|
6477
6487
|
});
|
|
6478
6488
|
var import_react_query13 = require("@tanstack/react-query");
|
|
6479
6489
|
var import_last = __toESM(require("lodash/last"));
|
|
6480
|
-
var
|
|
6490
|
+
var import_react43 = require("react");
|
|
6481
6491
|
function useContactList(page_size = 10, type = "Friend") {
|
|
6482
|
-
const {
|
|
6483
|
-
const limitIdRef = (0,
|
|
6484
|
-
const queryClient2 = (0, import_react_query13.useQueryClient)();
|
|
6492
|
+
const { address } = useUserInfo();
|
|
6493
|
+
const limitIdRef = (0, import_react43.useRef)(0);
|
|
6485
6494
|
const contactQuery = (0, import_react_query13.useInfiniteQuery)({
|
|
6486
|
-
queryKey: ["matchid-contacts-list", type,
|
|
6495
|
+
queryKey: ["matchid-contacts-list", type, address],
|
|
6487
6496
|
initialPageParam: 1,
|
|
6488
6497
|
queryFn: async (args) => {
|
|
6489
6498
|
console.log(args);
|
|
@@ -6502,7 +6511,7 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
6502
6511
|
return allPages.length >= lastPageNum ? void 0 : allPages.length + 1;
|
|
6503
6512
|
}
|
|
6504
6513
|
});
|
|
6505
|
-
(0,
|
|
6514
|
+
(0, import_react43.useEffect)(() => {
|
|
6506
6515
|
if (!contactQuery.data?.pages || contactQuery.data?.pages.length == 0) {
|
|
6507
6516
|
limitIdRef.current = 0;
|
|
6508
6517
|
} else {
|
|
@@ -6516,13 +6525,19 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
6516
6525
|
limitIdRef.current = lastItem?.limit_id || 0;
|
|
6517
6526
|
}
|
|
6518
6527
|
}, [contactQuery.data?.pages]);
|
|
6519
|
-
|
|
6520
|
-
data
|
|
6528
|
+
(0, import_react43.useEffect)(() => {
|
|
6529
|
+
console.log("contactQuery.data", contactQuery.data);
|
|
6530
|
+
}, [contactQuery.data]);
|
|
6531
|
+
const data = (0, import_react43.useMemo)(() => {
|
|
6532
|
+
return (contactQuery.data?.pages ?? []).reduce(
|
|
6521
6533
|
(a, b) => {
|
|
6522
6534
|
return a.concat(b?.items ?? []);
|
|
6523
6535
|
},
|
|
6524
6536
|
[]
|
|
6525
|
-
)
|
|
6537
|
+
);
|
|
6538
|
+
}, [contactQuery.data]);
|
|
6539
|
+
return {
|
|
6540
|
+
data,
|
|
6526
6541
|
totalCount: contactQuery.hasNextPage ? ((0, import_last.default)(contactQuery.data?.pages ?? [])?.meta.total ?? 0) + 1 : (0, import_last.default)(contactQuery.data?.pages ?? [])?.meta.total ?? 0,
|
|
6527
6542
|
loading: contactQuery.isLoading,
|
|
6528
6543
|
loadingNextPage: contactQuery.isFetchingNextPage,
|
|
@@ -6543,10 +6558,10 @@ function useContactSearch(keyword, options) {
|
|
|
6543
6558
|
});
|
|
6544
6559
|
}
|
|
6545
6560
|
function useContactInfo(options) {
|
|
6546
|
-
const {
|
|
6561
|
+
const { address } = useUserInfo();
|
|
6547
6562
|
return (0, import_react_query13.useQuery)({
|
|
6548
|
-
queryKey: ["matchid-contacts-info",
|
|
6549
|
-
enabled: !!
|
|
6563
|
+
queryKey: ["matchid-contacts-info", address],
|
|
6564
|
+
enabled: !!address,
|
|
6550
6565
|
queryFn: async () => {
|
|
6551
6566
|
return (await getContractsInfoApi()).data;
|
|
6552
6567
|
},
|
|
@@ -6583,29 +6598,30 @@ var delContact = async (friend_id) => {
|
|
|
6583
6598
|
|
|
6584
6599
|
// src/components/ContactList/index.tsx
|
|
6585
6600
|
var import_react_virtuoso = require("react-virtuoso");
|
|
6586
|
-
var
|
|
6587
|
-
var
|
|
6601
|
+
var import_react44 = require("react");
|
|
6602
|
+
var import_react_intl24 = require("react-intl");
|
|
6588
6603
|
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
6589
6604
|
function ContactCard({
|
|
6590
6605
|
loading = false,
|
|
6591
6606
|
data,
|
|
6592
6607
|
action
|
|
6593
6608
|
}) {
|
|
6609
|
+
const isDownMd = useDownMd();
|
|
6594
6610
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "matchid-flex matchid-contact-item", children: [
|
|
6595
6611
|
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "matchid-contact-item-content", children: [
|
|
6596
|
-
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 48, height: 48, radius: 100, loading, children: data?.avatar ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("img", { src: data?.avatar, className: "matchid-contact-item-avatar" }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(AlphaAvatar, { size: 48, name: data?.name || "MatchID" }) }),
|
|
6612
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: isDownMd ? 36 : 48, height: isDownMd ? 36 : 48, radius: 100, loading, children: data?.avatar ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("img", { src: data?.avatar, className: "matchid-contact-item-avatar" }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(AlphaAvatar, { size: isDownMd ? 36 : 48, name: data?.name || data?.username || "MatchID" }) }),
|
|
6597
6613
|
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "matchid-contact-item-info", children: [
|
|
6598
|
-
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-contact-item-name", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 80, height: 20, loading, children: data?.name || "MatchID User" }) }),
|
|
6599
|
-
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-contact-item-address", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 80, height: 16, loading, children: truncateAddress(data?.address || "", 6, 6) }) })
|
|
6614
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-contact-item-name", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 80, height: isDownMd ? 16 : 20, loading, children: data?.name || data?.username || "MatchID User" }) }),
|
|
6615
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-contact-item-address", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 80, height: isDownMd ? 12 : 16, loading, children: truncateAddress(data?.address || "", 6, 6) }) })
|
|
6600
6616
|
] })
|
|
6601
6617
|
] }),
|
|
6602
6618
|
action && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-contact-item-action", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton_default, { width: 20, height: 20, loading, children: action() }) })
|
|
6603
6619
|
] });
|
|
6604
6620
|
}
|
|
6605
6621
|
function RequestAction({ data, onSuccess }) {
|
|
6606
|
-
const [loading, setLoading] = (0,
|
|
6622
|
+
const [loading, setLoading] = (0, import_react44.useState)(false);
|
|
6607
6623
|
const toast = useToast();
|
|
6608
|
-
const intl = (0,
|
|
6624
|
+
const intl = (0, import_react_intl24.useIntl)();
|
|
6609
6625
|
const onApprove = async () => {
|
|
6610
6626
|
setLoading(true);
|
|
6611
6627
|
try {
|
|
@@ -6621,15 +6637,15 @@ function RequestAction({ data, onSuccess }) {
|
|
|
6621
6637
|
setLoading(false);
|
|
6622
6638
|
}
|
|
6623
6639
|
};
|
|
6624
|
-
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { size: "sm", onClick: onApprove, loading, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { size: "sm", onClick: onApprove, loading, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl24.FormattedMessage, { id: "Approve" }) });
|
|
6625
6641
|
}
|
|
6626
6642
|
function FriendsAction({
|
|
6627
6643
|
data,
|
|
6628
6644
|
onSuccess
|
|
6629
6645
|
}) {
|
|
6630
|
-
const [loading, setLoading] = (0,
|
|
6646
|
+
const [loading, setLoading] = (0, import_react44.useState)(false);
|
|
6631
6647
|
const toast = useToast();
|
|
6632
|
-
const intl = (0,
|
|
6648
|
+
const intl = (0, import_react_intl24.useIntl)();
|
|
6633
6649
|
const onRemove = async () => {
|
|
6634
6650
|
setLoading(true);
|
|
6635
6651
|
try {
|
|
@@ -6645,7 +6661,7 @@ function FriendsAction({
|
|
|
6645
6661
|
setLoading(false);
|
|
6646
6662
|
}
|
|
6647
6663
|
};
|
|
6648
|
-
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Popover, { content: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-remove-box", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { size: "sm", loading, onClick: onRemove, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Popover, { content: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-remove-box", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { size: "sm", loading, onClick: onRemove, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl24.FormattedMessage, { id: "Remove" }) }) }), children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(MoreIcon, { className: "matchid-cursor-pointer" }) });
|
|
6649
6665
|
}
|
|
6650
6666
|
function ContactList({
|
|
6651
6667
|
limit = 10,
|
|
@@ -6653,8 +6669,9 @@ function ContactList({
|
|
|
6653
6669
|
type = "Friend"
|
|
6654
6670
|
}) {
|
|
6655
6671
|
const { loading, totalCount, data, onLoadMore } = contact_exports.useContactList(limit, type);
|
|
6656
|
-
const [hiddenList, setHiddenList] = (0,
|
|
6657
|
-
|
|
6672
|
+
const [hiddenList, setHiddenList] = (0, import_react44.useState)([]);
|
|
6673
|
+
const { address } = useWallet();
|
|
6674
|
+
(0, import_react44.useEffect)(() => {
|
|
6658
6675
|
setHiddenList([]);
|
|
6659
6676
|
}, [type]);
|
|
6660
6677
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
@@ -6673,6 +6690,9 @@ function ContactList({
|
|
|
6673
6690
|
}
|
|
6674
6691
|
const item = data[index];
|
|
6675
6692
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ContactCard, { data: item, action: () => {
|
|
6693
|
+
if (address == item.address) {
|
|
6694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_jsx_runtime99.Fragment, {});
|
|
6695
|
+
}
|
|
6676
6696
|
if (type == "Requests") {
|
|
6677
6697
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(RequestAction, { data: item, onSuccess: (data2) => {
|
|
6678
6698
|
setHiddenList([...hiddenList, data2.limit_id || 0]);
|
|
@@ -6687,8 +6707,8 @@ function ContactList({
|
|
|
6687
6707
|
onLoadMore();
|
|
6688
6708
|
},
|
|
6689
6709
|
components: {
|
|
6690
|
-
EmptyPlaceholder: () => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-nomore", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6691
|
-
Footer: data.length > 0 ? () => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-nomore", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
6710
|
+
EmptyPlaceholder: () => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-nomore", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl24.FormattedMessage, { id: type == "Friend" ? "noFriends" : "noRequests" }) }),
|
|
6711
|
+
Footer: data.length > 0 ? () => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "matchid-nomore", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl24.FormattedMessage, { id: "noMore" }) }) : void 0
|
|
6692
6712
|
}
|
|
6693
6713
|
}
|
|
6694
6714
|
);
|