@matchain/matchid-sdk-react 0.1.42-alpha.2 → 0.1.42-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/{chunk-2YN5Y3SM.mjs → chunk-FZUZ63FZ.mjs} +2 -2
  2. package/dist/chunk-GEM2V3W6.mjs +4638 -0
  3. package/dist/chunk-GEM2V3W6.mjs.map +1 -0
  4. package/dist/chunk-SQIJR7RA.mjs +29 -0
  5. package/dist/chunk-SQIJR7RA.mjs.map +1 -0
  6. package/dist/components/index.js +647 -452
  7. package/dist/components/index.js.map +1 -1
  8. package/dist/components/index.mjs +4 -1
  9. package/dist/hooks/api/index.js +113 -76
  10. package/dist/hooks/api/index.js.map +1 -1
  11. package/dist/hooks/api/index.mjs +3 -2
  12. package/dist/hooks/index.js +321 -151
  13. package/dist/hooks/index.js.map +1 -1
  14. package/dist/hooks/index.mjs +2 -1
  15. package/dist/index.css +84 -4
  16. package/dist/index.js +1033 -625
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +6 -2
  19. package/dist/types/index.js +44 -0
  20. package/dist/types/index.js.map +1 -0
  21. package/dist/types/index.mjs +10 -0
  22. package/dist/types/index.mjs.map +1 -0
  23. package/example/package.json +1 -0
  24. package/example/src/App.tsx +54 -28
  25. package/example/src/components/ButtonGroup/index.tsx +10 -0
  26. package/example/src/components/Login/index.tsx +2 -2
  27. package/example/src/components/RoutePrivate/index.tsx +4 -3
  28. package/example/src/config/chains/index.ts +2 -0
  29. package/example/src/config/chains/matchMain.ts +27 -0
  30. package/example/src/config/chains/matchTest.ts +33 -0
  31. package/example/src/config/index.ts +6 -2
  32. package/example/src/pages/User/components/BindListModal.tsx +10 -0
  33. package/example/src/pages/User/components/PohListModal.tsx +10 -0
  34. package/example/src/pages/User/components/QueryDisplay.tsx +25 -0
  35. package/example/src/pages/{User.tsx → User/index.tsx} +55 -84
  36. package/example/src/pages/Wallet.tsx +133 -44
  37. package/example/src/store/useLocalStore.ts +45 -0
  38. package/package.json +7 -2
  39. package/dist/assets/icon/index.d.mts +0 -133
  40. package/dist/assets/icon/index.d.ts +0 -133
  41. package/dist/chunk-PZPEWHBV.mjs +0 -4251
  42. package/dist/chunk-PZPEWHBV.mjs.map +0 -1
  43. package/dist/components/index.d.mts +0 -4
  44. package/dist/components/index.d.ts +0 -4
  45. package/dist/config/chains/index.d.mts +0 -2
  46. package/dist/config/chains/index.d.ts +0 -2
  47. package/dist/hooks/api/index.d.mts +0 -5
  48. package/dist/hooks/api/index.d.ts +0 -5
  49. package/dist/hooks/index.d.mts +0 -4
  50. package/dist/hooks/index.d.ts +0 -4
  51. package/dist/index-B4YpKSY3.d.ts +0 -94
  52. package/dist/index-CxY3u9Rv.d.ts +0 -89
  53. package/dist/index-DCReY5T2.d.mts +0 -89
  54. package/dist/index-DXRGMAbv.d.mts +0 -83
  55. package/dist/index-DXRGMAbv.d.ts +0 -83
  56. package/dist/index-DbjibQ5d.d.mts +0 -65
  57. package/dist/index-GcpJCj6O.d.ts +0 -65
  58. package/dist/index-_k6h9w0P.d.mts +0 -94
  59. package/dist/index.d.mts +0 -33
  60. package/dist/index.d.ts +0 -33
  61. package/dist/types.d-DwF-Pkvh.d.mts +0 -179
  62. package/dist/types.d-DwF-Pkvh.d.ts +0 -179
  63. /package/dist/{chunk-2YN5Y3SM.mjs.map → chunk-FZUZ63FZ.mjs.map} +0 -0
