@matchain/matchid-sdk-react 0.1.53-alpha.19 → 0.1.53-alpha.20

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/index.js CHANGED
@@ -45,7 +45,7 @@ __export(src_exports, {
45
45
  module.exports = __toCommonJS(src_exports);
46
46
 
47
47
  // src/MatchContext.tsx
48
- var import_react41 = require("react");
48
+ var import_react43 = require("react");
49
49
 
50
50
  // src/hooks/index.tsx
51
51
  var hooks_exports = {};
@@ -4379,34 +4379,8 @@ function UsernameModal({
4379
4379
  }
4380
4380
 
4381
4381
  // src/components/EVMModal/index.tsx
4382
+ var import_react23 = require("react");
4382
4383
  var import_react_intl10 = require("react-intl");
4383
- var import_styles = require("@rainbow-me/rainbowkit/styles.css");
4384
- var import_jsx_runtime81 = require("react/jsx-runtime");
4385
- function WalletContent({
4386
- onSuccess,
4387
- type
4388
- }) {
4389
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_jsx_runtime81.Fragment, {});
4390
- }
4391
- function EVMConnectModal({
4392
- type = "login",
4393
- onSuccess,
4394
- ...props
4395
- }) {
4396
- const intl = (0, import_react_intl10.useIntl)();
4397
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
4398
- id: type == "bind" ? "bindWith" : "loginWith"
4399
- }, {
4400
- name: "EVM"
4401
- }), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(WalletContent, { onSuccess, type }) });
4402
- }
4403
- function EVMModal(props) {
4404
- return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(EVMConnectModal, { ...props });
4405
- }
4406
-
4407
- // src/components/TRONModal/index.tsx
4408
- var import_react23 = __toESM(require("react"));
4409
- var import_react_intl11 = require("react-intl");
4410
4384
 
4411
4385
  // src/components/WalletModalContent/index.tsx
4412
4386
  var import_react21 = require("react");
@@ -4419,7 +4393,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
4419
4393
  var walletSigningImage = "data:image/png;base64,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";
4420
4394
 
4421
4395
  // src/components/WalletModalContent/index.tsx
4422
- var import_jsx_runtime82 = require("react/jsx-runtime");
4396
+ var import_jsx_runtime81 = require("react/jsx-runtime");
4423
4397
  function WalletModalContent({
4424
4398
  status,
4425
4399
  error,
@@ -4489,12 +4463,12 @@ function WalletModalContent({
4489
4463
  statusImage: walletConnectImage
4490
4464
  };
4491
4465
  }, [visible, connected, status, error, address]);
4492
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: `matchid-wallet-box`, children: [
4493
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: `matchid-wallet-content`, children: [
4494
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("img", { src: pageData.statusImage }),
4495
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
4466
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-wallet-box`, children: [
4467
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-wallet-content`, children: [
4468
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("img", { src: pageData.statusImage }),
4469
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
4496
4470
  ] }),
4497
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
4471
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
4498
4472
  Button,
4499
4473
  {
4500
4474
  block: true,
@@ -4507,6 +4481,540 @@ function WalletModalContent({
4507
4481
  )
4508
4482
  ] }) });
4509
4483
  }
