Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/load.cpp
Show First 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | bool VerifyWallets(interfaces::Chain &chain, | ||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
bool LoadWallets(interfaces::Chain &chain, | bool LoadWallets(interfaces::Chain &chain, | ||||
const std::vector<std::string> &wallet_files) { | const std::vector<std::string> &wallet_files) { | ||||
try { | try { | ||||
for (const std::string &walletFile : wallet_files) { | for (const std::string &name : wallet_files) { | ||||
DatabaseOptions options; | |||||
DatabaseStatus status; | |||||
// No need to verify, assuming verified earlier in VerifyWallets() | |||||
options.verify = false; | |||||
bilingual_str error; | bilingual_str error; | ||||
std::vector<bilingual_str> warnings; | std::vector<bilingual_str> warnings; | ||||
std::shared_ptr<CWallet> pwallet = CWallet::CreateWalletFromFile( | std::unique_ptr<WalletDatabase> database = | ||||
chain, walletFile, error, warnings); | MakeWalletDatabase(name, options, status, error); | ||||
std::shared_ptr<CWallet> pwallet = | |||||
database | |||||
? CWallet::Create(chain, name, std::move(database), | |||||
options.create_flags, error, warnings) | |||||
: nullptr; | |||||
if (!warnings.empty()) { | if (!warnings.empty()) { | ||||
chain.initWarning(Join(warnings, Untranslated("\n"))); | chain.initWarning(Join(warnings, Untranslated("\n"))); | ||||
} | } | ||||
if (!pwallet) { | if (!pwallet) { | ||||
chain.initError(error); | chain.initError(error); | ||||
return false; | return false; | ||||
} | } | ||||
AddWallet(pwallet); | AddWallet(pwallet); | ||||
▲ Show 20 Lines • Show All 52 Lines • Show Last 20 Lines |