mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-13 11:35:20 +01:00
Use ResultPtr<unique_ptr> instead of Result<unique_ptr>
This commit is contained in:
parent
86607f813d
commit
06512c44b6
6 changed files with 18 additions and 30 deletions
|
@ -188,7 +188,7 @@ void ReadFromStream(AddrMan& addr, DataStream& ssPeers)
|
||||||
DeserializeDB(ssPeers, addr, false);
|
DeserializeDB(ssPeers, addr, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgroupman, const ArgsManager& args)
|
util::ResultPtr<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgroupman, const ArgsManager& args)
|
||||||
{
|
{
|
||||||
auto check_addrman = std::clamp<int32_t>(args.GetIntArg("-checkaddrman", DEFAULT_ADDRMAN_CONSISTENCY_CHECKS), 0, 1000000);
|
auto check_addrman = std::clamp<int32_t>(args.GetIntArg("-checkaddrman", DEFAULT_ADDRMAN_CONSISTENCY_CHECKS), 0, 1000000);
|
||||||
bool deterministic = HasTestOption(args, "addrman"); // use a deterministic addrman only for tests
|
bool deterministic = HasTestOption(args, "addrman"); // use a deterministic addrman only for tests
|
||||||
|
|
|
@ -49,7 +49,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Returns an error string on failure */
|
/** Returns an error string on failure */
|
||||||
util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgroupman, const ArgsManager& args);
|
util::ResultPtr<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgroupman, const ArgsManager& args);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dump the anchor IP address database (anchors.dat)
|
* Dump the anchor IP address database (anchors.dat)
|
||||||
|
|
|
@ -1482,7 +1482,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||||
uiInterface.InitMessage(_("Loading P2P addresses…"));
|
uiInterface.InitMessage(_("Loading P2P addresses…"));
|
||||||
auto addrman{LoadAddrman(*node.netgroupman, args)};
|
auto addrman{LoadAddrman(*node.netgroupman, args)};
|
||||||
if (!addrman) return InitError(util::ErrorString(addrman));
|
if (!addrman) return InitError(util::ErrorString(addrman));
|
||||||
node.addrman = std::move(*addrman);
|
node.addrman = std::move(addrman.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
FastRandomContext rng;
|
FastRandomContext rng;
|
||||||
|
|
|
@ -328,16 +328,16 @@ class WalletLoader : public ChainClient
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! Create new wallet.
|
//! Create new wallet.
|
||||||
virtual util::Result<std::unique_ptr<Wallet>> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>& warnings) = 0;
|
virtual util::ResultPtr<std::unique_ptr<Wallet>> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>& warnings) = 0;
|
||||||
|
|
||||||
//! Load existing wallet.
|
//! Load existing wallet.
|
||||||
virtual util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string& name, std::vector<bilingual_str>& warnings) = 0;
|
virtual util::ResultPtr<std::unique_ptr<Wallet>> loadWallet(const std::string& name, std::vector<bilingual_str>& warnings) = 0;
|
||||||
|
|
||||||
//! Return default wallet directory.
|
//! Return default wallet directory.
|
||||||
virtual std::string getWalletDir() = 0;
|
virtual std::string getWalletDir() = 0;
|
||||||
|
|
||||||
//! Restore backup wallet
|
//! Restore backup wallet
|
||||||
virtual util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path& backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings) = 0;
|
virtual util::ResultPtr<std::unique_ptr<Wallet>> restoreWallet(const fs::path& backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings) = 0;
|
||||||
|
|
||||||
//! Migrate a wallet
|
//! Migrate a wallet
|
||||||
virtual util::Result<WalletMigrationResult> migrateWallet(const std::string& name, const SecureString& passphrase) = 0;
|
virtual util::Result<WalletMigrationResult> migrateWallet(const std::string& name, const SecureString& passphrase) = 0;
|
||||||
|
|
|
@ -270,7 +270,7 @@ void CreateWalletActivity::createWallet()
|
||||||
auto wallet{node().walletLoader().createWallet(name, m_passphrase, flags, m_warning_message)};
|
auto wallet{node().walletLoader().createWallet(name, m_passphrase, flags, m_warning_message)};
|
||||||
|
|
||||||
if (wallet) {
|
if (wallet) {
|
||||||
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(*wallet));
|
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet.value()));
|
||||||
} else {
|
} else {
|
||||||
m_error_message = util::ErrorString(wallet);
|
m_error_message = util::ErrorString(wallet);
|
||||||
}
|
}
|
||||||
|
@ -359,7 +359,7 @@ void OpenWalletActivity::open(const std::string& path)
|
||||||
auto wallet{node().walletLoader().loadWallet(path, m_warning_message)};
|
auto wallet{node().walletLoader().loadWallet(path, m_warning_message)};
|
||||||
|
|
||||||
if (wallet) {
|
if (wallet) {
|
||||||
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(*wallet));
|
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet.value()));
|
||||||
} else {
|
} else {
|
||||||
m_error_message = util::ErrorString(wallet);
|
m_error_message = util::ErrorString(wallet);
|
||||||
}
|
}
|
||||||
|
@ -412,7 +412,7 @@ void RestoreWalletActivity::restore(const fs::path& backup_file, const std::stri
|
||||||
auto wallet{node().walletLoader().restoreWallet(backup_file, wallet_name, m_warning_message)};
|
auto wallet{node().walletLoader().restoreWallet(backup_file, wallet_name, m_warning_message)};
|
||||||
|
|
||||||
if (wallet) {
|
if (wallet) {
|
||||||
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(*wallet));
|
m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet.value()));
|
||||||
} else {
|
} else {
|
||||||
m_error_message = util::ErrorString(wallet);
|
m_error_message = util::ErrorString(wallet);
|
||||||
}
|
}
|
||||||
|
|
|
@ -599,7 +599,7 @@ public:
|
||||||
void schedulerMockForward(std::chrono::seconds delta) override { Assert(m_context.scheduler)->MockForward(delta); }
|
void schedulerMockForward(std::chrono::seconds delta) override { Assert(m_context.scheduler)->MockForward(delta); }
|
||||||
|
|
||||||
//! WalletLoader methods
|
//! WalletLoader methods
|
||||||
util::Result<std::unique_ptr<Wallet>> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>& warnings) override
|
util::ResultPtr<std::unique_ptr<Wallet>> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, std::vector<bilingual_str>& warnings) override
|
||||||
{
|
{
|
||||||
DatabaseOptions options;
|
DatabaseOptions options;
|
||||||
DatabaseStatus status;
|
DatabaseStatus status;
|
||||||
|
@ -608,37 +608,25 @@ public:
|
||||||
options.create_flags = wallet_creation_flags;
|
options.create_flags = wallet_creation_flags;
|
||||||
options.create_passphrase = passphrase;
|
options.create_passphrase = passphrase;
|
||||||
bilingual_str error;
|
bilingual_str error;
|
||||||
std::unique_ptr<Wallet> wallet{MakeWallet(m_context, CreateWallet(m_context, name, /*load_on_start=*/true, options, status, error, warnings))};
|
util::ResultPtr<std::unique_ptr<Wallet>> wallet{MakeWallet(m_context, CreateWallet(m_context, name, /*load_on_start=*/true, options, status, error, warnings))};
|
||||||
if (wallet) {
|
return wallet ? std::move(wallet) : util::Error{error};
|
||||||
return wallet;
|
|
||||||
} else {
|
|
||||||
return util::Error{error};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
util::Result<std::unique_ptr<Wallet>> loadWallet(const std::string& name, std::vector<bilingual_str>& warnings) override
|
util::ResultPtr<std::unique_ptr<Wallet>> loadWallet(const std::string& name, std::vector<bilingual_str>& warnings) override
|
||||||
{
|
{
|
||||||
DatabaseOptions options;
|
DatabaseOptions options;
|
||||||
DatabaseStatus status;
|
DatabaseStatus status;
|
||||||
ReadDatabaseArgs(*m_context.args, options);
|
ReadDatabaseArgs(*m_context.args, options);
|
||||||
options.require_existing = true;
|
options.require_existing = true;
|
||||||
bilingual_str error;
|
bilingual_str error;
|
||||||
std::unique_ptr<Wallet> wallet{MakeWallet(m_context, LoadWallet(m_context, name, /*load_on_start=*/true, options, status, error, warnings))};
|
util::ResultPtr<std::unique_ptr<Wallet>> wallet{MakeWallet(m_context, LoadWallet(m_context, name, /*load_on_start=*/true, options, status, error, warnings))};
|
||||||
if (wallet) {
|
return wallet ? std::move(wallet) : util::Error{error};
|
||||||
return wallet;
|
|
||||||
} else {
|
|
||||||
return util::Error{error};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
util::Result<std::unique_ptr<Wallet>> restoreWallet(const fs::path& backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings) override
|
util::ResultPtr<std::unique_ptr<Wallet>> restoreWallet(const fs::path& backup_file, const std::string& wallet_name, std::vector<bilingual_str>& warnings) override
|
||||||
{
|
{
|
||||||
DatabaseStatus status;
|
DatabaseStatus status;
|
||||||
bilingual_str error;
|
bilingual_str error;
|
||||||
std::unique_ptr<Wallet> wallet{MakeWallet(m_context, RestoreWallet(m_context, backup_file, wallet_name, /*load_on_start=*/true, status, error, warnings))};
|
util::ResultPtr<std::unique_ptr<Wallet>> wallet{MakeWallet(m_context, RestoreWallet(m_context, backup_file, wallet_name, /*load_on_start=*/true, status, error, warnings))};
|
||||||
if (wallet) {
|
return wallet ? std::move(wallet) : util::Error{error};
|
||||||
return wallet;
|
|
||||||
} else {
|
|
||||||
return util::Error{error};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
util::Result<WalletMigrationResult> migrateWallet(const std::string& name, const SecureString& passphrase) override
|
util::Result<WalletMigrationResult> migrateWallet(const std::string& name, const SecureString& passphrase) override
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue