@matchain/matchid-sdk-react 0.1.53-alpha.2 → 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.
Files changed (92) hide show
  1. package/dist/assets/icon/index.d.mts +4 -2
  2. package/dist/assets/icon/index.d.ts +4 -2
  3. package/dist/assets/icon/index.js +19 -0
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +3 -1
  6. package/dist/chunk-3CR66BEX.mjs +19 -0
  7. package/dist/chunk-3CR66BEX.mjs.map +1 -0
  8. package/dist/{chunk-LHNKZISB.mjs → chunk-3USZ4ZZY.mjs} +20 -2
  9. package/dist/chunk-3USZ4ZZY.mjs.map +1 -0
  10. package/dist/{chunk-4A2YPGO3.mjs → chunk-4J3KZCLG.mjs} +2 -2
  11. package/dist/{chunk-HYQ3T6WW.mjs → chunk-JX73EY6V.mjs} +2 -14
  12. package/dist/chunk-JX73EY6V.mjs.map +1 -0
  13. package/dist/{chunk-MX7N57AH.mjs → chunk-OCQ2AIM3.mjs} +7 -2
  14. package/dist/{chunk-MX7N57AH.mjs.map → chunk-OCQ2AIM3.mjs.map} +1 -1
  15. package/dist/{chunk-FB5MHLWX.mjs → chunk-V2S54LGG.mjs} +2 -2
  16. package/dist/{chunk-W5A6WY7Y.mjs → chunk-XXZZYALJ.mjs} +807 -191
  17. package/dist/chunk-XXZZYALJ.mjs.map +1 -0
  18. package/dist/components/index.d.mts +3 -3
  19. package/dist/components/index.d.ts +3 -3
  20. package/dist/components/index.js +1111 -442
  21. package/dist/components/index.js.map +1 -1
  22. package/dist/components/index.mjs +7 -4
  23. package/dist/config/chains/index.mjs +2 -1
  24. package/dist/hooks/api/index.d.mts +2 -2
  25. package/dist/hooks/api/index.d.ts +2 -2
  26. package/dist/hooks/api/index.js +202 -88
  27. package/dist/hooks/api/index.js.map +1 -1
  28. package/dist/hooks/api/index.mjs +6 -5
  29. package/dist/hooks/index.d.mts +2 -2
  30. package/dist/hooks/index.d.ts +2 -2
  31. package/dist/hooks/index.js +515 -401
  32. package/dist/hooks/index.js.map +1 -1
  33. package/dist/hooks/index.mjs +5 -4
  34. package/dist/{index-IwwXQ_QV.d.ts → index-BaYTgL99.d.mts} +3 -2
  35. package/dist/{index-B8cUP7cH.d.ts → index-BhU3hF7y.d.ts} +2 -2
  36. package/dist/{index-iWHaT8HV.d.mts → index-Bpd2gBNh.d.mts} +1 -1
  37. package/dist/{index-Df-WlkXq.d.ts → index-C5StsjWY.d.ts} +11 -4
  38. package/dist/{index-BS-NO8Y2.d.ts → index-CFqk8eNo.d.ts} +12 -12
  39. package/dist/{index-BCGJczpk.d.mts → index-D1QeVZyN.d.ts} +3 -2
  40. package/dist/{index-DNJuiNdz.d.mts → index-D_UNctDI.d.mts} +11 -4
  41. package/dist/{index-BsL6zo6a.d.ts → index-DaXXoRxr.d.ts} +1 -1
  42. package/dist/{index-K5vXmiRX.d.ts → index-Dt92N6yZ.d.ts} +1 -1
  43. package/dist/{index-CZqdmQu1.d.mts → index-W6yjuOKT.d.mts} +1 -1
  44. package/dist/{index-Bil_db2f.d.mts → index-mxbJ8CFx.d.mts} +12 -12
  45. package/dist/{index-yy3VTdFU.d.mts → index-wqqEUufi.d.mts} +2 -2
  46. package/dist/index.css +3 -0
  47. package/dist/index.d.mts +7 -7
  48. package/dist/index.d.ts +7 -7
  49. package/dist/index.js +1297 -680
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +12 -11
  52. package/dist/types/index.d.mts +1 -1
  53. package/dist/types/index.d.ts +1 -1
  54. package/dist/{types-CZbR7ERa.d.mts → types-Bx_FJ11s.d.mts} +2 -1
  55. package/dist/{types-CZbR7ERa.d.ts → types-Bx_FJ11s.d.ts} +2 -1
  56. package/dist/ui/index.d.mts +3 -3
  57. package/dist/ui/index.d.ts +3 -3
  58. package/dist/ui/index.js +62 -59
  59. package/dist/ui/index.js.map +1 -1
  60. package/dist/ui/index.mjs +2 -2
  61. package/dist/utils/index.d.mts +2 -1
  62. package/dist/utils/index.d.ts +2 -1
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -1
  65. package/dist/utils/index.mjs +3 -1
  66. package/example/dist/assets/ccip-nxE3Zma4.js +1 -0
  67. package/example/dist/assets/index-BFAv3rdU.css +1 -0
  68. package/example/dist/assets/index-DMWWRDPI.js +1658 -0
  69. package/example/dist/index.html +2 -2
  70. package/example/src/pages/User/index.tsx +7 -1
  71. package/package.json +2 -1
  72. package/dist/chunk-HYQ3T6WW.mjs.map +0 -1
  73. package/dist/chunk-LHNKZISB.mjs.map +0 -1
  74. package/dist/chunk-W5A6WY7Y.mjs.map +0 -1
  75. package/example/dist/assets/TransportWebHID-BEu7tC0r.js +0 -1
  76. package/example/dist/assets/bignumber-iG7K-qxw.js +0 -10
  77. package/example/dist/assets/ccip-a6wQ1Vcb.js +0 -1
  78. package/example/dist/assets/draggabilly-CRYR_S0q.js +0 -14
  79. package/example/dist/assets/index--dp9m9Ep.js +0 -1
  80. package/example/dist/assets/index-BDTHolFv.js +0 -569
  81. package/example/dist/assets/index-BZl59qLb.js +0 -179
  82. package/example/dist/assets/index-BmMbYNHO.js +0 -303
  83. package/example/dist/assets/index-C7cxVRDF.js +0 -1677
  84. package/example/dist/assets/index-CJk171Yb.js +0 -1
  85. package/example/dist/assets/index-CQiBesAa.js +0 -3
  86. package/example/dist/assets/index-D62loNA9.js +0 -3
  87. package/example/dist/assets/index-DqyX3FG6.js +0 -1
  88. package/example/dist/assets/index-Gy3FXGhr.css +0 -1
  89. package/example/dist/assets/inherits_browser-BlmhoU4v.js +0 -1
  90. package/example/dist/assets/solanaEmbed.esm-Djn-u4Vn.js +0 -38
  91. /package/dist/{chunk-4A2YPGO3.mjs.map → chunk-4J3KZCLG.mjs.map} +0 -0
  92. /package/dist/{chunk-FB5MHLWX.mjs.map → chunk-V2S54LGG.mjs.map} +0 -0
