@matchain/matchid-sdk-react 0.1.53-alpha.3 → 0.1.53-alpha.4
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-3CR66BEX.mjs +19 -0
- package/dist/chunk-3CR66BEX.mjs.map +1 -0
- package/dist/{chunk-4EVF2PXX.mjs → chunk-4J3KZCLG.mjs} +2 -2
- package/dist/{chunk-HYQ3T6WW.mjs → chunk-JX73EY6V.mjs} +2 -14
- package/dist/chunk-JX73EY6V.mjs.map +1 -0
- package/dist/{chunk-3YF3P77J.mjs → chunk-XXZZYALJ.mjs} +766 -188
- package/dist/chunk-XXZZYALJ.mjs.map +1 -0
- package/dist/components/index.d.mts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +829 -217
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +6 -3
- package/dist/config/chains/index.mjs +2 -1
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +169 -58
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +5 -4
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +457 -346
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +4 -3
- package/dist/{index-CcN5ls1U.d.ts → index-BaYTgL99.d.mts} +3 -2
- package/dist/{index-lKJjj0w4.d.ts → index-BhU3hF7y.d.ts} +2 -2
- package/dist/{index-DrEKzXYX.d.mts → index-Bpd2gBNh.d.mts} +1 -1
- package/dist/{index-BSUoL5Jo.d.mts → index-C5StsjWY.d.ts} +11 -4
- package/dist/{index-DgwlV4ve.d.ts → index-CFqk8eNo.d.ts} +12 -12
- package/dist/{index-DXRsJY9h.d.mts → index-D1QeVZyN.d.ts} +3 -2
- package/dist/{index-BVO4Bt59.d.ts → index-D_UNctDI.d.mts} +11 -4
- package/dist/{index-Cul4qlZl.d.ts → index-DaXXoRxr.d.ts} +1 -1
- package/dist/{index-BKHtf1Tu.d.ts → index-Dt92N6yZ.d.ts} +1 -1
- package/dist/{index-ba3VTkaV.d.mts → index-W6yjuOKT.d.mts} +1 -1
- package/dist/{index-EPwrSSOz.d.mts → index-mxbJ8CFx.d.mts} +12 -12
- package/dist/{index-CvVl_Xw1.d.mts → index-wqqEUufi.d.mts} +2 -2
- package/dist/index.css +3 -0
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1068 -508
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -7
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/{types-Bgd3Ac92.d.mts → types-Bx_FJ11s.d.mts} +2 -1
- package/dist/{types-Bgd3Ac92.d.ts → types-Bx_FJ11s.d.ts} +2 -1
- package/dist/ui/index.d.mts +3 -3
- package/dist/ui/index.d.ts +3 -3
- package/example/src/pages/User/index.tsx +7 -1
- package/package.json +2 -1
- package/dist/chunk-3YF3P77J.mjs.map +0 -1
- package/dist/chunk-HYQ3T6WW.mjs.map +0 -1
- /package/dist/{chunk-4EVF2PXX.mjs.map → chunk-4J3KZCLG.mjs.map} +0 -0
|
@@ -17,20 +17,6 @@ import {
|
|
|
17
17
|
useHash,
|
|
18
18
|
useLayout_exports
|
|
19
19
|
} from "./chunk-V2S54LGG.mjs";
|
|
20
|
-
import {
|
|
21
|
-
NumberFormatter,
|
|
22
|
-
bytesToBase64,
|
|
23
|
-
decodeBase64,
|
|
24
|
-
encodeBase64,
|
|
25
|
-
formatAddress,
|
|
26
|
-
formatDate,
|
|
27
|
-
getAppClientId,
|
|
28
|
-
getVersion,
|
|
29
|
-
isInTgApp,
|
|
30
|
-
isValidEmail,
|
|
31
|
-
isValidUsername,
|
|
32
|
-
truncateAddress
|
|
33
|
-
} from "./chunk-OCQ2AIM3.mjs";
|
|
34
20
|
import {
|
|
35
21
|
ArrowDownIcon,
|
|
36
22
|
ArrowRightIcon,
|
|
@@ -75,6 +61,24 @@ import {
|
|
|
75
61
|
XverseIcon,
|
|
76
62
|
YoutubeIcon
|
|
77
63
|
} from "./chunk-3USZ4ZZY.mjs";
|
|
64
|
+
import {
|
|
65
|
+
NumberFormatter,
|
|
66
|
+
bytesToBase64,
|
|
67
|
+
decodeBase64,
|
|
68
|
+
encodeBase64,
|
|
69
|
+
formatAddress,
|
|
70
|
+
formatDate,
|
|
71
|
+
getAppClientId,
|
|
72
|
+
getVersion,
|
|
73
|
+
isInTgApp,
|
|
74
|
+
isValidEmail,
|
|
75
|
+
isValidUsername,
|
|
76
|
+
truncateAddress
|
|
77
|
+
} from "./chunk-OCQ2AIM3.mjs";
|
|
78
|
+
import {
|
|
79
|
+
matchMain,
|
|
80
|
+
matchTest
|
|
81
|
+
} from "./chunk-JX73EY6V.mjs";
|
|
78
82
|
import {
|
|
79
83
|
__export
|
|
80
84
|
} from "./chunk-J5LGTIGS.mjs";
|
|
@@ -84,6 +88,7 @@ var components_exports = {};
|
|
|
84
88
|
__export(components_exports, {
|
|
85
89
|
BTCModal: () => BTCModal,
|
|
86
90
|
Button: () => Button,
|
|
91
|
+
EVMModal: () => EVMModal,
|
|
87
92
|
EmailModal: () => EmailModal,
|
|
88
93
|
Field: () => Field,
|
|
89
94
|
Input: () => Input,
|
|
@@ -2314,6 +2319,12 @@ var useBTCModalStore = create5((set) => ({
|
|
|
2314
2319
|
open: (type) => set({ isOpen: true, type }),
|
|
2315
2320
|
close: () => set({ isOpen: false })
|
|
2316
2321
|
}));
|
|
2322
|
+
var useEVMModalStore = create5((set) => ({
|
|
2323
|
+
isOpen: false,
|
|
2324
|
+
type: "",
|
|
2325
|
+
open: (type) => set({ isOpen: true, type }),
|
|
2326
|
+
close: () => set({ isOpen: false })
|
|
2327
|
+
}));
|
|
2317
2328
|
var useCEXBindModalStore = create5((set) => ({
|
|
2318
2329
|
type: "",
|
|
2319
2330
|
isOpen: false,
|
|
@@ -2446,6 +2457,7 @@ import { useQuery as useQuery6 } from "@tanstack/react-query";
|
|
|
2446
2457
|
import { Fragment, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2447
2458
|
function BusinessProvider({ children }) {
|
|
2448
2459
|
const { overview, token } = useUserInfo();
|
|
2460
|
+
const { type: EVMType, isOpen: EVMIsOpen, close: EVMClose } = useEVMModalStore();
|
|
2449
2461
|
const { type: TONType, isOpen: TONIsOpen, close: TONClose } = useTONModalStore();
|
|
2450
2462
|
const { type: TRONType, isOpen: TRONIsOpen, close: TRONClose } = useTRONModalStore();
|
|
2451
2463
|
const { type: BTCType, isOpen: BTCIsOpen, close: BTCClose } = useBTCModalStore();
|
|
@@ -2477,6 +2489,16 @@ function BusinessProvider({ children }) {
|
|
|
2477
2489
|
refetchInterval: 1e3 * 5
|
|
2478
2490
|
});
|
|
2479
2491
|
return /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
2492
|
+
/* @__PURE__ */ jsx10(
|
|
2493
|
+
EVMModal,
|
|
2494
|
+
{
|
|
2495
|
+
isOpen: EVMIsOpen && (EVMType == "login" && !overview && !token || EVMType == "bind" && !!token && !!overview),
|
|
2496
|
+
onClose: EVMClose,
|
|
2497
|
+
type: EVMType,
|
|
2498
|
+
onSuccess: EVMClose,
|
|
2499
|
+
zIndex: 199
|
|
2500
|
+
}
|
|
2501
|
+
),
|
|
2480
2502
|
/* @__PURE__ */ jsx10(
|
|
2481
2503
|
TRONModal,
|
|
2482
2504
|
{
|
|
@@ -3727,6 +3749,7 @@ function useUserInfo() {
|
|
|
3727
3749
|
const { setTgAppAuthCode, emailLoginKey, setEmailLoginKey } = useStore_default();
|
|
3728
3750
|
const isDownMd = useDownMd();
|
|
3729
3751
|
const { events, login } = useMatch();
|
|
3752
|
+
const { open: EVMOpen } = useEVMModalStore();
|
|
3730
3753
|
const { open: TRONOpen } = useTRONModalStore();
|
|
3731
3754
|
const { open: TONOpen } = useTONModalStore();
|
|
3732
3755
|
const { open: BTCOpen } = useBTCModalStore();
|
|
@@ -3803,7 +3826,8 @@ function useUserInfo() {
|
|
|
3803
3826
|
case "wallet":
|
|
3804
3827
|
return walletModalStore.open("login", extra?.methods);
|
|
3805
3828
|
case "evm":
|
|
3806
|
-
return
|
|
3829
|
+
return EVMOpen("login");
|
|
3830
|
+
// return window.open(`${endpoints.auth}login/wallet?appid=${appid}&locale=${locale}`)
|
|
3807
3831
|
case "sol":
|
|
3808
3832
|
if (isDownMd) {
|
|
3809
3833
|
return window.location.href = `${endpoints.auth}login/sol?appid=${appid}&locale=${locale}&redirect_uri=${getRedirectUri()}`;
|
|
@@ -3895,7 +3919,8 @@ function useUserInfo() {
|
|
|
3895
3919
|
case "wallet":
|
|
3896
3920
|
return walletModalStore.open("bind", extra?.methods);
|
|
3897
3921
|
case "evm":
|
|
3898
|
-
return
|
|
3922
|
+
return EVMOpen("bind");
|
|
3923
|
+
// return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)))
|
|
3899
3924
|
case "sol":
|
|
3900
3925
|
if (isDownMd) {
|
|
3901
3926
|
return window.location.href = `${endpoints.auth}bind/sol?appid=${appid}&locale=${locale}&st=${encodeURIComponent(encodeBase64(token))}&redirect_uri=${getRedirectUri()}`;
|
|
@@ -4698,12 +4723,12 @@ function UsernameModal({
|
|
|
4698
4723
|
] }) });
|
|
4699
4724
|
}
|
|
4700
4725
|
|
|
4701
|
-
// src/components/
|
|
4702
|
-
import
|
|
4726
|
+
// src/components/EVMModal/index.tsx
|
|
4727
|
+
import { useCallback as useCallback6, useEffect as useEffect18 } from "react";
|
|
4703
4728
|
import { useIntl as useIntl12 } from "react-intl";
|
|
4704
4729
|
|
|
4705
4730
|
// src/components/WalletModalContent/index.tsx
|
|
4706
|
-
import { useMemo as useMemo11 } from "react";
|
|
4731
|
+
import { useMemo as useMemo11, useState as useState19 } from "react";
|
|
4707
4732
|
|
|
4708
4733
|
// src/assets/wallet.ts
|
|
4709
4734
|
var walletErrorImage = "data:image/png;base64,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";
|
|
@@ -4786,7 +4811,7 @@ function WalletModalContent({
|
|
|
4786
4811
|
return /* @__PURE__ */ jsx22("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-box`, children: [
|
|
4787
4812
|
/* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-content`, children: [
|
|
4788
4813
|
/* @__PURE__ */ jsx22("img", { src: pageData.statusImage }),
|
|
4789
|
-
/* @__PURE__ */ jsx22("div", { className: pageData.isError ? "
|
|
4814
|
+
/* @__PURE__ */ jsx22("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
|
|
4790
4815
|
] }),
|
|
4791
4816
|
/* @__PURE__ */ jsx22(
|
|
4792
4817
|
Button,
|
|
@@ -4801,6 +4826,558 @@ function WalletModalContent({
|
|
|
4801
4826
|
)
|
|
4802
4827
|
] }) });
|
|
4803
4828
|
}
|
|
4829
|
+
function WalletModalContentV2(props) {
|
|
4830
|
+
const [submitting, setSubmitting] = useState19(false);
|
|
4831
|
+
const pageData = useMemo11(() => {
|
|
4832
|
+
const { status } = props;
|
|
4833
|
+
if (status == "success") {
|
|
4834
|
+
return {
|
|
4835
|
+
btnText: "Disconnect Wallet",
|
|
4836
|
+
btnClick: async () => {
|
|
4837
|
+
setSubmitting(true);
|
|
4838
|
+
await props.onDisconnect?.();
|
|
4839
|
+
setSubmitting(false);
|
|
4840
|
+
},
|
|
4841
|
+
text: "Wallet connection successful!",
|
|
4842
|
+
statusImage: walletConnectedImage,
|
|
4843
|
+
btnLoading: submitting
|
|
4844
|
+
};
|
|
4845
|
+
}
|
|
4846
|
+
if (status == "error") {
|
|
4847
|
+
return {
|
|
4848
|
+
text: props.error || "Unknown Error",
|
|
4849
|
+
btnText: "Reconnect Wallet",
|
|
4850
|
+
btnClick: async () => {
|
|
4851
|
+
setSubmitting(true);
|
|
4852
|
+
await props.onError?.();
|
|
4853
|
+
setSubmitting(false);
|
|
4854
|
+
},
|
|
4855
|
+
statusImage: walletErrorImage,
|
|
4856
|
+
isError: true,
|
|
4857
|
+
btnLoading: submitting
|
|
4858
|
+
};
|
|
4859
|
+
}
|
|
4860
|
+
if (status == "nonce") {
|
|
4861
|
+
return {
|
|
4862
|
+
btnLoading: true,
|
|
4863
|
+
text: "Connecting",
|
|
4864
|
+
statusImage: walletConnectingImage
|
|
4865
|
+
};
|
|
4866
|
+
}
|
|
4867
|
+
if (status == "signer") {
|
|
4868
|
+
return {
|
|
4869
|
+
btnLoading: true,
|
|
4870
|
+
text: "Signing",
|
|
4871
|
+
statusImage: walletSigningImage
|
|
4872
|
+
};
|
|
4873
|
+
}
|
|
4874
|
+
if (status == "connecting") {
|
|
4875
|
+
return {
|
|
4876
|
+
btnLoading: true,
|
|
4877
|
+
text: "Connecting",
|
|
4878
|
+
statusImage: walletConnectingImage
|
|
4879
|
+
};
|
|
4880
|
+
}
|
|
4881
|
+
return {
|
|
4882
|
+
btnText: "Connect Wallet",
|
|
4883
|
+
btnClick: async () => {
|
|
4884
|
+
setSubmitting(true);
|
|
4885
|
+
await props.onConnect?.();
|
|
4886
|
+
setSubmitting(false);
|
|
4887
|
+
},
|
|
4888
|
+
text: "Please Connect your wallet",
|
|
4889
|
+
statusImage: walletConnectImage
|
|
4890
|
+
};
|
|
4891
|
+
}, [props, submitting]);
|
|
4892
|
+
return /* @__PURE__ */ jsx22("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-box`, children: [
|
|
4893
|
+
/* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-content`, children: [
|
|
4894
|
+
/* @__PURE__ */ jsx22("img", { src: pageData.statusImage }),
|
|
4895
|
+
/* @__PURE__ */ jsx22("div", { className: props.status == "error" ? "matchid-error" : "", children: pageData.text })
|
|
4896
|
+
] }),
|
|
4897
|
+
/* @__PURE__ */ jsx22(
|
|
4898
|
+
Button,
|
|
4899
|
+
{
|
|
4900
|
+
block: true,
|
|
4901
|
+
size: "lg",
|
|
4902
|
+
onClick: pageData.btnClick,
|
|
4903
|
+
loading: pageData.btnLoading,
|
|
4904
|
+
disabled: pageData.btnDisabled,
|
|
4905
|
+
children: pageData.btnText
|
|
4906
|
+
}
|
|
4907
|
+
)
|
|
4908
|
+
] }) });
|
|
4909
|
+
}
|
|
4910
|
+
|
|
4911
|
+
// src/components/EVMModal/index.tsx
|
|
4912
|
+
import {
|
|
4913
|
+
mainnet,
|
|
4914
|
+
polygon,
|
|
4915
|
+
optimism,
|
|
4916
|
+
arbitrum,
|
|
4917
|
+
base,
|
|
4918
|
+
bsc
|
|
4919
|
+
} from "wagmi/chains";
|
|
4920
|
+
import { getDefaultConfig, RainbowKitProvider, useConnectModal } from "@rainbow-me/rainbowkit";
|
|
4921
|
+
import { useAccount, useChainId, useConfig, useDisconnect, WagmiProvider } from "wagmi";
|
|
4922
|
+
import {
|
|
4923
|
+
bitgetWallet,
|
|
4924
|
+
injectedWallet,
|
|
4925
|
+
metaMaskWallet,
|
|
4926
|
+
okxWallet,
|
|
4927
|
+
walletConnectWallet
|
|
4928
|
+
} from "@rainbow-me/rainbowkit/wallets";
|
|
4929
|
+
|
|
4930
|
+
// src/hooks/useWalletBox.ts
|
|
4931
|
+
import { useEffect as useEffect17, useRef as useRef5, useState as useState20 } from "react";
|
|
4932
|
+
function useWalletBox({
|
|
4933
|
+
onInit
|
|
4934
|
+
}) {
|
|
4935
|
+
const [status, setStateStatus] = useState20("start");
|
|
4936
|
+
const [error, setError] = useState20("");
|
|
4937
|
+
const statusRef = useRef5(status);
|
|
4938
|
+
const [nonce, setNonce] = useState20();
|
|
4939
|
+
const setStatus = (status2) => {
|
|
4940
|
+
statusRef.current = status2;
|
|
4941
|
+
setStateStatus(status2);
|
|
4942
|
+
};
|
|
4943
|
+
const init = () => {
|
|
4944
|
+
setError("");
|
|
4945
|
+
setNonce(null);
|
|
4946
|
+
};
|
|
4947
|
+
useEffect17(() => {
|
|
4948
|
+
init();
|
|
4949
|
+
onInit({
|
|
4950
|
+
setStatus
|
|
4951
|
+
});
|
|
4952
|
+
return () => {
|
|
4953
|
+
setStatus("start");
|
|
4954
|
+
setNonce(null);
|
|
4955
|
+
setError("");
|
|
4956
|
+
};
|
|
4957
|
+
}, []);
|
|
4958
|
+
return {
|
|
4959
|
+
status,
|
|
4960
|
+
statusRef,
|
|
4961
|
+
setStatus,
|
|
4962
|
+
error,
|
|
4963
|
+
setError,
|
|
4964
|
+
nonce,
|
|
4965
|
+
setNonce,
|
|
4966
|
+
init
|
|
4967
|
+
};
|
|
4968
|
+
}
|
|
4969
|
+
|
|
4970
|
+
// src/hooks/useEthersSigner.ts
|
|
4971
|
+
import * as React7 from "react";
|
|
4972
|
+
import { useWalletClient } from "wagmi";
|
|
4973
|
+
import { providers } from "ethers";
|
|
4974
|
+
|
|
4975
|
+
// node_modules/@wagmi/core/dist/esm/version.js
|
|
4976
|
+
var version = "2.16.3";
|
|
4977
|
+
|
|
4978
|
+
// node_modules/@wagmi/core/dist/esm/utils/getVersion.js
|
|
4979
|
+
var getVersion2 = () => `@wagmi/core@${version}`;
|
|
4980
|
+
|
|
4981
|
+
// node_modules/@wagmi/core/dist/esm/errors/base.js
|
|
4982
|
+
var __classPrivateFieldGet = function(receiver, state, kind, f) {
|
|
4983
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4984
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4985
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
4986
|
+
};
|
|
4987
|
+
var _BaseError_instances;
|
|
4988
|
+
var _BaseError_walk;
|
|
4989
|
+
var BaseError = class _BaseError extends Error {
|
|
4990
|
+
get docsBaseUrl() {
|
|
4991
|
+
return "https://wagmi.sh/core";
|
|
4992
|
+
}
|
|
4993
|
+
get version() {
|
|
4994
|
+
return getVersion2();
|
|
4995
|
+
}
|
|
4996
|
+
constructor(shortMessage, options = {}) {
|
|
4997
|
+
super();
|
|
4998
|
+
_BaseError_instances.add(this);
|
|
4999
|
+
Object.defineProperty(this, "details", {
|
|
5000
|
+
enumerable: true,
|
|
5001
|
+
configurable: true,
|
|
5002
|
+
writable: true,
|
|
5003
|
+
value: void 0
|
|
5004
|
+
});
|
|
5005
|
+
Object.defineProperty(this, "docsPath", {
|
|
5006
|
+
enumerable: true,
|
|
5007
|
+
configurable: true,
|
|
5008
|
+
writable: true,
|
|
5009
|
+
value: void 0
|
|
5010
|
+
});
|
|
5011
|
+
Object.defineProperty(this, "metaMessages", {
|
|
5012
|
+
enumerable: true,
|
|
5013
|
+
configurable: true,
|
|
5014
|
+
writable: true,
|
|
5015
|
+
value: void 0
|
|
5016
|
+
});
|
|
5017
|
+
Object.defineProperty(this, "shortMessage", {
|
|
5018
|
+
enumerable: true,
|
|
5019
|
+
configurable: true,
|
|
5020
|
+
writable: true,
|
|
5021
|
+
value: void 0
|
|
5022
|
+
});
|
|
5023
|
+
Object.defineProperty(this, "name", {
|
|
5024
|
+
enumerable: true,
|
|
5025
|
+
configurable: true,
|
|
5026
|
+
writable: true,
|
|
5027
|
+
value: "WagmiCoreError"
|
|
5028
|
+
});
|
|
5029
|
+
const details = options.cause instanceof _BaseError ? options.cause.details : options.cause?.message ? options.cause.message : options.details;
|
|
5030
|
+
const docsPath = options.cause instanceof _BaseError ? options.cause.docsPath || options.docsPath : options.docsPath;
|
|
5031
|
+
this.message = [
|
|
5032
|
+
shortMessage || "An error occurred.",
|
|
5033
|
+
"",
|
|
5034
|
+
...options.metaMessages ? [...options.metaMessages, ""] : [],
|
|
5035
|
+
...docsPath ? [
|
|
5036
|
+
`Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ""}`
|
|
5037
|
+
] : [],
|
|
5038
|
+
...details ? [`Details: ${details}`] : [],
|
|
5039
|
+
`Version: ${this.version}`
|
|
5040
|
+
].join("\n");
|
|
5041
|
+
if (options.cause)
|
|
5042
|
+
this.cause = options.cause;
|
|
5043
|
+
this.details = details;
|
|
5044
|
+
this.docsPath = docsPath;
|
|
5045
|
+
this.metaMessages = options.metaMessages;
|
|
5046
|
+
this.shortMessage = shortMessage;
|
|
5047
|
+
}
|
|
5048
|
+
walk(fn) {
|
|
5049
|
+
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk).call(this, this, fn);
|
|
5050
|
+
}
|
|
5051
|
+
};
|
|
5052
|
+
_BaseError_instances = /* @__PURE__ */ new WeakSet(), _BaseError_walk = function _BaseError_walk2(err, fn) {
|
|
5053
|
+
if (fn?.(err))
|
|
5054
|
+
return err;
|
|
5055
|
+
if (err.cause)
|
|
5056
|
+
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk2).call(this, err.cause, fn);
|
|
5057
|
+
return err;
|
|
5058
|
+
};
|
|
5059
|
+
|
|
5060
|
+
// node_modules/@wagmi/core/dist/esm/errors/config.js
|
|
5061
|
+
var ConnectorNotConnectedError = class extends BaseError {
|
|
5062
|
+
constructor() {
|
|
5063
|
+
super("Connector not connected.");
|
|
5064
|
+
Object.defineProperty(this, "name", {
|
|
5065
|
+
enumerable: true,
|
|
5066
|
+
configurable: true,
|
|
5067
|
+
writable: true,
|
|
5068
|
+
value: "ConnectorNotConnectedError"
|
|
5069
|
+
});
|
|
5070
|
+
}
|
|
5071
|
+
};
|
|
5072
|
+
var ConnectorAccountNotFoundError = class extends BaseError {
|
|
5073
|
+
constructor({ address, connector }) {
|
|
5074
|
+
super(`Account "${address}" not found for connector "${connector.name}".`);
|
|
5075
|
+
Object.defineProperty(this, "name", {
|
|
5076
|
+
enumerable: true,
|
|
5077
|
+
configurable: true,
|
|
5078
|
+
writable: true,
|
|
5079
|
+
value: "ConnectorAccountNotFoundError"
|
|
5080
|
+
});
|
|
5081
|
+
}
|
|
5082
|
+
};
|
|
5083
|
+
var ConnectorChainMismatchError = class extends BaseError {
|
|
5084
|
+
constructor({ connectionChainId, connectorChainId }) {
|
|
5085
|
+
super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {
|
|
5086
|
+
metaMessages: [
|
|
5087
|
+
`Current Chain ID: ${connectorChainId}`,
|
|
5088
|
+
`Expected Chain ID: ${connectionChainId}`
|
|
5089
|
+
]
|
|
5090
|
+
});
|
|
5091
|
+
Object.defineProperty(this, "name", {
|
|
5092
|
+
enumerable: true,
|
|
5093
|
+
configurable: true,
|
|
5094
|
+
writable: true,
|
|
5095
|
+
value: "ConnectorChainMismatchError"
|
|
5096
|
+
});
|
|
5097
|
+
}
|
|
5098
|
+
};
|
|
5099
|
+
var ConnectorUnavailableReconnectingError = class extends BaseError {
|
|
5100
|
+
constructor({ connector }) {
|
|
5101
|
+
super(`Connector "${connector.name}" unavailable while reconnecting.`, {
|
|
5102
|
+
details: [
|
|
5103
|
+
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uid`.",
|
|
5104
|
+
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
5105
|
+
"This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
|
|
5106
|
+
].join(" ")
|
|
5107
|
+
});
|
|
5108
|
+
Object.defineProperty(this, "name", {
|
|
5109
|
+
enumerable: true,
|
|
5110
|
+
configurable: true,
|
|
5111
|
+
writable: true,
|
|
5112
|
+
value: "ConnectorUnavailableReconnectingError"
|
|
5113
|
+
});
|
|
5114
|
+
}
|
|
5115
|
+
};
|
|
5116
|
+
|
|
5117
|
+
// node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js
|
|
5118
|
+
import { createClient, custom } from "viem";
|
|
5119
|
+
import { getAddress, parseAccount } from "viem/utils";
|
|
5120
|
+
async function getConnectorClient(config, parameters = {}) {
|
|
5121
|
+
let connection;
|
|
5122
|
+
if (parameters.connector) {
|
|
5123
|
+
const { connector: connector2 } = parameters;
|
|
5124
|
+
if (config.state.status === "reconnecting" && !connector2.getAccounts && !connector2.getChainId)
|
|
5125
|
+
throw new ConnectorUnavailableReconnectingError({ connector: connector2 });
|
|
5126
|
+
const [accounts, chainId2] = await Promise.all([
|
|
5127
|
+
connector2.getAccounts(),
|
|
5128
|
+
connector2.getChainId()
|
|
5129
|
+
]);
|
|
5130
|
+
connection = {
|
|
5131
|
+
accounts,
|
|
5132
|
+
chainId: chainId2,
|
|
5133
|
+
connector: connector2
|
|
5134
|
+
};
|
|
5135
|
+
} else
|
|
5136
|
+
connection = config.state.connections.get(config.state.current);
|
|
5137
|
+
if (!connection)
|
|
5138
|
+
throw new ConnectorNotConnectedError();
|
|
5139
|
+
const chainId = parameters.chainId ?? connection.chainId;
|
|
5140
|
+
const connectorChainId = await connection.connector.getChainId();
|
|
5141
|
+
if (connectorChainId !== connection.chainId)
|
|
5142
|
+
throw new ConnectorChainMismatchError({
|
|
5143
|
+
connectionChainId: connection.chainId,
|
|
5144
|
+
connectorChainId
|
|
5145
|
+
});
|
|
5146
|
+
const connector = connection.connector;
|
|
5147
|
+
if (connector.getClient)
|
|
5148
|
+
return connector.getClient({ chainId });
|
|
5149
|
+
const account = parseAccount(parameters.account ?? connection.accounts[0]);
|
|
5150
|
+
account.address = getAddress(account.address);
|
|
5151
|
+
if (parameters.account && !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))
|
|
5152
|
+
throw new ConnectorAccountNotFoundError({
|
|
5153
|
+
address: account.address,
|
|
5154
|
+
connector
|
|
5155
|
+
});
|
|
5156
|
+
const chain = config.chains.find((chain2) => chain2.id === chainId);
|
|
5157
|
+
const provider = await connection.connector.getProvider({ chainId });
|
|
5158
|
+
return createClient({
|
|
5159
|
+
account,
|
|
5160
|
+
chain,
|
|
5161
|
+
name: "Connector Client",
|
|
5162
|
+
transport: (opts) => custom(provider)({ ...opts, retryCount: 0 })
|
|
5163
|
+
});
|
|
5164
|
+
}
|
|
5165
|
+
|
|
5166
|
+
// node_modules/@wagmi/core/dist/esm/exports/index.js
|
|
5167
|
+
import { custom as custom2, http as http6, webSocket } from "viem";
|
|
5168
|
+
|
|
5169
|
+
// src/hooks/useEthersSigner.ts
|
|
5170
|
+
function clientToSigner(client) {
|
|
5171
|
+
const { account, chain, transport } = client;
|
|
5172
|
+
const network = {
|
|
5173
|
+
chainId: chain.id,
|
|
5174
|
+
name: chain.name,
|
|
5175
|
+
ensAddress: chain.contracts?.ensRegistry?.address
|
|
5176
|
+
};
|
|
5177
|
+
const provider = new providers.Web3Provider(transport, network);
|
|
5178
|
+
const signer = provider.getSigner(account.address);
|
|
5179
|
+
return signer;
|
|
5180
|
+
}
|
|
5181
|
+
async function getEthersSigner(config, { chainId } = {}) {
|
|
5182
|
+
const client = await getConnectorClient(config, { chainId });
|
|
5183
|
+
return clientToSigner(client);
|
|
5184
|
+
}
|
|
5185
|
+
|
|
5186
|
+
// src/components/EVMModal/index.tsx
|
|
5187
|
+
import { SiweMessage } from "siwe";
|
|
5188
|
+
import "@rainbow-me/rainbowkit/styles.css";
|
|
5189
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
5190
|
+
function WalletContent({
|
|
5191
|
+
onSuccess,
|
|
5192
|
+
type
|
|
5193
|
+
}) {
|
|
5194
|
+
const config = useConfig();
|
|
5195
|
+
const { openConnectModal, connectModalOpen } = useConnectModal();
|
|
5196
|
+
const { address, connector, isConnected } = useAccount();
|
|
5197
|
+
const { disconnectAsync } = useDisconnect({ config });
|
|
5198
|
+
const chainId = useChainId();
|
|
5199
|
+
const { events, login } = useMatch();
|
|
5200
|
+
const { status, setStatus, error, setError, statusRef, nonce, setNonce, init } = useWalletBox({
|
|
5201
|
+
onInit: async ({ setStatus: setStatus2 }) => {
|
|
5202
|
+
setStatus2("start");
|
|
5203
|
+
}
|
|
5204
|
+
});
|
|
5205
|
+
useEffect18(() => {
|
|
5206
|
+
console.log(`status=${status}`, `connectModalOpen=${connectModalOpen}`, `address=${address}`, `isConnected=${isConnected}`);
|
|
5207
|
+
}, [status, connectModalOpen, isConnected, address]);
|
|
5208
|
+
useEffect18(() => {
|
|
5209
|
+
if (connectModalOpen) {
|
|
5210
|
+
setStatus("connecting");
|
|
5211
|
+
return;
|
|
5212
|
+
}
|
|
5213
|
+
if (!connectModalOpen && address) {
|
|
5214
|
+
toLoginInWallet(address);
|
|
5215
|
+
return;
|
|
5216
|
+
}
|
|
5217
|
+
if (!connectModalOpen && !address) {
|
|
5218
|
+
setStatus("start");
|
|
5219
|
+
}
|
|
5220
|
+
}, [connectModalOpen, address]);
|
|
5221
|
+
useEffect18(() => {
|
|
5222
|
+
if (openConnectModal && !address) {
|
|
5223
|
+
openConnectModal && openConnectModal();
|
|
5224
|
+
}
|
|
5225
|
+
}, [openConnectModal]);
|
|
5226
|
+
const toLoginInWallet = async (address2) => {
|
|
5227
|
+
if (statusRef.current != "start" && statusRef.current != "connecting") return;
|
|
5228
|
+
try {
|
|
5229
|
+
if (!address2) {
|
|
5230
|
+
throw new Error("Wallet address is empty");
|
|
5231
|
+
}
|
|
5232
|
+
setStatus("nonce");
|
|
5233
|
+
const res = type == "bind" ? await getWalletInitApi({
|
|
5234
|
+
address: address2,
|
|
5235
|
+
type: "EVM"
|
|
5236
|
+
}) : await getWalletNonceApi({ address: address2, type: "EVM" });
|
|
5237
|
+
if (!isSuccess(res)) {
|
|
5238
|
+
throw new Error(res.message);
|
|
5239
|
+
}
|
|
5240
|
+
setNonce(res.data.nonce);
|
|
5241
|
+
} catch (error2) {
|
|
5242
|
+
console.error("toLoginInWallet", error2);
|
|
5243
|
+
setStatus("error");
|
|
5244
|
+
setError(error2.message);
|
|
5245
|
+
}
|
|
5246
|
+
};
|
|
5247
|
+
const signature = useCallback6(async () => {
|
|
5248
|
+
if (!nonce || status != "nonce") {
|
|
5249
|
+
return;
|
|
5250
|
+
}
|
|
5251
|
+
try {
|
|
5252
|
+
const signer = await getEthersSigner(config);
|
|
5253
|
+
if (!signer) return;
|
|
5254
|
+
matchlog_default.log("signature", nonce, status);
|
|
5255
|
+
if (!address) {
|
|
5256
|
+
throw new Error("Wallet address is empty");
|
|
5257
|
+
}
|
|
5258
|
+
setStatus("signer");
|
|
5259
|
+
const params = {
|
|
5260
|
+
domain: window.location.host,
|
|
5261
|
+
address,
|
|
5262
|
+
statement: "By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",
|
|
5263
|
+
uri: window.location.origin,
|
|
5264
|
+
nonce,
|
|
5265
|
+
version: "1",
|
|
5266
|
+
chainId
|
|
5267
|
+
};
|
|
5268
|
+
const message = new SiweMessage({ ...params });
|
|
5269
|
+
const signature2 = await signer.signMessage(message.prepareMessage());
|
|
5270
|
+
const obj = {
|
|
5271
|
+
type: "EVM",
|
|
5272
|
+
address,
|
|
5273
|
+
signature: signature2,
|
|
5274
|
+
message: `${message.prepareMessage()}`,
|
|
5275
|
+
connector_type: connector?.type || "",
|
|
5276
|
+
wallet_client_type: connector?.name || ""
|
|
5277
|
+
};
|
|
5278
|
+
const res = type == "bind" ? await toBindWalletApi(obj) : await loginByWalletApi(obj);
|
|
5279
|
+
if (!isSuccess(res)) {
|
|
5280
|
+
throw new Error(res.message);
|
|
5281
|
+
}
|
|
5282
|
+
matchlog_default.log(res);
|
|
5283
|
+
setStatus("success");
|
|
5284
|
+
if (type == "bind") {
|
|
5285
|
+
events.onBind && events.onBind({
|
|
5286
|
+
type: "evm"
|
|
5287
|
+
});
|
|
5288
|
+
eventManager_default.emit("onBind", {
|
|
5289
|
+
type: "evm"
|
|
5290
|
+
});
|
|
5291
|
+
} else {
|
|
5292
|
+
await login({
|
|
5293
|
+
token: `${res.data.token_type} ${res.data.access_token}`
|
|
5294
|
+
});
|
|
5295
|
+
}
|
|
5296
|
+
onSuccess && onSuccess();
|
|
5297
|
+
} catch (error2) {
|
|
5298
|
+
console.error("signature", error2);
|
|
5299
|
+
setStatus("error");
|
|
5300
|
+
setError(error2.message);
|
|
5301
|
+
}
|
|
5302
|
+
}, [nonce, status, address]);
|
|
5303
|
+
useEffect18(() => {
|
|
5304
|
+
if (signature) {
|
|
5305
|
+
signature();
|
|
5306
|
+
}
|
|
5307
|
+
}, [signature]);
|
|
5308
|
+
const onError = async () => {
|
|
5309
|
+
if (isConnected) {
|
|
5310
|
+
try {
|
|
5311
|
+
await disconnectAsync();
|
|
5312
|
+
} catch (error2) {
|
|
5313
|
+
console.error("disconnectAsync", error2);
|
|
5314
|
+
}
|
|
5315
|
+
}
|
|
5316
|
+
setError("");
|
|
5317
|
+
setNonce(void 0);
|
|
5318
|
+
setStatus("start");
|
|
5319
|
+
openConnectModal?.();
|
|
5320
|
+
};
|
|
5321
|
+
const onConnect = async () => {
|
|
5322
|
+
console.log("onConnect");
|
|
5323
|
+
setError("");
|
|
5324
|
+
setNonce(void 0);
|
|
5325
|
+
openConnectModal?.();
|
|
5326
|
+
};
|
|
5327
|
+
const onDisconnect = async () => {
|
|
5328
|
+
await disconnectAsync();
|
|
5329
|
+
setError("");
|
|
5330
|
+
setNonce(void 0);
|
|
5331
|
+
setStatus("start");
|
|
5332
|
+
};
|
|
5333
|
+
return /* @__PURE__ */ jsx23(
|
|
5334
|
+
WalletModalContentV2,
|
|
5335
|
+
{
|
|
5336
|
+
status,
|
|
5337
|
+
onSuccess: async () => onSuccess?.(),
|
|
5338
|
+
error,
|
|
5339
|
+
onError,
|
|
5340
|
+
onConnect,
|
|
5341
|
+
onDisconnect
|
|
5342
|
+
}
|
|
5343
|
+
);
|
|
5344
|
+
}
|
|
5345
|
+
var wagmiConfig = getDefaultConfig({
|
|
5346
|
+
appName: "MatchID",
|
|
5347
|
+
projectId: "9ac6ea7e07860f04616fb311b447dee9",
|
|
5348
|
+
wallets: [
|
|
5349
|
+
{
|
|
5350
|
+
groupName: "Recommended",
|
|
5351
|
+
wallets: [
|
|
5352
|
+
metaMaskWallet,
|
|
5353
|
+
walletConnectWallet,
|
|
5354
|
+
okxWallet,
|
|
5355
|
+
bitgetWallet,
|
|
5356
|
+
injectedWallet
|
|
5357
|
+
]
|
|
5358
|
+
}
|
|
5359
|
+
],
|
|
5360
|
+
chains: [mainnet, polygon, optimism, arbitrum, base, matchMain, matchTest, bsc]
|
|
5361
|
+
});
|
|
5362
|
+
function EVMConnectModal({
|
|
5363
|
+
type = "login",
|
|
5364
|
+
onSuccess,
|
|
5365
|
+
...props
|
|
5366
|
+
}) {
|
|
5367
|
+
const intl = useIntl12();
|
|
5368
|
+
return /* @__PURE__ */ jsx23(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5369
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5370
|
+
}, {
|
|
5371
|
+
name: "EVM"
|
|
5372
|
+
}), children: /* @__PURE__ */ jsx23(WagmiProvider, { config: wagmiConfig, children: /* @__PURE__ */ jsx23(RainbowKitProvider, { children: /* @__PURE__ */ jsx23(WalletContent, { onSuccess, type }) }) }) });
|
|
5373
|
+
}
|
|
5374
|
+
function EVMModal(props) {
|
|
5375
|
+
return props.isOpen && /* @__PURE__ */ jsx23(EVMConnectModal, { ...props });
|
|
5376
|
+
}
|
|
5377
|
+
|
|
5378
|
+
// src/components/TRONModal/index.tsx
|
|
5379
|
+
import React9, { useEffect as useEffect20, useMemo as useMemo13, useState as useState23 } from "react";
|
|
5380
|
+
import { useIntl as useIntl13 } from "react-intl";
|
|
4804
5381
|
|
|
4805
5382
|
// src/lib/tron/TronLinkAdapter.ts
|
|
4806
5383
|
var TronLinkAdapter = class {
|
|
@@ -4833,7 +5410,7 @@ var TronLinkAdapter = class {
|
|
|
4833
5410
|
};
|
|
4834
5411
|
|
|
4835
5412
|
// src/hooks/useTRONWallet.ts
|
|
4836
|
-
import { useEffect as
|
|
5413
|
+
import { useEffect as useEffect19, useState as useState22 } from "react";
|
|
4837
5414
|
|
|
4838
5415
|
// src/lib/tron/BitgetAdapter.ts
|
|
4839
5416
|
var BitgetAdapter = class {
|
|
@@ -4878,9 +5455,9 @@ var OKXAdapter = class {
|
|
|
4878
5455
|
// src/hooks/useTRONWallet.ts
|
|
4879
5456
|
var useTRONWallet = () => {
|
|
4880
5457
|
const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
4881
|
-
const [installedWallets, setInstalledWallets] =
|
|
4882
|
-
const [address, setAddress] =
|
|
4883
|
-
|
|
5458
|
+
const [installedWallets, setInstalledWallets] = useState22([]);
|
|
5459
|
+
const [address, setAddress] = useState22(null);
|
|
5460
|
+
useEffect19(() => {
|
|
4884
5461
|
const getInstalled = async () => {
|
|
4885
5462
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
4886
5463
|
wallet: wallet2,
|
|
@@ -4890,11 +5467,11 @@ var useTRONWallet = () => {
|
|
|
4890
5467
|
};
|
|
4891
5468
|
getInstalled();
|
|
4892
5469
|
}, []);
|
|
4893
|
-
const [wallet, chooseWallet] =
|
|
5470
|
+
const [wallet, chooseWallet] = useState22(null);
|
|
4894
5471
|
const onConnect = async () => {
|
|
4895
5472
|
setAddress(await wallet.connect());
|
|
4896
5473
|
};
|
|
4897
|
-
|
|
5474
|
+
useEffect19(() => {
|
|
4898
5475
|
if (!wallet) {
|
|
4899
5476
|
setAddress(null);
|
|
4900
5477
|
}
|
|
@@ -4910,25 +5487,25 @@ var useTRONWallet = () => {
|
|
|
4910
5487
|
};
|
|
4911
5488
|
|
|
4912
5489
|
// src/components/TRONModal/index.tsx
|
|
4913
|
-
import { jsx as
|
|
5490
|
+
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4914
5491
|
function TRONConnectModal({
|
|
4915
5492
|
type = "login",
|
|
4916
5493
|
onSuccess,
|
|
4917
5494
|
...props
|
|
4918
5495
|
}) {
|
|
4919
5496
|
const isDownMd = useDownMd();
|
|
4920
|
-
const intl =
|
|
5497
|
+
const intl = useIntl13();
|
|
4921
5498
|
const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
|
|
4922
5499
|
const iconMaps = {
|
|
4923
|
-
tronlink: /* @__PURE__ */
|
|
4924
|
-
bitget: /* @__PURE__ */
|
|
4925
|
-
okx: /* @__PURE__ */
|
|
5500
|
+
tronlink: /* @__PURE__ */ jsx24(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
|
|
5501
|
+
bitget: /* @__PURE__ */ jsx24(BitgetIcon, { size: isDownMd ? 36 : 40 }),
|
|
5502
|
+
okx: /* @__PURE__ */ jsx24(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
4926
5503
|
};
|
|
4927
5504
|
const { events, login } = useMatch();
|
|
4928
|
-
const [status, setStatus] =
|
|
4929
|
-
const statusRef =
|
|
4930
|
-
const [error, setError] =
|
|
4931
|
-
const connected =
|
|
5505
|
+
const [status, setStatus] = useState23("");
|
|
5506
|
+
const statusRef = React9.useRef(status);
|
|
5507
|
+
const [error, setError] = useState23("");
|
|
5508
|
+
const connected = useMemo13(() => {
|
|
4932
5509
|
return !!address;
|
|
4933
5510
|
}, [address]);
|
|
4934
5511
|
const disconnect = async () => {
|
|
@@ -4996,7 +5573,7 @@ function TRONConnectModal({
|
|
|
4996
5573
|
statusRef.current = "";
|
|
4997
5574
|
}
|
|
4998
5575
|
};
|
|
4999
|
-
|
|
5576
|
+
useEffect20(() => {
|
|
5000
5577
|
if (wallet) {
|
|
5001
5578
|
console.log("onConnect");
|
|
5002
5579
|
onConnect();
|
|
@@ -5004,21 +5581,21 @@ function TRONConnectModal({
|
|
|
5004
5581
|
setStatus("");
|
|
5005
5582
|
}
|
|
5006
5583
|
}, [wallet]);
|
|
5007
|
-
|
|
5584
|
+
useEffect20(() => {
|
|
5008
5585
|
if (address) {
|
|
5009
5586
|
toLoginInWallet();
|
|
5010
5587
|
}
|
|
5011
5588
|
}, [address]);
|
|
5012
|
-
|
|
5589
|
+
useEffect20(() => {
|
|
5013
5590
|
if (!props.isOpen) {
|
|
5014
5591
|
disconnect();
|
|
5015
5592
|
}
|
|
5016
5593
|
}, [props.isOpen]);
|
|
5017
|
-
return /* @__PURE__ */
|
|
5594
|
+
return /* @__PURE__ */ jsx24(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5018
5595
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5019
5596
|
}, {
|
|
5020
5597
|
name: "TRON"
|
|
5021
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */
|
|
5598
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx24(
|
|
5022
5599
|
WalletModalContent,
|
|
5023
5600
|
{
|
|
5024
5601
|
error,
|
|
@@ -5031,9 +5608,9 @@ function TRONConnectModal({
|
|
|
5031
5608
|
setVisible: () => {
|
|
5032
5609
|
}
|
|
5033
5610
|
}
|
|
5034
|
-
) : /* @__PURE__ */
|
|
5611
|
+
) : /* @__PURE__ */ jsx24("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs17("div", { className: "matchid-login-recommend-list", children: [
|
|
5035
5612
|
installedWallets.map((wallet2) => {
|
|
5036
|
-
return /* @__PURE__ */
|
|
5613
|
+
return /* @__PURE__ */ jsx24(
|
|
5037
5614
|
RecommendItem,
|
|
5038
5615
|
{
|
|
5039
5616
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -5046,14 +5623,14 @@ function TRONConnectModal({
|
|
|
5046
5623
|
);
|
|
5047
5624
|
}),
|
|
5048
5625
|
wallets.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
5049
|
-
return /* @__PURE__ */
|
|
5626
|
+
return /* @__PURE__ */ jsx24(
|
|
5050
5627
|
RecommendItem,
|
|
5051
5628
|
{
|
|
5052
5629
|
icon: iconMaps[wallet2.walletKey],
|
|
5053
5630
|
name: wallet2.name,
|
|
5054
5631
|
onClick: () => {
|
|
5055
5632
|
},
|
|
5056
|
-
footer: /* @__PURE__ */
|
|
5633
|
+
footer: /* @__PURE__ */ jsx24(Button, { size: "sm", onClick: () => {
|
|
5057
5634
|
window.open(wallet2.website);
|
|
5058
5635
|
}, children: "Install" })
|
|
5059
5636
|
},
|
|
@@ -5063,12 +5640,12 @@ function TRONConnectModal({
|
|
|
5063
5640
|
] }) }) });
|
|
5064
5641
|
}
|
|
5065
5642
|
function TRONModal(props) {
|
|
5066
|
-
return props.isOpen && /* @__PURE__ */
|
|
5643
|
+
return props.isOpen && /* @__PURE__ */ jsx24(TRONConnectModal, { ...props, type: props.type });
|
|
5067
5644
|
}
|
|
5068
5645
|
|
|
5069
5646
|
// src/components/TONModal/index.tsx
|
|
5070
|
-
import
|
|
5071
|
-
import { useIntl as
|
|
5647
|
+
import React10, { useEffect as useEffect21, useState as useState24 } from "react";
|
|
5648
|
+
import { useIntl as useIntl14 } from "react-intl";
|
|
5072
5649
|
import {
|
|
5073
5650
|
TonConnectUIProvider,
|
|
5074
5651
|
useTonAddress,
|
|
@@ -5076,21 +5653,21 @@ import {
|
|
|
5076
5653
|
useTonConnectUI,
|
|
5077
5654
|
useTonWallet
|
|
5078
5655
|
} from "@tonconnect/ui-react";
|
|
5079
|
-
import { jsx as
|
|
5080
|
-
function
|
|
5656
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5657
|
+
function WalletContent2({
|
|
5081
5658
|
onSuccess,
|
|
5082
5659
|
type
|
|
5083
5660
|
}) {
|
|
5084
5661
|
const { events, login } = useMatch();
|
|
5085
|
-
const [connected, setConnected] =
|
|
5662
|
+
const [connected, setConnected] = useState24(false);
|
|
5086
5663
|
const wallet = useTonWallet();
|
|
5087
5664
|
const userFriendlyAddress = useTonAddress();
|
|
5088
5665
|
const [tonConnectUI] = useTonConnectUI();
|
|
5089
5666
|
const { state, open, close } = useTonConnectModal();
|
|
5090
|
-
const [status, setStatus] =
|
|
5091
|
-
const statusRef =
|
|
5092
|
-
const [error, setError] =
|
|
5093
|
-
|
|
5667
|
+
const [status, setStatus] = useState24("");
|
|
5668
|
+
const statusRef = React10.useRef(status);
|
|
5669
|
+
const [error, setError] = useState24("");
|
|
5670
|
+
useEffect21(() => {
|
|
5094
5671
|
const init = async () => {
|
|
5095
5672
|
if (tonConnectUI.connected) {
|
|
5096
5673
|
await tonConnectUI.disconnect();
|
|
@@ -5163,7 +5740,7 @@ function WalletContent({
|
|
|
5163
5740
|
}
|
|
5164
5741
|
});
|
|
5165
5742
|
}, []);
|
|
5166
|
-
|
|
5743
|
+
useEffect21(() => {
|
|
5167
5744
|
if (wallet) {
|
|
5168
5745
|
setConnected(true);
|
|
5169
5746
|
console.log("Wallet connected:", wallet);
|
|
@@ -5174,7 +5751,7 @@ function WalletContent({
|
|
|
5174
5751
|
setStatus("");
|
|
5175
5752
|
}
|
|
5176
5753
|
}, [wallet]);
|
|
5177
|
-
|
|
5754
|
+
useEffect21(() => {
|
|
5178
5755
|
console.log({
|
|
5179
5756
|
state,
|
|
5180
5757
|
wallet
|
|
@@ -5203,7 +5780,7 @@ function WalletContent({
|
|
|
5203
5780
|
}
|
|
5204
5781
|
}
|
|
5205
5782
|
}, [state]);
|
|
5206
|
-
return /* @__PURE__ */
|
|
5783
|
+
return /* @__PURE__ */ jsx25(
|
|
5207
5784
|
WalletModalContent,
|
|
5208
5785
|
{
|
|
5209
5786
|
connected,
|
|
@@ -5234,28 +5811,28 @@ function TONConnectModal({
|
|
|
5234
5811
|
onSuccess,
|
|
5235
5812
|
...props
|
|
5236
5813
|
}) {
|
|
5237
|
-
const intl =
|
|
5814
|
+
const intl = useIntl14();
|
|
5238
5815
|
const { endpoints, appid } = useLocalStore_default();
|
|
5239
5816
|
const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
|
|
5240
|
-
return /* @__PURE__ */
|
|
5817
|
+
return /* @__PURE__ */ jsx25(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5241
5818
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5242
5819
|
}, {
|
|
5243
5820
|
name: "TON"
|
|
5244
|
-
}), children: /* @__PURE__ */
|
|
5821
|
+
}), children: /* @__PURE__ */ jsx25(
|
|
5245
5822
|
TonConnectUIProvider,
|
|
5246
5823
|
{
|
|
5247
5824
|
manifestUrl,
|
|
5248
|
-
children: /* @__PURE__ */
|
|
5825
|
+
children: /* @__PURE__ */ jsx25(WalletContent2, { onSuccess, type })
|
|
5249
5826
|
}
|
|
5250
5827
|
) });
|
|
5251
5828
|
}
|
|
5252
5829
|
function TONModal(props) {
|
|
5253
|
-
return props.isOpen && /* @__PURE__ */
|
|
5830
|
+
return props.isOpen && /* @__PURE__ */ jsx25(TONConnectModal, { ...props });
|
|
5254
5831
|
}
|
|
5255
5832
|
|
|
5256
5833
|
// src/components/BTCModal/index.tsx
|
|
5257
|
-
import
|
|
5258
|
-
import { useIntl as
|
|
5834
|
+
import React11, { useEffect as useEffect23, useMemo as useMemo14, useState as useState26 } from "react";
|
|
5835
|
+
import { useIntl as useIntl15 } from "react-intl";
|
|
5259
5836
|
|
|
5260
5837
|
// src/lib/btc/UnisatAdapter.ts
|
|
5261
5838
|
var UnisatAdapter = class {
|
|
@@ -5409,7 +5986,7 @@ var LeatherAdapter = class {
|
|
|
5409
5986
|
};
|
|
5410
5987
|
|
|
5411
5988
|
// src/hooks/useBTCWallet.ts
|
|
5412
|
-
import { useEffect as
|
|
5989
|
+
import { useEffect as useEffect22, useState as useState25 } from "react";
|
|
5413
5990
|
|
|
5414
5991
|
// src/lib/btc/PhantomAdapter.ts
|
|
5415
5992
|
var PhantomAdapter = class {
|
|
@@ -5447,9 +6024,9 @@ var PhantomAdapter = class {
|
|
|
5447
6024
|
// src/hooks/useBTCWallet.ts
|
|
5448
6025
|
var useBTCWallet = () => {
|
|
5449
6026
|
const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
|
|
5450
|
-
const [installedWallets, setInstalledWallets] =
|
|
5451
|
-
const [address, setAddress] =
|
|
5452
|
-
|
|
6027
|
+
const [installedWallets, setInstalledWallets] = useState25([]);
|
|
6028
|
+
const [address, setAddress] = useState25(null);
|
|
6029
|
+
useEffect22(() => {
|
|
5453
6030
|
const getInstalled = async () => {
|
|
5454
6031
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
5455
6032
|
wallet: wallet2,
|
|
@@ -5459,11 +6036,11 @@ var useBTCWallet = () => {
|
|
|
5459
6036
|
};
|
|
5460
6037
|
getInstalled();
|
|
5461
6038
|
}, []);
|
|
5462
|
-
const [wallet, chooseWallet] =
|
|
6039
|
+
const [wallet, chooseWallet] = useState25(null);
|
|
5463
6040
|
const onConnect = async () => {
|
|
5464
6041
|
setAddress(await wallet.connect());
|
|
5465
6042
|
};
|
|
5466
|
-
|
|
6043
|
+
useEffect22(() => {
|
|
5467
6044
|
if (!wallet) {
|
|
5468
6045
|
setAddress(null);
|
|
5469
6046
|
}
|
|
@@ -5479,26 +6056,26 @@ var useBTCWallet = () => {
|
|
|
5479
6056
|
};
|
|
5480
6057
|
|
|
5481
6058
|
// src/components/BTCModal/index.tsx
|
|
5482
|
-
import { jsx as
|
|
6059
|
+
import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
5483
6060
|
function BTCConnectModal({
|
|
5484
6061
|
type = "login",
|
|
5485
6062
|
onSuccess,
|
|
5486
6063
|
...props
|
|
5487
6064
|
}) {
|
|
5488
6065
|
const isDownMd = useDownMd();
|
|
5489
|
-
const intl =
|
|
6066
|
+
const intl = useIntl15();
|
|
5490
6067
|
const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
|
|
5491
6068
|
const iconMaps = {
|
|
5492
|
-
leather: /* @__PURE__ */
|
|
5493
|
-
unisat: /* @__PURE__ */
|
|
5494
|
-
xverse: /* @__PURE__ */
|
|
5495
|
-
phantom: /* @__PURE__ */
|
|
6069
|
+
leather: /* @__PURE__ */ jsx26(LeatherIcon, { size: isDownMd ? 36 : 40 }),
|
|
6070
|
+
unisat: /* @__PURE__ */ jsx26(UnisatIcon, { size: isDownMd ? 36 : 40 }),
|
|
6071
|
+
xverse: /* @__PURE__ */ jsx26(XverseIcon, { size: isDownMd ? 36 : 40 }),
|
|
6072
|
+
phantom: /* @__PURE__ */ jsx26(PhantomIcon, { size: isDownMd ? 36 : 40 })
|
|
5496
6073
|
};
|
|
5497
6074
|
const { events, login } = useMatch();
|
|
5498
|
-
const [status, setStatus] =
|
|
5499
|
-
const statusRef =
|
|
5500
|
-
const [error, setError] =
|
|
5501
|
-
const connected =
|
|
6075
|
+
const [status, setStatus] = useState26("");
|
|
6076
|
+
const statusRef = React11.useRef(status);
|
|
6077
|
+
const [error, setError] = useState26("");
|
|
6078
|
+
const connected = useMemo14(() => {
|
|
5502
6079
|
return !!address;
|
|
5503
6080
|
}, [address]);
|
|
5504
6081
|
const disconnect = async () => {
|
|
@@ -5562,7 +6139,7 @@ function BTCConnectModal({
|
|
|
5562
6139
|
statusRef.current = "";
|
|
5563
6140
|
}
|
|
5564
6141
|
};
|
|
5565
|
-
|
|
6142
|
+
useEffect23(() => {
|
|
5566
6143
|
if (wallet) {
|
|
5567
6144
|
console.log("onConnect");
|
|
5568
6145
|
try {
|
|
@@ -5575,12 +6152,12 @@ function BTCConnectModal({
|
|
|
5575
6152
|
setStatus("");
|
|
5576
6153
|
}
|
|
5577
6154
|
}, [wallet]);
|
|
5578
|
-
|
|
6155
|
+
useEffect23(() => {
|
|
5579
6156
|
if (address) {
|
|
5580
6157
|
toLoginInWallet();
|
|
5581
6158
|
}
|
|
5582
6159
|
}, [address]);
|
|
5583
|
-
|
|
6160
|
+
useEffect23(() => {
|
|
5584
6161
|
if (!props.isOpen) {
|
|
5585
6162
|
disconnect();
|
|
5586
6163
|
}
|
|
@@ -5592,11 +6169,11 @@ function BTCConnectModal({
|
|
|
5592
6169
|
statusRef.current = "";
|
|
5593
6170
|
setError("");
|
|
5594
6171
|
};
|
|
5595
|
-
return /* @__PURE__ */
|
|
6172
|
+
return /* @__PURE__ */ jsx26(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5596
6173
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5597
6174
|
}, {
|
|
5598
6175
|
name: "BTC"
|
|
5599
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */
|
|
6176
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx26(
|
|
5600
6177
|
WalletModalContent,
|
|
5601
6178
|
{
|
|
5602
6179
|
error,
|
|
@@ -5609,9 +6186,9 @@ function BTCConnectModal({
|
|
|
5609
6186
|
setVisible: () => {
|
|
5610
6187
|
}
|
|
5611
6188
|
}
|
|
5612
|
-
) : /* @__PURE__ */
|
|
6189
|
+
) : /* @__PURE__ */ jsx26("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs18("div", { className: "matchid-login-recommend-list", children: [
|
|
5613
6190
|
installedWallets.map((wallet2) => {
|
|
5614
|
-
return /* @__PURE__ */
|
|
6191
|
+
return /* @__PURE__ */ jsx26(
|
|
5615
6192
|
RecommendItem,
|
|
5616
6193
|
{
|
|
5617
6194
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -5624,14 +6201,14 @@ function BTCConnectModal({
|
|
|
5624
6201
|
);
|
|
5625
6202
|
}),
|
|
5626
6203
|
wallets.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
5627
|
-
return /* @__PURE__ */
|
|
6204
|
+
return /* @__PURE__ */ jsx26(
|
|
5628
6205
|
RecommendItem,
|
|
5629
6206
|
{
|
|
5630
6207
|
icon: iconMaps[wallet2.walletKey],
|
|
5631
6208
|
name: wallet2.name,
|
|
5632
6209
|
onClick: () => {
|
|
5633
6210
|
},
|
|
5634
|
-
footer: /* @__PURE__ */
|
|
6211
|
+
footer: /* @__PURE__ */ jsx26(Button, { size: "sm", onClick: () => {
|
|
5635
6212
|
window.open(wallet2.website);
|
|
5636
6213
|
}, children: "Install" })
|
|
5637
6214
|
},
|
|
@@ -5641,23 +6218,23 @@ function BTCConnectModal({
|
|
|
5641
6218
|
] }) }) });
|
|
5642
6219
|
}
|
|
5643
6220
|
function BTCModal(props) {
|
|
5644
|
-
return props.isOpen && /* @__PURE__ */
|
|
6221
|
+
return props.isOpen && /* @__PURE__ */ jsx26(BTCConnectModal, { ...props });
|
|
5645
6222
|
}
|
|
5646
6223
|
|
|
5647
6224
|
// src/components/WalletModal/index.tsx
|
|
5648
|
-
import { useMemo as
|
|
5649
|
-
import { useIntl as
|
|
5650
|
-
import { jsx as
|
|
6225
|
+
import { useMemo as useMemo15 } from "react";
|
|
6226
|
+
import { useIntl as useIntl16 } from "react-intl";
|
|
6227
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
5651
6228
|
function WalletConnectModal({
|
|
5652
6229
|
type,
|
|
5653
6230
|
methods: _methods,
|
|
5654
6231
|
...props
|
|
5655
6232
|
}) {
|
|
5656
|
-
const intl =
|
|
6233
|
+
const intl = useIntl16();
|
|
5657
6234
|
const { walletMap } = useWalletConfig();
|
|
5658
6235
|
const { bind, login } = useUserInfo();
|
|
5659
6236
|
const config = useAppConfig();
|
|
5660
|
-
const methods =
|
|
6237
|
+
const methods = useMemo15(() => {
|
|
5661
6238
|
if (_methods) return _methods;
|
|
5662
6239
|
if (!config.platform) {
|
|
5663
6240
|
return [];
|
|
@@ -5665,13 +6242,13 @@ function WalletConnectModal({
|
|
|
5665
6242
|
const platform = config.platform.map((p) => p.toLowerCase());
|
|
5666
6243
|
return WALLET_METHODS.filter((m) => platform.includes(m));
|
|
5667
6244
|
}, [config.platform, _methods]);
|
|
5668
|
-
return /* @__PURE__ */
|
|
6245
|
+
return /* @__PURE__ */ jsx27(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
5669
6246
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5670
6247
|
}, {
|
|
5671
6248
|
name: ""
|
|
5672
|
-
}), children: /* @__PURE__ */
|
|
6249
|
+
}), children: /* @__PURE__ */ jsx27("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx27("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
|
|
5673
6250
|
const m = walletMap[method];
|
|
5674
|
-
return /* @__PURE__ */
|
|
6251
|
+
return /* @__PURE__ */ jsx27(
|
|
5675
6252
|
RecommendItem,
|
|
5676
6253
|
{
|
|
5677
6254
|
icon: m?.icon,
|
|
@@ -5685,21 +6262,21 @@ function WalletConnectModal({
|
|
|
5685
6262
|
}) }) }) });
|
|
5686
6263
|
}
|
|
5687
6264
|
function WalletModal(props) {
|
|
5688
|
-
return props.isOpen && /* @__PURE__ */
|
|
6265
|
+
return props.isOpen && /* @__PURE__ */ jsx27(WalletConnectModal, { ...props });
|
|
5689
6266
|
}
|
|
5690
6267
|
|
|
5691
6268
|
// src/components/AlphaAvatar/index.tsx
|
|
5692
|
-
import { useEffect as
|
|
5693
|
-
import { jsx as
|
|
6269
|
+
import { useEffect as useEffect24, useState as useState27 } from "react";
|
|
6270
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
5694
6271
|
function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
5695
|
-
const [avatar, setAvatar] =
|
|
5696
|
-
|
|
6272
|
+
const [avatar, setAvatar] = useState27(void 0);
|
|
6273
|
+
useEffect24(() => {
|
|
5697
6274
|
if (name) {
|
|
5698
6275
|
const char = name[0].toUpperCase();
|
|
5699
6276
|
setAvatar(char);
|
|
5700
6277
|
}
|
|
5701
6278
|
}, [name]);
|
|
5702
|
-
return /* @__PURE__ */
|
|
6279
|
+
return /* @__PURE__ */ jsx28("div", { className: `matchid-alpha-avatar ${className}`, style: {
|
|
5703
6280
|
width: size,
|
|
5704
6281
|
height: size,
|
|
5705
6282
|
fontSize: Math.ceil(size / 2)
|
|
@@ -5707,7 +6284,7 @@ function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
|
5707
6284
|
}
|
|
5708
6285
|
|
|
5709
6286
|
// src/components/WalletAsset/index.tsx
|
|
5710
|
-
import { jsx as
|
|
6287
|
+
import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
5711
6288
|
function WalletAsset({
|
|
5712
6289
|
onAssetClick,
|
|
5713
6290
|
matchWalletAssetsOptions
|
|
@@ -5717,7 +6294,7 @@ function WalletAsset({
|
|
|
5717
6294
|
list: walletAssets.mergedAssets
|
|
5718
6295
|
});
|
|
5719
6296
|
const { list } = useMatchChain();
|
|
5720
|
-
return /* @__PURE__ */
|
|
6297
|
+
return /* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-list", children: matchWalletAssetList.list.map((n, index) => {
|
|
5721
6298
|
const clickFunc = onAssetClick && onAssetClick(n);
|
|
5722
6299
|
const chain = list?.find((m) => m.id.toString() === n.chain_id);
|
|
5723
6300
|
const getFooterColor = () => {
|
|
@@ -5736,7 +6313,7 @@ function WalletAsset({
|
|
|
5736
6313
|
cursor: clickFunc ? "pointer" : "default"
|
|
5737
6314
|
}, children: [
|
|
5738
6315
|
/* @__PURE__ */ jsxs19("div", { className: "matchid-wallet-asset-logo", title: n.symbol || n.name || "", children: [
|
|
5739
|
-
n.icon ? /* @__PURE__ */
|
|
6316
|
+
n.icon ? /* @__PURE__ */ jsx29("img", { src: n.icon, alt: n.symbol, className: `matchid-wallet-asset-icon` }) : /* @__PURE__ */ jsx29(
|
|
5740
6317
|
AlphaAvatar2,
|
|
5741
6318
|
{
|
|
5742
6319
|
className: `matchid-wallet-asset-icon`,
|
|
@@ -5744,12 +6321,12 @@ function WalletAsset({
|
|
|
5744
6321
|
name: n.symbol || n.name || ""
|
|
5745
6322
|
}
|
|
5746
6323
|
),
|
|
5747
|
-
chain?.iconUrl && /* @__PURE__ */
|
|
6324
|
+
chain?.iconUrl && /* @__PURE__ */ jsx29("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-wallet-asset-chain` })
|
|
5748
6325
|
] }),
|
|
5749
6326
|
/* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-info`, children: [
|
|
5750
|
-
/* @__PURE__ */
|
|
6327
|
+
/* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-name`, children: n.symbol }),
|
|
5751
6328
|
"price" in n && /* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-content`, children: [
|
|
5752
|
-
/* @__PURE__ */
|
|
6329
|
+
/* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-price", children: /* @__PURE__ */ jsx29(
|
|
5753
6330
|
NumberFormatter,
|
|
5754
6331
|
{
|
|
5755
6332
|
value: n.price,
|
|
@@ -5757,7 +6334,7 @@ function WalletAsset({
|
|
|
5757
6334
|
tFixNum: 2
|
|
5758
6335
|
}
|
|
5759
6336
|
) }),
|
|
5760
|
-
/* @__PURE__ */
|
|
6337
|
+
/* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-value", children: /* @__PURE__ */ jsx29(
|
|
5761
6338
|
NumberFormatter,
|
|
5762
6339
|
{
|
|
5763
6340
|
value: n.value,
|
|
@@ -5767,14 +6344,14 @@ function WalletAsset({
|
|
|
5767
6344
|
) })
|
|
5768
6345
|
] }),
|
|
5769
6346
|
/* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-footer`, children: [
|
|
5770
|
-
/* @__PURE__ */
|
|
6347
|
+
/* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-balance`, children: /* @__PURE__ */ jsx29(
|
|
5771
6348
|
NumberFormatter,
|
|
5772
6349
|
{
|
|
5773
6350
|
value: n.balance,
|
|
5774
6351
|
tFixNum: 3
|
|
5775
6352
|
}
|
|
5776
6353
|
) }),
|
|
5777
|
-
"price_change_24h" in n && /* @__PURE__ */
|
|
6354
|
+
"price_change_24h" in n && /* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-change ${getFooterColor()}`, children: /* @__PURE__ */ jsx29(
|
|
5778
6355
|
NumberFormatter,
|
|
5779
6356
|
{
|
|
5780
6357
|
prefix: `${(n?.price_change_24h || 0) < 0 ? "-" : "+"} `,
|
|
@@ -5790,10 +6367,10 @@ function WalletAsset({
|
|
|
5790
6367
|
}
|
|
5791
6368
|
|
|
5792
6369
|
// src/components/TokenSend/index.tsx
|
|
5793
|
-
import { useEffect as
|
|
5794
|
-
import { defineChain as defineChain4, encodeFunctionData as encodeFunctionData2, erc20Abi as erc20Abi3, http as
|
|
5795
|
-
import { FormattedMessage as FormattedMessage12, useIntl as
|
|
5796
|
-
import { jsx as
|
|
6370
|
+
import { useEffect as useEffect25, useMemo as useMemo16, useState as useState28 } from "react";
|
|
6371
|
+
import { defineChain as defineChain4, encodeFunctionData as encodeFunctionData2, erc20Abi as erc20Abi3, http as http7, parseUnits as parseUnits2 } from "viem";
|
|
6372
|
+
import { FormattedMessage as FormattedMessage12, useIntl as useIntl17 } from "react-intl";
|
|
6373
|
+
import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5797
6374
|
function Input2({
|
|
5798
6375
|
onChange,
|
|
5799
6376
|
placeholder,
|
|
@@ -5804,7 +6381,7 @@ function Input2({
|
|
|
5804
6381
|
size = "df"
|
|
5805
6382
|
}) {
|
|
5806
6383
|
return /* @__PURE__ */ jsxs20("div", { className: `matchid-token-input-box ${"matchid-token-input-" + size}`, children: [
|
|
5807
|
-
/* @__PURE__ */
|
|
6384
|
+
/* @__PURE__ */ jsx30(
|
|
5808
6385
|
"input",
|
|
5809
6386
|
{
|
|
5810
6387
|
placeholder,
|
|
@@ -5815,7 +6392,7 @@ function Input2({
|
|
|
5815
6392
|
className: `matchid-token-input ${error ? "matchid-token-input-error" : ""}`
|
|
5816
6393
|
}
|
|
5817
6394
|
),
|
|
5818
|
-
error && /* @__PURE__ */
|
|
6395
|
+
error && /* @__PURE__ */ jsx30("div", { className: "matchid-token-input-error-text", children: error })
|
|
5819
6396
|
] });
|
|
5820
6397
|
}
|
|
5821
6398
|
function TokenSend({
|
|
@@ -5825,25 +6402,25 @@ function TokenSend({
|
|
|
5825
6402
|
onBack
|
|
5826
6403
|
}) {
|
|
5827
6404
|
const { list: chainList } = useMatchChain();
|
|
5828
|
-
const intl =
|
|
6405
|
+
const intl = useIntl17();
|
|
5829
6406
|
const { createWalletClient: createWalletClient2 } = useWallet();
|
|
5830
6407
|
const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
|
|
5831
|
-
const chain =
|
|
6408
|
+
const chain = useMemo16(() => {
|
|
5832
6409
|
return chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
5833
6410
|
}, [chainList, token.chain_id]);
|
|
5834
|
-
const walletClient =
|
|
6411
|
+
const walletClient = useMemo16(() => {
|
|
5835
6412
|
return createWalletClient2({
|
|
5836
6413
|
// @ts-ignore
|
|
5837
6414
|
chain: defineChain4(chain),
|
|
5838
|
-
transport:
|
|
6415
|
+
transport: http7()
|
|
5839
6416
|
});
|
|
5840
6417
|
}, [chain]);
|
|
5841
|
-
const [amount, setAmount] =
|
|
5842
|
-
const [address, setAddress] =
|
|
5843
|
-
const [loading, setLoading] =
|
|
5844
|
-
const [sending, setSending] =
|
|
5845
|
-
const [txError, setTxError] =
|
|
5846
|
-
const transaction =
|
|
6418
|
+
const [amount, setAmount] = useState28("");
|
|
6419
|
+
const [address, setAddress] = useState28("");
|
|
6420
|
+
const [loading, setLoading] = useState28(false);
|
|
6421
|
+
const [sending, setSending] = useState28(false);
|
|
6422
|
+
const [txError, setTxError] = useState28("");
|
|
6423
|
+
const transaction = useMemo16(() => {
|
|
5847
6424
|
const reg = /^0x[a-fA-F0-9]{40}$/;
|
|
5848
6425
|
if (!amount || !address || !reg.test(address)) {
|
|
5849
6426
|
return;
|
|
@@ -5874,7 +6451,7 @@ function TokenSend({
|
|
|
5874
6451
|
setLoading(false);
|
|
5875
6452
|
}
|
|
5876
6453
|
};
|
|
5877
|
-
const error =
|
|
6454
|
+
const error = useMemo16(() => {
|
|
5878
6455
|
setTxError("");
|
|
5879
6456
|
let amountError = "";
|
|
5880
6457
|
let addressError = "";
|
|
@@ -5917,7 +6494,7 @@ function TokenSend({
|
|
|
5917
6494
|
setAmount(value);
|
|
5918
6495
|
}
|
|
5919
6496
|
};
|
|
5920
|
-
const canSend =
|
|
6497
|
+
const canSend = useMemo16(() => {
|
|
5921
6498
|
return !error.amount && !error.address && amount && address;
|
|
5922
6499
|
}, [error]);
|
|
5923
6500
|
const onNext = async () => {
|
|
@@ -5927,7 +6504,7 @@ function TokenSend({
|
|
|
5927
6504
|
}
|
|
5928
6505
|
onClose();
|
|
5929
6506
|
};
|
|
5930
|
-
|
|
6507
|
+
useEffect25(() => {
|
|
5931
6508
|
const receiveMessage = (event) => {
|
|
5932
6509
|
if (event.data) {
|
|
5933
6510
|
if (event.data.source == "match-wallet") {
|
|
@@ -5943,24 +6520,24 @@ function TokenSend({
|
|
|
5943
6520
|
window.removeEventListener("message", receiveMessage);
|
|
5944
6521
|
};
|
|
5945
6522
|
}, []);
|
|
5946
|
-
return /* @__PURE__ */
|
|
6523
|
+
return /* @__PURE__ */ jsx30(ModalDrawer, { isOpen: true, onClose, zIndex, title: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "send" }), onBack, children: /* @__PURE__ */ jsxs20("div", { className: `matchid-token-send-box`, children: [
|
|
5947
6524
|
/* @__PURE__ */ jsxs20("div", { className: "matchid-token-send-content", children: [
|
|
5948
6525
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-content`, children: [
|
|
5949
6526
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-header`, children: [
|
|
5950
|
-
/* @__PURE__ */
|
|
6527
|
+
/* @__PURE__ */ jsx30("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "amount" }) }),
|
|
5951
6528
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-chain`, children: [
|
|
5952
|
-
token.icon ? /* @__PURE__ */
|
|
6529
|
+
token.icon ? /* @__PURE__ */ jsx30(
|
|
5953
6530
|
"img",
|
|
5954
6531
|
{
|
|
5955
6532
|
src: token?.icon,
|
|
5956
6533
|
alt: token?.symbol,
|
|
5957
6534
|
className: `matchid-token-amount-chain-icon`
|
|
5958
6535
|
}
|
|
5959
|
-
) : /* @__PURE__ */
|
|
5960
|
-
/* @__PURE__ */
|
|
6536
|
+
) : /* @__PURE__ */ jsx30(AlphaAvatar, { name: token.symbol || token.name || "", size: 16 }),
|
|
6537
|
+
/* @__PURE__ */ jsx30("span", { children: token?.symbol })
|
|
5961
6538
|
] })
|
|
5962
6539
|
] }),
|
|
5963
|
-
/* @__PURE__ */
|
|
6540
|
+
/* @__PURE__ */ jsx30(
|
|
5964
6541
|
Input2,
|
|
5965
6542
|
{
|
|
5966
6543
|
type: "text",
|
|
@@ -5975,16 +6552,16 @@ function TokenSend({
|
|
|
5975
6552
|
),
|
|
5976
6553
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-footer`, children: [
|
|
5977
6554
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-title`, children: [
|
|
5978
|
-
/* @__PURE__ */
|
|
6555
|
+
/* @__PURE__ */ jsx30(FormattedMessage12, { id: "balance" }),
|
|
5979
6556
|
":"
|
|
5980
6557
|
] }),
|
|
5981
|
-
/* @__PURE__ */
|
|
6558
|
+
/* @__PURE__ */ jsx30("div", { className: `matchid-token-amount-value`, children: /* @__PURE__ */ jsx30(NumberFormatter, { value: token.balance, tFixNum: 10, suffix: " " + token.symbol }) })
|
|
5982
6559
|
] }),
|
|
5983
|
-
/* @__PURE__ */
|
|
6560
|
+
/* @__PURE__ */ jsx30(TransferIcon, { className: "matchid-token-amount-transfer" })
|
|
5984
6561
|
] }),
|
|
5985
6562
|
/* @__PURE__ */ jsxs20("div", { className: `matchid-token-address-content`, children: [
|
|
5986
|
-
/* @__PURE__ */
|
|
5987
|
-
/* @__PURE__ */
|
|
6563
|
+
/* @__PURE__ */ jsx30("div", { className: `matchid-token-address-header`, children: /* @__PURE__ */ jsx30("div", { className: `matchid-token-address-title`, children: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "receiveTitle" }) }) }),
|
|
6564
|
+
/* @__PURE__ */ jsx30(
|
|
5988
6565
|
Input2,
|
|
5989
6566
|
{
|
|
5990
6567
|
type: "text",
|
|
@@ -6000,7 +6577,7 @@ function TokenSend({
|
|
|
6000
6577
|
)
|
|
6001
6578
|
] })
|
|
6002
6579
|
] }),
|
|
6003
|
-
/* @__PURE__ */
|
|
6580
|
+
/* @__PURE__ */ jsx30(
|
|
6004
6581
|
Button,
|
|
6005
6582
|
{
|
|
6006
6583
|
size: "lg",
|
|
@@ -6009,15 +6586,15 @@ function TokenSend({
|
|
|
6009
6586
|
disabled: !canSend || !!txError,
|
|
6010
6587
|
onClick: onNext,
|
|
6011
6588
|
loading: loading || sending,
|
|
6012
|
-
children: /* @__PURE__ */
|
|
6589
|
+
children: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "next" })
|
|
6013
6590
|
}
|
|
6014
6591
|
)
|
|
6015
6592
|
] }) });
|
|
6016
6593
|
}
|
|
6017
6594
|
|
|
6018
6595
|
// src/components/TokenDetail/index.tsx
|
|
6019
|
-
import { FormattedMessage as FormattedMessage13, useIntl as
|
|
6020
|
-
import { jsx as
|
|
6596
|
+
import { FormattedMessage as FormattedMessage13, useIntl as useIntl18 } from "react-intl";
|
|
6597
|
+
import { jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
6021
6598
|
function TokenDetail({
|
|
6022
6599
|
onClose,
|
|
6023
6600
|
token
|
|
@@ -6027,41 +6604,41 @@ function TokenDetail({
|
|
|
6027
6604
|
const chain = chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
6028
6605
|
const onSend = () => {
|
|
6029
6606
|
modal.show((props) => {
|
|
6030
|
-
return /* @__PURE__ */
|
|
6607
|
+
return /* @__PURE__ */ jsx31(TokenSend, { onClose: () => {
|
|
6031
6608
|
props.close();
|
|
6032
6609
|
onClose();
|
|
6033
6610
|
}, onBack: props.close, zIndex: props.zIndex, token });
|
|
6034
6611
|
});
|
|
6035
6612
|
};
|
|
6036
|
-
const intl =
|
|
6037
|
-
return /* @__PURE__ */
|
|
6613
|
+
const intl = useIntl18();
|
|
6614
|
+
return /* @__PURE__ */ jsx31(ModalDrawer, { isOpen: true, title: intl.formatMessage({
|
|
6038
6615
|
id: "tokenDetails"
|
|
6039
6616
|
}), onClose, children: /* @__PURE__ */ jsxs21("div", { className: `matchid-token-detail`, children: [
|
|
6040
6617
|
/* @__PURE__ */ jsxs21("div", { className: `matchid-token-main`, children: [
|
|
6041
6618
|
/* @__PURE__ */ jsxs21("div", { className: `matchid-token-info`, children: [
|
|
6042
6619
|
/* @__PURE__ */ jsxs21("div", { className: `matchid-token-logo`, children: [
|
|
6043
|
-
token.icon ? /* @__PURE__ */
|
|
6044
|
-
chain?.iconUrl && /* @__PURE__ */
|
|
6620
|
+
token.icon ? /* @__PURE__ */ jsx31("img", { src: token.icon, alt: token.symbol, className: `matchid-token-icon` }) : /* @__PURE__ */ jsx31(AlphaAvatar, { className: `matchid-token-icon`, size: 48, name: token.symbol || token.name || "" }),
|
|
6621
|
+
chain?.iconUrl && /* @__PURE__ */ jsx31("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-token-chain` })
|
|
6045
6622
|
] }),
|
|
6046
6623
|
/* @__PURE__ */ jsxs21("div", { className: `matchid-token-name`, children: [
|
|
6047
|
-
/* @__PURE__ */
|
|
6624
|
+
/* @__PURE__ */ jsx31(NumberFormatter, { value: token.balance, tFixNum: 10 }),
|
|
6048
6625
|
" ",
|
|
6049
6626
|
token.symbol
|
|
6050
6627
|
] })
|
|
6051
6628
|
] }),
|
|
6052
6629
|
token.address.toLowerCase() != NATIVE_TOKEN_ADDRESS && /* @__PURE__ */ jsxs21("div", { className: `matchid-token-contract`, children: [
|
|
6053
|
-
/* @__PURE__ */
|
|
6054
|
-
/* @__PURE__ */
|
|
6630
|
+
/* @__PURE__ */ jsx31("div", { className: "matchid-token-contract-title", children: "Contract address" }),
|
|
6631
|
+
/* @__PURE__ */ jsx31("div", { className: "matchid-token-contract-address", children: token.address })
|
|
6055
6632
|
] })
|
|
6056
6633
|
] }),
|
|
6057
|
-
/* @__PURE__ */
|
|
6634
|
+
/* @__PURE__ */ jsx31(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ jsx31(FormattedMessage13, { id: "send" }) })
|
|
6058
6635
|
] }) });
|
|
6059
6636
|
}
|
|
6060
6637
|
|
|
6061
6638
|
// src/components/TokenSendList/index.tsx
|
|
6062
|
-
import { useState as
|
|
6639
|
+
import { useState as useState29 } from "react";
|
|
6063
6640
|
import { FormattedMessage as FormattedMessage14 } from "react-intl";
|
|
6064
|
-
import { jsx as
|
|
6641
|
+
import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
6065
6642
|
function TokenSendList({ close }) {
|
|
6066
6643
|
const isDownMd = useDownMd();
|
|
6067
6644
|
const walletAssets = useMatchWalletAssets();
|
|
@@ -6069,18 +6646,18 @@ function TokenSendList({ close }) {
|
|
|
6069
6646
|
list: walletAssets.mergedAssets
|
|
6070
6647
|
});
|
|
6071
6648
|
const { list } = useMatchChain();
|
|
6072
|
-
const [checked, setChecked] =
|
|
6649
|
+
const [checked, setChecked] = useState29();
|
|
6073
6650
|
const modal = useModal();
|
|
6074
6651
|
const onNext = () => {
|
|
6075
6652
|
checked && modal.show((props) => {
|
|
6076
|
-
return /* @__PURE__ */
|
|
6653
|
+
return /* @__PURE__ */ jsx32(TokenSend, { onClose: () => {
|
|
6077
6654
|
props.close();
|
|
6078
6655
|
close();
|
|
6079
6656
|
}, onBack: props.close, zIndex: props.zIndex, token: checked });
|
|
6080
6657
|
});
|
|
6081
6658
|
};
|
|
6082
6659
|
return /* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-list-box", children: [
|
|
6083
|
-
/* @__PURE__ */
|
|
6660
|
+
/* @__PURE__ */ jsx32("div", { className: "matchid-token-send-list", children: matchWalletAssetList.list.map((n, index) => {
|
|
6084
6661
|
const chain = list?.find((m) => m.id.toString() === n.chain_id);
|
|
6085
6662
|
return /* @__PURE__ */ jsxs22(
|
|
6086
6663
|
"div",
|
|
@@ -6090,10 +6667,10 @@ function TokenSendList({ close }) {
|
|
|
6090
6667
|
setChecked(n);
|
|
6091
6668
|
},
|
|
6092
6669
|
children: [
|
|
6093
|
-
/* @__PURE__ */
|
|
6670
|
+
/* @__PURE__ */ jsx32(Radio, { checked: checked?.address == n.address, size: isDownMd ? 18 : 24 }),
|
|
6094
6671
|
/* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-content", children: [
|
|
6095
6672
|
/* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-logo", children: [
|
|
6096
|
-
n.icon ? /* @__PURE__ */
|
|
6673
|
+
n.icon ? /* @__PURE__ */ jsx32("img", { src: n.icon, alt: n.symbol, className: `matchid-token-send-icon` }) : /* @__PURE__ */ jsx32(
|
|
6097
6674
|
AlphaAvatar2,
|
|
6098
6675
|
{
|
|
6099
6676
|
className: `matchid-token-send-icon`,
|
|
@@ -6101,7 +6678,7 @@ function TokenSendList({ close }) {
|
|
|
6101
6678
|
name: n.symbol || n.name || ""
|
|
6102
6679
|
}
|
|
6103
6680
|
),
|
|
6104
|
-
chain?.iconUrl && /* @__PURE__ */
|
|
6681
|
+
chain?.iconUrl && /* @__PURE__ */ jsx32(
|
|
6105
6682
|
"img",
|
|
6106
6683
|
{
|
|
6107
6684
|
src: chain.iconUrl,
|
|
@@ -6111,8 +6688,8 @@ function TokenSendList({ close }) {
|
|
|
6111
6688
|
)
|
|
6112
6689
|
] }),
|
|
6113
6690
|
/* @__PURE__ */ jsxs22("div", { className: `matchid-token-send-info`, children: [
|
|
6114
|
-
/* @__PURE__ */
|
|
6115
|
-
/* @__PURE__ */
|
|
6691
|
+
/* @__PURE__ */ jsx32("div", { className: `matchid-token-send-name`, children: n.symbol }),
|
|
6692
|
+
/* @__PURE__ */ jsx32("div", { className: `matchid-token-send-balance`, children: /* @__PURE__ */ jsx32(NumberFormatter, { value: n.balance, tFixNum: 3 }) })
|
|
6116
6693
|
] })
|
|
6117
6694
|
] })
|
|
6118
6695
|
]
|
|
@@ -6120,24 +6697,24 @@ function TokenSendList({ close }) {
|
|
|
6120
6697
|
index
|
|
6121
6698
|
);
|
|
6122
6699
|
}) }),
|
|
6123
|
-
/* @__PURE__ */
|
|
6700
|
+
/* @__PURE__ */ jsx32(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ jsx32(FormattedMessage14, { id: "next" }) })
|
|
6124
6701
|
] });
|
|
6125
6702
|
}
|
|
6126
6703
|
|
|
6127
6704
|
// src/components/TransactionList/index.tsx
|
|
6128
6705
|
import InfiniteScroll from "react-infinite-scroll-component";
|
|
6129
|
-
import { useEffect as
|
|
6706
|
+
import { useEffect as useEffect26, useMemo as useMemo17, useState as useState30 } from "react";
|
|
6130
6707
|
import { decodeFunctionData, defineChain as defineChain5, formatUnits as formatUnits3 } from "viem";
|
|
6131
6708
|
import { erc20Abi as erc20Abi4 } from "viem";
|
|
6132
6709
|
import { FormattedMessage as FormattedMessage15 } from "react-intl";
|
|
6133
|
-
import { jsx as
|
|
6710
|
+
import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
6134
6711
|
var Item = ({ data }) => {
|
|
6135
6712
|
const { address } = useWallet();
|
|
6136
6713
|
const isOut = data.from.toLowerCase() == address.toLowerCase();
|
|
6137
6714
|
const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
|
|
6138
6715
|
const { contracts } = useContractStore_default();
|
|
6139
|
-
const [shouldRefetch, setShouldRefetch] =
|
|
6140
|
-
const transferType =
|
|
6716
|
+
const [shouldRefetch, setShouldRefetch] = useState30(true);
|
|
6717
|
+
const transferType = useMemo17(() => {
|
|
6141
6718
|
const methodId = data.input.substring(2, 10);
|
|
6142
6719
|
if (methodId == "095ea7b3") {
|
|
6143
6720
|
return "erc20_approve";
|
|
@@ -6147,7 +6724,7 @@ var Item = ({ data }) => {
|
|
|
6147
6724
|
}
|
|
6148
6725
|
return "unknown";
|
|
6149
6726
|
}, [data.input]);
|
|
6150
|
-
const to =
|
|
6727
|
+
const to = useMemo17(() => {
|
|
6151
6728
|
if (!isOut) {
|
|
6152
6729
|
return data.from;
|
|
6153
6730
|
}
|
|
@@ -6160,7 +6737,7 @@ var Item = ({ data }) => {
|
|
|
6160
6737
|
}
|
|
6161
6738
|
return data.to;
|
|
6162
6739
|
}, [data.input, transferType, data.to, isOut]);
|
|
6163
|
-
const amount =
|
|
6740
|
+
const amount = useMemo17(() => {
|
|
6164
6741
|
if (transferType == "erc20_transfer") {
|
|
6165
6742
|
const decodeData = decodeFunctionData({
|
|
6166
6743
|
abi: erc20Abi4,
|
|
@@ -6178,7 +6755,7 @@ var Item = ({ data }) => {
|
|
|
6178
6755
|
refetchInterval: shouldRefetch ? 3e3 : false,
|
|
6179
6756
|
enabled: shouldRefetch && data.source == "local"
|
|
6180
6757
|
});
|
|
6181
|
-
const status =
|
|
6758
|
+
const status = useMemo17(() => {
|
|
6182
6759
|
if (data.source == "matchain") {
|
|
6183
6760
|
switch (data.extra.status) {
|
|
6184
6761
|
case "ok":
|
|
@@ -6205,12 +6782,12 @@ var Item = ({ data }) => {
|
|
|
6205
6782
|
}
|
|
6206
6783
|
return "loading";
|
|
6207
6784
|
}, [data.extra?.status, data.source, hashQuery.data]);
|
|
6208
|
-
|
|
6785
|
+
useEffect26(() => {
|
|
6209
6786
|
if (data.hash) {
|
|
6210
6787
|
setShouldRefetch(status == "loading");
|
|
6211
6788
|
}
|
|
6212
6789
|
}, [status, data.hash]);
|
|
6213
|
-
const symbol =
|
|
6790
|
+
const symbol = useMemo17(() => {
|
|
6214
6791
|
if (transferType == "erc20_transfer") {
|
|
6215
6792
|
const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
|
|
6216
6793
|
return contract?.symbol || contract?.name || "unknown";
|
|
@@ -6225,10 +6802,10 @@ var Item = ({ data }) => {
|
|
|
6225
6802
|
className: `matchid-transaction-item`,
|
|
6226
6803
|
children: [
|
|
6227
6804
|
/* @__PURE__ */ jsxs23("div", { className: `matchid-transacton-item-container`, children: [
|
|
6228
|
-
/* @__PURE__ */
|
|
6805
|
+
/* @__PURE__ */ jsx33("div", { className: "matchid-transaction-item-icon", children: /* @__PURE__ */ jsx33(ArrowSendIcon, { className: !isOut ? "rotate-180" : "" }) }),
|
|
6229
6806
|
/* @__PURE__ */ jsxs23("div", { className: `matchid-transaction-item-details`, children: [
|
|
6230
|
-
/* @__PURE__ */
|
|
6231
|
-
/* @__PURE__ */
|
|
6807
|
+
/* @__PURE__ */ jsx33("div", { className: `matchid-transaction-item-address`, children: formatAddress(to, 6, 4) }),
|
|
6808
|
+
/* @__PURE__ */ jsx33(
|
|
6232
6809
|
"div",
|
|
6233
6810
|
{
|
|
6234
6811
|
className: `matchid-transaction-item-timestamp`,
|
|
@@ -6238,10 +6815,10 @@ var Item = ({ data }) => {
|
|
|
6238
6815
|
] })
|
|
6239
6816
|
] }),
|
|
6240
6817
|
/* @__PURE__ */ jsxs23("div", { className: `matchid-transaction-item-amount ${"matchid-transaction-item-" + status}`, children: [
|
|
6241
|
-
/* @__PURE__ */
|
|
6242
|
-
status == "loading" && /* @__PURE__ */
|
|
6243
|
-
status == "success" && /* @__PURE__ */
|
|
6244
|
-
status == "error" && /* @__PURE__ */
|
|
6818
|
+
/* @__PURE__ */ jsx33(NumberFormatter, { value: amount, tFixNum: 6, prefix: isOut ? "-" : "+", suffix: " " + symbol }),
|
|
6819
|
+
status == "loading" && /* @__PURE__ */ jsx33(LoadingIcon_default, { color: "#000000", size: 16, rotate: true }),
|
|
6820
|
+
status == "success" && /* @__PURE__ */ jsx33(CheckRoundIcon, { size: 16 }),
|
|
6821
|
+
status == "error" && /* @__PURE__ */ jsx33(InfoRoundIcon, { size: 16 })
|
|
6245
6822
|
] })
|
|
6246
6823
|
]
|
|
6247
6824
|
}
|
|
@@ -6251,7 +6828,7 @@ function TransactionList({
|
|
|
6251
6828
|
scrollableTarget
|
|
6252
6829
|
}) {
|
|
6253
6830
|
const { fetchMoreData, hasMore, items } = useMatchWalletRecords();
|
|
6254
|
-
return /* @__PURE__ */
|
|
6831
|
+
return /* @__PURE__ */ jsx33(
|
|
6255
6832
|
InfiniteScroll,
|
|
6256
6833
|
{
|
|
6257
6834
|
scrollableTarget,
|
|
@@ -6259,11 +6836,11 @@ function TransactionList({
|
|
|
6259
6836
|
next: fetchMoreData,
|
|
6260
6837
|
hasMore,
|
|
6261
6838
|
loader: /* @__PURE__ */ jsxs23("div", { className: "matchid-list-nomore", children: [
|
|
6262
|
-
/* @__PURE__ */
|
|
6839
|
+
/* @__PURE__ */ jsx33(LoadingIcon_default, { rotate: true, size: 16, color: "black" }),
|
|
6263
6840
|
"Loading..."
|
|
6264
6841
|
] }),
|
|
6265
|
-
endMessage: items.length > 0 ? /* @__PURE__ */
|
|
6266
|
-
children: items.length == 0 && !hasMore ? /* @__PURE__ */
|
|
6842
|
+
endMessage: items.length > 0 ? /* @__PURE__ */ jsx33("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ jsx33(FormattedMessage15, { id: "noMoreRecords" }) }) : /* @__PURE__ */ jsx33("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ jsx33(FormattedMessage15, { id: "noRecords" }) }),
|
|
6843
|
+
children: items.length == 0 && !hasMore ? /* @__PURE__ */ jsx33("div", { className: "mt-[150px]" }) : /* @__PURE__ */ jsx33("div", { className: `matchid-transaction-list`, children: items.map((item, index) => /* @__PURE__ */ jsx33(Item, { data: item }, index)) })
|
|
6267
6844
|
}
|
|
6268
6845
|
);
|
|
6269
6846
|
}
|
|
@@ -6295,6 +6872,7 @@ export {
|
|
|
6295
6872
|
LoginModal,
|
|
6296
6873
|
LoginButton,
|
|
6297
6874
|
UsernameModal,
|
|
6875
|
+
EVMModal,
|
|
6298
6876
|
TRONModal,
|
|
6299
6877
|
TONModal,
|
|
6300
6878
|
BTCModal,
|
|
@@ -6315,4 +6893,4 @@ export {
|
|
|
6315
6893
|
MatchProvider,
|
|
6316
6894
|
useMatch
|
|
6317
6895
|
};
|
|
6318
|
-
//# sourceMappingURL=chunk-
|
|
6896
|
+
//# sourceMappingURL=chunk-XXZZYALJ.mjs.map
|