@matchain/matchid-sdk-react 0.1.42-alpha.1 → 0.1.42-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/icon/index.d.mts +1 -1
- package/dist/assets/icon/index.d.ts +1 -1
- package/dist/chunk-HJ337PTX.mjs +4662 -0
- package/dist/chunk-HJ337PTX.mjs.map +1 -0
- package/dist/{chunk-U5KWO2YJ.mjs → chunk-PBNKRURB.mjs} +2 -2
- package/dist/chunk-SQIJR7RA.mjs +29 -0
- package/dist/chunk-SQIJR7RA.mjs.map +1 -0
- package/dist/components/index.d.mts +3 -2
- package/dist/components/index.d.ts +3 -2
- package/dist/components/index.js +676 -453
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +4 -1
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +120 -76
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +3 -2
- package/dist/hooks/index.d.mts +5 -2
- package/dist/hooks/index.d.ts +5 -2
- package/dist/hooks/index.js +328 -145
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +2 -1
- package/dist/index-B2B4VJ-u.d.mts +139 -0
- package/dist/index-Bhnio7tx.d.ts +139 -0
- package/dist/index-BxS06a5O.d.ts +50 -0
- package/dist/{index-Dq9Swg8r.d.ts → index-Ca9nh_8s.d.ts} +1 -1
- package/dist/{index-COlsBC-b.d.mts → index-CmH9iRLd.d.mts} +25 -12
- package/dist/{index-C3KZYrtu.d.mts → index-DFZpfAfc.d.mts} +1 -1
- package/dist/{index-fS75Swm8.d.ts → index-DY_ReBra.d.ts} +25 -12
- package/dist/index-q5XDobUF.d.mts +50 -0
- package/dist/index.css +84 -4
- package/dist/index.d.mts +9 -4
- package/dist/index.d.ts +9 -4
- package/dist/index.js +1100 -614
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -2
- package/dist/mpc-CTbBWHld.d.mts +20 -0
- package/dist/mpc-CTbBWHld.d.ts +20 -0
- package/dist/types/index.d.mts +3 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +44 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +10 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types-CVwZEgQ0.d.mts +244 -0
- package/dist/types-CVwZEgQ0.d.ts +244 -0
- package/example/package.json +1 -0
- package/example/src/App.tsx +56 -27
- package/example/src/abi/erc20.json +222 -0
- package/example/src/components/ButtonGroup/index.tsx +10 -0
- package/example/src/components/Login/index.tsx +2 -2
- package/example/src/components/RoutePrivate/index.tsx +4 -3
- package/example/src/config/chains/index.ts +2 -0
- package/example/src/config/chains/matchMain.ts +27 -0
- package/example/src/config/chains/matchTest.ts +33 -0
- package/example/src/config/index.ts +6 -2
- package/example/src/pages/User/components/BindListModal.tsx +10 -0
- package/example/src/pages/User/components/PohListModal.tsx +10 -0
- package/example/src/pages/User/components/QueryDisplay.tsx +25 -0
- package/example/src/pages/{User.tsx → User/index.tsx} +55 -84
- package/example/src/pages/Wallet.tsx +258 -43
- package/example/src/store/useLocalStore.ts +51 -0
- package/example/tsconfig.json +1 -0
- package/package.json +7 -2
- package/dist/chunk-SBOIXOAW.mjs +0 -4197
- package/dist/chunk-SBOIXOAW.mjs.map +0 -1
- package/dist/index-BrdP6eg5.d.ts +0 -93
- package/dist/index-D7bNSBwl.d.mts +0 -93
- package/dist/types.d-CLO_WLka.d.mts +0 -176
- package/dist/types.d-CLO_WLka.d.ts +0 -176
- /package/dist/{chunk-U5KWO2YJ.mjs.map → chunk-PBNKRURB.mjs.map} +0 -0
package/dist/hooks/index.js
CHANGED
|
@@ -69,7 +69,11 @@ var persistedState = (0, import_middleware.persist)(
|
|
|
69
69
|
address: "",
|
|
70
70
|
setAddress: (address) => set({ address }),
|
|
71
71
|
locale: "en",
|
|
72
|
-
setLocale: (locale) => set({ locale })
|
|
72
|
+
setLocale: (locale) => set({ locale }),
|
|
73
|
+
wallet: {
|
|
74
|
+
type: "UserPasscode"
|
|
75
|
+
},
|
|
76
|
+
setWallet: (wallet) => set({ wallet })
|
|
73
77
|
}),
|
|
74
78
|
{ name: "match-local" }
|
|
75
79
|
);
|
|
@@ -78,7 +82,7 @@ var localStore = useLocalStore;
|
|
|
78
82
|
var useLocalStore_default = useLocalStore;
|
|
79
83
|
|
|
80
84
|
// src/hooks/useUserInfo.tsx
|
|
81
|
-
var
|
|
85
|
+
var import_react28 = require("react");
|
|
82
86
|
|
|
83
87
|
// src/api/request.ts
|
|
84
88
|
var import_axios = __toESM(require("axios"));
|
|
@@ -238,6 +242,9 @@ var getAuthInfoApi = () => {
|
|
|
238
242
|
};
|
|
239
243
|
|
|
240
244
|
// src/MatchContext.tsx
|
|
245
|
+
var import_react27 = require("react");
|
|
246
|
+
|
|
247
|
+
// src/context/BusinessProvider.tsx
|
|
241
248
|
var import_react23 = require("react");
|
|
242
249
|
|
|
243
250
|
// src/assets/icon/ArrowLeftIcon.tsx
|
|
@@ -389,36 +396,40 @@ function useDownMd() {
|
|
|
389
396
|
return isBelowMd;
|
|
390
397
|
}
|
|
391
398
|
|
|
392
|
-
// src/components/
|
|
399
|
+
// src/components/Overlay/index.tsx
|
|
400
|
+
var import_react2 = require("react");
|
|
393
401
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
394
402
|
|
|
403
|
+
// src/components/Modal/index.tsx
|
|
404
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
405
|
+
|
|
395
406
|
// src/components/PasswordModal/index.tsx
|
|
396
|
-
var
|
|
407
|
+
var import_react4 = require("react");
|
|
397
408
|
|
|
398
409
|
// src/components/Input/index.tsx
|
|
399
|
-
var
|
|
400
|
-
var
|
|
410
|
+
var import_react3 = require("react");
|
|
411
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
401
412
|
|
|
402
413
|
// src/components/Field/index.tsx
|
|
403
|
-
var
|
|
414
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
404
415
|
|
|
405
416
|
// src/components/Button/index.tsx
|
|
406
|
-
var
|
|
417
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
407
418
|
|
|
408
419
|
// src/components/PasswordModal/index.tsx
|
|
409
420
|
var import_react_intl = require("react-intl");
|
|
410
|
-
var
|
|
421
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
411
422
|
|
|
412
423
|
// src/components/RecoveryModal/index.tsx
|
|
413
|
-
var
|
|
424
|
+
var import_react5 = require("react");
|
|
414
425
|
var import_react_intl2 = require("react-intl");
|
|
415
|
-
var
|
|
426
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
416
427
|
|
|
417
428
|
// src/store/useStore.ts
|
|
418
429
|
var import_zustand2 = require("zustand");
|
|
419
430
|
var useStore = (0, import_zustand2.create)((set) => ({
|
|
420
|
-
|
|
421
|
-
|
|
431
|
+
walletReady: false,
|
|
432
|
+
setWalletReady: (inited) => set({ walletReady: inited }),
|
|
422
433
|
recoveryModal: {
|
|
423
434
|
open: false,
|
|
424
435
|
success: async () => {
|
|
@@ -463,16 +474,27 @@ var useCEXBindModalStore = (0, import_zustand3.create)((set) => ({
|
|
|
463
474
|
open: (type) => set({ isOpen: true, type }),
|
|
464
475
|
close: () => set({ isOpen: false })
|
|
465
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
|
+
}));
|
|
466
488
|
|
|
467
489
|
// src/components/EmailModal/index.tsx
|
|
468
|
-
var
|
|
490
|
+
var import_react8 = require("react");
|
|
469
491
|
|
|
470
492
|
// src/components/EmailModal/StepEmail.tsx
|
|
471
|
-
var
|
|
493
|
+
var import_react6 = require("react");
|
|
472
494
|
|
|
473
495
|
// src/utils/index.ts
|
|
474
496
|
var getVersion = () => {
|
|
475
|
-
return "0.0.
|
|
497
|
+
return "0.0.2";
|
|
476
498
|
};
|
|
477
499
|
function encodeBase64(input) {
|
|
478
500
|
return btoa(unescape(encodeURIComponent(input)));
|
|
@@ -483,62 +505,62 @@ function getAppClientId() {
|
|
|
483
505
|
|
|
484
506
|
// src/components/EmailModal/StepEmail.tsx
|
|
485
507
|
var import_react_intl3 = require("react-intl");
|
|
486
|
-
var
|
|
508
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
487
509
|
|
|
488
510
|
// src/components/EmailModal/StepVerify.tsx
|
|
489
|
-
var
|
|
511
|
+
var import_react7 = require("react");
|
|
490
512
|
var import_react_intl4 = require("react-intl");
|
|
491
|
-
var
|
|
513
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
492
514
|
|
|
493
515
|
// src/components/EmailModal/index.tsx
|
|
494
516
|
var import_react_intl5 = require("react-intl");
|
|
495
|
-
var
|
|
517
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
496
518
|
|
|
497
519
|
// src/components/Popover/index.tsx
|
|
498
|
-
var
|
|
499
|
-
var
|
|
520
|
+
var import_react9 = require("react");
|
|
521
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
500
522
|
|
|
501
523
|
// src/components/LoginBox/index.tsx
|
|
502
|
-
var
|
|
524
|
+
var import_react10 = require("react");
|
|
503
525
|
var import_react_intl6 = require("react-intl");
|
|
504
|
-
var
|
|
526
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
505
527
|
|
|
506
528
|
// src/components/LoginButton/index.tsx
|
|
507
|
-
var
|
|
529
|
+
var import_react12 = require("react");
|
|
508
530
|
|
|
509
531
|
// src/components/LoginPanel/index.tsx
|
|
510
532
|
var import_react_intl7 = require("react-intl");
|
|
511
|
-
var
|
|
533
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
512
534
|
|
|
513
535
|
// src/components/LoginModal/index.tsx
|
|
514
|
-
var
|
|
536
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
515
537
|
|
|
516
538
|
// src/components/UserPopover/index.tsx
|
|
517
|
-
var
|
|
539
|
+
var import_react11 = require("react");
|
|
518
540
|
|
|
519
541
|
// src/assets/icon/ProfileIcon.tsx
|
|
520
|
-
var
|
|
542
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
521
543
|
|
|
522
544
|
// src/components/UserPopover/index.tsx
|
|
523
545
|
var import_react_intl8 = require("react-intl");
|
|
524
|
-
var
|
|
546
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
525
547
|
|
|
526
548
|
// src/components/LoginButton/index.tsx
|
|
527
549
|
var import_react_intl9 = require("react-intl");
|
|
528
|
-
var
|
|
550
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
529
551
|
|
|
530
552
|
// src/components/UsernameModal/index.tsx
|
|
531
|
-
var
|
|
553
|
+
var import_react13 = require("react");
|
|
532
554
|
|
|
533
555
|
// src/assets/icon/InfoRoundIcon.tsx
|
|
534
|
-
var
|
|
556
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
535
557
|
|
|
536
558
|
// src/components/UsernameModal/index.tsx
|
|
537
559
|
var import_react_intl10 = require("react-intl");
|
|
538
|
-
var
|
|
560
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
539
561
|
|
|
540
562
|
// src/components/SOLModal/index.tsx
|
|
541
|
-
var
|
|
563
|
+
var import_react15 = __toESM(require("react"));
|
|
542
564
|
|
|
543
565
|
// src/hooks/eventManager.ts
|
|
544
566
|
var EventManager = class {
|
|
@@ -587,11 +609,11 @@ var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
|
|
|
587
609
|
var import_react_intl11 = require("react-intl");
|
|
588
610
|
|
|
589
611
|
// src/components/WalletModalContent/index.tsx
|
|
590
|
-
var
|
|
591
|
-
var
|
|
612
|
+
var import_react14 = require("react");
|
|
613
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
592
614
|
|
|
593
615
|
// src/components/SOLModal/index.tsx
|
|
594
|
-
var
|
|
616
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
595
617
|
var wallets = [
|
|
596
618
|
new import_wallet_adapter_wallets.PhantomWalletAdapter(),
|
|
597
619
|
new import_wallet_adapter_wallets.SolflareWalletAdapter(),
|
|
@@ -635,177 +657,338 @@ var wallets = [
|
|
|
635
657
|
];
|
|
636
658
|
|
|
637
659
|
// src/components/TRONModal/index.tsx
|
|
638
|
-
var
|
|
660
|
+
var import_react17 = __toESM(require("react"));
|
|
639
661
|
var import_react_intl12 = require("react-intl");
|
|
640
662
|
|
|
641
663
|
// src/hooks/useTRONWallet.ts
|
|
642
|
-
var
|
|
664
|
+
var import_react16 = require("react");
|
|
643
665
|
|
|
644
666
|
// src/components/TRONModal/index.tsx
|
|
645
|
-
var
|
|
667
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
646
668
|
|
|
647
669
|
// src/components/TONModal/index.tsx
|
|
648
|
-
var
|
|
670
|
+
var import_react18 = __toESM(require("react"));
|
|
649
671
|
var import_react_intl13 = require("react-intl");
|
|
650
672
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
651
|
-
var
|
|
673
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
652
674
|
|
|
653
675
|
// src/components/BTCModal/index.tsx
|
|
654
|
-
var
|
|
676
|
+
var import_react20 = __toESM(require("react"));
|
|
655
677
|
var import_react_intl14 = require("react-intl");
|
|
656
678
|
|
|
657
679
|
// src/lib/btc/XverseAdapter.ts
|
|
658
680
|
var import_sats_connect = require("sats-connect");
|
|
659
681
|
|
|
660
682
|
// src/hooks/useBTCWallet.ts
|
|
661
|
-
var
|
|
683
|
+
var import_react19 = require("react");
|
|
662
684
|
|
|
663
685
|
// src/components/BTCModal/index.tsx
|
|
664
|
-
var
|
|
686
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
665
687
|
|
|
666
688
|
// src/components/CEXBindModal/index.tsx
|
|
667
|
-
var
|
|
689
|
+
var import_react21 = require("react");
|
|
668
690
|
var import_react_intl15 = require("react-intl");
|
|
669
|
-
var
|
|
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");
|
|
670
706
|
|
|
671
707
|
// src/context/BusinessProvider.tsx
|
|
672
|
-
var
|
|
708
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
673
709
|
|
|
674
710
|
// src/context/index.tsx
|
|
675
|
-
var
|
|
711
|
+
var import_jsx_runtime73 = (
|
|
676
712
|
// <MpcWalletProvider>
|
|
677
713
|
require("react/jsx-runtime")
|
|
678
714
|
);
|
|
679
715
|
|
|
680
716
|
// src/hooks/useWalletInit.ts
|
|
681
|
-
var
|
|
717
|
+
var import_react25 = require("react");
|
|
682
718
|
|
|
683
719
|
// src/hooks/useWallet.tsx
|
|
720
|
+
var import_viem2 = require("viem");
|
|
684
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");
|
|
685
725
|
var AppClientId = "react-sdk-" + getVersion();
|
|
686
726
|
function useWallet() {
|
|
687
|
-
const { appid, token, overview, address } = useLocalStore_default();
|
|
688
|
-
const { setRecoveryModal, closeRecoveryModal } = useStore_default();
|
|
689
|
-
const
|
|
727
|
+
const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
|
|
728
|
+
const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
|
|
729
|
+
const { open: openHashPanel } = useHashPanelStore();
|
|
730
|
+
const initCore = ({
|
|
690
731
|
did,
|
|
691
732
|
address: address2
|
|
692
733
|
}) => {
|
|
693
|
-
return window.
|
|
694
|
-
"initCore",
|
|
734
|
+
return window.matchProvider.waitUntilWalletMessage(
|
|
695
735
|
{
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
736
|
+
method: "initCore",
|
|
737
|
+
data: {
|
|
738
|
+
AppId: appid,
|
|
739
|
+
AppClientId,
|
|
740
|
+
UserId: did,
|
|
741
|
+
AccessToken: token,
|
|
742
|
+
Address: address2
|
|
743
|
+
}
|
|
701
744
|
}
|
|
702
745
|
);
|
|
703
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
|
+
};
|
|
704
759
|
const isRecovered = async () => {
|
|
705
|
-
const res = await window.
|
|
760
|
+
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
761
|
+
method: "isRecovered"
|
|
762
|
+
});
|
|
706
763
|
return res.isRecovered;
|
|
707
764
|
};
|
|
708
|
-
const
|
|
709
|
-
|
|
710
|
-
|
|
765
|
+
const recoverAfter = async ({
|
|
766
|
+
chainType,
|
|
767
|
+
handle
|
|
711
768
|
}) => {
|
|
712
|
-
return await window.waitMatchUntilWalletMessage("generateWallet", {
|
|
713
|
-
chainType: "ethereum",
|
|
714
|
-
recoveryType: "user_passcode_recovery_key",
|
|
715
|
-
userPasscode
|
|
716
|
-
});
|
|
717
|
-
};
|
|
718
|
-
const recoverAfter = async (func) => {
|
|
719
769
|
return new Promise(async (resolve, reject) => {
|
|
720
770
|
const res = await isRecovered();
|
|
721
|
-
matchlog_default.log("isRecovered", res);
|
|
722
|
-
if (
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
matchlog_default.log("recover Success");
|
|
727
|
-
await func(resolve, reject);
|
|
728
|
-
},
|
|
729
|
-
close: async () => {
|
|
730
|
-
closeRecoveryModal();
|
|
731
|
-
reject(new Error("recover modal close"));
|
|
732
|
-
}
|
|
733
|
-
});
|
|
734
|
-
await initWallet({
|
|
735
|
-
address: overview?.address || "",
|
|
736
|
-
did: overview?.did?.split(":")[2] || ""
|
|
737
|
-
});
|
|
738
|
-
} else {
|
|
739
|
-
await recoveryWallet("ethereum", "user_passcode_recovery_key");
|
|
740
|
-
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;
|
|
741
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
|
+
});
|
|
742
794
|
});
|
|
743
795
|
};
|
|
744
|
-
const signMessage2 = async (
|
|
796
|
+
const signMessage2 = async ({
|
|
797
|
+
message,
|
|
798
|
+
chainType = "ethereum" /* Ethereum */
|
|
799
|
+
}) => {
|
|
745
800
|
const getSign = async (resolve, reject) => {
|
|
746
801
|
try {
|
|
747
|
-
const recoverRes = await window.
|
|
748
|
-
|
|
749
|
-
|
|
802
|
+
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
803
|
+
method: "signMessage",
|
|
804
|
+
data: {
|
|
805
|
+
message,
|
|
806
|
+
chainType
|
|
807
|
+
}
|
|
750
808
|
});
|
|
751
|
-
|
|
752
|
-
resolve(recoverRes);
|
|
809
|
+
resolve(recoverRes.message);
|
|
753
810
|
} catch (error) {
|
|
754
811
|
console.error("qwe-sign-error", error);
|
|
755
812
|
reject(error);
|
|
756
813
|
}
|
|
757
814
|
};
|
|
758
|
-
return await recoverAfter(
|
|
815
|
+
return await recoverAfter({
|
|
816
|
+
handle: getSign,
|
|
817
|
+
chainType
|
|
818
|
+
});
|
|
759
819
|
};
|
|
760
|
-
const signTransaction = async (
|
|
820
|
+
const signTransaction = async ({
|
|
821
|
+
transaction,
|
|
822
|
+
chainType = "ethereum" /* Ethereum */,
|
|
823
|
+
chain
|
|
824
|
+
}) => {
|
|
825
|
+
console.log("qwe-sign-transaction", transaction);
|
|
761
826
|
const getSign = async (resolve, reject) => {
|
|
762
827
|
try {
|
|
763
|
-
const recoverRes = await window.
|
|
764
|
-
|
|
765
|
-
|
|
828
|
+
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
829
|
+
method: "signTransaction",
|
|
830
|
+
data: {
|
|
831
|
+
transaction,
|
|
832
|
+
chainType,
|
|
833
|
+
chain
|
|
834
|
+
}
|
|
766
835
|
});
|
|
767
|
-
|
|
768
|
-
resolve(recoverRes);
|
|
836
|
+
resolve(recoverRes.message);
|
|
769
837
|
} catch (error) {
|
|
770
838
|
console.error("qwe-sign-error", error);
|
|
771
839
|
reject(error);
|
|
772
840
|
}
|
|
773
841
|
};
|
|
774
|
-
return await recoverAfter(
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
return await window.waitMatchUntilWalletMessage("recoveryWallet", {
|
|
778
|
-
chainType,
|
|
779
|
-
recoveryType,
|
|
780
|
-
userPasscode
|
|
842
|
+
return await recoverAfter({
|
|
843
|
+
handle: getSign,
|
|
844
|
+
chainType
|
|
781
845
|
});
|
|
782
846
|
};
|
|
783
|
-
const evmAccount =
|
|
784
|
-
address,
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
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]);
|
|
799
883
|
return {
|
|
884
|
+
walletReady,
|
|
800
885
|
evmAccount,
|
|
801
886
|
address,
|
|
802
|
-
|
|
803
|
-
initWallet,
|
|
804
|
-
generateWallet,
|
|
887
|
+
initCore,
|
|
805
888
|
signMessage: signMessage2,
|
|
806
889
|
signTransaction,
|
|
807
890
|
isRecovered,
|
|
808
|
-
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: _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
|
+
}
|
|
809
992
|
};
|
|
810
993
|
}
|
|
811
994
|
|
|
@@ -813,16 +996,16 @@ function useWallet() {
|
|
|
813
996
|
var AppClientId2 = getAppClientId();
|
|
814
997
|
|
|
815
998
|
// src/hooks/useInit.tsx
|
|
816
|
-
var
|
|
999
|
+
var import_react26 = require("react");
|
|
817
1000
|
|
|
818
1001
|
// src/MatchContext.tsx
|
|
819
|
-
var
|
|
1002
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
820
1003
|
var import_react_intl16 = require("react-intl");
|
|
821
|
-
var
|
|
822
|
-
var queryClient = new
|
|
823
|
-
var MatchContext = (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);
|
|
824
1007
|
var useMatch = () => {
|
|
825
|
-
const context = (0,
|
|
1008
|
+
const context = (0, import_react27.useContext)(MatchContext);
|
|
826
1009
|
if (context === void 0) {
|
|
827
1010
|
throw new Error("useMatch must be used within a MatchProvider");
|
|
828
1011
|
}
|
|
@@ -849,7 +1032,7 @@ function useUserInfo() {
|
|
|
849
1032
|
const { open: TONOpen } = useTONModalStore();
|
|
850
1033
|
const { open: BTCOpen } = useBTCModalStore();
|
|
851
1034
|
const { open: CEXBindOpen } = useCEXBindModalStore();
|
|
852
|
-
const isLogin = (0,
|
|
1035
|
+
const isLogin = (0, import_react28.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
853
1036
|
const logout = async () => {
|
|
854
1037
|
try {
|
|
855
1038
|
await toLogoutApi();
|
|
@@ -1083,9 +1266,9 @@ function useUserInfo() {
|
|
|
1083
1266
|
}
|
|
1084
1267
|
|
|
1085
1268
|
// src/hooks/useMatchEvents.ts
|
|
1086
|
-
var
|
|
1269
|
+
var import_react29 = require("react");
|
|
1087
1270
|
function useMatchEvents(handlers) {
|
|
1088
|
-
(0,
|
|
1271
|
+
(0, import_react29.useEffect)(() => {
|
|
1089
1272
|
Object.entries(handlers).forEach(([event, handler2]) => {
|
|
1090
1273
|
if (handler2) {
|
|
1091
1274
|
eventManager_default.on(event, handler2);
|
|
@@ -1103,14 +1286,14 @@ function useMatchEvents(handlers) {
|
|
|
1103
1286
|
|
|
1104
1287
|
// src/hooks/useCopyClipboard.ts
|
|
1105
1288
|
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
1106
|
-
var
|
|
1289
|
+
var import_react30 = require("react");
|
|
1107
1290
|
function useCopyClipboard(timeout = 500) {
|
|
1108
|
-
const [isCopied, setIsCopied] = (0,
|
|
1109
|
-
const staticCopy = (0,
|
|
1291
|
+
const [isCopied, setIsCopied] = (0, import_react30.useState)(false);
|
|
1292
|
+
const staticCopy = (0, import_react30.useCallback)((text) => {
|
|
1110
1293
|
const didCopy = (0, import_copy_to_clipboard.default)(text);
|
|
1111
1294
|
setIsCopied(didCopy);
|
|
1112
1295
|
}, []);
|
|
1113
|
-
(0,
|
|
1296
|
+
(0, import_react30.useEffect)(() => {
|
|
1114
1297
|
if (isCopied) {
|
|
1115
1298
|
const hide = setTimeout(() => {
|
|
1116
1299
|
setIsCopied(false);
|