@@ -16,20 +16,7 @@ import {
16
16
  useDownMd,
17
17
  useHash,
18
18
  useLayout_exports
19
- } from "./chunk-FB5MHLWX.mjs";
20
- import {
21
- NumberFormatter,
22
- decodeBase64,
23
- encodeBase64,
24
- formatAddress,
25
- formatDate,
26
- getAppClientId,
27
- getVersion,
28
- isInTgApp,
29
- isValidEmail,
30
- isValidUsername,
31
- truncateAddress
32
- } from "./chunk-MX7N57AH.mjs";
19
+ } from "./chunk-V2S54LGG.mjs";
33
20
  import {
34
21
  ArrowDownIcon,
35
22
  ArrowRightIcon,
@@ -57,6 +44,7 @@ import {
57
44
  LoadingIcon_default,
58
45
  LoginIcon_default,
59
46
  OKXIcon,
47
+ PhantomIcon,
60
48
  SOLDarkIcon,
61
49
  SOLLightIcon,
62
50
  TRXDarkIcon,
@@ -72,7 +60,25 @@ import {
72
60
  XIcon,
73
61
  XverseIcon,
74
62
  YoutubeIcon
75
- } from "./chunk-LHNKZISB.mjs";
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";
76
82
  import {
77
83
  __export
78
84
  } from "./chunk-J5LGTIGS.mjs";
@@ -82,6 +88,7 @@ var components_exports = {};
82
88
  __export(components_exports, {
83
89
  BTCModal: () => BTCModal,
84
90
  Button: () => Button,
91
+ EVMModal: () => EVMModal,
85
92
  EmailModal: () => EmailModal,
86
93
  Field: () => Field,
87
94
  Input: () => Input,
@@ -2312,6 +2319,12 @@ var useBTCModalStore = create5((set) => ({
2312
2319
  open: (type) => set({ isOpen: true, type }),
2313
2320
  close: () => set({ isOpen: false })
2314
2321
  }));
2322
+ var useEVMModalStore = create5((set) => ({
2323
+ isOpen: false,
2324
+ type: "",
2325
+ open: (type) => set({ isOpen: true, type }),
2326
+ close: () => set({ isOpen: false })
2327
+ }));
2315
2328
  var useCEXBindModalStore = create5((set) => ({
2316
2329
  type: "",
2317
2330
  isOpen: false,
@@ -2444,6 +2457,7 @@ import { useQuery as useQuery6 } from "@tanstack/react-query";
2444
2457
  import { Fragment, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
2445
2458
  function BusinessProvider({ children }) {
2446
2459
  const { overview, token } = useUserInfo();
2460
+ const { type: EVMType, isOpen: EVMIsOpen, close: EVMClose } = useEVMModalStore();
2447
2461
  const { type: TONType, isOpen: TONIsOpen, close: TONClose } = useTONModalStore();
2448
2462
  const { type: TRONType, isOpen: TRONIsOpen, close: TRONClose } = useTRONModalStore();
2449
2463
  const { type: BTCType, isOpen: BTCIsOpen, close: BTCClose } = useBTCModalStore();
@@ -2475,6 +2489,16 @@ function BusinessProvider({ children }) {
2475
2489
  refetchInterval: 1e3 * 5
2476
2490
  });
2477
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
+ ),
2478
2502
  /* @__PURE__ */ jsx10(
2479
2503
  TRONModal,
2480
2504
  {
@@ -2977,7 +3001,7 @@ var en_default = {
2977
3001
  amountPlaceholder: "Enter the Amount.",
2978
3002
  balance: "Balance",
2979
3003
  receiveTitle: "Received wallet address",
2980
- receivePlaceholder: "Enter the Received wallet address.",
3004
+ receivePlaceholder: "Enter the Receiving wallet address.",
2981
3005
  next: "Next",
2982
3006
  copied: "Copied",
2983
3007
  receiveQrcode: "Receive by scanning the QR code",
@@ -3725,6 +3749,7 @@ function useUserInfo() {
3725
3749
  const { setTgAppAuthCode, emailLoginKey, setEmailLoginKey } = useStore_default();
3726
3750
  const isDownMd = useDownMd();
3727
3751
  const { events, login } = useMatch();
3752
+ const { open: EVMOpen } = useEVMModalStore();
3728
3753
  const { open: TRONOpen } = useTRONModalStore();
3729
3754
  const { open: TONOpen } = useTONModalStore();
3730
3755
  const { open: BTCOpen } = useBTCModalStore();
@@ -3801,7 +3826,8 @@ function useUserInfo() {
3801
3826
  case "wallet":
3802
3827
  return walletModalStore.open("login", extra?.methods);
3803
3828
  case "evm":
3804
- return window.open(`${endpoints.auth}login/wallet?appid=${appid}&locale=${locale}`);
3829
+ return EVMOpen("login");
3830
+ // return window.open(`${endpoints.auth}login/wallet?appid=${appid}&locale=${locale}`)
3805
3831
  case "sol":
3806
3832
  if (isDownMd) {
3807
3833
  return window.location.href = `${endpoints.auth}login/sol?appid=${appid}&locale=${locale}&redirect_uri=${getRedirectUri()}`;
@@ -3893,7 +3919,8 @@ function useUserInfo() {
3893
3919
  case "wallet":
3894
3920
  return walletModalStore.open("bind", extra?.methods);
3895
3921
  case "evm":
3896
- return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)));
3922
+ return EVMOpen("bind");
3923
+ // return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&locale=${locale}&st=` + encodeURIComponent(encodeBase64(token)))
3897
3924
  case "sol":
3898
3925
  if (isDownMd) {
3899
3926
  return window.location.href = `${endpoints.auth}bind/sol?appid=${appid}&locale=${locale}&st=${encodeURIComponent(encodeBase64(token))}&redirect_uri=${getRedirectUri()}`;
@@ -4696,12 +4723,12 @@ function UsernameModal({
4696
4723
  ] }) });
4697
4724
  }
4698
4725
 
4699
- // src/components/TRONModal/index.tsx
4700
- import React7, { useEffect as useEffect18, useMemo as useMemo12, useState as useState20 } from "react";
4726
+ // src/components/EVMModal/index.tsx
4727
+ import { useCallback as useCallback6, useEffect as useEffect18 } from "react";
4701
4728
  import { useIntl as useIntl12 } from "react-intl";
4702
4729
 
4703
4730
  // src/components/WalletModalContent/index.tsx
4704
- import { useMemo as useMemo11 } from "react";
4731
+ import { useMemo as useMemo11, useState as useState19 } from "react";
4705
4732
 
4706
4733
  // src/assets/wallet.ts
4707
4734
  var walletErrorImage = "data:image/png;base64,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";
@@ -4784,7 +4811,88 @@ function WalletModalContent({
4784
4811
  return /* @__PURE__ */ jsx22("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-box`, children: [
4785
4812
  /* @__PURE__ */ jsxs16("div", { className: `matchid-wallet-content`, children: [
4786
4813
  /* @__PURE__ */ jsx22("img", { src: pageData.statusImage }),
4787
- /* @__PURE__ */ jsx22("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
4814
+ /* @__PURE__ */ jsx22("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
4815
+ ] }),
4816
+ /* @__PURE__ */ jsx22(
4817
+ Button,
4818
+ {
4819
+ block: true,
4820
+ size: "lg",
4821
+ onClick: pageData.btnClick,
4822
+ loading: pageData.btnLoading,
4823
+ disabled: pageData.btnDisabled,
4824
+ children: pageData.btnText
4825
+ }
4826
+ )
4827
+ ] }) });
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 })
4788
4896
  ] }),
4789
4897
  /* @__PURE__ */ jsx22(
4790
4898
  Button,
@@ -4800,6 +4908,477 @@ function WalletModalContent({
4800
4908
  ] }) });
4801
4909
  }
4802
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";
5381
+
4803
5382
  // src/lib/tron/TronLinkAdapter.ts
