@@ -4,6 +4,7 @@ import React, {
44 useCallback,
55 useContext,
66 useState,
7+ useEffect,
78} from 'react';
89import { Just, Nothing } from 'folktale/maybe';
910import { includes } from 'lodash';
@@ -14,8 +15,11 @@ import {
1415 addressFromSecp256k1Public,
1516 walletFromMnemonic,
1617} from 'lib/wallet';
18+import { getAuthToken } from 'lib/authToken';
1719import { BRIDGE_ERROR } from 'lib/error';
1820
21+import { useNetwork } from 'store/network';
22+
1923export const WalletContext = createContext(null);
2024
2125const DEFAULT_WALLET_TYPE = WALLET_TYPES.TICKET;
@@ -46,6 +50,26 @@ function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
4650 const [networkSeed, setNetworkSeed] = useState(Nothing());
4751 const [networkRevision, setNetworkRevision] = useState(Nothing());
4852
53+ const [authToken, setAuthToken] = useState(Nothing());
54+
55+ const { web3 } = useNetwork();
56+
57+ useEffect(() => {
58+ if (!Just.hasInstance(wallet) || !Just.hasInstance(web3)) {
59+ return;
60+ }
61+ const _wallet = wallet.value;
62+ const _web3 = web3.value;
63+ const token = getAuthToken({
64+ wallet: _wallet,
65+ walletType,
66+ walletHdPath,
67+ web3: _web3,
68+ });
69+
70+ setAuthToken(token);
71+ }, [wallet, walletType, walletHdPath, web3]);
72+
4973 const setWalletType = useCallback(
5074 walletType => {
5175 if (!includes(WALLET_TYPES, walletType)) {