4484
+ function WalletModalContentV2(props) {
4485
+ const [submitting, setSubmitting] = (0, import_react21.useState)(false);
4486
+ const pageData = (0, import_react21.useMemo)(() => {
4487
+ const { status } = props;
4488
+ if (status == "success") {
4489
+ return {
4490
+ btnText: "Disconnect Wallet",
4491
+ btnClick: async () => {
4492
+ setSubmitting(true);
4493
+ await props.onDisconnect?.();
4494
+ setSubmitting(false);
4495
+ },
4496
+ text: "Wallet connection successful!",
4497
+ statusImage: walletConnectedImage,
4498
+ btnLoading: submitting
4499
+ };
4500
+ }
4501
+ if (status == "error") {
4502
+ return {
4503
+ text: props.error || "Unknown Error",
4504
+ btnText: "Reconnect Wallet",
4505
+ btnClick: async () => {
4506
+ setSubmitting(true);
4507
+ await props.onError?.();
4508
+ setSubmitting(false);
4509
+ },
4510
+ statusImage: walletErrorImage,
4511
+ isError: true,
4512
+ btnLoading: submitting
4513
+ };
4514
+ }
4515
+ if (status == "nonce") {
4516
+ return {
4517
+ btnLoading: true,
4518
+ text: "Connecting",
4519
+ statusImage: walletConnectingImage
4520
+ };
4521
+ }
4522
+ if (status == "signer") {
4523
+ return {
4524
+ btnLoading: true,
4525
+ text: "Signing",
4526
+ statusImage: walletSigningImage
4527
+ };
4528
+ }
4529
+ if (status == "connecting") {
4530
+ return {
4531
+ btnLoading: true,
4532
+ text: "Connecting",
4533
+ statusImage: walletConnectingImage
4534
+ };
4535
+ }
4536
+ return {
4537
+ btnText: "Connect Wallet",
4538
+ btnClick: async () => {
4539
+ setSubmitting(true);
4540
+ await props.onConnect?.();
4541
+ setSubmitting(false);
4542
+ },
4543
+ text: "Please Connect your wallet",
4544
+ statusImage: walletConnectImage
4545
+ };
4546
+ }, [props, submitting]);
4547
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-wallet-box`, children: [
4548
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-wallet-content`, children: [
4549
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("img", { src: pageData.statusImage }),
4550
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: props.status == "error" ? "matchid-error" : "", children: pageData.text })
4551
+ ] }),
4552
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
4553
+ Button,
4554
+ {
4555
+ block: true,
4556
+ size: "lg",
4557
+ onClick: pageData.btnClick,
4558
+ loading: pageData.btnLoading,
4559
+ disabled: pageData.btnDisabled,
4560
+ children: pageData.btnText
4561
+ }
4562
+ )
4563
+ ] }) });
4564
+ }
4565
+
4566
+ // src/components/EVMModal/index.tsx
4567
+ var import_rainbowkit = require("@rainbow-me/rainbowkit");
4568
+ var import_wagmi2 = require("wagmi");
4569
+
4570
+ // src/hooks/useWalletBox.ts
4571
+ var import_react22 = require("react");
4572
+ function useWalletBox({
4573
+ onInit
4574
+ }) {
4575
+ const [status, setStateStatus] = (0, import_react22.useState)("start");
4576
+ const [error, setError] = (0, import_react22.useState)("");
4577
+ const statusRef = (0, import_react22.useRef)(status);
4578
+ const [nonce, setNonce] = (0, import_react22.useState)();
4579
+ const setStatus = (status2) => {
4580
+ statusRef.current = status2;
4581
+ setStateStatus(status2);
4582
+ };
4583
+ const init = () => {
4584
+ setError("");
4585
+ setNonce(null);
4586
+ };
4587
+ (0, import_react22.useEffect)(() => {
4588
+ init();
4589
+ onInit({
4590
+ setStatus
4591
+ });
4592
+ return () => {
4593
+ setStatus("start");
4594
+ setNonce(null);
4595
+ setError("");
4596
+ };
4597
+ }, []);
4598
+ return {
4599
+ status,
4600
+ statusRef,
4601
+ setStatus,
4602
+ error,
4603
+ setError,
4604
+ nonce,
4605
+ setNonce,
4606
+ init
4607
+ };
4608
+ }
4609
+
4610
+ // src/hooks/useEthersSigner.ts
4611
+ var React5 = __toESM(require("react"));
4612
+ var import_wagmi = require("wagmi");
4613
+ var import_ethers = require("ethers");
4614
+
4615
+ // node_modules/@wagmi/core/dist/esm/version.js
4616
+ var version = "2.16.3";
4617
+
4618
+ // node_modules/@wagmi/core/dist/esm/utils/getVersion.js
4619
+ var getVersion2 = () => `@wagmi/core@${version}`;
4620
+
4621
+ // node_modules/@wagmi/core/dist/esm/errors/base.js
4622
+ var __classPrivateFieldGet = function(receiver, state, kind, f) {
4623
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4624
+ 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");
4625
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
4626
+ };
4627
+ var _BaseError_instances;
4628
+ var _BaseError_walk;
4629
+ var BaseError = class _BaseError extends Error {
4630
+ get docsBaseUrl() {
4631
+ return "https://wagmi.sh/core";
4632
+ }
4633
+ get version() {
4634
+ return getVersion2();
4635
+ }
4636
+ constructor(shortMessage, options = {}) {
4637
+ super();
4638
+ _BaseError_instances.add(this);
4639
+ Object.defineProperty(this, "details", {
4640
+ enumerable: true,
4641
+ configurable: true,
4642
+ writable: true,
4643
+ value: void 0
4644
+ });
4645
+ Object.defineProperty(this, "docsPath", {
4646
+ enumerable: true,
4647
+ configurable: true,
4648
+ writable: true,
4649
+ value: void 0
4650
+ });
4651
+ Object.defineProperty(this, "metaMessages", {
4652
+ enumerable: true,
4653
+ configurable: true,
4654
+ writable: true,
4655
+ value: void 0
4656
+ });
4657
+ Object.defineProperty(this, "shortMessage", {
4658
+ enumerable: true,
4659
+ configurable: true,
4660
+ writable: true,
4661
+ value: void 0
4662
+ });
4663
+ Object.defineProperty(this, "name", {
4664
+ enumerable: true,
4665
+ configurable: true,
4666
+ writable: true,
4667
+ value: "WagmiCoreError"
4668
+ });
4669
+ const details = options.cause instanceof _BaseError ? options.cause.details : options.cause?.message ? options.cause.message : options.details;
4670
+ const docsPath = options.cause instanceof _BaseError ? options.cause.docsPath || options.docsPath : options.docsPath;
4671
+ this.message = [
4672
+ shortMessage || "An error occurred.",
4673
+ "",
4674
+ ...options.metaMessages ? [...options.metaMessages, ""] : [],
4675
+ ...docsPath ? [
4676
+ `Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ""}`
4677
+ ] : [],
4678
+ ...details ? [`Details: ${details}`] : [],
4679
+ `Version: ${this.version}`
4680
+ ].join("\n");
4681
+ if (options.cause)
4682
+ this.cause = options.cause;
4683
+ this.details = details;
4684
+ this.docsPath = docsPath;
4685
+ this.metaMessages = options.metaMessages;
4686
+ this.shortMessage = shortMessage;
4687
+ }
4688
+ walk(fn) {
4689
+ return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk).call(this, this, fn);
4690
+ }
4691
+ };
4692
+ _BaseError_instances = /* @__PURE__ */ new WeakSet(), _BaseError_walk = function _BaseError_walk2(err, fn) {
4693
+ if (fn?.(err))
4694
+ return err;
4695
+ if (err.cause)
4696
+ return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk2).call(this, err.cause, fn);
4697
+ return err;
4698
+ };
4699
+
4700
+ // node_modules/@wagmi/core/dist/esm/errors/config.js
4701
+ var ConnectorNotConnectedError = class extends BaseError {
4702
+ constructor() {
4703
+ super("Connector not connected.");
4704
+ Object.defineProperty(this, "name", {
4705
+ enumerable: true,
4706
+ configurable: true,
4707
+ writable: true,
4708
+ value: "ConnectorNotConnectedError"
4709
+ });
4710
+ }
4711
+ };
4712
+ var ConnectorAccountNotFoundError = class extends BaseError {
4713
+ constructor({ address, connector }) {
4714
+ super(`Account "${address}" not found for connector "${connector.name}".`);
4715
+ Object.defineProperty(this, "name", {
4716
+ enumerable: true,
4717
+ configurable: true,
4718
+ writable: true,
4719
+ value: "ConnectorAccountNotFoundError"
4720
+ });
4721
+ }
4722
+ };
4723
+ var ConnectorChainMismatchError = class extends BaseError {
4724
+ constructor({ connectionChainId, connectorChainId }) {
4725
+ super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {
4726
+ metaMessages: [
4727
+ `Current Chain ID: ${connectorChainId}`,
4728
+ `Expected Chain ID: ${connectionChainId}`
4729
+ ]
4730
+ });
4731
+ Object.defineProperty(this, "name", {
4732
+ enumerable: true,
4733
+ configurable: true,
4734
+ writable: true,
4735
+ value: "ConnectorChainMismatchError"
4736
+ });
4737
+ }
4738
+ };
4739
+ var ConnectorUnavailableReconnectingError = class extends BaseError {
4740
+ constructor({ connector }) {
4741
+ super(`Connector "${connector.name}" unavailable while reconnecting.`, {
4742
+ details: [
4743
+ "During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uid`.",
4744
+ "All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
4745
+ "This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
4746
+ ].join(" ")
4747
+ });
4748
+ Object.defineProperty(this, "name", {
4749
+ enumerable: true,
4750
+ configurable: true,
4751
+ writable: true,
4752
+ value: "ConnectorUnavailableReconnectingError"
4753
+ });
4754
+ }
4755
+ };
4756
+
4757
+ // node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js
4758
+ var import_viem6 = require("viem");
4759
+ var import_utils7 = require("viem/utils");
4760
+ async function getConnectorClient(config, parameters = {}) {
4761
+ let connection;
4762
+ if (parameters.connector) {
4763
+ const { connector: connector2 } = parameters;
4764
+ if (config.state.status === "reconnecting" && !connector2.getAccounts && !connector2.getChainId)
4765
+ throw new ConnectorUnavailableReconnectingError({ connector: connector2 });
4766
+ const [accounts, chainId2] = await Promise.all([
4767
+ connector2.getAccounts(),
4768
+ connector2.getChainId()
4769
+ ]);
4770
+ connection = {
4771
+ accounts,
4772
+ chainId: chainId2,
4773
+ connector: connector2
4774
+ };
4775
+ } else
4776
+ connection = config.state.connections.get(config.state.current);
4777
+ if (!connection)
4778
+ throw new ConnectorNotConnectedError();
4779
+ const chainId = parameters.chainId ?? connection.chainId;
4780
+ const connectorChainId = await connection.connector.getChainId();
4781
+ if (connectorChainId !== connection.chainId)
4782
+ throw new ConnectorChainMismatchError({
4783
+ connectionChainId: connection.chainId,
4784
+ connectorChainId
4785
+ });
4786
+ const connector = connection.connector;
4787
+ if (connector.getClient)
4788
+ return connector.getClient({ chainId });
4789
+ const account = (0, import_utils7.parseAccount)(parameters.account ?? connection.accounts[0]);
4790
+ account.address = (0, import_utils7.getAddress)(account.address);
4791
+ if (parameters.account && !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))
4792
+ throw new ConnectorAccountNotFoundError({
4793
+ address: account.address,
4794
+ connector
4795
+ });
4796
+ const chain = config.chains.find((chain2) => chain2.id === chainId);
4797
+ const provider = await connection.connector.getProvider({ chainId });
4798
+ return (0, import_viem6.createClient)({
4799
+ account,
4800
+ chain,
4801
+ name: "Connector Client",
4802
+ transport: (opts) => (0, import_viem6.custom)(provider)({ ...opts, retryCount: 0 })
4803
+ });
4804
+ }
4805
+
4806
+ // node_modules/@wagmi/core/dist/esm/exports/index.js
4807
+ var import_viem7 = require("viem");
4808
+
4809
+ // src/hooks/useEthersSigner.ts
4810
+ function clientToSigner(client) {
4811
+ const { account, chain, transport } = client;
4812
+ const network = {
4813
+ chainId: chain.id,
4814
+ name: chain.name,
4815
+ ensAddress: chain.contracts?.ensRegistry?.address
4816
+ };
4817
+ const provider = new import_ethers.providers.Web3Provider(transport, network);
4818
+ const signer = provider.getSigner(account.address);
4819
+ return signer;
4820
+ }
4821
+ async function getEthersSigner(config, { chainId } = {}) {
4822
+ const client = await getConnectorClient(config, { chainId });
4823
+ return clientToSigner(client);
4824
+ }
4825
+
4826
+ // src/components/EVMModal/index.tsx
4827
+ var import_siwe = require("siwe");
4828
+ var import_styles = require("@rainbow-me/rainbowkit/styles.css");
4829
+ var import_jsx_runtime82 = require("react/jsx-runtime");
4830
+ function WalletContent({
4831
+ onSuccess,
4832
+ type
4833
+ }) {
4834
+ const config = (0, import_wagmi2.useConfig)();
4835
+ const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
4836
+ const { address, connector, isConnected } = (0, import_wagmi2.useAccount)();
4837
+ const { disconnectAsync } = (0, import_wagmi2.useDisconnect)({ config });
4838
+ const chainId = (0, import_wagmi2.useChainId)();
4839
+ const { events, login } = useMatch();
4840
+ const [inited, setInited] = (0, import_react23.useState)(false);
4841
+ const { status, setStatus, error, setError, statusRef, nonce, setNonce, init } = useWalletBox({
4842
+ onInit: async ({ setStatus: setStatus2 }) => {
4843
+ setStatus2("start");
4844
+ }
4845
+ });
4846
+ (0, import_react23.useEffect)(() => {
4847
+ matchlog_default.log(`status=${status}`, `connectModalOpen=${connectModalOpen}`, `address=${address}`, `isConnected=${isConnected}`);
4848
+ }, [status, connectModalOpen, isConnected, address]);
4849
+ (0, import_react23.useEffect)(() => {
4850
+ if (connectModalOpen) {
4851
+ setStatus("connecting");
4852
+ return;
4853
+ }
4854
+ if (!connectModalOpen && address) {
4855
+ toLoginInWallet(address);
4856
+ return;
4857
+ }
4858
+ if (!connectModalOpen && !address) {
4859
+ setStatus("start");
4860
+ }
4861
+ }, [connectModalOpen, address]);
4862
+ (0, import_react23.useEffect)(() => {
4863
+ if (openConnectModal && !isConnected && !inited) {
4864
+ openConnectModal && openConnectModal();
4865
+ setInited(true);
4866
+ }
4867
+ }, [openConnectModal, inited]);
4868
+ const toLoginInWallet = async (address2) => {
4869
+ if (statusRef.current != "start" && statusRef.current != "connecting") return;
4870
+ try {
4871
+ if (!address2) {
4872
+ throw new Error("Wallet address is empty");
4873
+ }
4874
+ setStatus("nonce");
4875
+ const res = type == "bind" ? await getWalletInitApi({
4876
+ address: address2,
4877
+ type: "EVM"
4878
+ }) : await getWalletNonceApi({ address: address2, type: "EVM" });
4879
+ if (!isSuccess(res)) {
4880
+ throw new Error(res.message);
4881
+ }
4882
+ setNonce(res.data.nonce);
4883
+ } catch (error2) {
4884
+ console.error("toLoginInWallet", error2);
4885
+ setStatus("error");
4886
+ setError(error2.message);
4887
+ }
4888
+ };
4889
+ const signature = (0, import_react23.useCallback)(async () => {
4890
+ if (!nonce || status != "nonce") {
4891
+ return;
4892
+ }
4893
+ try {
4894
+ const signer = await getEthersSigner(config);
4895
+ if (!signer) return;
4896
+ matchlog_default.log("signature", nonce, status);
4897
+ if (!address) {
4898
+ throw new Error("Wallet address is empty");
4899
+ }
4900
+ setStatus("signer");
4901
+ const params = {
4902
+ domain: window.location.host,
4903
+ address,
4904
+ statement: "By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",
4905
+ uri: window.location.origin,
4906
+ nonce,
4907
+ version: "1",
4908
+ chainId
4909
+ };
4910
+ const message = new import_siwe.SiweMessage({ ...params });
4911
+ const signature2 = await signer.signMessage(message.prepareMessage());
4912
+ const obj = {
4913
+ type: "EVM",
4914
+ address,
4915
+ signature: signature2,
4916
+ message: `${message.prepareMessage()}`,
4917
+ connector_type: connector?.type || "",
4918
+ wallet_client_type: connector?.name || ""
4919
+ };
4920
+ const res = type == "bind" ? await toBindWalletApi(obj) : await loginByWalletApi(obj);
4921
+ if (!isSuccess(res)) {
4922
+ throw new Error(res.message);
4923
+ }
4924
+ matchlog_default.log(res);
4925
+ setStatus("success");
4926
+ if (type == "bind") {
4927
+ events.onBind && events.onBind({
4928
+ type: "evm"
4929
+ });
4930
+ eventManager_default.emit("onBind", {
4931
+ type: "evm"
4932
+ });
4933
+ } else {
4934
+ await login({
4935
+ token: `${res.data.token_type} ${res.data.access_token}`
4936
+ });
4937
+ }
4938
+ onSuccess && onSuccess();
4939
+ } catch (error2) {
4940
+ console.error("signature", error2);
4941
+ setStatus("error");
4942
+ setError(error2.reason || error2.message);
4943
+ }
4944
+ }, [nonce, status, address]);
4945
+ (0, import_react23.useEffect)(() => {
4946
+ if (signature) {
4947
+ signature();
4948
+ }
4949
+ }, [signature]);
4950
+ const onError = async () => {
4951
+ if (isConnected) {
4952
+ try {
4953
+ await disconnectAsync();
4954
+ } catch (error2) {
4955
+ console.error("disconnectAsync", error2);
4956
+ }
4957
+ }
4958
+ setError("");
4959
+ setNonce(void 0);
4960
+ setStatus("start");
4961
+ openConnectModal?.();
4962
+ };
4963
+ const onConnect = async () => {
4964
+ if (isConnected) {
4965
+ try {
4966
+ await disconnectAsync();
4967
+ } catch (error2) {
4968
+ console.error("disconnectAsync", error2);
4969
+ }
4970
+ }
4971
+ setError("");
4972
+ setNonce(void 0);
4973
+ openConnectModal?.();
4974
+ };
4975
+ const onDisconnect = async () => {
4976
+ if (isConnected) {
4977
+ try {
4978
+ await disconnectAsync();
4979
+ } catch (error2) {
4980
+ console.error("disconnectAsync", error2);
4981
+ }
4982
+ }
4983
+ setError("");
4984
+ setNonce(void 0);
4985
+ setStatus("start");
4986
+ };
4987
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
4988
+ WalletModalContentV2,
4989
+ {
4990
+ status,
4991
+ onSuccess: async () => onSuccess?.(),
4992
+ error,
4993
+ onError,
4994
+ onConnect,
4995
+ onDisconnect
4996
+ }
4997
+ );
4998
+ }
4999
+ function EVMConnectModal({
5000
+ type = "login",
5001
+ onSuccess,
5002
+ ...props
5003
+ }) {
5004
+ const intl = (0, import_react_intl10.useIntl)();
5005
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
5006
+ id: type == "bind" ? "bindWith" : "loginWith"
5007
+ }, {
5008
+ name: "EVM"
5009
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(WalletContent, { onSuccess, type }) });
5010
+ }
5011
+ function EVMModal(props) {
5012
+ return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(EVMConnectModal, { ...props });
5013
+ }
5014
+
5015
+ // src/components/TRONModal/index.tsx
5016
+ var import_react25 = __toESM(require("react"));
5017
+ var import_react_intl11 = require("react-intl");
4510
5018
 
