Skip to content

Commit 941a2bf

Browse files
committed
Allow account creation using a hardcoded vanity prefix.
1 parent c988d36 commit 941a2bf

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

ts/components/registration/RegistrationStages.tsx

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -194,20 +194,28 @@ export const RegistrationStages = () => {
194194
}, []);
195195

196196
const generateMnemonicAndKeyPair = async () => {
197+
const vanityPrefix = '0543210'
198+
const privKeyHexLength = 32 * 2;
199+
let mnemonic = '';
200+
let newHexPubKey = '';
201+
197202
if (generatedRecoveryPhrase === '') {
198-
const mnemonic = await generateMnemonic();
199-
200-
let seedHex = mn_decode(mnemonic);
201-
// handle shorter than 32 bytes seeds
202-
const privKeyHexLength = 32 * 2;
203-
if (seedHex.length !== privKeyHexLength) {
204-
seedHex = seedHex.concat('0'.repeat(32));
205-
seedHex = seedHex.substring(0, privKeyHexLength);
203+
while (newHexPubKey.substring(0, vanityPrefix.length) !== vanityPrefix) {
204+
window.log.warn(newHexPubKey);
205+
mnemonic = await generateMnemonic();
206+
207+
let seedHex = mn_decode(mnemonic);
208+
if (seedHex.length !== privKeyHexLength) {
209+
// handle shorter than 32 bytes seeds
210+
seedHex = seedHex.concat('0'.repeat(32));
211+
seedHex = seedHex.substring(0, privKeyHexLength);
212+
}
213+
const seed = fromHex(seedHex);
214+
const keyPair = await sessionGenerateKeyPair(seed);
215+
newHexPubKey = StringUtils.decode(keyPair.pubKey, 'hex');
206216
}
207-
const seed = fromHex(seedHex);
208-
const keyPair = await sessionGenerateKeyPair(seed);
209-
const newHexPubKey = StringUtils.decode(keyPair.pubKey, 'hex');
210217

218+
window.log.warn(newHexPubKey);
211219
setGeneratedRecoveryPhrase(mnemonic);
212220
setHexGeneratedPubKey(newHexPubKey); // our 'frontend' sessionID
213221
}

0 commit comments

Comments
 (0)