@@ -8,6 +8,7 @@ import React, {
88} from 'react';
99import { Just, Nothing } from 'folktale/maybe';
1010import { includes } from 'lodash';
11+import { randomHex } from 'web3-utils';
1112
1213import { walletFromMnemonic } from 'lib/wallet';
1314import {
@@ -55,6 +56,10 @@ function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
5556 // Allow users to skip signing the auth token on login
5657 const [skipLoginSigning, setSkipLoginSigning] = useState(false);
5758
59+ const setFakeToken = () => {
60+ setAuthToken(Just(randomHex(32)));
61+ };
62+
5863 // See: https://github.com/urbit/bridge/issues/549#issuecomment-1048359617
5964 // This is used for legacy compatibility; this flow should eventually be
6065 // be removed after ~1 year.
@@ -74,6 +79,11 @@ function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
7479
7580 const _wallet = wallet.value;
7681 const _web3 = web3.value;
82+ if (skipLoginSigning) {
83+ setFakeToken();
84+ return;
85+ }
86+
7787 const token = await getAuthToken({
7888 wallet: _wallet,
7989 walletType,
@@ -84,7 +94,15 @@ function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
8494
8595 setAuthToken(Just(token));
8696 })();
87− }, [wallet, walletType, walletHdPath, web3, useLegacyTokenSigning]);
97+ }, [
98+ wallet,
99+ walletType,
100+ walletHdPath,
101+ web3,
102+ useLegacyTokenSigning,
103+ setAuthToken,
104+ skipLoginSigning,
105+ ]);
88106
89107 const setWalletType = useCallback(
90108 walletType => {
@@ -179,7 +197,8 @@ function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
179197 useLegacyTokenSigning,
180198 setUseLegacyTokenSigning,
181199 skipLoginSigning,
182− setSkipLoginSigning
200+ setSkipLoginSigning,
201+ setFakeToken,
183202 };
184203}
185204