@matchain/matchid-sdk-react 0.1.42-alpha.16 → 0.1.42-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 (71) 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/{chunk-WCS3X2LC.mjs → chunk-2YN5Y3SM.mjs} +2 -2
  4. package/dist/chunk-PZPEWHBV.mjs +4251 -0
  5. package/dist/chunk-PZPEWHBV.mjs.map +1 -0
  6. package/dist/components/index.d.mts +2 -3
  7. package/dist/components/index.d.ts +2 -3
  8. package/dist/components/index.js +486 -770
  9. package/dist/components/index.js.map +1 -1
  10. package/dist/components/index.mjs +3 -8
  11. package/dist/hooks/api/index.d.mts +2 -2
  12. package/dist/hooks/api/index.d.ts +2 -2
  13. package/dist/hooks/api/index.js +78 -137
  14. package/dist/hooks/api/index.js.map +1 -1
  15. package/dist/hooks/api/index.mjs +2 -3
  16. package/dist/hooks/index.d.mts +2 -5
  17. package/dist/hooks/index.d.ts +2 -5
  18. package/dist/hooks/index.js +158 -362
  19. package/dist/hooks/index.js.map +1 -1
  20. package/dist/hooks/index.mjs +1 -2
  21. package/dist/index-B4YpKSY3.d.ts +94 -0
  22. package/dist/{index-CLvQH5gM.d.ts → index-CxY3u9Rv.d.ts} +12 -32
  23. package/dist/{index-DlhAHm_s.d.mts → index-DCReY5T2.d.mts} +12 -32
  24. package/dist/{index-Ca9nh_8s.d.ts → index-DbjibQ5d.d.mts} +1 -1
  25. package/dist/{index-DFZpfAfc.d.mts → index-GcpJCj6O.d.ts} +1 -1
  26. package/dist/index-_k6h9w0P.d.mts +94 -0
  27. package/dist/index.css +4 -84
  28. package/dist/index.d.mts +5 -9
  29. package/dist/index.d.ts +5 -9
  30. package/dist/index.js +669 -1183
  31. package/dist/index.js.map +1 -1
  32. package/dist/index.mjs +2 -6
  33. package/dist/types.d-DwF-Pkvh.d.mts +179 -0
  34. package/dist/types.d-DwF-Pkvh.d.ts +179 -0
  35. package/example/package.json +0 -1
  36. package/example/src/App.tsx +28 -54
  37. package/example/src/components/Login/index.tsx +2 -2
  38. package/example/src/components/RoutePrivate/index.tsx +3 -4
  39. package/example/src/config/index.ts +2 -7
  40. package/example/src/pages/{User/index.tsx → User.tsx} +84 -55
  41. package/example/src/pages/Wallet.tsx +43 -258
  42. package/example/tsconfig.json +0 -1
  43. package/package.json +2 -7
  44. package/dist/chunk-SQIJR7RA.mjs +0 -29
  45. package/dist/chunk-SQIJR7RA.mjs.map +0 -1
  46. package/dist/chunk-UCIEZ3XI.mjs +0 -4747
  47. package/dist/chunk-UCIEZ3XI.mjs.map +0 -1
  48. package/dist/index-Bluim2ZP.d.mts +0 -143
  49. package/dist/index-BxS06a5O.d.ts +0 -50
  50. package/dist/index-EqksEEto.d.ts +0 -143
  51. package/dist/index-q5XDobUF.d.mts +0 -50
  52. package/dist/mpc-CTbBWHld.d.mts +0 -20
  53. package/dist/mpc-CTbBWHld.d.ts +0 -20
  54. package/dist/types/index.d.mts +0 -3
  55. package/dist/types/index.d.ts +0 -3
  56. package/dist/types/index.js +0 -44
  57. package/dist/types/index.js.map +0 -1
  58. package/dist/types/index.mjs +0 -10
  59. package/dist/types/index.mjs.map +0 -1
  60. package/dist/types-CVwZEgQ0.d.mts +0 -244
  61. package/dist/types-CVwZEgQ0.d.ts +0 -244
  62. package/example/src/abi/erc20.json +0 -222
  63. package/example/src/components/ButtonGroup/index.tsx +0 -10
  64. package/example/src/config/chains/index.ts +0 -2
  65. package/example/src/config/chains/matchMain.ts +0 -27
  66. package/example/src/config/chains/matchTest.ts +0 -33
  67. package/example/src/pages/User/components/BindListModal.tsx +0 -10
  68. package/example/src/pages/User/components/PohListModal.tsx +0 -10
  69. package/example/src/pages/User/components/QueryDisplay.tsx +0 -25
  70. package/example/src/store/useLocalStore.ts +0 -51
  71. /package/dist/{chunk-WCS3X2LC.mjs.map → chunk-2YN5Y3SM.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_react28 = require("react");
85
+ var import_react25 = 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_react27 = require("react");
245
+ var import_react24 = require("react");
246
246
 
247
247
  // src/context/BusinessProvider.tsx
248
- var import_react23 = require("react");
248
+ var import_react21 = require("react");
249
249
 
250
250
  // src/assets/icon/ArrowLeftIcon.tsx
251
251
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -396,34 +396,36 @@ function useDownMd() {
396
396
  return isBelowMd;
397
397
  }
398
398
 
399
- // src/components/Overlay/index.tsx
400
- var import_react2 = require("react");
401
- var import_jsx_runtime44 = require("react/jsx-runtime");
402
-
403
399
  // src/components/Modal/index.tsx
404
- var import_jsx_runtime45 = require("react/jsx-runtime");
400
+ var import_jsx_runtime44 = require("react/jsx-runtime");
405
401
 
406
402
  // src/components/PasswordModal/index.tsx
407
- var import_react4 = require("react");
403
+ var import_react3 = require("react");
408
404
 
409
405
  // src/components/Input/index.tsx
410
- var import_react3 = require("react");
411
- var import_jsx_runtime46 = require("react/jsx-runtime");
406
+ var import_react2 = require("react");
407
+ var import_jsx_runtime45 = require("react/jsx-runtime");
412
408
 
413
409
  // src/components/Field/index.tsx
414
- var import_jsx_runtime47 = require("react/jsx-runtime");
410
+ var import_jsx_runtime46 = require("react/jsx-runtime");
415
411
 
416
412
  // src/components/Button/index.tsx
417
- var import_jsx_runtime48 = require("react/jsx-runtime");
413
+ var import_jsx_runtime47 = require("react/jsx-runtime");
418
414
 
419
415
  // src/components/PasswordModal/index.tsx
420
416
  var import_react_intl = require("react-intl");
417
+ var import_jsx_runtime48 = require("react/jsx-runtime");
418
+
419
+ // src/components/RecoveryModal/index.tsx
420
+ var import_react4 = require("react");
421
+ var import_react_intl2 = require("react-intl");
422
+ var import_jsx_runtime49 = require("react/jsx-runtime");
421
423
 
422
424
  // src/store/useStore.ts
423
425
  var import_zustand2 = require("zustand");
424
426
  var useStore = (0, import_zustand2.create)((set) => ({
425
- walletReady: false,
426
- setWalletReady: (inited) => set({ walletReady: inited }),
427
+ walletIframeInited: false,
428
+ setWalletIframeInited: (inited) => set({ walletIframeInited: inited }),
427
429
  recoveryModal: {
428
430
  open: false,
429
431
  success: async () => {
@@ -436,22 +438,8 @@ var useStore = (0, import_zustand2.create)((set) => ({
436
438
  }));
437
439
  var useStore_default = useStore;
438
440
 
439
- // src/components/PasswordModal/index.tsx
440
- var import_jsx_runtime49 = require("react/jsx-runtime");
441
-
442
- // src/components/RecoveryModal/index.tsx
443
- var import_react5 = require("react");
444
- var import_react_intl2 = require("react-intl");
445
- var import_jsx_runtime50 = require("react/jsx-runtime");
446
-
447
441
  // src/store/useModalStore.ts
448
442
  var import_zustand3 = require("zustand");
449
-
450
- // src/hooks/useConfig.tsx
451
- var import_jsx_runtime51 = require("react/jsx-runtime");
452
- var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
453
-
454
- // src/store/useModalStore.ts
455
443
  var useSOLModalStore = (0, import_zustand3.create)((set) => ({
456
444
  isOpen: false,
457
445
  type: "",
@@ -482,34 +470,16 @@ var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
482
470
  open: (type) => set({ isOpen: true, type }),
483
471
  close: () => set({ isOpen: false })
484
472
  }));
485
- var useHashPanelStore = (0, import_zustand3.create)((set) => ({
486
- isOpen: false,
487
- hash: null,
488
- chain: null,
489
- open: (params) => set({
490
- isOpen: true,
491
- hash: params?.hash || null,
492
- chain: params?.chain || null
493
- }),
494
- close: () => set({ isOpen: false })
495
- }));
496
- var useWalletModalStore = (0, import_zustand3.create)((set) => ({
497
- isOpen: false,
498
- type: "",
499
- methods: [],
500
- open: (type, methods = DEFAULT_WALLET_METHODS) => set({ isOpen: true, type, methods }),
501
- close: () => set({ isOpen: false })
502
- }));
503
473
 
504
474
  // src/components/EmailModal/index.tsx
505
- var import_react8 = require("react");
475
+ var import_react7 = require("react");
506
476
 
507
477
  // src/components/EmailModal/StepEmail.tsx
508
- var import_react6 = require("react");
478
+ var import_react5 = require("react");
509
479
 
510
480
  // src/utils/index.ts
511
481
  var getVersion = () => {
512
- return "0.0.2";
482
+ return "0.0.1";
513
483
  };
514
484
  function encodeBase64(input) {
515
485
  return btoa(unescape(encodeURIComponent(input)));
@@ -520,62 +490,62 @@ function getAppClientId() {
520
490
 
521
491
  // src/components/EmailModal/StepEmail.tsx
522
492
  var import_react_intl3 = require("react-intl");
523
- var import_jsx_runtime52 = require("react/jsx-runtime");
493
+ var import_jsx_runtime50 = require("react/jsx-runtime");
524
494
 
525
495
  // src/components/EmailModal/StepVerify.tsx
526
- var import_react7 = require("react");
496
+ var import_react6 = require("react");
527
497
  var import_react_intl4 = require("react-intl");
528
- var import_jsx_runtime53 = require("react/jsx-runtime");
498
+ var import_jsx_runtime51 = require("react/jsx-runtime");
529
499
 
530
500
  // src/components/EmailModal/index.tsx
531
501
  var import_react_intl5 = require("react-intl");
532
- var import_jsx_runtime54 = require("react/jsx-runtime");
502
+ var import_jsx_runtime52 = require("react/jsx-runtime");
533
503
 
534
504
  // src/components/Popover/index.tsx
535
- var import_react9 = require("react");
536
- var import_jsx_runtime55 = require("react/jsx-runtime");
505
+ var import_react8 = require("react");
506
+ var import_jsx_runtime53 = require("react/jsx-runtime");
537
507
 
538
508
  // src/components/LoginBox/index.tsx
539
- var import_react10 = require("react");
509
+ var import_react9 = require("react");
540
510
  var import_react_intl6 = require("react-intl");
541
- var import_jsx_runtime56 = require("react/jsx-runtime");
511
+ var import_jsx_runtime54 = require("react/jsx-runtime");
542
512
 
543
513
  // src/components/LoginButton/index.tsx
544
- var import_react12 = require("react");
514
+ var import_react11 = require("react");
545
515
 
546
516
  // src/components/LoginPanel/index.tsx
547
517
  var import_react_intl7 = require("react-intl");
548
- var import_jsx_runtime57 = require("react/jsx-runtime");
518
+ var import_jsx_runtime55 = require("react/jsx-runtime");
549
519
 
550
520
  // src/components/LoginModal/index.tsx
551
- var import_jsx_runtime58 = require("react/jsx-runtime");
521
+ var import_jsx_runtime56 = require("react/jsx-runtime");
552
522
 
553
523
  // src/components/UserPopover/index.tsx
554
- var import_react11 = require("react");
524
+ var import_react10 = require("react");
555
525
 
556
526
  // src/assets/icon/ProfileIcon.tsx
557
- var import_jsx_runtime59 = require("react/jsx-runtime");
527
+ var import_jsx_runtime57 = require("react/jsx-runtime");
558
528
 
559
529
  // src/components/UserPopover/index.tsx
560
530
  var import_react_intl8 = require("react-intl");
561
- var import_jsx_runtime60 = require("react/jsx-runtime");
531
+ var import_jsx_runtime58 = require("react/jsx-runtime");
562
532
 
563
533
  // src/components/LoginButton/index.tsx
564
534
  var import_react_intl9 = require("react-intl");
565
- var import_jsx_runtime61 = require("react/jsx-runtime");
535
+ var import_jsx_runtime59 = require("react/jsx-runtime");
566
536
 
567
537
  // src/components/UsernameModal/index.tsx
568
- var import_react13 = require("react");
538
+ var import_react12 = require("react");
569
539
 
570
540
  // src/assets/icon/InfoRoundIcon.tsx
571
- var import_jsx_runtime62 = require("react/jsx-runtime");
541
+ var import_jsx_runtime60 = require("react/jsx-runtime");
572
542
 
573
543
  // src/components/UsernameModal/index.tsx
574
544
  var import_react_intl10 = require("react-intl");
575
- var import_jsx_runtime63 = require("react/jsx-runtime");
545
+ var import_jsx_runtime61 = require("react/jsx-runtime");
576
546
 
577
547
  // src/components/SOLModal/index.tsx
578
- var import_react15 = __toESM(require("react"));
548
+ var import_react14 = __toESM(require("react"));
579
549
 
580
550
  // src/hooks/eventManager.ts
581
551
  var EventManager = class {
@@ -624,11 +594,11 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
624
594
  var import_react_intl11 = require("react-intl");
625
595
 
626
596
  // src/components/WalletModalContent/index.tsx
627
- var import_react14 = require("react");
628
- var import_jsx_runtime64 = require("react/jsx-runtime");
597
+ var import_react13 = require("react");
598
+ var import_jsx_runtime62 = require("react/jsx-runtime");
629
599
 
630
600
  // src/components/SOLModal/index.tsx
631
- var import_jsx_runtime65 = require("react/jsx-runtime");
601
+ var import_jsx_runtime63 = require("react/jsx-runtime");
632
602
  var wallets = [
633
603
  new import_wallet_adapter_wallets.PhantomWalletAdapter(),
634
604
  new import_wallet_adapter_wallets.SolflareWalletAdapter(),
@@ -672,352 +642,183 @@ var wallets = [
672
642
  ];
673
643
 
674
644
  // src/components/TRONModal/index.tsx
675
- var import_react17 = __toESM(require("react"));
645
+ var import_react16 = __toESM(require("react"));
676
646
  var import_react_intl12 = require("react-intl");
677
647
 
678
648
  // src/hooks/useTRONWallet.ts
679
- var import_react16 = require("react");
649
+ var import_react15 = require("react");
680
650
 
681
651
  // src/components/TRONModal/index.tsx
682
- var import_jsx_runtime66 = require("react/jsx-runtime");
652
+ var import_jsx_runtime64 = require("react/jsx-runtime");
683
653
 
684
654
  // src/components/TONModal/index.tsx
685
- var import_react18 = __toESM(require("react"));
655
+ var import_react17 = __toESM(require("react"));
686
656
  var import_react_intl13 = require("react-intl");
687
657
  var import_ui_react = require("@tonconnect/ui-react");
688
- var import_jsx_runtime67 = require("react/jsx-runtime");
658
+ var import_jsx_runtime65 = require("react/jsx-runtime");
689
659
 
690
660
  // src/components/BTCModal/index.tsx
691
- var import_react20 = __toESM(require("react"));
661
+ var import_react19 = __toESM(require("react"));
692
662
  var import_react_intl14 = require("react-intl");
693
663
 
694
664
  // src/lib/btc/XverseAdapter.ts
695
665
  var import_sats_connect = require("sats-connect");
696
666
 
697
667
  // src/hooks/useBTCWallet.ts
698
- var import_react19 = require("react");
668
+ var import_react18 = require("react");
699
669
 
700
670
  // src/components/BTCModal/index.tsx
701
- var import_jsx_runtime68 = require("react/jsx-runtime");
702
-
703
- // src/components/WalletModal/index.tsx
704
- var import_react_intl15 = require("react-intl");
705
- var import_jsx_runtime69 = require("react/jsx-runtime");
671
+ var import_jsx_runtime66 = require("react/jsx-runtime");
706
672
 
707
673
  // src/components/CEXBindModal/index.tsx
708
- var import_react21 = require("react");
709
- var import_react_intl16 = require("react-intl");
710
- var import_jsx_runtime70 = require("react/jsx-runtime");
711
-
712
- // src/components/HashPanel/index.tsx
713
- var import_viem = require("viem");
714
- var import_react22 = require("react");
715
- var import_react_query = require("@tanstack/react-query");
716
-
717
- // src/components/Drawer/index.tsx
718
- var import_jsx_runtime71 = require("react/jsx-runtime");
719
-
720
- // src/components/ModalDrawer/index.tsx
721
- var import_jsx_runtime72 = require("react/jsx-runtime");
722
-
723
- // src/components/HashPanel/index.tsx
724
- var import_jsx_runtime73 = require("react/jsx-runtime");
674
+ var import_react20 = require("react");
675
+ var import_react_intl15 = require("react-intl");
676
+ var import_jsx_runtime67 = require("react/jsx-runtime");
725
677
 
726
678
  // src/context/BusinessProvider.tsx
727
- var import_jsx_runtime74 = require("react/jsx-runtime");
679
+ var import_jsx_runtime68 = require("react/jsx-runtime");
728
680
 
729
681
  // src/context/index.tsx
730
- var import_jsx_runtime75 = (
682
+ var import_jsx_runtime69 = (
731
683
  // <MpcWalletProvider>
732
684
  require("react/jsx-runtime")
733
685
  );
734
686
 
735
687
  // src/hooks/useWalletInit.ts
736
- var import_react25 = require("react");
688
+ var import_react22 = require("react");
737
689
 
738
690
  // src/hooks/useWallet.tsx
739
- var import_viem2 = require("viem");
740
691
  var import_accounts = require("viem/accounts");
741
- var import_viem3 = require("viem");
742
- var import_react24 = require("react");
743
- var import_viem4 = require("viem");
744
692
  var AppClientId = "react-sdk-" + getVersion();
745
693
  function useWallet() {
746
694
  const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
747
- const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
748
- const { open: openHashPanel } = useHashPanelStore();
749
- const initCore = ({
695
+ const { setRecoveryModal, closeRecoveryModal } = useStore_default();
696
+ const initWallet = ({
750
697
  did,
751
698
  address: address2
752
699
  }) => {
753
- return window.matchProvider.waitUntilWalletMessage(
700
+ return window.waitMatchUntilWalletMessage(
701
+ "initCore",
754
702
  {
755
- method: "initCore",
756
- data: {
757
- AppId: appid,
758
- AppClientId,
759
- UserId: did,
760
- AccessToken: token,
761
- Address: address2
762
- }
703
+ AppId: appid,
704
+ AppClientId,
705
+ UserId: did,
706
+ AccessToken: token,
707
+ Address: address2
763
708
  }
764
709
  );
765
710
  };
766
- const generateEmbeddedWallets = async (data) => {
767
- return await window.matchProvider.waitUntilWalletMessage({
768
- method: "generateEmbeddedWallets",
769
- data
770
- });
771
- };
772
- const recoveryEmbeddedWallets = async (data) => {
773
- return await window.matchProvider.waitUntilWalletMessage({
774
- method: "recoveryEmbeddedWallets",
775
- data
776
- });
777
- };
778
711
  const isRecovered = async () => {
779
- const res = await window.matchProvider.waitUntilWalletMessage({
780
- method: "isRecovered"
781
- });
712
+ const res = await window.waitMatchUntilWalletMessage("isRecovered");
782
713
  return res.isRecovered;
783
714
  };
784
- const recoverAfter = async ({
785
- chainType,
786
- handle
715
+ const generateWallet = async ({
716
+ did,
717
+ userPasscode,
718
+ recoveryType = "user_passcode_recovery_key"
787
719
  }) => {
720
+ return await window.waitMatchUntilWalletMessage("generateWallet", {
721
+ chainType: "ethereum",
722
+ recoveryType,
723
+ userPasscode
724
+ });
725
+ };
726
+ const recoverAfter = async (func) => {
788
727
  return new Promise(async (resolve, reject) => {
789
728
  const res = await isRecovered();
790
- matchlog_default.log("sdk.mpc.isRecovered", res);
791
- if (res) {
792
- await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
793
- await handle(resolve, reject);
794
- return;
795
- }
796
- setRecoveryModal({
797
- chainType,
798
- open: true,
799
- success: async () => {
800
- closeRecoveryModal();
801
- matchlog_default.log("sdk.mpc.recover", "Success");
802
- await handle(resolve, reject);
803
- },
804
- close: async () => {
805
- closeRecoveryModal();
806
- reject(new Error("recover modal close"));
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;
807
748
  }
808
- });
809
- await initCore({
810
- address: overview?.address || "",
811
- did: overview?.did || ""
812
- });
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);
754
+ }
813
755
  });
814
756
  };
815
- const signMessage2 = async ({
816
- message,
817
- chainType = "ethereum" /* Ethereum */
818
- }) => {
757
+ const signMessage2 = async (message, type) => {
819
758
  const getSign = async (resolve, reject) => {
820
759
  try {
821
- const recoverRes = await window.matchProvider.waitUntilWalletMessage({
822
- method: "signMessage",
823
- data: {
824
- message,
825
- chainType
826
- }
760
+ const recoverRes = await window.waitMatchUntilWalletMessage("signMessage", {
761
+ message,
762
+ chainType: type
827
763
  });
828
- resolve(recoverRes.message);
764
+ closeRecoveryModal();
765
+ resolve(recoverRes);
829
766
  } catch (error) {
830
767
  console.error("qwe-sign-error", error);
831
768
  reject(error);
832
769
  }
833
770
  };
834
- return await recoverAfter({
835
- handle: getSign,
836
- chainType
837
- });
771
+ return await recoverAfter(getSign);
838
772
  };
839
- const signTransaction = async ({
840
- transaction,
841
- chainType = "ethereum" /* Ethereum */,
842
- chain
843
- }) => {
844
- console.log("qwe-sign-transaction", transaction);
773
+ const signTransaction = async (transaction, type) => {
845
774
  const getSign = async (resolve, reject) => {
846
775
  try {
847
- const recoverRes = await window.matchProvider.waitUntilWalletMessage({
848
- method: "signTransaction",
849
- data: {
850
- transaction,
851
- chainType,
852
- chain
853
- }
776
+ const recoverRes = await window.waitMatchUntilWalletMessage("signTransaction", {
777
+ transaction,
778
+ chainType: type
854
779
  });
855
- resolve(recoverRes.message);
780
+ closeRecoveryModal();
781
+ resolve(recoverRes);
856
782
  } catch (error) {
857
783
  console.error("qwe-sign-error", error);
858
784
  reject(error);
859
785
  }
860
786
  };
861
- return await recoverAfter({
862
- handle: getSign,
863
- chainType
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
864
794
  });
865
795
  };
866
- const evmAccount = (0, import_react24.useMemo)(() => {
867
- return address ? (0, import_accounts.toAccount)({
868
- address,
869
- async signMessage({ message }) {
870
- return await signMessage2({
871
- message,
872
- chainType: "ethereum" /* Ethereum */
873
- });
874
- },
875
- async signTransaction(transaction, options) {
876
- const { account, chain, ...restTransaction } = transaction;
877
- console.log("qwe-sign-transaction", restTransaction, options);
878
- return await signTransaction({
879
- transaction: {
880
- ...restTransaction
881
- },
882
- chainType: "ethereum" /* Ethereum */,
883
- chain: {
884
- id: chain?.id || restTransaction.chainId,
885
- name: chain?.name,
886
- nativeCurrency: {
887
- name: chain?.nativeCurrency?.name || "ETH",
888
- symbol: chain?.nativeCurrency?.symbol || "ETH",
889
- decimals: chain?.nativeCurrency?.decimals || 18
890
- }
891
- }
892
- });
893
- },
894
- async signTypedData(typedData) {
895
- return "0x";
896
- }
897
- }) : void 0;
898
- }, [address]);
899
- (0, import_react24.useEffect)(() => {
900
- console.log("qwe-evmAccount", evmAccount);
901
- }, [evmAccount]);
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;
902
812
  return {
903
- walletReady,
904
813
  evmAccount,
905
814
  address,
906
- initCore,
815
+ recoveryWallet,
816
+ initWallet,
817
+ generateWallet,
907
818
  signMessage: signMessage2,
908
819
  signTransaction,
909
820
  isRecovered,
910
- recoverAfter,
911
- generateEmbeddedWallets,
912
- recoveryEmbeddedWallets,
913
- createWalletClient: (parameters) => {
914
- if (!evmAccount) {
915
- return;
916
- }
917
- const obj = (0, import_viem3.createWalletClient)({
918
- ...parameters,
919
- account: evmAccount
920
- });
921
- const sendTransaction = async (transaction) => {
922
- const getSign = async (resolve, reject) => {
923
- const { chain, ...restTransaction } = transaction;
924
- const chainId = chain ? chain.id : await obj.getChainId();
925
- const _chain = chain || obj.chain;
926
- const transactionId = Date.now().toString() + Math.random().toString().slice(6);
927
- let interval = setInterval(() => {
928
- const sendPrepareTransactionRequest = async () => {
929
- try {
930
- const {
931
- chain: chain2,
932
- account,
933
- ...prepareTransactionRequest
934
- // @ts-ignore
935
- } = await obj.prepareTransactionRequest(transaction);
936
- window.matchProvider.sendWalletMessage({
937
- method: "prepareTransactionRequest",
938
- data: {
939
- prepareTransactionRequest,
940
- transactionId
941
- }
942
- });
943
- } catch (error) {
944
- console.error(error);
945
- }
946
- };
947
- sendPrepareTransactionRequest();
948
- }, 1e4);
949
- try {
950
- const {
951
- chain: chain2,
952
- account,
953
- ...prepareTransactionRequest
954
- // @ts-ignore
955
- } = await obj.prepareTransactionRequest(transaction);
956
- const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
957
- method: "sendTransaction",
958
- data: {
959
- transactionId,
960
- transaction: {
961
- ...restTransaction
962
- },
963
- chainType: "ethereum" /* Ethereum */,
964
- chain: {
965
- id: chainId,
966
- name: _chain?.name,
967
- nativeCurrency: _chain?.nativeCurrency
968
- },
969
- prepareTransactionRequest
970
- }
971
- });
972
- openHashPanel();
973
- const txHash = await obj.sendRawTransaction({
974
- serializedTransaction
975
- });
976
- openHashPanel({
977
- hash: txHash,
978
- chain: _chain
979
- });
980
- clearInterval(interval);
981
- resolve(txHash);
982
- } catch (error) {
983
- console.error("qwe-sign-error", error);
984
- clearInterval(interval);
985
- reject(error);
986
- }
987
- };
988
- return await recoverAfter({
989
- handle: getSign,
990
- chainType: "ethereum" /* Ethereum */
991
- });
992
- };
993
- const deployContract = async (parameters2) => {
994
- const { abi, args, bytecode, ...request3 } = parameters2;
995
- const calldata = (0, import_viem4.encodeDeployData)({ abi, args, bytecode });
996
- return await sendTransaction({
997
- ...request3,
998
- data: calldata
999
- });
1000
- };
1001
- const writeContract = async (parameters2) => {
1002
- const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
1003
- const data = (0, import_viem2.encodeFunctionData)({
1004
- abi,
1005
- args,
1006
- functionName
1007
- });
1008
- return await sendTransaction({
1009
- data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
1010
- to: address2,
1011
- ...request3
1012
- });
1013
- };
1014
- return {
1015
- ...obj,
1016
- sendTransaction,
1017
- deployContract,
1018
- writeContract
1019
- };
1020
- }
821
+ recoverAfter
1021
822
  };
1022
823
  }
1023
824
 
@@ -1025,16 +826,16 @@ function useWallet() {
1025
826
  var AppClientId2 = getAppClientId();
1026
827
 
1027
828
  // src/hooks/useInit.tsx
1028
- var import_react26 = require("react");
829
+ var import_react23 = require("react");
1029
830
 
1030
831
  // src/MatchContext.tsx
1031
- var import_react_query2 = require("@tanstack/react-query");
1032
- var import_react_intl17 = require("react-intl");
1033
- var import_jsx_runtime76 = require("react/jsx-runtime");
1034
- var queryClient = new import_react_query2.QueryClient();
1035
- var MatchContext = (0, import_react27.createContext)(void 0);
832
+ var import_react_query = require("@tanstack/react-query");
833
+ 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);
1036
837
  var useMatch = () => {
1037
- const context = (0, import_react27.useContext)(MatchContext);
838
+ const context = (0, import_react24.useContext)(MatchContext);
1038
839
  if (context === void 0) {
1039
840
  throw new Error("useMatch must be used within a MatchProvider");
1040
841
  }
@@ -1061,8 +862,7 @@ function useUserInfo() {
1061
862
  const { open: TONOpen } = useTONModalStore();
1062
863
  const { open: BTCOpen } = useBTCModalStore();
1063
864
  const { open: CEXBindOpen } = useCEXBindModalStore();
1064
- const walletModalStore = useWalletModalStore();
1065
- const isLogin = (0, import_react28.useMemo)(() => !!token && !!overview, [token, overview]);
865
+ const isLogin = (0, import_react25.useMemo)(() => !!token, [token]);
1066
866
  const logout = async () => {
1067
867
  try {
1068
868
  await toLogoutApi();
@@ -1100,10 +900,8 @@ function useUserInfo() {
1100
900
  "width=800,height=600"
1101
901
  );
1102
902
  };
1103
- const loginMethod = async (method, extra) => {
903
+ const loginMethod = async (method) => {
1104
904
  switch (method) {
1105
- case "wallet":
1106
- return walletModalStore.open("login", extra?.methods);
1107
905
  case "evm":
1108
906
  return window.open(`${endpoints.auth}login/wallet?appid=${appid}`);
1109
907
  case "sol":
@@ -1192,13 +990,11 @@ function useUserInfo() {
1192
990
  }
1193
991
  throw new Error(res.message);
1194
992
  };
1195
- const bind = async (method, extra) => {
993
+ const bind = async (method) => {
1196
994
  if (!token) {
1197
995
  throw new Error("You must login first");
1198
996
  }
1199
997
  switch (method) {
1200
- case "wallet":
1201
- return walletModalStore.open("bind", extra?.methods);
1202
998
  case "evm":
1203
999
  return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)));
1204
1000
  case "sol":
@@ -1300,9 +1096,9 @@ function useUserInfo() {
1300
1096
  }
1301
1097
 
1302
1098
  // src/hooks/useMatchEvents.ts
1303
- var import_react29 = require("react");
1099
+ var import_react26 = require("react");
1304
1100
  function useMatchEvents(handlers) {
1305
- (0, import_react29.useEffect)(() => {
1101
+ (0, import_react26.useEffect)(() => {
1306
1102
  Object.entries(handlers).forEach(([event, handler2]) => {
1307
1103
  if (handler2) {
1308
1104
  eventManager_default.on(event, handler2);
@@ -1320,14 +1116,14 @@ function useMatchEvents(handlers) {
1320
1116
 
1321
1117
  // src/hooks/useCopyClipboard.ts
1322
1118
  var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
1323
- var import_react30 = require("react");
1119
+ var import_react27 = require("react");
1324
1120
  function useCopyClipboard(timeout = 500) {
1325
- const [isCopied, setIsCopied] = (0, import_react30.useState)(false);
1326
- const staticCopy = (0, import_react30.useCallback)((text) => {
1121
+ const [isCopied, setIsCopied] = (0, import_react27.useState)(false);
1122
+ const staticCopy = (0, import_react27.useCallback)((text) => {
1327
1123
  const didCopy = (0, import_copy_to_clipboard.default)(text);
1328
1124
  setIsCopied(didCopy);
1329
1125
  }, []);
1330
- (0, import_react30.useEffect)(() => {
1126
+ (0, import_react27.useEffect)(() => {
1331
1127
  if (isCopied) {
1332
1128
  const hide = setTimeout(() => {
1333
1129
  setIsCopied(false);