@matchain/matchid-sdk-react 0.1.46-alpha.0 → 0.1.46-alpha.2

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 (67) hide show
  1. package/dist/assets/icon/index.d.mts +1 -1
  2. package/dist/assets/icon/index.d.ts +1 -1
  3. package/dist/assets/icon/index.mjs +1 -1
  4. package/dist/{chunk-VY6Y6PLW.mjs → chunk-3XIGN55C.mjs} +2 -2
  5. package/dist/chunk-HBOS3RBL.mjs +19 -0
  6. package/dist/chunk-HBOS3RBL.mjs.map +1 -0
  7. package/dist/{chunk-DPXMCLYK.mjs → chunk-I62Y5HZS.mjs} +2 -2
  8. package/dist/{chunk-SQIJR7RA.mjs → chunk-UA6XHZHX.mjs} +2 -14
  9. package/dist/chunk-UA6XHZHX.mjs.map +1 -0
  10. package/dist/{chunk-EQ752DLJ.mjs → chunk-V35GNYR2.mjs} +647 -973
  11. package/dist/chunk-V35GNYR2.mjs.map +1 -0
  12. package/dist/{chunk-H6M6OSVR.mjs → chunk-VBGOGJ6U.mjs} +48 -48
  13. package/dist/{chunk-H6M6OSVR.mjs.map → chunk-VBGOGJ6U.mjs.map} +1 -1
  14. package/dist/{chunk-CNQJUDKT.mjs → chunk-W4ZOHVKA.mjs} +32 -3
  15. package/dist/chunk-W4ZOHVKA.mjs.map +1 -0
  16. package/dist/components/index.d.mts +3 -4
  17. package/dist/components/index.d.ts +3 -4
  18. package/dist/components/index.js +331 -759
  19. package/dist/components/index.js.map +1 -1
  20. package/dist/components/index.mjs +4 -6
  21. package/dist/hooks/api/index.d.mts +2 -2
  22. package/dist/hooks/api/index.d.ts +2 -2
  23. package/dist/hooks/api/index.js +215 -231
  24. package/dist/hooks/api/index.js.map +1 -1
  25. package/dist/hooks/api/index.mjs +5 -5
  26. package/dist/hooks/index.d.mts +2 -2
  27. package/dist/hooks/index.d.ts +2 -2
  28. package/dist/hooks/index.js +392 -495
  29. package/dist/hooks/index.js.map +1 -1
  30. package/dist/hooks/index.mjs +4 -4
  31. package/dist/{index-BXCdzLbc.d.mts → index-B6OKNMN_.d.mts} +1 -1
  32. package/dist/{index-C_XI1qNB.d.mts → index-Bb5HNcIM.d.mts} +1 -1
  33. package/dist/{index-DhSoJs_L.d.ts → index-C-l6DIgO.d.mts} +2 -24
  34. package/dist/{index-DSLYDlMJ.d.ts → index-C76VhJX1.d.ts} +10 -4
  35. package/dist/{index-RT9tEHMs.d.mts → index-C7ZTBB4_.d.ts} +2 -24
  36. package/dist/{index-CsHEukeG.d.ts → index-C9lQIgOD.d.ts} +1 -1
  37. package/dist/{index-DWOnfdeP.d.ts → index-CD6roBbT.d.ts} +4 -12
  38. package/dist/{index-nqmU7njp.d.mts → index-Ch94kI1m.d.mts} +4 -12
  39. package/dist/{index-D9-2IgL1.d.ts → index-DHyRhe_l.d.ts} +1 -1
  40. package/dist/{index-bpGeBrps.d.mts → index-DYy-xBrS.d.mts} +10 -4
  41. package/dist/{index-BMWq_SVq.d.ts → index-_oiFIWte.d.ts} +1 -1
  42. package/dist/{index-a9wDsxOI.d.mts → index-oBhm0-55.d.mts} +1 -1
  43. package/dist/index.css +14 -1
  44. package/dist/index.d.mts +8 -8
  45. package/dist/index.d.ts +8 -8
  46. package/dist/index.js +2095 -2406
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +9 -8
  49. package/dist/types/index.d.mts +1 -1
  50. package/dist/types/index.d.ts +1 -1
  51. package/dist/types/index.mjs +2 -1
  52. package/dist/{types-Cpmx3fld.d.mts → types-Q3WHZX4Z.d.mts} +1 -0
  53. package/dist/{types-Cpmx3fld.d.ts → types-Q3WHZX4Z.d.ts} +1 -0
  54. package/dist/ui/index.d.mts +3 -3
  55. package/dist/ui/index.d.ts +3 -3
  56. package/dist/ui/index.js +29 -0
  57. package/dist/ui/index.js.map +1 -1
  58. package/dist/ui/index.mjs +5 -3
  59. package/example/src/pages/UI/components/AlphaAvatar.tsx +11 -0
  60. package/example/src/pages/UI/index.tsx +2 -0
  61. package/example/src/pages/User/index.tsx +0 -13
  62. package/package.json +1 -1
  63. package/dist/chunk-CNQJUDKT.mjs.map +0 -1
  64. package/dist/chunk-EQ752DLJ.mjs.map +0 -1
  65. package/dist/chunk-SQIJR7RA.mjs.map +0 -1
  66. /package/dist/{chunk-VY6Y6PLW.mjs.map → chunk-3XIGN55C.mjs.map} +0 -0
  67. /package/dist/{chunk-DPXMCLYK.mjs.map → chunk-I62Y5HZS.mjs.map} +0 -0
@@ -10,7 +10,7 @@ import {
10
10
  matchlog_default,
11
11
  useDownMd,
12
12
  useLayout_exports
13
- } from "./chunk-H6M6OSVR.mjs";
13
+ } from "./chunk-VBGOGJ6U.mjs";
14
14
  import {
15
15
  ArrowDownIcon,
16
16
  ArrowRightIcon,
@@ -33,7 +33,6 @@ import {
33
33
  LinkedinIcon,
34
34
  LoginIcon_default,
35
35
  OKXIcon,
36
- PasswordRoundIcon,
37
36
  SOLDarkIcon,
38
37
  SOLLightIcon,
39
38
  TRXDarkIcon,
@@ -48,7 +47,7 @@ import {
48
47
  XIcon,
49
48
  XverseIcon,
50
49
  YoutubeIcon
51
- } from "./chunk-DPXMCLYK.mjs";
50
+ } from "./chunk-I62Y5HZS.mjs";
52
51
  import {
53
52
  __export
54
53
  } from "./chunk-J5LGTIGS.mjs";
@@ -60,54 +59,12 @@ __export(hooks_exports, {
60
59
  useLayout: () => useLayout_exports,
61
60
  useMatchEvents: () => useMatchEvents,
62
61
  useUserInfo: () => useUserInfo,
63
- useWallet: () => useWallet
62
+ useWallet: () => useWallet2
64
63
  });
65
64
 
66
65
  // src/store/useLocalStore.ts
67
66
  import { create } from "zustand";
68
67
  import { devtools, persist } from "zustand/middleware";
69
- var persistedState = persist(
70
- (set) => ({
71
- appid: "",
72
- token: "",
73
- did: "",
74
- mid: "",
75
- overview: null,
76
- theme: "light",
77
- setOverview: (overview) => set({
78
- overview,
79
- address: overview.address,
80
- did: overview.did,
81
- mid: overview.mid
82
- }),
83
- endpoints: {
84
- back: "https://api.matchid.ai/",
85
- auth: "https://auth.matchid.ai/"
86
- },
87
- setDid: (did) => set({ did }),
88
- setToken: (token) => set({ token }),
89
- setAppid: (appid) => set({ appid }),
90
- setMid: (mid) => set({ mid }),
91
- logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
92
- setTheme: (theme) => set({ theme }),
93
- setEndpoints: (endpoints) => set({ endpoints }),
94
- address: "",
95
- setAddress: (address) => set({ address }),
96
- locale: "en",
97
- setLocale: (locale) => set({ locale }),
98
- wallet: {
99
- type: "UserPasscode"
100
- },
101
- setWallet: (wallet) => set({ wallet })
102
- }),
103
- { name: "match-local" }
104
- );
105
- var useLocalStore = create(devtools(persistedState));
106
- var localStore = useLocalStore;
107
- var useLocalStore_default = useLocalStore;
108
-
109
- // src/hooks/useUserInfo.tsx
110
- import { useMemo as useMemo13 } from "react";
111
68
 
112
69
  // src/api/request.ts
113
70
  import axios from "axios";
@@ -432,274 +389,99 @@ var getAppConfigApi = () => {
432
389
  });
433
390
  };
434
391
 
435
- // src/MatchContext.tsx
436
- import { createContext, useContext } from "react";
437
-
438
- // src/context/BusinessProvider.tsx
439
- import { useEffect as useEffect14 } from "react";
440
-
441
- // src/components/PasswordModal/index.tsx
442
- import { useEffect, useMemo, useState } from "react";
443
- import { FormattedMessage, useIntl } from "react-intl";
444
-
445
- // src/store/useStore.ts
446
- import { create as create2 } from "zustand";
447
- var useStore = create2((set) => ({
448
- walletReady: false,
449
- setWalletReady: (inited) => set({ walletReady: inited }),
450
- recoveryModal: {
451
- open: false,
452
- success: async () => {
392
+ // src/store/useLocalStore.ts
393
+ var persistedState = persist(
394
+ (set) => ({
395
+ appid: "",
396
+ token: "",
397
+ did: "",
398
+ mid: "",
399
+ overview: null,
400
+ theme: "light",
401
+ setOverview: (overview) => set({
402
+ overview,
403
+ address: overview.address,
404
+ did: overview.did,
405
+ mid: overview.mid
406
+ }),
407
+ refreshOverview: async () => {
408
+ const res = await getOverviewInfoApi();
409
+ if (res.data) {
410
+ set({ overview: res.data });
411
+ set({ address: res.data.address });
412
+ set({ did: res.data.did });
413
+ set({ mid: res.data.mid });
414
+ }
453
415
  },
454
- close: async () => {
455
- }
456
- },
457
- setRecoveryModal: (params) => set({ recoveryModal: params }),
458
- closeRecoveryModal: () => set({ recoveryModal: { open: false } })
459
- }));
460
- var useStore_default = useStore;
416
+ endpoints: {
417
+ back: "https://api.matchid.ai/",
418
+ auth: "https://auth.matchid.ai/"
419
+ },
420
+ setDid: (did) => set({ did }),
421
+ setToken: (token) => set({ token }),
422
+ setAppid: (appid) => set({ appid }),
423
+ setMid: (mid) => set({ mid }),
424
+ logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
425
+ setTheme: (theme) => set({ theme }),
426
+ setEndpoints: (endpoints) => set({ endpoints }),
427
+ address: "",
428
+ setAddress: (address) => set({ address }),
429
+ locale: "en",
430
+ setLocale: (locale) => set({ locale }),
431
+ wallet: {
432
+ type: "UserPasscode"
433
+ },
434
+ setWallet: (wallet) => set({ wallet })
435
+ }),
436
+ { name: "match-local" }
437
+ );
438
+ var useLocalStore = create(devtools(persistedState));
439
+ var localStore = useLocalStore;
440
+ var useLocalStore_default = useLocalStore;
461
441
 
462
- // src/components/PasswordModal/index.tsx
463
- import { jsx, jsxs } from "react/jsx-runtime";
464
- function PasswordModal({
465
- title,
466
- isOpen,
467
- onSuccess,
468
- chainType = "ethereum" /* Ethereum */,
469
- recoveryType = "user_passcode_recovery_key" /* UserPasscode */,
470
- ...props
471
- }) {
472
- const { refreshOverview, overview } = useUserInfo();
473
- const { isLogin, did } = useUserInfo();
474
- const [password, setPassword] = useState("");
475
- const [rePassword, setRePassword] = useState("");
476
- const [error, setError] = useState("");
477
- const { generateEmbeddedWallets, initCore } = useWallet();
478
- const { walletReady } = useStore_default();
479
- const intl = useIntl();
480
- const passwordError = useMemo(() => {
481
- if (password.length < 6) return intl.formatMessage({
482
- id: "passwordMinError"
483
- }, {
484
- length: 6
485
- });
486
- return "";
487
- }, [password]);
488
- const rePasswordError = useMemo(() => {
489
- if (rePassword != password) {
490
- return intl.formatMessage({
491
- id: "passwordMatchError"
492
- });
493
- }
494
- return "";
495
- }, [rePassword, password]);
496
- useEffect(() => {
497
- if (isOpen) {
498
- setPassword("");
499
- setRePassword("");
500
- }
501
- }, [isOpen, overview]);
502
- const [isSubmitting, setIsSubmitting] = useState(false);
503
- const onContinue = async () => {
504
- if (isSubmitting) return;
505
- try {
506
- setIsSubmitting(true);
507
- await initCore({
508
- did: overview?.did || "",
509
- address: ""
510
- });
511
- const address = await generateEmbeddedWallets({
512
- userPasscode: password,
513
- chainType,
514
- recoveryType
515
- });
516
- await refreshOverview();
517
- onSuccess && onSuccess();
518
- } catch (error2) {
519
- setError(error2.message);
520
- } finally {
521
- setIsSubmitting(false);
522
- }
523
- };
524
- return /* @__PURE__ */ jsx(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
525
- id: "passwordTitle"
526
- }), children: /* @__PURE__ */ jsxs("div", { className: "matchid-password-box", children: [
527
- /* @__PURE__ */ jsxs("div", { className: "matchid-password-header", children: [
528
- /* @__PURE__ */ jsx("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ jsx(PasswordRoundIcon, {}) }),
529
- /* @__PURE__ */ jsx("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "passwordTips" }) })
530
- ] }),
531
- /* @__PURE__ */ jsxs("div", { className: "matchid-password-content", children: [
532
- /* @__PURE__ */ jsx(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ jsx(
533
- Input,
534
- {
535
- placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
536
- maxLength: 32,
537
- type: "password",
538
- onChange: (e) => setPassword(e.target.value),
539
- value: password
540
- }
541
- ) }),
542
- /* @__PURE__ */ jsx(Field, { label: intl.formatMessage({
543
- id: "rePassword"
544
- }), error: !walletReady ? intl.formatMessage({ id: "walletLoading" }) : rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ jsx(
545
- Input,
546
- {
547
- placeholder: intl.formatMessage({
548
- id: "rePasswordPlaceholder"
549
- }),
550
- maxLength: 32,
551
- onChange: (e) => setRePassword(e.target.value),
552
- value: rePassword,
553
- type: "password"
554
- }
555
- ) })
556
- ] }),
557
- /* @__PURE__ */ jsx(
558
- Button,
559
- {
560
- disabled: password.length == 0 || !!passwordError || !!rePasswordError || !walletReady,
561
- highlight: true,
562
- block: true,
563
- size: "lg",
564
- onClick: onContinue,
565
- loading: isSubmitting,
566
- children: /* @__PURE__ */ jsx(FormattedMessage, { id: "continue" })
567
- }
568
- )
569
- ] }) });
570
- }
442
+ // src/hooks/useUserInfo.tsx
443
+ import { useMemo as useMemo10 } from "react";
571
444
 
