MCPcopy
hub / github.com/BlueWallet/BlueWallet / createWallet

Function createWallet

screen/wallets/Add.tsx:321–380  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

319 };
320
321 const createWallet = async () => {
322 setIsLoading(true);
323
324 if (selectedWalletType === ButtonSelected.OFFCHAIN) {
325 createLightningWallet();
326 } else if (selectedWalletType === ButtonSelected.ARK) {
327 createLightningArkWallet();
328 } else if (selectedWalletType === ButtonSelected.ONCHAIN) {
329 let w: HDSegwitBech32Wallet | HDLegacyP2PKHWallet | HDTaprootWallet;
330
331 for (let c = 0; c < Object.values(index2walletType).length; c++) {
332 if (c === selectedIndex) {
333 switch (index2walletType[c].walletType) {
334 case HDTaprootWallet.type:
335 w = new HDTaprootWallet();
336 w.setLabel(label || loc.wallets.details_title);
337 break;
338 case HDLegacyP2PKHWallet.type:
339 w = new HDLegacyP2PKHWallet();
340 w.setLabel(label || loc.wallets.details_title);
341 break;
342 case HDSegwitBech32Wallet.type:
343 w = new HDSegwitBech32Wallet();
344 w.setLabel(label || loc.wallets.details_title);
345 break;
346 }
347 }
348 }
349
350 assert(w!, 'Internal error: could not decide which wallet to create');
351
352 if (selectedWalletType === ButtonSelected.ONCHAIN) {
353 if (entropy) {
354 try {
355 await w.generateFromEntropy(entropy);
356 } catch (e: any) {
357 console.log(e.toString());
358 presentAlert({ message: e.toString() });
359 return;
360 }
361 } else {
362 await w.generate();
363 }
364 addWallet(w);
365 await saveToDisk();
366
367 triggerHapticFeedback(HapticFeedbackTypes.NotificationSuccess);
368 if (w.type === HDLegacyP2PKHWallet.type || w.type === HDSegwitBech32Wallet.type || w.type === HDTaprootWallet.type) {
369 navigate('PleaseBackup', {
370 walletID: w.getID(),
371 });
372 } else {
373 goBack();
374 }
375 }
376 } else if (selectedWalletType === ButtonSelected.VAULT) {
377 setIsLoading(false);
378 navigate('WalletsAddMultisig', { walletLabel: label.trim().length > 0 ? label : loc.multisig.default_label });

Callers

nothing calls this directly

Calls 12

createLightningWalletFunction · 0.85
createLightningArkWalletFunction · 0.85
triggerHapticFeedbackFunction · 0.85
navigateFunction · 0.85
goBackFunction · 0.85
valuesMethod · 0.80
setLabelMethod · 0.80
toStringMethod · 0.80
setIsLoadingFunction · 0.70
generateFromEntropyMethod · 0.45
generateMethod · 0.45
getIDMethod · 0.45

Tested by

no test coverage detected