@@ -82,7 +82,7 @@ var localStore = useLocalStore;
82
82
  var useLocalStore_default = useLocalStore;
83
83
 
84
84
  // src/hooks/useUserInfo.tsx
85
- var import_react25 = require("react");
85
+ var import_react28 = require("react");
86
86
 
87
87
  // src/api/request.ts
88
88
  var import_axios = __toESM(require("axios"));
@@ -242,10 +242,10 @@ var getAuthInfoApi = () => {
242
242
  };
243
243
 
244
244
  // src/MatchContext.tsx
245
- var import_react24 = require("react");
245
+ var import_react27 = require("react");
246
246
 
247
247
  // src/context/BusinessProvider.tsx
248
- var import_react21 = require("react");
248
+ var import_react23 = require("react");
249
249
 
250
250
  // src/assets/icon/ArrowLeftIcon.tsx
251
251
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -396,36 +396,40 @@ function useDownMd() {
396
396
  return isBelowMd;
397
397
  }
398
398
 
399
- // src/components/Modal/index.tsx
399
+ // src/components/Overlay/index.tsx
400
+ var import_react2 = require("react");
400
401
  var import_jsx_runtime44 = require("react/jsx-runtime");
401
402
 
403
+ // src/components/Modal/index.tsx
404
+ var import_jsx_runtime45 = require("react/jsx-runtime");
405
+
402
406
  // src/components/PasswordModal/index.tsx
403
- var import_react3 = require("react");
407
+ var import_react4 = require("react");
404
408
 
405
409
  // src/components/Input/index.tsx
406
- var import_react2 = require("react");
407
- var import_jsx_runtime45 = require("react/jsx-runtime");
410
+ var import_react3 = require("react");
411
+ var import_jsx_runtime46 = require("react/jsx-runtime");
408
412
 
409
413
  // src/components/Field/index.tsx
410
- var import_jsx_runtime46 = require("react/jsx-runtime");
414
+ var import_jsx_runtime47 = require("react/jsx-runtime");
411
415
 
412
416
  // src/components/Button/index.tsx
413
- var import_jsx_runtime47 = require("react/jsx-runtime");
417
+ var import_jsx_runtime48 = require("react/jsx-runtime");
414
418
 
415
419
  // src/components/PasswordModal/index.tsx
416
420
  var import_react_intl = require("react-intl");
417
- var import_jsx_runtime48 = require("react/jsx-runtime");
421
+ var import_jsx_runtime49 = require("react/jsx-runtime");
418
422
 
419
423
  // src/components/RecoveryModal/index.tsx
420
- var import_react4 = require("react");
424
+ var import_react5 = require("react");
421
425
  var import_react_intl2 = require("react-intl");
422
- var import_jsx_runtime49 = require("react/jsx-runtime");
426
+ var import_jsx_runtime50 = require("react/jsx-runtime");
423
427
 
424
428
  // src/store/useStore.ts
425
429
  var import_zustand2 = require("zustand");
