@matchain/matchid-sdk-react 0.1.48-alpha.5 → 0.1.48-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/assets/icon/index.d.mts +5 -1
  2. package/dist/assets/icon/index.d.ts +5 -1
  3. package/dist/assets/icon/index.js +39 -0
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +5 -1
  6. package/dist/{chunk-6GQ2H4L2.mjs → chunk-2CK7JQWH.mjs} +302 -174
  7. package/dist/chunk-2CK7JQWH.mjs.map +1 -0
  8. package/dist/{chunk-A5D3NKTK.mjs → chunk-7UTR37EJ.mjs} +39 -2
  9. package/dist/chunk-7UTR37EJ.mjs.map +1 -0
  10. package/dist/{chunk-LNSJ3ZXG.mjs → chunk-USKUYOYJ.mjs} +2 -2
  11. package/dist/{chunk-ZYDJICK4.mjs → chunk-YXPWZXPT.mjs} +2 -2
  12. package/dist/components/index.js +331 -324
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/components/index.mjs +3 -3
  15. package/dist/hooks/api/index.js +64 -57
  16. package/dist/hooks/api/index.js.map +1 -1
  17. package/dist/hooks/api/index.mjs +4 -4
  18. package/dist/hooks/index.d.mts +1 -1
  19. package/dist/hooks/index.d.ts +1 -1
  20. package/dist/hooks/index.js +213 -62
  21. package/dist/hooks/index.js.map +1 -1
  22. package/dist/hooks/index.mjs +5 -3
  23. package/dist/{index-TkB89QxX.d.ts → index-DaEFoDv_.d.ts} +8 -2
  24. package/dist/{index-DKyt0for.d.mts → index-DktvxNJc.d.mts} +8 -2
  25. package/dist/index.d.mts +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.js +495 -345
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +4 -4
  30. package/dist/ui/index.js +64 -58
  31. package/dist/ui/index.js.map +1 -1
  32. package/dist/ui/index.mjs +2 -2
  33. package/package.json +1 -1
  34. package/dist/chunk-6GQ2H4L2.mjs.map +0 -1
  35. package/dist/chunk-A5D3NKTK.mjs.map +0 -1
  36. /package/dist/{chunk-LNSJ3ZXG.mjs.map → chunk-USKUYOYJ.mjs.map} +0 -0
  37. /package/dist/{chunk-ZYDJICK4.mjs.map → chunk-YXPWZXPT.mjs.map} +0 -0