4511
5019
  // src/lib/tron/TronLinkAdapter.ts
4512
5020
  var TronLinkAdapter = class {
@@ -4539,7 +5047,7 @@ var TronLinkAdapter = class {
4539
5047
  };
4540
5048
 
4541
5049
  // src/hooks/useTRONWallet.ts
4542
- var import_react22 = require("react");
5050
+ var import_react24 = require("react");
4543
5051
 
4544
5052
  // src/lib/tron/BitgetAdapter.ts
4545
5053
  var BitgetAdapter = class {
@@ -4584,9 +5092,9 @@ var OKXAdapter = class {
4584
5092
  // src/hooks/useTRONWallet.ts
4585
5093
  var useTRONWallet = () => {
4586
5094
  const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
4587
- const [installedWallets, setInstalledWallets] = (0, import_react22.useState)([]);
4588
- const [address, setAddress] = (0, import_react22.useState)(null);
4589
- (0, import_react22.useEffect)(() => {
5095
+ const [installedWallets, setInstalledWallets] = (0, import_react24.useState)([]);
5096
+ const [address, setAddress] = (0, import_react24.useState)(null);
5097
+ (0, import_react24.useEffect)(() => {
4590
5098
  const getInstalled = async () => {
4591
5099
  const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
4592
5100
  wallet: wallet2,
@@ -4596,11 +5104,11 @@ var useTRONWallet = () => {
4596
5104
  };
4597
5105
  getInstalled();
4598
5106
  }, []);
4599
- const [wallet, chooseWallet] = (0, import_react22.useState)(null);
5107
+ const [wallet, chooseWallet] = (0, import_react24.useState)(null);
4600
5108
  const onConnect = async () => {
4601
5109
  setAddress(await wallet.connect());
4602
5110
  };
4603
- (0, import_react22.useEffect)(() => {
5111
+ (0, import_react24.useEffect)(() => {
4604
5112
  if (!wallet) {
4605
5113
  setAddress(null);
4606
5114
  }
@@ -4631,10 +5139,10 @@ function TRONConnectModal({
4631
5139
  okx: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
4632
5140
  };
4633
5141
  const { events, login } = useMatch();
4634
- const [status, setStatus] = (0, import_react23.useState)("");
4635
- const statusRef = import_react23.default.useRef(status);
4636
- const [error, setError] = (0, import_react23.useState)("");
4637
- const connected = (0, import_react23.useMemo)(() => {
5142
+ const [status, setStatus] = (0, import_react25.useState)("");
5143
+ const statusRef = import_react25.default.useRef(status);
5144
+ const [error, setError] = (0, import_react25.useState)("");
5145
+ const connected = (0, import_react25.useMemo)(() => {
4638
5146
  return !!address;
4639
5147
  }, [address]);
4640
5148
  const disconnect = async () => {
@@ -4702,7 +5210,7 @@ function TRONConnectModal({
4702
5210
  statusRef.current = "";
4703
5211
  }
4704
5212
  };
4705
- (0, import_react23.useEffect)(() => {
5213
+ (0, import_react25.useEffect)(() => {
4706
5214
  if (wallet) {
4707
5215
  console.log("onConnect");
4708
5216
  onConnect();
@@ -4710,12 +5218,12 @@ function TRONConnectModal({
4710
5218
  setStatus("");
4711
5219
  }
4712
5220
  }, [wallet]);
4713
- (0, import_react23.useEffect)(() => {
5221
+ (0, import_react25.useEffect)(() => {
4714
5222
  if (address) {
4715
5223
  toLoginInWallet();
4716
5224
  }
4717
5225
  }, [address]);
4718
- (0, import_react23.useEffect)(() => {
5226
+ (0, import_react25.useEffect)(() => {
4719
5227
  if (!props.isOpen) {
4720
5228
  disconnect();
4721
5229
  }
@@ -4773,7 +5281,7 @@ function TRONModal(props) {
4773
5281
  }
4774
5282
 
4775
5283
  // src/components/TONModal/index.tsx
4776
- var import_react24 = __toESM(require("react"));
5284
+ var import_react26 = __toESM(require("react"));
4777
5285
  var import_react_intl12 = require("react-intl");
4778
5286
  var import_ui_react = require("@tonconnect/ui-react");
4779
5287
  var import_jsx_runtime84 = require("react/jsx-runtime");
@@ -4782,15 +5290,15 @@ function WalletContent2({
4782
5290
  type
4783
5291
  }) {
4784
5292
  const { events, login } = useMatch();
4785
- const [connected, setConnected] = (0, import_react24.useState)(false);
5293
+ const [connected, setConnected] = (0, import_react26.useState)(false);
4786
5294
  const wallet = (0, import_ui_react.useTonWallet)();
4787
5295
  const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
4788
5296
  const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
4789
5297
  const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
4790
- const [status, setStatus] = (0, import_react24.useState)("");
4791
- const statusRef = import_react24.default.useRef(status);
4792
- const [error, setError] = (0, import_react24.useState)("");
4793
- (0, import_react24.useEffect)(() => {
5298
+ const [status, setStatus] = (0, import_react26.useState)("");
5299
+ const statusRef = import_react26.default.useRef(status);
5300
+ const [error, setError] = (0, import_react26.useState)("");
5301
+ (0, import_react26.useEffect)(() => {
4794
5302
  const init = async () => {
4795
5303
  if (tonConnectUI.connected) {
4796
5304
  await tonConnectUI.disconnect();
@@ -4863,7 +5371,7 @@ function WalletContent2({
4863
5371
  }
4864
5372
  });
4865
5373
  }, []);
4866
- (0, import_react24.useEffect)(() => {
5374
+ (0, import_react26.useEffect)(() => {
4867
5375
  if (wallet) {
4868
5376
  setConnected(true);
4869
5377
  console.log("Wallet connected:", wallet);
@@ -4874,7 +5382,7 @@ function WalletContent2({
4874
5382
  setStatus("");
4875
5383
  }
4876
5384
  }, [wallet]);
4877
- (0, import_react24.useEffect)(() => {
5385
+ (0, import_react26.useEffect)(() => {
4878
5386
  console.log({
4879
5387
  state,
4880
5388
  wallet
@@ -4954,7 +5462,7 @@ function TONModal(props) {
4954
5462
  }
4955
5463
 
4956
5464
  // src/components/BTCModal/index.tsx
4957
- var import_react26 = __toESM(require("react"));
5465
+ var import_react28 = __toESM(require("react"));
4958
5466
  var import_react_intl13 = require("react-intl");
4959
5467
 
4960
5468
  // src/lib/btc/UnisatAdapter.ts
@@ -5103,7 +5611,7 @@ var LeatherAdapter = class {
5103
5611
  };
5104
5612
 
5105
5613
  // src/hooks/useBTCWallet.ts
5106
- var import_react25 = require("react");
5614
+ var import_react27 = require("react");
5107
5615
 
5108
5616
  // src/lib/btc/PhantomAdapter.ts
5109
5617
  var PhantomAdapter = class {
@@ -5141,9 +5649,9 @@ var PhantomAdapter = class {
5141
5649
  // src/hooks/useBTCWallet.ts
5142
5650
  var useBTCWallet = () => {
5143
5651
  const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
5144
- const [installedWallets, setInstalledWallets] = (0, import_react25.useState)([]);
5145
- const [address, setAddress] = (0, import_react25.useState)(null);
5146
- (0, import_react25.useEffect)(() => {
5652
+ const [installedWallets, setInstalledWallets] = (0, import_react27.useState)([]);
5653
+ const [address, setAddress] = (0, import_react27.useState)(null);
5654
+ (0, import_react27.useEffect)(() => {
5147
5655
  const getInstalled = async () => {
5148
5656
  const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
5149
5657
  wallet: wallet2,
@@ -5153,11 +5661,11 @@ var useBTCWallet = () => {
5153
5661
  };
5154
5662
  getInstalled();
5155
5663
  }, []);
5156
- const [wallet, chooseWallet] = (0, import_react25.useState)(null);
5664
+ const [wallet, chooseWallet] = (0, import_react27.useState)(null);
5157
5665
  const onConnect = async () => {
5158
5666
  setAddress(await wallet.connect());
5159
5667
  };
5160
- (0, import_react25.useEffect)(() => {
5668
+ (0, import_react27.useEffect)(() => {
5161
5669
  if (!wallet) {
5162
5670
  setAddress(null);
5163
5671
  }
@@ -5189,10 +5697,10 @@ function BTCConnectModal({
5189
5697
  phantom: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(PhantomIcon, { size: isDownMd ? 36 : 40 })
5190
5698
  };
5191
5699
  const { events, login } = useMatch();
5192
- const [status, setStatus] = (0, import_react26.useState)("");
5193
- const statusRef = import_react26.default.useRef(status);
5194
- const [error, setError] = (0, import_react26.useState)("");
5195
- const connected = (0, import_react26.useMemo)(() => {
5700
+ const [status, setStatus] = (0, import_react28.useState)("");
5701
+ const statusRef = import_react28.default.useRef(status);
5702
+ const [error, setError] = (0, import_react28.useState)("");
5703
+ const connected = (0, import_react28.useMemo)(() => {
5196
5704
  return !!address;
5197
5705
  }, [address]);
5198
5706
  const disconnect = async () => {
@@ -5256,7 +5764,7 @@ function BTCConnectModal({
5256
5764
  statusRef.current = "";
5257
5765
  }
5258
5766
  };
5259
- (0, import_react26.useEffect)(() => {
5767
+ (0, import_react28.useEffect)(() => {
5260
5768
  if (wallet) {
5261
5769
  console.log("onConnect");
5262
5770
  try {
@@ -5269,12 +5777,12 @@ function BTCConnectModal({
5269
5777
  setStatus("");
5270
5778
  }
5271
5779
  }, [wallet]);
5272
- (0, import_react26.useEffect)(() => {
5780
+ (0, import_react28.useEffect)(() => {
5273
5781
  if (address) {
5274
5782
  toLoginInWallet();
5275
5783
  }
5276
5784
  }, [address]);
5277
- (0, import_react26.useEffect)(() => {
5785
+ (0, import_react28.useEffect)(() => {
5278
5786
  if (!props.isOpen) {
5279
5787
  disconnect();
5280
5788
  }
@@ -5339,7 +5847,7 @@ function BTCModal(props) {
5339
5847
  }
5340
5848
 
5341
5849
  // src/components/WalletModal/index.tsx
5342
- var import_react27 = require("react");
5850
+ var import_react29 = require("react");
5343
5851
  var import_react_intl14 = require("react-intl");
5344
5852
  var import_jsx_runtime86 = require("react/jsx-runtime");
5345
5853
  function WalletConnectModal({
@@ -5351,7 +5859,7 @@ function WalletConnectModal({
5351
5859
  const { walletMap } = useWalletConfig();
5352
5860
  const { bind, login } = useUserInfo();
5353
5861
  const config = useAppConfig();
5354
- const methods = (0, import_react27.useMemo)(() => {
5862
+ const methods = (0, import_react29.useMemo)(() => {
5355
5863
  if (_methods) return _methods;
5356
5864
  if (!config.platform) {
5357
5865
  return [];
@@ -5383,11 +5891,11 @@ function WalletModal(props) {
5383
5891
  }
5384
5892
 
5385
5893
  // src/components/AlphaAvatar/index.tsx
5386
- var import_react28 = require("react");
5894
+ var import_react30 = require("react");
5387
5895
  var import_jsx_runtime87 = require("react/jsx-runtime");
5388
5896
  function AlphaAvatar2({ name, size = 40, className = "" }) {
5389
- const [avatar, setAvatar] = (0, import_react28.useState)(void 0);
5390
- (0, import_react28.useEffect)(() => {
5897
+ const [avatar, setAvatar] = (0, import_react30.useState)(void 0);
5898
+ (0, import_react30.useEffect)(() => {
5391
5899
  if (name) {
5392
5900
  const char = name[0].toUpperCase();
5393
5901
  setAvatar(char);
@@ -5484,8 +5992,8 @@ function WalletAsset({
5484
5992
  }
5485
5993
 
5486
5994
  // src/components/TokenSend/index.tsx
5487
- var import_react29 = require("react");
5488
- var import_viem6 = require("viem");
5995
+ var import_react31 = require("react");
5996
+ var import_viem8 = require("viem");
5489
5997
  var import_react_intl15 = require("react-intl");
5490
5998
  var import_jsx_runtime89 = require("react/jsx-runtime");
5491
5999
  function Input2({
@@ -5522,33 +6030,33 @@ function TokenSend({
5522
6030
  const intl = (0, import_react_intl15.useIntl)();
5523
6031
  const { createWalletClient: createWalletClient2 } = useWallet();
5524
6032
  const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
5525
- const chain = (0, import_react29.useMemo)(() => {
6033
+ const chain = (0, import_react31.useMemo)(() => {
5526
6034
  return chainList?.find((m) => m.id.toString() === token.chain_id);
5527
6035
  }, [chainList, token.chain_id]);
5528
- const walletClient = (0, import_react29.useMemo)(() => {
6036
+ const walletClient = (0, import_react31.useMemo)(() => {
5529
6037
  return createWalletClient2({
5530
6038
  // @ts-ignore
5531
- chain: (0, import_viem6.defineChain)(chain),
5532
- transport: (0, import_viem6.http)()
6039
+ chain: (0, import_viem8.defineChain)(chain),
6040
+ transport: (0, import_viem8.http)()
5533
6041
  });
5534
6042
  }, [chain]);
5535
- const [amount, setAmount] = (0, import_react29.useState)("");
5536
- const [address, setAddress] = (0, import_react29.useState)("");
5537
- const [loading, setLoading] = (0, import_react29.useState)(false);
5538
- const [sending, setSending] = (0, import_react29.useState)(false);
5539
- const [txError, setTxError] = (0, import_react29.useState)("");
5540
- const transaction = (0, import_react29.useMemo)(() => {
6043
+ const [amount, setAmount] = (0, import_react31.useState)("");
6044
+ const [address, setAddress] = (0, import_react31.useState)("");
6045
+ const [loading, setLoading] = (0, import_react31.useState)(false);
6046
+ const [sending, setSending] = (0, import_react31.useState)(false);
6047
+ const [txError, setTxError] = (0, import_react31.useState)("");
6048
+ const transaction = (0, import_react31.useMemo)(() => {
5541
6049
  const reg = /^0x[a-fA-F0-9]{40}$/;
5542
6050
  if (!amount || !address || !reg.test(address)) {
5543
6051
  return;
5544
6052
  }
5545
- const viemChain = (0, import_viem6.defineChain)(chain);
6053
+ const viemChain = (0, import_viem8.defineChain)(chain);
5546
6054
  const to = isNative ? address : token.address;
5547
- const value = isNative ? (0, import_viem6.parseUnits)(amount, parseInt(token?.decimals || "18")) : BigInt(0);
5548
- const data = isNative ? "0x" : (0, import_viem6.encodeFunctionData)({
5549
- abi: import_viem6.erc20Abi,
6055
+ const value = isNative ? (0, import_viem8.parseUnits)(amount, parseInt(token?.decimals || "18")) : BigInt(0);
6056
+ const data = isNative ? "0x" : (0, import_viem8.encodeFunctionData)({
6057
+ abi: import_viem8.erc20Abi,
5550
6058
  functionName: "transfer",
5551
- args: [address, (0, import_viem6.parseUnits)(amount, parseInt(token?.decimals || "18"))]
6059
+ args: [address, (0, import_viem8.parseUnits)(amount, parseInt(token?.decimals || "18"))]
5552
6060
  });
5553
6061
  return {
5554
6062
  to,
@@ -5568,7 +6076,7 @@ function TokenSend({
5568
6076
  setLoading(false);
5569
6077
  }
5570
6078
  };
5571
- const error = (0, import_react29.useMemo)(() => {
6079
+ const error = (0, import_react31.useMemo)(() => {
5572
6080
  setTxError("");
5573
6081
  let amountError = "";
5574
6082
  let addressError = "";
@@ -5611,7 +6119,7 @@ function TokenSend({
5611
6119
  setAmount(value);
5612
6120
  }
5613
6121
  };
5614
- const canSend = (0, import_react29.useMemo)(() => {
6122
+ const canSend = (0, import_react31.useMemo)(() => {
5615
6123
  return !error.amount && !error.address && amount && address;
5616
6124
  }, [error]);
5617
6125
  const onNext = async () => {
@@ -5621,7 +6129,7 @@ function TokenSend({
5621
6129
  }
5622
6130
  onClose();
5623
6131
  };
5624
- (0, import_react29.useEffect)(() => {
6132
+ (0, import_react31.useEffect)(() => {
5625
6133
  const receiveMessage = (event) => {
5626
6134
  if (event.data) {
5627
6135
  if (event.data.source == "match-wallet") {
@@ -5753,7 +6261,7 @@ function TokenDetail({
5753
6261
  }
5754
6262
 
5755
6263
  // src/components/TokenSendList/index.tsx
5756
- var import_react30 = require("react");
6264
+ var import_react32 = require("react");
5757
6265
  var import_react_intl17 = require("react-intl");
5758
6266
  var import_jsx_runtime91 = require("react/jsx-runtime");
5759
6267
  function TokenSendList({ close }) {
@@ -5763,7 +6271,7 @@ function TokenSendList({ close }) {
5763
6271
  list: walletAssets.mergedAssets
5764
6272
  });
5765
6273
  const { list } = useMatchChain();
5766
- const [checked, setChecked] = (0, import_react30.useState)();
6274
+ const [checked, setChecked] = (0, import_react32.useState)();
5767
6275
  const modal = useModal();
5768
6276
  const onNext = () => {
5769
6277
  checked && modal.show((props) => {
@@ -5820,9 +6328,9 @@ function TokenSendList({ close }) {
5820
6328
 
5821
6329
  // src/components/TransactionList/index.tsx
5822
6330
  var import_react_infinite_scroll_component = __toESM(require("react-infinite-scroll-component"));
5823
- var import_react31 = require("react");
5824
- var import_viem7 = require("viem");
5825
- var import_viem8 = require("viem");
6331
+ var import_react33 = require("react");
6332
+ var import_viem9 = require("viem");
6333
+ var import_viem10 = require("viem");
5826
6334
 
5827
6335
  // src/store/useContractStore.ts
5828
6336
  var import_zustand5 = require("zustand");
@@ -5888,8 +6396,8 @@ var Item = ({ data }) => {
5888
6396
  const isOut = data.from.toLowerCase() == address.toLowerCase();
5889
6397
  const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
5890
6398
  const { contracts } = useContractStore_default();
5891
- const [shouldRefetch, setShouldRefetch] = (0, import_react31.useState)(true);
5892
- const transferType = (0, import_react31.useMemo)(() => {
6399
+ const [shouldRefetch, setShouldRefetch] = (0, import_react33.useState)(true);
6400
+ const transferType = (0, import_react33.useMemo)(() => {
5893
6401
  const methodId = data.input.substring(2, 10);
5894
6402
  if (methodId == "095ea7b3") {
5895
6403
  return "erc20_approve";
@@ -5899,38 +6407,38 @@ var Item = ({ data }) => {
5899
6407
  }
5900
6408
  return "unknown";
5901
6409
  }, [data.input]);
5902
- const to = (0, import_react31.useMemo)(() => {
6410
+ const to = (0, import_react33.useMemo)(() => {
5903
6411
  if (!isOut) {
5904
6412
  return data.from;
5905
6413
  }
5906
6414
  if (transferType == "erc20_transfer") {
5907
- const decodeData = (0, import_viem7.decodeFunctionData)({
5908
- abi: import_viem8.erc20Abi,
6415
+ const decodeData = (0, import_viem9.decodeFunctionData)({
6416
+ abi: import_viem10.erc20Abi,
5909
6417
  data: data.input
5910
6418
  });
5911
6419
  return decodeData.args[0];
5912
6420
  }
5913
6421
  return data.to;
5914
6422
  }, [data.input, transferType, data.to, isOut]);
5915
- const amount = (0, import_react31.useMemo)(() => {
6423
+ const amount = (0, import_react33.useMemo)(() => {
5916
6424
  if (transferType == "erc20_transfer") {
5917
- const decodeData = (0, import_viem7.decodeFunctionData)({
5918
- abi: import_viem8.erc20Abi,
6425
+ const decodeData = (0, import_viem9.decodeFunctionData)({
6426
+ abi: import_viem10.erc20Abi,
5919
6427
  data: data.input
5920
6428
  });
5921
6429
  const value = decodeData.args[1];
5922
- return (0, import_viem7.formatUnits)(value, contracts[`${chainId}-${data.to.toLowerCase()}`]?.decimals || 18);
6430
+ return (0, import_viem9.formatUnits)(value, contracts[`${chainId}-${data.to.toLowerCase()}`]?.decimals || 18);
5923
6431
  }
5924
6432
  return chainFormatUnits(BigInt(data.value));
5925
6433
  }, [data.input, transferType, data.value, contracts, chainId, data.to]);
5926
6434
  const hashQuery = useHash({
5927
6435
  hash: data.hash,
5928
6436
  //@ts-ignore
5929
- chain: (0, import_viem7.defineChain)(chain),
6437
+ chain: (0, import_viem9.defineChain)(chain),
5930
6438
  refetchInterval: shouldRefetch ? 3e3 : false,
5931
6439
  enabled: shouldRefetch && data.source == "local"
5932
6440
  });
5933
- const status = (0, import_react31.useMemo)(() => {
6441
+ const status = (0, import_react33.useMemo)(() => {
5934
6442
  if (data.source == "matchain") {
5935
6443
  switch (data.extra.status) {
5936
6444
  case "ok":
@@ -5957,12 +6465,12 @@ var Item = ({ data }) => {
5957
6465
  }
5958
6466
  return "loading";
5959
6467
  }, [data.extra?.status, data.source, hashQuery.data]);
5960
- (0, import_react31.useEffect)(() => {
6468
+ (0, import_react33.useEffect)(() => {
5961
6469
  if (data.hash) {
5962
6470
  setShouldRefetch(status == "loading");
5963
6471
  }
5964
6472
  }, [status, data.hash]);
5965
- const symbol = (0, import_react31.useMemo)(() => {
6473
+ const symbol = (0, import_react33.useMemo)(() => {
5966
6474
  if (transferType == "erc20_transfer") {
5967
6475
  const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
5968
6476
  return contract?.symbol || contract?.name || "unknown";
@@ -6105,10 +6613,10 @@ __export(contact_exports, {
6105
6613
  });
6106
6614
  var import_react_query6 = require("@tanstack/react-query");
6107
6615
  var import_last = __toESM(require("lodash/last"));
6108
- var import_react32 = require("react");
6616
+ var import_react34 = require("react");
6109
6617
  function useContactList(page_size = 10, type = "Friend") {
6110
6618
  const { token } = useLocalStore_default();
6111
- const limitIdRef = (0, import_react32.useRef)(0);
6619
+ const limitIdRef = (0, import_react34.useRef)(0);
6112
6620
  const queryClient2 = (0, import_react_query6.useQueryClient)();
6113
6621
  const contactQuery = (0, import_react_query6.useInfiniteQuery)({
6114
6622
  queryKey: ["matchid-contacts-list", type, token],
@@ -6130,7 +6638,7 @@ function useContactList(page_size = 10, type = "Friend") {
6130
6638
  return allPages.length >= lastPageNum ? void 0 : allPages.length + 1;
6131
6639
  }
6132
6640
  });
6133
- (0, import_react32.useEffect)(() => {
6641
+ (0, import_react34.useEffect)(() => {
6134
6642
  if (!contactQuery.data?.pages || contactQuery.data?.pages.length == 0) {
6135
6643
  limitIdRef.current = 0;
6136
6644
  } else {
@@ -6144,10 +6652,10 @@ function useContactList(page_size = 10, type = "Friend") {
6144
6652
  limitIdRef.current = lastItem?.limit_id || 0;
6145
6653
  }
6146
6654
  }, [contactQuery.data?.pages]);
6147
- (0, import_react32.useEffect)(() => {
6655
+ (0, import_react34.useEffect)(() => {
6148
6656
  console.log("contactQuery.data", contactQuery.data);
6149
6657
  }, [contactQuery.data]);
6150
- const data = (0, import_react32.useMemo)(() => {
6658
+ const data = (0, import_react34.useMemo)(() => {
6151
6659
  return (contactQuery.data?.pages ?? []).reduce(
6152
6660
  (a, b) => {
6153
6661
  return a.concat(b?.items ?? []);
@@ -6217,7 +6725,7 @@ var delContact = async (friend_id) => {
6217
6725
 
6218
6726
  // src/components/ContactList/index.tsx
6219
6727
  var import_react_virtuoso = require("react-virtuoso");
6220
- var import_react33 = require("react");
6728
+ var import_react35 = require("react");
6221
6729
  var import_react_intl19 = require("react-intl");
6222
6730
  var import_jsx_runtime93 = require("react/jsx-runtime");
6223
6731
  function ContactCard({
@@ -6238,7 +6746,7 @@ function ContactCard({
6238
6746
  ] });
6239
6747
  }
6240
6748
  function RequestAction({ data, onSuccess }) {
6241
- const [loading, setLoading] = (0, import_react33.useState)(false);
6749
+ const [loading, setLoading] = (0, import_react35.useState)(false);
6242
6750
  const toast = useToast();
6243
6751
  const intl = (0, import_react_intl19.useIntl)();
6244
6752
  const onApprove = async () => {
@@ -6262,7 +6770,7 @@ function FriendsAction({
6262
6770
  data,
6263
6771
  onSuccess
6264
6772
  }) {
6265
- const [loading, setLoading] = (0, import_react33.useState)(false);
6773
+ const [loading, setLoading] = (0, import_react35.useState)(false);
6266
6774
  const toast = useToast();
6267
6775
  const intl = (0, import_react_intl19.useIntl)();
6268
6776
  const onRemove = async () => {
@@ -6288,9 +6796,9 @@ function ContactList({
6288
6796
  type = "Friend"
6289
6797
  }) {
6290
6798
  const { loading, totalCount, data, onLoadMore } = contact_exports.useContactList(limit, type);
6291
- const [hiddenList, setHiddenList] = (0, import_react33.useState)([]);
6799
+ const [hiddenList, setHiddenList] = (0, import_react35.useState)([]);
6292
6800
  const { address } = useWallet();
6293
- (0, import_react33.useEffect)(() => {
6801
+ (0, import_react35.useEffect)(() => {
6294
6802
  setHiddenList([]);
6295
6803
  }, [type]);
6296
6804
  return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
@@ -6335,19 +6843,19 @@ function ContactList({
6335
6843
 
6336
6844
  // src/hooks/useMatchWallet.tsx
6337
6845
  var import_react_qrcode = require("react-qrcode");
6338
- var import_react35 = require("react");
6846
+ var import_react37 = require("react");
6339
6847
  var import_react_query9 = require("@tanstack/react-query");
6340
- var import_viem11 = require("viem");
6848
+ var import_viem13 = require("viem");
6341
6849
  var import_react_intl21 = require("react-intl");
6342
6850
 
6343
6851
  // src/components/ImportToken/index.tsx
6344
- var import_react34 = require("react");
6852
+ var import_react36 = require("react");
6345
6853
  var import_react_intl20 = require("react-intl");
6346
6854
  var import_react_query8 = require("@tanstack/react-query");
6347
- var import_viem10 = require("viem");
6855
+ var import_viem12 = require("viem");
6348
6856
 
6349
6857
  // src/hooks/useIsContract.ts
6350
- var import_viem9 = require("viem");
6858
+ var import_viem11 = require("viem");
6351
6859
  var import_react_query7 = require("@tanstack/react-query");
6352
6860
  function useIsContract({
6353
6861
  address,
@@ -6359,9 +6867,9 @@ function useIsContract({
6359
6867
  queryFn: async () => {
6360
6868
  if (!chain) return false;
6361
6869
  if (!address) return false;
6362
- const publicClient = (0, import_viem9.createPublicClient)({
6870
+ const publicClient = (0, import_viem11.createPublicClient)({
6363
6871
  chain,
6364
- transport: (0, import_viem9.http)()
6872
+ transport: (0, import_viem11.http)()
6365
6873
  });
6366
6874
  const res = await publicClient.getCode({ address });
6367
6875
  return res !== null && res !== void 0;
@@ -6373,25 +6881,25 @@ function useIsContract({
6373
6881
  // src/components/ImportToken/index.tsx
6374
6882
  var import_jsx_runtime94 = require("react/jsx-runtime");
6375
6883
  function ImportToken({ close }) {
6376
- const [status, setStatus] = (0, import_react34.useState)("");
6884
+ const [status, setStatus] = (0, import_react36.useState)("");
6377
6885
  const { token } = useUserInfo();
6378
- const [address, setAddress] = (0, import_react34.useState)("");
6379
- const [symbol, setSymbol] = (0, import_react34.useState)("");
6380
- const [decimals, setDecimals] = (0, import_react34.useState)("");
6381
- const [error, setError] = (0, import_react34.useState)({});
6886
+ const [address, setAddress] = (0, import_react36.useState)("");
6887
+ const [symbol, setSymbol] = (0, import_react36.useState)("");
6888
+ const [decimals, setDecimals] = (0, import_react36.useState)("");
6889
+ const [error, setError] = (0, import_react36.useState)({});
6382
6890
  const { publicClient, chainId, chain } = useMatchChain();
6383
6891
  const getContractInfo = async () => {
6384
6892
  if (!publicClient) return;
6385
6893
  const calls = [
6386
6894
  {
6387
6895
  address,
6388
- abi: import_viem10.erc20Abi,
6896
+ abi: import_viem12.erc20Abi,
6389
6897
  functionName: "symbol",
6390
6898
  args: []
6391
6899
  },
6392
6900
  {
6393
6901
  address,
6394
- abi: import_viem10.erc20Abi,
6902
+ abi: import_viem12.erc20Abi,
6395
6903
  functionName: "decimals",
6396
6904
  args: []
6397
6905
  }
@@ -6412,7 +6920,7 @@ function ImportToken({ close }) {
6412
6920
  }
6413
6921
  };
6414
6922
  const intl = (0, import_react_intl20.useIntl)();
6415
- (0, import_react34.useEffect)(() => {
6923
+ (0, import_react36.useEffect)(() => {
6416
6924
  if (address.length === 42) {
6417
6925
  const reg = /^0x[0-9a-fA-F]{40}$/;
6418
6926
  if (!reg.test(address)) {
@@ -6431,7 +6939,7 @@ function ImportToken({ close }) {
6431
6939
  }
6432
6940
  }
6433
6941
  }, [address, publicClient]);
6434
- const [loading, setLoading] = (0, import_react34.useState)(false);
6942
+ const [loading, setLoading] = (0, import_react36.useState)(false);
6435
6943
  const toast = useToast();
6436
6944
  const queryClient2 = (0, import_react_query8.useQueryClient)();
6437
6945
  const onImport = async () => {
@@ -6459,7 +6967,7 @@ function ImportToken({ close }) {
6459
6967
  setLoading(false);
6460
6968
  }
6461
6969
  };
6462
- const canImport = (0, import_react34.useMemo)(() => {
6970
+ const canImport = (0, import_react36.useMemo)(() => {
6463
6971
  if (!address) {
6464
6972
  return false;
6465
6973
  }
@@ -6477,7 +6985,7 @@ function ImportToken({ close }) {
6477
6985
  }, [error, address, symbol, decimals]);
6478
6986
  const isContractQuery = useIsContract({
6479
6987
  //@ts-ignore
6480
- chain: (0, import_viem10.defineChain)(chain),
6988
+ chain: (0, import_viem12.defineChain)(chain),
6481
6989
  address,
6482
6990
  enabled: canImport
6483
6991
  });
@@ -6625,12 +7133,12 @@ function useMatchWallet() {
6625
7133
  };
6626
7134
  }
6627
7135
  function useMatchWalletRecords() {
6628
- const [hasMore, setHasMore] = (0, import_react35.useState)(true);
6629
- const [items, setItems] = (0, import_react35.useState)([]);
7136
+ const [hasMore, setHasMore] = (0, import_react37.useState)(true);
7137
+ const [items, setItems] = (0, import_react37.useState)([]);
6630
7138
  const { chainId, publicClient } = useMatchChain();
6631
7139
  const { address } = useWallet();
6632
- const hasMoreRef = (0, import_react35.useRef)(hasMore);
6633
- const nextPageParamsRef = (0, import_react35.useRef)(void 0);
7140
+ const hasMoreRef = (0, import_react37.useRef)(hasMore);
7141
+ const nextPageParamsRef = (0, import_react37.useRef)(void 0);
6634
7142
  const { contracts, setContracts } = useContractStore_default();
6635
7143
  const fetchMoreData = async () => {
6636
7144
  const chainIdStr = chainId ? chainId.toString() : "";
@@ -6657,7 +7165,7 @@ function useMatchWalletRecords() {
6657
7165
  hasMoreRef.current = true;
6658
7166
  fetchMoreData();
6659
7167
  };
6660
- (0, import_react35.useEffect)(() => {
7168
+ (0, import_react37.useEffect)(() => {
6661
7169
  if (chainId && address) {
6662
7170
  onInit();
6663
7171
  }
@@ -6681,13 +7189,13 @@ function useMatchWalletRecords() {
6681
7189
  for (const contract of contractUnique) {
6682
7190
  calls.push({
6683
7191
  address: contract,
6684
- abi: import_viem11.erc20Abi,
7192
+ abi: import_viem13.erc20Abi,
6685
7193
  functionName: "symbol",
6686
7194
  args: []
6687
7195
  });
6688
7196
  calls.push({
6689
7197
  address: contract,
6690
- abi: import_viem11.erc20Abi,
7198
+ abi: import_viem13.erc20Abi,
6691
7199
  functionName: "decimals",
6692
7200
  args: []
6693
7201
  });
@@ -6713,7 +7221,7 @@ function useMatchWalletRecords() {
6713
7221
  setContracts(contractMap);
6714
7222
  }
6715
7223
  };
6716
- const list = (0, import_react35.useMemo)(() => {
7224
+ const list = (0, import_react37.useMemo)(() => {
6717
7225
  const localTransactions = transactions[`${chainId}-${address}`] || [];
6718
7226
  const removeList = localTransactions.filter((n) => items.findIndex((m) => m.hash == n.hash) >= 0);
6719
7227
  removeList.forEach((item) => {
@@ -6755,7 +7263,7 @@ function useMatchWalletAssets({
6755
7263
  chainId: chainId || 0,
6756
7264
  ...assetListOptions
6757
7265
  });
6758
- const mergedAssets = (0, import_react35.useMemo)(() => {
7266
+ const mergedAssets = (0, import_react37.useMemo)(() => {
6759
7267
  if (!assetListQuery.data && !importTokenQuery.data) return [];
6760
7268
  const assetList = (assetListQuery.data || []).map((asset) => ({
6761
7269
  ...asset,
@@ -6842,14 +7350,14 @@ function useMatchWalletAssetList({
6842
7350
  retry: 3
6843
7351
  // Retry up to 3 times if failed
6844
7352
  });
6845
- const erc20Tokens = (0, import_react35.useMemo)(() => list.filter((asset) => asset.address !== NATIVE_TOKEN_ADDRESS), [list]);
7353
+ const erc20Tokens = (0, import_react37.useMemo)(() => list.filter((asset) => asset.address !== NATIVE_TOKEN_ADDRESS), [list]);
6846
7354
  const erc20BalanceQuery = (0, import_react_query9.useQuery)({
6847
7355
  queryKey: ["erc20Balances", erc20Tokens.map((token) => token.address)],
6848
7356
  queryFn: async () => {
6849
7357
  if (!erc20Tokens.length || !publicClient) return [];
6850
7358
  const calls = erc20Tokens.map((token) => ({
6851
7359
  address: token.address,
6852
- abi: import_viem11.erc20Abi,
7360
+ abi: import_viem13.erc20Abi,
6853
7361
  functionName: "balanceOf",
6854
7362
  args: [address]
6855
7363
  }));
@@ -6870,7 +7378,7 @@ function useMatchWalletAssetList({
6870
7378
  // Refresh every 15 seconds
6871
7379
  retry: 3
6872
7380
  });
6873
- const enrichedAssets = (0, import_react35.useMemo)(() => {
7381
+ const enrichedAssets = (0, import_react37.useMemo)(() => {
6874
7382
  if (!list) return [];
6875
7383
  const erc20Balances = erc20BalanceQuery.data || [];
6876
7384
  return list.map((asset) => {
@@ -6880,11 +7388,11 @@ function useMatchWalletAssetList({
6880
7388
  const assetAddress = asset.address.toLowerCase();
6881
7389
  if (assetAddress === NATIVE_TOKEN_ADDRESS) {
6882
7390
  balanceValue = nativeBalanceQuery.data?.toString() || "0";
6883
- balance = nativeBalanceQuery.data ? Number((0, import_viem11.formatUnits)(nativeBalanceQuery.data, decimals)) : 0;
7391
+ balance = nativeBalanceQuery.data ? Number((0, import_viem13.formatUnits)(nativeBalanceQuery.data, decimals)) : 0;
6884
7392
  } else {
6885
7393
  const index = erc20Tokens.findIndex((t) => t.address.toLowerCase() === assetAddress);
6886
7394
  if (index !== -1 && erc20Balances[index] && erc20Balances[index].status === "success") {
6887
- balance = Number((0, import_viem11.formatUnits)(erc20Balances[index].result, decimals));
7395
+ balance = Number((0, import_viem13.formatUnits)(erc20Balances[index].result, decimals));
6888
7396
  balanceValue = erc20Balances[index].result?.toString() || "0";
6889
7397
  }
6890
7398
  }
@@ -6892,7 +7400,7 @@ function useMatchWalletAssetList({
6892
7400
  return { ...asset, balance, value, balanceValue };
6893
7401
  });
6894
7402
  }, [list, nativeBalanceQuery.data, erc20BalanceQuery.data]);
6895
- (0, import_react35.useEffect)(() => {
7403
+ (0, import_react37.useEffect)(() => {
6896
7404
  const list2 = enrichedAssets.sort((a, b) => {
6897
7405
  if (a.address === NATIVE_TOKEN_ADDRESS) return -1;
6898
7406
  if (b.address === NATIVE_TOKEN_ADDRESS) return 1;
@@ -6917,14 +7425,14 @@ function useMatchWalletAssetList({
6917
7425
  }
6918
7426
 
6919
7427
  // src/hooks/useReceipt.tsx
6920
- var import_react36 = require("react");
7428
+ var import_react38 = require("react");
6921
7429
  var import_react_query10 = require("@tanstack/react-query");
6922
- var import_viem12 = require("viem");
7430
+ var import_viem14 = require("viem");
6923
7431
  var CACHE_TTL = 86400 * 30 * 1e3;
6924
7432
  var MAX_CACHE_SIZE = 500;
6925
7433
  var STORAGE_KEY = "match_receipt_logs";
6926
7434
  function useReceiptCache() {
6927
- const [cache, setCache] = (0, import_react36.useState)(/* @__PURE__ */ new Map());
7435
+ const [cache, setCache] = (0, import_react38.useState)(/* @__PURE__ */ new Map());
6928
7436
  const isLocalStorageAvailable = (() => {
6929
7437
  try {
6930
7438
  const testKey = "__test__";
@@ -6935,7 +7443,7 @@ function useReceiptCache() {
6935
7443
  return false;
6936
7444
  }
6937
7445
  })();
6938
- (0, import_react36.useEffect)(() => {
7446
+ (0, import_react38.useEffect)(() => {
6939
7447
  if (isLocalStorageAvailable) {
6940
7448
  try {
6941
7449
  const storedData = localStorage.getItem(STORAGE_KEY);
@@ -6954,7 +7462,7 @@ function useReceiptCache() {
6954
7462
  }
6955
7463
  }
6956
7464
  }, []);
6957
- const updateLocalStorage = (0, import_react36.useCallback)((updatedCache) => {
7465
+ const updateLocalStorage = (0, import_react38.useCallback)((updatedCache) => {
6958
7466
  if (isLocalStorageAvailable) {
6959
7467
  try {
6960
7468
  const storedData = localStorage.getItem(STORAGE_KEY);
@@ -6971,7 +7479,7 @@ function useReceiptCache() {
6971
7479
  }
6972
7480
  }
6973
7481
  }, []);
6974
- const set = (0, import_react36.useCallback)((key, value) => {
7482
+ const set = (0, import_react38.useCallback)((key, value) => {
6975
7483
  const now = Date.now();
6976
7484
  const newCache = new Map(cache);
6977
7485
  newCache.forEach((entry, k) => {
@@ -6989,7 +7497,7 @@ function useReceiptCache() {
6989
7497
  setCache(newCache);
6990
7498
  updateLocalStorage(newCache);
6991
7499
  }, [cache, updateLocalStorage]);
6992
- const get = (0, import_react36.useCallback)((key) => {
7500
+ const get = (0, import_react38.useCallback)((key) => {
6993
7501
  const entry = cache.get(key);
6994
7502
  if (entry) {
6995
7503
  if (Date.now() - entry.timestamp > CACHE_TTL) {
@@ -7003,7 +7511,7 @@ function useReceiptCache() {
7003
7511
  }
7004
7512
  return void 0;
7005
7513
  }, [cache, updateLocalStorage]);
7006
- const del = (0, import_react36.useCallback)((key) => {
7514
+ const del = (0, import_react38.useCallback)((key) => {
7007
7515
  if (cache.has(key)) {
7008
7516
  const newCache = new Map(cache);
7009
7517
  newCache.delete(key);
@@ -7011,7 +7519,7 @@ function useReceiptCache() {
7011
7519
  updateLocalStorage(newCache);
7012
7520
  }
7013
7521
  }, [cache, updateLocalStorage]);
7014
- const clear = (0, import_react36.useCallback)(() => {
7522
+ const clear = (0, import_react38.useCallback)(() => {
7015
7523
  setCache(/* @__PURE__ */ new Map());
7016
7524
  if (isLocalStorageAvailable) {
7017
7525
  localStorage.removeItem(STORAGE_KEY);
@@ -7026,7 +7534,7 @@ function useReceipt2({
7026
7534
  const { list } = useMatchChain();
7027
7535
  const cache = useReceiptCache();
7028
7536
  const chain = list?.find((item) => item.id === chainId);
7029
- const [shouldRefetch, setShouldRefetch] = (0, import_react36.useState)(true);
7537
+ const [shouldRefetch, setShouldRefetch] = (0, import_react38.useState)(true);
7030
7538
  const query = (0, import_react_query10.useQuery)({
7031
7539
  queryKey: ["match-tx-receipt", hash, chain],
7032
7540
  queryFn: async () => {
@@ -7036,9 +7544,9 @@ function useReceipt2({
7036
7544
  return cache.get(cacheKey);
7037
7545
  }
7038
7546
  try {
7039
- const publicClient = (0, import_viem12.createPublicClient)({
7040
- chain: (0, import_viem12.defineChain)(chain),
7041
- transport: (0, import_viem12.http)()
7547
+ const publicClient = (0, import_viem14.createPublicClient)({
7548
+ chain: (0, import_viem14.defineChain)(chain),
7549
+ transport: (0, import_viem14.http)()
7042
7550
  });
7043
7551
  const receipt = await publicClient.getTransactionReceipt({ hash });
7044
7552
  if (!receipt) {
@@ -7052,7 +7560,7 @@ function useReceipt2({
7052
7560
  },
7053
7561
  refetchInterval: shouldRefetch ? 1e4 : false
7054
7562
  });
7055
- (0, import_react36.useEffect)(() => {
7563
+ (0, import_react38.useEffect)(() => {
7056
7564
  if (query.data) {
7057
7565
  setShouldRefetch(false);
7058
7566
  }
@@ -7061,14 +7569,14 @@ function useReceipt2({
7061
7569
  }
7062
7570
 
7063
7571
  // src/hooks/useTransaction.tsx
7064
- var import_react37 = require("react");
7572
+ var import_react39 = require("react");
7065
7573
  var import_react_query11 = require("@tanstack/react-query");
7066
- var import_viem13 = require("viem");
7574
+ var import_viem15 = require("viem");
7067
7575
  var CACHE_TTL2 = 86400 * 30 * 1e3;
7068
7576
  var MAX_CACHE_SIZE2 = 500;
7069
7577
  var STORAGE_KEY2 = "match_transaction_logs";
7070
7578
  function useTransactionCache() {
7071
- const [cache, setCache] = (0, import_react37.useState)(/* @__PURE__ */ new Map());
7579
+ const [cache, setCache] = (0, import_react39.useState)(/* @__PURE__ */ new Map());
7072
7580
  const isLocalStorageAvailable = (() => {
7073
7581
  try {
7074
7582
  const testKey = "__test__";
@@ -7079,7 +7587,7 @@ function useTransactionCache() {
7079
7587
  return false;
7080
7588
  }
7081
7589
  })();
7082
- (0, import_react37.useEffect)(() => {
7590
+ (0, import_react39.useEffect)(() => {
7083
7591
  if (isLocalStorageAvailable) {
7084
7592
  try {
7085
7593
  const storedData = localStorage.getItem(STORAGE_KEY2);
@@ -7098,7 +7606,7 @@ function useTransactionCache() {
7098
7606
  }
7099
7607
  }
7100
7608
  }, []);
7101
- const updateLocalStorage = (0, import_react37.useCallback)((updatedCache) => {
7609
+ const updateLocalStorage = (0, import_react39.useCallback)((updatedCache) => {
7102
7610
  if (isLocalStorageAvailable) {
7103
7611
  try {
7104
7612
  const storedData = localStorage.getItem(STORAGE_KEY2);
@@ -7115,7 +7623,7 @@ function useTransactionCache() {
7115
7623
  }
7116
7624
  }
7117
7625
  }, []);
7118
- const set = (0, import_react37.useCallback)((key, value) => {
7626
+ const set = (0, import_react39.useCallback)((key, value) => {
7119
7627
  const now = Date.now();
7120
7628
  const newCache = new Map(cache);
7121
7629
  newCache.forEach((entry, k) => {
@@ -7133,7 +7641,7 @@ function useTransactionCache() {
7133
7641
  setCache(newCache);
7134
7642
  updateLocalStorage(newCache);
7135
7643
  }, [cache, updateLocalStorage]);
7136
- const get = (0, import_react37.useCallback)((key) => {
7644
+ const get = (0, import_react39.useCallback)((key) => {
7137
7645
  const entry = cache.get(key);
7138
7646
  if (entry) {
7139
7647
  if (Date.now() - entry.timestamp > CACHE_TTL2) {
@@ -7147,7 +7655,7 @@ function useTransactionCache() {
7147
7655
  }
7148
7656
  return void 0;
7149
7657
  }, [cache, updateLocalStorage]);
7150
- const del = (0, import_react37.useCallback)((key) => {
7658
+ const del = (0, import_react39.useCallback)((key) => {
7151
7659
  if (cache.has(key)) {
7152
7660
  const newCache = new Map(cache);
7153
7661
  newCache.delete(key);
@@ -7155,7 +7663,7 @@ function useTransactionCache() {
7155
7663
  updateLocalStorage(newCache);
7156
7664
  }
7157
7665
  }, [cache, updateLocalStorage]);
7158
- const clear = (0, import_react37.useCallback)(() => {
7666
+ const clear = (0, import_react39.useCallback)(() => {
7159
7667
  setCache(/* @__PURE__ */ new Map());
7160
7668
  if (isLocalStorageAvailable) {
7161
7669
  localStorage.removeItem(STORAGE_KEY2);
@@ -7170,7 +7678,7 @@ function useTransaction({
7170
7678
  const { list } = useMatchChain();
7171
7679
  const cache = useTransactionCache();
7172
7680
  const chain = list?.find((item) => item.id === chainId);
7173
- const [shouldRefetch, setShouldRefetch] = (0, import_react37.useState)(true);
7681
+ const [shouldRefetch, setShouldRefetch] = (0, import_react39.useState)(true);
7174
7682
  const query = (0, import_react_query11.useQuery)({
7175
7683
  queryKey: ["match-tx-transaction", hash, chain],
7176
7684
  queryFn: async () => {
@@ -7180,9 +7688,9 @@ function useTransaction({
7180
7688
  return cache.get(cacheKey);
7181
7689
  }
7182
7690
  try {
7183
- const publicClient = (0, import_viem13.createPublicClient)({
7184
- chain: (0, import_viem13.defineChain)(chain),
7185
- transport: (0, import_viem13.http)()
7691
+ const publicClient = (0, import_viem15.createPublicClient)({
7692
+ chain: (0, import_viem15.defineChain)(chain),
7693
+ transport: (0, import_viem15.http)()
7186
7694
  });
7187
7695
  const transaction = await publicClient.getTransaction({ hash });
7188
7696
  if (!transaction) {
@@ -7196,7 +7704,7 @@ function useTransaction({
7196
7704
  },
7197
7705
  refetchInterval: shouldRefetch ? 1e4 : false
7198
7706
  });
7199
- (0, import_react37.useEffect)(() => {
7707
+ (0, import_react39.useEffect)(() => {
7200
7708
  if (query.data) {
7201
7709
  setShouldRefetch(false);
7202
7710
  }
@@ -7205,7 +7713,7 @@ function useTransaction({
7205
7713
  }
7206
7714
 
7207
7715
  // src/components/CEXBindModal/index.tsx
7208
- var import_react38 = require("react");
7716
+ var import_react40 = require("react");
7209
7717
  var import_react_intl22 = require("react-intl");
7210
7718
  var import_jsx_runtime96 = require("react/jsx-runtime");
7211
7719
  function CEXBindModal({
@@ -7216,16 +7724,16 @@ function CEXBindModal({
7216
7724
  }) {
7217
7725
  const intl = (0, import_react_intl22.useIntl)();
7218
7726
  const { events } = useMatch();
7219
- const [APIPassphrase, setAPIPassphrase] = (0, import_react38.useState)("");
7727
+ const [APIPassphrase, setAPIPassphrase] = (0, import_react40.useState)("");
7220
7728
  const { refreshOverview } = useUserInfo();
7221
- const [loading, setLoading] = (0, import_react38.useState)(false);
7222
- const [key, setKey] = (0, import_react38.useState)("");
7223
- const [secret, setSecret] = (0, import_react38.useState)("");
7224
- const [error, setError] = (0, import_react38.useState)("");
7225
- const needPassphrase = (0, import_react38.useMemo)(() => {
7729
+ const [loading, setLoading] = (0, import_react40.useState)(false);
7730
+ const [key, setKey] = (0, import_react40.useState)("");
7731
+ const [secret, setSecret] = (0, import_react40.useState)("");
7732
+ const [error, setError] = (0, import_react40.useState)("");
7733
+ const needPassphrase = (0, import_react40.useMemo)(() => {
7226
7734
  return ["bitget", "okx"].includes(type.toLowerCase());
7227
7735
  }, [type]);
7228
- (0, import_react38.useEffect)(() => {
7736
+ (0, import_react40.useEffect)(() => {
7229
7737
  if (isOpen) {
7230
7738
  setSecret("");
7231
7739
  setKey("");
@@ -7425,7 +7933,7 @@ var Providers = ({ children }) => {
7425
7933
  var context_default = Providers;
7426
7934
 
7427
7935
  // src/hooks/useWalletInit.ts
7428
- var import_react39 = require("react");
7936
+ var import_react41 = require("react");
7429
7937
 
7430
7938
  // src/utils/wallet.ts
7431
7939
  var sendMessage = ({ method, data, resolve, reject, timeout }) => {
@@ -7458,11 +7966,11 @@ function useWalletInit({
7458
7966
  }) {
7459
7967
  const { endpoints, token, setWallet, appid, refreshOverview } = useLocalStore_default();
7460
7968
  const { setWalletReady, walletReady } = useStore_default();
7461
- const iframeReadyRef = (0, import_react39.useRef)(walletReady);
7462
- (0, import_react39.useEffect)(() => {
7969
+ const iframeReadyRef = (0, import_react41.useRef)(walletReady);
7970
+ (0, import_react41.useEffect)(() => {
7463
7971
  setWallet(config);
7464
7972
  }, [config]);
7465
- (0, import_react39.useEffect)(() => {
7973
+ (0, import_react41.useEffect)(() => {
7466
7974
  matchlog_default.log("sdk.mpc.status", walletReady, iframeReadyRef.current);
7467
7975
  iframeReadyRef.current = walletReady;
7468
7976
  if (iframeReadyRef.current) {
@@ -7479,7 +7987,7 @@ function useWalletInit({
7479
7987
  onReady();
7480
7988
  }
7481
7989
  }, [walletReady]);
7482
- (0, import_react39.useEffect)(() => {
7990
+ (0, import_react41.useEffect)(() => {
7483
7991
  if (!endpoints.auth || !appid || !token || !config) {
7484
7992
  const existingIframe = getWalletIframe();
7485
7993
  if (existingIframe) {
@@ -7579,7 +8087,7 @@ function useWalletInit({
7579
8087
  }
7580
8088
  }
7581
8089
  }, [endpoints.auth, appid, token, config]);
7582
- (0, import_react39.useEffect)(() => {
8090
+ (0, import_react41.useEffect)(() => {
7583
8091
  const messageHandle = async (e) => {
7584
8092
  if (e.origin !== endpoints.auth.substring(0, endpoints.auth.length - 1)) {
7585
8093
  return;
@@ -7660,7 +8168,7 @@ function useWalletInit({
7660
8168
  }
7661
8169
 
7662
8170
  // src/hooks/useInit.tsx
7663
- var import_react40 = require("react");
8171
+ var import_react42 = require("react");
7664
8172
  function useInit({
7665
8173
  theme,
7666
8174
  appid,
@@ -7680,24 +8188,24 @@ function useInit({
7680
8188
  locale: realLocale
7681
8189
  } = useLocalStore_default();
7682
8190
  const walletModalStore = useWalletModalStore();
7683
- const overviewLoadingRef = (0, import_react40.useRef)(false);
8191
+ const overviewLoadingRef = (0, import_react42.useRef)(false);
7684
8192
  const searchParams = new URLSearchParams(window.location.search);
7685
8193
  const matchToken = searchParams.get("matchToken");
7686
8194
  const matchidt = searchParams.get("matchidt");
7687
8195
  const realEndpoints = endpoints || env_default.endpoints;
7688
- (0, import_react40.useEffect)(() => {
8196
+ (0, import_react42.useEffect)(() => {
7689
8197
  setTheme(theme);
7690
8198
  }, [theme]);
7691
- (0, import_react40.useEffect)(() => {
8199
+ (0, import_react42.useEffect)(() => {
7692
8200
  setAppid(appid);
7693
8201
  }, [appid]);
7694
- (0, import_react40.useEffect)(() => {
8202
+ (0, import_react42.useEffect)(() => {
7695
8203
  setEndpoints(realEndpoints);
7696
8204
  }, [realEndpoints]);
7697
- (0, import_react40.useEffect)(() => {
8205
+ (0, import_react42.useEffect)(() => {
7698
8206
  setLocale(locale || "en");
7699
8207
  }, [locale]);
7700
- (0, import_react40.useEffect)(() => {
8208
+ (0, import_react42.useEffect)(() => {
7701
8209
  if (matchToken) {
7702
8210
  const tokenData = JSON.parse(atob(matchToken));
7703
8211
  if (tokenData && tokenData.mid && tokenData.token) {
@@ -7708,7 +8216,7 @@ function useInit({
7708
8216
  }
7709
8217
  }
7710
8218
  }, [matchToken]);
7711
- (0, import_react40.useEffect)(() => {
8219
+ (0, import_react42.useEffect)(() => {
7712
8220
  if (matchidt) {
7713
8221
  const tokenData = decodeURIComponent(matchidt);
7714
8222
  const data = JSON.parse(decodeBase64(tokenData));
@@ -7738,7 +8246,7 @@ function useInit({
7738
8246
  }
7739
8247
  }
7740
8248
  }, [matchidt]);
7741
- (0, import_react40.useEffect)(() => {
8249
+ (0, import_react42.useEffect)(() => {
7742
8250
  const onLoginMessage = (event) => {
7743
8251
  const res = event.data;
7744
8252
  if (res.event === "login" && res.data && (res.data.token || res.data.token_type && res.data.access_token)) {
@@ -7775,7 +8283,7 @@ function useInit({
7775
8283
  overviewLoadingRef.current = false;
7776
8284
  }
7777
8285
  };
7778
- (0, import_react40.useEffect)(() => {
8286
+ (0, import_react42.useEffect)(() => {
7779
8287
  if (token) {
7780
8288
  loadOverview();
7781
8289
  }
@@ -8614,13 +9122,13 @@ var messages = {
8614
9122
  };
8615
9123
 
8616
9124
  // src/MatchContext.tsx
8617
- var import_rainbowkit = require("@rainbow-me/rainbowkit");
9125
+ var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
8618
9126
  var import_wallets = require("@rainbow-me/rainbowkit/wallets");
8619
9127
  var import_chains = require("wagmi/chains");
8620
9128
 
8621
9129
  // src/config/chains/MatchMain.ts
8622
- var import_viem14 = require("viem");
8623
- var matchMain = /* @__PURE__ */ (0, import_viem14.defineChain)({
9130
+ var import_viem16 = require("viem");
9131
+ var matchMain = /* @__PURE__ */ (0, import_viem16.defineChain)({
8624
9132
  //定义match链
8625
9133
  id: 698,
8626
9134
  name: "Matchain",
@@ -8647,8 +9155,8 @@ var matchMain = /* @__PURE__ */ (0, import_viem14.defineChain)({
8647
9155
  });
8648
9156
 
8649
9157
  // src/config/chains/MatchTest.ts
8650
- var import_viem15 = require("viem");
8651
- var matchTest = /* @__PURE__ */ (0, import_viem15.defineChain)({
9158
+ var import_viem17 = require("viem");
9159
+ var matchTest = /* @__PURE__ */ (0, import_viem17.defineChain)({
8652
9160
  //定义matchTest链
8653
9161
  id: 699,
8654
9162
  name: "MatchTest",
@@ -8681,10 +9189,10 @@ var matchTest = /* @__PURE__ */ (0, import_viem15.defineChain)({
8681
9189
  });
8682
9190
 
8683
9191
  // src/MatchContext.tsx
8684
- var import_wagmi = require("wagmi");
9192
+ var import_wagmi3 = require("wagmi");
8685
9193
  var import_jsx_runtime99 = require("react/jsx-runtime");
8686
9194
  var queryClient = new import_react_query13.QueryClient();
8687
- var wagmiConfig = (0, import_rainbowkit.getDefaultConfig)({
9195
+ var wagmiConfig = (0, import_rainbowkit2.getDefaultConfig)({
8688
9196
  appName: "MatchID",
8689
9197
  projectId: "9ac6ea7e07860f04616fb311b447dee9",
8690
9198
  wallets: [
@@ -8701,7 +9209,7 @@ var wagmiConfig = (0, import_rainbowkit.getDefaultConfig)({
8701
9209
  ],
8702
9210
  chains: [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum, import_chains.base, matchMain, matchTest, import_chains.bsc]
8703
9211
  });
8704
- var MatchContext = (0, import_react41.createContext)(void 0);
9212
+ var MatchContext = (0, import_react43.createContext)(void 0);
8705
9213
  var MatchProvider = ({
8706
9214
  children,
8707
9215
  appid,
@@ -8721,7 +9229,7 @@ var MatchProvider = ({
8721
9229
  useWalletInit({
8722
9230
  config: wallet
8723
9231
  });
8724
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl23.IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_wagmi.WagmiProvider, { config: wagmiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_query13.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_rainbowkit.RainbowKitProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
9232
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_intl23.IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_wagmi3.WagmiProvider, { config: wagmiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_query13.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_rainbowkit2.RainbowKitProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
8725
9233
  MatchContext.Provider,
8726
9234
  {
8727
9235
  value: {
@@ -8737,7 +9245,7 @@ var MatchProvider = ({
8737
9245
  ) }) }) }) });
8738
9246
  };
8739
9247
  var useMatch = () => {
8740
- const context = (0, import_react41.useContext)(MatchContext);
9248
+ const context = (0, import_react43.useContext)(MatchContext);
8741
9249
  if (context === void 0) {
8742
9250
  throw new Error("useMatch must be used within a MatchProvider");
8743
9251
  }