@@ -143,12 +143,17 @@ const deriveNetworkSeedFromMnemonic = async (
146+ * @param {number} point
146 * @param {string} authToken
147 * @param {string} authToken
147− * @param {number} number
148+ * @param {number} revision
148 * @return {Maybe<string>}
149 * @return {Maybe<string>}
150−export const deriveNetworkSeedFromAuthToken = (authToken, revision, point) => {
151+export const deriveNetworkSeedFromAuthToken = (point, authToken, revision) => {
152+ //NOTE revision is the point's on-chain revision number.
153+ // since deriveNetworkSeedFromMnemonic does this too, we decrement the
154+ // revision number by one before deriving from it.
155+ const salt = Buffer.from(`revision-${point}-${revision - 1}`);
151− const networkSeed = shas(authToken, `revision-${point}-${revision}`)
156+ const networkSeed = shas(authToken, salt)
152 .toString('hex')
157 .toString('hex')
153 .slice(0, 32);
158 .slice(0, 32);
154 return Just(networkSeed);
159 return Just(networkSeed);
@@ -168,7 +173,7 @@ export const attemptNetworkSeedDerivation = async ({
170 if (Just.hasInstance(authToken)) {
175 if (Just.hasInstance(authToken)) {
171− return deriveNetworkSeedFromAuthToken(authToken.value, point, revision);
176+ return deriveNetworkSeedFromAuthToken(point, authToken.value, revision);
174 return Nothing();
179 return Nothing();