on master help sign in
fix: explicit dependencies for state updater callbacks in wallet.js
c99b5edMatt Condon (shrugs)
src/store/wallet.js+23−17
@@ -42,23 +42,29 @@ function _useWallet(
42 const [networkSeed, setNetworkSeed] = useState(Maybe.Nothing());
42 const [networkSeed, setNetworkSeed] = useState(Maybe.Nothing());
43 const [networkRevision, setNetworkRevision] = useState(Maybe.Nothing());
43 const [networkRevision, setNetworkRevision] = useState(Maybe.Nothing());
44
44
45− const setWalletType = useCallback(walletType => {
45+ const setWalletType = useCallback(
46+ walletType => {
46− if (!includes(WALLET_TYPES, walletType)) {
47+ if (!includes(WALLET_TYPES, walletType)) {
47− throw BRIDGE_ERROR.INVALID_WALLET_TYPE;
48+ throw BRIDGE_ERROR.INVALID_WALLET_TYPE;
48− }
49+ }
49−
50+
50− _setWalletType(walletType);
51+ _setWalletType(walletType);
51− }, []);
52+ },
52−
53+ [_setWalletType]
54+ );
55+
53− const setWallet = useCallback(wallet => {
56+ const setWallet = useCallback(
57+ wallet => {
54− // force that public addresses are derived for each wallet
58+ // force that public addresses are derived for each wallet
55− wallet.map(wal => {
59+ wallet.map(wal => {
56− wal.address = wal.address || addressFromSecp256k1Public(wal.publicKey);
60+ wal.address = wal.address || addressFromSecp256k1Public(wal.publicKey);
57− return wal;
61+ return wal;
58− });
62+ });
59−
63+
60− _setWallet(wallet);
64+ _setWallet(wallet);
61− }, []);
65+ },
66+ [_setWallet]
67+ );
62
68
63 const setUrbitWallet = useCallback(
69 const setUrbitWallet = useCallback(
64 urbitWallet => {
70 urbitWallet => {