572
- // src/components/RecoveryModal/index.tsx
573
- import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
574
- import { FormattedMessage as FormattedMessage2, useIntl as useIntl2 } from "react-intl";
575
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
576
- function RecoveryModal({
577
- title,
578
- isOpen,
579
- onSuccess,
580
- chainType,
581
- recoveryType,
582
- ...props
583
- }) {
584
- const { refreshOverview } = useUserInfo();
585
- const { isLogin, overview } = useUserInfo();
586
- const [password, setPassword] = useState2("");
587
- const { recoveryEmbeddedWallets, initCore } = useWallet();
588
- const [error, setError] = useState2("");
589
- const { walletReady } = useStore_default();
590
- const intl = useIntl2();
591
- const passwordError = useMemo2(() => {
592
- if (password.length < 6) return intl.formatMessage({
593
- id: "passwordMinError"
594
- }, {
595
- length: 6
596
- });
597
- return "";
598
- }, [password]);
599
- useEffect2(() => {
600
- if (isOpen && overview) {
601
- setPassword("");
602
- }
603
- }, [isOpen, overview]);
604
- const [isSubmitting, setIsSubmitting] = useState2(false);
605
- const onContinue = async () => {
606
- if (isSubmitting) return;
607
- try {
608
- setIsSubmitting(true);
609
- await initCore({
610
- did: overview?.did || "",
611
- address: overview?.address || ""
612
- });
613
- await recoveryEmbeddedWallets({
614
- userPasscode: password,
615
- chainType,
616
- recoveryType: "user_passcode_recovery_key" /* UserPasscode */
617
- });
618
- await refreshOverview();
619
- onSuccess && onSuccess();
620
- } catch (error2) {
621
- console.error("qwe-recover-error", error2);
622
- setError(error2.message);
623
- } finally {
624
- setIsSubmitting(false);
625
- }
626
- };
627
- return /* @__PURE__ */ jsx2(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
628
- id: "recoverTitle"
629
- }), children: /* @__PURE__ */ jsxs2("div", { className: "matchid-password-box", children: [
630
- /* @__PURE__ */ jsxs2("div", { className: "matchid-password-header", children: [
631
- /* @__PURE__ */ jsx2("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ jsx2(PasswordRoundIcon, {}) }),
632
- /* @__PURE__ */ jsx2("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ jsx2(FormattedMessage2, { id: "recoverTips" }) })
633
- ] }),
634
- /* @__PURE__ */ jsx2("div", { className: "matchid-password-content", children: /* @__PURE__ */ jsx2(
635
- Field,
636
- {
637
- label: intl.formatMessage({ id: "password" }),
638
- error: !walletReady ? intl.formatMessage({ id: "walletLoading" }) : password.length > 0 ? passwordError || error : error,
639
- children: /* @__PURE__ */ jsx2(
640
- Input,
641
- {
642
- placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
643
- maxLength: 32,
644
- type: "password",
645
- onChange: (e) => setPassword(e.target.value),
646
- value: password
647
- }
648
- )
649
- }
650
- ) }),
651
- /* @__PURE__ */ jsx2(
652
- Button,
653
- {
654
- disabled: password.length == 0 || !!passwordError || !walletReady,
655
- highlight: true,
656
- block: true,
657
- size: "lg",
658
- onClick: onContinue,
659
- loading: isSubmitting,
660
- children: /* @__PURE__ */ jsx2(FormattedMessage2, { id: "continue" })
661
- }
662
- )
663
- ] }) });
664
- }
445
+ // src/MatchContext.tsx
446
+ import { createContext, useContext } from "react";
665
447
 
666
448
  // src/store/useModalStore.ts
667
- import { create as create3 } from "zustand";
449
+ import { create as create2 } from "zustand";
668
450
 
669
451
  // src/hooks/useConfig.tsx
670
- import { jsx as jsx3 } from "react/jsx-runtime";
452
+ import { jsx } from "react/jsx-runtime";
671
453
  var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
672
454
  var WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