4804
5383
  var TronLinkAdapter = class {
4805
5384
  constructor() {
@@ -4831,7 +5410,7 @@ var TronLinkAdapter = class {
4831
5410
  };
4832
5411
 
4833
5412
  // src/hooks/useTRONWallet.ts
4834
- import { useEffect as useEffect17, useState as useState19 } from "react";
5413
+ import { useEffect as useEffect19, useState as useState22 } from "react";
4835
5414
 
4836
5415
  // src/lib/tron/BitgetAdapter.ts
4837
5416
  var BitgetAdapter = class {
@@ -4876,9 +5455,9 @@ var OKXAdapter = class {
4876
5455
  // src/hooks/useTRONWallet.ts
4877
5456
  var useTRONWallet = () => {
4878
5457
  const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
4879
- const [installedWallets, setInstalledWallets] = useState19([]);
4880
- const [address, setAddress] = useState19(null);
4881
- useEffect17(() => {
5458
+ const [installedWallets, setInstalledWallets] = useState22([]);
5459
+ const [address, setAddress] = useState22(null);
5460
+ useEffect19(() => {
4882
5461
  const getInstalled = async () => {
4883
5462
  const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
4884
5463
  wallet: wallet2,
@@ -4888,11 +5467,11 @@ var useTRONWallet = () => {
4888
5467
  };
4889
5468
  getInstalled();
4890
5469
  }, []);
4891
- const [wallet, chooseWallet] = useState19(null);
5470
+ const [wallet, chooseWallet] = useState22(null);
4892
5471
  const onConnect = async () => {
4893
5472
  setAddress(await wallet.connect());
4894
5473
  };
4895
- useEffect17(() => {
5474
+ useEffect19(() => {
4896
5475
  if (!wallet) {
4897
5476
  setAddress(null);
4898
5477
  }
@@ -4908,25 +5487,25 @@ var useTRONWallet = () => {
4908
5487
  };
4909
5488
 
4910
5489
  // src/components/TRONModal/index.tsx
4911
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
5490
+ import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
4912
5491
  function TRONConnectModal({
4913
5492
  type = "login",
4914
5493
  onSuccess,
4915
5494
  ...props
4916
5495
  }) {
4917
5496
  const isDownMd = useDownMd();
4918
- const intl = useIntl12();
5497
+ const intl = useIntl13();
4919
5498
  const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
4920
5499
  const iconMaps = {
4921
- tronlink: /* @__PURE__ */ jsx23(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
4922
- bitget: /* @__PURE__ */ jsx23(BitgetIcon, { size: isDownMd ? 36 : 40 }),
4923
- okx: /* @__PURE__ */ jsx23(OKXIcon, { size: isDownMd ? 36 : 40 })
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 })
4924
5503
  };
4925
5504
  const { events, login } = useMatch();
4926
- const [status, setStatus] = useState20("");
4927
- const statusRef = React7.useRef(status);
4928
- const [error, setError] = useState20("");
4929
- const connected = useMemo12(() => {
5505
+ const [status, setStatus] = useState23("");
5506
+ const statusRef = React9.useRef(status);
5507
+ const [error, setError] = useState23("");
5508
+ const connected = useMemo13(() => {
4930
5509
  return !!address;
4931
5510
  }, [address]);
4932
5511
  const disconnect = async () => {
@@ -4994,7 +5573,7 @@ function TRONConnectModal({
4994
5573
  statusRef.current = "";
4995
5574
  }
4996
5575
  };
4997
- useEffect18(() => {
5576
+ useEffect20(() => {
4998
5577
  if (wallet) {
4999
5578
  console.log("onConnect");
5000
5579
  onConnect();
@@ -5002,21 +5581,21 @@ function TRONConnectModal({
5002
5581
  setStatus("");
5003
5582
  }
5004
5583
  }, [wallet]);
5005
- useEffect18(() => {
5584
+ useEffect20(() => {
5006
5585
  if (address) {
5007
5586
  toLoginInWallet();
5008
5587
  }
5009
5588
  }, [address]);
5010
- useEffect18(() => {
5589
+ useEffect20(() => {
5011
5590
  if (!props.isOpen) {
5012
5591
  disconnect();
5013
5592
  }
5014
5593
  }, [props.isOpen]);
5015
- return /* @__PURE__ */ jsx23(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5594
+ return /* @__PURE__ */ jsx24(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5016
5595
  id: type == "bind" ? "bindWith" : "loginWith"
5017
5596
  }, {
5018
5597
  name: "TRON"
5019
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx23(
5598
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx24(
5020
5599
  WalletModalContent,
5021
5600
  {
5022
5601
  error,
@@ -5029,9 +5608,9 @@ function TRONConnectModal({
5029
5608
  setVisible: () => {
5030
5609
  }
5031
5610
  }
5032
- ) : /* @__PURE__ */ jsx23("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs17("div", { className: "matchid-login-recommend-list", children: [
5611
+ ) : /* @__PURE__ */ jsx24("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs17("div", { className: "matchid-login-recommend-list", children: [
5033
5612
  installedWallets.map((wallet2) => {
5034
- return /* @__PURE__ */ jsx23(
5613
+ return /* @__PURE__ */ jsx24(
5035
5614
  RecommendItem,
5036
5615
  {
5037
5616
  icon: iconMaps[wallet2.walletKey],
@@ -5044,14 +5623,14 @@ function TRONConnectModal({
5044
5623
  );
5045
5624
  }),
5046
5625
  wallets.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
5047
- return /* @__PURE__ */ jsx23(
5626
+ return /* @__PURE__ */ jsx24(
5048
5627
  RecommendItem,
5049
5628
  {
5050
5629
  icon: iconMaps[wallet2.walletKey],
5051
5630
  name: wallet2.name,
5052
5631
  onClick: () => {
5053
5632
  },
5054
- footer: /* @__PURE__ */ jsx23(Button, { size: "sm", onClick: () => {
5633
+ footer: /* @__PURE__ */ jsx24(Button, { size: "sm", onClick: () => {
5055
5634
  window.open(wallet2.website);
5056
5635
  }, children: "Install" })
5057
5636
  },
@@ -5061,12 +5640,12 @@ function TRONConnectModal({
5061
5640
  ] }) }) });
5062
5641
  }
5063
5642
  function TRONModal(props) {
5064
- return props.isOpen && /* @__PURE__ */ jsx23(TRONConnectModal, { ...props, type: props.type });
5643
+ return props.isOpen && /* @__PURE__ */ jsx24(TRONConnectModal, { ...props, type: props.type });
5065
5644
  }
5066
5645
 
5067
5646
  // src/components/TONModal/index.tsx
5068
- import React8, { useEffect as useEffect19, useState as useState21 } from "react";
5069
- import { useIntl as useIntl13 } from "react-intl";
5647
+ import React10, { useEffect as useEffect21, useState as useState24 } from "react";
5648
+ import { useIntl as useIntl14 } from "react-intl";
5070
5649
  import {
5071
5650
  TonConnectUIProvider,
5072
5651
  useTonAddress,
@@ -5074,21 +5653,21 @@ import {
5074
5653
  useTonConnectUI,
5075
5654
  useTonWallet
5076
5655
  } from "@tonconnect/ui-react";
5077
- import { jsx as jsx24 } from "react/jsx-runtime";
5078
- function WalletContent({
5656
+ import { jsx as jsx25 } from "react/jsx-runtime";
5657
+ function WalletContent2({
5079
5658
  onSuccess,
5080
5659
  type
5081
5660
  }) {
5082
5661
  const { events, login } = useMatch();
5083
- const [connected, setConnected] = useState21(false);
5662
+ const [connected, setConnected] = useState24(false);
5084
5663
  const wallet = useTonWallet();
5085
5664
  const userFriendlyAddress = useTonAddress();
5086
5665
  const [tonConnectUI] = useTonConnectUI();
5087
5666
  const { state, open, close } = useTonConnectModal();
5088
- const [status, setStatus] = useState21("");
5089
- const statusRef = React8.useRef(status);
5090
- const [error, setError] = useState21("");
5091
- useEffect19(() => {
5667
+ const [status, setStatus] = useState24("");
5668
+ const statusRef = React10.useRef(status);
5669
+ const [error, setError] = useState24("");
5670
+ useEffect21(() => {
5092
5671
  const init = async () => {
5093
5672
  if (tonConnectUI.connected) {
5094
5673
  await tonConnectUI.disconnect();
@@ -5161,7 +5740,7 @@ function WalletContent({
5161
5740
  }
5162
5741
  });
5163
5742
  }, []);
5164
- useEffect19(() => {
5743
+ useEffect21(() => {
5165
5744
  if (wallet) {
5166
5745
  setConnected(true);
5167
5746
  console.log("Wallet connected:", wallet);
@@ -5172,7 +5751,7 @@ function WalletContent({
5172
5751
  setStatus("");
5173
5752
  }
5174
5753
  }, [wallet]);
5175
- useEffect19(() => {
5754
+ useEffect21(() => {
5176
5755
  console.log({
5177
5756
  state,
5178
5757
  wallet
@@ -5201,7 +5780,7 @@ function WalletContent({
5201
5780
  }
5202
5781
  }
5203
5782
  }, [state]);
5204
- return /* @__PURE__ */ jsx24(
5783
+ return /* @__PURE__ */ jsx25(
5205
5784
  WalletModalContent,
5206
5785
  {
5207
5786
  connected,
@@ -5232,28 +5811,28 @@ function TONConnectModal({
5232
5811
  onSuccess,
5233
5812
  ...props
5234
5813
  }) {
5235
- const intl = useIntl13();
5814
+ const intl = useIntl14();
5236
5815
  const { endpoints, appid } = useLocalStore_default();
5237
5816
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
5238
- return /* @__PURE__ */ jsx24(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5817
+ return /* @__PURE__ */ jsx25(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5239
5818
  id: type == "bind" ? "bindWith" : "loginWith"
5240
5819
  }, {
5241
5820
  name: "TON"
5242
- }), children: /* @__PURE__ */ jsx24(
5821
+ }), children: /* @__PURE__ */ jsx25(
5243
5822
  TonConnectUIProvider,
5244
5823
  {
5245
5824
  manifestUrl,
5246
- children: /* @__PURE__ */ jsx24(WalletContent, { onSuccess, type })
5825
+ children: /* @__PURE__ */ jsx25(WalletContent2, { onSuccess, type })
5247
5826
  }
5248
5827
  ) });
5249
5828
  }
5250
5829
  function TONModal(props) {
5251
- return props.isOpen && /* @__PURE__ */ jsx24(TONConnectModal, { ...props });
5830
+ return props.isOpen && /* @__PURE__ */ jsx25(TONConnectModal, { ...props });
5252
5831
  }
5253
5832
 
5254
5833
  // src/components/BTCModal/index.tsx
5255
- import React9, { useEffect as useEffect21, useMemo as useMemo13, useState as useState23 } from "react";
5256
- import { useIntl as useIntl14 } from "react-intl";
5834
+ import React11, { useEffect as useEffect23, useMemo as useMemo14, useState as useState26 } from "react";
5835
+ import { useIntl as useIntl15 } from "react-intl";
5257
5836
 
5258
5837
  // src/lib/btc/UnisatAdapter.ts
5259
5838
  var UnisatAdapter = class {
@@ -5399,7 +5978,7 @@ var LeatherAdapter = class {
5399
5978
  return response.result.addresses[0].address;
5400
5979
  }
5401
5980
  async signMessage(message) {
5402
- if (!await this.isInstalled()) throw new Error("Hiro Wallet is not installed");
5981
+ if (!await this.isInstalled()) throw new Error("Leather Wallet is not installed");
5403
5982
  const response = await window.LeatherProvider?.request("signMessage", { message });
5404
5983
  matchlog_default.log("response", response);
5405
5984
  return response.result.signature;
@@ -5407,12 +5986,47 @@ var LeatherAdapter = class {
5407
5986
  };
5408
5987
 
5409
5988
  // src/hooks/useBTCWallet.ts
5410
- import { useEffect as useEffect20, useState as useState22 } from "react";
5989
+ import { useEffect as useEffect22, useState as useState25 } from "react";
5990
+
5991
+ // src/lib/btc/PhantomAdapter.ts
5992
+ var PhantomAdapter = class {
5993
+ constructor() {
5994
+ this.name = "Phantom Wallet";
5995
+ this.website = "https://www.phantom.com/";
5996
+ this.walletKey = "phantom";
5997
+ }
5998
+ async isInstalled() {
5999
+ return typeof window.phantom !== "undefined" && typeof window.phantom.bitcoin !== "undefined";
6000
+ }
6001
+ async connect() {
6002
+ if (!await this.isInstalled()) throw new Error("Phantom Wallet is not installed");
6003
+ const response = await window.phantom.bitcoin.requestAccounts();
6004
+ const ordinalAddress = response.find((n) => n.purpose == "ordinals");
6005
+ matchlog_default.log("Addresses:", ordinalAddress);
6006
+ if (!ordinalAddress) {
6007
+ throw new Error("No addresses found in Phantom Wallet");
6008
+ }
6009
+ return ordinalAddress.address;
6010
+ }
6011
+ async signMessage(message) {
6012
+ if (!await this.isInstalled()) throw new Error("Phantom Wallet is not installed");
6013
+ const address = await this.connect();
6014
+ try {
6015
+ const { signature } = await window.phantom.bitcoin.signMessage(address, new TextEncoder().encode(message));
6016
+ return bytesToBase64(signature);
6017
+ } catch (error) {
6018
+ console.error(error);
6019
+ throw error;
6020
+ }
6021
+ }
6022
+ };
6023
+
6024
+ // src/hooks/useBTCWallet.ts
5411
6025
  var useBTCWallet = () => {
5412
- const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
5413
- const [installedWallets, setInstalledWallets] = useState22([]);
5414
- const [address, setAddress] = useState22(null);
5415
- useEffect20(() => {
6026
+ const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
6027
+ const [installedWallets, setInstalledWallets] = useState25([]);
6028
+ const [address, setAddress] = useState25(null);
6029
+ useEffect22(() => {
5416
6030
  const getInstalled = async () => {
5417
6031
  const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
5418
6032
  wallet: wallet2,
@@ -5422,11 +6036,11 @@ var useBTCWallet = () => {
5422
6036
  };
5423
6037
  getInstalled();
5424
6038
  }, []);
5425
- const [wallet, chooseWallet] = useState22(null);
6039
+ const [wallet, chooseWallet] = useState25(null);
5426
6040
  const onConnect = async () => {
5427
6041
  setAddress(await wallet.connect());
5428
6042
  };
5429
- useEffect20(() => {
6043
+ useEffect22(() => {
5430
6044
  if (!wallet) {
5431
6045
  setAddress(null);
5432
6046
  }
@@ -5442,25 +6056,26 @@ var useBTCWallet = () => {
5442
6056
  };
5443
6057
 
5444
6058
  // src/components/BTCModal/index.tsx
5445
- import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
6059
+ import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
5446
6060
  function BTCConnectModal({
5447
6061
  type = "login",
5448
6062
  onSuccess,
5449
6063
  ...props
5450
6064
  }) {
5451
6065
  const isDownMd = useDownMd();
5452
- const intl = useIntl14();
6066
+ const intl = useIntl15();
5453
6067
  const { wallets, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
5454
6068
  const iconMaps = {
5455
- leather: /* @__PURE__ */ jsx25(LeatherIcon, { size: isDownMd ? 36 : 40 }),
5456
- unisat: /* @__PURE__ */ jsx25(UnisatIcon, { size: isDownMd ? 36 : 40 }),
5457
- xverse: /* @__PURE__ */ jsx25(XverseIcon, { size: isDownMd ? 36 : 40 })
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 })
5458
6073
  };
5459
6074
  const { events, login } = useMatch();
5460
- const [status, setStatus] = useState23("");
5461
- const statusRef = React9.useRef(status);
5462
- const [error, setError] = useState23("");
5463
- const connected = useMemo13(() => {
6075
+ const [status, setStatus] = useState26("");
6076
+ const statusRef = React11.useRef(status);
6077
+ const [error, setError] = useState26("");
6078
+ const connected = useMemo14(() => {
5464
6079
  return !!address;
5465
6080
  }, [address]);
5466
6081
  const disconnect = async () => {
@@ -5524,7 +6139,7 @@ function BTCConnectModal({
5524
6139
  statusRef.current = "";
5525
6140
  }
5526
6141
  };
5527
- useEffect21(() => {
6142
+ useEffect23(() => {
5528
6143
  if (wallet) {
5529
6144
  console.log("onConnect");
5530
6145
  try {
@@ -5537,12 +6152,12 @@ function BTCConnectModal({
5537
6152
  setStatus("");
5538
6153
  }
5539
6154
  }, [wallet]);
5540
- useEffect21(() => {
6155
+ useEffect23(() => {
5541
6156
  if (address) {
5542
6157
  toLoginInWallet();
5543
6158
  }
5544
6159
  }, [address]);
5545
- useEffect21(() => {
6160
+ useEffect23(() => {
5546
6161
  if (!props.isOpen) {
5547
6162
  disconnect();
5548
6163
  }
@@ -5554,11 +6169,11 @@ function BTCConnectModal({
5554
6169
  statusRef.current = "";
5555
6170
  setError("");
5556
6171
  };
5557
- return /* @__PURE__ */ jsx25(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
6172
+ return /* @__PURE__ */ jsx26(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5558
6173
  id: type == "bind" ? "bindWith" : "loginWith"
5559
6174
  }, {
5560
6175
  name: "BTC"
5561
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx25(
6176
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx26(
5562
6177
  WalletModalContent,
5563
6178
  {
5564
6179
  error,
@@ -5571,9 +6186,9 @@ function BTCConnectModal({
5571
6186
  setVisible: () => {
5572
6187
  }
5573
6188
  }
5574
- ) : /* @__PURE__ */ jsx25("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs18("div", { className: "matchid-login-recommend-list", children: [
6189
+ ) : /* @__PURE__ */ jsx26("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs18("div", { className: "matchid-login-recommend-list", children: [
5575
6190
  installedWallets.map((wallet2) => {
5576
- return /* @__PURE__ */ jsx25(
6191
+ return /* @__PURE__ */ jsx26(
5577
6192
  RecommendItem,
5578
6193
  {
5579
6194
  icon: iconMaps[wallet2.walletKey],
@@ -5586,14 +6201,14 @@ function BTCConnectModal({
5586
6201
  );
5587
6202
  }),
5588
6203
  wallets.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
5589
- return /* @__PURE__ */ jsx25(
6204
+ return /* @__PURE__ */ jsx26(
5590
6205
  RecommendItem,
5591
6206
  {
5592
6207
  icon: iconMaps[wallet2.walletKey],
5593
6208
  name: wallet2.name,
5594
6209
  onClick: () => {
5595
6210
  },
5596
- footer: /* @__PURE__ */ jsx25(Button, { size: "sm", onClick: () => {
6211
+ footer: /* @__PURE__ */ jsx26(Button, { size: "sm", onClick: () => {
5597
6212
  window.open(wallet2.website);
5598
6213
  }, children: "Install" })
5599
6214
  },
@@ -5603,23 +6218,23 @@ function BTCConnectModal({
5603
6218
  ] }) }) });
5604
6219
  }
5605
6220
  function BTCModal(props) {
5606
- return props.isOpen && /* @__PURE__ */ jsx25(BTCConnectModal, { ...props });
6221
+ return props.isOpen && /* @__PURE__ */ jsx26(BTCConnectModal, { ...props });
5607
6222
  }
5608
6223
 
5609
6224
  // src/components/WalletModal/index.tsx
5610
- import { useMemo as useMemo14 } from "react";
5611
- import { useIntl as useIntl15 } from "react-intl";
5612
- import { jsx as jsx26 } from "react/jsx-runtime";
6225
+ import { useMemo as useMemo15 } from "react";
6226
+ import { useIntl as useIntl16 } from "react-intl";
6227
+ import { jsx as jsx27 } from "react/jsx-runtime";
5613
6228
  function WalletConnectModal({
5614
6229
  type,
5615
6230
  methods: _methods,
5616
6231
  ...props
5617
6232
  }) {
5618
- const intl = useIntl15();
6233
+ const intl = useIntl16();
5619
6234
  const { walletMap } = useWalletConfig();
5620
6235
  const { bind, login } = useUserInfo();
5621
6236
  const config = useAppConfig();
5622
- const methods = useMemo14(() => {
6237
+ const methods = useMemo15(() => {
5623
6238
  if (_methods) return _methods;
5624
6239
  if (!config.platform) {
5625
6240
  return [];
@@ -5627,13 +6242,13 @@ function WalletConnectModal({
5627
6242
  const platform = config.platform.map((p) => p.toLowerCase());
5628
6243
  return WALLET_METHODS.filter((m) => platform.includes(m));
5629
6244
  }, [config.platform, _methods]);
5630
- return /* @__PURE__ */ jsx26(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
6245
+ return /* @__PURE__ */ jsx27(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5631
6246
  id: type == "bind" ? "bindWith" : "loginWith"
5632
6247
  }, {
5633
6248
  name: ""
5634
- }), children: /* @__PURE__ */ jsx26("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx26("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
6249
+ }), children: /* @__PURE__ */ jsx27("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx27("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
5635
6250
  const m = walletMap[method];
5636
- return /* @__PURE__ */ jsx26(
6251
+ return /* @__PURE__ */ jsx27(
5637
6252
  RecommendItem,
5638
6253
  {
5639
6254
  icon: m?.icon,
@@ -5647,21 +6262,21 @@ function WalletConnectModal({
5647
6262
  }) }) }) });
5648
6263
  }
5649
6264
  function WalletModal(props) {
5650
- return props.isOpen && /* @__PURE__ */ jsx26(WalletConnectModal, { ...props });
6265
+ return props.isOpen && /* @__PURE__ */ jsx27(WalletConnectModal, { ...props });
5651
6266
  }
5652
6267
 
5653
6268
  // src/components/AlphaAvatar/index.tsx
5654
- import { useEffect as useEffect22, useState as useState24 } from "react";
5655
- import { jsx as jsx27 } from "react/jsx-runtime";
6269
+ import { useEffect as useEffect24, useState as useState27 } from "react";
6270
+ import { jsx as jsx28 } from "react/jsx-runtime";
5656
6271
  function AlphaAvatar2({ name, size = 40, className = "" }) {
5657
- const [avatar, setAvatar] = useState24(void 0);
5658
- useEffect22(() => {
6272
+ const [avatar, setAvatar] = useState27(void 0);
6273
+ useEffect24(() => {
5659
6274
  if (name) {
5660
6275
  const char = name[0].toUpperCase();
5661
6276
  setAvatar(char);
5662
6277
  }
5663
6278
  }, [name]);
5664
- return /* @__PURE__ */ jsx27("div", { className: `matchid-alpha-avatar ${className}`, style: {
6279
+ return /* @__PURE__ */ jsx28("div", { className: `matchid-alpha-avatar ${className}`, style: {
5665
6280
  width: size,
5666
6281
  height: size,
5667
6282
  fontSize: Math.ceil(size / 2)
@@ -5669,7 +6284,7 @@ function AlphaAvatar2({ name, size = 40, className = "" }) {
5669
6284
  }
5670
6285
 
5671
6286
  // src/components/WalletAsset/index.tsx
5672
- import { jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
6287
+ import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
5673
6288
  function WalletAsset({
5674
6289
  onAssetClick,
5675
6290
  matchWalletAssetsOptions
@@ -5679,7 +6294,7 @@ function WalletAsset({
5679
6294
  list: walletAssets.mergedAssets
5680
6295
  });
5681
6296
  const { list } = useMatchChain();
5682
- return /* @__PURE__ */ jsx28("div", { className: "matchid-wallet-asset-list", children: matchWalletAssetList.list.map((n, index) => {
6297
+ return /* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-list", children: matchWalletAssetList.list.map((n, index) => {
5683
6298
  const clickFunc = onAssetClick && onAssetClick(n);
5684
6299
  const chain = list?.find((m) => m.id.toString() === n.chain_id);
5685
6300
  const getFooterColor = () => {
@@ -5698,7 +6313,7 @@ function WalletAsset({
5698
6313
  cursor: clickFunc ? "pointer" : "default"
5699
6314
  }, children: [
5700
6315
  /* @__PURE__ */ jsxs19("div", { className: "matchid-wallet-asset-logo", title: n.symbol || n.name || "", children: [
5701
- n.icon ? /* @__PURE__ */ jsx28("img", { src: n.icon, alt: n.symbol, className: `matchid-wallet-asset-icon` }) : /* @__PURE__ */ jsx28(
6316
+ n.icon ? /* @__PURE__ */ jsx29("img", { src: n.icon, alt: n.symbol, className: `matchid-wallet-asset-icon` }) : /* @__PURE__ */ jsx29(
5702
6317
  AlphaAvatar2,
5703
6318
  {
5704
6319
  className: `matchid-wallet-asset-icon`,
@@ -5706,12 +6321,12 @@ function WalletAsset({
5706
6321
  name: n.symbol || n.name || ""
5707
6322
  }
5708
6323
  ),
5709
- chain?.iconUrl && /* @__PURE__ */ jsx28("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-wallet-asset-chain` })
6324
+ chain?.iconUrl && /* @__PURE__ */ jsx29("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-wallet-asset-chain` })
5710
6325
  ] }),
5711
6326
  /* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-info`, children: [
5712
- /* @__PURE__ */ jsx28("div", { className: `matchid-wallet-asset-name`, children: n.symbol }),
6327
+ /* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-name`, children: n.symbol }),
5713
6328
  "price" in n && /* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-content`, children: [
5714
- /* @__PURE__ */ jsx28("div", { className: "matchid-wallet-asset-price", children: /* @__PURE__ */ jsx28(
6329
+ /* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-price", children: /* @__PURE__ */ jsx29(
5715
6330
  NumberFormatter,
5716
6331
  {
5717
6332
  value: n.price,
@@ -5719,7 +6334,7 @@ function WalletAsset({
5719
6334
  tFixNum: 2
5720
6335
  }
5721
6336
  ) }),
5722
- /* @__PURE__ */ jsx28("div", { className: "matchid-wallet-asset-value", children: /* @__PURE__ */ jsx28(
6337
+ /* @__PURE__ */ jsx29("div", { className: "matchid-wallet-asset-value", children: /* @__PURE__ */ jsx29(
5723
6338
  NumberFormatter,
5724
6339
  {
5725
6340
  value: n.value,
@@ -5729,14 +6344,14 @@ function WalletAsset({
5729
6344
  ) })
5730
6345
  ] }),
5731
6346
  /* @__PURE__ */ jsxs19("div", { className: `matchid-wallet-asset-footer`, children: [
5732
- /* @__PURE__ */ jsx28("div", { className: `matchid-wallet-asset-balance`, children: /* @__PURE__ */ jsx28(
6347
+ /* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-balance`, children: /* @__PURE__ */ jsx29(
5733
6348
  NumberFormatter,
5734
6349
  {
5735
6350
  value: n.balance,
5736
6351
  tFixNum: 3
5737
6352
  }
5738
6353
  ) }),
5739
- "price_change_24h" in n && /* @__PURE__ */ jsx28("div", { className: `matchid-wallet-asset-change ${getFooterColor()}`, children: /* @__PURE__ */ jsx28(
6354
+ "price_change_24h" in n && /* @__PURE__ */ jsx29("div", { className: `matchid-wallet-asset-change ${getFooterColor()}`, children: /* @__PURE__ */ jsx29(
5740
6355
  NumberFormatter,
5741
6356
  {
5742
6357
  prefix: `${(n?.price_change_24h || 0) < 0 ? "-" : "+"} `,
@@ -5752,10 +6367,10 @@ function WalletAsset({
5752
6367
  }
5753
6368
 
5754
6369
  // src/components/TokenSend/index.tsx
5755
- import { useEffect as useEffect23, useMemo as useMemo15, useState as useState25 } from "react";
5756
- import { defineChain as defineChain4, encodeFunctionData as encodeFunctionData2, erc20Abi as erc20Abi3, http as http6, parseUnits as parseUnits2 } from "viem";
5757
- import { FormattedMessage as FormattedMessage12, useIntl as useIntl16 } from "react-intl";
5758
- import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
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";
5759
6374
  function Input2({
5760
6375
  onChange,
5761
6376
  placeholder,
@@ -5766,7 +6381,7 @@ function Input2({
5766
6381
  size = "df"
5767
6382
  }) {
5768
6383
  return /* @__PURE__ */ jsxs20("div", { className: `matchid-token-input-box ${"matchid-token-input-" + size}`, children: [
5769
- /* @__PURE__ */ jsx29(
6384
+ /* @__PURE__ */ jsx30(
5770
6385
  "input",
5771
6386
  {
5772
6387
  placeholder,
@@ -5777,7 +6392,7 @@ function Input2({
5777
6392
  className: `matchid-token-input ${error ? "matchid-token-input-error" : ""}`
5778
6393
  }
5779
6394
  ),
5780
- error && /* @__PURE__ */ jsx29("div", { className: "matchid-token-input-error-text", children: error })
6395
+ error && /* @__PURE__ */ jsx30("div", { className: "matchid-token-input-error-text", children: error })
5781
6396
  ] });
5782
6397
  }
5783
6398
  function TokenSend({
@@ -5787,25 +6402,25 @@ function TokenSend({
5787
6402
  onBack
5788
6403
  }) {
5789
6404
  const { list: chainList } = useMatchChain();
5790
- const intl = useIntl16();
6405
+ const intl = useIntl17();
5791
6406
  const { createWalletClient: createWalletClient2 } = useWallet();
5792
6407
  const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
5793
- const chain = useMemo15(() => {
6408
+ const chain = useMemo16(() => {
5794
6409
  return chainList?.find((m) => m.id.toString() === token.chain_id);
5795
6410
  }, [chainList, token.chain_id]);
5796
- const walletClient = useMemo15(() => {
6411
+ const walletClient = useMemo16(() => {
5797
6412
  return createWalletClient2({
5798
6413
  // @ts-ignore
5799
6414
  chain: defineChain4(chain),
5800
- transport: http6()
6415
+ transport: http7()
5801
6416
  });
5802
6417
  }, [chain]);
5803
- const [amount, setAmount] = useState25("");
5804
- const [address, setAddress] = useState25("");
5805
- const [loading, setLoading] = useState25(false);
5806
- const [sending, setSending] = useState25(false);
5807
- const [txError, setTxError] = useState25("");
5808
- const transaction = useMemo15(() => {
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(() => {
5809
6424
  const reg = /^0x[a-fA-F0-9]{40}$/;
5810
6425
  if (!amount || !address || !reg.test(address)) {
5811
6426
  return;
@@ -5836,7 +6451,7 @@ function TokenSend({
5836
6451
  setLoading(false);
5837
6452
  }
5838
6453
  };
5839
- const error = useMemo15(() => {
6454
+ const error = useMemo16(() => {
5840
6455
  setTxError("");
5841
6456
  let amountError = "";
5842
6457
  let addressError = "";
@@ -5879,7 +6494,7 @@ function TokenSend({
5879
6494
  setAmount(value);
5880
6495
  }
5881
6496
  };
5882
- const canSend = useMemo15(() => {
6497
+ const canSend = useMemo16(() => {
5883
6498
  return !error.amount && !error.address && amount && address;
5884
6499
  }, [error]);
5885
6500
  const onNext = async () => {
@@ -5889,7 +6504,7 @@ function TokenSend({
5889
6504
  }
5890
6505
  onClose();
5891
6506
  };
5892
- useEffect23(() => {
6507
+ useEffect25(() => {
5893
6508
  const receiveMessage = (event) => {
5894
6509
  if (event.data) {
5895
6510
  if (event.data.source == "match-wallet") {
@@ -5905,24 +6520,24 @@ function TokenSend({
5905
6520
  window.removeEventListener("message", receiveMessage);
5906
6521
  };
5907
6522
  }, []);
5908
- return /* @__PURE__ */ jsx29(ModalDrawer, { isOpen: true, onClose, zIndex, title: /* @__PURE__ */ jsx29(FormattedMessage12, { id: "send" }), onBack, children: /* @__PURE__ */ jsxs20("div", { className: `matchid-token-send-box`, children: [
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: [
5909
6524
  /* @__PURE__ */ jsxs20("div", { className: "matchid-token-send-content", children: [
5910
6525
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-content`, children: [
5911
6526
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-header`, children: [
5912
- /* @__PURE__ */ jsx29("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ jsx29(FormattedMessage12, { id: "amount" }) }),
6527
+ /* @__PURE__ */ jsx30("div", { className: `matchid-token-amount-title`, children: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "amount" }) }),
5913
6528
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-chain`, children: [
5914
- token.icon ? /* @__PURE__ */ jsx29(
6529
+ token.icon ? /* @__PURE__ */ jsx30(
5915
6530
  "img",
5916
6531
  {
5917
6532
  src: token?.icon,
5918
6533
  alt: token?.symbol,
5919
6534
  className: `matchid-token-amount-chain-icon`
5920
6535
  }
5921
- ) : /* @__PURE__ */ jsx29(AlphaAvatar, { name: token.symbol || token.name || "", size: 16 }),
5922
- /* @__PURE__ */ jsx29("span", { children: token?.symbol })
6536
+ ) : /* @__PURE__ */ jsx30(AlphaAvatar, { name: token.symbol || token.name || "", size: 16 }),
6537
+ /* @__PURE__ */ jsx30("span", { children: token?.symbol })
5923
6538
  ] })
5924
6539
  ] }),
5925
- /* @__PURE__ */ jsx29(
6540
+ /* @__PURE__ */ jsx30(
5926
6541
  Input2,
5927
6542
  {
5928
6543
  type: "text",
@@ -5937,16 +6552,16 @@ function TokenSend({
5937
6552
  ),
5938
6553
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-footer`, children: [
5939
6554
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-amount-title`, children: [
5940
- /* @__PURE__ */ jsx29(FormattedMessage12, { id: "balance" }),
6555
+ /* @__PURE__ */ jsx30(FormattedMessage12, { id: "balance" }),
5941
6556
  ":"
5942
6557
  ] }),
5943
- /* @__PURE__ */ jsx29("div", { className: `matchid-token-amount-value`, children: /* @__PURE__ */ jsx29(NumberFormatter, { value: token.balance, tFixNum: 10, suffix: " " + token.symbol }) })
6558
+ /* @__PURE__ */ jsx30("div", { className: `matchid-token-amount-value`, children: /* @__PURE__ */ jsx30(NumberFormatter, { value: token.balance, tFixNum: 10, suffix: " " + token.symbol }) })
5944
6559
  ] }),
5945
- /* @__PURE__ */ jsx29(TransferIcon, { className: "matchid-token-amount-transfer" })
6560
+ /* @__PURE__ */ jsx30(TransferIcon, { className: "matchid-token-amount-transfer" })
5946
6561
  ] }),
5947
6562
  /* @__PURE__ */ jsxs20("div", { className: `matchid-token-address-content`, children: [
5948
- /* @__PURE__ */ jsx29("div", { className: `matchid-token-address-header`, children: /* @__PURE__ */ jsx29("div", { className: `matchid-token-address-title`, children: /* @__PURE__ */ jsx29(FormattedMessage12, { id: "receiveTitle" }) }) }),
5949
- /* @__PURE__ */ jsx29(
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(
5950
6565
  Input2,
5951
6566
  {
5952
6567
  type: "text",
@@ -5962,7 +6577,7 @@ function TokenSend({
5962
6577
  )
5963
6578
  ] })
5964
6579
  ] }),
5965
- /* @__PURE__ */ jsx29(
6580
+ /* @__PURE__ */ jsx30(
5966
6581
  Button,
5967
6582
  {
5968
6583
  size: "lg",
@@ -5971,15 +6586,15 @@ function TokenSend({
5971
6586
  disabled: !canSend || !!txError,
5972
6587
  onClick: onNext,
5973
6588
  loading: loading || sending,
5974
- children: /* @__PURE__ */ jsx29(FormattedMessage12, { id: "next" })
6589
+ children: /* @__PURE__ */ jsx30(FormattedMessage12, { id: "next" })
5975
6590
  }
5976
6591
  )
5977
6592
  ] }) });
5978
6593
  }
5979
6594
 
5980
6595
  // src/components/TokenDetail/index.tsx
5981
- import { FormattedMessage as FormattedMessage13, useIntl as useIntl17 } from "react-intl";
5982
- import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
6596
+ import { FormattedMessage as FormattedMessage13, useIntl as useIntl18 } from "react-intl";
6597
+ import { jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
5983
6598
  function TokenDetail({
5984
6599
  onClose,
5985
6600
  token
@@ -5989,41 +6604,41 @@ function TokenDetail({
5989
6604
  const chain = chainList?.find((m) => m.id.toString() === token.chain_id);
5990
6605
  const onSend = () => {
5991
6606
  modal.show((props) => {
5992
- return /* @__PURE__ */ jsx30(TokenSend, { onClose: () => {
6607
+ return /* @__PURE__ */ jsx31(TokenSend, { onClose: () => {
5993
6608
  props.close();
5994
6609
  onClose();
5995
6610
  }, onBack: props.close, zIndex: props.zIndex, token });
5996
6611
  });
5997
6612
  };
5998
- const intl = useIntl17();
5999
- return /* @__PURE__ */ jsx30(ModalDrawer, { isOpen: true, title: intl.formatMessage({
6613
+ const intl = useIntl18();
6614
+ return /* @__PURE__ */ jsx31(ModalDrawer, { isOpen: true, title: intl.formatMessage({
6000
6615
  id: "tokenDetails"
6001
6616
  }), onClose, children: /* @__PURE__ */ jsxs21("div", { className: `matchid-token-detail`, children: [
6002
6617
  /* @__PURE__ */ jsxs21("div", { className: `matchid-token-main`, children: [
6003
6618
  /* @__PURE__ */ jsxs21("div", { className: `matchid-token-info`, children: [
6004
6619
  /* @__PURE__ */ jsxs21("div", { className: `matchid-token-logo`, children: [
6005
- token.icon ? /* @__PURE__ */ jsx30("img", { src: token.icon, alt: token.symbol, className: `matchid-token-icon` }) : /* @__PURE__ */ jsx30(AlphaAvatar, { className: `matchid-token-icon`, size: 48, name: token.symbol || token.name || "" }),
6006
- chain?.iconUrl && /* @__PURE__ */ jsx30("img", { src: chain.iconUrl, alt: chain.name, className: `matchid-token-chain` })
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` })
6007
6622
  ] }),
6008
6623
  /* @__PURE__ */ jsxs21("div", { className: `matchid-token-name`, children: [
6009
- /* @__PURE__ */ jsx30(NumberFormatter, { value: token.balance, tFixNum: 10 }),
6624
+ /* @__PURE__ */ jsx31(NumberFormatter, { value: token.balance, tFixNum: 10 }),
6010
6625
  " ",
6011
6626
  token.symbol
6012
6627
  ] })
6013
6628
  ] }),
6014
6629
  token.address.toLowerCase() != NATIVE_TOKEN_ADDRESS && /* @__PURE__ */ jsxs21("div", { className: `matchid-token-contract`, children: [
6015
- /* @__PURE__ */ jsx30("div", { className: "matchid-token-contract-title", children: "Contract address" }),
6016
- /* @__PURE__ */ jsx30("div", { className: "matchid-token-contract-address", children: token.address })
6630
+ /* @__PURE__ */ jsx31("div", { className: "matchid-token-contract-title", children: "Contract address" }),
6631
+ /* @__PURE__ */ jsx31("div", { className: "matchid-token-contract-address", children: token.address })
6017
6632
  ] })
6018
6633
  ] }),
6019
- /* @__PURE__ */ jsx30(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ jsx30(FormattedMessage13, { id: "send" }) })
6634
+ /* @__PURE__ */ jsx31(Button, { size: "lg", block: true, highlight: true, onClick: onSend, children: /* @__PURE__ */ jsx31(FormattedMessage13, { id: "send" }) })
6020
6635
  ] }) });
6021
6636
  }
6022
6637
 
6023
6638
  // src/components/TokenSendList/index.tsx
6024
- import { useState as useState26 } from "react";
6639
+ import { useState as useState29 } from "react";
6025
6640
  import { FormattedMessage as FormattedMessage14 } from "react-intl";
6026
- import { jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
6641
+ import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
6027
6642
  function TokenSendList({ close }) {
6028
6643
  const isDownMd = useDownMd();
6029
6644
  const walletAssets = useMatchWalletAssets();
@@ -6031,18 +6646,18 @@ function TokenSendList({ close }) {
6031
6646
  list: walletAssets.mergedAssets
6032
6647
  });
6033
6648
  const { list } = useMatchChain();
6034
- const [checked, setChecked] = useState26();
6649
+ const [checked, setChecked] = useState29();
6035
6650
  const modal = useModal();
6036
6651
  const onNext = () => {
6037
6652
  checked && modal.show((props) => {
6038
- return /* @__PURE__ */ jsx31(TokenSend, { onClose: () => {
6653
+ return /* @__PURE__ */ jsx32(TokenSend, { onClose: () => {
6039
6654
  props.close();
6040
6655
  close();
6041
6656
  }, onBack: props.close, zIndex: props.zIndex, token: checked });
6042
6657
  });
6043
6658
  };
6044
6659
  return /* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-list-box", children: [
6045
- /* @__PURE__ */ jsx31("div", { className: "matchid-token-send-list", children: matchWalletAssetList.list.map((n, index) => {
6660
+ /* @__PURE__ */ jsx32("div", { className: "matchid-token-send-list", children: matchWalletAssetList.list.map((n, index) => {
6046
6661
  const chain = list?.find((m) => m.id.toString() === n.chain_id);
6047
6662
  return /* @__PURE__ */ jsxs22(
6048
6663
  "div",
@@ -6052,10 +6667,10 @@ function TokenSendList({ close }) {
6052
6667
  setChecked(n);
6053
6668
  },
6054
6669
  children: [
6055
- /* @__PURE__ */ jsx31(Radio, { checked: checked?.address == n.address, size: isDownMd ? 18 : 24 }),
6670
+ /* @__PURE__ */ jsx32(Radio, { checked: checked?.address == n.address, size: isDownMd ? 18 : 24 }),
6056
6671
  /* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-content", children: [
6057
6672
  /* @__PURE__ */ jsxs22("div", { className: "matchid-token-send-logo", children: [
6058
- n.icon ? /* @__PURE__ */ jsx31("img", { src: n.icon, alt: n.symbol, className: `matchid-token-send-icon` }) : /* @__PURE__ */ jsx31(
6673
+ n.icon ? /* @__PURE__ */ jsx32("img", { src: n.icon, alt: n.symbol, className: `matchid-token-send-icon` }) : /* @__PURE__ */ jsx32(
6059
6674
  AlphaAvatar2,
6060
6675
  {
6061
6676
  className: `matchid-token-send-icon`,
@@ -6063,7 +6678,7 @@ function TokenSendList({ close }) {
6063
6678
  name: n.symbol || n.name || ""
6064
6679
  }
6065
6680
  ),
6066
- chain?.iconUrl && /* @__PURE__ */ jsx31(
6681
+ chain?.iconUrl && /* @__PURE__ */ jsx32(
6067
6682
  "img",
6068
6683
  {
6069
6684
  src: chain.iconUrl,
@@ -6073,8 +6688,8 @@ function TokenSendList({ close }) {
6073
6688
  )
6074
6689
  ] }),
6075
6690
  /* @__PURE__ */ jsxs22("div", { className: `matchid-token-send-info`, children: [
6076
- /* @__PURE__ */ jsx31("div", { className: `matchid-token-send-name`, children: n.symbol }),
6077
- /* @__PURE__ */ jsx31("div", { className: `matchid-token-send-balance`, children: /* @__PURE__ */ jsx31(NumberFormatter, { value: n.balance, tFixNum: 3 }) })
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 }) })
6078
6693
  ] })
6079
6694
  ] })
6080
6695
  ]
@@ -6082,24 +6697,24 @@ function TokenSendList({ close }) {
6082
6697
  index
6083
6698
  );
6084
6699
  }) }),
6085
- /* @__PURE__ */ jsx31(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ jsx31(FormattedMessage14, { id: "next" }) })
6700
+ /* @__PURE__ */ jsx32(Button, { size: "lg", highlight: true, block: true, disabled: !checked, onClick: onNext, children: /* @__PURE__ */ jsx32(FormattedMessage14, { id: "next" }) })
6086
6701
  ] });
6087
6702
  }
6088
6703
 
6089
6704
  // src/components/TransactionList/index.tsx
6090
6705
  import InfiniteScroll from "react-infinite-scroll-component";
6091
- import { useEffect as useEffect24, useMemo as useMemo16, useState as useState27 } from "react";
6706
+ import { useEffect as useEffect26, useMemo as useMemo17, useState as useState30 } from "react";
6092
6707
  import { decodeFunctionData, defineChain as defineChain5, formatUnits as formatUnits3 } from "viem";
6093
6708
  import { erc20Abi as erc20Abi4 } from "viem";
6094
6709
  import { FormattedMessage as FormattedMessage15 } from "react-intl";
6095
- import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
6710
+ import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
6096
6711
  var Item = ({ data }) => {
6097
6712
  const { address } = useWallet();
6098
6713
  const isOut = data.from.toLowerCase() == address.toLowerCase();
6099
6714
  const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
6100
6715
  const { contracts } = useContractStore_default();
6101
- const [shouldRefetch, setShouldRefetch] = useState27(true);
6102
- const transferType = useMemo16(() => {
6716
+ const [shouldRefetch, setShouldRefetch] = useState30(true);
6717
+ const transferType = useMemo17(() => {
6103
6718
  const methodId = data.input.substring(2, 10);
6104
6719
  if (methodId == "095ea7b3") {
6105
6720
  return "erc20_approve";
@@ -6109,7 +6724,7 @@ var Item = ({ data }) => {
6109
6724
  }
6110
6725
  return "unknown";
6111
6726
  }, [data.input]);
6112
- const to = useMemo16(() => {
6727
+ const to = useMemo17(() => {
6113
6728
  if (!isOut) {
6114
6729
  return data.from;
6115
6730
  }
@@ -6122,7 +6737,7 @@ var Item = ({ data }) => {
6122
6737
  }
6123
6738
  return data.to;
6124
6739
  }, [data.input, transferType, data.to, isOut]);
6125
- const amount = useMemo16(() => {
6740
+ const amount = useMemo17(() => {
6126
6741
  if (transferType == "erc20_transfer") {
6127
6742
  const decodeData = decodeFunctionData({
6128
6743
  abi: erc20Abi4,
@@ -6140,7 +6755,7 @@ var Item = ({ data }) => {
6140
6755
  refetchInterval: shouldRefetch ? 3e3 : false,
6141
6756
  enabled: shouldRefetch && data.source == "local"
6142
6757
  });
6143
- const status = useMemo16(() => {
6758
+ const status = useMemo17(() => {
6144
6759
  if (data.source == "matchain") {
6145
6760
  switch (data.extra.status) {
6146
6761
  case "ok":
@@ -6167,12 +6782,12 @@ var Item = ({ data }) => {
6167
6782
  }
6168
6783
  return "loading";
6169
6784
  }, [data.extra?.status, data.source, hashQuery.data]);
6170
- useEffect24(() => {
6785
+ useEffect26(() => {
6171
6786
  if (data.hash) {
6172
6787
  setShouldRefetch(status == "loading");
6173
6788
  }
6174
6789
  }, [status, data.hash]);
6175
- const symbol = useMemo16(() => {
6790
+ const symbol = useMemo17(() => {
6176
6791
  if (transferType == "erc20_transfer") {
6177
6792
  const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
6178
6793
  return contract?.symbol || contract?.name || "unknown";
@@ -6187,10 +6802,10 @@ var Item = ({ data }) => {
6187
6802
  className: `matchid-transaction-item`,
6188
6803
  children: [
6189
6804
  /* @__PURE__ */ jsxs23("div", { className: `matchid-transacton-item-container`, children: [
6190
- /* @__PURE__ */ jsx32("div", { className: "matchid-transaction-item-icon", children: /* @__PURE__ */ jsx32(ArrowSendIcon, { className: !isOut ? "rotate-180" : "" }) }),
6805
+ /* @__PURE__ */ jsx33("div", { className: "matchid-transaction-item-icon", children: /* @__PURE__ */ jsx33(ArrowSendIcon, { className: !isOut ? "rotate-180" : "" }) }),
6191
6806
  /* @__PURE__ */ jsxs23("div", { className: `matchid-transaction-item-details`, children: [
6192
- /* @__PURE__ */ jsx32("div", { className: `matchid-transaction-item-address`, children: formatAddress(to, 6, 4) }),
6193
- /* @__PURE__ */ jsx32(
6807
+ /* @__PURE__ */ jsx33("div", { className: `matchid-transaction-item-address`, children: formatAddress(to, 6, 4) }),
6808
+ /* @__PURE__ */ jsx33(
6194
6809
  "div",
6195
6810
  {
6196
6811
  className: `matchid-transaction-item-timestamp`,
@@ -6200,10 +6815,10 @@ var Item = ({ data }) => {
6200
6815
  ] })
6201
6816
  ] }),
6202
6817
  /* @__PURE__ */ jsxs23("div", { className: `matchid-transaction-item-amount ${"matchid-transaction-item-" + status}`, children: [
6203
- /* @__PURE__ */ jsx32(NumberFormatter, { value: amount, tFixNum: 6, prefix: isOut ? "-" : "+", suffix: " " + symbol }),
6204
- status == "loading" && /* @__PURE__ */ jsx32(LoadingIcon_default, { color: "#000000", size: 16, rotate: true }),
6205
- status == "success" && /* @__PURE__ */ jsx32(CheckRoundIcon, { size: 16 }),
6206
- status == "error" && /* @__PURE__ */ jsx32(InfoRoundIcon, { size: 16 })
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 })
6207
6822
  ] })
6208
6823
  ]
6209
6824
  }
@@ -6213,7 +6828,7 @@ function TransactionList({
6213
6828
  scrollableTarget
6214
6829
  }) {
6215
6830
  const { fetchMoreData, hasMore, items } = useMatchWalletRecords();
6216
- return /* @__PURE__ */ jsx32(
6831
+ return /* @__PURE__ */ jsx33(
6217
6832
  InfiniteScroll,
6218
6833
  {
6219
6834
  scrollableTarget,
@@ -6221,11 +6836,11 @@ function TransactionList({
6221
6836
  next: fetchMoreData,
6222
6837
  hasMore,
6223
6838
  loader: /* @__PURE__ */ jsxs23("div", { className: "matchid-list-nomore", children: [
6224
- /* @__PURE__ */ jsx32(LoadingIcon_default, { rotate: true, size: 16, color: "black" }),
6839
+ /* @__PURE__ */ jsx33(LoadingIcon_default, { rotate: true, size: 16, color: "black" }),
6225
6840
  "Loading..."
6226
6841
  ] }),
6227
- endMessage: items.length > 0 ? /* @__PURE__ */ jsx32("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ jsx32(FormattedMessage15, { id: "noMoreRecords" }) }) : /* @__PURE__ */ jsx32("div", { className: `matchid-list-nomore`, children: /* @__PURE__ */ jsx32(FormattedMessage15, { id: "noRecords" }) }),
6228
- children: items.length == 0 && !hasMore ? /* @__PURE__ */ jsx32("div", { className: "mt-[150px]" }) : /* @__PURE__ */ jsx32("div", { className: `matchid-transaction-list`, children: items.map((item, index) => /* @__PURE__ */ jsx32(Item, { data: item }, index)) })
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)) })
6229
6844
  }
6230
6845
  );
6231
6846
  }
@@ -6257,6 +6872,7 @@ export {
6257
6872
  LoginModal,
6258
6873
  LoginButton,
6259
6874
  UsernameModal,
6875
+ EVMModal,
6260
6876
  TRONModal,
6261
6877
  TONModal,
6262
6878
  BTCModal,
@@ -6277,4 +6893,4 @@ export {
6277
6893
  MatchProvider,
6278
6894
  useMatch
6279
6895
  };
6280
- //# sourceMappingURL=chunk-W5A6WY7Y.mjs.map
6896
+ //# sourceMappingURL=chunk-XXZZYALJ.mjs.map