@@ -12,7 +12,7 @@ import {
12
12
  matchlog_default,
13
13
  useDownMd,
14
14
  useLayout_exports
15
- } from "./chunk-LNSJ3ZXG.mjs";
15
+ } from "./chunk-USKUYOYJ.mjs";
16
16
  import {
17
17
  ArrowDownIcon,
18
18
  ArrowRightIcon,
@@ -32,6 +32,7 @@ import {
32
32
  FacebookIcon,
33
33
  GithubIcon,
34
34
  GoogleIcon,
35
+ InfoLineIcon,
35
36
  LeatherIcon,
36
37
  LinkedinIcon,
37
38
  LoginIcon_default,
@@ -50,7 +51,7 @@ import {
50
51
  XIcon,
51
52
  XverseIcon,
52
53
  YoutubeIcon
53
- } from "./chunk-A5D3NKTK.mjs";
54
+ } from "./chunk-7UTR37EJ.mjs";
54
55
  import {
55
56
  __export
56
57
  } from "./chunk-J5LGTIGS.mjs";
@@ -79,7 +80,7 @@ __export(components_exports, {
79
80
  });
80
81
 
81
82
  // src/components/EmailModal/index.tsx
82
- import { useEffect as useEffect13, useState as useState12 } from "react";
83
+ import { useEffect as useEffect14, useState as useState13 } from "react";
83
84
 
84
85
  // src/components/EmailModal/StepEmail.tsx
85
86
  import { useEffect, useMemo, useState } from "react";
@@ -596,6 +597,7 @@ __export(hooks_exports, {
596
597
  useModal: () => useModal,
597
598
  useReceipt: () => useReceipt,
598
599
  useToast: () => useToast,
600
+ useTransaction: () => useTransaction,
599
601
  useUserInfo: () => useUserInfo,
600
602
  useWallet: () => useWallet
601
603
  });
@@ -1238,7 +1240,7 @@ function useMatchChain() {
1238
1240
 
1239
1241
  // src/hooks/useMatchWallet.tsx
1240
1242
  import { QRCode } from "react-qrcode";
1241
- import { useEffect as useEffect6, useState as useState7 } from "react";
1243
+ import { useEffect as useEffect6, useRef, useState as useState7 } from "react";
1242
1244
 
1243
1245
  // example/src/config/contract.ts
1244
1246
  var address = "0x4143e29770fd63e24bb1f32d50bf8a590e34de4b";
@@ -1297,8 +1299,9 @@ function useMatchWalletRecords({
1297
1299
  const [hasMore, setHasMore] = useState7(true);
1298
1300
  const [items, setItems] = useState7([]);
1299
1301
  const { chainId } = useMatchChain();
1302
+ const hasMoreRef = useRef(hasMore);
1300
1303
  const fetchMoreData = async () => {
1301
- if (!hasMore) {
1304
+ if (!hasMoreRef.current) {
1302
1305
  return;
1303
1306
  }
1304
1307
  const chainIdStr = chainId ? chainId.toString() : "";
@@ -1311,12 +1314,14 @@ function useMatchWalletRecords({
1311
1314
  if (res.data && res.data.transactions.length > 0) {
1312
1315
  setItems(items.concat(res.data.transactions));
1313
1316
  }
1317
+ hasMoreRef.current = res.data && res.data.transactions.length >= pageSize;
1314
1318
  setHasMore(res.data && res.data.transactions.length >= pageSize);
1315
1319
  }
1316
1320
  };
1317
1321
  const onInit = async () => {
1318
1322
  setItems([]);
1319
1323
  setHasMore(true);
1324
+ hasMoreRef.current = true;
1320
1325
  fetchMoreData();
1321
1326
  };
1322
1327
  useEffect6(() => {
@@ -1456,7 +1461,7 @@ function useReceipt({
1456
1461
  chain: defineChain(chain),
1457
1462
  transport: http()
1458
1463
  });
1459
- const receipt = await publicClient.getTransaction({ hash });
1464
+ const receipt = await publicClient.getTransactionReceipt({ hash });
1460
1465
  if (!receipt) {
1461
1466
  return false;
1462
1467
  }
@@ -1476,8 +1481,153 @@ function useReceipt({
1476
1481
  return query;
1477
1482
  }
1478
1483
 
1484
+ // src/hooks/useTransaction.tsx
1485
+ import { useState as useState9, useCallback as useCallback5, useEffect as useEffect8 } from "react";
1486
+ import { useQuery as useQuery3 } from "@tanstack/react-query";
1487
+ import { createPublicClient as createPublicClient2, defineChain as defineChain2, http as http2 } from "viem";
1488
+ var CACHE_TTL2 = 86400 * 30 * 1e3;
1489
+ var MAX_CACHE_SIZE2 = 500;
1490
+ var STORAGE_KEY2 = "match_transaction_logs";
1491
+ function useTransactionCache() {
1492
+ const [cache, setCache] = useState9(/* @__PURE__ */ new Map());
1493
+ const isLocalStorageAvailable = (() => {
1494
+ try {
1495
+ const testKey = "__test__";
1496
+ localStorage.setItem(testKey, "1");
1497
+ localStorage.removeItem(testKey);
1498
+ return true;
1499
+ } catch (e) {
1500
+ return false;
1501
+ }
1502
+ })();
1503
+ useEffect8(() => {
1504
+ if (isLocalStorageAvailable) {
1505
+ try {
1506
+ const storedData = localStorage.getItem(STORAGE_KEY2);
1507
+ if (storedData) {
1508
+ try {
1509
+ const parsed = JSON.parse(storedData);
1510
+ const now = Date.now();
1511
+ const validEntries = Object.entries(parsed).filter(([_, entry]) => typeof entry === "object" && entry !== null && "timestamp" in entry && now - entry.timestamp <= CACHE_TTL2).map(([key, entry]) => [key, entry]);
1512
+ setCache(new Map(validEntries));
1513
+ } catch (e) {
1514
+ console.error("Failed to parse cache from localStorage:", e);
1515
+ }
1516
+ }
1517
+ } catch (e) {
1518
+ console.error("Failed to load cache from localStorage:", e);
1519
+ }
1520
+ }
1521
+ }, []);
1522
+ const updateLocalStorage = useCallback5((updatedCache) => {
1523
+ if (isLocalStorageAvailable) {
1524
+ try {
1525
+ const storedData = localStorage.getItem(STORAGE_KEY2);
1526
+ let parsed = {};
1527
+ if (storedData) {
1528
+ parsed = JSON.parse(storedData);
1529
+ }
1530
+ updatedCache.forEach((entry, key) => {
1531
+ parsed[key] = entry;
1532
+ });
1533
+ localStorage.setItem(STORAGE_KEY2, JSON.stringify(parsed));
1534
+ } catch (e) {
1535
+ console.error("Failed to update localStorage:", e);
1536
+ }
1537
+ }
1538
+ }, []);
1539
+ const set = useCallback5((key, value) => {
1540
+ const now = Date.now();
1541
+ const newCache = new Map(cache);
1542
+ newCache.forEach((entry, k) => {
1543
+ if (now - entry.timestamp > CACHE_TTL2) {
1544
+ newCache.delete(k);
1545
+ }
1546
+ });
1547
+ if (newCache.size >= MAX_CACHE_SIZE2) {
1548
+ const firstKey = newCache.keys().next().value;
1549
+ if (firstKey !== void 0) {
1550
+ newCache.delete(firstKey);
1551
+ }
1552
+ }
1553
+ newCache.set(key, { value, timestamp: now });
1554
+ setCache(newCache);
1555
+ updateLocalStorage(newCache);
1556
+ }, [cache, updateLocalStorage]);
1557
+ const get = useCallback5((key) => {
1558
+ const entry = cache.get(key);
1559
+ if (entry) {
1560
+ if (Date.now() - entry.timestamp > CACHE_TTL2) {
1561
+ const newCache = new Map(cache);
1562
+ newCache.delete(key);
1563
+ setCache(newCache);
1564
+ updateLocalStorage(newCache);
1565
+ return void 0;
1566
+ }
1567
+ return entry.value;
1568
+ }
1569
+ return void 0;
1570
+ }, [cache, updateLocalStorage]);
1571
+ const del = useCallback5((key) => {
1572
+ if (cache.has(key)) {
1573
+ const newCache = new Map(cache);
1574
+ newCache.delete(key);
1575
+ setCache(newCache);
1576
+ updateLocalStorage(newCache);
1577
+ }
1578
+ }, [cache, updateLocalStorage]);
1579
+ const clear = useCallback5(() => {
1580
+ setCache(/* @__PURE__ */ new Map());
1581
+ if (isLocalStorageAvailable) {
1582
+ localStorage.removeItem(STORAGE_KEY2);
1583
+ }
1584
+ }, [isLocalStorageAvailable]);
1585
+ return { set, get, del, clear };
1586
+ }
1587
+ function useTransaction({
1588
+ chainId,
1589
+ hash
1590
+ }) {
1591
+ const { list } = useMatchChain();
1592
+ const cache = useTransactionCache();
1593
+ const chain = list?.find((item) => item.id === chainId);
1594
+ const [shouldRefetch, setShouldRefetch] = useState9(true);
1595
+ const query = useQuery3({
1596
+ queryKey: ["match-tx-transaction", hash, chain],
1597
+ queryFn: async () => {
1598
+ if (!chain || !hash) return false;
1599
+ const cacheKey = `${chain.id}-${hash}`;
1600
+ if (cache.get(cacheKey)) {
1601
+ return cache.get(cacheKey);
1602
+ }
1603
+ try {
1604
+ const publicClient = createPublicClient2({
1605
+ //@ts-ignore
1606
+ chain: defineChain2(chain),
1607
+ transport: http2()
1608
+ });
1609
+ const transaction = await publicClient.getTransaction({ hash });
1610
+ if (!transaction) {
1611
+ return false;
1612
+ }
1613
+ cache.set(cacheKey, transaction);
1614
+ return transaction;
1615
+ } catch (e) {
1616
+ return false;
1617
+ }
1618
+ },
1619
+ refetchInterval: shouldRefetch ? 1e4 : false
1620
+ });
1621
+ useEffect8(() => {
1622
+ if (query.data) {
1623
+ setShouldRefetch(false);
1624
+ }
1625
+ }, [query.data]);
1626
+ return query;
1627
+ }
1628
+
1479
1629
  // src/components/CEXBindModal/index.tsx
1480
- import { useEffect as useEffect8, useMemo as useMemo5, useState as useState9 } from "react";
1630
+ import { useEffect as useEffect9, useMemo as useMemo5, useState as useState10 } from "react";
1481
1631
  import { FormattedMessage as FormattedMessage2, useIntl as useIntl2 } from "react-intl";
1482
1632
  import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1483
1633
  function CEXBindModal({
@@ -1488,16 +1638,16 @@ function CEXBindModal({
1488
1638
  }) {
1489
1639
  const intl = useIntl2();
1490
1640
  const { events } = useMatch();
1491
- const [APIPassphrase, setAPIPassphrase] = useState9("");
1641
+ const [APIPassphrase, setAPIPassphrase] = useState10("");
1492
1642
  const { refreshOverview } = useUserInfo();
1493
- const [loading, setLoading] = useState9(false);
1494
- const [key, setKey] = useState9("");
1495
- const [secret, setSecret] = useState9("");
1496
- const [error, setError] = useState9("");
1643
+ const [loading, setLoading] = useState10(false);
1644
+ const [key, setKey] = useState10("");
1645
+ const [secret, setSecret] = useState10("");
1646
+ const [error, setError] = useState10("");
1497
1647
  const needPassphrase = useMemo5(() => {
1498
1648
  return ["bitget", "okx"].includes(type.toLowerCase());
1499
1649
  }, [type]);
1500
- useEffect8(() => {
1650
+ useEffect9(() => {
1501
1651
  if (isOpen) {
1502
1652
  setSecret("");
1503
1653
  setKey("");
@@ -1677,7 +1827,7 @@ var Providers = ({ children }) => {
1677
1827
  var context_default = Providers;
1678
1828
 
1679
1829
  // src/hooks/useWalletInit.ts
1680
- import { useEffect as useEffect9, useRef } from "react";
1830
+ import { useEffect as useEffect10, useRef as useRef2 } from "react";
1681
1831
 
1682
1832
  // src/utils/wallet.ts
1683
1833
  var sendMessage = ({ method, data, resolve, reject, timeout }) => {
@@ -1710,11 +1860,11 @@ function useWalletInit({
1710
1860
  }) {
1711
1861
  const { endpoints, token, overview, setWallet, wallet, appid, locale, refreshOverview } = useLocalStore_default();
1712
1862
  const { setWalletReady, walletReady } = useStore_default();
1713
- const iframeReadyRef = useRef(walletReady);
1714
- useEffect9(() => {
1863
+ const iframeReadyRef = useRef2(walletReady);
1864
+ useEffect10(() => {
1715
1865
  setWallet(config);
1716
1866
  }, [config]);
1717
- useEffect9(() => {
1867
+ useEffect10(() => {
1718
1868
  matchlog_default.log("sdk.mpc.status", walletReady, iframeReadyRef.current);
1719
1869
  iframeReadyRef.current = walletReady;
1720
1870
  if (iframeReadyRef.current) {
@@ -1731,7 +1881,7 @@ function useWalletInit({
1731
1881
  onReady();
1732
1882
  }
1733
1883
  }, [walletReady]);
1734
- useEffect9(() => {
1884
+ useEffect10(() => {
1735
1885
  if (!endpoints.auth || !appid || !token || !config) {
1736
1886
  const existingIframe = getWalletIframe();
1737
1887
  if (existingIframe) {
@@ -1831,7 +1981,7 @@ function useWalletInit({
1831
1981
  }
1832
1982
  }
1833
1983
  }, [endpoints.auth, appid, token, config]);
1834
- useEffect9(() => {
1984
+ useEffect10(() => {
1835
1985
  const messageHandle = async (e) => {
1836
1986
  if (e.origin !== endpoints.auth.substring(0, endpoints.auth.length - 1)) {
1837
1987
  return;
@@ -1912,7 +2062,7 @@ function useWalletInit({
1912
2062
  }
1913
2063
 
1914
2064
  // src/hooks/useInit.tsx
1915
- import { useEffect as useEffect10, useRef as useRef2 } from "react";
2065
+ import { useEffect as useEffect11, useRef as useRef3 } from "react";
1916
2066
  function useInit({
1917
2067
  theme,
1918
2068
  appid,
@@ -1932,23 +2082,23 @@ function useInit({
1932
2082
  locale: realLocale
1933
2083
  } = useLocalStore_default();
1934
2084
  const walletModalStore = useWalletModalStore();
1935
- const overviewLoadingRef = useRef2(false);
2085
+ const overviewLoadingRef = useRef3(false);
1936
2086
  const searchParams = new URLSearchParams(window.location.search);
1937
2087
  const matchToken = searchParams.get("matchToken");
1938
2088
  const realEndpoints = endpoints || env_default.endpoints;
1939
- useEffect10(() => {
2089
+ useEffect11(() => {
1940
2090
  setTheme(theme);
1941
2091
  }, [theme]);
1942
- useEffect10(() => {
2092
+ useEffect11(() => {
1943
2093
  setAppid(appid);
1944
2094
  }, [appid]);
1945
- useEffect10(() => {
2095
+ useEffect11(() => {
1946
2096
  setEndpoints(realEndpoints);
1947
2097
  }, [realEndpoints]);
1948
- useEffect10(() => {
2098
+ useEffect11(() => {
1949
2099
  setLocale(locale || "en");
1950
2100
  }, [locale]);
1951
- useEffect10(() => {
2101
+ useEffect11(() => {
1952
2102
  if (matchToken) {
1953
2103
  const tokenData = JSON.parse(atob(matchToken));
1954
2104
  if (tokenData && tokenData.mid && tokenData.token) {
@@ -1959,7 +2109,7 @@ function useInit({
1959
2109
  }
1960
2110
  }
1961
2111
  }, [matchToken]);
1962
- useEffect10(() => {
2112
+ useEffect11(() => {
1963
2113
  const onLoginMessage = (event) => {
1964
2114
  const res = event.data;
1965
2115
  if (res.event === "login" && res.data && (res.data.token || res.data.token_type && res.data.access_token)) {
@@ -1996,7 +2146,7 @@ function useInit({
1996
2146
  overviewLoadingRef.current = false;
1997
2147
  }
1998
2148
  };
1999
- useEffect10(() => {
2149
+ useEffect11(() => {
2000
2150
  if (token) {
2001
2151
  loadOverview();
2002
2152
  }
@@ -2811,7 +2961,7 @@ function useUserInfo() {
2811
2961
  }
2812
2962
 
2813
2963
  // src/components/EmailModal/StepVerify.tsx
2814
- import { useEffect as useEffect12, useMemo as useMemo7, useRef as useRef3, useState as useState11 } from "react";
2964
+ import { useEffect as useEffect13, useMemo as useMemo7, useRef as useRef4, useState as useState12 } from "react";
2815
2965
 
2816
2966
  // src/config/index.tsx
2817
2967
  var EMAIL_INTERVAL = 60;
@@ -2823,17 +2973,17 @@ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
2823
2973
  function StepVerify(props) {
2824
2974
  const intl = useIntl3();
2825
2975
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
2826
- const [error, setError] = useState11("");
2827
- const [code, setCode] = useState11("");
2828
- const [sending, setSending] = useState11(false);
2829
- const [submitting, setSubmitting] = useState11(false);
2830
- const sendTimeRef = useRef3(0);
2831
- const [sendBtnText, setSendBtnText] = useState11(intl.formatMessage({
2976
+ const [error, setError] = useState12("");
2977
+ const [code, setCode] = useState12("");
2978
+ const [sending, setSending] = useState12(false);
2979
+ const [submitting, setSubmitting] = useState12(false);
2980
+ const sendTimeRef = useRef4(0);
2981
+ const [sendBtnText, setSendBtnText] = useState12(intl.formatMessage({
2832
2982
  id: "send"
2833
2983
  }));
2834
2984
  const intervalTime = EMAIL_INTERVAL;
2835
2985
  const codeLength = EMAIL_CODE_LENGTH;
2836
- const intervalRef = useRef3(null);
2986
+ const intervalRef = useRef4(null);
2837
2987
  const isDownMd = useDownMd();
2838
2988
  const onSend = async () => {
2839
2989
  if (sendTimeRef.current > 0) {
@@ -2864,7 +3014,7 @@ function StepVerify(props) {
2864
3014
  setSending(false);
2865
3015
  }
2866
3016
  };
2867
- useEffect12(() => {
3017
+ useEffect13(() => {
2868
3018
  onSend();
2869
3019
  return () => {
2870
3020
  if (intervalRef.current) {
@@ -2949,10 +3099,10 @@ function EmailModal({
2949
3099
  onBack,
2950
3100
  onLogin
2951
3101
  }) {
2952
- const [step, setStep] = useState12("input");
2953
- const [emailVal, setEmailVal] = useState12("");
3102
+ const [step, setStep] = useState13("input");
3103
+ const [emailVal, setEmailVal] = useState13("");
2954
3104
  const intl = useIntl4();
2955
- useEffect13(() => {
3105
+ useEffect14(() => {
2956
3106
  if (!isOpen) {
2957
3107
  setStep("input");
2958
3108
  setEmailVal("");
@@ -2977,13 +3127,13 @@ function EmailModal({
2977
3127
  }
2978
3128
 
2979
3129
  // src/components/LoginBox/index.tsx
2980
- import { useMemo as useMemo8, useState as useState13 } from "react";
3130
+ import { useMemo as useMemo8, useState as useState14 } from "react";
2981
3131
  import { FormattedMessage as FormattedMessage4, useIntl as useIntl5 } from "react-intl";
2982
3132
 
2983
3133
  // src/hooks/useAppConfig.ts
2984
- import { useQuery as useQuery3 } from "@tanstack/react-query";
3134
+ import { useQuery as useQuery4 } from "@tanstack/react-query";
2985
3135
  function useAppConfig() {
2986
- const query = useQuery3({
3136
+ const query = useQuery4({
2987
3137
  queryKey: ["appConfig"],
2988
3138
  queryFn: async () => {
2989
3139
  const res = await getAppConfigApi();
@@ -3090,9 +3240,9 @@ function LoginBox({
3090
3240
  walletMethods: walletMethodList
3091
3241
  };
3092
3242
  }, [config.platform, recommendMethods, methods, walletMethods]);
3093
- const [emailOpen, setEmailOpen] = useState13(false);
3243
+ const [emailOpen, setEmailOpen] = useState14(false);
3094
3244
  const { login } = useUserInfo();
3095
- const [showWallet, setShowWallet] = useState13(false);
3245
+ const [showWallet, setShowWallet] = useState14(false);
3096
3246
  const intl = useIntl5();
3097
3247
  const isDownMd = useDownMd();
3098
3248
  const methodMap = {
@@ -3240,7 +3390,7 @@ function LoginBox({
3240
3390
  }
3241
3391
 
3242
3392
  // src/components/LoginButton/index.tsx
3243
- import { useState as useState15 } from "react";
3393
+ import { useState as useState16 } from "react";
3244
3394
 
3245
3395
  // src/components/LoginPanel/index.tsx
3246
3396
  import { FormattedMessage as FormattedMessage5 } from "react-intl";
@@ -3283,7 +3433,7 @@ function LoginModal({
3283
3433
  }
3284
3434
 
3285
3435
  // src/components/UserPopover/index.tsx
3286
- import { useState as useState14 } from "react";
3436
+ import { useState as useState15 } from "react";
3287
3437
 
3288
3438
  // src/assets/icon/ProfileIcon.tsx
3289
3439
  import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
@@ -3315,7 +3465,7 @@ import { FormattedMessage as FormattedMessage6, useIntl as useIntl6 } from "reac
3315
3465
  import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
3316
3466
  function UserContent() {
3317
3467
  const { logout, address: address2, username } = useUserInfo();
3318
- const [logouting, setLogouting] = useState14(false);
3468
+ const [logouting, setLogouting] = useState15(false);
3319
3469
  const onLogout = async () => {
3320
3470
  if (logouting) return;
3321
3471
  try {
@@ -3344,7 +3494,7 @@ function UserContent() {
3344
3494
  const UserDivider = () => {
3345
3495
  return /* @__PURE__ */ jsx17("div", { className: `matchid-user-popover-divider` });
3346
3496
  };
3347
- const [usernameOpen, setUsernameOpen] = useState14(false);
3497
+ const [usernameOpen, setUsernameOpen] = useState15(false);
3348
3498
  const [copied, setCopied] = useCopyClipboard();
3349
3499
  const intl = useIntl6();
3350
3500
  return /* @__PURE__ */ jsxs12("div", { className: "matchid-user-popover-content", children: [
@@ -3390,7 +3540,7 @@ function LoginButton({
3390
3540
  }) {
3391
3541
  const intl = useIntl7();
3392
3542
  const { isLogin, username } = useUserInfo();
3393
- const [loginOpen, setLoginOpen] = useState15(false);
3543
+ const [loginOpen, setLoginOpen] = useState16(false);
3394
3544
  if (!isLogin) {
3395
3545
  return /* @__PURE__ */ jsxs13(Fragment3, { children: [
3396
3546
  /* @__PURE__ */ jsx18(
@@ -3418,40 +3568,17 @@ function LoginButton({
3418
3568
  }
3419
3569
 
3420
3570
  // src/components/UsernameModal/index.tsx
3421
- import { useEffect as useEffect14, useMemo as useMemo9, useState as useState16 } from "react";
3422
-
3423
- // src/assets/icon/InfoRoundIcon.tsx
3424
- import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
3425
- function InfoRoundIcon({
3426
- size,
3427
- color = "#6E6E6E",
3428
- ...props
3429
- }) {
3430
- return /* @__PURE__ */ jsxs14("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
3431
- /* @__PURE__ */ jsx19("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ jsx19(
3432
- "path",
3433
- {
3434
- fillRule: "evenodd",
3435
- clipRule: "evenodd",
3436
- d: "M7.99984 0.666504C3.94975 0.666504 0.666504 3.94975 0.666504 7.99984C0.666504 12.0499 3.94975 15.3332 7.99984 15.3332C12.0499 15.3332 15.3332 12.0499 15.3332 7.99984C15.3332 3.94975 12.0499 0.666504 7.99984 0.666504ZM1.99984 7.99984C1.99984 4.68613 4.68613 1.99984 7.99984 1.99984C11.3135 1.99984 13.9998 4.68613 13.9998 7.99984C13.9998 11.3135 11.3135 13.9998 7.99984 13.9998C4.68613 13.9998 1.99984 11.3135 1.99984 7.99984ZM8.6665 7.33317C8.6665 6.96498 8.36803 6.6665 7.99984 6.6665C7.63165 6.6665 7.33317 6.96498 7.33317 7.33317V11.3332C7.33317 11.7014 7.63165 11.9998 7.99984 11.9998C8.36803 11.9998 8.6665 11.7014 8.6665 11.3332V7.33317ZM7.99984 5.33317C8.36803 5.33317 8.6665 5.03469 8.6665 4.6665C8.6665 4.29831 8.36803 3.99984 7.99984 3.99984C7.63165 3.99984 7.33317 4.29831 7.33317 4.6665C7.33317 5.03469 7.63165 5.33317 7.99984 5.33317Z",
3437
- fill: color
3438
- }
3439
- ) }),
3440
- /* @__PURE__ */ jsx19("defs", { children: /* @__PURE__ */ jsx19("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ jsx19("rect", { width: "16", height: "16", fill: "white" }) }) })
3441
- ] });
3442
- }
3443
-
3444
- // src/components/UsernameModal/index.tsx
3571
+ import { useEffect as useEffect15, useMemo as useMemo9, useState as useState17 } from "react";
3445
3572
  import { FormattedMessage as FormattedMessage8, useIntl as useIntl8 } from "react-intl";
3446
- import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
3573
+ import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
3447
3574
  var ValidItem = ({
3448
3575
  success = false,
3449
3576
  text
3450
3577
  }) => {
3451
3578
  const isDownMd = useDownMd();
3452
- return /* @__PURE__ */ jsxs15("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
3453
- success ? /* @__PURE__ */ jsx20(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ jsx20(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
3454
- /* @__PURE__ */ jsx20("span", { children: text })
3579
+ return /* @__PURE__ */ jsxs14("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
3580
+ success ? /* @__PURE__ */ jsx19(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ jsx19(InfoLineIcon, { size: isDownMd ? 12 : 16 }),
3581
+ /* @__PURE__ */ jsx19("span", { children: text })
3455
3582
  ] });
3456
3583
  };
3457
3584
  function UsernameModal({
@@ -3462,10 +3589,10 @@ function UsernameModal({
3462
3589
  }) {
3463
3590
  const { username, refreshOverview } = useUserInfo();
3464
3591
  const { isLogin } = useUserInfo();
3465
- const [val, setVal] = useState16(username);
3466
- const [error, setError] = useState16("");
3592
+ const [val, setVal] = useState17(username);
3593
+ const [error, setError] = useState17("");
3467
3594
  const isDownMd = useDownMd();
3468
- useEffect14(() => {
3595
+ useEffect15(() => {
3469
3596
  if (isOpen) {
3470
3597
  setVal(username);
3471
3598
  setError("");
@@ -3478,7 +3605,7 @@ function UsernameModal({
3478
3605
  return val.length >= 2 && val.length <= 32;
3479
3606
  }, [val]);
3480
3607
  const isSafe = isValid && isLength;
3481
- const [isSubmitting, setIsSubmitting] = useState16(false);
3608
+ const [isSubmitting, setIsSubmitting] = useState17(false);
3482
3609
  const onSubmit = async () => {
3483
3610
  if (isSubmitting) return;
3484
3611
  try {
@@ -3499,12 +3626,12 @@ function UsernameModal({
3499
3626
  }
3500
3627
  };
3501
3628
  const intl = useIntl8();
3502
- return /* @__PURE__ */ jsx20(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
3629
+ return /* @__PURE__ */ jsx19(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
3503
3630
  id: username ? "editUsernameTitle" : "setUsernameTitle"
3504
- }), children: /* @__PURE__ */ jsxs15("div", { className: "matchid-username-box", children: [
3505
- /* @__PURE__ */ jsx20(Field, { label: intl.formatMessage({
3631
+ }), children: /* @__PURE__ */ jsxs14("div", { className: "matchid-username-box", children: [
3632
+ /* @__PURE__ */ jsx19(Field, { label: intl.formatMessage({
3506
3633
  id: "username"
3507
- }), error, children: /* @__PURE__ */ jsx20(
3634
+ }), error, children: /* @__PURE__ */ jsx19(
3508
3635
  Input,
3509
3636
  {
3510
3637
  placeholder: intl.formatMessage({
@@ -3517,8 +3644,8 @@ function UsernameModal({
3517
3644
  value: val
3518
3645
  }
3519
3646
  ) }),
3520
- /* @__PURE__ */ jsxs15("div", { className: "matchid-valid", children: [
3521
- /* @__PURE__ */ jsx20(
3647
+ /* @__PURE__ */ jsxs14("div", { className: "matchid-valid", children: [
3648
+ /* @__PURE__ */ jsx19(
3522
3649
  ValidItem,
3523
3650
  {
3524
3651
  success: isValid,
@@ -3527,21 +3654,21 @@ function UsernameModal({
3527
3654
  })
3528
3655
  }
3529
3656
  ),
3530
- /* @__PURE__ */ jsx20(ValidItem, { success: isLength, text: intl.formatMessage({
3657
+ /* @__PURE__ */ jsx19(ValidItem, { success: isLength, text: intl.formatMessage({
3531
3658
  id: "usernameLengthError"
3532
3659
  }) })
3533
3660
  ] }),
3534
- /* @__PURE__ */ jsx20(Button, { disabled: !isSafe, loading: isSubmitting, style: {
3661
+ /* @__PURE__ */ jsx19(Button, { disabled: !isSafe, loading: isSubmitting, style: {
3535
3662
  marginTop: isDownMd ? "36px" : "64px"
3536
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx20(FormattedMessage8, { id: "confirm" }) }),
3537
- /* @__PURE__ */ jsx20(Button, { style: {
3663
+ }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "confirm" }) }),
3664
+ /* @__PURE__ */ jsx19(Button, { style: {
3538
3665
  marginTop: isDownMd ? "12px" : "24px"
3539
- }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ jsx20(FormattedMessage8, { id: "cancel" }) })
3666
+ }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "cancel" }) })
3540
3667
  ] }) });
3541
3668
  }
3542
3669
 
3543
3670
  // src/components/SOLModal/index.tsx
3544
- import React7, { useEffect as useEffect15, useState as useState17 } from "react";
3671
+ import React7, { useEffect as useEffect16, useState as useState18 } from "react";
3545
3672
  import { clusterApiUrl } from "@solana/web3.js";
3546
3673
  import { useWallet as useWallet2, WalletProvider, ConnectionProvider } from "@solana/wallet-adapter-react";
3547
3674
  import { WalletModalProvider, useWalletModal } from "@solana/wallet-adapter-react-ui";
@@ -3605,7 +3732,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
3605
3732
  var walletSigningImage = "data:image/png;base64,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";
3606
3733
 
3607
3734
  // src/components/WalletModalContent/index.tsx
3608
- import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
3735
+ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
3609
3736
  function WalletModalContent({
3610
3737
  status,
3611
3738
  error,
@@ -3675,12 +3802,12 @@ function WalletModalContent({
3675
3802
  statusImage: walletConnectImage
3676
3803
  };
3677
3804
  }, [visible, connected, status, error, address2]);
3678
- return /* @__PURE__ */ jsx21("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-box`, children: [
3679
- /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-content`, children: [
3680
- /* @__PURE__ */ jsx21("img", { src: pageData.statusImage }),
3681
- /* @__PURE__ */ jsx21("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3805
+ return /* @__PURE__ */ jsx20("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs15("div", { className: `matchid-wallet-box`, children: [
3806
+ /* @__PURE__ */ jsxs15("div", { className: `matchid-wallet-content`, children: [
3807
+ /* @__PURE__ */ jsx20("img", { src: pageData.statusImage }),
3808
+ /* @__PURE__ */ jsx20("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
3682
3809
  ] }),
3683
- /* @__PURE__ */ jsx21(
3810
+ /* @__PURE__ */ jsx20(
3684
3811
  Button,
3685
3812
  {
3686
3813
  block: true,
@@ -3695,7 +3822,7 @@ function WalletModalContent({
3695
3822
  }
3696
3823
 
3697
3824
  // src/components/SOLModal/index.tsx
3698
- import { jsx as jsx22 } from "react/jsx-runtime";
3825
+ import { jsx as jsx21 } from "react/jsx-runtime";
3699
3826
  function WalletContent({
3700
3827
  onSuccess,
3701
3828
  type
@@ -3703,17 +3830,17 @@ function WalletContent({
3703
3830
  const { setVisible, visible } = useWalletModal();
3704
3831
  const wallet = useWallet2();
3705
3832
  const { events, login } = useMatch();
3706
- const [status, setStatus] = useState17("");
3833
+ const [status, setStatus] = useState18("");
3707
3834
  const statusRef = React7.useRef(status);
3708
- const [error, setError] = useState17("");
3709
- useEffect15(() => {
3835
+ const [error, setError] = useState18("");
3836
+ useEffect16(() => {
3710
3837
  const init = async () => {
3711
3838
  await wallet.disconnect();
3712
3839
  setVisible(true);
3713
3840
  };
3714
3841
  init();
3715
3842
  }, []);
3716
- useEffect15(() => {
3843
+ useEffect16(() => {
3717
3844
  if (wallet.connected) {
3718
3845
  console.log("wallet.connected", wallet.connected);
3719
3846
  toLoginInWallet();
@@ -3777,7 +3904,7 @@ function WalletContent({
3777
3904
  statusRef.current = "";
3778
3905
  }
3779
3906
  };
3780
- return /* @__PURE__ */ jsx22(
3907
+ return /* @__PURE__ */ jsx21(
3781
3908
  WalletModalContent,
3782
3909
  {
3783
3910
  connected: wallet.connected,
@@ -3838,18 +3965,18 @@ function SOLConnectModal({
3838
3965
  ...props
3839
3966
  }) {
3840
3967
  const intl = useIntl9();
3841
- return /* @__PURE__ */ jsx22(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3968
+ return /* @__PURE__ */ jsx21(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
3842
3969
  id: type == "bind" ? "bindWith" : "loginWith"
3843
3970
  }, {
3844
3971
  name: "SOL"
3845
- }), children: /* @__PURE__ */ jsx22(ConnectionProvider, { endpoint: clusterApiUrl("devnet"), children: /* @__PURE__ */ jsx22(WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ jsx22(WalletModalProvider, { children: /* @__PURE__ */ jsx22(WalletContent, { onSuccess, type }) }) }) }) });
3972
+ }), children: /* @__PURE__ */ jsx21(ConnectionProvider, { endpoint: clusterApiUrl("devnet"), children: /* @__PURE__ */ jsx21(WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ jsx21(WalletModalProvider, { children: /* @__PURE__ */ jsx21(WalletContent, { onSuccess, type }) }) }) }) });
3846
3973
  }
3847
3974
  function SOLModal(props) {
3848
- return props.isOpen && /* @__PURE__ */ jsx22(SOLConnectModal, { ...props });
3975
+ return props.isOpen && /* @__PURE__ */ jsx21(SOLConnectModal, { ...props });
3849
3976
  }
3850
3977
 
3851
3978
  // src/components/TRONModal/index.tsx
3852
- import React8, { useEffect as useEffect17, useMemo as useMemo11, useState as useState19 } from "react";
3979
+ import React8, { useEffect as useEffect18, useMemo as useMemo11, useState as useState20 } from "react";
3853
3980
  import { useIntl as useIntl10 } from "react-intl";
3854
3981
 
3855
3982
  // src/lib/tron/TronLinkAdapter.ts
@@ -3883,7 +4010,7 @@ var TronLinkAdapter = class {
3883
4010
  };
3884
4011
 
3885
4012
  // src/hooks/useTRONWallet.ts
3886
- import { useEffect as useEffect16, useState as useState18 } from "react";
4013
+ import { useEffect as useEffect17, useState as useState19 } from "react";
3887
4014
 
3888
4015
  // src/lib/tron/BitgetAdapter.ts
3889
4016
  var BitgetAdapter = class {
@@ -3928,9 +4055,9 @@ var OKXAdapter = class {
3928
4055
  // src/hooks/useTRONWallet.ts
3929
4056
  var useTRONWallet = () => {
3930
4057
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
3931
- const [installedWallets, setInstalledWallets] = useState18([]);
3932
- const [address2, setAddress] = useState18(null);
3933
- useEffect16(() => {
4058
+ const [installedWallets, setInstalledWallets] = useState19([]);
4059
+ const [address2, setAddress] = useState19(null);
4060
+ useEffect17(() => {
3934
4061
  const getInstalled = async () => {
3935
4062
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
3936
4063
  wallet: wallet2,
@@ -3940,11 +4067,11 @@ var useTRONWallet = () => {
3940
4067
  };
3941
4068
  getInstalled();
3942
4069
  }, []);
3943
- const [wallet, chooseWallet] = useState18(null);
4070
+ const [wallet, chooseWallet] = useState19(null);
3944
4071
  const onConnect = async () => {
3945
4072
  setAddress(await wallet.connect());
3946
4073
  };
3947
- useEffect16(() => {
4074
+ useEffect17(() => {
3948
4075
  if (!wallet) {
3949
4076
  setAddress(null);
3950
4077
  }
@@ -3960,7 +4087,7 @@ var useTRONWallet = () => {
3960
4087
  };
3961
4088
 
3962
4089
  // src/components/TRONModal/index.tsx
3963
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
4090
+ import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
3964
4091
  function TRONConnectModal({
3965
4092
  type = "login",
3966
4093
  onSuccess,
@@ -3970,14 +4097,14 @@ function TRONConnectModal({
3970
4097
  const intl = useIntl10();
3971
4098
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address: address2, onConnect } = useTRONWallet();
3972
4099
  const iconMaps = {
3973
- tronlink: /* @__PURE__ */ jsx23(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
3974
- bitget: /* @__PURE__ */ jsx23(BitgetIcon, { size: isDownMd ? 36 : 40 }),
3975
- okx: /* @__PURE__ */ jsx23(OKXIcon, { size: isDownMd ? 36 : 40 })
4100
+ tronlink: /* @__PURE__ */ jsx22(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
4101
+ bitget: /* @__PURE__ */ jsx22(BitgetIcon, { size: isDownMd ? 36 : 40 }),
4102
+ okx: /* @__PURE__ */ jsx22(OKXIcon, { size: isDownMd ? 36 : 40 })
3976
4103
  };
3977
4104
  const { events, login } = useMatch();
3978
- const [status, setStatus] = useState19("");
4105
+ const [status, setStatus] = useState20("");
3979
4106
  const statusRef = React8.useRef(status);
3980
- const [error, setError] = useState19("");
4107
+ const [error, setError] = useState20("");
3981
4108
  const connected = useMemo11(() => {
3982
4109
  return !!address2;
3983
4110
  }, [address2]);
@@ -4046,7 +4173,7 @@ function TRONConnectModal({
4046
4173
  statusRef.current = "";
4047
4174
  }
4048
4175
  };
4049
- useEffect17(() => {
4176
+ useEffect18(() => {
4050
4177
  if (wallet) {
4051
4178
  console.log("onConnect");
4052
4179
  onConnect();
@@ -4054,21 +4181,21 @@ function TRONConnectModal({
4054
4181
  setStatus("");
4055
4182
  }
4056
4183
  }, [wallet]);
4057
- useEffect17(() => {
4184
+ useEffect18(() => {
4058
4185
  if (address2) {
4059
4186
  toLoginInWallet();
4060
4187
  }
4061
4188
  }, [address2]);
4062
- useEffect17(() => {
4189
+ useEffect18(() => {
4063
4190
  if (!props.isOpen) {
4064
4191
  disconnect();
4065
4192
  }
4066
4193
  }, [props.isOpen]);
4067
- return /* @__PURE__ */ jsx23(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4194
+ return /* @__PURE__ */ jsx22(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4068
4195
  id: type == "bind" ? "bindWith" : "loginWith"
4069
4196
  }, {
4070
4197
  name: "TRON"
4071
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx23(
4198
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx22(
4072
4199
  WalletModalContent,
4073
4200
  {
4074
4201
  error,
@@ -4081,9 +4208,9 @@ function TRONConnectModal({
4081
4208
  setVisible: () => {
4082
4209
  }
4083
4210
  }
4084
- ) : /* @__PURE__ */ jsx23("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs17("div", { className: "matchid-login-recommend-list", children: [
4211
+ ) : /* @__PURE__ */ jsx22("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs16("div", { className: "matchid-login-recommend-list", children: [
4085
4212
  installedWallets.map((wallet2) => {
4086
- return /* @__PURE__ */ jsx23(
4213
+ return /* @__PURE__ */ jsx22(
4087
4214
  RecommendItem,
4088
4215
  {
4089
4216
  icon: iconMaps[wallet2.walletKey],
@@ -4096,14 +4223,14 @@ function TRONConnectModal({
4096
4223
  );
4097
4224
  }),
4098
4225
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
4099
- return /* @__PURE__ */ jsx23(
4226
+ return /* @__PURE__ */ jsx22(
4100
4227
  RecommendItem,
4101
4228
  {
4102
4229
  icon: iconMaps[wallet2.walletKey],
4103
4230
  name: wallet2.name,
4104
4231
  onClick: () => {
4105
4232
  },
4106
- footer: /* @__PURE__ */ jsx23(Button, { size: "sm", onClick: () => {
4233
+ footer: /* @__PURE__ */ jsx22(Button, { size: "sm", onClick: () => {
4107
4234
  window.open(wallet2.website);
4108
4235
  }, children: "Install" })
4109
4236
  },
@@ -4113,11 +4240,11 @@ function TRONConnectModal({
4113
4240
  ] }) }) });
4114
4241
  }
4115
4242
  function TRONModal(props) {
4116
- return props.isOpen && /* @__PURE__ */ jsx23(TRONConnectModal, { ...props, type: props.type });
4243
+ return props.isOpen && /* @__PURE__ */ jsx22(TRONConnectModal, { ...props, type: props.type });
4117
4244
  }
4118
4245
 
4119
4246
  // src/components/TONModal/index.tsx
4120
- import React9, { useEffect as useEffect18, useState as useState20 } from "react";
4247
+ import React9, { useEffect as useEffect19, useState as useState21 } from "react";
4121
4248
  import { useIntl as useIntl11 } from "react-intl";
4122
4249
  import {
4123
4250
  TonConnectUIProvider,
@@ -4126,21 +4253,21 @@ import {
4126
4253
  useTonConnectUI,
4127
4254
  useTonWallet
4128
4255
  } from "@tonconnect/ui-react";
4129
- import { jsx as jsx24 } from "react/jsx-runtime";
4256
+ import { jsx as jsx23 } from "react/jsx-runtime";
4130
4257
  function WalletContent2({
4131
4258
  onSuccess,
4132
4259
  type
4133
4260
  }) {
4134
4261
  const { events, login } = useMatch();
4135
- const [connected, setConnected] = useState20(false);
4262
+ const [connected, setConnected] = useState21(false);
4136
4263
  const wallet = useTonWallet();
4137
4264
  const userFriendlyAddress = useTonAddress();
4138
4265
  const [tonConnectUI] = useTonConnectUI();
4139
4266
  const { state, open, close } = useTonConnectModal();
4140
- const [status, setStatus] = useState20("");
4267
+ const [status, setStatus] = useState21("");
4141
4268
  const statusRef = React9.useRef(status);
4142
- const [error, setError] = useState20("");
4143
- useEffect18(() => {
4269
+ const [error, setError] = useState21("");
4270
+ useEffect19(() => {
4144
4271
  const init = async () => {
4145
4272
  if (wallet) {
4146
4273
  await tonConnectUI.disconnect();
@@ -4213,7 +4340,7 @@ function WalletContent2({
4213
4340
  }
4214
4341
  });
4215
4342
  }, []);
4216
- useEffect18(() => {
4343
+ useEffect19(() => {
4217
4344
  if (wallet) {
4218
4345
  setConnected(true);
4219
4346
  console.log("Wallet connected:", wallet);
@@ -4224,7 +4351,7 @@ function WalletContent2({
4224
4351
  setStatus("");
4225
4352
  }
4226
4353
  }, [wallet]);
4227
- useEffect18(() => {
4354
+ useEffect19(() => {
4228
4355
  console.log({
4229
4356
  state,
4230
4357
  wallet
@@ -4253,7 +4380,7 @@ function WalletContent2({
4253
4380
  }
4254
4381
  }
4255
4382
  }, [state]);
4256
- return /* @__PURE__ */ jsx24(
4383
+ return /* @__PURE__ */ jsx23(
4257
4384
  WalletModalContent,
4258
4385
  {
4259
4386
  connected,
@@ -4287,24 +4414,24 @@ function TONConnectModal({
4287
4414
  const intl = useIntl11();
4288
4415
  const { endpoints, appid } = useLocalStore_default();
4289
4416
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
4290
- return /* @__PURE__ */ jsx24(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4417
+ return /* @__PURE__ */ jsx23(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4291
4418
  id: type == "bind" ? "bindWith" : "loginWith"
4292
4419
  }, {
4293
4420
  name: "TON"
4294
- }), children: /* @__PURE__ */ jsx24(
4421
+ }), children: /* @__PURE__ */ jsx23(
4295
4422
  TonConnectUIProvider,
4296
4423
  {
4297
4424
  manifestUrl,
4298
- children: /* @__PURE__ */ jsx24(WalletContent2, { onSuccess, type })
4425
+ children: /* @__PURE__ */ jsx23(WalletContent2, { onSuccess, type })
4299
4426
  }
4300
4427
  ) });
4301
4428
  }
4302
4429
  function TONModal(props) {
4303
- return props.isOpen && /* @__PURE__ */ jsx24(TONConnectModal, { ...props });
4430
+ return props.isOpen && /* @__PURE__ */ jsx23(TONConnectModal, { ...props });
4304
4431
  }
4305
4432
 
4306
4433
  // src/components/BTCModal/index.tsx
4307
- import React10, { useEffect as useEffect20, useMemo as useMemo12, useState as useState22 } from "react";
4434
+ import React10, { useEffect as useEffect21, useMemo as useMemo12, useState as useState23 } from "react";
4308
4435
  import { useIntl as useIntl12 } from "react-intl";
4309
4436
 
4310
4437
  // src/lib/btc/UnisatAdapter.ts
@@ -4459,12 +4586,12 @@ var LeatherAdapter = class {
4459
4586
  };
4460
4587
 
4461
4588
  // src/hooks/useBTCWallet.ts
4462
- import { useEffect as useEffect19, useState as useState21 } from "react";
4589
+ import { useEffect as useEffect20, useState as useState22 } from "react";
4463
4590
  var useBTCWallet = () => {
4464
4591
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
4465
- const [installedWallets, setInstalledWallets] = useState21([]);
4466
- const [address2, setAddress] = useState21(null);
4467
- useEffect19(() => {
4592
+ const [installedWallets, setInstalledWallets] = useState22([]);
4593
+ const [address2, setAddress] = useState22(null);
4594
+ useEffect20(() => {
4468
4595
  const getInstalled = async () => {
4469
4596
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
4470
4597
  wallet: wallet2,
@@ -4474,11 +4601,11 @@ var useBTCWallet = () => {
4474
4601
  };
4475
4602
  getInstalled();
4476
4603
  }, []);
4477
- const [wallet, chooseWallet] = useState21(null);
4604
+ const [wallet, chooseWallet] = useState22(null);
4478
4605
  const onConnect = async () => {
4479
4606
  setAddress(await wallet.connect());
4480
4607
  };
4481
- useEffect19(() => {
4608
+ useEffect20(() => {
4482
4609
  if (!wallet) {
4483
4610
  setAddress(null);
4484
4611
  }
@@ -4494,7 +4621,7 @@ var useBTCWallet = () => {
4494
4621
  };
4495
4622
 
4496
4623
  // src/components/BTCModal/index.tsx
4497
- import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
4624
+ import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
4498
4625
  function BTCConnectModal({
4499
4626
  type = "login",
4500
4627
  onSuccess,
@@ -4504,14 +4631,14 @@ function BTCConnectModal({
4504
4631
  const intl = useIntl12();
4505
4632
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address: address2, onConnect } = useBTCWallet();
4506
4633
  const iconMaps = {
4507
- leather: /* @__PURE__ */ jsx25(LeatherIcon, { size: isDownMd ? 36 : 40 }),
4508
- unisat: /* @__PURE__ */ jsx25(UnisatIcon, { size: isDownMd ? 36 : 40 }),
4509
- xverse: /* @__PURE__ */ jsx25(XverseIcon, { size: isDownMd ? 36 : 40 })
4634
+ leather: /* @__PURE__ */ jsx24(LeatherIcon, { size: isDownMd ? 36 : 40 }),
4635
+ unisat: /* @__PURE__ */ jsx24(UnisatIcon, { size: isDownMd ? 36 : 40 }),
4636
+ xverse: /* @__PURE__ */ jsx24(XverseIcon, { size: isDownMd ? 36 : 40 })
4510
4637
  };
4511
4638
  const { events, login } = useMatch();
4512
- const [status, setStatus] = useState22("");
4639
+ const [status, setStatus] = useState23("");
4513
4640
  const statusRef = React10.useRef(status);
4514
- const [error, setError] = useState22("");
4641
+ const [error, setError] = useState23("");
4515
4642
  const connected = useMemo12(() => {
4516
4643
  return !!address2;
4517
4644
  }, [address2]);
@@ -4576,7 +4703,7 @@ function BTCConnectModal({
4576
4703
  statusRef.current = "";
4577
4704
  }
4578
4705
  };
4579
- useEffect20(() => {
4706
+ useEffect21(() => {
4580
4707
  if (wallet) {
4581
4708
  console.log("onConnect");
4582
4709
  try {
@@ -4589,12 +4716,12 @@ function BTCConnectModal({
4589
4716
  setStatus("");
4590
4717
  }
4591
4718
  }, [wallet]);
4592
- useEffect20(() => {
4719
+ useEffect21(() => {
4593
4720
  if (address2) {
4594
4721
  toLoginInWallet();
4595
4722
  }
4596
4723
  }, [address2]);
4597
- useEffect20(() => {
4724
+ useEffect21(() => {
4598
4725
  if (!props.isOpen) {
4599
4726
  disconnect();
4600
4727
  }
@@ -4606,11 +4733,11 @@ function BTCConnectModal({
4606
4733
  statusRef.current = "";
4607
4734
  setError("");
4608
4735
  };
4609
- return /* @__PURE__ */ jsx25(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4736
+ return /* @__PURE__ */ jsx24(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4610
4737
  id: type == "bind" ? "bindWith" : "loginWith"
4611
4738
  }, {
4612
4739
  name: "BTC"
4613
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx25(
4740
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx24(
4614
4741
  WalletModalContent,
4615
4742
  {
4616
4743
  error,
@@ -4623,9 +4750,9 @@ function BTCConnectModal({
4623
4750
  setVisible: () => {
4624
4751
  }
4625
4752
  }
4626
- ) : /* @__PURE__ */ jsx25("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs18("div", { className: "matchid-login-recommend-list", children: [
4753
+ ) : /* @__PURE__ */ jsx24("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs17("div", { className: "matchid-login-recommend-list", children: [
4627
4754
  installedWallets.map((wallet2) => {
4628
- return /* @__PURE__ */ jsx25(
4755
+ return /* @__PURE__ */ jsx24(
4629
4756
  RecommendItem,
4630
4757
  {
4631
4758
  icon: iconMaps[wallet2.walletKey],
@@ -4638,14 +4765,14 @@ function BTCConnectModal({
4638
4765
  );
4639
4766
  }),
4640
4767
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
4641
- return /* @__PURE__ */ jsx25(
4768
+ return /* @__PURE__ */ jsx24(
4642
4769
  RecommendItem,
4643
4770
  {
4644
4771
  icon: iconMaps[wallet2.walletKey],
4645
4772
  name: wallet2.name,
4646
4773
  onClick: () => {
4647
4774
  },
4648
- footer: /* @__PURE__ */ jsx25(Button, { size: "sm", onClick: () => {
4775
+ footer: /* @__PURE__ */ jsx24(Button, { size: "sm", onClick: () => {
4649
4776
  window.open(wallet2.website);
4650
4777
  }, children: "Install" })
4651
4778
  },
@@ -4655,13 +4782,13 @@ function BTCConnectModal({
4655
4782
  ] }) }) });
4656
4783
  }
4657
4784
  function BTCModal(props) {
4658
- return props.isOpen && /* @__PURE__ */ jsx25(BTCConnectModal, { ...props });
4785
+ return props.isOpen && /* @__PURE__ */ jsx24(BTCConnectModal, { ...props });
4659
4786
  }
4660
4787
 
4661
4788
  // src/components/WalletModal/index.tsx
4662
4789
  import { useMemo as useMemo13 } from "react";
4663
4790
  import { useIntl as useIntl13 } from "react-intl";
4664
- import { jsx as jsx26 } from "react/jsx-runtime";
4791
+ import { jsx as jsx25 } from "react/jsx-runtime";
4665
4792
  function WalletConnectModal({
4666
4793
  type,
4667
4794
  methods: _methods,
@@ -4679,13 +4806,13 @@ function WalletConnectModal({
4679
4806
  const platform = config.platform.map((p) => p.toLowerCase());
4680
4807
  return WALLET_METHODS.filter((m) => platform.includes(m));
4681
4808
  }, [config.platform, _methods]);
4682
- return /* @__PURE__ */ jsx26(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4809
+ return /* @__PURE__ */ jsx25(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4683
4810
  id: type == "bind" ? "bindWith" : "loginWith"
4684
4811
  }, {
4685
4812
  name: ""
4686
- }), children: /* @__PURE__ */ jsx26("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx26("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
4813
+ }), children: /* @__PURE__ */ jsx25("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx25("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
4687
4814
  const m = walletMap[method];
4688
- return /* @__PURE__ */ jsx26(
4815
+ return /* @__PURE__ */ jsx25(
4689
4816
  RecommendItem,
4690
4817
  {
4691
4818
  icon: m?.icon,
@@ -4699,7 +4826,7 @@ function WalletConnectModal({
4699
4826
  }) }) }) });
4700
4827
  }
4701
4828
  function WalletModal(props) {
4702
- return props.isOpen && /* @__PURE__ */ jsx26(WalletConnectModal, { ...props });
4829
+ return props.isOpen && /* @__PURE__ */ jsx25(WalletConnectModal, { ...props });
4703
4830
  }
4704
4831
 
4705
4832
  export {
@@ -4736,8 +4863,9 @@ export {
4736
4863
  useMatchWallet,
4737
4864
  useMatchWalletRecords,
4738
4865
  useReceipt,
4866
+ useTransaction,
4739
4867
  hooks_exports,
4740
4868
  MatchProvider,
4741
4869
  useMatch
4742
4870
  };
4743
- //# sourceMappingURL=chunk-6GQ2H4L2.mjs.map
4871
+ //# sourceMappingURL=chunk-2CK7JQWH.mjs.map