@@ -160,10 +160,15 @@ export const deriveNetworkSeedFromAuthToken = (point, authToken, revision) => {
163+ * Derives from either a full Urbit Wallet, a current management mnemonic,
164+ * or an auth token, in that order of preference.
163 * @return {Promise<Maybe<string>>}
165 * @return {Promise<Maybe<string>>}
165export const attemptNetworkSeedDerivation = async ({
167export const attemptNetworkSeedDerivation = async ({
166 urbitWallet,
168 urbitWallet,
168 authToken,
173 authToken,
169 revision,
174 revision,
@@ -172,6 +177,18 @@ export const attemptNetworkSeedDerivation = async ({
172 return await deriveNetworkSeedFromUrbitWallet(urbitWallet.value, revision);
177 return await deriveNetworkSeedFromUrbitWallet(urbitWallet.value, revision);
180+ if (Just.hasInstance(wallet) && Just.hasInstance(authMnemonic)) {
181+ const managementSeed = await deriveNetworkSeedFromManagementMnemonic(
187+ if (Just.hasInstance(managementSeed)) {
188+ return managementSeed;
175 if (Just.hasInstance(authToken)) {
192 if (Just.hasInstance(authToken)) {
176 return deriveNetworkSeedFromAuthToken(point, authToken.value, revision);
193 return deriveNetworkSeedFromAuthToken(point, authToken.value, revision);