@dodoex/wallet-web3-react 0.2.0 → 0.3.0
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/babel.config.js +9 -9
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/lingui.config.ts +13 -13
- package/package.json +91 -76
- package/rollup.config.mjs +100 -100
- package/src/ClientProvider.tsx +17 -15
- package/src/LangProvider.tsx +36 -34
- package/src/WalletConnect/AccountPage.tsx +496 -494
- package/src/WalletConnect/ActivityList.tsx +606 -604
- package/src/WalletConnect/ConnectAlchemy/index.tsx +248 -246
- package/src/WalletConnect/ConnectAlchemy/useConnectAlchemy.ts +105 -105
- package/src/WalletConnect/ConnectDialog.tsx +35 -33
- package/src/WalletConnect/ConnectLedger/ErrorDialog.tsx +61 -61
- package/src/WalletConnect/ConnectLedger/LockedDialog.tsx +54 -54
- package/src/WalletConnect/ConnectLedger/helper.ts +14 -14
- package/src/WalletConnect/ConnectLedger/index.tsx +2 -0
- package/src/WalletConnect/ConnectPage.tsx +508 -506
- package/src/WalletConnect/HasBalanceTokenList.tsx +202 -200
- package/src/WalletConnect/ReceiveTokenPage.tsx +145 -143
- package/src/WalletConnect/SendTokenPage.tsx +251 -249
- package/src/WalletConnect/WalletDialog.tsx +80 -78
- package/src/WalletConnectProvider.tsx +57 -55
- package/src/components/AddressWithLinkAndCopy.tsx +202 -200
- package/src/components/Dialog.tsx +158 -156
- package/src/components/TokenLogo.tsx +167 -165
- package/src/components/WalletTag.tsx +117 -115
- package/src/constants/localstorage.ts +24 -22
- package/src/hooks/useConnectWallet.ts +150 -146
- package/src/hooks/useFetchFiatPrice.ts +53 -51
- package/src/hooks/useFetchTokensBalance.ts +53 -51
- package/src/hooks/useHasBalanceTokenList.ts +95 -93
- package/src/hooks/useTransactionList.ts +89 -87
- package/src/index.tsx +7 -7
- package/src/locales/en.po +51 -51
- package/src/locales/zh.po +51 -51
- package/src/utils/formatter.ts +102 -102
- package/src/utils/time.ts +21 -21
- package/src/utils/utils.ts +8 -8
- package/tsconfig.json +23 -23
|
@@ -1,78 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import WalletWeb3, { useWalletStore } from '@dodoex/wallet-web3';
|
|
4
|
+
import AccountPage from './AccountPage';
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import Dialog from '../components/Dialog';
|
|
7
|
+
import ConnectPage, { ConnectPageProps } from './ConnectPage';
|
|
8
|
+
import ReceiveTokenPage from './ReceiveTokenPage';
|
|
9
|
+
import { useWalletConnectContext } from '../WalletConnectProvider';
|
|
10
|
+
|
|
11
|
+
export default function WalletDialog({
|
|
12
|
+
open,
|
|
13
|
+
onClose,
|
|
14
|
+
walletWeb3,
|
|
15
|
+
onConnectWallet,
|
|
16
|
+
WalletTag,
|
|
17
|
+
}: {
|
|
18
|
+
open: boolean;
|
|
19
|
+
onClose: () => void;
|
|
20
|
+
walletWeb3: WalletWeb3;
|
|
21
|
+
onConnectWallet?: ConnectPageProps['onConnectWallet'];
|
|
22
|
+
WalletTag?: ConnectPageProps['WalletTag'];
|
|
23
|
+
}) {
|
|
24
|
+
const { SendTokenPage, chainId: selectedChainId } = useWalletConnectContext();
|
|
25
|
+
const { account, chainId: connectChainId, connected } = useWalletStore();
|
|
26
|
+
const [showSendTokenPage, setShowSendTokenPage] = React.useState(false);
|
|
27
|
+
const [showReceiveTokenPage, setShowReceiveTokenPage] = React.useState(false);
|
|
28
|
+
return (
|
|
29
|
+
<Dialog
|
|
30
|
+
open={open}
|
|
31
|
+
onClose={onClose}
|
|
32
|
+
width={420}
|
|
33
|
+
bodySx={{
|
|
34
|
+
height: account && !!SendTokenPage ? '80vh' : undefined,
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
{!!SendTokenPage && account && connected?.wallet ? (
|
|
38
|
+
<>
|
|
39
|
+
{showSendTokenPage ? (
|
|
40
|
+
<>
|
|
41
|
+
{!!SendTokenPage && (
|
|
42
|
+
<SendTokenPage
|
|
43
|
+
open={showSendTokenPage}
|
|
44
|
+
onClose={onClose}
|
|
45
|
+
onBack={() => setShowSendTokenPage(false)}
|
|
46
|
+
/>
|
|
47
|
+
)}
|
|
48
|
+
</>
|
|
49
|
+
) : showReceiveTokenPage ? (
|
|
50
|
+
<ReceiveTokenPage
|
|
51
|
+
onClose={onClose}
|
|
52
|
+
onBack={() => setShowReceiveTokenPage(false)}
|
|
53
|
+
/>
|
|
54
|
+
) : (
|
|
55
|
+
<>
|
|
56
|
+
<AccountPage
|
|
57
|
+
chainId={selectedChainId ?? connectChainId}
|
|
58
|
+
account={account}
|
|
59
|
+
walletWeb3={walletWeb3}
|
|
60
|
+
onClose={onClose}
|
|
61
|
+
setShowSendTokenPage={setShowSendTokenPage}
|
|
62
|
+
setShowReceiveTokenPage={setShowReceiveTokenPage}
|
|
63
|
+
/>
|
|
64
|
+
</>
|
|
65
|
+
)}
|
|
66
|
+
</>
|
|
67
|
+
) : (
|
|
68
|
+
<ConnectPage
|
|
69
|
+
chainId={connectChainId}
|
|
70
|
+
account={account}
|
|
71
|
+
walletWeb3={walletWeb3}
|
|
72
|
+
showOtherInjectWallet
|
|
73
|
+
onClose={onClose}
|
|
74
|
+
onConnectWallet={onConnectWallet}
|
|
75
|
+
WalletTag={WalletTag}
|
|
76
|
+
/>
|
|
77
|
+
)}
|
|
78
|
+
</Dialog>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
@@ -1,55 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export const
|
|
54
|
-
|
|
55
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { GraphQLRequests, RestApiRequests } from '@dodoex/api';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { TokenInfo } from './components/TokenLogo';
|
|
6
|
+
import { WalletItem } from './hooks/useConnectWallet';
|
|
7
|
+
|
|
8
|
+
const WalletConnectContext = React.createContext<{
|
|
9
|
+
chainId?: number;
|
|
10
|
+
termsOfServiceLink?: React.ReactNode;
|
|
11
|
+
connectTimeout?: number;
|
|
12
|
+
graphQLRequests?: GraphQLRequests;
|
|
13
|
+
tokenList: Array<TokenInfo>;
|
|
14
|
+
restApiRequests?: RestApiRequests;
|
|
15
|
+
SendTokenPage?: (params: {
|
|
16
|
+
open?: boolean;
|
|
17
|
+
onClose: () => void;
|
|
18
|
+
onBack: () => void;
|
|
19
|
+
}) => JSX.Element;
|
|
20
|
+
encryptFiatPriceToken?: () => string;
|
|
21
|
+
loadAccountListEthBalance?: (
|
|
22
|
+
accountList: string[],
|
|
23
|
+
chainId?: number,
|
|
24
|
+
) => Promise<Map<string, number | null>>;
|
|
25
|
+
getChain: (chainId: number) => null | {
|
|
26
|
+
name: string;
|
|
27
|
+
scanUrl: string;
|
|
28
|
+
gasToken: {
|
|
29
|
+
symbol: string;
|
|
30
|
+
decimals: number;
|
|
31
|
+
};
|
|
32
|
+
logo: React.ReactNode;
|
|
33
|
+
logoBg?: React.ReactNode;
|
|
34
|
+
};
|
|
35
|
+
getTokenLogoUrl?: (op: {
|
|
36
|
+
chainId?: number | null;
|
|
37
|
+
address?: string | null;
|
|
38
|
+
width?: number;
|
|
39
|
+
height?: number;
|
|
40
|
+
}) => string | null;
|
|
41
|
+
onConnectTimeout?: () => void;
|
|
42
|
+
switchNetwork?: (chainId: number) => void;
|
|
43
|
+
onConnected?: (chainId: number, wallet: WalletItem) => void;
|
|
44
|
+
onClickToken?: (token: TokenInfo) => void;
|
|
45
|
+
}>({
|
|
46
|
+
connectTimeout: 15000,
|
|
47
|
+
tokenList: [],
|
|
48
|
+
getChain: () => {
|
|
49
|
+
throw new Error('getChain is undefined');
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export const WalletConnectProvider = WalletConnectContext.Provider;
|
|
54
|
+
|
|
55
|
+
export const useWalletConnectContext = () => {
|
|
56
|
+
return React.useContext(WalletConnectContext);
|
|
57
|
+
};
|