@@ -194,20 +194,28 @@ export const RegistrationStages = () => {
194
194
} , [ ] ) ;
195
195
196
196
const generateMnemonicAndKeyPair = async ( ) => {
197
+ const vanityPrefix = '0543210'
198
+ const privKeyHexLength = 32 * 2 ;
199
+ let mnemonic = '' ;
200
+ let newHexPubKey = '' ;
201
+
197
202
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' ) ;
206
216
}
207
- const seed = fromHex ( seedHex ) ;
208
- const keyPair = await sessionGenerateKeyPair ( seed ) ;
209
- const newHexPubKey = StringUtils . decode ( keyPair . pubKey , 'hex' ) ;
210
217
218
+ window . log . warn ( newHexPubKey ) ;
211
219
setGeneratedRecoveryPhrase ( mnemonic ) ;
212
220
setHexGeneratedPubKey ( newHexPubKey ) ; // our 'frontend' sessionID
213
221
}
0 commit comments