@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.
- package/dist/{chunk-2YN5Y3SM.mjs → chunk-FZUZ63FZ.mjs} +2 -2
- package/dist/chunk-GEM2V3W6.mjs +4638 -0
- package/dist/chunk-GEM2V3W6.mjs.map +1 -0
- package/dist/chunk-SQIJR7RA.mjs +29 -0
- package/dist/chunk-SQIJR7RA.mjs.map +1 -0
- package/dist/components/index.js +647 -452
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +4 -1
- package/dist/hooks/api/index.js +113 -76
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +3 -2
- package/dist/hooks/index.js +321 -151
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +2 -1
- package/dist/index.css +84 -4
- package/dist/index.js +1033 -625
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -2
- 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/example/package.json +1 -0
- package/example/src/App.tsx +54 -28
- 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 +133 -44
- package/example/src/store/useLocalStore.ts +45 -0
- package/package.json +7 -2
- package/dist/assets/icon/index.d.mts +0 -133
- package/dist/assets/icon/index.d.ts +0 -133
- package/dist/chunk-PZPEWHBV.mjs +0 -4251
- package/dist/chunk-PZPEWHBV.mjs.map +0 -1
- package/dist/components/index.d.mts +0 -4
- package/dist/components/index.d.ts +0 -4
- package/dist/config/chains/index.d.mts +0 -2
- package/dist/config/chains/index.d.ts +0 -2
- package/dist/hooks/api/index.d.mts +0 -5
- package/dist/hooks/api/index.d.ts +0 -5
- package/dist/hooks/index.d.mts +0 -4
- package/dist/hooks/index.d.ts +0 -4
- package/dist/index-B4YpKSY3.d.ts +0 -94
- package/dist/index-CxY3u9Rv.d.ts +0 -89
- package/dist/index-DCReY5T2.d.mts +0 -89
- package/dist/index-DXRGMAbv.d.mts +0 -83
- package/dist/index-DXRGMAbv.d.ts +0 -83
- package/dist/index-DbjibQ5d.d.mts +0 -65
- package/dist/index-GcpJCj6O.d.ts +0 -65
- package/dist/index-_k6h9w0P.d.mts +0 -94
- package/dist/index.d.mts +0 -33
- package/dist/index.d.ts +0 -33
- package/dist/types.d-DwF-Pkvh.d.mts +0 -179
- package/dist/types.d-DwF-Pkvh.d.ts +0 -179
- /package/dist/{chunk-2YN5Y3SM.mjs.map → chunk-FZUZ63FZ.mjs.map} +0 -0
package/dist/hooks/index.js
CHANGED
|
@@ -82,7 +82,7 @@ var localStore = useLocalStore;
|
|
|
82
82
|
var useLocalStore_default = useLocalStore;
|
|
83
83
|
|
|
84
84
|
// src/hooks/useUserInfo.tsx
|
|
85
|
-
var
|
|
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
|
|
245
|
+
var import_react27 = require("react");
|
|
246
246
|
|
|
247
247
|
// src/context/BusinessProvider.tsx
|
|
248
|
-
var
|
|
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/
|
|
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
|
|
407
|
+
var import_react4 = require("react");
|
|
404
408
|
|
|
405
409
|
// src/components/Input/index.tsx
|
|
406
|
-
var
|
|
407
|
-
var
|
|
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
|
|
414
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
411
415
|
|
|
412
416
|
// src/components/Button/index.tsx
|
|
413
|
-
var
|
|
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
|
|
421
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
418
422
|
|
|
419
423
|
// src/components/RecoveryModal/index.tsx
|
|
420
|
-
var
|
|
424
|
+
var import_react5 = require("react");
|
|
421
425
|
var import_react_intl2 = require("react-intl");
|
|
422
|
-
var
|
|
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
|
-
|
|
428
|
-
|
|
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
|
|
490
|
+
var import_react8 = require("react");
|
|
476
491
|
|
|
477
492
|
// src/components/EmailModal/StepEmail.tsx
|
|
478
|
-
var
|
|
493
|
+
var import_react6 = require("react");
|
|
479
494
|
|
|
480
495
|
// src/utils/index.ts
|
|
481
496
|
var getVersion = () => {
|
|
482
|
-
return "0.0.
|
|
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
|
|
508
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
494
509
|
|
|
495
510
|
// src/components/EmailModal/StepVerify.tsx
|
|
496
|
-
var
|
|
511
|
+
var import_react7 = require("react");
|
|
497
512
|
var import_react_intl4 = require("react-intl");
|
|
498
|
-
var
|
|
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
|
|
517
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
503
518
|
|
|
504
519
|
// src/components/Popover/index.tsx
|
|
505
|
-
var
|
|
506
|
-
var
|
|
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
|
|
524
|
+
var import_react10 = require("react");
|
|
510
525
|
var import_react_intl6 = require("react-intl");
|
|
511
|
-
var
|
|
526
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
512
527
|
|
|
513
528
|
// src/components/LoginButton/index.tsx
|
|
514
|
-
var
|
|
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
|
|
533
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
519
534
|
|
|
520
535
|
// src/components/LoginModal/index.tsx
|
|
521
|
-
var
|
|
536
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
522
537
|
|
|
523
538
|
// src/components/UserPopover/index.tsx
|
|
524
|
-
var
|
|
539
|
+
var import_react11 = require("react");
|
|
525
540
|
|
|
526
541
|
// src/assets/icon/ProfileIcon.tsx
|
|
527
|
-
var
|
|
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
|
|
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
|
|
550
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
536
551
|
|
|
537
552
|
// src/components/UsernameModal/index.tsx
|
|
538
|
-
var
|
|
553
|
+
var import_react13 = require("react");
|
|
539
554
|
|
|
540
555
|
// src/assets/icon/InfoRoundIcon.tsx
|
|
541
|
-
var
|
|
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
|
|
560
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
546
561
|
|
|
547
562
|
// src/components/SOLModal/index.tsx
|
|
548
|
-
var
|
|
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
|
|
598
|
-
var
|
|
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
|
|
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
|
|
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
|
|
664
|
+
var import_react16 = require("react");
|
|
650
665
|
|
|
651
666
|
// src/components/TRONModal/index.tsx
|
|
652
|
-
var
|
|
667
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
653
668
|
|
|
654
669
|
// src/components/TONModal/index.tsx
|
|
655
|
-
var
|
|
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
|
|
673
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
659
674
|
|
|
660
675
|
// src/components/BTCModal/index.tsx
|
|
661
|
-
var
|
|
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
|
|
683
|
+
var import_react19 = require("react");
|
|
669
684
|
|
|
670
685
|
// src/components/BTCModal/index.tsx
|
|
671
|
-
var
|
|
686
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
672
687
|
|
|
673
688
|
// src/components/CEXBindModal/index.tsx
|
|
674
|
-
var
|
|
689
|
+
var import_react21 = require("react");
|
|
675
690
|
var import_react_intl15 = require("react-intl");
|
|
676
|
-
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");
|
|
677
706
|
|
|
678
707
|
// src/context/BusinessProvider.tsx
|
|
679
|
-
var
|
|
708
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
680
709
|
|
|
681
710
|
// src/context/index.tsx
|
|
682
|
-
var
|
|
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
|
|
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
|
|
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.
|
|
701
|
-
"initCore",
|
|
734
|
+
return window.matchProvider.waitUntilWalletMessage(
|
|
702
735
|
{
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
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.
|
|
760
|
+
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
761
|
+
method: "isRecovered"
|
|
762
|
+
});
|
|
713
763
|
return res.isRecovered;
|
|
714
764
|
};
|
|
715
|
-
const
|
|
716
|
-
|
|
717
|
-
|
|
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 (
|
|
731
|
-
await
|
|
732
|
-
|
|
733
|
-
|
|
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 (
|
|
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.
|
|
761
|
-
|
|
762
|
-
|
|
802
|
+
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
803
|
+
method: "signMessage",
|
|
804
|
+
data: {
|
|
805
|
+
message,
|
|
806
|
+
chainType
|
|
807
|
+
}
|
|
763
808
|
});
|
|
764
|
-
|
|
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(
|
|
815
|
+
return await recoverAfter({
|
|
816
|
+
handle: getSign,
|
|
817
|
+
chainType
|
|
818
|
+
});
|
|
772
819
|
};
|
|
773
|
-
const signTransaction = async (
|
|
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.
|
|
777
|
-
|
|
778
|
-
|
|
828
|
+
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
829
|
+
method: "signTransaction",
|
|
830
|
+
data: {
|
|
831
|
+
transaction,
|
|
832
|
+
chainType,
|
|
833
|
+
chain
|
|
834
|
+
}
|
|
779
835
|
});
|
|
780
|
-
|
|
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(
|
|
788
|
-
|
|
789
|
-
|
|
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 =
|
|
797
|
-
address,
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
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
|
-
|
|
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
|
|
999
|
+
var import_react26 = require("react");
|
|
830
1000
|
|
|
831
1001
|
// src/MatchContext.tsx
|
|
832
|
-
var
|
|
1002
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
833
1003
|
var import_react_intl16 = require("react-intl");
|
|
834
|
-
var
|
|
835
|
-
var queryClient = new
|
|
836
|
-
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);
|
|
837
1007
|
var useMatch = () => {
|
|
838
|
-
const context = (0,
|
|
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,
|
|
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
|
|
1269
|
+
var import_react29 = require("react");
|
|
1100
1270
|
function useMatchEvents(handlers) {
|
|
1101
|
-
(0,
|
|
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
|
|
1289
|
+
var import_react30 = require("react");
|
|
1120
1290
|
function useCopyClipboard(timeout = 500) {
|
|
1121
|
-
const [isCopied, setIsCopied] = (0,
|
|
1122
|
-
const staticCopy = (0,
|
|
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,
|
|
1296
|
+
(0, import_react30.useEffect)(() => {
|
|
1127
1297
|
if (isCopied) {
|
|
1128
1298
|
const hide = setTimeout(() => {
|
|
1129
1299
|
setIsCopied(false);
|