mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
interfaces, wallet: Expose migrate wallet
This commit is contained in:
@@ -50,6 +50,7 @@ struct WalletBalances;
|
||||
struct WalletTx;
|
||||
struct WalletTxOut;
|
||||
struct WalletTxStatus;
|
||||
struct WalletMigrationResult;
|
||||
|
||||
using WalletOrderForm = std::vector<std::pair<std::string, std::string>>;
|
||||
using WalletValueMap = std::map<std::string, std::string>;
|
||||
@@ -332,6 +333,9 @@ public:
|
||||
//! 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;
|
||||
|
||||
//! Migrate a wallet
|
||||
virtual util::Result<WalletMigrationResult> migrateWallet(const std::string& name, const SecureString& passphrase) = 0;
|
||||
|
||||
//! Return available wallets in wallet directory.
|
||||
virtual std::vector<std::string> listWalletDir() = 0;
|
||||
|
||||
@@ -423,6 +427,15 @@ struct WalletTxOut
|
||||
bool is_spent = false;
|
||||
};
|
||||
|
||||
//! Migrated wallet info
|
||||
struct WalletMigrationResult
|
||||
{
|
||||
std::unique_ptr<Wallet> wallet;
|
||||
std::optional<std::string> watchonly_wallet_name;
|
||||
std::optional<std::string> solvables_wallet_name;
|
||||
fs::path backup_path;
|
||||
};
|
||||
|
||||
//! Return implementation of Wallet interface. This function is defined in
|
||||
//! dummywallet.cpp and throws if the wallet component is not compiled.
|
||||
std::unique_ptr<Wallet> MakeWallet(wallet::WalletContext& context, const std::shared_ptr<wallet::CWallet>& wallet);
|
||||
|
||||
Reference in New Issue
Block a user