def create(self, name, password, seed=None, passphrase="", bip39_derivation=None, master=None, addresses=None, privkeys=None, multisig=False): """Create or restore a new wallet""" path = self._wallet_path(name) if exists(path): raise FileExistsError(path) storage = WalletStorage(path) if addresses is not None: wallet = ImportedAddressWallet.from_text(storage, addresses) elif privkeys is not None: wallet = ImportedPrivkeyWallet.from_text(storage, privkeys) else: if bip39_derivation is not None: ks = keystore.from_seed(seed, passphrase, seed_type='bip39', derivation=bip39_derivation) elif master is not None: ks = keystore.from_master_key(master) else: if seed is None: seed = self.make_seed() print("Your wallet generation seed is:\n\"%s\"" % seed) ks = keystore.from_seed(seed, passphrase) if not multisig: storage.put('keystore', ks.dump()) wallet = Standard_Wallet(storage) else: # For multisig wallets, we do not immediately create a wallet storage file. # Instead, we just get the keystore; create_multisig() handles wallet storage # later, once all cosigners are added. return ks.dump() wallet.update_password(None, password, encrypt=True)
def create(self, name, password, seed=None, passphrase="", bip39_derivation=None, master=None, addresses=None, privkeys=None): """Create or restore a new wallet""" path = self._wallet_path(name) if exists(path): raise FileExistsError(path) storage = WalletStorage(path) if addresses is not None: wallet = ImportedAddressWallet.from_text(storage, addresses) elif privkeys is not None: wallet = ImportedPrivkeyWallet.from_text(storage, privkeys) else: if bip39_derivation is not None: ks = keystore.from_bip39_seed(seed, passphrase, bip39_derivation) elif master is not None: ks = keystore.from_master_key(master) else: if seed is None: seed = self.make_seed() print("Your wallet generation seed is:\n\"%s\"" % seed) ks = keystore.from_seed(seed, passphrase, False) storage.put('keystore', ks.dump()) wallet = Standard_Wallet(storage) wallet.update_password(None, password, True)
def create(self, name, password, seed=None, addresses=None, privkeys=None): """Create or restore a new wallet""" path = self._wallet_path(name) if exists(path): raise FileExistsError(path) storage = WalletStorage(path) if addresses: wallet = ImportedAddressWallet.from_text(storage, addresses) elif privkeys: wallet = ImportedPrivkeyWallet.from_text(storage, privkeys) else: if seed is None: seed = self.make_seed() print("Your wallet generation seed is:\n\"%s\"" % seed) storage.put('keystore', keystore.from_seed(seed, "", False).dump()) wallet = Standard_Wallet(storage) wallet.update_password(None, password, True)