426
430
  var useStore = (0, import_zustand2.create)((set) => ({
427
- walletIframeInited: false,
428
- setWalletIframeInited: (inited) => set({ walletIframeInited: inited }),
431
+ walletReady: false,
432
+ setWalletReady: (inited) => set({ walletReady: inited }),
429
433
  recoveryModal: {
430
434
  open: false,
431
435
  success: async () => {
@@ -470,16 +474,27 @@ var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
470
474
  open: (type) => set({ isOpen: true, type }),
471
475
  close: () => set({ isOpen: false })
472
476
  }));
477
+ var useHashPanelStore = (0, import_zustand3.create)((set) => ({
478
+ isOpen: false,
479
+ hash: null,
480
+ chain: null,
481
+ open: (params) => set({
482
+ isOpen: true,
483
+ hash: params?.hash || null,
484
+ chain: params?.chain || null
485
+ }),
486
+ close: () => set({ isOpen: false })
487
+ }));
473
488
 
474
489
  // src/components/EmailModal/index.tsx
475
- var import_react7 = require("react");
490
+ var import_react8 = require("react");
476
491
 
477
492
  // src/components/EmailModal/StepEmail.tsx
478
- var import_react5 = require("react");
493
+ var import_react6 = require("react");
479
494
 
480
495
  // src/utils/index.ts
481
496
  var getVersion = () => {
482
- return "0.0.1";
497
+ return "0.0.2";
483
498
  };
484
499
  function encodeBase64(input) {
485
500
  return btoa(unescape(encodeURIComponent(input)));
@@ -490,62 +505,62 @@ function getAppClientId() {
490
505
 
491
506
  // src/components/EmailModal/StepEmail.tsx
492
507
  var import_react_intl3 = require("react-intl");
493
- var import_jsx_runtime50 = require("react/jsx-runtime");
508
+ var import_jsx_runtime51 = require("react/jsx-runtime");
494
509
 
495
510
  // src/components/EmailModal/StepVerify.tsx
496
- var import_react6 = require("react");
511
+ var import_react7 = require("react");
497
512
  var import_react_intl4 = require("react-intl");
498
- var import_jsx_runtime51 = require("react/jsx-runtime");
513
+ var import_jsx_runtime52 = require("react/jsx-runtime");
499
514
 
500
515
  // src/components/EmailModal/index.tsx
501
516
  var import_react_intl5 = require("react-intl");
502
- var import_jsx_runtime52 = require("react/jsx-runtime");
517
+ var import_jsx_runtime53 = require("react/jsx-runtime");
503
518
 
504
519
  // src/components/Popover/index.tsx
505
- var import_react8 = require("react");
506
- var import_jsx_runtime53 = require("react/jsx-runtime");
520
+ var import_react9 = require("react");
521
+ var import_jsx_runtime54 = require("react/jsx-runtime");
507
522
 
508
523
  // src/components/LoginBox/index.tsx
509
- var import_react9 = require("react");
524
+ var import_react10 = require("react");
510
525
  var import_react_intl6 = require("react-intl");
511
- var import_jsx_runtime54 = require("react/jsx-runtime");
526
+ var import_jsx_runtime55 = require("react/jsx-runtime");
512
527
 
513
528
  // src/components/LoginButton/index.tsx
514
- var import_react11 = require("react");
529
+ var import_react12 = require("react");
515
530
 
516
531
  // src/components/LoginPanel/index.tsx
517
532
  var import_react_intl7 = require("react-intl");
518
- var import_jsx_runtime55 = require("react/jsx-runtime");
533
+ var import_jsx_runtime56 = require("react/jsx-runtime");
519
534
 
520
535
  // src/components/LoginModal/index.tsx
521
- var import_jsx_runtime56 = require("react/jsx-runtime");
536
+ var import_jsx_runtime57 = require("react/jsx-runtime");
522
537
 
523
538
  // src/components/UserPopover/index.tsx
524
- var import_react10 = require("react");
539
+ var import_react11 = require("react");
525
540
 
526
541
  // src/assets/icon/ProfileIcon.tsx
527
- var import_jsx_runtime57 = require("react/jsx-runtime");
542
+ var import_jsx_runtime58 = require("react/jsx-runtime");
528
543
 
529
544
  // src/components/UserPopover/index.tsx
530
545
  var import_react_intl8 = require("react-intl");
531
- var import_jsx_runtime58 = require("react/jsx-runtime");
546
+ var import_jsx_runtime59 = require("react/jsx-runtime");
532
547
 
533
548
  // src/components/LoginButton/index.tsx
534
549
  var import_react_intl9 = require("react-intl");
535
- var import_jsx_runtime59 = require("react/jsx-runtime");
550
+ var import_jsx_runtime60 = require("react/jsx-runtime");
536
551
 
537
552
  // src/components/UsernameModal/index.tsx
538
- var import_react12 = require("react");
553
+ var import_react13 = require("react");
539
554
 
540
555
  // src/assets/icon/InfoRoundIcon.tsx
541
- var import_jsx_runtime60 = require("react/jsx-runtime");
556
+ var import_jsx_runtime61 = require("react/jsx-runtime");
542
557
 
543
558
  // src/components/UsernameModal/index.tsx
544
559
  var import_react_intl10 = require("react-intl");
545
- var import_jsx_runtime61 = require("react/jsx-runtime");
560
+ var import_jsx_runtime62 = require("react/jsx-runtime");
546
561
 
547
562
  // src/components/SOLModal/index.tsx
548
- var import_react14 = __toESM(require("react"));
563
+ var import_react15 = __toESM(require("react"));
549
564
 
550
565
  // src/hooks/eventManager.ts
551
566
  var EventManager = class {
@@ -594,11 +609,11 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
594
609
  var import_react_intl11 = require("react-intl");
595
610
 
596
611
  // src/components/WalletModalContent/index.tsx
597
- var import_react13 = require("react");
598
- var import_jsx_runtime62 = require("react/jsx-runtime");
612
+ var import_react14 = require("react");
613
+ var import_jsx_runtime63 = require("react/jsx-runtime");
599
614
 
600
615
  // src/components/SOLModal/index.tsx
601
- var import_jsx_runtime63 = require("react/jsx-runtime");
616
+ var import_jsx_runtime64 = require("react/jsx-runtime");
602
617
  var wallets = [
603
618
  new import_wallet_adapter_wallets.PhantomWalletAdapter(),
604
619
  new import_wallet_adapter_wallets.SolflareWalletAdapter(),
@@ -642,183 +657,338 @@ var wallets = [
642
657
  ];
643
658
 
644
659
  // src/components/TRONModal/index.tsx
645
- var import_react16 = __toESM(require("react"));
660
+ var import_react17 = __toESM(require("react"));
646
661
  var import_react_intl12 = require("react-intl");
647
662
 
648
663
  // src/hooks/useTRONWallet.ts
649
- var import_react15 = require("react");
664
+ var import_react16 = require("react");
650
665
 
651
666
  // src/components/TRONModal/index.tsx
652
- var import_jsx_runtime64 = require("react/jsx-runtime");
667
+ var import_jsx_runtime65 = require("react/jsx-runtime");
653
668
 
654
669
  // src/components/TONModal/index.tsx
655
- var import_react17 = __toESM(require("react"));
670
+ var import_react18 = __toESM(require("react"));
656
671
  var import_react_intl13 = require("react-intl");
657
672
  var import_ui_react = require("@tonconnect/ui-react");
658
- var import_jsx_runtime65 = require("react/jsx-runtime");
673
+ var import_jsx_runtime66 = require("react/jsx-runtime");
659
674
 
660
675
  // src/components/BTCModal/index.tsx
661
- var import_react19 = __toESM(require("react"));
676
+ var import_react20 = __toESM(require("react"));
662
677
  var import_react_intl14 = require("react-intl");
663
678
 
664
679
  // src/lib/btc/XverseAdapter.ts
665
680
  var import_sats_connect = require("sats-connect");
666
681
 
667
682
  // src/hooks/useBTCWallet.ts
668
- var import_react18 = require("react");
683
+ var import_react19 = require("react");
669
684
 
670
685
  // src/components/BTCModal/index.tsx
671
- var import_jsx_runtime66 = require("react/jsx-runtime");
686
+ var import_jsx_runtime67 = require("react/jsx-runtime");
672
687
 
673
688
  // src/components/CEXBindModal/index.tsx
674
- var import_react20 = require("react");
689
+ var import_react21 = require("react");
675
690
  var import_react_intl15 = require("react-intl");
676
- var import_jsx_runtime67 = require("react/jsx-runtime");
691
+ var import_jsx_runtime68 = require("react/jsx-runtime");
692
+
693
+ // src/components/HashPanel/index.tsx
694
+ var import_viem = require("viem");
695
+ var import_react22 = require("react");
696
+ var import_react_query = require("@tanstack/react-query");
697
+
698
+ // src/components/Drawer/index.tsx
699
+ var import_jsx_runtime69 = require("react/jsx-runtime");
700
+
701
+ // src/components/ModalDrawer/index.tsx
702
+ var import_jsx_runtime70 = require("react/jsx-runtime");
703
+
704
+ // src/components/HashPanel/index.tsx
705
+ var import_jsx_runtime71 = require("react/jsx-runtime");
677
706
 
678
707
  // src/context/BusinessProvider.tsx
679
- var import_jsx_runtime68 = require("react/jsx-runtime");
708
+ var import_jsx_runtime72 = require("react/jsx-runtime");
680
709
 
681
710
  // src/context/index.tsx
682
- var import_jsx_runtime69 = (
711
+ var import_jsx_runtime73 = (
683
712
  // <MpcWalletProvider>
684
713
  require("react/jsx-runtime")
685
714
  );
686
715
 
687
716
  // src/hooks/useWalletInit.ts
688
- var import_react22 = require("react");
717
+ var import_react25 = require("react");
689
718
 
690
719
  // src/hooks/useWallet.tsx
720
+ var import_viem2 = require("viem");
691
721
  var import_accounts = require("viem/accounts");
722
+ var import_viem3 = require("viem");
723
+ var import_react24 = require("react");
724
+ var import_viem4 = require("viem");
692
725
  var AppClientId = "react-sdk-" + getVersion();
693
726
  function useWallet() {
694
727
  const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
695
- const { setRecoveryModal, closeRecoveryModal } = useStore_default();
696
- const initWallet = ({
728
+ const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
729
+ const { open: openHashPanel } = useHashPanelStore();
730
+ const initCore = ({
697
731
  did,
698
732
  address: address2
699
733
  }) => {
700
- return window.waitMatchUntilWalletMessage(
701
- "initCore",
734
+ return window.matchProvider.waitUntilWalletMessage(
702
735
  {
703
- AppId: appid,
704
- AppClientId,
705
- UserId: did,
706
- AccessToken: token,
707
- Address: address2
736
+ method: "initCore",
737
+ data: {
738
+ AppId: appid,
739
+ AppClientId,
740
+ UserId: did,
741
+ AccessToken: token,
742
+ Address: address2
743
+ }
708
744
  }
709
745
  );
710
746
  };
747
+ const generateEmbeddedWallets = async (data) => {
748
+ return await window.matchProvider.waitUntilWalletMessage({
749
+ method: "generateEmbeddedWallets",
750
+ data
751
+ });
752
+ };
753
+ const recoveryEmbeddedWallets = async (data) => {
754
+ return await window.matchProvider.waitUntilWalletMessage({
755
+ method: "recoveryEmbeddedWallets",
756
+ data
757
+ });
758
+ };
711
759
  const isRecovered = async () => {
712
- const res = await window.waitMatchUntilWalletMessage("isRecovered");
760
+ const res = await window.matchProvider.waitUntilWalletMessage({
761
+ method: "isRecovered"
762
+ });
713
763
  return res.isRecovered;
714
764
  };
715
- const generateWallet = async ({
716
- did,
717
- userPasscode,
718
- recoveryType = "user_passcode_recovery_key"
765
+ const recoverAfter = async ({
766
+ chainType,
767
+ handle
719
768
  }) => {
720
- return await window.waitMatchUntilWalletMessage("generateWallet", {
721
- chainType: "ethereum",
722
- recoveryType,
723
- userPasscode
724
- });
725
- };
726
- const recoverAfter = async (func) => {
727
769
  return new Promise(async (resolve, reject) => {
728
770
  const res = await isRecovered();
729
- matchlog_default.log("isRecovered", res);
730
- if (!res) {
731
- await initWallet({
732
- address: overview?.address || "",
733
- did: overview?.did?.split(":")[2] || ""
734
- });
735
- if (walletConfig.type == "UserPasscode") {
736
- setRecoveryModal({
737
- open: true,
738
- success: async () => {
739
- matchlog_default.log("recover Success");
740
- await func(resolve, reject);
741
- },
742
- close: async () => {
743
- closeRecoveryModal();
744
- reject(new Error("recover modal close"));
745
- }
746
- });
747
- return;
748
- }
749
- await recoveryWallet("ethereum", "base_generated_recovery_key");
750
- await func(resolve, reject);
751
- } else {
752
- await recoveryWallet("ethereum", "user_passcode_recovery_key");
753
- await func(resolve, reject);
771
+ matchlog_default.log("sdk.mpc.isRecovered", res);
772
+ if (res) {
773
+ await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
774
+ await handle(resolve, reject);
775
+ return;
754
776
  }
777
+ setRecoveryModal({
778
+ chainType,
779
+ open: true,
780
+ success: async () => {
781
+ closeRecoveryModal();
782
+ matchlog_default.log("sdk.mpc.recover", "Success");
783
+ await handle(resolve, reject);
784
+ },
785
+ close: async () => {
786
+ closeRecoveryModal();
787
+ reject(new Error("recover modal close"));
788
+ }
789
+ });
790
+ await initCore({
791
+ address: overview?.address || "",
792
+ did: overview?.did || ""
793
+ });
755
794
  });
756
795
  };
757
- const signMessage2 = async (message, type) => {
796
+ const signMessage2 = async ({
797
+ message,
798
+ chainType = "ethereum" /* Ethereum */
799
+ }) => {
758
800
  const getSign = async (resolve, reject) => {
759
801
  try {
760
- const recoverRes = await window.waitMatchUntilWalletMessage("signMessage", {
761
- message,
762
- chainType: type
802
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
803
+ method: "signMessage",
804
+ data: {
805
+ message,
806
+ chainType
807
+ }
763
808
  });
764
- closeRecoveryModal();
765
- resolve(recoverRes);
809
+ resolve(recoverRes.message);
766
810
  } catch (error) {
767
811
  console.error("qwe-sign-error", error);
768
812
  reject(error);
769
813
  }
770
814
  };
771
- return await recoverAfter(getSign);
815
+ return await recoverAfter({
816
+ handle: getSign,
817
+ chainType
818
+ });
772
819
  };
773
- const signTransaction = async (transaction, type) => {
820
+ const signTransaction = async ({
821
+ transaction,
822
+ chainType = "ethereum" /* Ethereum */,
823
+ chain
824
+ }) => {
825
+ console.log("qwe-sign-transaction", transaction);
774
826
  const getSign = async (resolve, reject) => {
775
827
  try {
776
- const recoverRes = await window.waitMatchUntilWalletMessage("signTransaction", {
777
- transaction,
778
- chainType: type
828
+ const recoverRes = await window.matchProvider.waitUntilWalletMessage({
829
+ method: "signTransaction",
830
+ data: {
831
+ transaction,
832
+ chainType,
833
+ chain
834
+ }
779
835
  });
780
- closeRecoveryModal();
781
- resolve(recoverRes);
836
+ resolve(recoverRes.message);
782
837
  } catch (error) {
783
838
  console.error("qwe-sign-error", error);
784
839
  reject(error);
785
840
  }
786
841
  };
787
- return await recoverAfter(getSign);
788
- };
789
- const recoveryWallet = async (chainType, recoveryType, userPasscode) => {
790
- return await window.waitMatchUntilWalletMessage("recoveryWallet", {
791
- chainType,
792
- recoveryType,
793
- userPasscode
842
+ return await recoverAfter({
843
+ handle: getSign,
844
+ chainType
794
845
  });
795
846
  };
796
- const evmAccount = address ? (0, import_accounts.toAccount)({
797
- address,
798
- async signMessage({ message }) {
799
- return await signMessage2(message);
800
- },
801
- async signTransaction(transaction, options) {
802
- const { account, ...restTransaction } = transaction;
803
- const sign = await signTransaction({
804
- ...restTransaction
805
- });
806
- return sign;
807
- },
808
- async signTypedData(typedData) {
809
- return "0x";
810
- }
811
- }) : void 0;
847
+ const evmAccount = (0, import_react24.useMemo)(() => {
848
+ return address ? (0, import_accounts.toAccount)({
849
+ address,
850
+ async signMessage({ message }) {
851
+ return await signMessage2({
852
+ message,
853
+ chainType: "ethereum" /* Ethereum */
854
+ });
855
+ },
856
+ async signTransaction(transaction, options) {
857
+ const { account, chain, ...restTransaction } = transaction;
858
+ console.log("qwe-sign-transaction", restTransaction, options);
859
+ return await signTransaction({
860
+ transaction: {
861
+ ...restTransaction
862
+ },
863
+ chainType: "ethereum" /* Ethereum */,
864
+ chain: {
865
+ id: chain?.id || restTransaction.chainId,
866
+ name: chain?.name,
867
+ nativeCurrency: {
868
+ name: chain?.nativeCurrency?.name || "ETH",
869
+ symbol: chain?.nativeCurrency?.symbol || "ETH",
870
+ decimals: chain?.nativeCurrency?.decimals || 18
871
+ }
872
+ }
873
+ });
874
+ },
875
+ async signTypedData(typedData) {
876
+ return "0x";
877
+ }
878
+ }) : void 0;
879
+ }, [address]);
880
+ (0, import_react24.useEffect)(() => {
881
+ console.log("qwe-evmAccount", evmAccount);
882
+ }, [evmAccount]);
812
883
  return {
884
+ walletReady,
813
885
  evmAccount,
814
886
  address,
815
- recoveryWallet,
816
- initWallet,
817
- generateWallet,
887
+ initCore,
818
888
  signMessage: signMessage2,
819
889
  signTransaction,
820
890
  isRecovered,
821
- recoverAfter
891
+ recoverAfter,
892
+ generateEmbeddedWallets,
893
+ recoveryEmbeddedWallets,
894
+ createWalletClient: (parameters) => {
895
+ if (!evmAccount) {
896
+ return;
897
+ }
898
+ const obj = (0, import_viem3.createWalletClient)({
899
+ ...parameters,
900
+ account: evmAccount
901
+ });
902
+ const sendTransaction = async (transaction) => {
903
+ const getSign = async (resolve, reject) => {
904
+ const { chain, ...restTransaction } = transaction;
905
+ const chainId = chain ? chain.id : await obj.getChainId();
906
+ const _chain = chain || obj.chain;
907
+ const transactionId = Date.now().toString() + Math.random().toString().slice(6);
908
+ const sendPrepareTransactionRequest = async () => {
909
+ const { chain: chain2, account, ...prepareTransactionRequest } = await obj.prepareTransactionRequest(transaction);
910
+ window.matchProvider.sendWalletMessage({
911
+ method: "prepareTransactionRequest",
912
+ data: {
913
+ prepareTransactionRequest,
914
+ transactionId
915
+ }
916
+ });
917
+ };
918
+ let interval = null;
919
+ const timer = setTimeout(() => {
920
+ sendPrepareTransactionRequest();
921
+ interval = setInterval(() => {
922
+ sendPrepareTransactionRequest();
923
+ }, 1e4);
924
+ }, 1500);
925
+ try {
926
+ const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
927
+ method: "sendTransaction",
928
+ data: {
929
+ transactionId,
930
+ transaction: {
931
+ ...restTransaction
932
+ },
933
+ chainType: "ethereum" /* Ethereum */,
934
+ chain: {
935
+ id: chainId,
936
+ name: _chain?.name,
937
+ nativeCurrency: _chain?.nativeCurrency
938
+ }
939
+ }
940
+ });
941
+ openHashPanel();
942
+ const txHash = await obj.sendRawTransaction({
943
+ serializedTransaction
944
+ });
945
+ openHashPanel({
946
+ hash: txHash,
947
+ chain
948
+ });
949
+ clearTimeout(timer);
950
+ clearInterval(interval);
951
+ resolve(txHash);
952
+ } catch (error) {
953
+ console.error("qwe-sign-error", error);
954
+ clearTimeout(timer);
955
+ clearInterval(interval);
956
+ reject(error);
957
+ }
958
+ };
959
+ return await recoverAfter({
960
+ handle: getSign,
961
+ chainType: "ethereum" /* Ethereum */
962
+ });
963
+ };
964
+ const deployContract = async (parameters2) => {
965
+ const { abi, args, bytecode, ...request3 } = parameters2;
966
+ const calldata = (0, import_viem4.encodeDeployData)({ abi, args, bytecode });
967
+ return await sendTransaction({
968
+ ...request3,
969
+ data: calldata
970
+ });
971
+ };
972
+ const writeContract = async (parameters2) => {
973
+ const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
974
+ const data = (0, import_viem2.encodeFunctionData)({
975
+ abi,
976
+ args,
977
+ functionName
978
+ });
979
+ return await sendTransaction({
980
+ data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
981
+ to: address2,
982
+ ...request3
983
+ });
984
+ };
985
+ return {
986
+ ...obj,
987
+ sendTransaction,
988
+ deployContract,
989
+ writeContract
990
+ };
991
+ }
822
992
  };
823
993
  }
824
994
 
@@ -826,16 +996,16 @@ function useWallet() {
826
996
  var AppClientId2 = getAppClientId();
827
997
 
828
998
  // src/hooks/useInit.tsx
829
- var import_react23 = require("react");
999
+ var import_react26 = require("react");
830
1000
 
831
1001
  // src/MatchContext.tsx
832
- var import_react_query = require("@tanstack/react-query");
1002
+ var import_react_query2 = require("@tanstack/react-query");
833
1003
  var import_react_intl16 = require("react-intl");
834
- var import_jsx_runtime70 = require("react/jsx-runtime");
835
- var queryClient = new import_react_query.QueryClient();
836
- var MatchContext = (0, import_react24.createContext)(void 0);
1004
+ var import_jsx_runtime74 = require("react/jsx-runtime");
1005
+ var queryClient = new import_react_query2.QueryClient();
1006
+ var MatchContext = (0, import_react27.createContext)(void 0);
837
1007
  var useMatch = () => {
838
- const context = (0, import_react24.useContext)(MatchContext);
1008
+ const context = (0, import_react27.useContext)(MatchContext);
839
1009
  if (context === void 0) {
840
1010
  throw new Error("useMatch must be used within a MatchProvider");
841
1011
  }
@@ -862,7 +1032,7 @@ function useUserInfo() {
862
1032
  const { open: TONOpen } = useTONModalStore();
863
1033
  const { open: BTCOpen } = useBTCModalStore();
864
1034
  const { open: CEXBindOpen } = useCEXBindModalStore();
865
- const isLogin = (0, import_react25.useMemo)(() => !!token, [token]);
1035
+ const isLogin = (0, import_react28.useMemo)(() => !!token && !!overview, [token, overview]);
866
1036
  const logout = async () => {
867
1037
  try {
868
1038
  await toLogoutApi();
@@ -1096,9 +1266,9 @@ function useUserInfo() {
1096
1266
  }
1097
1267
 
1098
1268
  // src/hooks/useMatchEvents.ts
1099
- var import_react26 = require("react");
1269
+ var import_react29 = require("react");
1100
1270
  function useMatchEvents(handlers) {
1101
- (0, import_react26.useEffect)(() => {
1271
+ (0, import_react29.useEffect)(() => {
1102
1272
  Object.entries(handlers).forEach(([event, handler2]) => {
1103
1273
  if (handler2) {
1104
1274
  eventManager_default.on(event, handler2);
@@ -1116,14 +1286,14 @@ function useMatchEvents(handlers) {
1116
1286
 
1117
1287
  // src/hooks/useCopyClipboard.ts
1118
1288
  var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
1119
- var import_react27 = require("react");
1289
+ var import_react30 = require("react");
1120
1290
  function useCopyClipboard(timeout = 500) {
1121
- const [isCopied, setIsCopied] = (0, import_react27.useState)(false);
1122
- const staticCopy = (0, import_react27.useCallback)((text) => {
1291
+ const [isCopied, setIsCopied] = (0, import_react30.useState)(false);
1292
+ const staticCopy = (0, import_react30.useCallback)((text) => {
1123
1293
  const didCopy = (0, import_copy_to_clipboard.default)(text);
1124
1294
  setIsCopied(didCopy);
1125
1295
  }, []);
1126
- (0, import_react27.useEffect)(() => {
1296
+ (0, import_react30.useEffect)(() => {
1127
1297
  if (isCopied) {
1128
1298
  const hide = setTimeout(() => {
1129
1299
  setIsCopied(false);