673
455
  function useWalletConfig() {
674
456
  const isDownMd = useDownMd();
675
457
  const walletMap = {
676
458
  evm: {
677
- icon: /* @__PURE__ */ jsx3(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
678
- activeIcon: /* @__PURE__ */ jsx3(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
459
+ icon: /* @__PURE__ */ jsx(EVMDarkIcon, { size: isDownMd ? 36 : 40 }),
460
+ activeIcon: /* @__PURE__ */ jsx(EVMLightIcon, { size: isDownMd ? 36 : 40 }),
679
461
  name: "EVM",
680
462
  method: "evm"
681
463
  },
682
464
  sol: {
683
- icon: /* @__PURE__ */ jsx3(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
684
- activeIcon: /* @__PURE__ */ jsx3(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
465
+ icon: /* @__PURE__ */ jsx(SOLDarkIcon, { size: isDownMd ? 36 : 40 }),
466
+ activeIcon: /* @__PURE__ */ jsx(SOLLightIcon, { size: isDownMd ? 36 : 40 }),
685
467
  name: "SOL",
686
468
  method: "sol"
687
469
  },
688
470
  btc: {
689
- icon: /* @__PURE__ */ jsx3(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
690
- activeIcon: /* @__PURE__ */ jsx3(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
471
+ icon: /* @__PURE__ */ jsx(BTCDarkIcon, { size: isDownMd ? 36 : 40 }),
472
+ activeIcon: /* @__PURE__ */ jsx(BTCLightIcon, { size: isDownMd ? 36 : 40 }),
691
473
  name: "BTC",
692
474
  method: "btc"
693
475
  },
694
476
  tron: {
695
- icon: /* @__PURE__ */ jsx3(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
696
- activeIcon: /* @__PURE__ */ jsx3(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
477
+ icon: /* @__PURE__ */ jsx(TRXDarkIcon, { size: isDownMd ? 36 : 40 }),
478
+ activeIcon: /* @__PURE__ */ jsx(TRXLightIcon, { size: isDownMd ? 36 : 40 }),
697
479
  name: "TRON",
698
480
  method: "tron"
699
481
  },
700
482
  ton: {
701
- icon: /* @__PURE__ */ jsx3(TonLightIcon, { size: isDownMd ? 36 : 40 }),
702
- activeIcon: /* @__PURE__ */ jsx3(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
483
+ icon: /* @__PURE__ */ jsx(TonLightIcon, { size: isDownMd ? 36 : 40 }),
484
+ activeIcon: /* @__PURE__ */ jsx(TonLightIcon2, { size: isDownMd ? 36 : 40 }),
703
485
  name: "TON",
704
486
  method: "ton"
705
487
  }
@@ -710,37 +492,37 @@ function useWalletConfig() {
710
492
  }
711
493
 
712
494
  // src/store/useModalStore.ts
713
- var useSOLModalStore = create3((set) => ({
495
+ var useSOLModalStore = create2((set) => ({
714
496
  isOpen: false,
715
497
  type: "",
716
498
  open: (type) => set({ isOpen: true, type }),
717
499
  close: () => set({ isOpen: false })
718
500
  }));
719
- var useTRONModalStore = create3((set) => ({
501
+ var useTRONModalStore = create2((set) => ({
720
502
  isOpen: false,
721
503
  type: "",
722
504
  open: (type) => set({ isOpen: true, type }),
723
505
  close: () => set({ isOpen: false })
724
506
  }));
725
- var useTONModalStore = create3((set) => ({
507
+ var useTONModalStore = create2((set) => ({
726
508
  isOpen: false,
727
509
  type: "",
728
510
  open: (type) => set({ isOpen: true, type }),
729
511
  close: () => set({ isOpen: false })
730
512
  }));
731
- var useBTCModalStore = create3((set) => ({
513
+ var useBTCModalStore = create2((set) => ({
732
514
  isOpen: false,
733
515
  type: "",
734
516
  open: (type) => set({ isOpen: true, type }),
735
517
  close: () => set({ isOpen: false })
736
518
  }));
737
- var useCEXBindModalStore = create3((set) => ({
519
+ var useCEXBindModalStore = create2((set) => ({
738
520
  type: "",
739
521
  isOpen: false,
740
522
  open: (type) => set({ isOpen: true, type }),
741
523
  close: () => set({ isOpen: false })
742
524
  }));
743
- var useHashPanelStore = create3((set) => ({
525
+ var useHashPanelStore = create2((set) => ({
744
526
  isOpen: false,
745
527
  hash: null,
746
528
  chain: null,
@@ -751,7 +533,7 @@ var useHashPanelStore = create3((set) => ({
751
533
  }),
752
534
  close: () => set({ isOpen: false })
753
535
  }));
754
- var useWalletModalStore = create3((set) => ({
536
+ var useWalletModalStore = create2((set) => ({
755
537
  isOpen: false,
756
538
  type: "",
757
539
  methods: [],
@@ -774,7 +556,6 @@ __export(components_exports, {
774
556
  Modal: () => Modal,
775
557
  ModalWithHeader: () => ModalWithHeader,
776
558
  Overlay: () => Overlay,
777
- PasswordModal: () => PasswordModal,
778
559
  Popover: () => Popover,
779
560
  SOLModal: () => SOLModal,
780
561
  TONModal: () => TONModal,
@@ -784,10 +565,10 @@ __export(components_exports, {
784
565
  });
785
566
 
786
567
  // src/components/EmailModal/index.tsx
787
- import { useEffect as useEffect5, useState as useState5 } from "react";
568
+ import { useEffect as useEffect3, useState as useState3 } from "react";
788
569
 
789
570
  // src/components/EmailModal/StepEmail.tsx
790
- import { useEffect as useEffect3, useMemo as useMemo3, useState as useState3 } from "react";
571
+ import { useEffect, useMemo, useState } from "react";
791
572
 
792
573
  // src/utils/index.ts
793
574
  var getVersion = () => {
@@ -815,26 +596,26 @@ function getAppClientId() {
815
596
  }
816
597
 
817
598
  // src/components/EmailModal/StepEmail.tsx
818
- import { FormattedMessage as FormattedMessage3, useIntl as useIntl3 } from "react-intl";
819
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
599
+ import { FormattedMessage, useIntl } from "react-intl";
600
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
820
601
  function StepEmail(props) {
821
- const intl = useIntl3();
822
- const [emailVal, setEmailVal] = useState3("");
823
- useEffect3(() => {
602
+ const intl = useIntl();
603
+ const [emailVal, setEmailVal] = useState("");
604
+ useEffect(() => {
824
605
  if (props.email) {
825
606
  setEmailVal(props.email);
826
607
  }
827
608
  }, []);
828
- const canContinue = useMemo3(() => {
609
+ const canContinue = useMemo(() => {
829
610
  return isValidEmail(emailVal);
830
611
  }, [emailVal]);
831
612
  const onContinue = async () => {
832
613
  props.onContinue(emailVal);
833
614
  };
834
- return /* @__PURE__ */ jsxs3("div", { className: "matchid-email-email-box", children: [
835
- /* @__PURE__ */ jsx4(Field, { label: intl.formatMessage({
615
+ return /* @__PURE__ */ jsxs("div", { className: "matchid-email-email-box", children: [
616
+ /* @__PURE__ */ jsx2(Field, { label: intl.formatMessage({
836
617
  id: "emailAddress"
837
- }), children: /* @__PURE__ */ jsx4(
618
+ }), children: /* @__PURE__ */ jsx2(
838
619
  Input,
839
620
  {
840
621
  placeholder: intl.formatMessage({
@@ -844,31 +625,31 @@ function StepEmail(props) {
844
625
  value: emailVal
845
626
  }
846
627
  ) }),
847
- /* @__PURE__ */ jsx4(Button, { disabled: !canContinue, style: {
628
+ /* @__PURE__ */ jsx2(Button, { disabled: !canContinue, style: {
848
629
  marginTop: "64px"
849
- }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx4(FormattedMessage3, { id: "continue" }) })
630
+ }, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx2(FormattedMessage, { id: "continue" }) })
850
631
  ] });
851
632
  }
852
633
 
853
634
  // src/components/EmailModal/StepVerify.tsx
854
- import { useEffect as useEffect4, useMemo as useMemo4, useRef, useState as useState4 } from "react";
635
+ import { useEffect as useEffect2, useMemo as useMemo2, useRef, useState as useState2 } from "react";
855
636
 
856
637
  // src/config/index.tsx
857
638
  var EMAIL_INTERVAL = 60;
858
639
  var EMAIL_CODE_LENGTH = 6;
859
640
 
860
641
  // src/components/EmailModal/StepVerify.tsx
861
- import { FormattedMessage as FormattedMessage4, useIntl as useIntl4 } from "react-intl";
862
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
642
+ import { FormattedMessage as FormattedMessage2, useIntl as useIntl2 } from "react-intl";
643
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
863
644
  function StepVerify(props) {
864
- const intl = useIntl4();
645
+ const intl = useIntl2();
865
646
  const { getLoginEmailCode, loginByEmail } = useUserInfo();
866
- const [error, setError] = useState4("");
867
- const [code, setCode] = useState4("");
868
- const [sending, setSending] = useState4(false);
869
- const [submitting, setSubmitting] = useState4(false);
647
+ const [error, setError] = useState2("");
648
+ const [code, setCode] = useState2("");
649
+ const [sending, setSending] = useState2(false);
650
+ const [submitting, setSubmitting] = useState2(false);
870
651
  const sendTimeRef = useRef(0);
871
- const [sendBtnText, setSendBtnText] = useState4(intl.formatMessage({
652
+ const [sendBtnText, setSendBtnText] = useState2(intl.formatMessage({
872
653
  id: "send"
873
654
  }));
874
655
  const intervalTime = EMAIL_INTERVAL;
@@ -904,7 +685,7 @@ function StepVerify(props) {
904
685
  setSending(false);
905
686
  }
906
687
  };
907
- useEffect4(() => {
688
+ useEffect2(() => {
908
689
  onSend();
909
690
  return () => {
910
691
  if (intervalRef.current) {
@@ -912,7 +693,7 @@ function StepVerify(props) {
912
693
  }
913
694
  };
914
695
  }, []);
915
- const canContinue = useMemo4(() => {
696
+ const canContinue = useMemo2(() => {
916
697
  return code.length === codeLength;
917
698
  }, [code]);
918
699
  const onContinue = async () => {
@@ -936,17 +717,17 @@ function StepVerify(props) {
936
717
  setSubmitting(false);
937
718
  }
938
719
  };
939
- return /* @__PURE__ */ jsxs4("div", { className: "matchid-email-verify-box", children: [
940
- /* @__PURE__ */ jsxs4("div", { className: "matchid-email-verify-header", children: [
941
- /* @__PURE__ */ jsx5("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ jsx5(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
942
- /* @__PURE__ */ jsxs4("div", { className: "matchid-email-verify-header-content", children: [
943
- /* @__PURE__ */ jsx5("div", { className: "matchid-email-verify-header-value", children: props.email }),
944
- /* @__PURE__ */ jsx5("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ jsx5(FormattedMessage4, { id: "sendEmailTips" }) })
720
+ return /* @__PURE__ */ jsxs2("div", { className: "matchid-email-verify-box", children: [
721
+ /* @__PURE__ */ jsxs2("div", { className: "matchid-email-verify-header", children: [
722
+ /* @__PURE__ */ jsx3("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ jsx3(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
723
+ /* @__PURE__ */ jsxs2("div", { className: "matchid-email-verify-header-content", children: [
724
+ /* @__PURE__ */ jsx3("div", { className: "matchid-email-verify-header-value", children: props.email }),
725
+ /* @__PURE__ */ jsx3("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ jsx3(FormattedMessage2, { id: "sendEmailTips" }) })
945
726
  ] })
946
727
  ] }),
947
- /* @__PURE__ */ jsx5(Field, { label: intl.formatMessage({
728
+ /* @__PURE__ */ jsx3(Field, { label: intl.formatMessage({
948
729
  id: "verificationCode"
949
- }), error, children: /* @__PURE__ */ jsx5(
730
+ }), error, children: /* @__PURE__ */ jsx3(
950
731
  Input,
951
732
  {
952
733
  placeholder: intl.formatMessage({
@@ -956,7 +737,7 @@ function StepVerify(props) {
956
737
  maxLength: codeLength,
957
738
  onChange: (e) => setCode(e.target.value),
958
739
  value: code,
959
- after: /* @__PURE__ */ jsx5(
740
+ after: /* @__PURE__ */ jsx3(
960
741
  Button,
961
742
  {
962
743
  highlight: true,
@@ -975,13 +756,13 @@ function StepVerify(props) {
975
756
  )
976
757
  }
977
758
  ) }),
978
- /* @__PURE__ */ jsx5(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ jsx5(FormattedMessage4, { id: "continue" }) })
759
+ /* @__PURE__ */ jsx3(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ jsx3(FormattedMessage2, { id: "continue" }) })
979
760
  ] });
980
761
  }
981
762
 
982
763
  // src/components/EmailModal/index.tsx
983
- import { useIntl as useIntl5 } from "react-intl";
984
- import { jsx as jsx6 } from "react/jsx-runtime";
764
+ import { useIntl as useIntl3 } from "react-intl";
765
+ import { jsx as jsx4 } from "react/jsx-runtime";
985
766
  function EmailModal({
986
767
  isOpen = false,
987
768
  width = 480,
@@ -989,16 +770,16 @@ function EmailModal({
989
770
  onBack,
990
771
  onLogin
991
772
  }) {
992
- const [step, setStep] = useState5("input");
993
- const [emailVal, setEmailVal] = useState5("");
994
- const intl = useIntl5();
995
- useEffect5(() => {
773
+ const [step, setStep] = useState3("input");
774
+ const [emailVal, setEmailVal] = useState3("");
775
+ const intl = useIntl3();
776
+ useEffect3(() => {
996
777
  if (!isOpen) {
997
778
  setStep("input");
998
779
  setEmailVal("");
999
780
  }
1000
781
  }, [isOpen]);
1001
- return /* @__PURE__ */ jsx6(
782
+ return /* @__PURE__ */ jsx4(
1002
783
  ModalWithHeader,
1003
784
  {
1004
785
  isOpen,
@@ -1008,17 +789,17 @@ function EmailModal({
1008
789
  id: "email"
1009
790
  }),
1010
791
  onBack: step == "verify" ? () => setStep("input") : onBack,
1011
- children: step === "input" ? /* @__PURE__ */ jsx6(StepEmail, { email: emailVal, onContinue: (email) => {
792
+ children: step === "input" ? /* @__PURE__ */ jsx4(StepEmail, { email: emailVal, onContinue: (email) => {
1012
793
  setEmailVal(email);
1013
794
  setStep("verify");
1014
- } }) : /* @__PURE__ */ jsx6(StepVerify, { email: emailVal, onSuccess: onLogin })
795
+ } }) : /* @__PURE__ */ jsx4(StepVerify, { email: emailVal, onSuccess: onLogin })
1015
796
  }
1016
797
  );
1017
798
  }
1018
799
 
1019
800
  // src/components/LoginBox/index.tsx
1020
- import { useMemo as useMemo5, useState as useState6 } from "react";
1021
- import { FormattedMessage as FormattedMessage5, useIntl as useIntl6 } from "react-intl";
801
+ import { useMemo as useMemo3, useState as useState4 } from "react";
802
+ import { FormattedMessage as FormattedMessage3, useIntl as useIntl4 } from "react-intl";
1022
803
 
1023
804
  // src/hooks/useAppConfig.ts
1024
805
  import { useQuery } from "@tanstack/react-query";
@@ -1041,7 +822,7 @@ function useAppConfig() {
1041
822
  }
1042
823
 
1043
824
  // src/components/LoginBox/index.tsx
1044
- import { Fragment, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
825
+ import { Fragment, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
1045
826
  var RecommendItem = ({
1046
827
  icon,
1047
828
  name,
@@ -1050,20 +831,20 @@ var RecommendItem = ({
1050
831
  children,
1051
832
  footer
1052
833
  }) => {
1053
- return /* @__PURE__ */ jsxs5("div", { className: "matchid-login-recommend-method", children: [
1054
- /* @__PURE__ */ jsxs5("div", { className: "matchid-login-recommend-method-item", onClick, children: [
1055
- /* @__PURE__ */ jsxs5("div", { className: "matchid-login-recommend-method-content", children: [
1056
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-recommend-method-icon", children: icon }),
1057
- /* @__PURE__ */ jsx7("span", { className: "matchid-login-recommend-method-name", children: name })
834
+ return /* @__PURE__ */ jsxs3("div", { className: "matchid-login-recommend-method", children: [
835
+ /* @__PURE__ */ jsxs3("div", { className: "matchid-login-recommend-method-item", onClick, children: [
836
+ /* @__PURE__ */ jsxs3("div", { className: "matchid-login-recommend-method-content", children: [
837
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-recommend-method-icon", children: icon }),
838
+ /* @__PURE__ */ jsx5("span", { className: "matchid-login-recommend-method-name", children: name })
1058
839
  ] }),
1059
- footer ? footer : children ? /* @__PURE__ */ jsx7(
840
+ footer ? footer : children ? /* @__PURE__ */ jsx5(
1060
841
  ArrowDownIcon,
1061
842
  {
1062
843
  className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
1063
844
  size: 20,
1064
845
  color: "var(--matchid-arrow-color)"
1065
846
  }
1066
- ) : /* @__PURE__ */ jsx7(
847
+ ) : /* @__PURE__ */ jsx5(
1067
848
  ArrowRightIcon,
1068
849
  {
1069
850
  className: "matchid-login-recommend-method-arrow",
@@ -1072,7 +853,7 @@ var RecommendItem = ({
1072
853
  }
1073
854
  )
1074
855
  ] }),
1075
- children && /* @__PURE__ */ jsx7(
856
+ children && /* @__PURE__ */ jsx5(
1076
857
  "div",
1077
858
  {
1078
859
  className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
@@ -1088,7 +869,7 @@ function LoginBox({
1088
869
  inModal = false
1089
870
  }) {
1090
871
  const config = useAppConfig();
1091
- const methodConfig = useMemo5(() => {
872
+ const methodConfig = useMemo3(() => {
1092
873
  if (recommendMethods || methods || walletMethods) {
1093
874
  return {
1094
875
  recommendMethods: recommendMethods ? recommendMethods : walletMethods ? ["wallet"] : [],
@@ -1130,82 +911,82 @@ function LoginBox({
1130
911
  walletMethods: walletMethodList
1131
912
  };
1132
913
  }, [config.platform, recommendMethods, methods, walletMethods]);
1133
- const [emailOpen, setEmailOpen] = useState6(false);
914
+ const [emailOpen, setEmailOpen] = useState4(false);
1134
915
  const { login } = useUserInfo();
1135
- const [showWallet, setShowWallet] = useState6(false);
1136
- const intl = useIntl6();
916
+ const [showWallet, setShowWallet] = useState4(false);
917
+ const intl = useIntl4();
1137
918
  const isDownMd = useDownMd();
1138
919
  const methodMap = {
1139
920
  wallet: {
1140
- icon: /* @__PURE__ */ jsx7(WalletIcon, { size: isDownMd ? 36 : 40 }),
921
+ icon: /* @__PURE__ */ jsx5(WalletIcon, { size: isDownMd ? 36 : 40 }),
1141
922
  name: intl.formatMessage({ id: "wallet" }),
1142
923
  onClick: () => setShowWallet(!showWallet),
1143
924
  type: "wallet"
1144
925
  },
1145
926
  email: {
1146
- icon: /* @__PURE__ */ jsx7(EmailIcon, { size: isDownMd ? 36 : 40 }),
927
+ icon: /* @__PURE__ */ jsx5(EmailIcon, { size: isDownMd ? 36 : 40 }),
1147
928
  name: intl.formatMessage({ id: "email" }),
1148
929
  onClick: () => {
1149
930
  setEmailOpen(true);
1150
931
  }
1151
932
  },
1152
933
  google: {
1153
- icon: /* @__PURE__ */ jsx7(GoogleIcon, { size: isDownMd ? 36 : 40 }),
934
+ icon: /* @__PURE__ */ jsx5(GoogleIcon, { size: isDownMd ? 36 : 40 }),
1154
935
  name: "Google",
1155
936
  onClick: () => login("google")
1156
937
  },
1157
938
  twitter: {
1158
- icon: /* @__PURE__ */ jsx7(XIcon, { size: isDownMd ? 36 : 40 }),
939
+ icon: /* @__PURE__ */ jsx5(XIcon, { size: isDownMd ? 36 : 40 }),
1159
940
  name: "X",
1160
941
  onClick: () => login("twitter")
1161
942
  },
1162
943
  telegram: {
1163
- icon: /* @__PURE__ */ jsx7(TelegramIcon, { size: isDownMd ? 36 : 40 }),
944
+ icon: /* @__PURE__ */ jsx5(TelegramIcon, { size: isDownMd ? 36 : 40 }),
1164
945
  name: "Telegram",
1165
946
  onClick: () => login("telegram")
1166
947
  },
1167
948
  github: {
1168
- icon: /* @__PURE__ */ jsx7(GithubIcon, { size: isDownMd ? 36 : 40 }),
949
+ icon: /* @__PURE__ */ jsx5(GithubIcon, { size: isDownMd ? 36 : 40 }),
1169
950
  name: "Github",
1170
951
  onClick: () => login("github")
1171
952
  },
1172
953
  discord: {
1173
- icon: /* @__PURE__ */ jsx7(DiscordIcon, { size: isDownMd ? 36 : 40 }),
954
+ icon: /* @__PURE__ */ jsx5(DiscordIcon, { size: isDownMd ? 36 : 40 }),
1174
955
  name: "Discord",
1175
956
  onClick: () => login("discord")
1176
957
  },
1177
958
  linkedin: {
1178
- icon: /* @__PURE__ */ jsx7(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
959
+ icon: /* @__PURE__ */ jsx5(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
1179
960
  name: "LinkedIn",
1180
961
  onClick: () => login("linkedin")
1181
962
  },
1182
963
  facebook: {
1183
- icon: /* @__PURE__ */ jsx7(FacebookIcon, { size: isDownMd ? 36 : 40 }),
964
+ icon: /* @__PURE__ */ jsx5(FacebookIcon, { size: isDownMd ? 36 : 40 }),
1184
965
  name: "Facebook",
1185
966
  onClick: () => login("facebook")
1186
967
  },
1187
968
  youtube: {
1188
- icon: /* @__PURE__ */ jsx7(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
969
+ icon: /* @__PURE__ */ jsx5(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
1189
970
  name: "Youtube",
1190
971
  onClick: () => login("youtube")
1191
972
  }
1192
973
  };
1193
974
  const { walletMap } = useWalletConfig();
1194
- return /* @__PURE__ */ jsxs5(Fragment, { children: [
1195
- (!inModal || !emailOpen) && /* @__PURE__ */ jsxs5("div", { className: "matchid-login-box", children: [
1196
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
1197
- return /* @__PURE__ */ jsx7(
975
+ return /* @__PURE__ */ jsxs3(Fragment, { children: [
976
+ (!inModal || !emailOpen) && /* @__PURE__ */ jsxs3("div", { className: "matchid-login-box", children: [
977
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
978
+ return /* @__PURE__ */ jsx5(
1198
979
  RecommendItem,
1199
980
  {
1200
981
  icon: methodMap[m]?.icon,
1201
982
  name: methodMap[m]?.name,
1202
983
  onClick: methodMap[m]?.onClick,
1203
984
  showChildren: m == "wallet" && showWallet,
1204
- children: m == "wallet" && /* @__PURE__ */ jsxs5(Fragment, { children: [
1205
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-recommend-wallet-divider" }),
1206
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
985
+ children: m == "wallet" && /* @__PURE__ */ jsxs3(Fragment, { children: [
986
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-recommend-wallet-divider" }),
987
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
1207
988
  const m2 = walletMap[n];
1208
- return /* @__PURE__ */ jsxs5(
989
+ return /* @__PURE__ */ jsxs3(
1209
990
  "div",
1210
991
  {
1211
992
  className: "matchid-login-recommend-wallet-item",
@@ -1213,16 +994,16 @@ function LoginBox({
1213
994
  login(m2.method);
1214
995
  },
1215
996
  children: [
1216
- /* @__PURE__ */ jsxs5("div", { className: "matchid-login-recommend-wallet-item-content", children: [
1217
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
1218
- /* @__PURE__ */ jsx7(
997
+ /* @__PURE__ */ jsxs3("div", { className: "matchid-login-recommend-wallet-item-content", children: [
998
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
999
+ /* @__PURE__ */ jsx5(
1219
1000
  "div",
1220
1001
  {
1221
1002
  className: "matchid-login-recommend-wallet-item-hover-icon",
1222
1003
  children: m2.activeIcon
1223
1004
  }
1224
1005
  ),
1225
- /* @__PURE__ */ jsx7(
1006
+ /* @__PURE__ */ jsx5(
1226
1007
  "span",
1227
1008
  {
1228
1009
  className: "matchid-login-recommend-wallet-item-name",
@@ -1230,7 +1011,7 @@ function LoginBox({
1230
1011
  }
1231
1012
  )
1232
1013
  ] }),
1233
- /* @__PURE__ */ jsx7(
1014
+ /* @__PURE__ */ jsx5(
1234
1015
  ArrowRightIcon,
1235
1016
  {
1236
1017
  className: "matchid-login-recommend-wallet-item-arrow",
@@ -1248,10 +1029,10 @@ function LoginBox({
1248
1029
  m
1249
1030
  );
1250
1031
  }) }),
1251
- methodConfig.methods.length > 0 && /* @__PURE__ */ jsxs5("div", { className: "matchid-login-other", children: [
1252
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ jsx7(FormattedMessage5, { id: "otherLoginMethods" }) }),
1253
- /* @__PURE__ */ jsx7("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
1254
- return /* @__PURE__ */ jsx7(
1032
+ methodConfig.methods.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "matchid-login-other", children: [
1033
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ jsx5(FormattedMessage3, { id: "otherLoginMethods" }) }),
1034
+ /* @__PURE__ */ jsx5("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
1035
+ return /* @__PURE__ */ jsx5(
1255
1036
  "div",
1256
1037
  {
1257
1038
  className: "matchid-login-method-item",
@@ -1264,7 +1045,7 @@ function LoginBox({
1264
1045
  }) })
1265
1046
  ] })
1266
1047
  ] }),
1267
- /* @__PURE__ */ jsx7(
1048
+ /* @__PURE__ */ jsx5(
1268
1049
  EmailModal,
1269
1050
  {
1270
1051
  isOpen: emailOpen,
@@ -1280,56 +1061,56 @@ function LoginBox({
1280
1061
  }
1281
1062
 
1282
1063
  // src/components/LoginButton/index.tsx
1283
- import { useState as useState8 } from "react";
1064
+ import { useState as useState6 } from "react";
1284
1065
 
1285
1066
  // src/components/LoginPanel/index.tsx
1286
- import { FormattedMessage as FormattedMessage6 } from "react-intl";
1287
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1067
+ import { FormattedMessage as FormattedMessage4 } from "react-intl";
1068
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
1288
1069
  function LoginPanel({
1289
1070
  header,
1290
1071
  onClose,
1291
1072
  ...props
1292
1073
  }) {
1293
1074
  const isDownMd = useDownMd();
1294
- return /* @__PURE__ */ jsxs6("div", { className: "matchid-login-panel", children: [
1295
- header ? header : /* @__PURE__ */ jsxs6("div", { className: "matchid-login-panel-header", children: [
1296
- /* @__PURE__ */ jsxs6("div", { className: "matchid-login-panel-header-content", children: [
1297
- /* @__PURE__ */ jsx8("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ jsx8(FormattedMessage6, { id: "loginTitle" }) }),
1298
- /* @__PURE__ */ jsx8("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ jsx8(FormattedMessage6, { id: "loginTips" }) })
1075
+ return /* @__PURE__ */ jsxs4("div", { className: "matchid-login-panel", children: [
1076
+ header ? header : /* @__PURE__ */ jsxs4("div", { className: "matchid-login-panel-header", children: [
1077
+ /* @__PURE__ */ jsxs4("div", { className: "matchid-login-panel-header-content", children: [
1078
+ /* @__PURE__ */ jsx6("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ jsx6(FormattedMessage4, { id: "loginTitle" }) }),
1079
+ /* @__PURE__ */ jsx6("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ jsx6(FormattedMessage4, { id: "loginTips" }) })
1299
1080
  ] }),
1300
- onClose && /* @__PURE__ */ jsx8("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ jsx8(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
1081
+ onClose && /* @__PURE__ */ jsx6("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ jsx6(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
1301
1082
  ] }),
1302
- /* @__PURE__ */ jsx8("div", { className: "matchid-login-panel-divide" }),
1303
- /* @__PURE__ */ jsx8("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ jsx8(LoginBox, { ...props }) })
1083
+ /* @__PURE__ */ jsx6("div", { className: "matchid-login-panel-divide" }),
1084
+ /* @__PURE__ */ jsx6("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ jsx6(LoginBox, { ...props }) })
1304
1085
  ] });
1305
1086
  }
1306
1087
 
1307
1088
  // src/components/LoginModal/index.tsx
1308
- import { jsx as jsx9 } from "react/jsx-runtime";
1089
+ import { jsx as jsx7 } from "react/jsx-runtime";
1309
1090
  function LoginModal({
1310
1091
  isOpen = false,
1311
1092
  width = 480,
1312
1093
  ...props
1313
1094
  }) {
1314
1095
  const { isLogin } = useUserInfo();
1315
- return /* @__PURE__ */ jsx9(
1096
+ return /* @__PURE__ */ jsx7(
1316
1097
  Modal,
1317
1098
  {
1318
1099
  isOpen: isOpen && !isLogin,
1319
1100
  width,
1320
- children: /* @__PURE__ */ jsx9(LoginPanel, { ...props, inModal: true })
1101
+ children: /* @__PURE__ */ jsx7(LoginPanel, { ...props, inModal: true })
1321
1102
  }
1322
1103
  );
1323
1104
  }
1324
1105
 
1325
1106
  // src/components/UserPopover/index.tsx
1326
- import { useState as useState7 } from "react";
1107
+ import { useState as useState5 } from "react";
1327
1108
 
1328
1109
  // src/assets/icon/ProfileIcon.tsx
1329
- import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
1110
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
1330
1111
  function ProfileIcon({ size = 24, color = "black", ...props }) {
1331
- return /* @__PURE__ */ jsxs7("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
1332
- /* @__PURE__ */ jsx10(
1112
+ return /* @__PURE__ */ jsxs5("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
1113
+ /* @__PURE__ */ jsx8(
1333
1114
  "path",
1334
1115
  {
1335
1116
  fillRule: "evenodd",
@@ -1338,7 +1119,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
1338
1119
  fill: color
1339
1120
  }
1340
1121
  ),
1341
- /* @__PURE__ */ jsx10(
1122
+ /* @__PURE__ */ jsx8(
1342
1123
  "path",
1343
1124
  {
1344
1125
  fillRule: "evenodd",
@@ -1351,11 +1132,11 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
1351
1132
  }
1352
1133
 
1353
1134
  // src/components/UserPopover/index.tsx
1354
- import { FormattedMessage as FormattedMessage7, useIntl as useIntl7 } from "react-intl";
1355
- import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1135
+ import { FormattedMessage as FormattedMessage5, useIntl as useIntl5 } from "react-intl";
1136
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
1356
1137
  function UserContent() {
1357
1138
  const { logout, address, username } = useUserInfo();
1358
- const [logouting, setLogouting] = useState7(false);
1139
+ const [logouting, setLogouting] = useState5(false);
1359
1140
  const onLogout = async () => {
1360
1141
  if (logouting) return;
1361
1142
  try {
@@ -1373,34 +1154,34 @@ function UserContent() {
1373
1154
  rightIcon,
1374
1155
  onClick
1375
1156
  }) => {
1376
- return /* @__PURE__ */ jsxs8("div", { className: "matchid-user-popover-item", onClick, children: [
1377
- /* @__PURE__ */ jsxs8("div", { className: `matchid-user-popover-item-content`, children: [
1157
+ return /* @__PURE__ */ jsxs6("div", { className: "matchid-user-popover-item", onClick, children: [
1158
+ /* @__PURE__ */ jsxs6("div", { className: `matchid-user-popover-item-content`, children: [
1378
1159
  icon,
1379
- /* @__PURE__ */ jsx11("div", { className: "matchid-user-popover-item-text", children })
1160
+ /* @__PURE__ */ jsx9("div", { className: "matchid-user-popover-item-text", children })
1380
1161
  ] }),
1381
1162
  rightIcon
1382
1163
  ] });
1383
1164
  };
1384
1165
  const UserDivider = () => {
1385
- return /* @__PURE__ */ jsx11("div", { className: `matchid-user-popover-divider` });
1166
+ return /* @__PURE__ */ jsx9("div", { className: `matchid-user-popover-divider` });
1386
1167
  };
1387
- const [usernameOpen, setUsernameOpen] = useState7(false);
1168
+ const [usernameOpen, setUsernameOpen] = useState5(false);
1388
1169
  const [copied, setCopied] = useCopyClipboard();
1389
- const intl = useIntl7();
1390
- return /* @__PURE__ */ jsxs8("div", { className: "matchid-user-popover-content", children: [
1391
- /* @__PURE__ */ jsxs8("div", { className: "matchid-user-popover-list", children: [
1392
- /* @__PURE__ */ jsx11(UserItem, { onClick: () => {
1170
+ const intl = useIntl5();
1171
+ return /* @__PURE__ */ jsxs6("div", { className: "matchid-user-popover-content", children: [
1172
+ /* @__PURE__ */ jsxs6("div", { className: "matchid-user-popover-list", children: [
1173
+ /* @__PURE__ */ jsx9(UserItem, { onClick: () => {
1393
1174
  setCopied(address);
1394
- }, icon: copied ? /* @__PURE__ */ jsx11(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ jsx11(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx11(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
1395
- /* @__PURE__ */ jsx11(UserDivider, {}),
1396
- /* @__PURE__ */ jsx11(UserItem, { onClick: () => {
1175
+ }, icon: copied ? /* @__PURE__ */ jsx9(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ jsx9(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx9(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
1176
+ /* @__PURE__ */ jsx9(UserDivider, {}),
1177
+ /* @__PURE__ */ jsx9(UserItem, { onClick: () => {
1397
1178
  setUsernameOpen(true);
1398
- }, icon: /* @__PURE__ */ jsx11(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx11(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
1179
+ }, icon: /* @__PURE__ */ jsx9(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx9(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
1399
1180
  id: "setUsername"
1400
1181
  }) })
1401
1182
  ] }),
1402
- /* @__PURE__ */ jsx11(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ jsx11(FormattedMessage7, { id: "disconnect" }) }),
1403
- /* @__PURE__ */ jsx11(UsernameModal, { isOpen: usernameOpen, onClose: () => {
1183
+ /* @__PURE__ */ jsx9(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ jsx9(FormattedMessage5, { id: "disconnect" }) }),
1184
+ /* @__PURE__ */ jsx9(UsernameModal, { isOpen: usernameOpen, onClose: () => {
1404
1185
  setUsernameOpen(false);
1405
1186
  }, onSuccess: () => {
1406
1187
  setUsernameOpen(false);
@@ -1411,12 +1192,12 @@ function UserPopover({
1411
1192
  children,
1412
1193
  ...props
1413
1194
  }) {
1414
- return /* @__PURE__ */ jsx11(Popover, { ...props, content: /* @__PURE__ */ jsx11(UserContent, {}), children });
1195
+ return /* @__PURE__ */ jsx9(Popover, { ...props, content: /* @__PURE__ */ jsx9(UserContent, {}), children });
1415
1196
  }
1416
1197
 
1417
1198
  // src/components/LoginButton/index.tsx
1418
- import { FormattedMessage as FormattedMessage8, useIntl as useIntl8 } from "react-intl";
1419
- import { Fragment as Fragment2, jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
1199
+ import { FormattedMessage as FormattedMessage6, useIntl as useIntl6 } from "react-intl";
1200
+ import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
1420
1201
  function LoginButton({
1421
1202
  loginRender,
1422
1203
  methods,
@@ -1428,12 +1209,12 @@ function LoginButton({
1428
1209
  walletMethods,
1429
1210
  ...props
1430
1211
  }) {
1431
- const intl = useIntl8();
1212
+ const intl = useIntl6();
1432
1213
  const { isLogin, username } = useUserInfo();
1433
- const [loginOpen, setLoginOpen] = useState8(false);
1214
+ const [loginOpen, setLoginOpen] = useState6(false);
1434
1215
  if (!isLogin) {
1435
- return /* @__PURE__ */ jsxs9(Fragment2, { children: [
1436
- /* @__PURE__ */ jsx12(
1216
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1217
+ /* @__PURE__ */ jsx10(
1437
1218
  LoginModal,
1438
1219
  {
1439
1220
  methods,
@@ -1443,32 +1224,32 @@ function LoginButton({
1443
1224
  onClose: () => setLoginOpen(false)
1444
1225
  }
1445
1226
  ),
1446
- /* @__PURE__ */ jsxs9(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
1447
- /* @__PURE__ */ jsx12(UnLoginIcon_default, {}),
1448
- /* @__PURE__ */ jsx12("span", { children: /* @__PURE__ */ jsx12(FormattedMessage8, { id: "login" }) })
1227
+ /* @__PURE__ */ jsxs7(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
1228
+ /* @__PURE__ */ jsx10(UnLoginIcon_default, {}),
1229
+ /* @__PURE__ */ jsx10("span", { children: /* @__PURE__ */ jsx10(FormattedMessage6, { id: "login" }) })
1449
1230
  ] })
1450
1231
  ] });
1451
1232
  }
1452
- return loginRender ? /* @__PURE__ */ jsx12(Fragment2, { children: loginRender }) : /* @__PURE__ */ jsx12(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ jsxs9(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
1453
- /* @__PURE__ */ jsx12(LoginIcon_default, {}),
1454
- /* @__PURE__ */ jsx12("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
1233
+ return loginRender ? /* @__PURE__ */ jsx10(Fragment2, { children: loginRender }) : /* @__PURE__ */ jsx10(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ jsxs7(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
1234
+ /* @__PURE__ */ jsx10(LoginIcon_default, {}),
1235
+ /* @__PURE__ */ jsx10("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
1455
1236
  id: "user"
1456
1237
  }) })
1457
1238
  ] }) });
1458
1239
  }
1459
1240
 
1460
1241
  // src/components/UsernameModal/index.tsx
1461
- import { useEffect as useEffect6, useMemo as useMemo6, useState as useState9 } from "react";
1242
+ import { useEffect as useEffect4, useMemo as useMemo4, useState as useState7 } from "react";
1462
1243
 
1463
1244
  // src/assets/icon/InfoRoundIcon.tsx
1464
- import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
1245
+ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1465
1246
  function InfoRoundIcon({
1466
1247
  size,
1467
1248
  color = "#6E6E6E",
1468
1249
  ...props
1469
1250
  }) {
1470
- return /* @__PURE__ */ jsxs10("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
1471
- /* @__PURE__ */ jsx13("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ jsx13(
1251
+ return /* @__PURE__ */ jsxs8("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
1252
+ /* @__PURE__ */ jsx11("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ jsx11(
1472
1253
  "path",
1473
1254
  {
1474
1255
  fillRule: "evenodd",
@@ -1477,21 +1258,21 @@ function InfoRoundIcon({
1477
1258
  fill: color
1478
1259
  }
1479
1260
  ) }),
1480
- /* @__PURE__ */ jsx13("defs", { children: /* @__PURE__ */ jsx13("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ jsx13("rect", { width: "16", height: "16", fill: "white" }) }) })
1261
+ /* @__PURE__ */ jsx11("defs", { children: /* @__PURE__ */ jsx11("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ jsx11("rect", { width: "16", height: "16", fill: "white" }) }) })
1481
1262
  ] });
1482
1263
  }
1483
1264
 
1484
1265
  // src/components/UsernameModal/index.tsx
1485
- import { FormattedMessage as FormattedMessage9, useIntl as useIntl9 } from "react-intl";
1486
- import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
1266
+ import { FormattedMessage as FormattedMessage7, useIntl as useIntl7 } from "react-intl";
1267
+ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
1487
1268
  var ValidItem = ({
1488
1269
  success = false,
1489
1270
  text
1490
1271
  }) => {
1491
1272
  const isDownMd = useDownMd();
1492
- return /* @__PURE__ */ jsxs11("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
1493
- success ? /* @__PURE__ */ jsx14(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ jsx14(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
1494
- /* @__PURE__ */ jsx14("span", { children: text })
1273
+ return /* @__PURE__ */ jsxs9("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
1274
+ success ? /* @__PURE__ */ jsx12(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ jsx12(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
1275
+ /* @__PURE__ */ jsx12("span", { children: text })
1495
1276
  ] });
1496
1277
  };
1497
1278
  function UsernameModal({
@@ -1502,23 +1283,23 @@ function UsernameModal({
1502
1283
  }) {
1503
1284
  const { username, refreshOverview } = useUserInfo();
1504
1285
  const { isLogin } = useUserInfo();
1505
- const [val, setVal] = useState9(username);
1506
- const [error, setError] = useState9("");
1286
+ const [val, setVal] = useState7(username);
1287
+ const [error, setError] = useState7("");
1507
1288
  const isDownMd = useDownMd();
1508
- useEffect6(() => {
1289
+ useEffect4(() => {
1509
1290
  if (isOpen) {
1510
1291
  setVal(username);
1511
1292
  setError("");
1512
1293
  }
1513
1294
  }, [isOpen]);
1514
- const isValid = useMemo6(() => {
1295
+ const isValid = useMemo4(() => {
1515
1296
  return isValidUsername(val);
1516
1297
  }, [val]);
1517
- const isLength = useMemo6(() => {
1298
+ const isLength = useMemo4(() => {
1518
1299
  return val.length >= 2 && val.length <= 32;
1519
1300
  }, [val]);
1520
1301
  const isSafe = isValid && isLength;
1521
- const [isSubmitting, setIsSubmitting] = useState9(false);
1302
+ const [isSubmitting, setIsSubmitting] = useState7(false);
1522
1303
  const onSubmit = async () => {
1523
1304
  if (isSubmitting) return;
1524
1305
  try {
@@ -1538,13 +1319,13 @@ function UsernameModal({
1538
1319
  setIsSubmitting(false);
1539
1320
  }
1540
1321
  };
1541
- const intl = useIntl9();
1542
- return /* @__PURE__ */ jsx14(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
1322
+ const intl = useIntl7();
1323
+ return /* @__PURE__ */ jsx12(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
1543
1324
  id: username ? "editUsernameTitle" : "setUsernameTitle"
1544
- }), children: /* @__PURE__ */ jsxs11("div", { className: "matchid-username-box", children: [
1545
- /* @__PURE__ */ jsx14(Field, { label: intl.formatMessage({
1325
+ }), children: /* @__PURE__ */ jsxs9("div", { className: "matchid-username-box", children: [
1326
+ /* @__PURE__ */ jsx12(Field, { label: intl.formatMessage({
1546
1327
  id: "username"
1547
- }), error, children: /* @__PURE__ */ jsx14(
1328
+ }), error, children: /* @__PURE__ */ jsx12(
1548
1329
  Input,
1549
1330
  {
1550
1331
  placeholder: intl.formatMessage({
@@ -1557,8 +1338,8 @@ function UsernameModal({
1557
1338
  value: val
1558
1339
  }
1559
1340
  ) }),
1560
- /* @__PURE__ */ jsxs11("div", { className: "matchid-valid", children: [
1561
- /* @__PURE__ */ jsx14(
1341
+ /* @__PURE__ */ jsxs9("div", { className: "matchid-valid", children: [
1342
+ /* @__PURE__ */ jsx12(
1562
1343
  ValidItem,
1563
1344
  {
1564
1345
  success: isValid,
@@ -1567,21 +1348,21 @@ function UsernameModal({
1567
1348
  })
1568
1349
  }
1569
1350
  ),
1570
- /* @__PURE__ */ jsx14(ValidItem, { success: isLength, text: intl.formatMessage({
1351
+ /* @__PURE__ */ jsx12(ValidItem, { success: isLength, text: intl.formatMessage({
1571
1352
  id: "usernameLengthError"
1572
1353
  }) })
1573
1354
  ] }),
1574
- /* @__PURE__ */ jsx14(Button, { disabled: !isSafe, loading: isSubmitting, style: {
1355
+ /* @__PURE__ */ jsx12(Button, { disabled: !isSafe, loading: isSubmitting, style: {
1575
1356
  marginTop: isDownMd ? "36px" : "64px"
1576
- }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx14(FormattedMessage9, { id: "confirm" }) }),
1577
- /* @__PURE__ */ jsx14(Button, { style: {
1357
+ }, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx12(FormattedMessage7, { id: "confirm" }) }),
1358
+ /* @__PURE__ */ jsx12(Button, { style: {
1578
1359
  marginTop: isDownMd ? "12px" : "24px"
1579
- }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ jsx14(FormattedMessage9, { id: "cancel" }) })
1360
+ }, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ jsx12(FormattedMessage7, { id: "cancel" }) })
1580
1361
  ] }) });
1581
1362
  }
1582
1363
 
1583
1364
  // src/components/SOLModal/index.tsx
1584
- import React3, { useEffect as useEffect7, useState as useState10 } from "react";
1365
+ import React3, { useEffect as useEffect5, useState as useState8 } from "react";
1585
1366
 
1586
1367
  // src/hooks/eventManager.ts
1587
1368
  var EventManager = class {
@@ -1613,7 +1394,7 @@ var eventManager_default = eventManager;
1613
1394
 
1614
1395
  // src/components/SOLModal/index.tsx
1615
1396
  import { clusterApiUrl } from "@solana/web3.js";
1616
- import { useWallet as useWallet2, WalletProvider, ConnectionProvider } from "@solana/wallet-adapter-react";
1397
+ import { useWallet, WalletProvider, ConnectionProvider } from "@solana/wallet-adapter-react";
1617
1398
  import { WalletModalProvider, useWalletModal } from "@solana/wallet-adapter-react-ui";
1618
1399
 
1619
1400
  // node_modules/@solana/wallet-adapter-base/lib/esm/types.js
@@ -1662,10 +1443,10 @@ import {
1662
1443
  XDEFIWalletAdapter
1663
1444
  } from "@solana/wallet-adapter-wallets";
1664
1445
  import "@solana/wallet-adapter-react-ui/styles.css";
1665
- import { useIntl as useIntl10 } from "react-intl";
1446
+ import { useIntl as useIntl8 } from "react-intl";
1666
1447
 
1667
1448
  // src/components/WalletModalContent/index.tsx
1668
- import { useMemo as useMemo7 } from "react";
1449
+ import { useMemo as useMemo5 } from "react";
1669
1450
 
1670
1451
  // src/assets/wallet.ts
1671
1452
  var walletErrorImage = "data:image/png;base64,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";
@@ -1675,7 +1456,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
1675
1456
  var walletSigningImage = "data:image/png;base64,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";
1676
1457
 
1677
1458
  // src/components/WalletModalContent/index.tsx
1678
- import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
1459
+ import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
1679
1460
  function WalletModalContent({
1680
1461
  status,
1681
1462
  error,
@@ -1686,7 +1467,7 @@ function WalletModalContent({
1686
1467
  address,
1687
1468
  connected
1688
1469
  }) {
1689
- const pageData = useMemo7(() => {
1470
+ const pageData = useMemo5(() => {
1690
1471
  if (status == "success") {
1691
1472
  return {
1692
1473
  btnText: "Disconnect Wallet",
@@ -1745,12 +1526,12 @@ function WalletModalContent({
1745
1526
  statusImage: walletConnectImage
1746
1527
  };
1747
1528
  }, [visible, connected, status, error, address]);
1748
- return /* @__PURE__ */ jsx15("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-box`, children: [
1749
- /* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-content`, children: [
1750
- /* @__PURE__ */ jsx15("img", { src: pageData.statusImage }),
1751
- /* @__PURE__ */ jsx15("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
1529
+ return /* @__PURE__ */ jsx13("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs10("div", { className: `matchid-wallet-box`, children: [
1530
+ /* @__PURE__ */ jsxs10("div", { className: `matchid-wallet-content`, children: [
1531
+ /* @__PURE__ */ jsx13("img", { src: pageData.statusImage }),
1532
+ /* @__PURE__ */ jsx13("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
1752
1533
  ] }),
1753
- /* @__PURE__ */ jsx15(
1534
+ /* @__PURE__ */ jsx13(
1754
1535
  Button,
1755
1536
  {
1756
1537
  block: true,
@@ -1765,25 +1546,25 @@ function WalletModalContent({
1765
1546
  }
1766
1547
 
1767
1548
  // src/components/SOLModal/index.tsx
1768
- import { jsx as jsx16 } from "react/jsx-runtime";
1549
+ import { jsx as jsx14 } from "react/jsx-runtime";
1769
1550
  function WalletContent({
1770
1551
  onSuccess,
1771
1552
  type
1772
1553
  }) {
1773
1554
  const { setVisible, visible } = useWalletModal();
1774
- const wallet = useWallet2();
1555
+ const wallet = useWallet();
1775
1556
  const { events, login } = useMatch();
1776
- const [status, setStatus] = useState10("");
1557
+ const [status, setStatus] = useState8("");
1777
1558
  const statusRef = React3.useRef(status);
1778
- const [error, setError] = useState10("");
1779
- useEffect7(() => {
1559
+ const [error, setError] = useState8("");
1560
+ useEffect5(() => {
1780
1561
  const init = async () => {
1781
1562
  await wallet.disconnect();
1782
1563
  setVisible(true);
1783
1564
  };
1784
1565
  init();
1785
1566
  }, []);
1786
- useEffect7(() => {
1567
+ useEffect5(() => {
1787
1568
  if (wallet.connected) {
1788
1569
  console.log("wallet.connected", wallet.connected);
1789
1570
  toLoginInWallet();
@@ -1847,7 +1628,7 @@ function WalletContent({
1847
1628
  statusRef.current = "";
1848
1629
  }
1849
1630
  };
1850
- return /* @__PURE__ */ jsx16(
1631
+ return /* @__PURE__ */ jsx14(
1851
1632
  WalletModalContent,
1852
1633
  {
1853
1634
  connected: wallet.connected,
@@ -1907,20 +1688,20 @@ function SOLConnectModal({
1907
1688
  onSuccess,
1908
1689
  ...props
1909
1690
  }) {
1910
- const intl = useIntl10();
1911
- return /* @__PURE__ */ jsx16(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
1691
+ const intl = useIntl8();
1692
+ return /* @__PURE__ */ jsx14(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
1912
1693
  id: type == "bind" ? "bindWith" : "loginWith"
1913
1694
  }, {
1914
1695
  name: "SOL"
1915
- }), children: /* @__PURE__ */ jsx16(ConnectionProvider, { endpoint: clusterApiUrl("devnet"), children: /* @__PURE__ */ jsx16(WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ jsx16(WalletModalProvider, { children: /* @__PURE__ */ jsx16(WalletContent, { onSuccess, type }) }) }) }) });
1696
+ }), children: /* @__PURE__ */ jsx14(ConnectionProvider, { endpoint: clusterApiUrl("devnet"), children: /* @__PURE__ */ jsx14(WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ jsx14(WalletModalProvider, { children: /* @__PURE__ */ jsx14(WalletContent, { onSuccess, type }) }) }) }) });
1916
1697
  }
1917
1698
  function SOLModal(props) {
1918
- return props.isOpen && /* @__PURE__ */ jsx16(SOLConnectModal, { ...props });
1699
+ return props.isOpen && /* @__PURE__ */ jsx14(SOLConnectModal, { ...props });
1919
1700
  }
1920
1701
 
1921
1702
  // src/components/TRONModal/index.tsx
1922
- import React4, { useEffect as useEffect9, useMemo as useMemo8, useState as useState12 } from "react";
1923
- import { useIntl as useIntl11 } from "react-intl";
1703
+ import React4, { useEffect as useEffect7, useMemo as useMemo6, useState as useState10 } from "react";
1704
+ import { useIntl as useIntl9 } from "react-intl";
1924
1705
 
1925
1706
  // src/lib/tron/TronLinkAdapter.ts
1926
1707
  var TronLinkAdapter = class {
@@ -1953,7 +1734,7 @@ var TronLinkAdapter = class {
1953
1734
  };
1954
1735
 
1955
1736
  // src/hooks/useTRONWallet.ts
1956
- import { useEffect as useEffect8, useState as useState11 } from "react";
1737
+ import { useEffect as useEffect6, useState as useState9 } from "react";
1957
1738
 
1958
1739
  // src/lib/tron/BitgetAdapter.ts
1959
1740
  var BitgetAdapter = class {
@@ -1998,9 +1779,9 @@ var OKXAdapter = class {
1998
1779
  // src/hooks/useTRONWallet.ts
1999
1780
  var useTRONWallet = () => {
2000
1781
  const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
2001
- const [installedWallets, setInstalledWallets] = useState11([]);
2002
- const [address, setAddress] = useState11(null);
2003
- useEffect8(() => {
1782
+ const [installedWallets, setInstalledWallets] = useState9([]);
1783
+ const [address, setAddress] = useState9(null);
1784
+ useEffect6(() => {
2004
1785
  const getInstalled = async () => {
2005
1786
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
2006
1787
  wallet: wallet2,
@@ -2010,11 +1791,11 @@ var useTRONWallet = () => {
2010
1791
  };
2011
1792
  getInstalled();
2012
1793
  }, []);
2013
- const [wallet, chooseWallet] = useState11(null);
1794
+ const [wallet, chooseWallet] = useState9(null);
2014
1795
  const onConnect = async () => {
2015
1796
  setAddress(await wallet.connect());
2016
1797
  };
2017
- useEffect8(() => {
1798
+ useEffect6(() => {
2018
1799
  if (!wallet) {
2019
1800
  setAddress(null);
2020
1801
  }
@@ -2030,25 +1811,25 @@ var useTRONWallet = () => {
2030
1811
  };
2031
1812
 
2032
1813
  // src/components/TRONModal/index.tsx
2033
- import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
1814
+ import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
2034
1815
  function TRONConnectModal({
2035
1816
  type = "login",
2036
1817
  onSuccess,
2037
1818
  ...props
2038
1819
  }) {
2039
1820
  const isDownMd = useDownMd();
2040
- const intl = useIntl11();
1821
+ const intl = useIntl9();
2041
1822
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
2042
1823
  const iconMaps = {
2043
- tronlink: /* @__PURE__ */ jsx17(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
2044
- bitget: /* @__PURE__ */ jsx17(BitgetIcon, { size: isDownMd ? 36 : 40 }),
2045
- okx: /* @__PURE__ */ jsx17(OKXIcon, { size: isDownMd ? 36 : 40 })
1824
+ tronlink: /* @__PURE__ */ jsx15(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
1825
+ bitget: /* @__PURE__ */ jsx15(BitgetIcon, { size: isDownMd ? 36 : 40 }),
1826
+ okx: /* @__PURE__ */ jsx15(OKXIcon, { size: isDownMd ? 36 : 40 })
2046
1827
  };
2047
1828
  const { events, login } = useMatch();
2048
- const [status, setStatus] = useState12("");
1829
+ const [status, setStatus] = useState10("");
2049
1830
  const statusRef = React4.useRef(status);
2050
- const [error, setError] = useState12("");
2051
- const connected = useMemo8(() => {
1831
+ const [error, setError] = useState10("");
1832
+ const connected = useMemo6(() => {
2052
1833
  return !!address;
2053
1834
  }, [address]);
2054
1835
  const disconnect = async () => {
@@ -2116,7 +1897,7 @@ function TRONConnectModal({
2116
1897
  statusRef.current = "";
2117
1898
  }
2118
1899
  };
2119
- useEffect9(() => {
1900
+ useEffect7(() => {
2120
1901
  if (wallet) {
2121
1902
  console.log("onConnect");
2122
1903
  onConnect();
@@ -2124,21 +1905,21 @@ function TRONConnectModal({
2124
1905
  setStatus("");
2125
1906
  }
2126
1907
  }, [wallet]);
2127
- useEffect9(() => {
1908
+ useEffect7(() => {
2128
1909
  if (address) {
2129
1910
  toLoginInWallet();
2130
1911
  }
2131
1912
  }, [address]);
2132
- useEffect9(() => {
1913
+ useEffect7(() => {
2133
1914
  if (!props.isOpen) {
2134
1915
  disconnect();
2135
1916
  }
2136
1917
  }, [props.isOpen]);
2137
- return /* @__PURE__ */ jsx17(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
1918
+ return /* @__PURE__ */ jsx15(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2138
1919
  id: type == "bind" ? "bindWith" : "loginWith"
2139
1920
  }, {
2140
1921
  name: "TRON"
2141
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx17(
1922
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx15(
2142
1923
  WalletModalContent,
2143
1924
  {
2144
1925
  error,
@@ -2151,9 +1932,9 @@ function TRONConnectModal({
2151
1932
  setVisible: () => {
2152
1933
  }
2153
1934
  }
2154
- ) : /* @__PURE__ */ jsx17("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs13("div", { className: "matchid-login-recommend-list", children: [
1935
+ ) : /* @__PURE__ */ jsx15("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs11("div", { className: "matchid-login-recommend-list", children: [
2155
1936
  installedWallets.map((wallet2) => {
2156
- return /* @__PURE__ */ jsx17(
1937
+ return /* @__PURE__ */ jsx15(
2157
1938
  RecommendItem,
2158
1939
  {
2159
1940
  icon: iconMaps[wallet2.walletKey],
@@ -2166,14 +1947,14 @@ function TRONConnectModal({
2166
1947
  );
2167
1948
  }),
2168
1949
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
2169
- return /* @__PURE__ */ jsx17(
1950
+ return /* @__PURE__ */ jsx15(
2170
1951
  RecommendItem,
2171
1952
  {
2172
1953
  icon: iconMaps[wallet2.walletKey],
2173
1954
  name: wallet2.name,
2174
1955
  onClick: () => {
2175
1956
  },
2176
- footer: /* @__PURE__ */ jsx17(Button, { size: "sm", onClick: () => {
1957
+ footer: /* @__PURE__ */ jsx15(Button, { size: "sm", onClick: () => {
2177
1958
  window.open(wallet2.website);
2178
1959
  }, children: "Install" })
2179
1960
  },
@@ -2183,12 +1964,12 @@ function TRONConnectModal({
2183
1964
  ] }) }) });
2184
1965
  }
2185
1966
  function TRONModal(props) {
2186
- return props.isOpen && /* @__PURE__ */ jsx17(TRONConnectModal, { ...props, type: "" });
1967
+ return props.isOpen && /* @__PURE__ */ jsx15(TRONConnectModal, { ...props, type: "" });
2187
1968
  }
2188
1969
 
2189
1970
  // src/components/TONModal/index.tsx
2190
- import React5, { useEffect as useEffect10, useState as useState13 } from "react";
2191
- import { useIntl as useIntl12 } from "react-intl";
1971
+ import React5, { useEffect as useEffect8, useState as useState11 } from "react";
1972
+ import { useIntl as useIntl10 } from "react-intl";
2192
1973
  import {
2193
1974
  TonConnectUIProvider,
2194
1975
  useTonAddress,
@@ -2196,21 +1977,21 @@ import {
2196
1977
  useTonConnectUI,
2197
1978
  useTonWallet
2198
1979
  } from "@tonconnect/ui-react";
2199
- import { jsx as jsx18 } from "react/jsx-runtime";
1980
+ import { jsx as jsx16 } from "react/jsx-runtime";
2200
1981
  function WalletContent2({
2201
1982
  onSuccess,
2202
1983
  type
2203
1984
  }) {
2204
1985
  const { events, login } = useMatch();
2205
- const [connected, setConnected] = useState13(false);
1986
+ const [connected, setConnected] = useState11(false);
2206
1987
  const wallet = useTonWallet();
2207
1988
  const userFriendlyAddress = useTonAddress();
2208
1989
  const [tonConnectUI] = useTonConnectUI();
2209
1990
  const { state, open, close } = useTonConnectModal();
2210
- const [status, setStatus] = useState13("");
1991
+ const [status, setStatus] = useState11("");
2211
1992
  const statusRef = React5.useRef(status);
2212
- const [error, setError] = useState13("");
2213
- useEffect10(() => {
1993
+ const [error, setError] = useState11("");
1994
+ useEffect8(() => {
2214
1995
  const init = async () => {
2215
1996
  if (wallet) {
2216
1997
  await tonConnectUI.disconnect();
@@ -2283,7 +2064,7 @@ function WalletContent2({
2283
2064
  }
2284
2065
  });
2285
2066
  }, []);
2286
- useEffect10(() => {
2067
+ useEffect8(() => {
2287
2068
  if (wallet) {
2288
2069
  setConnected(true);
2289
2070
  console.log("Wallet connected:", wallet);
@@ -2294,7 +2075,7 @@ function WalletContent2({
2294
2075
  setStatus("");
2295
2076
  }
2296
2077
  }, [wallet]);
2297
- useEffect10(() => {
2078
+ useEffect8(() => {
2298
2079
  console.log({
2299
2080
  state,
2300
2081
  wallet
@@ -2323,7 +2104,7 @@ function WalletContent2({
2323
2104
  }
2324
2105
  }
2325
2106
  }, [state]);
2326
- return /* @__PURE__ */ jsx18(
2107
+ return /* @__PURE__ */ jsx16(
2327
2108
  WalletModalContent,
2328
2109
  {
2329
2110
  connected,
@@ -2354,28 +2135,28 @@ function TONConnectModal({
2354
2135
  onSuccess,
2355
2136
  ...props
2356
2137
  }) {
2357
- const intl = useIntl12();
2138
+ const intl = useIntl10();
2358
2139
  const { endpoints, appid } = useLocalStore_default();
2359
2140
  const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
2360
- return /* @__PURE__ */ jsx18(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2141
+ return /* @__PURE__ */ jsx16(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2361
2142
  id: type == "bind" ? "bindWith" : "loginWith"
2362
2143
  }, {
2363
2144
  name: "TON"
2364
- }), children: /* @__PURE__ */ jsx18(
2145
+ }), children: /* @__PURE__ */ jsx16(
2365
2146
  TonConnectUIProvider,
2366
2147
  {
2367
2148
  manifestUrl,
2368
- children: /* @__PURE__ */ jsx18(WalletContent2, { onSuccess, type })
2149
+ children: /* @__PURE__ */ jsx16(WalletContent2, { onSuccess, type })
2369
2150
  }
2370
2151
  ) });
2371
2152
  }
2372
2153
  function TONModal(props) {
2373
- return props.isOpen && /* @__PURE__ */ jsx18(TONConnectModal, { ...props });
2154
+ return props.isOpen && /* @__PURE__ */ jsx16(TONConnectModal, { ...props });
2374
2155
  }
2375
2156
 
2376
2157
  // src/components/BTCModal/index.tsx
2377
- import React6, { useEffect as useEffect12, useMemo as useMemo9, useState as useState15 } from "react";
2378
- import { useIntl as useIntl13 } from "react-intl";
2158
+ import React6, { useEffect as useEffect10, useMemo as useMemo7, useState as useState13 } from "react";
2159
+ import { useIntl as useIntl11 } from "react-intl";
2379
2160
 
2380
2161
  // src/lib/btc/UnisatAdapter.ts
2381
2162
  var UnisatAdapter = class {
@@ -2529,12 +2310,12 @@ var LeatherAdapter = class {
2529
2310
  };
2530
2311
 
2531
2312
  // src/hooks/useBTCWallet.ts
2532
- import { useEffect as useEffect11, useState as useState14 } from "react";
2313
+ import { useEffect as useEffect9, useState as useState12 } from "react";
2533
2314
  var useBTCWallet = () => {
2534
2315
  const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
2535
- const [installedWallets, setInstalledWallets] = useState14([]);
2536
- const [address, setAddress] = useState14(null);
2537
- useEffect11(() => {
2316
+ const [installedWallets, setInstalledWallets] = useState12([]);
2317
+ const [address, setAddress] = useState12(null);
2318
+ useEffect9(() => {
2538
2319
  const getInstalled = async () => {
2539
2320
  const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
2540
2321
  wallet: wallet2,
@@ -2544,11 +2325,11 @@ var useBTCWallet = () => {
2544
2325
  };
2545
2326
  getInstalled();
2546
2327
  }, []);
2547
- const [wallet, chooseWallet] = useState14(null);
2328
+ const [wallet, chooseWallet] = useState12(null);
2548
2329
  const onConnect = async () => {
2549
2330
  setAddress(await wallet.connect());
2550
2331
  };
2551
- useEffect11(() => {
2332
+ useEffect9(() => {
2552
2333
  if (!wallet) {
2553
2334
  setAddress(null);
2554
2335
  }
@@ -2564,25 +2345,25 @@ var useBTCWallet = () => {
2564
2345
  };
2565
2346
 
2566
2347
  // src/components/BTCModal/index.tsx
2567
- import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
2348
+ import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
2568
2349
  function BTCConnectModal({
2569
2350
  type = "login",
2570
2351
  onSuccess,
2571
2352
  ...props
2572
2353
  }) {
2573
2354
  const isDownMd = useDownMd();
2574
- const intl = useIntl13();
2355
+ const intl = useIntl11();
2575
2356
  const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
2576
2357
  const iconMaps = {
2577
- leather: /* @__PURE__ */ jsx19(LeatherIcon, { size: isDownMd ? 36 : 40 }),
2578
- unisat: /* @__PURE__ */ jsx19(UnisatIcon, { size: isDownMd ? 36 : 40 }),
2579
- xverse: /* @__PURE__ */ jsx19(XverseIcon, { size: isDownMd ? 36 : 40 })
2358
+ leather: /* @__PURE__ */ jsx17(LeatherIcon, { size: isDownMd ? 36 : 40 }),
2359
+ unisat: /* @__PURE__ */ jsx17(UnisatIcon, { size: isDownMd ? 36 : 40 }),
2360
+ xverse: /* @__PURE__ */ jsx17(XverseIcon, { size: isDownMd ? 36 : 40 })
2580
2361
  };
2581
2362
  const { events, login } = useMatch();
2582
- const [status, setStatus] = useState15("");
2363
+ const [status, setStatus] = useState13("");
2583
2364
  const statusRef = React6.useRef(status);
2584
- const [error, setError] = useState15("");
2585
- const connected = useMemo9(() => {
2365
+ const [error, setError] = useState13("");
2366
+ const connected = useMemo7(() => {
2586
2367
  return !!address;
2587
2368
  }, [address]);
2588
2369
  const disconnect = async () => {
@@ -2646,7 +2427,7 @@ function BTCConnectModal({
2646
2427
  statusRef.current = "";
2647
2428
  }
2648
2429
  };
2649
- useEffect12(() => {
2430
+ useEffect10(() => {
2650
2431
  if (wallet) {
2651
2432
  console.log("onConnect");
2652
2433
  try {
@@ -2659,12 +2440,12 @@ function BTCConnectModal({
2659
2440
  setStatus("");
2660
2441
  }
2661
2442
  }, [wallet]);
2662
- useEffect12(() => {
2443
+ useEffect10(() => {
2663
2444
  if (address) {
2664
2445
  toLoginInWallet();
2665
2446
  }
2666
2447
  }, [address]);
2667
- useEffect12(() => {
2448
+ useEffect10(() => {
2668
2449
  if (!props.isOpen) {
2669
2450
  disconnect();
2670
2451
  }
@@ -2676,11 +2457,11 @@ function BTCConnectModal({
2676
2457
  statusRef.current = "";
2677
2458
  setError("");
2678
2459
  };
2679
- return /* @__PURE__ */ jsx19(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2460
+ return /* @__PURE__ */ jsx17(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2680
2461
  id: type == "bind" ? "bindWith" : "loginWith"
2681
2462
  }, {
2682
2463
  name: "BTC"
2683
- }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx19(
2464
+ }), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ jsx17(
2684
2465
  WalletModalContent,
2685
2466
  {
2686
2467
  error,
@@ -2693,9 +2474,9 @@ function BTCConnectModal({
2693
2474
  setVisible: () => {
2694
2475
  }
2695
2476
  }
2696
- ) : /* @__PURE__ */ jsx19("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs14("div", { className: "matchid-login-recommend-list", children: [
2477
+ ) : /* @__PURE__ */ jsx17("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsxs12("div", { className: "matchid-login-recommend-list", children: [
2697
2478
  installedWallets.map((wallet2) => {
2698
- return /* @__PURE__ */ jsx19(
2479
+ return /* @__PURE__ */ jsx17(
2699
2480
  RecommendItem,
2700
2481
  {
2701
2482
  icon: iconMaps[wallet2.walletKey],
@@ -2708,14 +2489,14 @@ function BTCConnectModal({
2708
2489
  );
2709
2490
  }),
2710
2491
  wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
2711
- return /* @__PURE__ */ jsx19(
2492
+ return /* @__PURE__ */ jsx17(
2712
2493
  RecommendItem,
2713
2494
  {
2714
2495
  icon: iconMaps[wallet2.walletKey],
2715
2496
  name: wallet2.name,
2716
2497
  onClick: () => {
2717
2498
  },
2718
- footer: /* @__PURE__ */ jsx19(Button, { size: "sm", onClick: () => {
2499
+ footer: /* @__PURE__ */ jsx17(Button, { size: "sm", onClick: () => {
2719
2500
  window.open(wallet2.website);
2720
2501
  }, children: "Install" })
2721
2502
  },
@@ -2725,23 +2506,23 @@ function BTCConnectModal({
2725
2506
  ] }) }) });
2726
2507
  }
2727
2508
  function BTCModal(props) {
2728
- return props.isOpen && /* @__PURE__ */ jsx19(BTCConnectModal, { ...props });
2509
+ return props.isOpen && /* @__PURE__ */ jsx17(BTCConnectModal, { ...props });
2729
2510
  }
2730
2511
 
2731
2512
  // src/components/WalletModal/index.tsx
2732
- import { useMemo as useMemo10 } from "react";
2733
- import { useIntl as useIntl14 } from "react-intl";
2734
- import { jsx as jsx20 } from "react/jsx-runtime";
2513
+ import { useMemo as useMemo8 } from "react";
2514
+ import { useIntl as useIntl12 } from "react-intl";
2515
+ import { jsx as jsx18 } from "react/jsx-runtime";
2735
2516
  function WalletConnectModal({
2736
2517
  type,
2737
2518
  methods: _methods,
2738
2519
  ...props
2739
2520
  }) {
2740
- const intl = useIntl14();
2521
+ const intl = useIntl12();
2741
2522
  const { walletMap } = useWalletConfig();
2742
2523
  const { bind, login } = useUserInfo();
2743
2524
  const config = useAppConfig();
2744
- const methods = useMemo10(() => {
2525
+ const methods = useMemo8(() => {
2745
2526
  if (_methods) return _methods;
2746
2527
  if (!config.platform) {
2747
2528
  return [];
@@ -2749,13 +2530,13 @@ function WalletConnectModal({
2749
2530
  const platform = config.platform.map((p) => p.toLowerCase());
2750
2531
  return WALLET_METHODS.filter((m) => platform.includes(m));
2751
2532
  }, [config.platform, _methods]);
2752
- return /* @__PURE__ */ jsx20(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2533
+ return /* @__PURE__ */ jsx18(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
2753
2534
  id: type == "bind" ? "bindWith" : "loginWith"
2754
2535
  }, {
2755
2536
  name: ""
2756
- }), children: /* @__PURE__ */ jsx20("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx20("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
2537
+ }), children: /* @__PURE__ */ jsx18("div", { className: "matchid-login-box", children: /* @__PURE__ */ jsx18("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
2757
2538
  const m = walletMap[method];
2758
- return /* @__PURE__ */ jsx20(
2539
+ return /* @__PURE__ */ jsx18(
2759
2540
  RecommendItem,
2760
2541
  {
2761
2542
  icon: m?.icon,
@@ -2769,31 +2550,31 @@ function WalletConnectModal({
2769
2550
  }) }) }) });
2770
2551
  }
2771
2552
  function WalletModal(props) {
2772
- return props.isOpen && /* @__PURE__ */ jsx20(WalletConnectModal, { ...props });
2553
+ return props.isOpen && /* @__PURE__ */ jsx18(WalletConnectModal, { ...props });
2773
2554
  }
2774
2555
 
2775
2556
  // src/components/CEXBindModal/index.tsx
2776
- import { useEffect as useEffect13, useMemo as useMemo11, useState as useState16 } from "react";
2777
- import { FormattedMessage as FormattedMessage10, useIntl as useIntl15 } from "react-intl";
2778
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
2557
+ import { useEffect as useEffect11, useMemo as useMemo9, useState as useState14 } from "react";
2558
+ import { FormattedMessage as FormattedMessage8, useIntl as useIntl13 } from "react-intl";
2559
+ import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
2779
2560
  function CEXBindModal({
2780
2561
  onClose,
2781
2562
  type,
2782
2563
  isOpen = false,
2783
2564
  ...props
2784
2565
  }) {
2785
- const intl = useIntl15();
2566
+ const intl = useIntl13();
2786
2567
  const { events } = useMatch();
2787
- const [APIPassphrase, setAPIPassphrase] = useState16("");
2568
+ const [APIPassphrase, setAPIPassphrase] = useState14("");
2788
2569
  const { refreshOverview } = useUserInfo();
2789
- const [loading, setLoading] = useState16(false);
2790
- const [key, setKey] = useState16("");
2791
- const [secret, setSecret] = useState16("");
2792
- const [error, setError] = useState16("");
2793
- const needPassphrase = useMemo11(() => {
2570
+ const [loading, setLoading] = useState14(false);
2571
+ const [key, setKey] = useState14("");
2572
+ const [secret, setSecret] = useState14("");
2573
+ const [error, setError] = useState14("");
2574
+ const needPassphrase = useMemo9(() => {
2794
2575
  return ["bitget", "okx"].includes(type.toLowerCase());
2795
2576
  }, [type]);
2796
- useEffect13(() => {
2577
+ useEffect11(() => {
2797
2578
  if (isOpen) {
2798
2579
  setSecret("");
2799
2580
  setKey("");
@@ -2830,20 +2611,20 @@ function CEXBindModal({
2830
2611
  setLoading(false);
2831
2612
  }
2832
2613
  };
2833
- return /* @__PURE__ */ jsx21(ModalWithHeader, { showClose: true, isOpen, onClose, title: intl.formatMessage({
2614
+ return /* @__PURE__ */ jsx19(ModalWithHeader, { showClose: true, isOpen, onClose, title: intl.formatMessage({
2834
2615
  id: "CEXBindTitle"
2835
2616
  }, {
2836
2617
  type
2837
- }), ...props, children: /* @__PURE__ */ jsxs15("div", { className: "matchid-cex-modal", children: [
2838
- /* @__PURE__ */ jsxs15("div", { children: [
2839
- /* @__PURE__ */ jsx21("p", { children: /* @__PURE__ */ jsx21(FormattedMessage10, { id: "CEXBindAttention" }) }),
2840
- /* @__PURE__ */ jsx21("p", { children: /* @__PURE__ */ jsx21(FormattedMessage10, { id: "CEXBindTips1" }) }),
2841
- /* @__PURE__ */ jsx21("p", { children: /* @__PURE__ */ jsx21(FormattedMessage10, { id: "CEXBindTips2" }) }),
2842
- /* @__PURE__ */ jsx21("p", { children: /* @__PURE__ */ jsx21(FormattedMessage10, { id: "CEXBindTips3" }) })
2618
+ }), ...props, children: /* @__PURE__ */ jsxs13("div", { className: "matchid-cex-modal", children: [
2619
+ /* @__PURE__ */ jsxs13("div", { children: [
2620
+ /* @__PURE__ */ jsx19("p", { children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "CEXBindAttention" }) }),
2621
+ /* @__PURE__ */ jsx19("p", { children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "CEXBindTips1" }) }),
2622
+ /* @__PURE__ */ jsx19("p", { children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "CEXBindTips2" }) }),
2623
+ /* @__PURE__ */ jsx19("p", { children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "CEXBindTips3" }) })
2843
2624
  ] }),
2844
- /* @__PURE__ */ jsx21(Field, { label: intl.formatMessage({
2625
+ /* @__PURE__ */ jsx19(Field, { label: intl.formatMessage({
2845
2626
  id: "CEXBindApiKey"
2846
- }), children: /* @__PURE__ */ jsx21(
2627
+ }), children: /* @__PURE__ */ jsx19(
2847
2628
  Input,
2848
2629
  {
2849
2630
  value: key,
@@ -2851,9 +2632,9 @@ function CEXBindModal({
2851
2632
  placeholder: "**** **** ****"
2852
2633
  }
2853
2634
  ) }),
2854
- /* @__PURE__ */ jsx21(Field, { label: intl.formatMessage({
2635
+ /* @__PURE__ */ jsx19(Field, { label: intl.formatMessage({
2855
2636
  id: "CEXBindApiSecretKey"
2856
- }), error: !needPassphrase && error, children: /* @__PURE__ */ jsx21(
2637
+ }), error: !needPassphrase && error, children: /* @__PURE__ */ jsx19(
2857
2638
  Input,
2858
2639
  {
2859
2640
  value: secret,
@@ -2861,9 +2642,9 @@ function CEXBindModal({
2861
2642
  placeholder: "**** **** ****"
2862
2643
  }
2863
2644
  ) }),
2864
- needPassphrase && /* @__PURE__ */ jsx21(Field, { error, label: intl.formatMessage({
2645
+ needPassphrase && /* @__PURE__ */ jsx19(Field, { error, label: intl.formatMessage({
2865
2646
  id: "CEXBindApiPassphrase"
2866
- }), children: /* @__PURE__ */ jsx21(
2647
+ }), children: /* @__PURE__ */ jsx19(
2867
2648
  Input,
2868
2649
  {
2869
2650
  value: APIPassphrase,
@@ -2871,7 +2652,7 @@ function CEXBindModal({
2871
2652
  placeholder: "**** **** ****"
2872
2653
  }
2873
2654
  ) }),
2874
- /* @__PURE__ */ jsx21(
2655
+ /* @__PURE__ */ jsx19(
2875
2656
  Button,
2876
2657
  {
2877
2658
  onClick: SubmitApi,
@@ -2879,19 +2660,16 @@ function CEXBindModal({
2879
2660
  block: true,
2880
2661
  loading,
2881
2662
  disabled: !key || !secret,
2882
- children: /* @__PURE__ */ jsx21(FormattedMessage10, { id: "continue" })
2663
+ children: /* @__PURE__ */ jsx19(FormattedMessage8, { id: "continue" })
2883
2664
  }
2884
2665
  )
2885
2666
  ] }) });
2886
2667
  }
2887
2668
 
2888
2669
  // src/context/BusinessProvider.tsx
2889
- import { Fragment as Fragment3, jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
2670
+ import { Fragment as Fragment3, jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
2890
2671
  function BusinessProvider({ children }) {
2891
- const { overview, token, refreshOverview } = useUserInfo();
2892
- const { recoveryModal, walletReady } = useStore_default();
2893
- const { wallet: walletConfig } = useLocalStore_default();
2894
- const { generateEmbeddedWallets, initCore } = useWallet();
2672
+ const { overview, token } = useUserInfo();
2895
2673
  const { type: SOLType, isOpen: SOLIsOpen, close: SOLClose } = useSOLModalStore();
2896
2674
  const { type: TONType, isOpen: TONIsOpen, close: TONClose } = useTONModalStore();
2897
2675
  const { type: TRONType, isOpen: TRONIsOpen, close: TRONClose } = useTRONModalStore();
@@ -2899,47 +2677,12 @@ function BusinessProvider({ children }) {
2899
2677
  const { type: CEXType, isOpen: CEXIsOpen, close: CEXClose } = useCEXBindModalStore();
2900
2678
  const WalletModalStore = useWalletModalStore();
2901
2679
  const { close: HashPanelClose, ...hashPanelProps } = useHashPanelStore();
2902
- useEffect14(() => {
2903
- if (token && overview && !overview.address && overview.did && walletConfig.type == "Base" && walletReady) {
2904
- const onGenerate = async () => {
2905
- const did = overview ? overview.did.split(":")[2] : "";
2906
- await initCore({
2907
- did,
2908
- address: ""
2909
- });
2910
- await generateEmbeddedWallets({
2911
- recoveryType: "base_generated_recovery_key" /* Base */,
2912
- chainType: "ethereum" /* Ethereum */,
2913
- userPasscode: ""
2914
- });
2915
- await refreshOverview();
2916
- };
2917
- onGenerate();
2918
- }
2919
- }, [token, overview, walletConfig, walletReady]);
2920
2680
  const walletModalClose = (func) => {
2921
2681
  WalletModalStore.close();
2922
2682
  func();
2923
2683
  };
2924
- return /* @__PURE__ */ jsxs16(Fragment3, { children: [
2925
- /* @__PURE__ */ jsx22(
2926
- PasswordModal,
2927
- {
2928
- isOpen: !!token && !!overview && !overview.address && !!overview.did && walletConfig.type == "UserPasscode",
2929
- showClose: false
2930
- }
2931
- ),
2932
- /* @__PURE__ */ jsx22(
2933
- RecoveryModal,
2934
- {
2935
- isOpen: !!token && !!overview && !!overview.address && recoveryModal.open,
2936
- onClose: recoveryModal.close,
2937
- onSuccess: recoveryModal.success,
2938
- recoveryType: "user_passcode_recovery_key" /* UserPasscode */,
2939
- chainType: recoveryModal.chainType
2940
- }
2941
- ),
2942
- /* @__PURE__ */ jsx22(
2684
+ return /* @__PURE__ */ jsxs14(Fragment3, { children: [
2685
+ /* @__PURE__ */ jsx20(
2943
2686
  SOLModal,
2944
2687
  {
2945
2688
  isOpen: SOLIsOpen && (SOLType == "login" && !overview && !token || SOLType == "bind" && !!token && !!overview),
@@ -2949,7 +2692,7 @@ function BusinessProvider({ children }) {
2949
2692
  zIndex: 199
2950
2693
  }
2951
2694
  ),
2952
- /* @__PURE__ */ jsx22(
2695
+ /* @__PURE__ */ jsx20(
2953
2696
  TRONModal,
2954
2697
  {
2955
2698
  isOpen: TRONIsOpen && (TRONType == "login" && !overview && !token || TRONType == "bind" && !!token && !!overview),
@@ -2959,7 +2702,7 @@ function BusinessProvider({ children }) {
2959
2702
  zIndex: 199
2960
2703
  }
2961
2704
  ),
2962
- /* @__PURE__ */ jsx22(
2705
+ /* @__PURE__ */ jsx20(
2963
2706
  TONModal,
2964
2707
  {
2965
2708
  isOpen: TONIsOpen && (TONType == "login" && !overview && !token || TONType == "bind" && !!token && !!overview),
@@ -2969,7 +2712,7 @@ function BusinessProvider({ children }) {
2969
2712
  zIndex: 199
2970
2713
  }
2971
2714
  ),
2972
- /* @__PURE__ */ jsx22(
2715
+ /* @__PURE__ */ jsx20(
2973
2716
  BTCModal,
2974
2717
  {
2975
2718
  isOpen: BTCIsOpen && (BTCType == "login" && !overview && !token || BTCType == "bind" && !!token && !!overview),
@@ -2979,7 +2722,7 @@ function BusinessProvider({ children }) {
2979
2722
  zIndex: 199
2980
2723
  }
2981
2724
  ),
2982
- /* @__PURE__ */ jsx22(
2725
+ /* @__PURE__ */ jsx20(
2983
2726
  CEXBindModal,
2984
2727
  {
2985
2728
  isOpen: CEXIsOpen && (!!token && !!overview),
@@ -2988,8 +2731,8 @@ function BusinessProvider({ children }) {
2988
2731
  zIndex: 199
2989
2732
  }
2990
2733
  ),
2991
- /* @__PURE__ */ jsx22(HashPanel_default, { onClose: HashPanelClose, ...hashPanelProps }),
2992
- /* @__PURE__ */ jsx22(
2734
+ /* @__PURE__ */ jsx20(HashPanel_default, { onClose: HashPanelClose, ...hashPanelProps }),
2735
+ /* @__PURE__ */ jsx20(
2993
2736
  WalletModal,
2994
2737
  {
2995
2738
  isOpen: WalletModalStore.isOpen && (WalletModalStore.type == "login" && !overview && !token || WalletModalStore.type == "bind" && !!token && !!overview),
@@ -3004,312 +2747,17 @@ function BusinessProvider({ children }) {
3004
2747
  }
3005
2748
 
3006
2749
  // src/context/index.tsx
3007
- import { jsx as jsx23 } from "react/jsx-runtime";
2750
+ import { jsx as jsx21 } from "react/jsx-runtime";
3008
2751
  var Providers = ({ children }) => {
3009
2752
  return (
3010
2753
  // <MpcWalletProvider>
3011
- /* @__PURE__ */ jsx23(BusinessProvider, { children })
2754
+ /* @__PURE__ */ jsx21(BusinessProvider, { children })
3012
2755
  );
3013
2756
  };
3014
2757
  var context_default = Providers;
3015
2758
 
3016
2759
  // src/hooks/useWalletInit.ts
3017
- import { useEffect as useEffect16, useRef as useRef2 } from "react";
3018
-
3019
- // src/hooks/useWallet.tsx
3020
- import {
3021
- encodeFunctionData
3022
- } from "viem";
3023
- import { toAccount } from "viem/accounts";
3024
- import { createWalletClient } from "viem";
3025
- import { useEffect as useEffect15, useMemo as useMemo12 } from "react";
3026
- import { encodeDeployData } from "viem";
3027
- var AppClientId = "react-sdk-" + getVersion();
3028
- function useWallet() {
3029
- const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
3030
- const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
3031
- const { open: openHashPanel } = useHashPanelStore();
3032
- const initCore = ({
3033
- did,
3034
- address: address2
3035
- }) => {
3036
- return window.matchProvider.waitUntilWalletMessage(
3037
- {
3038
- method: "initCore",
3039
- data: {
3040
- AppId: appid,
3041
- AppClientId,
3042
- UserId: did,
3043
- AccessToken: token,
3044
- Address: address2
3045
- }
3046
- }
3047
- );
3048
- };
3049
- const generateEmbeddedWallets = async (data) => {
3050
- return await window.matchProvider.waitUntilWalletMessage({
3051
- method: "generateEmbeddedWallets",
3052
- data
3053
- });
3054
- };
3055
- const recoveryEmbeddedWallets = async (data) => {
3056
- return await window.matchProvider.waitUntilWalletMessage({
3057
- method: "recoveryEmbeddedWallets",
3058
- data
3059
- });
3060
- };
3061
- const isRecovered = async () => {
3062
- const res = await window.matchProvider.waitUntilWalletMessage({
3063
- method: "isRecovered"
3064
- });
3065
- return res.isRecovered;
3066
- };
3067
- const recoverAfter = async ({
3068
- chainType,
3069
- handle
3070
- }) => {
3071
- return new Promise(async (resolve, reject) => {
3072
- const res = await isRecovered();
3073
- matchlog_default.log("sdk.mpc.isRecovered", res);
3074
- if (res) {
3075
- await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
3076
- await handle(resolve, reject);
3077
- return;
3078
- }
3079
- setRecoveryModal({
3080
- chainType,
3081
- open: true,
3082
- success: async () => {
3083
- closeRecoveryModal();
3084
- matchlog_default.log("sdk.mpc.recover", "Success");
3085
- await handle(resolve, reject);
3086
- },
3087
- close: async () => {
3088
- closeRecoveryModal();
3089
- reject(new Error("recover modal close"));
3090
- }
3091
- });
3092
- await initCore({
3093
- address: overview?.address || "",
3094
- did: overview?.did || ""
3095
- });
3096
- });
3097
- };
3098
- const signMessage2 = async ({
3099
- message,
3100
- chainType = "ethereum" /* Ethereum */
3101
- }) => {
3102
- const getSign = async (resolve, reject) => {
3103
- try {
3104
- const recoverRes = await window.matchProvider.waitUntilWalletMessage({
3105
- method: "signMessage",
3106
- data: {
3107
- message,
3108
- chainType
3109
- }
3110
- });
3111
- resolve(recoverRes.message);
3112
- } catch (error) {
3113
- console.error("qwe-sign-error", error);
3114
- reject(error);
3115
- }
3116
- };
3117
- return await recoverAfter({
3118
- handle: getSign,
3119
- chainType
3120
- });
3121
- };
3122
- const signTransaction = async ({
3123
- transaction,
3124
- chainType = "ethereum" /* Ethereum */,
3125
- chain
3126
- }) => {
3127
- console.log("qwe-sign-transaction", transaction);
3128
- const getSign = async (resolve, reject) => {
3129
- try {
3130
- const recoverRes = await window.matchProvider.waitUntilWalletMessage({
3131
- method: "signTransaction",
3132
- data: {
3133
- transaction,
3134
- chainType,
3135
- chain
3136
- }
3137
- });
3138
- resolve(recoverRes.message);
3139
- } catch (error) {
3140
- console.error("qwe-sign-error", error);
3141
- reject(error);
3142
- }
3143
- };
3144
- return await recoverAfter({
3145
- handle: getSign,
3146
- chainType
3147
- });
3148
- };
3149
- const evmAccount = useMemo12(() => {
3150
- return address ? toAccount({
3151
- address,
3152
- async signMessage({ message }) {
3153
- return await signMessage2({
3154
- message,
3155
- chainType: "ethereum" /* Ethereum */
3156
- });
3157
- },
3158
- async signTransaction(transaction, options) {
3159
- const { account, chain, ...restTransaction } = transaction;
3160
- console.log("qwe-sign-transaction", restTransaction, options);
3161
- return await signTransaction({
3162
- transaction: {
3163
- ...restTransaction
3164
- },
3165
- chainType: "ethereum" /* Ethereum */,
3166
- chain: {
3167
- id: chain?.id || restTransaction.chainId,
3168
- name: chain?.name,
3169
- nativeCurrency: {
3170
- name: chain?.nativeCurrency?.name || "ETH",
3171
- symbol: chain?.nativeCurrency?.symbol || "ETH",
3172
- decimals: chain?.nativeCurrency?.decimals || 18
3173
- },
3174
- rpcUrls: chain?.rpcUrls
3175
- }
3176
- });
3177
- },
3178
- async signTypedData(typedData) {
3179
- return "0x";
3180
- }
3181
- }) : void 0;
3182
- }, [address]);
3183
- useEffect15(() => {
3184
- matchlog_default.log("qwe-evmAccount", evmAccount);
3185
- }, [evmAccount]);
3186
- return {
3187
- walletReady,
3188
- evmAccount,
3189
- address,
3190
- initCore,
3191
- signMessage: signMessage2,
3192
- signTransaction,
3193
- isRecovered,
3194
- recoverAfter,
3195
- generateEmbeddedWallets,
3196
- recoveryEmbeddedWallets,
3197
- createWalletClient: (parameters) => {
3198
- if (!evmAccount) {
3199
- return;
3200
- }
3201
- const obj = createWalletClient({
3202
- ...parameters,
3203
- account: evmAccount
3204
- });
3205
- const sendTransaction = async (transaction) => {
3206
- const getSign = async (resolve, reject) => {
3207
- const { chain, ...restTransaction } = transaction;
3208
- const chainId = chain ? chain.id : await obj.getChainId();
3209
- const _chain = chain || obj.chain;
3210
- const transactionId = Date.now().toString() + Math.random().toString().slice(6);
3211
- window.matchProvider.transactionMessageIntervalMap[transactionId] = {
3212
- transaction,
3213
- func: async () => {
3214
- try {
3215
- const {
3216
- chain: chain2,
3217
- account,
3218
- ...prepareTransactionRequest
3219
- // @ts-ignore
3220
- } = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
3221
- window.matchProvider.sendWalletMessage({
3222
- method: "prepareTransactionRequest",
3223
- data: {
3224
- prepareTransactionRequest,
3225
- transactionId
3226
- }
3227
- });
3228
- } catch (error) {
3229
- console.error(error);
3230
- }
3231
- },
3232
- interval: setInterval(() => {
3233
- window.matchProvider.transactionMessageIntervalMap[transactionId].func();
3234
- }, 1e4)
3235
- };
3236
- try {
3237
- const {
3238
- chain: chain2,
3239
- account,
3240
- ...prepareTransactionRequest
3241
- // @ts-ignore
3242
- } = await obj.prepareTransactionRequest(transaction);
3243
- const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
3244
- method: "sendTransaction",
3245
- data: {
3246
- transactionId,
3247
- transaction: {
3248
- ...restTransaction
3249
- },
3250
- chainType: "ethereum" /* Ethereum */,
3251
- chain: {
3252
- id: chainId,
3253
- name: _chain?.name,
3254
- nativeCurrency: _chain?.nativeCurrency,
3255
- rpcUrls: _chain?.rpcUrls
3256
- },
3257
- prepareTransactionRequest
3258
- }
3259
- });
3260
- openHashPanel();
3261
- const txHash = await obj.sendRawTransaction({
3262
- serializedTransaction
3263
- });
3264
- openHashPanel({
3265
- hash: txHash,
3266
- chain: _chain
3267
- });
3268
- clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
3269
- delete window.matchProvider.transactionMessageIntervalMap[transactionId];
3270
- resolve(txHash);
3271
- } catch (error) {
3272
- console.error("qwe-sign-error", error);
3273
- clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
3274
- delete window.matchProvider.transactionMessageIntervalMap[transactionId];
3275
- reject(error);
3276
- }
3277
- };
3278
- return await recoverAfter({
3279
- handle: getSign,
3280
- chainType: "ethereum" /* Ethereum */
3281
- });
3282
- };
3283
- const deployContract = async (parameters2) => {
3284
- const { abi, args, bytecode, ...request3 } = parameters2;
3285
- const calldata = encodeDeployData({ abi, args, bytecode });
3286
- return await sendTransaction({
3287
- ...request3,
3288
- data: calldata
3289
- });
3290
- };
3291
- const writeContract = async (parameters2) => {
3292
- const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
3293
- const data = encodeFunctionData({
3294
- abi,
3295
- args,
3296
- functionName
3297
- });
3298
- return await sendTransaction({
3299
- data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
3300
- to: address2,
3301
- ...request3
3302
- });
3303
- };
3304
- return {
3305
- ...obj,
3306
- sendTransaction,
3307
- deployContract,
3308
- writeContract
3309
- };
3310
- }
3311
- };
3312
- }
2760
+ import { useEffect as useEffect12, useRef as useRef2 } from "react";
3313
2761
 
3314
2762
  // src/utils/wallet.ts
3315
2763
  var sendMessage = ({ method, data, resolve, reject, timeout }) => {
@@ -3332,22 +2780,29 @@ var sendMessage = ({ method, data, resolve, reject, timeout }) => {
3332
2780
  }, timeout);
3333
2781
  };
3334
2782
 
2783
+ // src/store/useStore.ts
2784
+ import { create as create3 } from "zustand";
2785
+ var useStore = create3((set) => ({
2786
+ walletReady: false,
2787
+ setWalletReady: (inited) => set({ walletReady: inited })
2788
+ }));
2789
+ var useStore_default = useStore;
2790
+
3335
2791
  // src/hooks/useWalletInit.ts
3336
2792
  var getWalletIframe = () => {
3337
2793
  return document.getElementById("match-wallet");
3338
2794
  };
3339
- var AppClientId2 = getAppClientId();
2795
+ var AppClientId = getAppClientId();
3340
2796
  function useWalletInit({
3341
2797
  config
3342
2798
  }) {
3343
- const { endpoints, token, overview, setWallet, wallet } = useLocalStore_default();
3344
- const { initCore } = useWallet();
2799
+ const { endpoints, token, overview, setWallet, wallet, appid, locale, refreshOverview } = useLocalStore_default();
3345
2800
  const { setWalletReady, walletReady } = useStore_default();
3346
2801
  const iframeReadyRef = useRef2(walletReady);
3347
- useEffect16(() => {
2802
+ useEffect12(() => {
3348
2803
  setWallet(config);
3349
2804
  }, [config]);
3350
- useEffect16(() => {
2805
+ useEffect12(() => {
3351
2806
  matchlog_default.log("sdk.mpc.status", walletReady, iframeReadyRef.current);
3352
2807
  iframeReadyRef.current = walletReady;
3353
2808
  if (iframeReadyRef.current) {
@@ -3364,14 +2819,31 @@ function useWalletInit({
3364
2819
  onReady();
3365
2820
  }
3366
2821
  }, [walletReady]);
3367
- useEffect16(() => {
2822
+ useEffect12(() => {
2823
+ if (!endpoints.auth || !appid || !token || !config) {
2824
+ const existingIframe = getWalletIframe();
2825
+ if (existingIframe) {
2826
+ existingIframe.remove();
2827
+ }
2828
+ return;
2829
+ }
3368
2830
  if (endpoints.auth) {
3369
2831
  const existingIframe = getWalletIframe();
2832
+ const query = {
2833
+ appid,
2834
+ locale,
2835
+ appClientId: AppClientId,
2836
+ initParams: encodeBase64(JSON.stringify({
2837
+ access_token: token,
2838
+ type: config.type
2839
+ }))
2840
+ };
2841
+ const url = endpoints.auth + "wallet/2?" + new URLSearchParams(query).toString();
3370
2842
  if (!existingIframe) {
3371
2843
  const createIframe = () => {
3372
2844
  const iframe = document.createElement("iframe");
3373
2845
  iframe.id = "match-wallet";
3374
- iframe.src = endpoints.auth + "wallet/1";
2846
+ iframe.src = url;
3375
2847
  iframe.style.display = "none";
3376
2848
  iframe.style.width = "0";
3377
2849
  iframe.style.height = "0";
@@ -3440,14 +2912,14 @@ function useWalletInit({
3440
2912
  };
3441
2913
  }
3442
2914
  } else {
3443
- if (existingIframe.src !== endpoints.auth + "wallet/1") {
2915
+ if (existingIframe.src !== url) {
3444
2916
  setWalletReady(false);
3445
- existingIframe.src = endpoints.auth + "wallet/1";
2917
+ existingIframe.src = url;
3446
2918
  }
3447
2919
  }
3448
2920
  }
3449
- }, [endpoints.auth]);
3450
- useEffect16(() => {
2921
+ }, [endpoints.auth, appid, token, config]);
2922
+ useEffect12(() => {
3451
2923
  const messageHandle = async (e) => {
3452
2924
  if (e.origin !== endpoints.auth.substring(0, endpoints.auth.length - 1)) {
3453
2925
  return;
@@ -3488,6 +2960,10 @@ function useWalletInit({
3488
2960
  }
3489
2961
  return;
3490
2962
  }
2963
+ if (messageId == "refreshOverview") {
2964
+ refreshOverview();
2965
+ return;
2966
+ }
3491
2967
  if (messageId == "updateTransactionData") {
3492
2968
  const { data, rootData, transactionId } = res.data;
3493
2969
  if (window.matchProvider.transactionMessageIntervalMap[transactionId] && window.matchProvider.transactionMessageIntervalMap[transactionId].transaction.data == rootData) {
@@ -3518,21 +2994,13 @@ function useWalletInit({
3518
2994
  window.removeEventListener("message", messageHandle);
3519
2995
  };
3520
2996
  }, []);
3521
- useEffect16(() => {
3522
- if (token && overview && overview.did && walletReady) {
3523
- initCore({
3524
- address: overview.address || "",
3525
- did: overview.did
3526
- });
3527
- }
3528
- }, [overview, token, walletReady]);
3529
2997
  return {
3530
2998
  walletReady
3531
2999
  };
3532
3000
  }
3533
3001
 
3534
3002
  // src/hooks/useInit.tsx
3535
- import { useEffect as useEffect17, useRef as useRef3 } from "react";
3003
+ import { useEffect as useEffect13, useRef as useRef3 } from "react";
3536
3004
  function useInit({
3537
3005
  theme,
3538
3006
  appid,
@@ -3556,19 +3024,19 @@ function useInit({
3556
3024
  const searchParams = new URLSearchParams(window.location.search);
3557
3025
  const matchToken = searchParams.get("matchToken");
3558
3026
  const realEndpoints = endpoints || env_default.endpoints;
3559
- useEffect17(() => {
3027
+ useEffect13(() => {
3560
3028
  setTheme(theme);
3561
3029
  }, [theme]);
3562
- useEffect17(() => {
3030
+ useEffect13(() => {
3563
3031
  setAppid(appid);
3564
3032
  }, [appid]);
3565
- useEffect17(() => {
3033
+ useEffect13(() => {
3566
3034
  setEndpoints(realEndpoints);
3567
3035
  }, [realEndpoints]);
3568
- useEffect17(() => {
3036
+ useEffect13(() => {
3569
3037
  setLocale(locale || "en");
3570
3038
  }, [locale]);
3571
- useEffect17(() => {
3039
+ useEffect13(() => {
3572
3040
  if (matchToken) {
3573
3041
  const tokenData = JSON.parse(atob(matchToken));
3574
3042
  if (tokenData && tokenData.mid && tokenData.token) {
@@ -3579,7 +3047,7 @@ function useInit({
3579
3047
  }
3580
3048
  }
3581
3049
  }, [matchToken]);
3582
- useEffect17(() => {
3050
+ useEffect13(() => {
3583
3051
  const onLoginMessage = (event) => {
3584
3052
  const res = event.data;
3585
3053
  if (res.event === "login" && res.data && (res.data.token || res.data.token_type && res.data.access_token)) {
@@ -3616,7 +3084,7 @@ function useInit({
3616
3084
  overviewLoadingRef.current = false;
3617
3085
  }
3618
3086
  };
3619
- useEffect17(() => {
3087
+ useEffect13(() => {
3620
3088
  if (token) {
3621
3089
  loadOverview();
3622
3090
  }
@@ -4132,7 +3600,7 @@ var messages = {
4132
3600
  };
4133
3601
 
4134
3602
  // src/MatchContext.tsx
4135
- import { jsx as jsx24 } from "react/jsx-runtime";
3603
+ import { jsx as jsx22 } from "react/jsx-runtime";
4136
3604
  var queryClient = new QueryClient();
4137
3605
  var MatchContext = createContext(void 0);
4138
3606
  var MatchProvider = ({
@@ -4154,7 +3622,7 @@ var MatchProvider = ({
4154
3622
  useWalletInit({
4155
3623
  config: wallet
4156
3624
  });
4157
- return /* @__PURE__ */ jsx24(IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ jsx24(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx24(
3625
+ return /* @__PURE__ */ jsx22(IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ jsx22(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx22(
4158
3626
  MatchContext.Provider,
4159
3627
  {
4160
3628
  value: {
@@ -4165,7 +3633,7 @@ var MatchProvider = ({
4165
3633
  theme,
4166
3634
  locale: realLocale
4167
3635
  },
4168
- children: /* @__PURE__ */ jsx24(context_default, { children })
3636
+ children: /* @__PURE__ */ jsx22(context_default, { children })
4169
3637
  }
4170
3638
  ) }) });
4171
3639
  };
@@ -4189,7 +3657,8 @@ function useUserInfo() {
4189
3657
  overview,
4190
3658
  address,
4191
3659
  endpoints,
4192
- locale
3660
+ locale,
3661
+ refreshOverview
4193
3662
  } = useLocalStore_default();
4194
3663
  const { events, login } = useMatch();
4195
3664
  const { open: SOLOpen } = useSOLModalStore();
@@ -4198,7 +3667,7 @@ function useUserInfo() {
4198
3667
  const { open: BTCOpen } = useBTCModalStore();
4199
3668
  const { open: CEXBindOpen } = useCEXBindModalStore();
4200
3669
  const walletModalStore = useWalletModalStore();
4201
- const isLogin = useMemo13(() => !!token && !!overview, [token, overview]);
3670
+ const isLogin = useMemo10(() => !!token && !!overview, [token, overview]);
4202
3671
  const logout = async () => {
4203
3672
  try {
4204
3673
  await toLogoutApi();
@@ -4298,12 +3767,6 @@ function useUserInfo() {
4298
3767
  }
4299
3768
  return false;
4300
3769
  };
4301
- const refreshOverview = async () => {
4302
- const res = await getOverviewInfoApi();
4303
- if (res.data) {
4304
- setOverview(res.data);
4305
- }
4306
- };
4307
3770
  const bindWallet = async () => {
4308
3771
  if (!token) {
4309
3772
  throw new Error("You must login first");
@@ -4436,9 +3899,9 @@ function useUserInfo() {
4436
3899
  }
4437
3900
 
4438
3901
  // src/hooks/useMatchEvents.ts
4439
- import { useEffect as useEffect19 } from "react";
3902
+ import { useEffect as useEffect15 } from "react";
4440
3903
  function useMatchEvents(handlers) {
4441
- useEffect19(() => {
3904
+ useEffect15(() => {
4442
3905
  Object.entries(handlers).forEach(([event, handler]) => {
4443
3906
  if (handler) {
4444
3907
  eventManager_default.on(event, handler);
@@ -4454,16 +3917,228 @@ function useMatchEvents(handlers) {
4454
3917
  }, [handlers]);
4455
3918
  }
4456
3919
 
3920
+ // src/hooks/useWallet.tsx
3921
+ import {
3922
+ encodeFunctionData
3923
+ } from "viem";
3924
+ import { toAccount } from "viem/accounts";
3925
+ import { createWalletClient } from "viem";
3926
+ import { useEffect as useEffect16, useMemo as useMemo11 } from "react";
3927
+ import { encodeDeployData } from "viem";
3928
+ var AppClientId2 = "react-sdk-" + getVersion();
3929
+ function useWallet2() {
3930
+ const { address, wallet: walletConfig } = useLocalStore_default();
3931
+ const { walletReady } = useStore_default();
3932
+ const { open: openHashPanel } = useHashPanelStore();
3933
+ const isRecovered = async () => {
3934
+ const res = await window.matchProvider.waitUntilWalletMessage({
3935
+ method: "isRecovered"
3936
+ });
3937
+ return res.isRecovered;
3938
+ };
3939
+ const signMessage2 = async ({
3940
+ message,
3941
+ chainType = "ethereum" /* Ethereum */
3942
+ }) => {
3943
+ try {
3944
+ const res = await window.matchProvider.waitUntilWalletMessage({
3945
+ method: "signMessage",
3946
+ data: {
3947
+ message,
3948
+ chainType
3949
+ }
3950
+ });
3951
+ return res.message;
3952
+ } catch (error) {
3953
+ console.error("sdk.wallet.message", error);
3954
+ throw error;
3955
+ }
3956
+ };
3957
+ const signTransaction = async ({
3958
+ transaction,
3959
+ chainType = "ethereum" /* Ethereum */,
3960
+ chain
3961
+ }) => {
3962
+ try {
3963
+ const res = await window.matchProvider.waitUntilWalletMessage({
3964
+ method: "signTransaction",
3965
+ data: {
3966
+ transaction,
3967
+ chainType,
3968
+ chain
3969
+ }
3970
+ });
3971
+ return res.message;
3972
+ } catch (error) {
3973
+ console.error("sdk.wallet.transaction", error);
3974
+ throw error;
3975
+ }
3976
+ };
3977
+ const evmAccount = useMemo11(() => {
3978
+ return address ? toAccount({
3979
+ address,
3980
+ async signMessage({ message }) {
3981
+ return await signMessage2({
3982
+ message,
3983
+ chainType: "ethereum" /* Ethereum */
3984
+ });
3985
+ },
3986
+ async signTransaction(transaction, options) {
3987
+ const { account, chain, ...restTransaction } = transaction;
3988
+ console.log("qwe-sign-transaction", restTransaction, options);
3989
+ return await signTransaction({
3990
+ transaction: {
3991
+ ...restTransaction
3992
+ },
3993
+ chainType: "ethereum" /* Ethereum */,
3994
+ chain: {
3995
+ id: chain?.id || restTransaction.chainId,
3996
+ name: chain?.name,
3997
+ nativeCurrency: {
3998
+ name: chain?.nativeCurrency?.name || "ETH",
3999
+ symbol: chain?.nativeCurrency?.symbol || "ETH",
4000
+ decimals: chain?.nativeCurrency?.decimals || 18
4001
+ },
4002
+ rpcUrls: chain?.rpcUrls
4003
+ }
4004
+ });
4005
+ },
4006
+ async signTypedData(typedData) {
4007
+ return "0x";
4008
+ }
4009
+ }) : void 0;
4010
+ }, [address]);
4011
+ useEffect16(() => {
4012
+ matchlog_default.log("qwe-evmAccount", evmAccount);
4013
+ }, [evmAccount]);
4014
+ return {
4015
+ walletReady,
4016
+ evmAccount,
4017
+ address,
4018
+ signMessage: signMessage2,
4019
+ signTransaction,
4020
+ isRecovered,
4021
+ createWalletClient: (parameters) => {
4022
+ if (!evmAccount) {
4023
+ return;
4024
+ }
4025
+ const obj = createWalletClient({
4026
+ ...parameters,
4027
+ account: evmAccount
4028
+ });
4029
+ const sendTransaction = async (transaction) => {
4030
+ const { chain, ...restTransaction } = transaction;
4031
+ const chainId = chain ? chain.id : await obj.getChainId();
4032
+ const _chain = chain || obj.chain;
4033
+ const transactionId = Date.now().toString() + Math.random().toString().slice(6);
4034
+ window.matchProvider.transactionMessageIntervalMap[transactionId] = {
4035
+ transaction,
4036
+ func: async () => {
4037
+ try {
4038
+ const {
4039
+ chain: chain2,
4040
+ account,
4041
+ ...prepareTransactionRequest
4042
+ // @ts-ignore
4043
+ } = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
4044
+ window.matchProvider.sendWalletMessage({
4045
+ method: "prepareTransactionRequest",
4046
+ data: {
4047
+ prepareTransactionRequest,
4048
+ transactionId
4049
+ }
4050
+ });
4051
+ } catch (error) {
4052
+ console.error(error);
4053
+ }
4054
+ },
4055
+ interval: setInterval(() => {
4056
+ window.matchProvider.transactionMessageIntervalMap[transactionId].func();
4057
+ }, 1e4)
4058
+ };
4059
+ try {
4060
+ const {
4061
+ chain: chain2,
4062
+ account,
4063
+ ...prepareTransactionRequest
4064
+ // @ts-ignore
4065
+ } = await obj.prepareTransactionRequest(transaction);
4066
+ const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
4067
+ method: "sendTransaction",
4068
+ data: {
4069
+ transactionId,
4070
+ transaction: {
4071
+ ...restTransaction
4072
+ },
4073
+ chainType: "ethereum" /* Ethereum */,
4074
+ chain: {
4075
+ id: chainId,
4076
+ name: _chain?.name,
4077
+ nativeCurrency: _chain?.nativeCurrency,
4078
+ rpcUrls: _chain?.rpcUrls
4079
+ },
4080
+ prepareTransactionRequest
4081
+ }
4082
+ });
4083
+ openHashPanel();
4084
+ const txHash = await obj.sendRawTransaction({
4085
+ serializedTransaction
4086
+ });
4087
+ openHashPanel({
4088
+ hash: txHash,
4089
+ chain: _chain
4090
+ });
4091
+ clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
4092
+ delete window.matchProvider.transactionMessageIntervalMap[transactionId];
4093
+ return txHash;
4094
+ } catch (error) {
4095
+ console.error("qwe-sign-error", error);
4096
+ clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
4097
+ delete window.matchProvider.transactionMessageIntervalMap[transactionId];
4098
+ throw error;
4099
+ }
4100
+ };
4101
+ const deployContract = async (parameters2) => {
4102
+ const { abi, args, bytecode, ...request3 } = parameters2;
4103
+ const calldata = encodeDeployData({ abi, args, bytecode });
4104
+ return await sendTransaction({
4105
+ ...request3,
4106
+ data: calldata
4107
+ });
4108
+ };
4109
+ const writeContract = async (parameters2) => {
4110
+ const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
4111
+ const data = encodeFunctionData({
4112
+ abi,
4113
+ args,
4114
+ functionName
4115
+ });
4116
+ return await sendTransaction({
4117
+ data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
4118
+ to: address2,
4119
+ ...request3
4120
+ });
4121
+ };
4122
+ return {
4123
+ ...obj,
4124
+ sendTransaction,
4125
+ deployContract,
4126
+ writeContract
4127
+ };
4128
+ }
4129
+ };
4130
+ }
4131
+
4457
4132
  // src/hooks/useCopyClipboard.ts
4458
4133
  import copy from "copy-to-clipboard";
4459
- import { useCallback, useEffect as useEffect20, useState as useState19 } from "react";
4134
+ import { useCallback, useEffect as useEffect17, useState as useState17 } from "react";
4460
4135
  function useCopyClipboard(timeout = 500) {
4461
- const [isCopied, setIsCopied] = useState19(false);
4136
+ const [isCopied, setIsCopied] = useState17(false);
4462
4137
  const staticCopy = useCallback((text) => {
4463
4138
  const didCopy = copy(text);
4464
4139
  setIsCopied(didCopy);
4465
4140
  }, []);
4466
- useEffect20(() => {
4141
+ useEffect17(() => {
4467
4142
  if (isCopied) {
4468
4143
  const hide = setTimeout(() => {
4469
4144
  setIsCopied(false);
@@ -4489,10 +4164,9 @@ export {
4489
4164
  mintPassportNftApi,
4490
4165
  useUserInfo,
4491
4166
  useMatchEvents,
4492
- useWallet,
4167
+ useWallet2 as useWallet,
4493
4168
  useCopyClipboard,
4494
4169
  hooks_exports,
4495
- PasswordModal,
4496
4170
  EmailModal,
4497
4171
  LoginBox,
4498
4172
  LoginPanel,
@@ -4508,4 +4182,4 @@ export {
4508
4182
  MatchProvider,
4509
4183
  useMatch
4510
4184
  };
4511
- //# sourceMappingURL=chunk-EQ752DLJ.mjs.map
4185
+ //# sourceMappingURL=chunk-V35GNYR2.mjs.map