@matchain/matchid-sdk-react 0.1.48-alpha.21 → 0.1.48-alpha.23
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 +1 -1
- package/dist/assets/icon/index.d.ts +1 -1
- package/dist/{chunk-WXPVHKGJ.mjs → chunk-FB5MHLWX.mjs} +3 -1
- package/dist/{chunk-CHWBALAC.mjs → chunk-FYW4P7HS.mjs} +607 -577
- package/dist/chunk-FYW4P7HS.mjs.map +1 -0
- package/dist/{chunk-IV4F5SHJ.mjs → chunk-SB54XHCJ.mjs} +2 -2
- package/dist/components/index.d.mts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +450 -461
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +3 -3
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +38 -29
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +3 -3
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +130 -147
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +3 -3
- package/dist/{index-C9qYyRgt.d.mts → index-B4gKj0ro.d.mts} +2 -2
- package/dist/{index-Bpmrd7mh.d.ts → index-BFSCCmlU.d.ts} +1 -1
- package/dist/{index-Cy3K-Yao.d.ts → index-BHXlpUg5.d.ts} +1 -1
- package/dist/{index-Dhtyz0pT.d.mts → index-BObJQar4.d.mts} +2 -1
- package/dist/{index-BcEreCxd.d.ts → index-BOsoQSmx.d.ts} +1 -1
- package/dist/{index-C9F6f2iz.d.mts → index-Bk_dqXKp.d.mts} +2 -2
- package/dist/{index-BMsj8hJv.d.ts → index-CN2jy6bb.d.ts} +2 -2
- package/dist/{index-CFKZWJVt.d.ts → index-CSTyna62.d.ts} +2 -1
- package/dist/{index-BMfaixEx.d.mts → index-Ca30Hgn7.d.mts} +1 -1
- package/dist/{index-Cou96DpL.d.mts → index-CdM22eod.d.mts} +1 -1
- package/dist/{index-D4ju2J_e.d.mts → index-D3GBq1P1.d.mts} +1 -1
- package/dist/{index-Bvc8cjpN.d.ts → index-DTYp8DRd.d.ts} +2 -2
- package/dist/index.css +33 -0
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +261 -233
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -10
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/{types-DzVVzMYU.d.mts → types-Dc15ure7.d.mts} +1 -1
- package/dist/{types-DzVVzMYU.d.ts → types-Dc15ure7.d.ts} +1 -1
- package/dist/ui/index.d.mts +3 -3
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-CHWBALAC.mjs.map +0 -1
- /package/dist/{chunk-WXPVHKGJ.mjs.map → chunk-FB5MHLWX.mjs.map} +0 -0
- /package/dist/{chunk-IV4F5SHJ.mjs.map → chunk-SB54XHCJ.mjs.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -57,7 +57,7 @@ __export(components_exports, {
|
|
|
57
57
|
module.exports = __toCommonJS(components_exports);
|
|
58
58
|
|
|
59
59
|
// src/components/EmailModal/index.tsx
|
|
60
|
-
var
|
|
60
|
+
var import_react24 = require("react");
|
|
61
61
|
|
|
62
62
|
// src/assets/icon/ArrowLeftIcon.tsx
|
|
63
63
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1849,10 +1849,10 @@ var localStore = useLocalStore;
|
|
|
1849
1849
|
var useLocalStore_default = useLocalStore;
|
|
1850
1850
|
|
|
1851
1851
|
// src/hooks/useUserInfo.tsx
|
|
1852
|
-
var
|
|
1852
|
+
var import_react22 = require("react");
|
|
1853
1853
|
|
|
1854
1854
|
// src/MatchContext.tsx
|
|
1855
|
-
var
|
|
1855
|
+
var import_react21 = require("react");
|
|
1856
1856
|
|
|
1857
1857
|
// src/hooks/useMatchEvents.ts
|
|
1858
1858
|
var import_react5 = require("react");
|
|
@@ -2198,7 +2198,6 @@ var import_middleware2 = require("zustand/middleware");
|
|
|
2198
2198
|
var persistedState2 = (0, import_middleware2.persist)(
|
|
2199
2199
|
(set, get) => ({
|
|
2200
2200
|
transactions: {},
|
|
2201
|
-
getTransactions: (chainId, address) => get().transactions[`${chainId}-${address}`] || [],
|
|
2202
2201
|
addTransaction: (data) => {
|
|
2203
2202
|
set((state) => {
|
|
2204
2203
|
const updatedTransactions = {
|
|
@@ -2622,8 +2621,8 @@ function useMatchChain() {
|
|
|
2622
2621
|
|
|
2623
2622
|
// src/hooks/useMatchWallet.tsx
|
|
2624
2623
|
var import_react_qrcode = require("react-qrcode");
|
|
2625
|
-
var
|
|
2626
|
-
var
|
|
2624
|
+
var import_react15 = require("react");
|
|
2625
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
2627
2626
|
|
|
2628
2627
|
// src/config/index.tsx
|
|
2629
2628
|
var EMAIL_INTERVAL = 60;
|
|
@@ -2631,7 +2630,7 @@ var EMAIL_CODE_LENGTH = 6;
|
|
|
2631
2630
|
var NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
2632
2631
|
|
|
2633
2632
|
// src/hooks/useMatchWallet.tsx
|
|
2634
|
-
var
|
|
2633
|
+
var import_viem7 = require("viem");
|
|
2635
2634
|
|
|
2636
2635
|
// src/store/useContractStore.ts
|
|
2637
2636
|
var import_zustand4 = require("zustand");
|
|
@@ -2690,15 +2689,24 @@ var useContractStore = (0, import_zustand4.create)((0, import_middleware3.devtoo
|
|
|
2690
2689
|
var useContractStore_default = useContractStore;
|
|
2691
2690
|
|
|
2692
2691
|
// src/hooks/useMatchWallet.tsx
|
|
2692
|
+
var import_react_intl3 = require("react-intl");
|
|
2693
|
+
|
|
2694
|
+
// src/components/ImportToken/index.tsx
|
|
2695
|
+
var import_react14 = require("react");
|
|
2693
2696
|
var import_react_intl2 = require("react-intl");
|
|
2697
|
+
var import_react_query3 = require("@tanstack/react-query");
|
|
2698
|
+
var import_viem6 = require("viem");
|
|
2694
2699
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2700
|
+
|
|
2701
|
+
// src/hooks/useMatchWallet.tsx
|
|
2702
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
2695
2703
|
function useMatchWalletRecords() {
|
|
2696
|
-
const [hasMore, setHasMore] = (0,
|
|
2697
|
-
const [items, setItems] = (0,
|
|
2704
|
+
const [hasMore, setHasMore] = (0, import_react15.useState)(true);
|
|
2705
|
+
const [items, setItems] = (0, import_react15.useState)([]);
|
|
2698
2706
|
const { chainId, publicClient } = useMatchChain();
|
|
2699
2707
|
const { address } = useWallet();
|
|
2700
|
-
const hasMoreRef = (0,
|
|
2701
|
-
const nextPageParamsRef = (0,
|
|
2708
|
+
const hasMoreRef = (0, import_react15.useRef)(hasMore);
|
|
2709
|
+
const nextPageParamsRef = (0, import_react15.useRef)(void 0);
|
|
2702
2710
|
const { getContract, setContracts } = useContractStore_default();
|
|
2703
2711
|
const fetchMoreData = async () => {
|
|
2704
2712
|
const chainIdStr = chainId ? chainId.toString() : "";
|
|
@@ -2729,13 +2737,13 @@ function useMatchWalletRecords() {
|
|
|
2729
2737
|
for (const contract of contractUnique) {
|
|
2730
2738
|
calls.push({
|
|
2731
2739
|
address: contract,
|
|
2732
|
-
abi:
|
|
2740
|
+
abi: import_viem7.erc20Abi,
|
|
2733
2741
|
functionName: "symbol",
|
|
2734
2742
|
args: []
|
|
2735
2743
|
});
|
|
2736
2744
|
calls.push({
|
|
2737
2745
|
address: contract,
|
|
2738
|
-
abi:
|
|
2746
|
+
abi: import_viem7.erc20Abi,
|
|
2739
2747
|
functionName: "decimals",
|
|
2740
2748
|
args: []
|
|
2741
2749
|
});
|
|
@@ -2774,14 +2782,14 @@ function useMatchWalletRecords() {
|
|
|
2774
2782
|
hasMoreRef.current = true;
|
|
2775
2783
|
fetchMoreData();
|
|
2776
2784
|
};
|
|
2777
|
-
(0,
|
|
2785
|
+
(0, import_react15.useEffect)(() => {
|
|
2778
2786
|
if (chainId && address) {
|
|
2779
2787
|
onInit();
|
|
2780
2788
|
}
|
|
2781
2789
|
}, [chainId, address]);
|
|
2782
|
-
const {
|
|
2783
|
-
const list = (0,
|
|
2784
|
-
const localTransactions =
|
|
2790
|
+
const { transactions, removeTransaction } = useTransactionStore_default();
|
|
2791
|
+
const list = (0, import_react15.useMemo)(() => {
|
|
2792
|
+
const localTransactions = transactions[`${chainId}-${address}`] || [];
|
|
2785
2793
|
const removeList = localTransactions.filter((n) => items.findIndex((m) => m.hash == n.hash) >= 0);
|
|
2786
2794
|
removeList.forEach((item) => {
|
|
2787
2795
|
removeTransaction({
|
|
@@ -2799,7 +2807,7 @@ function useMatchWalletRecords() {
|
|
|
2799
2807
|
const atimestamp = typeof a.timestamp === "string" ? parseInt(a.timestamp) : a.timestamp;
|
|
2800
2808
|
return btimestamp - atimestamp;
|
|
2801
2809
|
});
|
|
2802
|
-
}, [
|
|
2810
|
+
}, [transactions, chainId, items, address]);
|
|
2803
2811
|
return {
|
|
2804
2812
|
items: list,
|
|
2805
2813
|
fetchMoreData,
|
|
@@ -2819,7 +2827,7 @@ function useMatchWalletAssets({
|
|
|
2819
2827
|
chainId: chainId || 0,
|
|
2820
2828
|
...assetListOptions
|
|
2821
2829
|
});
|
|
2822
|
-
const mergedAssets = (0,
|
|
2830
|
+
const mergedAssets = (0, import_react15.useMemo)(() => {
|
|
2823
2831
|
if (!assetListQuery.data && !importTokenQuery.data) return [];
|
|
2824
2832
|
const assetList = (assetListQuery.data || []).map((asset) => ({
|
|
2825
2833
|
...asset,
|
|
@@ -2887,7 +2895,7 @@ function useMatchWalletAssetList({
|
|
|
2887
2895
|
name: chain?.nativeCurrency.name,
|
|
2888
2896
|
balance: 0
|
|
2889
2897
|
};
|
|
2890
|
-
const nativeBalanceQuery = (0,
|
|
2898
|
+
const nativeBalanceQuery = (0, import_react_query4.useQuery)({
|
|
2891
2899
|
queryKey: ["nativeBalance", nativeToken?.chain_id],
|
|
2892
2900
|
queryFn: async () => {
|
|
2893
2901
|
if (!nativeToken || !publicClient) return null;
|
|
@@ -2906,35 +2914,14 @@ function useMatchWalletAssetList({
|
|
|
2906
2914
|
retry: 3
|
|
2907
2915
|
// Retry up to 3 times if failed
|
|
2908
2916
|
});
|
|
2909
|
-
const erc20Tokens = (0,
|
|
2910
|
-
const
|
|
2911
|
-
{
|
|
2912
|
-
"constant": true,
|
|
2913
|
-
"inputs": [
|
|
2914
|
-
{
|
|
2915
|
-
"name": "_owner",
|
|
2916
|
-
"type": "address"
|
|
2917
|
-
}
|
|
2918
|
-
],
|
|
2919
|
-
"name": "balanceOf",
|
|
2920
|
-
"outputs": [
|
|
2921
|
-
{
|
|
2922
|
-
"name": "balance",
|
|
2923
|
-
"type": "uint256"
|
|
2924
|
-
}
|
|
2925
|
-
],
|
|
2926
|
-
"payable": false,
|
|
2927
|
-
"stateMutability": "view",
|
|
2928
|
-
"type": "function"
|
|
2929
|
-
}
|
|
2930
|
-
];
|
|
2931
|
-
const erc20BalanceQuery = (0, import_react_query3.useQuery)({
|
|
2917
|
+
const erc20Tokens = (0, import_react15.useMemo)(() => list.filter((asset) => asset.address !== NATIVE_TOKEN_ADDRESS), [list]);
|
|
2918
|
+
const erc20BalanceQuery = (0, import_react_query4.useQuery)({
|
|
2932
2919
|
queryKey: ["erc20Balances", erc20Tokens.map((token) => token.address)],
|
|
2933
2920
|
queryFn: async () => {
|
|
2934
2921
|
if (!erc20Tokens.length || !publicClient) return [];
|
|
2935
2922
|
const calls = erc20Tokens.map((token) => ({
|
|
2936
2923
|
address: token.address,
|
|
2937
|
-
abi:
|
|
2924
|
+
abi: import_viem7.erc20Abi,
|
|
2938
2925
|
functionName: "balanceOf",
|
|
2939
2926
|
args: [address]
|
|
2940
2927
|
}));
|
|
@@ -2955,7 +2942,7 @@ function useMatchWalletAssetList({
|
|
|
2955
2942
|
// Refresh every 15 seconds
|
|
2956
2943
|
retry: 3
|
|
2957
2944
|
});
|
|
2958
|
-
const enrichedAssets = (0,
|
|
2945
|
+
const enrichedAssets = (0, import_react15.useMemo)(() => {
|
|
2959
2946
|
if (!list) return [];
|
|
2960
2947
|
const erc20Balances = erc20BalanceQuery.data || [];
|
|
2961
2948
|
return list.map((asset) => {
|
|
@@ -2964,11 +2951,11 @@ function useMatchWalletAssetList({
|
|
|
2964
2951
|
const decimals = typeof asset.decimals === "string" ? parseInt(asset.decimals) : asset.decimals;
|
|
2965
2952
|
if (asset.address === NATIVE_TOKEN_ADDRESS) {
|
|
2966
2953
|
balanceValue = nativeBalanceQuery.data?.toString() || "0";
|
|
2967
|
-
balance = nativeBalanceQuery.data ? Number((0,
|
|
2954
|
+
balance = nativeBalanceQuery.data ? Number((0, import_viem7.formatUnits)(nativeBalanceQuery.data, decimals)) : 0;
|
|
2968
2955
|
} else {
|
|
2969
2956
|
const index = erc20Tokens.findIndex((t) => t.address === asset.address);
|
|
2970
2957
|
if (index !== -1 && erc20Balances[index] && erc20Balances[index].status === "success") {
|
|
2971
|
-
balance = Number((0,
|
|
2958
|
+
balance = Number((0, import_viem7.formatUnits)(erc20Balances[index].result, decimals));
|
|
2972
2959
|
balanceValue = erc20Balances[index].result?.toString() || "0";
|
|
2973
2960
|
}
|
|
2974
2961
|
}
|
|
@@ -2976,7 +2963,7 @@ function useMatchWalletAssetList({
|
|
|
2976
2963
|
return { ...asset, balance, value, balanceValue };
|
|
2977
2964
|
});
|
|
2978
2965
|
}, [list, nativeBalanceQuery.data, erc20BalanceQuery.data]);
|
|
2979
|
-
(0,
|
|
2966
|
+
(0, import_react15.useEffect)(() => {
|
|
2980
2967
|
const list2 = enrichedAssets.sort((a, b) => {
|
|
2981
2968
|
if (a.address === NATIVE_TOKEN_ADDRESS) return -1;
|
|
2982
2969
|
if (b.address === NATIVE_TOKEN_ADDRESS) return 1;
|
|
@@ -2992,60 +2979,61 @@ function useMatchWalletAssetList({
|
|
|
2992
2979
|
return {
|
|
2993
2980
|
list: assets,
|
|
2994
2981
|
isLoading: nativeBalanceQuery.isLoading || erc20BalanceQuery.isLoading,
|
|
2982
|
+
isFetched: nativeBalanceQuery.isFetched && erc20BalanceQuery.isFetched,
|
|
2995
2983
|
nativeBalance: nativeBalanceQuery.data,
|
|
2996
2984
|
erc20Balances: erc20BalanceQuery.data
|
|
2997
2985
|
};
|
|
2998
2986
|
}
|
|
2999
2987
|
|
|
3000
2988
|
// src/hooks/useReceipt.tsx
|
|
3001
|
-
var import_react15 = require("react");
|
|
3002
|
-
var import_react_query4 = require("@tanstack/react-query");
|
|
3003
|
-
var import_viem7 = require("viem");
|
|
3004
|
-
var CACHE_TTL = 86400 * 30 * 1e3;
|
|
3005
|
-
|
|
3006
|
-
// src/hooks/useTransaction.tsx
|
|
3007
2989
|
var import_react16 = require("react");
|
|
3008
2990
|
var import_react_query5 = require("@tanstack/react-query");
|
|
3009
2991
|
var import_viem8 = require("viem");
|
|
2992
|
+
var CACHE_TTL = 86400 * 30 * 1e3;
|
|
2993
|
+
|
|
2994
|
+
// src/hooks/useTransaction.tsx
|
|
2995
|
+
var import_react17 = require("react");
|
|
2996
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
2997
|
+
var import_viem9 = require("viem");
|
|
3010
2998
|
var CACHE_TTL2 = 86400 * 30 * 1e3;
|
|
3011
2999
|
|
|
3012
3000
|
// src/store/useModalStore.ts
|
|
3013
3001
|
var import_zustand5 = require("zustand");
|
|
3014
3002
|
|
|
3015
3003
|
// src/hooks/useConfig.tsx
|
|
3016
|
-
var
|
|
3004
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3017
3005
|
var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
|
|
3018
3006
|
var WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
|
|
3019
3007
|
function useWalletConfig() {
|
|
3020
3008
|
const isDownMd = useDownMd();
|
|
3021
3009
|
const walletMap = {
|
|
3022
3010
|
evm: {
|
|
3023
|
-
icon: /* @__PURE__ */ (0,
|
|
3024
|
-
activeIcon: /* @__PURE__ */ (0,
|
|
3011
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
|
|
3012
|
+
activeIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
|
|
3025
3013
|
name: "EVM",
|
|
3026
3014
|
method: "evm"
|
|
3027
3015
|
},
|
|
3028
3016
|
sol: {
|
|
3029
|
-
icon: /* @__PURE__ */ (0,
|
|
3030
|
-
activeIcon: /* @__PURE__ */ (0,
|
|
3017
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
|
|
3018
|
+
activeIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
|
|
3031
3019
|
name: "SOL",
|
|
3032
3020
|
method: "sol"
|
|
3033
3021
|
},
|
|
3034
3022
|
btc: {
|
|
3035
|
-
icon: /* @__PURE__ */ (0,
|
|
3036
|
-
activeIcon: /* @__PURE__ */ (0,
|
|
3023
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
|
|
3024
|
+
activeIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
|
|
3037
3025
|
name: "BTC",
|
|
3038
3026
|
method: "btc"
|
|
3039
3027
|
},
|
|
3040
3028
|
tron: {
|
|
3041
|
-
icon: /* @__PURE__ */ (0,
|
|
3042
|
-
activeIcon: /* @__PURE__ */ (0,
|
|
3029
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
|
|
3030
|
+
activeIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
|
|
3043
3031
|
name: "TRON",
|
|
3044
3032
|
method: "tron"
|
|
3045
3033
|
},
|
|
3046
3034
|
ton: {
|
|
3047
|
-
icon: /* @__PURE__ */ (0,
|
|
3048
|
-
activeIcon: /* @__PURE__ */ (0,
|
|
3035
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TonLightIcon, { size: isDownMd ? 36 : 40 }),
|
|
3036
|
+
activeIcon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
|
|
3049
3037
|
name: "TON",
|
|
3050
3038
|
method: "ton"
|
|
3051
3039
|
}
|
|
@@ -3095,31 +3083,31 @@ var useWalletModalStore = (0, import_zustand5.create)((set) => ({
|
|
|
3095
3083
|
}));
|
|
3096
3084
|
|
|
3097
3085
|
// src/components/CEXBindModal/index.tsx
|
|
3098
|
-
var
|
|
3099
|
-
var
|
|
3100
|
-
var
|
|
3086
|
+
var import_react18 = require("react");
|
|
3087
|
+
var import_react_intl4 = require("react-intl");
|
|
3088
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3101
3089
|
|
|
3102
3090
|
// src/context/BusinessProvider.tsx
|
|
3103
|
-
var
|
|
3091
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3104
3092
|
|
|
3105
3093
|
// src/context/index.tsx
|
|
3106
|
-
var
|
|
3094
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3107
3095
|
|
|
3108
3096
|
// src/hooks/useWalletInit.ts
|
|
3109
|
-
var
|
|
3097
|
+
var import_react19 = require("react");
|
|
3110
3098
|
var AppClientId2 = getAppClientId();
|
|
3111
3099
|
|
|
3112
3100
|
// src/hooks/useInit.tsx
|
|
3113
|
-
var
|
|
3101
|
+
var import_react20 = require("react");
|
|
3114
3102
|
|
|
3115
3103
|
// src/MatchContext.tsx
|
|
3116
|
-
var
|
|
3117
|
-
var
|
|
3118
|
-
var
|
|
3119
|
-
var queryClient = new
|
|
3120
|
-
var MatchContext = (0,
|
|
3104
|
+
var import_react_query7 = require("@tanstack/react-query");
|
|
3105
|
+
var import_react_intl5 = require("react-intl");
|
|
3106
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
3107
|
+
var queryClient = new import_react_query7.QueryClient();
|
|
3108
|
+
var MatchContext = (0, import_react21.createContext)(void 0);
|
|
3121
3109
|
var useMatch = () => {
|
|
3122
|
-
const context = (0,
|
|
3110
|
+
const context = (0, import_react21.useContext)(MatchContext);
|
|
3123
3111
|
if (context === void 0) {
|
|
3124
3112
|
throw new Error("useMatch must be used within a MatchProvider");
|
|
3125
3113
|
}
|
|
@@ -3148,7 +3136,7 @@ function useUserInfo() {
|
|
|
3148
3136
|
const { open: BTCOpen } = useBTCModalStore();
|
|
3149
3137
|
const { open: CEXBindOpen } = useCEXBindModalStore();
|
|
3150
3138
|
const walletModalStore = useWalletModalStore();
|
|
3151
|
-
const isLogin = (0,
|
|
3139
|
+
const isLogin = (0, import_react22.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
3152
3140
|
const logout = async () => {
|
|
3153
3141
|
try {
|
|
3154
3142
|
await toLogoutApi();
|
|
@@ -3380,23 +3368,23 @@ function useUserInfo() {
|
|
|
3380
3368
|
}
|
|
3381
3369
|
|
|
3382
3370
|
// src/components/EmailModal/StepVerify.tsx
|
|
3383
|
-
var
|
|
3384
|
-
var
|
|
3385
|
-
var
|
|
3371
|
+
var import_react23 = require("react");
|
|
3372
|
+
var import_react_intl6 = require("react-intl");
|
|
3373
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3386
3374
|
function StepVerify(props) {
|
|
3387
|
-
const intl = (0,
|
|
3375
|
+
const intl = (0, import_react_intl6.useIntl)();
|
|
3388
3376
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
3389
|
-
const [error, setError] = (0,
|
|
3390
|
-
const [code, setCode] = (0,
|
|
3391
|
-
const [sending, setSending] = (0,
|
|
3392
|
-
const [submitting, setSubmitting] = (0,
|
|
3393
|
-
const sendTimeRef = (0,
|
|
3394
|
-
const [sendBtnText, setSendBtnText] = (0,
|
|
3377
|
+
const [error, setError] = (0, import_react23.useState)("");
|
|
3378
|
+
const [code, setCode] = (0, import_react23.useState)("");
|
|
3379
|
+
const [sending, setSending] = (0, import_react23.useState)(false);
|
|
3380
|
+
const [submitting, setSubmitting] = (0, import_react23.useState)(false);
|
|
3381
|
+
const sendTimeRef = (0, import_react23.useRef)(0);
|
|
3382
|
+
const [sendBtnText, setSendBtnText] = (0, import_react23.useState)(intl.formatMessage({
|
|
3395
3383
|
id: "send"
|
|
3396
3384
|
}));
|
|
3397
3385
|
const intervalTime = EMAIL_INTERVAL;
|
|
3398
3386
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
3399
|
-
const intervalRef = (0,
|
|
3387
|
+
const intervalRef = (0, import_react23.useRef)(null);
|
|
3400
3388
|
const isDownMd = useDownMd();
|
|
3401
3389
|
const onSend = async () => {
|
|
3402
3390
|
if (sendTimeRef.current > 0) {
|
|
@@ -3427,7 +3415,7 @@ function StepVerify(props) {
|
|
|
3427
3415
|
setSending(false);
|
|
3428
3416
|
}
|
|
3429
3417
|
};
|
|
3430
|
-
(0,
|
|
3418
|
+
(0, import_react23.useEffect)(() => {
|
|
3431
3419
|
onSend();
|
|
3432
3420
|
return () => {
|
|
3433
3421
|
if (intervalRef.current) {
|
|
@@ -3435,7 +3423,7 @@ function StepVerify(props) {
|
|
|
3435
3423
|
}
|
|
3436
3424
|
};
|
|
3437
3425
|
}, []);
|
|
3438
|
-
const canContinue = (0,
|
|
3426
|
+
const canContinue = (0, import_react23.useMemo)(() => {
|
|
3439
3427
|
return code.length === codeLength;
|
|
3440
3428
|
}, [code]);
|
|
3441
3429
|
const onContinue = async () => {
|
|
@@ -3459,17 +3447,17 @@ function StepVerify(props) {
|
|
|
3459
3447
|
setSubmitting(false);
|
|
3460
3448
|
}
|
|
3461
3449
|
};
|
|
3462
|
-
return /* @__PURE__ */ (0,
|
|
3463
|
-
/* @__PURE__ */ (0,
|
|
3464
|
-
/* @__PURE__ */ (0,
|
|
3465
|
-
/* @__PURE__ */ (0,
|
|
3466
|
-
/* @__PURE__ */ (0,
|
|
3467
|
-
/* @__PURE__ */ (0,
|
|
3450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "matchid-email-verify-box", children: [
|
|
3451
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "matchid-email-verify-header", children: [
|
|
3452
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
|
|
3453
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
3454
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
3455
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_intl6.FormattedMessage, { id: "sendEmailTips" }) })
|
|
3468
3456
|
] })
|
|
3469
3457
|
] }),
|
|
3470
|
-
/* @__PURE__ */ (0,
|
|
3458
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Field, { label: intl.formatMessage({
|
|
3471
3459
|
id: "verificationCode"
|
|
3472
|
-
}), error, children: /* @__PURE__ */ (0,
|
|
3460
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3473
3461
|
Input,
|
|
3474
3462
|
{
|
|
3475
3463
|
placeholder: intl.formatMessage({
|
|
@@ -3479,7 +3467,7 @@ function StepVerify(props) {
|
|
|
3479
3467
|
maxLength: codeLength,
|
|
3480
3468
|
onChange: (e) => setCode(e.target.value),
|
|
3481
3469
|
value: code,
|
|
3482
|
-
after: /* @__PURE__ */ (0,
|
|
3470
|
+
after: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3483
3471
|
Button,
|
|
3484
3472
|
{
|
|
3485
3473
|
highlight: true,
|
|
@@ -3498,13 +3486,13 @@ function StepVerify(props) {
|
|
|
3498
3486
|
)
|
|
3499
3487
|
}
|
|
3500
3488
|
) }),
|
|
3501
|
-
/* @__PURE__ */ (0,
|
|
3489
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_intl6.FormattedMessage, { id: "continue" }) })
|
|
3502
3490
|
] });
|
|
3503
3491
|
}
|
|
3504
3492
|
|
|
3505
3493
|
// src/components/EmailModal/index.tsx
|
|
3506
|
-
var
|
|
3507
|
-
var
|
|
3494
|
+
var import_react_intl7 = require("react-intl");
|
|
3495
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
3508
3496
|
function EmailModal({
|
|
3509
3497
|
isOpen = false,
|
|
3510
3498
|
width = 480,
|
|
@@ -3512,16 +3500,16 @@ function EmailModal({
|
|
|
3512
3500
|
onBack,
|
|
3513
3501
|
onLogin
|
|
3514
3502
|
}) {
|
|
3515
|
-
const [step, setStep] = (0,
|
|
3516
|
-
const [emailVal, setEmailVal] = (0,
|
|
3517
|
-
const intl = (0,
|
|
3518
|
-
(0,
|
|
3503
|
+
const [step, setStep] = (0, import_react24.useState)("input");
|
|
3504
|
+
const [emailVal, setEmailVal] = (0, import_react24.useState)("");
|
|
3505
|
+
const intl = (0, import_react_intl7.useIntl)();
|
|
3506
|
+
(0, import_react24.useEffect)(() => {
|
|
3519
3507
|
if (!isOpen) {
|
|
3520
3508
|
setStep("input");
|
|
3521
3509
|
setEmailVal("");
|
|
3522
3510
|
}
|
|
3523
3511
|
}, [isOpen]);
|
|
3524
|
-
return /* @__PURE__ */ (0,
|
|
3512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
3525
3513
|
ModalWithHeader,
|
|
3526
3514
|
{
|
|
3527
3515
|
isOpen,
|
|
@@ -3531,22 +3519,22 @@ function EmailModal({
|
|
|
3531
3519
|
id: "email"
|
|
3532
3520
|
}),
|
|
3533
3521
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
3534
|
-
children: step === "input" ? /* @__PURE__ */ (0,
|
|
3522
|
+
children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
3535
3523
|
setEmailVal(email);
|
|
3536
3524
|
setStep("verify");
|
|
3537
|
-
} }) : /* @__PURE__ */ (0,
|
|
3525
|
+
} }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
|
|
3538
3526
|
}
|
|
3539
3527
|
);
|
|
3540
3528
|
}
|
|
3541
3529
|
|
|
3542
3530
|
// src/components/LoginBox/index.tsx
|
|
3543
|
-
var
|
|
3544
|
-
var
|
|
3531
|
+
var import_react25 = require("react");
|
|
3532
|
+
var import_react_intl8 = require("react-intl");
|
|
3545
3533
|
|
|
3546
3534
|
// src/hooks/useAppConfig.ts
|
|
3547
|
-
var
|
|
3535
|
+
var import_react_query8 = require("@tanstack/react-query");
|
|
3548
3536
|
function useAppConfig() {
|
|
3549
|
-
const query = (0,
|
|
3537
|
+
const query = (0, import_react_query8.useQuery)({
|
|
3550
3538
|
queryKey: ["appConfig"],
|
|
3551
3539
|
queryFn: async () => {
|
|
3552
3540
|
const res = await getAppConfigApi();
|
|
@@ -3564,7 +3552,7 @@ function useAppConfig() {
|
|
|
3564
3552
|
}
|
|
3565
3553
|
|
|
3566
3554
|
// src/components/LoginBox/index.tsx
|
|
3567
|
-
var
|
|
3555
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3568
3556
|
var RecommendItem = ({
|
|
3569
3557
|
icon,
|
|
3570
3558
|
name,
|
|
@@ -3573,20 +3561,20 @@ var RecommendItem = ({
|
|
|
3573
3561
|
children,
|
|
3574
3562
|
footer
|
|
3575
3563
|
}) => {
|
|
3576
|
-
return /* @__PURE__ */ (0,
|
|
3577
|
-
/* @__PURE__ */ (0,
|
|
3578
|
-
/* @__PURE__ */ (0,
|
|
3579
|
-
/* @__PURE__ */ (0,
|
|
3580
|
-
/* @__PURE__ */ (0,
|
|
3564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-recommend-method", children: [
|
|
3565
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
|
|
3566
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
|
|
3567
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
|
|
3568
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
|
|
3581
3569
|
] }),
|
|
3582
|
-
footer ? footer : children ? /* @__PURE__ */ (0,
|
|
3570
|
+
footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3583
3571
|
ArrowDownIcon,
|
|
3584
3572
|
{
|
|
3585
3573
|
className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
|
|
3586
3574
|
size: 20,
|
|
3587
3575
|
color: "var(--matchid-arrow-color)"
|
|
3588
3576
|
}
|
|
3589
|
-
) : /* @__PURE__ */ (0,
|
|
3577
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3590
3578
|
ArrowRightIcon,
|
|
3591
3579
|
{
|
|
3592
3580
|
className: "matchid-login-recommend-method-arrow",
|
|
@@ -3595,7 +3583,7 @@ var RecommendItem = ({
|
|
|
3595
3583
|
}
|
|
3596
3584
|
)
|
|
3597
3585
|
] }),
|
|
3598
|
-
children && /* @__PURE__ */ (0,
|
|
3586
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3599
3587
|
"div",
|
|
3600
3588
|
{
|
|
3601
3589
|
className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
|
|
@@ -3611,7 +3599,7 @@ function LoginBox({
|
|
|
3611
3599
|
inModal = false
|
|
3612
3600
|
}) {
|
|
3613
3601
|
const config = useAppConfig();
|
|
3614
|
-
const methodConfig = (0,
|
|
3602
|
+
const methodConfig = (0, import_react25.useMemo)(() => {
|
|
3615
3603
|
if (recommendMethods || methods || walletMethods) {
|
|
3616
3604
|
return {
|
|
3617
3605
|
recommendMethods: recommendMethods ? recommendMethods : walletMethods ? ["wallet"] : [],
|
|
@@ -3653,82 +3641,82 @@ function LoginBox({
|
|
|
3653
3641
|
walletMethods: walletMethodList
|
|
3654
3642
|
};
|
|
3655
3643
|
}, [config.platform, recommendMethods, methods, walletMethods]);
|
|
3656
|
-
const [emailOpen, setEmailOpen] = (0,
|
|
3644
|
+
const [emailOpen, setEmailOpen] = (0, import_react25.useState)(false);
|
|
3657
3645
|
const { login } = useUserInfo();
|
|
3658
|
-
const [showWallet, setShowWallet] = (0,
|
|
3659
|
-
const intl = (0,
|
|
3646
|
+
const [showWallet, setShowWallet] = (0, import_react25.useState)(false);
|
|
3647
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
3660
3648
|
const isDownMd = useDownMd();
|
|
3661
3649
|
const methodMap = {
|
|
3662
3650
|
wallet: {
|
|
3663
|
-
icon: /* @__PURE__ */ (0,
|
|
3651
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
|
|
3664
3652
|
name: intl.formatMessage({ id: "wallet" }),
|
|
3665
3653
|
onClick: () => setShowWallet(!showWallet),
|
|
3666
3654
|
type: "wallet"
|
|
3667
3655
|
},
|
|
3668
3656
|
email: {
|
|
3669
|
-
icon: /* @__PURE__ */ (0,
|
|
3657
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
|
|
3670
3658
|
name: intl.formatMessage({ id: "email" }),
|
|
3671
3659
|
onClick: () => {
|
|
3672
3660
|
setEmailOpen(true);
|
|
3673
3661
|
}
|
|
3674
3662
|
},
|
|
3675
3663
|
google: {
|
|
3676
|
-
icon: /* @__PURE__ */ (0,
|
|
3664
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
|
|
3677
3665
|
name: "Google",
|
|
3678
3666
|
onClick: () => login("google")
|
|
3679
3667
|
},
|
|
3680
3668
|
twitter: {
|
|
3681
|
-
icon: /* @__PURE__ */ (0,
|
|
3669
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
|
|
3682
3670
|
name: "X",
|
|
3683
3671
|
onClick: () => login("twitter")
|
|
3684
3672
|
},
|
|
3685
3673
|
telegram: {
|
|
3686
|
-
icon: /* @__PURE__ */ (0,
|
|
3674
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
|
|
3687
3675
|
name: "Telegram",
|
|
3688
3676
|
onClick: () => login("telegram")
|
|
3689
3677
|
},
|
|
3690
3678
|
github: {
|
|
3691
|
-
icon: /* @__PURE__ */ (0,
|
|
3679
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
|
|
3692
3680
|
name: "Github",
|
|
3693
3681
|
onClick: () => login("github")
|
|
3694
3682
|
},
|
|
3695
3683
|
discord: {
|
|
3696
|
-
icon: /* @__PURE__ */ (0,
|
|
3684
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
|
|
3697
3685
|
name: "Discord",
|
|
3698
3686
|
onClick: () => login("discord")
|
|
3699
3687
|
},
|
|
3700
3688
|
linkedin: {
|
|
3701
|
-
icon: /* @__PURE__ */ (0,
|
|
3689
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
|
|
3702
3690
|
name: "LinkedIn",
|
|
3703
3691
|
onClick: () => login("linkedin")
|
|
3704
3692
|
},
|
|
3705
3693
|
facebook: {
|
|
3706
|
-
icon: /* @__PURE__ */ (0,
|
|
3694
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
|
|
3707
3695
|
name: "Facebook",
|
|
3708
3696
|
onClick: () => login("facebook")
|
|
3709
3697
|
},
|
|
3710
3698
|
youtube: {
|
|
3711
|
-
icon: /* @__PURE__ */ (0,
|
|
3699
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
|
|
3712
3700
|
name: "Youtube",
|
|
3713
3701
|
onClick: () => login("youtube")
|
|
3714
3702
|
}
|
|
3715
3703
|
};
|
|
3716
3704
|
const { walletMap } = useWalletConfig();
|
|
3717
|
-
return /* @__PURE__ */ (0,
|
|
3718
|
-
(!inModal || !emailOpen) && /* @__PURE__ */ (0,
|
|
3719
|
-
/* @__PURE__ */ (0,
|
|
3720
|
-
return /* @__PURE__ */ (0,
|
|
3705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
3706
|
+
(!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-box", children: [
|
|
3707
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
|
|
3708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3721
3709
|
RecommendItem,
|
|
3722
3710
|
{
|
|
3723
3711
|
icon: methodMap[m]?.icon,
|
|
3724
3712
|
name: methodMap[m]?.name,
|
|
3725
3713
|
onClick: methodMap[m]?.onClick,
|
|
3726
3714
|
showChildren: m == "wallet" && showWallet,
|
|
3727
|
-
children: m == "wallet" && /* @__PURE__ */ (0,
|
|
3728
|
-
/* @__PURE__ */ (0,
|
|
3729
|
-
/* @__PURE__ */ (0,
|
|
3715
|
+
children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
3716
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
|
|
3717
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
|
|
3730
3718
|
const m2 = walletMap[n];
|
|
3731
|
-
return /* @__PURE__ */ (0,
|
|
3719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
3732
3720
|
"div",
|
|
3733
3721
|
{
|
|
3734
3722
|
className: "matchid-login-recommend-wallet-item",
|
|
@@ -3736,16 +3724,16 @@ function LoginBox({
|
|
|
3736
3724
|
login(m2.method);
|
|
3737
3725
|
},
|
|
3738
3726
|
children: [
|
|
3739
|
-
/* @__PURE__ */ (0,
|
|
3740
|
-
/* @__PURE__ */ (0,
|
|
3741
|
-
/* @__PURE__ */ (0,
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
|
|
3728
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
|
|
3729
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3742
3730
|
"div",
|
|
3743
3731
|
{
|
|
3744
3732
|
className: "matchid-login-recommend-wallet-item-hover-icon",
|
|
3745
3733
|
children: m2.activeIcon
|
|
3746
3734
|
}
|
|
3747
3735
|
),
|
|
3748
|
-
/* @__PURE__ */ (0,
|
|
3736
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3749
3737
|
"span",
|
|
3750
3738
|
{
|
|
3751
3739
|
className: "matchid-login-recommend-wallet-item-name",
|
|
@@ -3753,7 +3741,7 @@ function LoginBox({
|
|
|
3753
3741
|
}
|
|
3754
3742
|
)
|
|
3755
3743
|
] }),
|
|
3756
|
-
/* @__PURE__ */ (0,
|
|
3744
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3757
3745
|
ArrowRightIcon,
|
|
3758
3746
|
{
|
|
3759
3747
|
className: "matchid-login-recommend-wallet-item-arrow",
|
|
@@ -3771,10 +3759,10 @@ function LoginBox({
|
|
|
3771
3759
|
m
|
|
3772
3760
|
);
|
|
3773
3761
|
}) }),
|
|
3774
|
-
methodConfig.methods.length > 0 && /* @__PURE__ */ (0,
|
|
3775
|
-
/* @__PURE__ */ (0,
|
|
3776
|
-
/* @__PURE__ */ (0,
|
|
3777
|
-
return /* @__PURE__ */ (0,
|
|
3762
|
+
methodConfig.methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "matchid-login-other", children: [
|
|
3763
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_react_intl8.FormattedMessage, { id: "otherLoginMethods" }) }),
|
|
3764
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
|
|
3765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3778
3766
|
"div",
|
|
3779
3767
|
{
|
|
3780
3768
|
className: "matchid-login-method-item",
|
|
@@ -3787,7 +3775,7 @@ function LoginBox({
|
|
|
3787
3775
|
}) })
|
|
3788
3776
|
] })
|
|
3789
3777
|
] }),
|
|
3790
|
-
/* @__PURE__ */ (0,
|
|
3778
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3791
3779
|
EmailModal,
|
|
3792
3780
|
{
|
|
3793
3781
|
isOpen: emailOpen,
|
|
@@ -3803,56 +3791,56 @@ function LoginBox({
|
|
|
3803
3791
|
}
|
|
3804
3792
|
|
|
3805
3793
|
// src/components/LoginButton/index.tsx
|
|
3806
|
-
var
|
|
3794
|
+
var import_react27 = require("react");
|
|
3807
3795
|
|
|
3808
3796
|
// src/components/LoginPanel/index.tsx
|
|
3809
|
-
var
|
|
3810
|
-
var
|
|
3797
|
+
var import_react_intl9 = require("react-intl");
|
|
3798
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3811
3799
|
function LoginPanel({
|
|
3812
3800
|
header,
|
|
3813
3801
|
onClose,
|
|
3814
3802
|
...props
|
|
3815
3803
|
}) {
|
|
3816
3804
|
const isDownMd = useDownMd();
|
|
3817
|
-
return /* @__PURE__ */ (0,
|
|
3818
|
-
header ? header : /* @__PURE__ */ (0,
|
|
3819
|
-
/* @__PURE__ */ (0,
|
|
3820
|
-
/* @__PURE__ */ (0,
|
|
3821
|
-
/* @__PURE__ */ (0,
|
|
3805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
3806
|
+
header ? header : /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
3807
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
3808
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react_intl9.FormattedMessage, { id: "loginTitle" }) }),
|
|
3809
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_react_intl9.FormattedMessage, { id: "loginTips" }) })
|
|
3822
3810
|
] }),
|
|
3823
|
-
onClose && /* @__PURE__ */ (0,
|
|
3811
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
|
|
3824
3812
|
] }),
|
|
3825
|
-
/* @__PURE__ */ (0,
|
|
3826
|
-
/* @__PURE__ */ (0,
|
|
3813
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "matchid-login-panel-divide" }),
|
|
3814
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LoginBox, { ...props }) })
|
|
3827
3815
|
] });
|
|
3828
3816
|
}
|
|
3829
3817
|
|
|
3830
3818
|
// src/components/LoginModal/index.tsx
|
|
3831
|
-
var
|
|
3819
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
3832
3820
|
function LoginModal({
|
|
3833
3821
|
isOpen = false,
|
|
3834
3822
|
width = 480,
|
|
3835
3823
|
...props
|
|
3836
3824
|
}) {
|
|
3837
3825
|
const { isLogin } = useUserInfo();
|
|
3838
|
-
return /* @__PURE__ */ (0,
|
|
3826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
3839
3827
|
Modal,
|
|
3840
3828
|
{
|
|
3841
3829
|
isOpen: isOpen && !isLogin,
|
|
3842
3830
|
width,
|
|
3843
|
-
children: /* @__PURE__ */ (0,
|
|
3831
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(LoginPanel, { ...props, inModal: true })
|
|
3844
3832
|
}
|
|
3845
3833
|
);
|
|
3846
3834
|
}
|
|
3847
3835
|
|
|
3848
3836
|
// src/components/UserPopover/index.tsx
|
|
3849
|
-
var
|
|
3837
|
+
var import_react26 = require("react");
|
|
3850
3838
|
|
|
3851
3839
|
// src/assets/icon/ProfileIcon.tsx
|
|
3852
|
-
var
|
|
3840
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
3853
3841
|
function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
3854
|
-
return /* @__PURE__ */ (0,
|
|
3855
|
-
/* @__PURE__ */ (0,
|
|
3842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
3843
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
3856
3844
|
"path",
|
|
3857
3845
|
{
|
|
3858
3846
|
fillRule: "evenodd",
|
|
@@ -3861,7 +3849,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
3861
3849
|
fill: color
|
|
3862
3850
|
}
|
|
3863
3851
|
),
|
|
3864
|
-
/* @__PURE__ */ (0,
|
|
3852
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
3865
3853
|
"path",
|
|
3866
3854
|
{
|
|
3867
3855
|
fillRule: "evenodd",
|
|
@@ -3874,11 +3862,11 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
3874
3862
|
}
|
|
3875
3863
|
|
|
3876
3864
|
// src/components/UserPopover/index.tsx
|
|
3877
|
-
var
|
|
3878
|
-
var
|
|
3865
|
+
var import_react_intl10 = require("react-intl");
|
|
3866
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
3879
3867
|
function UserContent() {
|
|
3880
3868
|
const { logout, address, username } = useUserInfo();
|
|
3881
|
-
const [logouting, setLogouting] = (0,
|
|
3869
|
+
const [logouting, setLogouting] = (0, import_react26.useState)(false);
|
|
3882
3870
|
const onLogout = async () => {
|
|
3883
3871
|
if (logouting) return;
|
|
3884
3872
|
try {
|
|
@@ -3896,34 +3884,34 @@ function UserContent() {
|
|
|
3896
3884
|
rightIcon,
|
|
3897
3885
|
onClick
|
|
3898
3886
|
}) => {
|
|
3899
|
-
return /* @__PURE__ */ (0,
|
|
3900
|
-
/* @__PURE__ */ (0,
|
|
3887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
|
|
3888
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
|
|
3901
3889
|
icon,
|
|
3902
|
-
/* @__PURE__ */ (0,
|
|
3890
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "matchid-user-popover-item-text", children })
|
|
3903
3891
|
] }),
|
|
3904
3892
|
rightIcon
|
|
3905
3893
|
] });
|
|
3906
3894
|
};
|
|
3907
3895
|
const UserDivider = () => {
|
|
3908
|
-
return /* @__PURE__ */ (0,
|
|
3896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: `matchid-user-popover-divider` });
|
|
3909
3897
|
};
|
|
3910
|
-
const [usernameOpen, setUsernameOpen] = (0,
|
|
3898
|
+
const [usernameOpen, setUsernameOpen] = (0, import_react26.useState)(false);
|
|
3911
3899
|
const [copied, setCopied] = useCopyClipboard();
|
|
3912
|
-
const intl = (0,
|
|
3913
|
-
return /* @__PURE__ */ (0,
|
|
3914
|
-
/* @__PURE__ */ (0,
|
|
3915
|
-
/* @__PURE__ */ (0,
|
|
3900
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
3901
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
3902
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
3903
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(UserItem, { onClick: () => {
|
|
3916
3904
|
setCopied(address);
|
|
3917
|
-
}, icon: copied ? /* @__PURE__ */ (0,
|
|
3918
|
-
/* @__PURE__ */ (0,
|
|
3919
|
-
/* @__PURE__ */ (0,
|
|
3905
|
+
}, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
|
|
3906
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(UserDivider, {}),
|
|
3907
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(UserItem, { onClick: () => {
|
|
3920
3908
|
setUsernameOpen(true);
|
|
3921
|
-
}, icon: /* @__PURE__ */ (0,
|
|
3909
|
+
}, icon: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
|
|
3922
3910
|
id: "setUsername"
|
|
3923
3911
|
}) })
|
|
3924
3912
|
] }),
|
|
3925
|
-
/* @__PURE__ */ (0,
|
|
3926
|
-
/* @__PURE__ */ (0,
|
|
3913
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_react_intl10.FormattedMessage, { id: "disconnect" }) }),
|
|
3914
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
3927
3915
|
setUsernameOpen(false);
|
|
3928
3916
|
}, onSuccess: () => {
|
|
3929
3917
|
setUsernameOpen(false);
|
|
@@ -3934,12 +3922,12 @@ function UserPopover({
|
|
|
3934
3922
|
children,
|
|
3935
3923
|
...props
|
|
3936
3924
|
}) {
|
|
3937
|
-
return /* @__PURE__ */ (0,
|
|
3925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(UserContent, {}), children });
|
|
3938
3926
|
}
|
|
3939
3927
|
|
|
3940
3928
|
// src/components/LoginButton/index.tsx
|
|
3941
|
-
var
|
|
3942
|
-
var
|
|
3929
|
+
var import_react_intl11 = require("react-intl");
|
|
3930
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
3943
3931
|
function LoginButton({
|
|
3944
3932
|
loginRender,
|
|
3945
3933
|
methods,
|
|
@@ -3951,12 +3939,12 @@ function LoginButton({
|
|
|
3951
3939
|
walletMethods,
|
|
3952
3940
|
...props
|
|
3953
3941
|
}) {
|
|
3954
|
-
const intl = (0,
|
|
3942
|
+
const intl = (0, import_react_intl11.useIntl)();
|
|
3955
3943
|
const { isLogin, username } = useUserInfo();
|
|
3956
|
-
const [loginOpen, setLoginOpen] = (0,
|
|
3944
|
+
const [loginOpen, setLoginOpen] = (0, import_react27.useState)(false);
|
|
3957
3945
|
if (!isLogin) {
|
|
3958
|
-
return /* @__PURE__ */ (0,
|
|
3959
|
-
/* @__PURE__ */ (0,
|
|
3946
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
|
|
3947
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
3960
3948
|
LoginModal,
|
|
3961
3949
|
{
|
|
3962
3950
|
methods,
|
|
@@ -3966,32 +3954,32 @@ function LoginButton({
|
|
|
3966
3954
|
onClose: () => setLoginOpen(false)
|
|
3967
3955
|
}
|
|
3968
3956
|
),
|
|
3969
|
-
/* @__PURE__ */ (0,
|
|
3970
|
-
/* @__PURE__ */ (0,
|
|
3971
|
-
/* @__PURE__ */ (0,
|
|
3957
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
3958
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UnLoginIcon_default, {}),
|
|
3959
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_react_intl11.FormattedMessage, { id: "login" }) })
|
|
3972
3960
|
] })
|
|
3973
3961
|
] });
|
|
3974
3962
|
}
|
|
3975
|
-
return loginRender ? /* @__PURE__ */ (0,
|
|
3976
|
-
/* @__PURE__ */ (0,
|
|
3977
|
-
/* @__PURE__ */ (0,
|
|
3963
|
+
return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_jsx_runtime81.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
|
|
3964
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LoginIcon_default, {}),
|
|
3965
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
3978
3966
|
id: "user"
|
|
3979
3967
|
}) })
|
|
3980
3968
|
] }) });
|
|
3981
3969
|
}
|
|
3982
3970
|
|
|
3983
3971
|
// src/components/UsernameModal/index.tsx
|
|
3984
|
-
var
|
|
3985
|
-
var
|
|
3986
|
-
var
|
|
3972
|
+
var import_react28 = require("react");
|
|
3973
|
+
var import_react_intl12 = require("react-intl");
|
|
3974
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
3987
3975
|
var ValidItem = ({
|
|
3988
3976
|
success = false,
|
|
3989
3977
|
text
|
|
3990
3978
|
}) => {
|
|
3991
3979
|
const isDownMd = useDownMd();
|
|
3992
|
-
return /* @__PURE__ */ (0,
|
|
3993
|
-
success ? /* @__PURE__ */ (0,
|
|
3994
|
-
/* @__PURE__ */ (0,
|
|
3980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
|
|
3981
|
+
success ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(InfoLineIcon, { size: isDownMd ? 12 : 16 }),
|
|
3982
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: text })
|
|
3995
3983
|
] });
|
|
3996
3984
|
};
|
|
3997
3985
|
function UsernameModal({
|
|
@@ -4002,23 +3990,23 @@ function UsernameModal({
|
|
|
4002
3990
|
}) {
|
|
4003
3991
|
const { username, refreshOverview } = useUserInfo();
|
|
4004
3992
|
const { isLogin } = useUserInfo();
|
|
4005
|
-
const [val, setVal] = (0,
|
|
4006
|
-
const [error, setError] = (0,
|
|
3993
|
+
const [val, setVal] = (0, import_react28.useState)(username);
|
|
3994
|
+
const [error, setError] = (0, import_react28.useState)("");
|
|
4007
3995
|
const isDownMd = useDownMd();
|
|
4008
|
-
(0,
|
|
3996
|
+
(0, import_react28.useEffect)(() => {
|
|
4009
3997
|
if (isOpen) {
|
|
4010
3998
|
setVal(username);
|
|
4011
3999
|
setError("");
|
|
4012
4000
|
}
|
|
4013
4001
|
}, [isOpen]);
|
|
4014
|
-
const isValid = (0,
|
|
4002
|
+
const isValid = (0, import_react28.useMemo)(() => {
|
|
4015
4003
|
return isValidUsername(val);
|
|
4016
4004
|
}, [val]);
|
|
4017
|
-
const isLength = (0,
|
|
4005
|
+
const isLength = (0, import_react28.useMemo)(() => {
|
|
4018
4006
|
return val.length >= 2 && val.length <= 32;
|
|
4019
4007
|
}, [val]);
|
|
4020
4008
|
const isSafe = isValid && isLength;
|
|
4021
|
-
const [isSubmitting, setIsSubmitting] = (0,
|
|
4009
|
+
const [isSubmitting, setIsSubmitting] = (0, import_react28.useState)(false);
|
|
4022
4010
|
const onSubmit = async () => {
|
|
4023
4011
|
if (isSubmitting) return;
|
|
4024
4012
|
try {
|
|
@@ -4038,13 +4026,13 @@ function UsernameModal({
|
|
|
4038
4026
|
setIsSubmitting(false);
|
|
4039
4027
|
}
|
|
4040
4028
|
};
|
|
4041
|
-
const intl = (0,
|
|
4042
|
-
return /* @__PURE__ */ (0,
|
|
4029
|
+
const intl = (0, import_react_intl12.useIntl)();
|
|
4030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
4043
4031
|
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
4044
|
-
}), children: /* @__PURE__ */ (0,
|
|
4045
|
-
/* @__PURE__ */ (0,
|
|
4032
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "matchid-username-box", children: [
|
|
4033
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Field, { label: intl.formatMessage({
|
|
4046
4034
|
id: "username"
|
|
4047
|
-
}), error, children: /* @__PURE__ */ (0,
|
|
4035
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4048
4036
|
Input,
|
|
4049
4037
|
{
|
|
4050
4038
|
placeholder: intl.formatMessage({
|
|
@@ -4057,8 +4045,8 @@ function UsernameModal({
|
|
|
4057
4045
|
value: val
|
|
4058
4046
|
}
|
|
4059
4047
|
) }),
|
|
4060
|
-
/* @__PURE__ */ (0,
|
|
4061
|
-
/* @__PURE__ */ (0,
|
|
4048
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "matchid-valid", children: [
|
|
4049
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4062
4050
|
ValidItem,
|
|
4063
4051
|
{
|
|
4064
4052
|
success: isValid,
|
|
@@ -4067,21 +4055,21 @@ function UsernameModal({
|
|
|
4067
4055
|
})
|
|
4068
4056
|
}
|
|
4069
4057
|
),
|
|
4070
|
-
/* @__PURE__ */ (0,
|
|
4058
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
4071
4059
|
id: "usernameLengthError"
|
|
4072
4060
|
}) })
|
|
4073
4061
|
] }),
|
|
4074
|
-
/* @__PURE__ */ (0,
|
|
4062
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
4075
4063
|
marginTop: isDownMd ? "36px" : "64px"
|
|
4076
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0,
|
|
4077
|
-
/* @__PURE__ */ (0,
|
|
4064
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_react_intl12.FormattedMessage, { id: "confirm" }) }),
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Button, { style: {
|
|
4078
4066
|
marginTop: isDownMd ? "12px" : "24px"
|
|
4079
|
-
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0,
|
|
4067
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_react_intl12.FormattedMessage, { id: "cancel" }) })
|
|
4080
4068
|
] }) });
|
|
4081
4069
|
}
|
|
4082
4070
|
|
|
4083
4071
|
// src/components/SOLModal/index.tsx
|
|
4084
|
-
var
|
|
4072
|
+
var import_react30 = __toESM(require("react"));
|
|
4085
4073
|
var import_web3 = require("@solana/web3.js");
|
|
4086
4074
|
var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
|
|
4087
4075
|
var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
|
|
@@ -4097,10 +4085,10 @@ var WalletAdapterNetwork;
|
|
|
4097
4085
|
// src/components/SOLModal/index.tsx
|
|
4098
4086
|
var import_wallet_adapter_wallets = require("@solana/wallet-adapter-wallets");
|
|
4099
4087
|
var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
|
|
4100
|
-
var
|
|
4088
|
+
var import_react_intl13 = require("react-intl");
|
|
4101
4089
|
|
|
4102
4090
|
// src/components/WalletModalContent/index.tsx
|
|
4103
|
-
var
|
|
4091
|
+
var import_react29 = require("react");
|
|
4104
4092
|
|
|
4105
4093
|
// src/assets/wallet.ts
|
|
4106
4094
|
var walletErrorImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABHlUlEQVR4Xu19i3NUVbb3mYc6M3pHxhkHEZAAioIIAcQHz+adhARDeMn7GAnPhDR5P+mGJCSGRwLyEFA7gshVx0p9OOotxqljOeVY937fra6acQYFsXkaHcfqP2F/+3fIijub053unA4grF/Vqu50n7P37pO91l6vvbZhMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMG4oNDU1Jaenp3uKioqaCgoKxMqVK8WsWbOEx+PpoKlTpwp5jcjLyxN1dXVi+vTpnrVr13rkvUl6ewwG4waHZVlJR44cMSVjmwsXLgyOGjVK9OnTR/zyl78UP//5z4W85Cr66U9/an//61//WjzyyCMiJSVFzJ49O5CdnW1+8MEHHrV9BoNxA0Myfeszzzwj7r//fpupwdw/+clP7FeQ4SAAiHAdvd55553i0UcfFevXrw83NjYG3n33XU9HJwwG48bC3r17vZmZmdbvf/97cfvtt9tMHIkMB+Z3ImgM0B7GjRsnNmzYEJSCIJn6YzAYNwCOHj3qmZM5p2nw4MGOKr7O/KoQ0IWB/jcR2oV5MH7CeCGFDAsBBuNGwPvvv59ZXl4uBg0aJH72s585MrDO8LGQ3gYRBMHTTz8dWrJkidna2pp0ZRQMBuOaQzKgKdXy0G9/+1tx2223XcWsRDpzd8Xk0QhCplevXmLs2LGioaHBYiHAYFwHwCFXUVERTkpKisjM6uc684ORf/WrX3U4CeEz6MpBSEQRgylTpoj9+/cHDQaDce3wyiuveFetWmWvxJGYH4TvwKy/+MUvxO9+9zuo7nDmBRcvXmzl5eVZfr/fqq6utkzTtFJTU60xY8aERo4cKe6++25bo4gmQOg7mB4QAu+99x77BRiMngZs/o0bN4revXvbq7jhwPREYP777rtPTJ48GTZ74MiRI4FojHr8+HGzqakpMGvWLOvxxx8Xd911V0cI0YnkLbZPAMlEjY2N1gcffJCkt8lgMBKEEydOmJL5Q/fcc48j84PAsGBKqOhYzeWK73/55ZczOzXUBaQQ6FVcXGympKRYgwcPuorxVQEAgoYhtQdRX1/PQoDB6AlYlmXb/A8++OBVDKgTGBIr+Pr165u9Xm8vtZ14IO9NlqZG8N57f3cV86v94z0EDjSBffv2sU+AwUgkAoGAd926dbbaf8cdd1zFhFj1SSOA2i7V/TCSgvR2uouampogBIqeXGQoAoD+hk9g9+7dwdbW1oimBoPBiBHvvvtuZm5urp2NB8ecbpMbysoP5p85c6aQAsOnNeMKx48fT6qqqrJGjBjRSQAZ7f3SmPAe3z/xxBNi27ZtbA4wGG5w8uRJU6rxIaT2UpKPTkb7Cvwf//EfYu7cuWLLli1+vZ1EQAqVpPLycguRBN3/oI8JPghsQGLHIIPRTSDOX1lZGX744Yc7rfqGxnD4Gzb/tGnTRFNTU7Nk1G7b/F3h0KFDybW1tcF77723kwAA6UIAOQaTJ09mnwCDES9g82/YsEEgwy9Scg6YDN+B0RYsWBBGbkCnRnoQUsuwtxhD8BgRBAB9jkSlvXv3cp4AgxEr8vPzbZtfV7VVApNB7cfKf/ToUZ96f0/jwIEDSaWlpbZPAI5Bw0EAEOE3wIHI5gCD0QVg82dmZgaQvBNp5afPsVcfe/6rqqr8ShPXDKgWVFRUZD322GNXMb2uCcAxCN/Brl27WAgwGE6AzV9dXR1+6KGHIjI/MRVW3QkTJvS4zd8V4BPw+XwdPgE4/3RnJT7HKyIUnCfAYDjgjTfe8CK99ze/+U1E5icC8y9atCgMP4HSxHWF1EI6fAI686uEMOYDDzxgCwH2CTAYEm+++Wam1+sVffv2tZnfSQAQQ8Hhh1XUrc2PuL604828vDxTah2m/NujXxMP4BPIz8+3kKXoNH6VoCWgutD27dvZHGDc2pAMYO/nhwqt777TCTZ/RkZGQmz+lStXtqIyMOx3OOjmz58fRvFP/bp4ACEgBZk1ZMiQqL8DBC0G9QR27NjBQoBxa+Ltt9/2lJeXhwcOHNglw0C1njhxIjzprm3+xYsXNw0YMMB2zIEgeFDqKzk5OTRv3ry4Ng3pgE+gsrIy2L9//6i/ibQZ5AlwPQHGLYf//M//9G7atMneo++kMpPKT3F+yZjhPXv2uLL5MzMze2HPP/qEGq6m74LwmRQCQl7jqh+gtLTU3jvgVKWIfhde8T32Dhw8eDB48uRJ9gkwbn4gt5/i/JRXb0RgEnjOcWiHVK99nVuJD88++2ySVPkD0DZUR52h9QuGHDp0KEwCT6cG4gT5BJDFSFEBEnT0noQAaPz48aK5uZnNAcbNjffee6+jhp/Tyk9EKjJO66moqPArTXQLUoi0wslIK7/h0CcRGHb06NFhqTGYP7QQP7B3AEJg6NBHOq36OslLO3wCnCfAuGmBOD9sfpTujsSExBBgVDBEImx+uZo3QduIFGFwIgifYcOGufYJ4FgymAMwO4z236cTPidTBzUGX331VfYJMG4uvP76697169cLVPLRmZCYAITvUFhjzpw5Yck8rmxxsvmRi6/u4zccGF4lug6aAI4Imz59uqtxAEVFRUFEHKjwqC4EiGASIb0YjkH2CTBuCqCGHxx+KOahMn+kVRBx/t27d/u0ZuICbP4ZM2YEoPZHOisgEqljwr3wCcj2PFda7h6QNrxu3bqOPAGd8dXxUZbj3r17rU8//TRJa4rB+PEAcX6v1xuCCq5Ocv09mAJxfsTm5Wrp79RINwCbv1+/fhEZP9rnOrXv7Q9nZWWZ7c13C/X19UnLly+3hgx56Cqm1wlCAIIQdQmVJhiMHw9oPz9WPTAR1Fs1T95QJjy+g81fV1fXjIKcWlNxYeHChU1Q+3VTQyX0j7Gg0AgiDernTgTNRKrwIdm2K5+AZOhkrzc/iF2MhsO4iNAn0qKnTJkSXLJkCZsCjB8XEOdHbj95+2klVdVfo32yg7kyMjISYvPLdqxYVn4w4Pjx48OvvvqqJYWUhVOE6UxBnfmJECJEvr/sx9U4gcLCwiAyBiOFQYkgnJ577jlhWRYLAYZ7nDla5rlwrMLUP08k/vrXv2aWlJTY9fgNjfl0AvNjP/8LL7zg05qJC7D509LSAsjwAyNHYioIIDAyDgCR6rhJ9y9atMhCjgDVH1DHSEILn+N7OPPc+gRgDsAnMGzYMMdkIZXwHF9//XVLuZ3BiA+XWzYE/uafHPhn7ezQPxqyxBc7FwQuHFlv6te5BfbzSzU3hEnblfMNzA+b3+v1+pUmuoXU1NRWhBcjFRAhRgazoWDnsmXLOqnypmn2kit7CwSIk5NONSfwXgoQ13kCEAI5OTkWdgcaDmMmwpil6RF+6623zB/uZjBixPfvVDZ9tT1FnC4bKc6WDBOni4aKs/6x4txLz4b+/W6VK5tWxaeffuppaGgIQ7V1UvVB+BsrNJxcYESfz+fa5l+5cmUTVPjbbo++ktrOvNGjsJXYUYWXQgBaRCvaMrQxq4TPILweffRR1z6Burq65Oeffz4YLTsR30G4FRQUBDrfzWDEgKA/1TpTOkKEyoaI86WDxfmKwSJUMkR8VvW0+N+6DFO/vjs4fPiwR07Qjv38+mRWGQh2b0ZGeliq/Y6MGCtg80uyc/udGIcIjA9bGja/XPk9ShOOkIKg2akcmS4E8D32DmRkZLj6HUD6nPQgtCYSBIY2fgicrKwscejQIbPznQxGFzhVPsU6X/KwuFg+SFysGCAuVw0Q31QOFmcqR4izexYEwq0+VyuwZVmZjz/+uJ/280fy9ONvTOSnnnrKtc1vrjWTUDoM3n4nRqX3kWz+rjB79mwL5oDatioAVCEgNQHXPoGioiKPNGNs56RT9AKCAf3E8xsYDBunK8daF0oGi7bNSeIbf5J8HSjaKh8QoYqh4vIhU3z3dpVHvydW/PnPfzbLyspCtgrevp9fJ6OdEbHyJ8rmT89IbyUvuqExiyoA8D022uTm5salqsMnMGfOnBbs1IsmBED4XgrA8JIlS0ytmZjR2traS46xpX//fo4CgEKWmzZt4r0CjPhweuuT1sXqB8V3dQ+I72pBUgPYmiS+8o1wJQD+9Kc/eWpra8PwZOtMoQsArPxgxIqKCtc2f3Z2dhNt7FGZnYg+g0DCltylS5d2S0WHTwDORWgCRhQBgM8pT0B3LsaDrVu3mqh5oGs0IPSDPlavXo2dkZ5ONzIY0fCZ32NdqBwiV/8B4t/1A8T32weKb2sGSgGQLD6r9pj69bEgEAh45GRtwqqEFYuYkUj1A8DhN2PGjLCc4N1iRAJWZYTrsCobGoOoRAU+YPOvWrXK80ML3cPixYub9fCiLgBAYFycEBzJyRgLxo4d24LcCcPhd6F/CDRp+njUexiMqPi8aop1ruQRcbFSMn/DQFsAXN48SJyuelz8rTrF1K/vCrD5S0tLBRJu9NWKmIL8AHf84g7x9Lin3dv85hWbH5tzsBIaDgxCBHt5xIgRIXmP+UML7gBnY6Q8AVUoIJ0Z9f66K3ikedQSLSyIiskTJkzwKLcwGNERan7OOls6WpwvGiLa/EniX1v6i/MVD4rPN08Qn9UvMPXro+GTTz5BEU07zu9kqxJhtQIzYHvrxo0b/UoT3QKp4rrAISJGxE7CJ598EhWEuq2KO4HyBCjFWBcAKsHvMH369HB9fb2pt9MV3njjjRaERw2H3wiCr2X48OEe5RYGIzouHfImf751tviicJQ4KzWBMxVDxanKsVL9n/lRyJcZlz2OFWrkyJE2I0ZiRhCYAOowbH6fz12UAXF+rIq6wFFXX3wHUwMqslTZu62CRwO0EMnYdp6AzvQqyUtth11KSkpAb6MrfPjhhy3yvqueJxHCrLt27eJ6ATcrQsfLkv7etMzzf2vSPcH6TE8okOsJuQzTARACX+1aaf2tNtP6f7UZ1qXD+U36NdHQ2trqLS4utlcg1d43HCYpGFGu/OHa2lpXjCiFjW3zQ+3XmV8ljAPhM+yeq6urM5UmegRz5861dKbXBQA0kaVLlyKH39Tv7wqjRo2yDIffCYJvY//+/XjPuNnQFjCTQodWWv94YY74e/Vk8Y+tM0ToRVNcfNnbrF97LYHc/rKyso66/UY70zkJADA/VHDJiL5OjcSJtWvXJknmt2v40SadSARtY/To0aGdO3cGkI34QyuJh9QCPJMmTQpGMwPkZbafYs6cOSEpADx6G9GA66XmhBX+qt8JggA4cOAA3jNuJvzrrZzktlfnW6GGp8XZ0qHiYvEgcb5wsAhVjJHqeoq4dDDP1WrqBpIZLdj8+kRXJzxewYhYhQsKCvx6G/HimWeeaQXzUyUfQ2MEfAYTBH0isej5559PqM3vBDj2JPPb9QxpF59KahIUHKQQYHobXeHkyZMt2BxlODA/CALg4MGDLABuNoQOz/ec3zNTtNUMFZfKB4ivC/uKy5v6iIsFA8XZjY+Js9uywhePuz8QI15kZWZ6hwwZEtYnu8r8IDAqfANbtmxxHeeXjNaxn59WWkNjBDAaNAOk4s6fP7/HhSP25EuzJgTHJjG7/iwoHAqaPn16EFqM3k5XOHr0aAsOETUcmB+EFOUNGzb0+O9lXGOcakr3nGmcJC5XDxJtZfeLy+X9xeXiPuLr4vvF1wX9xLnSEeLs9rniy1cSv4PPCXDcrVmzuumBpP7iJz+9mvFVAQDmnzlrpus4P2z+Z599NuruOOoTuf1jx44Nuy3fHQvA/PDMw65XhZH+LCAAoB3IlR/fdwuSuVv0zUgqIR04JSXFo9zCuBlw5sCzni93pYpQ+cOS8R8Ql0sklT4gvq7oL9qK+onLRVITqEgW/2jICISaTFcrbCyAGj9+wvhOxTRVpqcVEDF3qOCJsvnB/E6pt/Q3+u1Obn93gHp88jmYTz75ZBDMr2ce6szfq1cvxOitY8eOBfS2YgFSfKX6b0WrFgQTq7s5BowbGKGA2etU09yWU5VjxLmCJHFZrvqX5erfVtFXagT9RFuJNAfKB4pTdR7x9+09nwmWnj7bXmVVVddQJiKF3aRNLNavX+/vfHf8yMrKaoXaHy3bjt4j1Ocm5TYWoALPSy+9ZIHh8BzUsejjgsCCai6v/QiFSfS2YgXyBiBM9YgH9YVnY5omjkT3dL6TcVPgVFNK0uf+ia2h0sek7d9fqv99pACQQkCaA20lfcU3lf3E6W1PSQEw3aPfm0hs3epruvf394rb77jNntyqEMAkJFsX6mhpaanrOP+6deuakN6rRxhUJgNhLI+NeEy8uPdF/N2jeO2114IzZsywk5nIsedEGDMcc+np6UHkCejtxAocFS5NqBDyB9TfDCItDDkAUvA1Y+OQdjvjZkJoR6Z1pnK4uFA+SFzePFhcKh4gLhYlia+3PCzO7ZklQgd6zu4tKytLGjlyZPBnP7+S6EMCAETv20N9Ycn4rm3+pUuX2ttuDYcVTxUAYETk9iMM16mRBANq+KFDh+x6fU6OPpVo5Z81a5brxJxVq1d5k0clX7X6E+FzOFkrKnq2nBvjBsD371R6T9V4rLObx4hQxaPiXPFD4lz5MPFl3Vjx1UsLrEvH1ifr9yQKkiHtslg/+/kVhlcFAFZ92N8IcUk71KffGw9g80t1OYCz8/SaeDqj4bOhw4ZiG3GgcyuJBZgfx3XDrDGUsTgJAjwXHGkutQRLCiVX/4+DBw9mzpkzJ2ItAPSH75BXcPToUU+nmxk3J0JNmb1O78hsOVMzXZzdOkmcaUgVXzYt/Ahmgn5tovDiiy96Jk+eHCJvtz7hwaiovoONQPq98WLevHmtKBdONQSMCMxP3yEPQa60oZycnMB//dd/JVwQSLU6uba21kL6MhybRhcCCSW65s+f/5EUSkmdGooTqPO3YsUKO7xoaIxPhGePLddSO0v472bcwAgdWJt0pj7dc2Z7uudU03xP2wF3k60rwOONY6n0FY9WfyrosXPnTleqf15eXsd+fkOb7MRgOtNhDHfedad9lDYODJVCKK5U5q7Q2NgYRKhPF0ggdRxgxrvvvlusXLkyCHOpcyvxQQodT3Fxcbir7c3od9q0aUGcLvTD3QxGAgHHklT/m+Bo0hkPkx7MD9V/omeiqd8bK7CjDnF+2lsfyblmKExH70kI4T1eoRLj+CzZph/t6n3FCpzgu23btmD//v07GJwEoKEwIPWPZ4Ainno78eLw4cNeaUbZGpWT2k+E7yAgjhw5klCBx2B0AqrMSLvcTnZRNQC8pwIbs2enIQRl6vfGAtj8WVlZHTX8qG2d8Yl0AeBEGBciEdIObz5+/LinU4cxQP7mJLkCWzjsg8aCV3VcRvt4wPxITX7uuecsVPLV24oHf/jDHzKlFmSflRgp1RnPCK+ICiBE2qkBBiPRyM3NtYtS0mqkMho+g8Nr5syZH0lNIUm/NxZkZGTYdfujrXYq6QyoMz8RGBNay8aNG8NylTSv9NY19u3bl5yfn2+hwAaYkLQLJ4KgwQGhcsX+yK0aLp+fuWbNmhCeJzG52hf+BmFM0HKys7NROt3TuRUGI8FAVVvYwJiEVJqa1H9SfaWqHdDviwXYzw8Vm3IIjAhMTZ/R9yrp1+oMg/FJZgm9+eabMSUIVVZWBqE93H77bR2/k9rUNRMwa2lpaRAHeejtxAPUUKyurg7TASZORVSN9t8Dp+D06dPFq6++ynF/Rs8DZaawGuoTkgh2qJy8cQkAxPkXL15sYcIbEZiabGu9P1LF6Tr1eieGAd1zzz12hCJaqAwrOM7l088vcPJH4DOEKauqqlzb/IFAwLtu3TpbmDgJQRK0+A5biefNmxd+5ZVXXDlbGYyYEUkAECNCBW5sbIxZAFCcn04GNhwEABEmP7QOMDAYDqE4VBDGrjis0ggB0vZblWmd2kECT05OTnP7MDpBqtL2UVxUxdiJ6YmggqMQSVFRkXXo0CFXNv+7776biYNSnQ4bAan9wgeDysAHDhzwdW6FwehBRBIAxCjIQpOMENDvi4TMzMxWsq+dmJUIDA1PuFzxRHFx8UdScJgojy1tdBMOR4QmU1JSTGlGCAgTfXOS3h6EDfLpaRwEqY0ko7oQmSL6b9QJQkiu/B/BUai3FQ8++OADc/369XaKL0U+DAfGx3PAngOkHyeihiKDERck03igquuMQIT8gObm5pgEwJo1a5qokg+tsoYD8+NzMLW0x7HSeizLSlLbUbF9+3aPtPH9sIsRkTAc2iOC80zPE1i6dGkQ22zVVZ+uJwaETY5XXIe6e8ePH09S24gXcuX3yN8WVgWrk/qP99BwUEkJ9RTc7q1gMOIG9phjlVftbpXA0F2l4mLiypXa0usGqmS0tw07d9SoUXHv55f2vV/2Ef7FL66cCKQyMhE+Gz58eBCqOzL1wPwQCvpYVMLvBhOipLfUPhJi8+fm5trajZOpYSjPGM8iNTU1LDUetvkZ1wfYYz516tQOe12fsCh0kZGREVEAgNEkY9o2v+6o0wkMMXTo0NCCBfGVJCfAOTZ27FjHrD0iaDOI8aenp3cUGNHHoRKdWdjQ0GAhLVjtL158+OGHmfJ52DUUIz1PfAaC0EHp9N27d/u0ZhiMa4eamhqPXI2vmrDEzHBOSbs+JG1aj34vsHjx4lZoEGSj66uevKRDzYY5IYVJTOG6SMC2WKeDSYjAWMg4hLkQSSCRgxO/GcJPqv0fuT137+TJk6YUPPZZiRib3jf9jT6hlaD+XyJqKDJucJx5aZH1z8Yp1pkGj02f14y3/tkwwwq9vLJHd/fFirffftuDEBoYRlXfiUngoEK9+urqalO/V9rvdt1+ePJpgusTX15mMwQ88FLdda3qwmeAHXSqwMJrJNKZX/1tiBxI0yLolvkR55c2fBjRg0gmEAkFPCuYG9Jscl1DkXEDAxt6/lE7M3im9GFxoXiAuFz5gLhU/aC4vHmg+KrsYfF50XDxRb1HnN635LoLAXjbsWrqkxaECY3YOY4BJycVXtetW2fX7dev1wmJLdhm6yRAugNU7EEyD0KHRrtwwWtXhLHQezAhNjcdO3bMtc1/+PBhj1zJ7Th/JOan54h+pWkSfuGFF1wLQsYNji9efLbl9JanxOWSfnaBz7byPuJbX1/xbdX94uvSvuJCQT9xtnyYOLUr09LvvdaQDG1ig43TBCZVGbH5+vr6ZuyEW7NmTQBxeqeMNn3Sy+tCW7duTWjd/hkzZpiwsw0HRo9EGA9eoX5PnjxZSMa1PvnkE1fC9/3338+EYESIEYJIf36G0i+YHza/27MSGT8S/HPbxJZzvmHim9I+4nLZA6Ktqp/4rra/+Lb6fvFN+X2irfD34nJRP/E331PXXQAg7IUCF0418EhdxkqOPQMTJ05sdSrmQUQTHvc89thjCT+rDzAl4HSUbztMgWik/hYU+pRCzIwWeowFJ06cMKXpZOf2YwxoW/d/gOBDwbNCkg/b/LcQvqh5quX85kfE10W9xaXCK3X+vtvaT7RtluZA+QPi6019xaVN/cXfq8ZfdwEAlJSUtCDtV5/AxDiY3BAQ5FwzHBiNCNfCPJBqdo+oujk5OSaEkHwbURDpBOcgioouWLDA1aoPwCEqtZowfAjyz07PSX1u+A5RBuy12Lx5M8f5byX8fXu6/4vKJ8KXNiaJyxsk4xdAE+gvTYIB4nzhIBEqfEicLk8W/7t19g2z31syh0VJMeokjoeg6o4cOTLuOH88yMjIMKF2G+3Mh1cnot8AJpw2bVoIdf6VZrqFd955xyuFpR0elX/awk71+quagH1uwsyZHOe/VfFZ5SxvqGCMOLd+kDi/STJ9yYMi5B0oviwaKr7wTRD/aJh5Q+333r59uxf79jFxDQeG6oow+RHnz8rKMtFeTwCq+9q1awNwTBoOY1AJ4wGjgvnlPZ6ORroJ2XcmHH7Yo0CmB5lIRPgcQhSCEPsadu7c6dPbYdxCOO1LMU95k81TBZLKks3TeY+YnxWPNk83PWsiUqBff72Rn59vF6MwHBgqGmHSDx8+vEdsfhWojS9NgA7VP5oGgJUfZbu9Xq/nhxa6h48//ti2+ZHhp5tH6nsylZDbL/v16+0wGDc0EKJC7T0wT1e2Poi838jAmz59eo+ruijdDfufGD/aGOF1x2Yg5fZuY926dS3IZcDvhfDBb9adfvIyKp2ODUVs8zMSj2Aw2AuJJy/KlRDVfDIzMz2SYTto2bJlHiTLoNRXIBDo1gTMy8sz1f0B0QiqLpxrr7/+eshtWK0roCQXTuwhxpMfXaUBkNq/dOnSUEVFhevxwOYvLy+3NwrRag/mVwUAPodQAE2dOjUMU0pvh8FwhbePH/ds9fnM+ZmZ/vLSUmGuWCFmzZwpxowaJUYlJ9uEE3Ox+qSlpaGAJV6bcY4ettjGGvZCbv/ylcsDsZTxAgOgvz179oQSGed3AlR/0zSDUK8p3m44CADY588880xIrsCeTg10A7D5pRCxN0RRzgOp+arjj8p4IVdiy5YtPr0dBqPbaGxsTPbm5weysrJCE8aPF/fec4/4lVx178CK086gP2knvAdhYiL+jEkJpx5i0BkZGVZtbW1Aa/4qSCZrhaobKb6u2r2w+bGPv6eZH9l2clwhMCIxoM74RKmpqYjze9T7uwOpzZiVlZUhCBRD+e30+4nwOYQD5/YzEo7A4cNNk8aNCyb17y9+feed4nasPHLCqfRTjWiCYlUiRgEzw3mFKrjSRLCkiurX+wKkzdoEdR72v6ExFq14pPqiUlBPxflVYGuvVMFD2HNA1YGIDG2M0FpycnJcq/1y5fc0NDSEoVEZ7c9UZX68qs8Dm5xg83NuP8M1YLdLe7pp9erVYhBUT0w0MDEmncL4kUhfpfTJi4w+MK9kdkG15+CsQqVcfN6V2k8JNcXFxSaNuacA5ofHn+r46b/HaB8TPkdqcFFRkevcftj8UoOwBabR/jxJ61BXfqz60LJmpc7i3H5G4pCbm+uHFx6n0EDF/1k7Q2J1v4rZNea0tQBlkuoMowoCMNWiRQvhJTezs7MDjw5/1GZutT2dwAQPP/xwwnP7nYDTc+TYgnDo6eM3lDHhb/wWqfpb69e7311ZXV1tF0JVnxW9knDE3/BFYE8B5/YzEgapnvugTlIIrpNdDwbUSBcAIJ3RIzEOCCsY8vWxE5CuVb/X02wRfnO7nz8WwObfuHFjCOnERvtvIubTCX6OrKwsFNM0lSbiBmx+CEI8C9XUUEN99DzwGZJ8cjfm+vV2GIxuwTRNL1JoVaY12ic5GF1n/kgCwL6+nWGc4tQ6RfocREyHdmBfT5w4scdVXWkCJctVOIRVuKtCoLTD7rXXXsPBJd22v2Hz79ixIwwTSN/RR8+AfB9kApWWlnKcn+EeON9u4cKFdmENTDY1xdSehGBSMKFCP5ff/VJO/t/16iXuv6+37enH9lysXohXQ22GiorJqgoBtBsvoR054cPINzB6GGD+DRs22PZ3NMYHQTggunHixAlXeyn++Mc/eqH263069Y/nKTWgsGT8HheEjFsEaWlpfqjhpF7SikObcmy7/idXnIBg/D69e4vHR49GCM56csyYwKIFCwLFhYUBhPgKvd4A6vdJYRCYOnVqCF5/KoqJNuMl3DdkyJCQZH7T6GHgjL/8/PwgOd/I5lbHDmGGVzwbrPw7d+50tZfi448/zvT7/bYANdp/r242EUHgTJgwnuP8jMQBNj/ZnIbCdPorJj6896Ml4+O0GhTwwOm2nRrTAIZCFR4cTIF4PdRlw4HJnYj6xHbX1NTUHrf5caIPbH46OstoH4MuuMCceA5wvqFUuZvy3X/+85/NzZs3h3BoByX56ALAaO8Xzw59rl+/3q81w2B0D9nZ2d4RI0aE1YmmTzz6DKsijpQuKirynjx5Mi5PtxQUHkxcRBZoC2skov5hhqDgxrWw+Y8dO5YsV2E7zq86+iI9C6j9L774oiub/y9/+YunsbHRtvmpH1UAqJoHhAM0qeLiYrb5Ge4Bm3/p0qVNYDCsdmrGnToJyeEkrwvLldxyE3ZDggoSgMBk6mQ3NAGAftHnsGHDwokomdUVYPOvWbNG3HPPb+zxqCuxzoyIWCDtGDkSejvxAJqRNI+asOMR7VJ8X+2THIHtGX5s8zMShzlz5viRYQZVlhx0hiYA8DlsToTdYCbobcQDnGxbWFgYQD19teSXoa2seEWfAwcODKHgRqdGegDQTGDzo6SWmmevCgA8BxKEqFkoGdG1zb9161aBE3vI50K+FuqTNvqgTxwTVldX5+r5MxgdWLFihQ+TD5NLn+zqBAQjwqufkpLi19uIF1L9b6X0XrKvVaIVD4wAZ+SOHTuszi0kHrD58/Ly7FCfGnYztLGB6NBMyYiBrvwe0YA4/5YtW0LIGMTzpedP2haZH3iPsmeoZLx69Wq/3g6D0S0gzj969OiwHmdWJz4JAHilFyxY0AxzQW8nHkjbuokcgKp9rRJpG2DGhoYGgbLbnRpJMN56663k2tpae2OPvvoa7c8AryCMDaf2SOb/qLtbmwkbN25sgVDVn70qAPA3hDOSsbxeL9v8DPeQE8mO8yOrDYyoT0BDYUZMQjlJwxAWWjNxARMXx2OBebCC6v2A6DNMeGxjfe2110LXgvmp4hAEna4FGe1Mj88xrrFjHxeS8V3b/LNmzbLzLCKZGvibNKG0tDS2+RmJA2x+9cQYo5351EmPV0x4rIpLlizx6W3EA9j8BQUFAXiuofY7MT8In4PZULEW+/mRDae2k2iAEcvLy4NUbkx9BuoY8ZyUw0Rc2fwAbH7aRqwyvC4AICjxzDjOz0gYpA3pox12ToxIExCMCPUUSUGdGugGcnNzW5EvoAocnahf+CNwIm5PMz+OHyssLAzpZbTxXicILWgk0hxxFecH0tPTfageTKu7bn4Z7X1eSfKZgFCrv3MLDEY3ATX+ySef7LD5DYfJTl5u2Pzz5s1rzszMdGVz7t+/vwmhMtrMYjj0SYQEJKkt9LjNT3F++Bj0MJ/hMC4kA5WVlbmy+d99912PbMOSAqdjbwU9a/qbXsH88PZzbj8jIYDNjzg/bE4nrzuIGADCIRE2P+L8Ur224PBDm4ZDn0RQdREVOHDgQOi9997rceZHbj+q6oDhDOX303ud4KVHOTMpnDrOIowV//M//5O8IW+DF6cdIwXaUJ61LnjwnNojDLyfn5E4SLXTD7XfcJjcIFp9IByQDOTW5peMnFRRURFAEc+uVn70iXwAyVw9bvOj/ZKSkqBaTDPa2IhwDWohIPV2zpw5ze31DD0dDTugtbUVzwBhviAcn3ras878IGgjuFZqCr5OjTEY3QVsfqzCTis/TT684nvY39OnT/crt3cLxcXFrXCYYdI7mRuqwEFi0e7du4NIwuncSmIBm18ypG3z07PQxxWN6BkhBRq2+eLFi0NSKwhA0EltJyCFXmDv3r2BysrKgBSgASksLGg1cDB2dagJngUSopBbIDUvv8FgJAJS1bXj/LffEX0CYnJjAwpWN7c2/86dO5tGJo+01V0wjBOTkQMMJsnTTz/t7WmbH6E+aBjQbroyR6IRCQEQfh+ceWgTyUrIpESsHkIUJkMsZxiQBgDtAit/YWEh2/wM94DNn52d3ZHbbzhMPiJMUjmBw8uXL3dlc5LND2YgRjEc+sN3sHPBLLD5491IFC/A/JKx7JXYSRh1Reo96nsSYjqT45quhAwxPu6FoEhNTeU4PyNxmD9/vh8MFo0JaaLC8+42tx82f3V1deDxsY+L227/watuOPSNSY84/wsvvNDjdftRw6+0tLSTzW84jAkE+xvmCB0zTtdG+y1uCG0ivVeaXDil12cwGIlAbm6uD5NYX5lANJlp9Wk/Osuv3t8dFJcUtz497ml7ZTccJjsEEZXSQp+NjY3XJM4Pmx+5DNHKeOFvfA+hBCGGgqSzZ88WvXr1cnyGiSA8D2yDXrx4MZJ8/AaDkQjA5kepLH2SExEDYMIjzo9Tetza/FL1b8KhHeqqqRMYCQ5BOOAQ5+/pUJ9c+ZN37NhhO/zUTTZO48N3sL+3bdvWEeeX773r16+39yLQDr1oFKltJ7qyqWqYePbZZz/avn27x00NAQbDBtn8SO9VK/nohMneruqGpZngyuaEzS8ZxYLzy8nmJS0D79EnQoIvv/xyj9v8YP7i4mLRu3fvDiekSuqqDmbEuCLl9svf6MfpRfClIBVY1wj0tlVSr8E4cD/MrQkTJgTffPNNx/4YjG5BruIdNfyirURg1ETE+SVjJFVUlCHUZXuwDa0fYjTaWYd8dtj8OEC0U0MJBnL7pT0dBPOru/oMhVkpL4Fi7qWlpV3m9peVlQUk41r4HQgDgpnJAagzPj6j3w4bH85HChuiRiIKjujtMxjdhlz97f38kUJuIHyOCQvfQCJs/oKCgtYnnhjbUUPAcOgThDEh487n8wV72uEHm18yql2332klJsJzoMIaiOHDgdmpoQjAvn/ZvunxeMyioiKBzD4wNpytSLICwd8AjQiCcdmyZUilRtETU5o9JhySepsMhitI5rdz+/UJr7/HatSvXz8xd+7chNj8WAlvu+1qtV8nhLiWL18uEIr7oYXEA2XC9u/fb+f2q2q/4TAmEJyVqOALxlSaiRnQNKRQ80g73j7+HJCC1Sb8bZqmBycHu9k7wGBEBGz+VatW2TY/2d/qpNeZAPX0Fi1a5Mrmx2Suqa2xcPpMNOYCkdBJSUlBEQvPD60kHhAumzZtEvfcc09UbUQlXIfr8/LykIvgobZuNLQd9yVdPF7laWut8XzX6vN897bPE2rlRKFbHnLl8SPNVC/drWsAYML2DD+f1kRcgJosVzy7hl9Xaa1ESG2Vq7+FwzQ7GkowoPZXVlYGod2oQqkrDQAEIQCTKCcnp7mjwRsEoUPrzdO+GWZozyLr3D5TnD+cIy4czBYXX8oRZ198/oYbL+MaAnF+2JkU2zYcJj1eMcERc580aZK/cwvxA46yeJgfBHVcCgCzvYkewdKlS1siHZ2lOgAjETQlxP/ff/99V9pRInH5eJXvc/8cca5klDhf/JA4X/igOFf0kAgVSMofKs6UPynObs+4YcbLuIZYvXq1V07YsNMedvU9Jj9W/tTUVNc2P/bzw6n1i1/GfogHGAs1AOrq6sz2ZhIKqP01NTVW//797WdhKL9fFwL4LhrBoy9NAauj8euM0IuLrS8KhkuGHygub+orLnv7ia8L+trvL3oHiHOFg8UZ/+TwFy8u8ev3Mm5SwOZft25dE612hsNEJgLzyZUf5+a5WiVsm18yWbwrPwhjxM62nTt3mldaSxzA/IjzQ8AZDn2DSADA2YcwHDbuRNIK8DfGum/fvkBHJ9cJ//pjVcvphhnifFFfcaGgj7hYcJ/4uvgKtZX0EZdL+0nqL85tfkJcaF5w3cfLuEaAzY+SWpEq6aorH2rNyet9nVuID2Tzjxs3znEfu/q3E/WUAEBVHRxDhl2EhkO/IHoO0AwwfikIW2fMmGFHJJw275BD8LnnnrMkkqiv64Hzr5e3/MM/RVzw9hWXiiTjF90rvintLb4tb6eqPuLb6vtFqO4JEdqTFdDvZ9yEKCoq8sHbrya26ExIW1TBGB6Px9+5hfixdevWVtmOY1ahzkBOhPHBTyFXatNuMAFoL6kVcjo6SyV5qT1uCEzk9iNpCeW0qQ6A/uwgFPBsMzIyEK40O3V6jXHmaJnnVP3c0OkNg8WF/Pul6t9bCoHfi7bie69Q+f3iUkWSOLNtkjj/ihnQ72fcZCgoKPA+/fTTHTXk1Emuvsf3yH6bNm2aa5v/8OHDTSiASSf2GBpjRxJCKrWbIUKuvCa16wbYO7Br1y6b+fWNPUTok/wBcOxJDaYjtx8596ZpXqXNgOj3IJMyJyfH/KHX64PTjQuS/1kyTny16UGpCfSXZkB/8XXhA/brudLB4ovKEeJ007xgKLA2Sb+XcZMARSHy8vLsTTZYoZw2tNCkByGfPT8/P6C3Ew/ALPX19XYVGyc/AzE/+gMjYYstsvyI6XTCNatXr3YdZwfzy5XcLrKhC0KVMA70iQy/5ubmq3LtpVlk4nli/IbDePFbYGpJM8CVAE0EQnWZyWf8s6zTZY9bZ2unhE+XPWWdrnrS+mfVBCt0yLT06xk3GVAWCqswVZUBqULAaGdIyvDLzs4OfPrpp6beTqyAzS+Z387tx8pvaMxB/ZK63H5KTWjWrJmhaHsBhg4bap9m80NP8QFx/pqamiB2LkZa+akvfA+1f926dY65/YcOHTJxGnEkhyaEB5yLMDXU+643vn+n0pUzl/EjA4pDYEUnh58+2Q2FyWDzT5gwwa81ETdwwCUcZvCaO9n4JIRgW2PlhyPugw8+8CxbtqwFK7N+PQkLhNjgSzhx4kTck7g9ycfezx/pWdDzoNx+ycABHEKitwVIAZmUmppqOQk4EAQDKv+61VgYjG5Dqrre8ePH27FtVQ3XJzyYAWEwqMbIS+/cSnw4cuRIE0J90ar3oj8wIXYSSqbE9lk7u0++tkBw6NfTWKFuY0ec1ALCf/rTn/xXeuwa2NK7c+dOe2OPnuqsEgmFYY8OE5s2bfqoq3p6GRkZLdjNZzj8RjzzrKwsCDePeg+D0ePAxJVM0oTVjrLaDI2hyP7G97BlJYOE3VTVgc3f0NBgwWFG4TFiKOqLxgHmh9qPIhv6xp5Vq1ZZWOlxXST6zW9+g3CcyM3N9UdbYXHqjrzGs2LFClvTMJTfrxPGCI0FBUhx4KjelhPkCt8SKX8A7U2bNk2sXbvWo97DYPQ4cPwT7G8qOqELABBNekzgNWvWuLL5sbUVx1xBPUefaBtCAExPgkDNsENZcZyk47Sf/5133vHCg+7kOFQJ7SE9OCcnBz4LE1mCUvswJdPb7+GBl/a7NWvWLDtxR3UuqoxPgun222+zsw1RgrxjMF2gKwGA5yH/Fx71HgajRwGbH9trSQUnMpTJj1dMfJShhgquNRE3qqurWrGX3amGn9o/mBBVbFBkI9p+9m3bttleeifBpRNsbaj2KMaB3YJpaWn2oZsQMqiTB0GihutoPCQY8Zwozl9aWmrH+duH0SWiCQC0DSHMAoBxzQCbf8qUKfZZfYYy2YmR1L+RrVZeXi4kI8btUFMBm58iDLTiGw7MAEKEQdrE6LOT2q/jjTfe8CLO7pQ4pBPahRCgiALuoSw9CtHRq/r7SQDgOuziy8vL69Lm18ECgHFDAPZ37bbapgkTJzgm3GCyU7gK77HpJTU11RXjo/hkc3OzhdVWZXq9b4rzwx/hZPNHwsGDBzMXLJgXuvfe33V5BHg0crqG7H0IDGT0SfMlJptfx5gxY1ru+g/nKAB+95IlSwSShtR7GIyEY9++fX44xSIxivoZViypKvvU++MFnGuNjY12nB99Gg59qQyIjDuk3cYbE0eFncVLFodhwzs5M0E6c+ukXkPvSQDA1yBX8ZhtfhUIDz740IMWzi0wtDGBoIl4vV5x9OhRj3ofg5FwZGdn244uffKrDNO+8tuhPv3+eFFTU9MK5o/mZyDnH2x5v98f7C4joBQW4uloRzdt8F79uyuia6ENIUMRxTkjxfm7ApyM0B4MB+YHIaFJXhO43huCGDc5ELKi5Bl9wquTHttY4fD74x//6Er1f+eddzri/GRHq/0Q4+P9vffea2fDdWXzd4VXXnnFi7HDsUebmMDETra9TvheJ2gkam5/vIAZU1paGsJhH4ZD++gXzk5pApjqfQxGQvGHP/yhBVtTyb53mvxgFnjJpZ0bdlNJF8yya9cuC972SP0R80O9RohO9hmzzR8LpOnhR2gPWXqI64MBIRD0cegEQYHrQPD2d9fmJ6CQCh2VRs8ZhPapr6lTp4aj5Si4BWr5hQ57PWfqMz1/93k8p16c72k77k3Sr2PcpIBqmZubiyo2V014InmZ7e0vKCgIyetNvY1YgbPpcWQ1Qn1w6FH7lPBDf+M9edWR2x8t1OcGODZ7wYIFgYkTJ4bw+/TfrRNpDKNHj8K4umXzEz7++ONMHMEFZ6uuAdHvR3agFAAB/d5EIhTwmmeanhVnfVPE59VPiDO7UsXZA0sCoSazW1oN40eGffv22ZtRKPauT3p8BmZ97rnnhNQUMvX740FdXV0rEmrQl9oHhdpUJoOTsbCwMCg1Bo/eTiLxl7/8BQd1hqiAZzTCc0A9ASkIu23zE6RJYyETURd+hmICQEORz6zHBMDpfZnJXzXPsi42jBWX/I+IS5WDxfmqR8TpqqfFmfrZln494yaEXAFNVOtRJ6FKUEOxYkvb2ZXNjzg/1H5ifqNd2JC6T/1DEGALLDzflNvfk8jLyzPhyFM1EieSl9refsm4ccf5dWRnZ3tRHk19Dmo/eIUQlII5iEiJdnvC8P3/2Ri8tH20+H7nEPHvxsHiX1v7i7bi+8WF/AHiXNlIcaF5oSsTh3GDAx511KCnsJ8+EcGU2NkHIaHfGyvI5kd6rKGsbiD0gz5oLwGYEH6GLVu2hK4F80sb3i5Vpv92lTA+CEHkH8Sa2x8JqKFommYTHHto11Cegy4AHnnkYQGhqTWRUHx/fJk4t3WY+K7mAfHvugfEd75+om1TH/GNt7d8vV+aBWNFaEd6a+gAF/m4KYGTYuD8U/Pr1YkIwTBp0qSQVHc92q0xAatXc3NzAKfdOFW9AamrP44Sy8/PDx0+fNijttMTmDlzZiZ8DJEckSAIJkrvXbNmjSubH1i2bJkfm5woAmEoQlB9DjAN5Phc99cVzgWetz7zPSUu++Tqv6W/Xdfv29Le4psCKQAkXSpPEmdqxokLL+cEwnzwx80HqZJ7wATqZFRp8IODxaJFiwL6fbFi27ZtrVOnTnXMKgQRk4EQXpTM3+04fzzIyMgwpaYRIqGk/24aKzYkwTxIhM0vV/+r6ikYWt/4/M677hRzs+Zih6JHbyPRCAW8ns93LhRfbh4l2vyDpBDoJ76tul+0lfURXxdLTaCyrwhVPyLO7lkkLh7t2ZOUGNcBjY2NQYTBnJgTBNt/x44d3RIAOGqaNvbo7dOEh9qPFRbe7g0bNqAEdo+r/TgjD0eSkc1vRBEACNHFsp+/K0jm90ot4qqzAvBe/RvPA36Gurq65u7mFsSDUMDX68yBZf4z2yaLi1seEd9u7ivaKqUZUCSFQP59UhDcL86VDxan69LEmaZlHv1+xo8c0tbuOEZbn5SgtLQ07O2P2/knmb9l+vTpV7WnE1Y8eN+R3tuTR3UBOKhTaiNeJO84FRmh3w9tBCs/vP2JsPmzs7PtcxP0bEddAOBZjBkzJlxSUhL383aLb99c6w/tTg9fkKv95cIB4utN/cRlUHF/8WXxo+Lz+rTQ6X1LevT/w7gOQHad09ZborFjx1rq9bHggw8+SFqwYIGFasD6RNcJFXrXrl3b4zY/CpRI7SKI1ZX2A5Aaro6PHH4Iv+Xl5bm2wefPn+9Hn2pfOsnLbD8E/B+rVq3y6W1cK1w6ssH7VWOKOF84TFyQQuBS0QBxoWSI+HzzJPFZXYapX8+4CYBQm1O9PZqcU6ZMiVsAoMgl9tOrxTINB+YHrVmzJtiTWW4A4vzNzc0hRCF0xndiRFQ1kszv2ubHWYmIaDgV+6Q+SeDANzBnzhx/pwauAy4GcptDOxeIL33jxJflY0RoW6oI7V7xUVuAMwNvSshJepVTCoS/oQrPnh1/MohkaHPmzJkdqbW6cFEJR3yp9/YECgoKTDC/HoVQmRC/FYwKjWTjxo2ubX65knsff/xxu56C+lzVXAP0iz4RZl28eHEzzAW9nUj47kS191zLBuvzPfOtU82zrbY/eK3wSZ9rFR0+gdCBVZ4z9dM9p6o8nlDTs562A8z8Ny1QyEMVADoNHz48bgZFiuvy5cvtDS400fV2iRBbh6rtdrWNhOnTp3vRR7RQH8YHLcjNfn4CmHj16tVNSBXWtzerRP3CGSmZPy6bv+1EsXl+/0JxdvPj4vyWR8Xl7SPF+V1Pii93z0fbDEbskCuwXR2XVmmdOZAjjzLb+n1dQdr1OOyi08lBhkP7WCGTRyUj5RcltGJeAWPBwoULM2F/qyaO3j+FICEkcnJyXNv8sk8/1Hna4Wg4MD8IAgmbnJYsWeJT7+8Kba3epPOvLAl8VfuEuFg2UHztHyS+axgo2hqGijO+8eKiXLH1exiMiJBMZ4fgIjHI+PHjxbFjxwL6fbEAVX4oxBiNIARQexC58Xob3UVWVpYpmTpEKjjI0FZgEFZpMD+KmZaVlSV1biU+IM4Pb7++s08nPGtcl5KS4ldujwkXj+Z6zr+0WHxVOVxcKEmyY/ff1j9k07mqUSLUmJmwZ8i4BbBu3TovbYIxHAQAVimc7qPfFwtOnjyZvHnzZjvVluxsvX0irIhwmEmB5EoFB+bPn+8ZN25cWN/dZ7T/PryCMCZ43rtTw08H4vx0VqLhwPREeAZ4pgsWLOjWWYmhgOkJ7Z0jzvkeFRcrBou2uofE99sHi+9eeERcrEsW/2xMZwHAiB3INsPuPKeJC2aBHS9Xq1Y5v5M63RgjcH6etKuDSKiJVGlIJajP8AnEU1FXxe7du+1EGkq11dsnAQBGBPNLxnclcGDzr1q1qgltoU1DeXb0HoTxwNcyfPjwsJltxmXzqwgFlnm+ejFNnK0aKi6VDxBtNQ+K7xsG2ELgYv0IKQBSWAAwYgdO70EkwKlqLiYxrZK1tbUoSRX3igXAh4Da/Qiv6cyoEhiIYvAVFRWBeDPhYPPDlFDVfifC91DBly9f7trmx6GdEFokbIz250aEv0H4HqZG9qpsn9ZEXDhz2PSc3TVbnC8eJL4u6iO+rhoovqtLEt9skyaAb5g4XTONBQAjdoCpi4qKWpz2whvtkxnCAYUrUFNPvz9WQAggFg+fANR9MKGhCRsQmQpg5PLy8pgnM3L7R48e3cnm1wlt43sINNTYc2vzl5SU+FDSLNo2YnIyQuCkpaX59TbiRSiw1vNVc5YIFT54JVW3tL9o2zJItNU+JM5UPSrO1KTG/MwYDBtytTXh7NOZx1AYFNWC1q1bF9RujQswB1CPDwwIz7yTT8Bo7w9jgdkQS1gONr+8NqweA6a3S4RQ3+rVq13b/EjXhc1PEQan3wCCRgObf9GiRc2m6b7CTltrmefiq9niy9LHxMX8/uJyQT9bC7hYM1ScKk8WF/evYQHAiB8pKSktOP3GUCavSpjkSFiRpgBO4ul2wgkcg/AJkJ3uxDQg9AeCei1NlFYcE96poXbMmjXLzu1X21LbxCut/GD+0tLSLgVKNEBwbNiwoQmHkTr1SYT+QFLtjzvO3xUuHM3N/GLbjNA5CIGih8WFsofEV/6R4uwLM1wJaMYtDNTNl8zWsVsNpDMmGAl72aUQsFDbT70/Hjj5BIwIQofMAZTd1vMEli1bZsf5nTQJ1SbH9+grETb/ihUr/FD7wdxqqrPeN8wmZBVK7cSnt5EInN6zxDxdOytwtj5TnN06M3TK7wl8VufptmBmMAypnlsov61OZkMRBiBMfKzKEAJuSlXhYI+9e/d2+ARUD7pOJATk6m3hXlQkhlMyOTnZcT+/ei/Gi/Biomx+mCW6kNT7JifjzJkz/Z1bSDwuHSszLx7gffqMBADbcbGFl5x0TgIAhNVt3LhxcAq6UjnhE5BMade9jyYAqE+s9i+99JLV0tISgs9CPb1IZUD1PexvqSkkxOZHbgGNU2d8InyP3zN37txuxfkZjOsKySweKt+lCgCQOtHxNyIH+/fvd+UTwL01NTV2noCar++UlwBC1SAUDHVieP1vJCCtWbPGtc2fl5fXhBCeyvxk4+Mz8lfgmcEZKU2NhNr8DMY1A2x77NAjJ52hMaDObPAJ1NfXu/YJ4OAPmBZgKDIJVAGk9huNcC3uTUpKQrada5sfNfxwYvGdd17Z2EP9EOPjPV7xrNCn2zg/g3HdAdu+qKjIFgJGFwwIRkDlnEQIAalNhBBuhLpPq6veXyQy2sdJcf4lS5YEupu9SIDNr0Yr5Ecdqz3+pleMExEGaT75tSYYjB8npH2PmL1dL1D1B+iMB8KKDZv80KFDrnwCCBHCJ4Bwo6pe6/3pREyJe2CWSOb/KJ699U4oKCiw4/y6L0QVAPgOwgHPKC0tjW1+xs2HysqKIFZ4ShXWmU8lqMAou+XGJwDH4LZt24I4vJPsbDCZamurRH3jGjjfpObi2uaXwqMJlYCRWKSbIiphbNjyvGjRIrb5GTcnkICTn59vQcXFSh9tRZaXo36AaGxsdGUOIEQotY8Qkm0geMCE0QhjwrWSEV3b/Ijzw68Bh55qghga8+M7aCoLFy70dW6BwbjJgJ15GzZs6HAMElPoq7C81GZYOM22b99uoTio3laswGGg9fX1IWQnUj8qw9Pf6A/Mnwibv6KiwgdtR/9NRPgbfWLlR59s8zNuGcAnUFpaGkQYjhiRVHNiShIKUJ0nT55shwj1duLBsWPHklG0tG/fvh2rMdoHAxrtDAmzIycnx7XNjzj/lClTOmx+J+anvmFqpKens83PuPUAIQD7HMxPzKJqArQy4zsk4cAnALtebydWvPXWW8nSLg/iaC419ZY22cBe1++JB2Tz02+i9lUhQK/4bbD558+fzzY/49YEmQMItYFhIqnm9IroAMwBiSS9rViBst7V1dUBqXKHcYwZUnvT0tLsTUL6tfHCNE07zu+0O9FQVn58hxAl2/yMWx4QAnl5uRY22MAGhyBQzQGV8D02z+zYscOVTwDA+QHZ2dkmCo4eOXLEdNteVVWVj8qFq1qMLgCgzcDUmDBhgl9vg8G4JYEz/IqLi22fgLpKOhFy9j0ejzh48KArn0AiUVlZ6Z08eXJYPxbd0Lz9+Ay/UWogAtWTOjXCYNzqkPZzcPjwR+1VlOL2lMRDRMIBNjuEABJ+9HauFcjmhxmBMTkxPYgEAsf5GYwowIEea9assX0CqhDQtQASAthFmAhzoLuQJoQfY1AdikY706spvxgrsgrZ5mcwugB8AtIut7AHXnUE6gKA7Gl49JEsdK2FwObNm+04v9NZfSCME68YJxx+kyZN8iu3MxiMSECewKZNm4KUuKNqAbpzDY5BZAwiRKi301OQNrxX9mnH+Q0H5icim7+iooJtfgYjXsAngL39CKuRENAFAKnZSKgJBAI96hOg/fx6JR+dMCaYMAgzNjQ0hFF1SGmGwWDEApgDa9ausYYMeUiu9Ff2DugCwFAYD9GBPXv2uMoTiAbE+ZGLQIeSGA7MD4KgQm7/li1bQpL5TaUJBoMRD8gn8MgjDzsW91AJ5sBTTz1lC4FE+wSQ208rv9q/KojoPWx+v98v/vu//ztTa4bBYMSLuro65PEH77uv91UMqBK0A8TiUYtw7969CfMJILdfrvwdNr8uANAv3uN7+C1wTPqJEyc43MdgJBKFhYXBxx4b7nj0mE69e/fGKhyUK3e3fQJHjx71ZGRkdNTtNxSmxysYn0KAeD948OBwVVWVxTY/g9EDgDmwbt1aa/DgQR2rbjRCIc/MzEyrsbHRbG1tjWu3nRQ2mZJsW17vS9dA8H2fPn2EvN5S22AwGAkGkoVWrVplwcPeVRgOjPnrX//adg4uX77cev311wOffPKJ+UNrnYEIQktLS2DevHn2OQEUhlSdjqq9TyFKlPF64okn/H/961/Z5mcwehrwCcAc+O3vfhvVKUifQ01HPB479aQwCEErwGq9a9cuC5mEUNvz8vIsaecHn3jyCfta+BLULcq6EADBLEB9gZKSEnH48GGPMkQGg9HTQLIQdhHSiT5dEdUdwHsIDvgScC/tQlTzDNT71JUfhGtwLfYASGEURtkxg8FgXFv4fD7bHMDega7MASJ1BScVHsxMr/r1TveB4BsoLy8PSbPBNBgMxvUBfAJSE7Bw3h8YE4ysO+0SQWgTBG0B/ofNmzeLDz/8kG1+BuN6A+cQ7t69OwhNQD3jL1FEqz58CThxKCcnpxkhQoPBYNw4KC4uTl66dGkQTHrXXXddxcjdJTA+PP2LFi2y9u/fzwk+DMaNCjjkSktLEcoLYw8+NhI5ZQ/qNj19RlEFqPuoSIw2hg4dapmmGejcE4PBuGGB7bdSEDRv3LjRLiaK/Hw6pVgn8urDvr/77rvtLMIxY8bgfIBgWlqaWVZWlqS3z2AwbnBYltUL8fnMzEwP9gbgrMAVK1aIadOm2cVFEcYD4fQefLZs2TJk84Ga09PTPahLoLfJYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBuLHx/wF/KenXydwZIgAAAABJRU5ErkJggg==";
|
|
@@ -4110,7 +4098,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
4110
4098
|
var walletSigningImage = "data:image/png;base64,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";
|
|
4111
4099
|
|
|
4112
4100
|
// src/components/WalletModalContent/index.tsx
|
|
4113
|
-
var
|
|
4101
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
4114
4102
|
function WalletModalContent({
|
|
4115
4103
|
status,
|
|
4116
4104
|
error,
|
|
@@ -4121,7 +4109,7 @@ function WalletModalContent({
|
|
|
4121
4109
|
address,
|
|
4122
4110
|
connected
|
|
4123
4111
|
}) {
|
|
4124
|
-
const pageData = (0,
|
|
4112
|
+
const pageData = (0, import_react29.useMemo)(() => {
|
|
4125
4113
|
if (status == "success") {
|
|
4126
4114
|
return {
|
|
4127
4115
|
btnText: "Disconnect Wallet",
|
|
@@ -4180,12 +4168,12 @@ function WalletModalContent({
|
|
|
4180
4168
|
statusImage: walletConnectImage
|
|
4181
4169
|
};
|
|
4182
4170
|
}, [visible, connected, status, error, address]);
|
|
4183
|
-
return /* @__PURE__ */ (0,
|
|
4184
|
-
/* @__PURE__ */ (0,
|
|
4185
|
-
/* @__PURE__ */ (0,
|
|
4186
|
-
/* @__PURE__ */ (0,
|
|
4171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: `matchid-wallet-box`, children: [
|
|
4172
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: `matchid-wallet-content`, children: [
|
|
4173
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("img", { src: pageData.statusImage }),
|
|
4174
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
|
|
4187
4175
|
] }),
|
|
4188
|
-
/* @__PURE__ */ (0,
|
|
4176
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4189
4177
|
Button,
|
|
4190
4178
|
{
|
|
4191
4179
|
block: true,
|
|
@@ -4200,7 +4188,7 @@ function WalletModalContent({
|
|
|
4200
4188
|
}
|
|
4201
4189
|
|
|
4202
4190
|
// src/components/SOLModal/index.tsx
|
|
4203
|
-
var
|
|
4191
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
4204
4192
|
function WalletContent({
|
|
4205
4193
|
onSuccess,
|
|
4206
4194
|
type
|
|
@@ -4208,17 +4196,17 @@ function WalletContent({
|
|
|
4208
4196
|
const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
|
|
4209
4197
|
const wallet = (0, import_wallet_adapter_react.useWallet)();
|
|
4210
4198
|
const { events, login } = useMatch();
|
|
4211
|
-
const [status, setStatus] = (0,
|
|
4212
|
-
const statusRef =
|
|
4213
|
-
const [error, setError] = (0,
|
|
4214
|
-
(0,
|
|
4199
|
+
const [status, setStatus] = (0, import_react30.useState)("");
|
|
4200
|
+
const statusRef = import_react30.default.useRef(status);
|
|
4201
|
+
const [error, setError] = (0, import_react30.useState)("");
|
|
4202
|
+
(0, import_react30.useEffect)(() => {
|
|
4215
4203
|
const init = async () => {
|
|
4216
4204
|
await wallet.disconnect();
|
|
4217
4205
|
setVisible(true);
|
|
4218
4206
|
};
|
|
4219
4207
|
init();
|
|
4220
4208
|
}, []);
|
|
4221
|
-
(0,
|
|
4209
|
+
(0, import_react30.useEffect)(() => {
|
|
4222
4210
|
if (wallet.connected) {
|
|
4223
4211
|
console.log("wallet.connected", wallet.connected);
|
|
4224
4212
|
toLoginInWallet();
|
|
@@ -4282,7 +4270,7 @@ function WalletContent({
|
|
|
4282
4270
|
statusRef.current = "";
|
|
4283
4271
|
}
|
|
4284
4272
|
};
|
|
4285
|
-
return /* @__PURE__ */ (0,
|
|
4273
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4286
4274
|
WalletModalContent,
|
|
4287
4275
|
{
|
|
4288
4276
|
connected: wallet.connected,
|
|
@@ -4342,20 +4330,20 @@ function SOLConnectModal({
|
|
|
4342
4330
|
onSuccess,
|
|
4343
4331
|
...props
|
|
4344
4332
|
}) {
|
|
4345
|
-
const intl = (0,
|
|
4346
|
-
return /* @__PURE__ */ (0,
|
|
4333
|
+
const intl = (0, import_react_intl13.useIntl)();
|
|
4334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4347
4335
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4348
4336
|
}, {
|
|
4349
4337
|
name: "SOL"
|
|
4350
|
-
}), children: /* @__PURE__ */ (0,
|
|
4338
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
|
|
4351
4339
|
}
|
|
4352
4340
|
function SOLModal(props) {
|
|
4353
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
4341
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(SOLConnectModal, { ...props });
|
|
4354
4342
|
}
|
|
4355
4343
|
|
|
4356
4344
|
// src/components/TRONModal/index.tsx
|
|
4357
|
-
var
|
|
4358
|
-
var
|
|
4345
|
+
var import_react32 = __toESM(require("react"));
|
|
4346
|
+
var import_react_intl14 = require("react-intl");
|
|
4359
4347
|
|
|
4360
4348
|
// src/lib/tron/TronLinkAdapter.ts
|
|
4361
4349
|
var TronLinkAdapter = class {
|
|
@@ -4388,7 +4376,7 @@ var TronLinkAdapter = class {
|
|
|
4388
4376
|
};
|
|
4389
4377
|
|
|
4390
4378
|
// src/hooks/useTRONWallet.ts
|
|
4391
|
-
var
|
|
4379
|
+
var import_react31 = require("react");
|
|
4392
4380
|
|
|
4393
4381
|
// src/lib/tron/BitgetAdapter.ts
|
|
4394
4382
|
var BitgetAdapter = class {
|
|
@@ -4433,9 +4421,9 @@ var OKXAdapter = class {
|
|
|
4433
4421
|
// src/hooks/useTRONWallet.ts
|
|
4434
4422
|
var useTRONWallet = () => {
|
|
4435
4423
|
const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
4436
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
4437
|
-
const [address, setAddress] = (0,
|
|
4438
|
-
(0,
|
|
4424
|
+
const [installedWallets, setInstalledWallets] = (0, import_react31.useState)([]);
|
|
4425
|
+
const [address, setAddress] = (0, import_react31.useState)(null);
|
|
4426
|
+
(0, import_react31.useEffect)(() => {
|
|
4439
4427
|
const getInstalled = async () => {
|
|
4440
4428
|
const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
4441
4429
|
wallet: wallet2,
|
|
@@ -4445,11 +4433,11 @@ var useTRONWallet = () => {
|
|
|
4445
4433
|
};
|
|
4446
4434
|
getInstalled();
|
|
4447
4435
|
}, []);
|
|
4448
|
-
const [wallet, chooseWallet] = (0,
|
|
4436
|
+
const [wallet, chooseWallet] = (0, import_react31.useState)(null);
|
|
4449
4437
|
const onConnect = async () => {
|
|
4450
4438
|
setAddress(await wallet.connect());
|
|
4451
4439
|
};
|
|
4452
|
-
(0,
|
|
4440
|
+
(0, import_react31.useEffect)(() => {
|
|
4453
4441
|
if (!wallet) {
|
|
4454
4442
|
setAddress(null);
|
|
4455
4443
|
}
|
|
@@ -4465,25 +4453,25 @@ var useTRONWallet = () => {
|
|
|
4465
4453
|
};
|
|
4466
4454
|
|
|
4467
4455
|
// src/components/TRONModal/index.tsx
|
|
4468
|
-
var
|
|
4456
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
4469
4457
|
function TRONConnectModal({
|
|
4470
4458
|
type = "login",
|
|
4471
4459
|
onSuccess,
|
|
4472
4460
|
...props
|
|
4473
4461
|
}) {
|
|
4474
4462
|
const isDownMd = useDownMd();
|
|
4475
|
-
const intl = (0,
|
|
4463
|
+
const intl = (0, import_react_intl14.useIntl)();
|
|
4476
4464
|
const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
|
|
4477
4465
|
const iconMaps = {
|
|
4478
|
-
tronlink: /* @__PURE__ */ (0,
|
|
4479
|
-
bitget: /* @__PURE__ */ (0,
|
|
4480
|
-
okx: /* @__PURE__ */ (0,
|
|
4466
|
+
tronlink: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
|
|
4467
|
+
bitget: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
|
|
4468
|
+
okx: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
4481
4469
|
};
|
|
4482
4470
|
const { events, login } = useMatch();
|
|
4483
|
-
const [status, setStatus] = (0,
|
|
4484
|
-
const statusRef =
|
|
4485
|
-
const [error, setError] = (0,
|
|
4486
|
-
const connected = (0,
|
|
4471
|
+
const [status, setStatus] = (0, import_react32.useState)("");
|
|
4472
|
+
const statusRef = import_react32.default.useRef(status);
|
|
4473
|
+
const [error, setError] = (0, import_react32.useState)("");
|
|
4474
|
+
const connected = (0, import_react32.useMemo)(() => {
|
|
4487
4475
|
return !!address;
|
|
4488
4476
|
}, [address]);
|
|
4489
4477
|
const disconnect = async () => {
|
|
@@ -4551,7 +4539,7 @@ function TRONConnectModal({
|
|
|
4551
4539
|
statusRef.current = "";
|
|
4552
4540
|
}
|
|
4553
4541
|
};
|
|
4554
|
-
(0,
|
|
4542
|
+
(0, import_react32.useEffect)(() => {
|
|
4555
4543
|
if (wallet) {
|
|
4556
4544
|
console.log("onConnect");
|
|
4557
4545
|
onConnect();
|
|
@@ -4559,21 +4547,21 @@ function TRONConnectModal({
|
|
|
4559
4547
|
setStatus("");
|
|
4560
4548
|
}
|
|
4561
4549
|
}, [wallet]);
|
|
4562
|
-
(0,
|
|
4550
|
+
(0, import_react32.useEffect)(() => {
|
|
4563
4551
|
if (address) {
|
|
4564
4552
|
toLoginInWallet();
|
|
4565
4553
|
}
|
|
4566
4554
|
}, [address]);
|
|
4567
|
-
(0,
|
|
4555
|
+
(0, import_react32.useEffect)(() => {
|
|
4568
4556
|
if (!props.isOpen) {
|
|
4569
4557
|
disconnect();
|
|
4570
4558
|
}
|
|
4571
4559
|
}, [props.isOpen]);
|
|
4572
|
-
return /* @__PURE__ */ (0,
|
|
4560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4573
4561
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4574
4562
|
}, {
|
|
4575
4563
|
name: "TRON"
|
|
4576
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0,
|
|
4564
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4577
4565
|
WalletModalContent,
|
|
4578
4566
|
{
|
|
4579
4567
|
error,
|
|
@@ -4586,9 +4574,9 @@ function TRONConnectModal({
|
|
|
4586
4574
|
setVisible: () => {
|
|
4587
4575
|
}
|
|
4588
4576
|
}
|
|
4589
|
-
) : /* @__PURE__ */ (0,
|
|
4577
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "matchid-login-recommend-list", children: [
|
|
4590
4578
|
installedWallets.map((wallet2) => {
|
|
4591
|
-
return /* @__PURE__ */ (0,
|
|
4579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4592
4580
|
RecommendItem,
|
|
4593
4581
|
{
|
|
4594
4582
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -4601,14 +4589,14 @@ function TRONConnectModal({
|
|
|
4601
4589
|
);
|
|
4602
4590
|
}),
|
|
4603
4591
|
wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
4604
|
-
return /* @__PURE__ */ (0,
|
|
4592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4605
4593
|
RecommendItem,
|
|
4606
4594
|
{
|
|
4607
4595
|
icon: iconMaps[wallet2.walletKey],
|
|
4608
4596
|
name: wallet2.name,
|
|
4609
4597
|
onClick: () => {
|
|
4610
4598
|
},
|
|
4611
|
-
footer: /* @__PURE__ */ (0,
|
|
4599
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Button, { size: "sm", onClick: () => {
|
|
4612
4600
|
window.open(wallet2.website);
|
|
4613
4601
|
}, children: "Install" })
|
|
4614
4602
|
},
|
|
@@ -4618,28 +4606,28 @@ function TRONConnectModal({
|
|
|
4618
4606
|
] }) }) });
|
|
4619
4607
|
}
|
|
4620
4608
|
function TRONModal(props) {
|
|
4621
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
4609
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TRONConnectModal, { ...props, type: props.type });
|
|
4622
4610
|
}
|
|
4623
4611
|
|
|
4624
4612
|
// src/components/TONModal/index.tsx
|
|
4625
|
-
var
|
|
4626
|
-
var
|
|
4613
|
+
var import_react33 = __toESM(require("react"));
|
|
4614
|
+
var import_react_intl15 = require("react-intl");
|
|
4627
4615
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
4628
|
-
var
|
|
4616
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
4629
4617
|
function WalletContent2({
|
|
4630
4618
|
onSuccess,
|
|
4631
4619
|
type
|
|
4632
4620
|
}) {
|
|
4633
4621
|
const { events, login } = useMatch();
|
|
4634
|
-
const [connected, setConnected] = (0,
|
|
4622
|
+
const [connected, setConnected] = (0, import_react33.useState)(false);
|
|
4635
4623
|
const wallet = (0, import_ui_react.useTonWallet)();
|
|
4636
4624
|
const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
|
|
4637
4625
|
const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
|
|
4638
4626
|
const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
|
|
4639
|
-
const [status, setStatus] = (0,
|
|
4640
|
-
const statusRef =
|
|
4641
|
-
const [error, setError] = (0,
|
|
4642
|
-
(0,
|
|
4627
|
+
const [status, setStatus] = (0, import_react33.useState)("");
|
|
4628
|
+
const statusRef = import_react33.default.useRef(status);
|
|
4629
|
+
const [error, setError] = (0, import_react33.useState)("");
|
|
4630
|
+
(0, import_react33.useEffect)(() => {
|
|
4643
4631
|
const init = async () => {
|
|
4644
4632
|
if (wallet) {
|
|
4645
4633
|
await tonConnectUI.disconnect();
|
|
@@ -4712,7 +4700,7 @@ function WalletContent2({
|
|
|
4712
4700
|
}
|
|
4713
4701
|
});
|
|
4714
4702
|
}, []);
|
|
4715
|
-
(0,
|
|
4703
|
+
(0, import_react33.useEffect)(() => {
|
|
4716
4704
|
if (wallet) {
|
|
4717
4705
|
setConnected(true);
|
|
4718
4706
|
console.log("Wallet connected:", wallet);
|
|
@@ -4723,7 +4711,7 @@ function WalletContent2({
|
|
|
4723
4711
|
setStatus("");
|
|
4724
4712
|
}
|
|
4725
4713
|
}, [wallet]);
|
|
4726
|
-
(0,
|
|
4714
|
+
(0, import_react33.useEffect)(() => {
|
|
4727
4715
|
console.log({
|
|
4728
4716
|
state,
|
|
4729
4717
|
wallet
|
|
@@ -4752,7 +4740,7 @@ function WalletContent2({
|
|
|
4752
4740
|
}
|
|
4753
4741
|
}
|
|
4754
4742
|
}, [state]);
|
|
4755
|
-
return /* @__PURE__ */ (0,
|
|
4743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4756
4744
|
WalletModalContent,
|
|
4757
4745
|
{
|
|
4758
4746
|
connected,
|
|
@@ -4783,28 +4771,28 @@ function TONConnectModal({
|
|
|
4783
4771
|
onSuccess,
|
|
4784
4772
|
...props
|
|
4785
4773
|
}) {
|
|
4786
|
-
const intl = (0,
|
|
4774
|
+
const intl = (0, import_react_intl15.useIntl)();
|
|
4787
4775
|
const { endpoints, appid } = useLocalStore_default();
|
|
4788
4776
|
const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
|
|
4789
|
-
return /* @__PURE__ */ (0,
|
|
4777
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4790
4778
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4791
4779
|
}, {
|
|
4792
4780
|
name: "TON"
|
|
4793
|
-
}), children: /* @__PURE__ */ (0,
|
|
4781
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4794
4782
|
import_ui_react.TonConnectUIProvider,
|
|
4795
4783
|
{
|
|
4796
4784
|
manifestUrl,
|
|
4797
|
-
children: /* @__PURE__ */ (0,
|
|
4785
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(WalletContent2, { onSuccess, type })
|
|
4798
4786
|
}
|
|
4799
4787
|
) });
|
|
4800
4788
|
}
|
|
4801
4789
|
function TONModal(props) {
|
|
4802
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
4790
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TONConnectModal, { ...props });
|
|
4803
4791
|
}
|
|
4804
4792
|
|
|
4805
4793
|
// src/components/BTCModal/index.tsx
|
|
4806
|
-
var
|
|
4807
|
-
var
|
|
4794
|
+
var import_react35 = __toESM(require("react"));
|
|
4795
|
+
var import_react_intl16 = require("react-intl");
|
|
4808
4796
|
|
|
4809
4797
|
// src/lib/btc/UnisatAdapter.ts
|
|
4810
4798
|
var UnisatAdapter = class {
|
|
@@ -4952,12 +4940,12 @@ var LeatherAdapter = class {
|
|
|
4952
4940
|
};
|
|
4953
4941
|
|
|
4954
4942
|
// src/hooks/useBTCWallet.ts
|
|
4955
|
-
var
|
|
4943
|
+
var import_react34 = require("react");
|
|
4956
4944
|
var useBTCWallet = () => {
|
|
4957
4945
|
const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
|
|
4958
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
4959
|
-
const [address, setAddress] = (0,
|
|
4960
|
-
(0,
|
|
4946
|
+
const [installedWallets, setInstalledWallets] = (0, import_react34.useState)([]);
|
|
4947
|
+
const [address, setAddress] = (0, import_react34.useState)(null);
|
|
4948
|
+
(0, import_react34.useEffect)(() => {
|
|
4961
4949
|
const getInstalled = async () => {
|
|
4962
4950
|
const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
4963
4951
|
wallet: wallet2,
|
|
@@ -4967,11 +4955,11 @@ var useBTCWallet = () => {
|
|
|
4967
4955
|
};
|
|
4968
4956
|
getInstalled();
|
|
4969
4957
|
}, []);
|
|
4970
|
-
const [wallet, chooseWallet] = (0,
|
|
4958
|
+
const [wallet, chooseWallet] = (0, import_react34.useState)(null);
|
|
4971
4959
|
const onConnect = async () => {
|
|
4972
4960
|
setAddress(await wallet.connect());
|
|
4973
4961
|
};
|
|
4974
|
-
(0,
|
|
4962
|
+
(0, import_react34.useEffect)(() => {
|
|
4975
4963
|
if (!wallet) {
|
|
4976
4964
|
setAddress(null);
|
|
4977
4965
|
}
|
|
@@ -4987,25 +4975,25 @@ var useBTCWallet = () => {
|
|
|
4987
4975
|
};
|
|
4988
4976
|
|
|
4989
4977
|
// src/components/BTCModal/index.tsx
|
|
4990
|
-
var
|
|
4978
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
4991
4979
|
function BTCConnectModal({
|
|
4992
4980
|
type = "login",
|
|
4993
4981
|
onSuccess,
|
|
4994
4982
|
...props
|
|
4995
4983
|
}) {
|
|
4996
4984
|
const isDownMd = useDownMd();
|
|
4997
|
-
const intl = (0,
|
|
4985
|
+
const intl = (0, import_react_intl16.useIntl)();
|
|
4998
4986
|
const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
|
|
4999
4987
|
const iconMaps = {
|
|
5000
|
-
leather: /* @__PURE__ */ (0,
|
|
5001
|
-
unisat: /* @__PURE__ */ (0,
|
|
5002
|
-
xverse: /* @__PURE__ */ (0,
|
|
4988
|
+
leather: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
|
|
4989
|
+
unisat: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
|
|
4990
|
+
xverse: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
|
|
5003
4991
|
};
|
|
5004
4992
|
const { events, login } = useMatch();
|
|
5005
|
-
const [status, setStatus] = (0,
|
|
5006
|
-
const statusRef =
|
|
5007
|
-
const [error, setError] = (0,
|
|
5008
|
-
const connected = (0,
|
|
4993
|
+
const [status, setStatus] = (0, import_react35.useState)("");
|
|
4994
|
+
const statusRef = import_react35.default.useRef(status);
|
|
4995
|
+
const [error, setError] = (0, import_react35.useState)("");
|
|
4996
|
+
const connected = (0, import_react35.useMemo)(() => {
|
|
5009
4997
|
return !!address;
|
|
5010
4998
|
}, [address]);
|
|
5011
4999
|
const disconnect = async () => {
|
|
@@ -5069,7 +5057,7 @@ function BTCConnectModal({
|
|
|
5069
5057
|
statusRef.current = "";
|
|
5070
5058
|
}
|
|
5071
5059
|
};
|
|
5072
|
-
(0,
|
|
5060
|
+
(0, import_react35.useEffect)(() => {
|
|
5073
5061
|
if (wallet) {
|
|
5074
5062
|
console.log("onConnect");
|
|
5075
5063
|
try {
|
|
@@ -5082,12 +5070,12 @@ function BTCConnectModal({
|
|
|
5082
5070
|
setStatus("");
|
|
5083
5071
|
}
|
|
5084
5072
|
}, [wallet]);
|
|
5085
|
-
(0,
|
|
5073
|
+
(0, import_react35.useEffect)(() => {
|
|
5086
5074
|
if (address) {
|
|
5087
5075
|
toLoginInWallet();
|
|
5088
5076
|
}
|
|
5089
5077
|
}, [address]);
|
|
5090
|
-
(0,
|
|
5078
|
+
(0, import_react35.useEffect)(() => {
|
|
5091
5079
|
if (!props.isOpen) {
|
|
5092
5080
|
disconnect();
|
|
5093
5081
|
}
|
|
@@ -5099,11 +5087,11 @@ function BTCConnectModal({
|
|
|
5099
5087
|
statusRef.current = "";
|
|
5100
5088
|
setError("");
|
|
5101
5089
|
};
|
|
5102
|
-
return /* @__PURE__ */ (0,
|
|
5090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5103
5091
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5104
5092
|
}, {
|
|
5105
5093
|
name: "BTC"
|
|
5106
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0,
|
|
5094
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5107
5095
|
WalletModalContent,
|
|
5108
5096
|
{
|
|
5109
5097
|
error,
|
|
@@ -5116,9 +5104,9 @@ function BTCConnectModal({
|
|
|
5116
5104
|
setVisible: () => {
|
|
5117
5105
|
}
|
|
5118
5106
|
}
|
|
5119
|
-
) : /* @__PURE__ */ (0,
|
|
5107
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "matchid-login-recommend-list", children: [
|
|
5120
5108
|
installedWallets.map((wallet2) => {
|
|
5121
|
-
return /* @__PURE__ */ (0,
|
|
5109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5122
5110
|
RecommendItem,
|
|
5123
5111
|
{
|
|
5124
5112
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -5131,14 +5119,14 @@ function BTCConnectModal({
|
|
|
5131
5119
|
);
|
|
5132
5120
|
}),
|
|
5133
5121
|
wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
5134
|
-
return /* @__PURE__ */ (0,
|
|
5122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5135
5123
|
RecommendItem,
|
|
5136
5124
|
{
|
|
5137
5125
|
icon: iconMaps[wallet2.walletKey],
|
|
5138
5126
|
name: wallet2.name,
|
|
5139
5127
|
onClick: () => {
|
|
5140
5128
|
},
|
|
5141
|
-
footer: /* @__PURE__ */ (0,
|
|
5129
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Button, { size: "sm", onClick: () => {
|
|
5142
5130
|
window.open(wallet2.website);
|
|
5143
5131
|
}, children: "Install" })
|
|
5144
5132
|
},
|
|
@@ -5148,23 +5136,23 @@ function BTCConnectModal({
|
|
|
5148
5136
|
] }) }) });
|
|
5149
5137
|
}
|
|
5150
5138
|
function BTCModal(props) {
|
|
5151
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
5139
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(BTCConnectModal, { ...props });
|
|
5152
5140
|
}
|
|
5153
5141
|
|
|
5154
5142
|
// src/components/WalletModal/index.tsx
|
|
5155
|
-
var
|
|
5156
|
-
var
|
|
5157
|
-
var
|
|
5143
|
+
var import_react36 = require("react");
|
|
5144
|
+
var import_react_intl17 = require("react-intl");
|
|
5145
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
5158
5146
|
function WalletConnectModal({
|
|
5159
5147
|
type,
|
|
5160
5148
|
methods: _methods,
|
|
5161
5149
|
...props
|
|
5162
5150
|
}) {
|
|
5163
|
-
const intl = (0,
|
|
5151
|
+
const intl = (0, import_react_intl17.useIntl)();
|
|
5164
5152
|
const { walletMap } = useWalletConfig();
|
|
5165
5153
|
const { bind, login } = useUserInfo();
|
|
5166
5154
|
const config = useAppConfig();
|
|
5167
|
-
const methods = (0,
|
|
5155
|
+
const methods = (0, import_react36.useMemo)(() => {
|
|
5168
5156
|
if (_methods) return _methods;
|
|
5169
5157
|
if (!config.platform) {
|
|
5170
5158
|
return [];
|
|
@@ -5172,13 +5160,13 @@ function WalletConnectModal({
|
|
|
5172
5160
|
const platform = config.platform.map((p) => p.toLowerCase());
|
|
5173
5161
|
return WALLET_METHODS.filter((m) => platform.includes(m));
|
|
5174
5162
|
}, [config.platform, _methods]);
|
|
5175
|
-
return /* @__PURE__ */ (0,
|
|
5163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5176
5164
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5177
5165
|
}, {
|
|
5178
5166
|
name: ""
|
|
5179
|
-
}), children: /* @__PURE__ */ (0,
|
|
5167
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
|
|
5180
5168
|
const m = walletMap[method];
|
|
5181
|
-
return /* @__PURE__ */ (0,
|
|
5169
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
5182
5170
|
RecommendItem,
|
|
5183
5171
|
{
|
|
5184
5172
|
icon: m?.icon,
|
|
@@ -5192,21 +5180,21 @@ function WalletConnectModal({
|
|
|
5192
5180
|
}) }) }) });
|
|
5193
5181
|
}
|
|
5194
5182
|
function WalletModal(props) {
|
|
5195
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
5183
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(WalletConnectModal, { ...props });
|
|
5196
5184
|
}
|
|
5197
5185
|
|
|
5198
5186
|
// src/components/AlphaAvatar/index.tsx
|
|
5199
|
-
var
|
|
5200
|
-
var
|
|
5187
|
+
var import_react37 = require("react");
|
|
5188
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
5201
5189
|
function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
5202
|
-
const [avatar, setAvatar] = (0,
|
|
5203
|
-
(0,
|
|
5190
|
+
const [avatar, setAvatar] = (0, import_react37.useState)(void 0);
|
|
5191
|
+
(0, import_react37.useEffect)(() => {
|
|
5204
5192
|
if (name) {
|
|
5205
5193
|
const char = name[0].toUpperCase();
|
|
5206
5194
|
setAvatar(char);
|
|
5207
5195
|
}
|
|
5208
5196
|
}, [name]);
|
|
5209
|
-
return /* @__PURE__ */ (0,
|
|
5197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: `matchid-alpha-avatar ${className}`, style: {
|
|
5210
5198
|
width: size,
|
|
5211
5199
|
height: size,
|
|
5212
5200
|
fontSize: Math.ceil(size / 2)
|
|
@@ -5214,7 +5202,7 @@ function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
|
5214
5202
|
}
|
|
5215
5203
|
|
|
5216
5204
|
// src/components/WalletAsset/index.tsx
|
|
5217
|
-
var
|
|
5205
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
5218
5206
|
function WalletAsset({
|
|
5219
5207
|
onAssetClick,
|
|
5220
5208
|
matchWalletAssetsOptions
|
|
@@ -5224,7 +5212,7 @@ function WalletAsset({
|
|
|
5224
5212
|
list: walletAssets.mergedAssets
|
|
5225
5213
|
});
|
|
5226
5214
|
const { list } = useMatchChain();
|
|
5227
|
-
return /* @__PURE__ */ (0,
|
|
5215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "matchid-wallet-asset-list", children: matchWalletAssetList.list.map((n, index) => {
|
|
5228
5216
|
const clickFunc = onAssetClick && onAssetClick(n);
|
|
5229
5217
|
const chain = list?.find((m) => m.id.toString() === n.chain_id);
|
|
5230
5218
|
const getFooterColor = () => {
|
|
@@ -5239,11 +5227,11 @@ function WalletAsset({
|
|
|
5239
5227
|
}
|
|
5240
5228
|
return "";
|
|
5241
5229
|
};
|
|
5242
|
-
return /* @__PURE__ */ (0,
|
|
5230
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: `matchid-wallet-asset-item`, onClick: clickFunc, style: {
|
|
5243
5231
|
cursor: clickFunc ? "pointer" : "default"
|
|
5244
5232
|
}, children: [
|
|
5245
|
-
/* @__PURE__ */ (0,
|
|
5246
|
-
n.icon ? /* @__PURE__ */ (0,
|
|
5233
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "matchid-wallet-asset-logo", title: n.symbol || n.name || "", children: [
|
|
5234
|
+
n.icon ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("img", { src: n.icon, alt: n.symbol, className: `matchid-wallet-asset-icon` }) : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5247
5235
|
AlphaAvatar2,
|
|
5248
5236
|
{
|
|
5249
5237
|
className: `matchid-wallet-asset-icon`,
|
|
@@ -5251,12 +5239,12 @@ function WalletAsset({
|
|
|
5251
5239
|
name: n.symbol || n.name || ""
|
|
5252
5240
|
}
|
|
5253
5241
|
),
|
|
5254
|
-
chain?.iconUrl && /* @__PURE__ */ (0,
|
|
5242
|
+
chain?.iconUrl && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-wallet-asset-chain` })
|
|
5255
5243
|
] }),
|
|
5256
|
-
/* @__PURE__ */ (0,
|
|
5257
|
-
/* @__PURE__ */ (0,
|
|
5258
|
-
"price" in n && /* @__PURE__ */ (0,
|
|
5259
|
-
/* @__PURE__ */ (0,
|
|
5244
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: `matchid-wallet-asset-info`, children: [
|
|
5245
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: `matchid-wallet-asset-name`, children: n.symbol }),
|
|
5246
|
+
"price" in n && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: `matchid-wallet-asset-content`, children: [
|
|
5247
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "matchid-wallet-asset-price", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5260
5248
|
NumberFormatter,
|
|
5261
5249
|
{
|
|
5262
5250
|
value: n.price,
|
|
@@ -5264,7 +5252,7 @@ function WalletAsset({
|
|
|
5264
5252
|
tFixNum: 2
|
|
5265
5253
|
}
|
|
5266
5254
|
) }),
|
|
5267
|
-
/* @__PURE__ */ (0,
|
|
5255
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "matchid-wallet-asset-value", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5268
5256
|
NumberFormatter,
|
|
5269
5257
|
{
|
|
5270
5258
|
value: n.value,
|
|
@@ -5273,15 +5261,15 @@ function WalletAsset({
|
|
|
5273
5261
|
}
|
|
5274
5262
|
) })
|
|
5275
5263
|
] }),
|
|
5276
|
-
/* @__PURE__ */ (0,
|
|
5277
|
-
/* @__PURE__ */ (0,
|
|
5264
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: `matchid-wallet-asset-footer`, children: [
|
|
5265
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: `matchid-wallet-asset-balance`, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5278
5266
|
NumberFormatter,
|
|
5279
5267
|
{
|
|
5280
5268
|
value: n.balance,
|
|
5281
5269
|
tFixNum: 3
|
|
5282
5270
|
}
|
|
5283
5271
|
) }),
|
|
5284
|
-
"price_change_24h" in n && /* @__PURE__ */ (0,
|
|
5272
|
+
"price_change_24h" in n && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: `matchid-wallet-asset-change ${getFooterColor()}`, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5285
5273
|
NumberFormatter,
|
|
5286
5274
|
{
|
|
5287
5275
|
prefix: `${(n?.price_change_24h || 0) < 0 ? "-" : "+"} `,
|
|
@@ -5297,10 +5285,10 @@ function WalletAsset({
|
|
|
5297
5285
|
}
|
|
5298
5286
|
|
|
5299
5287
|
// src/components/TokenSend/index.tsx
|
|
5300
|
-
var
|
|
5301
|
-
var
|
|
5302
|
-
var
|
|
5303
|
-
var
|
|
5288
|
+
var import_react38 = require("react");
|
|
5289
|
+
var import_viem10 = require("viem");
|
|
5290
|
+
var import_react_intl18 = require("react-intl");
|
|
5291
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
5304
5292
|
function Input2({
|
|
5305
5293
|
onChange,
|
|
5306
5294
|
placeholder,
|
|
@@ -5310,8 +5298,8 @@ function Input2({
|
|
|
5310
5298
|
error,
|
|
5311
5299
|
size = "df"
|
|
5312
5300
|
}) {
|
|
5313
|
-
return /* @__PURE__ */ (0,
|
|
5314
|
-
/* @__PURE__ */ (0,
|
|
5301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-input-box ${"matchid-token-input-" + size}`, children: [
|
|
5302
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5315
5303
|
"input",
|
|
5316
5304
|
{
|
|
5317
5305
|
placeholder,
|
|
@@ -5322,7 +5310,7 @@ function Input2({
|
|
|
5322
5310
|
className: `matchid-token-input ${error ? "matchid-token-input-error" : ""}`
|
|
5323
5311
|
}
|
|
5324
5312
|
),
|
|
5325
|
-
error && /* @__PURE__ */ (0,
|
|
5313
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: "matchid-token-input-error-text", children: error })
|
|
5326
5314
|
] });
|
|
5327
5315
|
}
|
|
5328
5316
|
function TokenSend({
|
|
@@ -5332,25 +5320,25 @@ function TokenSend({
|
|
|
5332
5320
|
onBack
|
|
5333
5321
|
}) {
|
|
5334
5322
|
const { list: chainList } = useMatchChain();
|
|
5335
|
-
const intl = (0,
|
|
5323
|
+
const intl = (0, import_react_intl18.useIntl)();
|
|
5336
5324
|
const { createWalletClient: createWalletClient2 } = useWallet();
|
|
5337
5325
|
const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
|
|
5338
|
-
const chain = (0,
|
|
5326
|
+
const chain = (0, import_react38.useMemo)(() => {
|
|
5339
5327
|
return chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
5340
5328
|
}, [chainList, token.chain_id]);
|
|
5341
|
-
const walletClient = (0,
|
|
5329
|
+
const walletClient = (0, import_react38.useMemo)(() => {
|
|
5342
5330
|
return createWalletClient2({
|
|
5343
5331
|
// @ts-ignore
|
|
5344
|
-
chain: (0,
|
|
5345
|
-
transport: (0,
|
|
5332
|
+
chain: (0, import_viem10.defineChain)(chain),
|
|
5333
|
+
transport: (0, import_viem10.http)()
|
|
5346
5334
|
});
|
|
5347
5335
|
}, [chain]);
|
|
5348
|
-
const [amount, setAmount] = (0,
|
|
5349
|
-
const [address, setAddress] = (0,
|
|
5350
|
-
const [loading, setLoading] = (0,
|
|
5351
|
-
const [sending, setSending] = (0,
|
|
5352
|
-
const [txError, setTxError] = (0,
|
|
5353
|
-
const transaction = (0,
|
|
5336
|
+
const [amount, setAmount] = (0, import_react38.useState)("");
|
|
5337
|
+
const [address, setAddress] = (0, import_react38.useState)("");
|
|
5338
|
+
const [loading, setLoading] = (0, import_react38.useState)(false);
|
|
5339
|
+
const [sending, setSending] = (0, import_react38.useState)(false);
|
|
5340
|
+
const [txError, setTxError] = (0, import_react38.useState)("");
|
|
5341
|
+
const transaction = (0, import_react38.useMemo)(() => {
|
|
5354
5342
|
if (!amount || !address) {
|
|
5355
5343
|
return;
|
|
5356
5344
|
}
|
|
@@ -5379,13 +5367,13 @@ function TokenSend({
|
|
|
5379
5367
|
"type": "function"
|
|
5380
5368
|
}
|
|
5381
5369
|
];
|
|
5382
|
-
const viemChain = (0,
|
|
5370
|
+
const viemChain = (0, import_viem10.defineChain)(chain);
|
|
5383
5371
|
const to = isNative ? address : token.address;
|
|
5384
|
-
const value = isNative ? (0,
|
|
5385
|
-
const data = isNative ? "0x" : (0,
|
|
5372
|
+
const value = isNative ? (0, import_viem10.parseUnits)(amount, parseInt(token?.decimals || "18")) : BigInt(0);
|
|
5373
|
+
const data = isNative ? "0x" : (0, import_viem10.encodeFunctionData)({
|
|
5386
5374
|
abi,
|
|
5387
5375
|
functionName: "transfer",
|
|
5388
|
-
args: [address, (0,
|
|
5376
|
+
args: [address, (0, import_viem10.parseUnits)(amount, parseInt(token?.decimals || "18"))]
|
|
5389
5377
|
});
|
|
5390
5378
|
return {
|
|
5391
5379
|
to,
|
|
@@ -5405,7 +5393,7 @@ function TokenSend({
|
|
|
5405
5393
|
setLoading(false);
|
|
5406
5394
|
}
|
|
5407
5395
|
};
|
|
5408
|
-
const error = (0,
|
|
5396
|
+
const error = (0, import_react38.useMemo)(() => {
|
|
5409
5397
|
setTxError("");
|
|
5410
5398
|
let amountError = "";
|
|
5411
5399
|
let addressError = "";
|
|
@@ -5448,7 +5436,7 @@ function TokenSend({
|
|
|
5448
5436
|
setAmount(value);
|
|
5449
5437
|
}
|
|
5450
5438
|
};
|
|
5451
|
-
const canSend = (0,
|
|
5439
|
+
const canSend = (0, import_react38.useMemo)(() => {
|
|
5452
5440
|
return !error.amount && !error.address && amount && address;
|
|
5453
5441
|
}, [error]);
|
|
5454
5442
|
const onNext = async () => {
|
|
@@ -5458,7 +5446,7 @@ function TokenSend({
|
|
|
5458
5446
|
}
|
|
5459
5447
|
onClose();
|
|
5460
5448
|
};
|
|
5461
|
-
(0,
|
|
5449
|
+
(0, import_react38.useEffect)(() => {
|
|
5462
5450
|
const receiveMessage = (event) => {
|
|
5463
5451
|
if (event.data) {
|
|
5464
5452
|
if (event.data.source == "match-wallet") {
|
|
@@ -5474,24 +5462,24 @@ function TokenSend({
|
|
|
5474
5462
|
window.removeEventListener("message", receiveMessage);
|
|
5475
5463
|
};
|
|
5476
5464
|
}, []);
|
|
5477
|
-
return /* @__PURE__ */ (0,
|
|
5478
|
-
/* @__PURE__ */ (0,
|
|
5479
|
-
/* @__PURE__ */ (0,
|
|
5480
|
-
/* @__PURE__ */ (0,
|
|
5481
|
-
/* @__PURE__ */ (0,
|
|
5482
|
-
/* @__PURE__ */ (0,
|
|
5483
|
-
token.icon ? /* @__PURE__ */ (0,
|
|
5465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ModalDrawer, { isOpen: true, onClose, zIndex, title: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_intl18.FormattedMessage, { id: "send" }), onBack, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-send-box`, children: [
|
|
5466
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: "matchid-token-send-content", children: [
|
|
5467
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-amount-content`, children: [
|
|
5468
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-amount-header`, children: [
|
|
5469
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_intl18.FormattedMessage, { id: "amount" }) }),
|
|
5470
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-amount-chain`, children: [
|
|
5471
|
+
token.icon ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5484
5472
|
"img",
|
|
5485
5473
|
{
|
|
5486
5474
|
src: token?.icon,
|
|
5487
5475
|
alt: token?.symbol,
|
|
5488
5476
|
className: `matchid-token-amount-chain-icon`
|
|
5489
5477
|
}
|
|
5490
|
-
) : /* @__PURE__ */ (0,
|
|
5491
|
-
/* @__PURE__ */ (0,
|
|
5478
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(AlphaAvatar, { name: token.symbol || token.name || "", size: 16 }),
|
|
5479
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("span", { children: token?.symbol })
|
|
5492
5480
|
] })
|
|
5493
5481
|
] }),
|
|
5494
|
-
/* @__PURE__ */ (0,
|
|
5482
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5495
5483
|
Input2,
|
|
5496
5484
|
{
|
|
5497
5485
|
type: "text",
|
|
@@ -5504,18 +5492,18 @@ function TokenSend({
|
|
|
5504
5492
|
error: error.amount || txError
|
|
5505
5493
|
}
|
|
5506
5494
|
),
|
|
5507
|
-
/* @__PURE__ */ (0,
|
|
5508
|
-
/* @__PURE__ */ (0,
|
|
5509
|
-
/* @__PURE__ */ (0,
|
|
5495
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-amount-footer`, children: [
|
|
5496
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-amount-title`, children: [
|
|
5497
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_intl18.FormattedMessage, { id: "balance" }),
|
|
5510
5498
|
":"
|
|
5511
5499
|
] }),
|
|
5512
|
-
/* @__PURE__ */ (0,
|
|
5500
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: `matchid-token-amount-value`, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(NumberFormatter, { value: token.balance, tFixNum: 10, suffix: " " + token.symbol }) })
|
|
5513
5501
|
] }),
|
|
5514
|
-
/* @__PURE__ */ (0,
|
|
5502
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(TransferIcon, { className: "matchid-token-amount-transfer" })
|
|
5515
5503
|
] }),
|
|
5516
|
-
/* @__PURE__ */ (0,
|
|
5517
|
-
/* @__PURE__ */ (0,
|
|
5518
|
-
/* @__PURE__ */ (0,
|
|
5504
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { className: `matchid-token-address-content`, children: [
|
|
5505
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: `matchid-token-address-header`, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: `matchid-token-address-title`, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_intl18.FormattedMessage, { id: "receiveTitle" }) }) }),
|
|
5506
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5519
5507
|
Input2,
|
|
5520
5508
|
{
|
|
5521
5509
|
type: "text",
|
|
@@ -5531,7 +5519,7 @@ function TokenSend({
|
|
|
5531
5519
|
)
|
|
5532
5520
|
] })
|
|
5533
5521
|
] }),
|
|
5534
|
-
/* @__PURE__ */ (0,
|
|
5522
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5535
5523
|
Button,
|
|
5536
5524
|
{
|
|
5537
5525
|
size: "lg",
|
|
@@ -5540,15 +5528,15 @@ function TokenSend({
|
|
|
5540
5528
|
disabled: !canSend || !!txError,
|
|
5541
5529
|
onClick: onNext,
|
|
5542
5530
|
loading: loading || sending,
|
|
5543
|
-
children: /* @__PURE__ */ (0,
|
|
5531
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_react_intl18.FormattedMessage, { id: "next" })
|
|
5544
5532
|
}
|
|
5545
5533
|
)
|
|
5546
5534
|
] }) });
|
|
5547
5535
|
}
|
|
5548
5536
|
|
|
5549
5537
|
// src/components/TokenDetail/index.tsx
|
|
5550
|
-
var
|
|
5551
|
-
var
|
|
5538
|
+
var import_react_intl19 = require("react-intl");
|
|
5539
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5552
5540
|
function TokenDetail({
|
|
5553
5541
|
onClose,
|
|
5554
5542
|
token
|
|
@@ -5558,61 +5546,61 @@ function TokenDetail({
|
|
|
5558
5546
|
const chain = chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
5559
5547
|
const onSend = () => {
|
|
5560
5548
|
modal.show((props) => {
|
|
5561
|
-
return /* @__PURE__ */ (0,
|
|
5549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(TokenSend, { onClose: () => {
|
|
5562
5550
|
props.close();
|
|
5563
5551
|
onClose();
|
|
5564
5552
|
}, onBack: props.close, zIndex: props.zIndex, token });
|
|
5565
5553
|
});
|
|
5566
5554
|
};
|
|
5567
|
-
const intl = (0,
|
|
5568
|
-
return /* @__PURE__ */ (0,
|
|
5555
|
+
const intl = (0, import_react_intl19.useIntl)();
|
|
5556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ModalDrawer, { isOpen: true, title: intl.formatMessage({
|
|
5569
5557
|
id: "tokenDetails"
|
|
5570
|
-
}), onClose, children: /* @__PURE__ */ (0,
|
|
5571
|
-
/* @__PURE__ */ (0,
|
|
5572
|
-
/* @__PURE__ */ (0,
|
|
5573
|
-
/* @__PURE__ */ (0,
|
|
5574
|
-
token.icon ? /* @__PURE__ */ (0,
|
|
5575
|
-
chain?.iconUrl && /* @__PURE__ */ (0,
|
|
5558
|
+
}), onClose, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-detail`, children: [
|
|
5559
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-main`, children: [
|
|
5560
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-info`, children: [
|
|
5561
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-logo`, children: [
|
|
5562
|
+
token.icon ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("img", { src: token.icon, alt: token.symbol, className: `matchid-token-icon` }) : /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(AlphaAvatar, { className: `matchid-token-icon`, size: 48, name: token.symbol || token.name || "" }),
|
|
5563
|
+
chain?.iconUrl && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-token-chain` })
|
|
5576
5564
|
] }),
|
|
5577
|
-
/* @__PURE__ */ (0,
|
|
5578
|
-
/* @__PURE__ */ (0,
|
|
5565
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-name`, children: [
|
|
5566
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(NumberFormatter, { value: token.balance, tFixNum: 10 }),
|
|
5579
5567
|
" ",
|
|
5580
5568
|
token.symbol
|
|
5581
5569
|
] })
|
|
5582
5570
|
] }),
|
|
5583
|
-
token.address.toLowerCase() != NATIVE_TOKEN_ADDRESS && /* @__PURE__ */ (0,
|
|
5584
|
-
/* @__PURE__ */ (0,
|
|
5585
|
-
/* @__PURE__ */ (0,
|
|
5571
|
+
token.address.toLowerCase() != NATIVE_TOKEN_ADDRESS && /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: `matchid-token-contract`, children: [
|
|
5572
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "matchid-token-contract-title", children: "Contract address" }),
|
|
5573
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "matchid-token-contract-address", children: token.address })
|
|
5586
5574
|
] })
|
|
5587
5575
|
] }),
|
|
5588
|
-
/* @__PURE__ */ (0,
|
|
5576
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_react_intl19.FormattedMessage, { id: "send" }) })
|
|
5589
5577
|
] }) });
|
|
5590
5578
|
}
|
|
5591
5579
|
|
|
5592
5580
|
// src/components/TokenSendList/index.tsx
|
|
5593
|
-
var
|
|
5594
|
-
var
|
|
5595
|
-
var
|
|
5581
|
+
var import_react39 = require("react");
|
|
5582
|
+
var import_react_intl20 = require("react-intl");
|
|
5583
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
5596
5584
|
function TokenSendList({ close }) {
|
|
5597
5585
|
const walletAssets = useMatchWalletAssets();
|
|
5598
5586
|
const matchWalletAssetList = useMatchWalletAssetList({
|
|
5599
5587
|
list: walletAssets.mergedAssets
|
|
5600
5588
|
});
|
|
5601
5589
|
const { list } = useMatchChain();
|
|
5602
|
-
const [checked, setChecked] = (0,
|
|
5590
|
+
const [checked, setChecked] = (0, import_react39.useState)();
|
|
5603
5591
|
const modal = useModal();
|
|
5604
5592
|
const onNext = () => {
|
|
5605
5593
|
checked && modal.show((props) => {
|
|
5606
|
-
return /* @__PURE__ */ (0,
|
|
5594
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(TokenSend, { onClose: () => {
|
|
5607
5595
|
props.close();
|
|
5608
5596
|
close();
|
|
5609
5597
|
}, onBack: props.close, zIndex: props.zIndex, token: checked });
|
|
5610
5598
|
});
|
|
5611
5599
|
};
|
|
5612
|
-
return /* @__PURE__ */ (0,
|
|
5613
|
-
/* @__PURE__ */ (0,
|
|
5600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className: "matchid-token-send-list-box", children: [
|
|
5601
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: "matchid-token-send-list", children: matchWalletAssetList.list.map((n, index) => {
|
|
5614
5602
|
const chain = list?.find((m) => m.id.toString() === n.chain_id);
|
|
5615
|
-
return /* @__PURE__ */ (0,
|
|
5603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
|
|
5616
5604
|
"div",
|
|
5617
5605
|
{
|
|
5618
5606
|
className: `matchid-token-send-item ${checked?.address == n.address ? "matchid-token-send-chekced" : ""}`,
|
|
@@ -5620,10 +5608,10 @@ function TokenSendList({ close }) {
|
|
|
5620
5608
|
setChecked(n);
|
|
5621
5609
|
},
|
|
5622
5610
|
children: [
|
|
5623
|
-
/* @__PURE__ */ (0,
|
|
5624
|
-
/* @__PURE__ */ (0,
|
|
5625
|
-
/* @__PURE__ */ (0,
|
|
5626
|
-
n.icon ? /* @__PURE__ */ (0,
|
|
5611
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Radio, { checked: checked?.address == n.address }),
|
|
5612
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className: "matchid-token-send-content", children: [
|
|
5613
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className: "matchid-token-send-logo", children: [
|
|
5614
|
+
n.icon ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("img", { src: n.icon, alt: n.symbol, className: `matchid-token-send-icon` }) : /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5627
5615
|
AlphaAvatar2,
|
|
5628
5616
|
{
|
|
5629
5617
|
className: `matchid-token-send-icon`,
|
|
@@ -5631,7 +5619,7 @@ function TokenSendList({ close }) {
|
|
|
5631
5619
|
name: n.symbol || n.name || ""
|
|
5632
5620
|
}
|
|
5633
5621
|
),
|
|
5634
|
-
chain?.iconUrl && /* @__PURE__ */ (0,
|
|
5622
|
+
chain?.iconUrl && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5635
5623
|
"img",
|
|
5636
5624
|
{
|
|
5637
5625
|
src: chain.iconUrl,
|
|
@@ -5640,9 +5628,9 @@ function TokenSendList({ close }) {
|
|
|
5640
5628
|
}
|
|
5641
5629
|
)
|
|
5642
5630
|
] }),
|
|
5643
|
-
/* @__PURE__ */ (0,
|
|
5644
|
-
/* @__PURE__ */ (0,
|
|
5645
|
-
/* @__PURE__ */ (0,
|
|
5631
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className: `matchid-token-send-info`, children: [
|
|
5632
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: `matchid-token-send-name`, children: n.symbol }),
|
|
5633
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: `matchid-token-send-balance`, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(NumberFormatter, { value: n.balance, tFixNum: 3 }) })
|
|
5646
5634
|
] })
|
|
5647
5635
|
] })
|
|
5648
5636
|
]
|
|
@@ -5650,23 +5638,24 @@ function TokenSendList({ close }) {
|
|
|
5650
5638
|
index
|
|
5651
5639
|
);
|
|
5652
5640
|
}) }),
|
|
5653
|
-
/* @__PURE__ */ (0,
|
|
5641
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_intl20.FormattedMessage, { id: "next" }) })
|
|
5654
5642
|
] });
|
|
5655
5643
|
}
|
|
5656
5644
|
|
|
5657
5645
|
// src/components/TransactionList/index.tsx
|
|
5658
5646
|
var import_react_infinite_scroll_component = __toESM(require("react-infinite-scroll-component"));
|
|
5659
|
-
var
|
|
5660
|
-
var import_viem10 = require("viem");
|
|
5647
|
+
var import_react40 = require("react");
|
|
5661
5648
|
var import_viem11 = require("viem");
|
|
5662
|
-
var
|
|
5649
|
+
var import_viem12 = require("viem");
|
|
5650
|
+
var import_react_intl21 = require("react-intl");
|
|
5651
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
5663
5652
|
var Item = ({ data }) => {
|
|
5664
5653
|
const { address } = useWallet();
|
|
5665
5654
|
const isOut = data.from == address;
|
|
5666
5655
|
const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
|
|
5667
5656
|
const { getContract } = useContractStore_default();
|
|
5668
|
-
const [shouldRefetch, setShouldRefetch] = (0,
|
|
5669
|
-
const transferType = (0,
|
|
5657
|
+
const [shouldRefetch, setShouldRefetch] = (0, import_react40.useState)(true);
|
|
5658
|
+
const transferType = (0, import_react40.useMemo)(() => {
|
|
5670
5659
|
const methodId = data.input.substring(2, 10);
|
|
5671
5660
|
if (methodId == "095ea7b3") {
|
|
5672
5661
|
return "erc20_approve";
|
|
@@ -5676,28 +5665,28 @@ var Item = ({ data }) => {
|
|
|
5676
5665
|
}
|
|
5677
5666
|
return "unknown";
|
|
5678
5667
|
}, [data.input]);
|
|
5679
|
-
const to = (0,
|
|
5668
|
+
const to = (0, import_react40.useMemo)(() => {
|
|
5680
5669
|
if (transferType == "erc20_transfer") {
|
|
5681
|
-
const decodeData = (0,
|
|
5682
|
-
abi:
|
|
5670
|
+
const decodeData = (0, import_viem11.decodeFunctionData)({
|
|
5671
|
+
abi: import_viem12.erc20Abi,
|
|
5683
5672
|
data: data.input
|
|
5684
5673
|
});
|
|
5685
5674
|
return decodeData.args[0];
|
|
5686
5675
|
}
|
|
5687
5676
|
return data.to;
|
|
5688
5677
|
}, [data.input, transferType, data.to]);
|
|
5689
|
-
const amount = (0,
|
|
5678
|
+
const amount = (0, import_react40.useMemo)(() => {
|
|
5690
5679
|
if (transferType == "erc20_transfer") {
|
|
5691
|
-
const decodeData = (0,
|
|
5692
|
-
abi:
|
|
5680
|
+
const decodeData = (0, import_viem11.decodeFunctionData)({
|
|
5681
|
+
abi: import_viem12.erc20Abi,
|
|
5693
5682
|
data: data.input
|
|
5694
5683
|
});
|
|
5695
5684
|
const value = decodeData.args[1];
|
|
5696
|
-
return (0,
|
|
5685
|
+
return (0, import_viem11.formatUnits)(value, getContract(chainId || 0, data.to)?.decimals || 18);
|
|
5697
5686
|
}
|
|
5698
5687
|
return chainFormatUnits(BigInt(data.value));
|
|
5699
5688
|
}, [data.input, transferType, data.value, getContract, chainId, data.to]);
|
|
5700
|
-
(0,
|
|
5689
|
+
(0, import_react40.useEffect)(() => {
|
|
5701
5690
|
if (data.hash) {
|
|
5702
5691
|
setShouldRefetch(true);
|
|
5703
5692
|
}
|
|
@@ -5705,11 +5694,11 @@ var Item = ({ data }) => {
|
|
|
5705
5694
|
const hashQuery = useHash({
|
|
5706
5695
|
hash: data.hash,
|
|
5707
5696
|
//@ts-ignore
|
|
5708
|
-
chain: (0,
|
|
5697
|
+
chain: (0, import_viem11.defineChain)(chain),
|
|
5709
5698
|
refetchInterval: shouldRefetch ? 3e3 : false,
|
|
5710
5699
|
enabled: shouldRefetch
|
|
5711
5700
|
});
|
|
5712
|
-
const status = (0,
|
|
5701
|
+
const status = (0, import_react40.useMemo)(() => {
|
|
5713
5702
|
if (data.source == "matchain") {
|
|
5714
5703
|
switch (data.extra.status) {
|
|
5715
5704
|
case "ok":
|
|
@@ -5736,27 +5725,27 @@ var Item = ({ data }) => {
|
|
|
5736
5725
|
}
|
|
5737
5726
|
return "loading";
|
|
5738
5727
|
}, [data.extra?.status, data.source, hashQuery.data]);
|
|
5739
|
-
(0,
|
|
5728
|
+
(0, import_react40.useEffect)(() => {
|
|
5740
5729
|
setShouldRefetch(status == "loading");
|
|
5741
5730
|
}, [status]);
|
|
5742
|
-
const symbol = (0,
|
|
5731
|
+
const symbol = (0, import_react40.useMemo)(() => {
|
|
5743
5732
|
if (transferType == "erc20_transfer") {
|
|
5744
5733
|
return getContract(chainId || 0, data.to)?.symbol || getContract(chainId || 0, data.to)?.name || "unknown";
|
|
5745
5734
|
}
|
|
5746
5735
|
return chain?.nativeCurrency.symbol || chain?.nativeCurrency.name;
|
|
5747
5736
|
}, [transferType, chain, getContract, chainId, data.to]);
|
|
5748
|
-
return /* @__PURE__ */ (0,
|
|
5737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
5749
5738
|
"a",
|
|
5750
5739
|
{
|
|
5751
5740
|
href: explorerLink(`tx/${data.hash}`),
|
|
5752
5741
|
target: "_blank",
|
|
5753
5742
|
className: `matchid-transaction-item`,
|
|
5754
5743
|
children: [
|
|
5755
|
-
/* @__PURE__ */ (0,
|
|
5756
|
-
/* @__PURE__ */ (0,
|
|
5757
|
-
/* @__PURE__ */ (0,
|
|
5758
|
-
/* @__PURE__ */ (0,
|
|
5759
|
-
/* @__PURE__ */ (0,
|
|
5744
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: `matchid-transacton-item-container`, children: [
|
|
5745
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "matchid-transaction-item-icon", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(ArrowSendIcon, { className: !isOut ? "rotate-180" : "" }) }),
|
|
5746
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: `matchid-transaction-item-details`, children: [
|
|
5747
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: `matchid-transaction-item-address`, children: formatAddress(to, 6, 4) }),
|
|
5748
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
5760
5749
|
"div",
|
|
5761
5750
|
{
|
|
5762
5751
|
className: `matchid-transaction-item-timestamp`,
|
|
@@ -5765,11 +5754,11 @@ var Item = ({ data }) => {
|
|
|
5765
5754
|
)
|
|
5766
5755
|
] })
|
|
5767
5756
|
] }),
|
|
5768
|
-
/* @__PURE__ */ (0,
|
|
5769
|
-
/* @__PURE__ */ (0,
|
|
5770
|
-
status == "loading" && /* @__PURE__ */ (0,
|
|
5771
|
-
status == "success" && /* @__PURE__ */ (0,
|
|
5772
|
-
status == "error" && /* @__PURE__ */ (0,
|
|
5757
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: `matchid-transaction-item-amount ${"matchid-transaction-item-" + status}`, children: [
|
|
5758
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(NumberFormatter, { value: amount, tFixNum: 6, prefix: isOut ? "-" : "+", suffix: " " + symbol }),
|
|
5759
|
+
status == "loading" && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoadingIcon_default, { color: "#000000", size: 16, rotate: true }),
|
|
5760
|
+
status == "success" && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(CheckRoundIcon, { size: 16 }),
|
|
5761
|
+
status == "error" && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(InfoRoundIcon, { size: 16 })
|
|
5773
5762
|
] })
|
|
5774
5763
|
]
|
|
5775
5764
|
}
|
|
@@ -5779,19 +5768,19 @@ function TransactionList({
|
|
|
5779
5768
|
scrollableTarget
|
|
5780
5769
|
}) {
|
|
5781
5770
|
const { fetchMoreData, hasMore, items } = useMatchWalletRecords();
|
|
5782
|
-
return /* @__PURE__ */ (0,
|
|
5771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
5783
5772
|
import_react_infinite_scroll_component.default,
|
|
5784
5773
|
{
|
|
5785
5774
|
scrollableTarget,
|
|
5786
5775
|
dataLength: items.length,
|
|
5787
5776
|
next: fetchMoreData,
|
|
5788
5777
|
hasMore,
|
|
5789
|
-
loader: /* @__PURE__ */ (0,
|
|
5790
|
-
/* @__PURE__ */ (0,
|
|
5778
|
+
loader: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "matchid-list-nomore", children: [
|
|
5779
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoadingIcon_default, { rotate: true, size: 16, color: "black" }),
|
|
5791
5780
|
"Loading..."
|
|
5792
5781
|
] }),
|
|
5793
|
-
endMessage: items.length > 0 ? /* @__PURE__ */ (0,
|
|
5794
|
-
children: items.length == 0 && !hasMore ? /* @__PURE__ */ (0,
|
|
5782
|
+
endMessage: items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_react_intl21.FormattedMessage, { id: "noMoreRecords" }) }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_react_intl21.FormattedMessage, { id: "noRecords" }) }),
|
|
5783
|
+
children: items.length == 0 && !hasMore ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "mt-[150px]" }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: `matchid-transaction-list`, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Item, { data: item }, index)) })
|
|
5795
5784
|
}
|
|
5796
5785
|
);
|
|
5797
5786
|
}
|