v30.3-roots.1 · Commit 24: [PATCH 24/68] feat(qt): add guarded private key sweep dialog
src/interfaces/wallet.h
Before: src/interfaces/wallet.h · After: src/interfaces/wallet.h
File metadata
index 6c37476363fca7230fb229ec4d6411104bf9ec53..da0d9eccd875900899e990c8f1287ccd4b3f1ab2 100644
Download original patch · Release notes
Diff rows 1–29 of 29. Line numbers refer to the original before/after files.
+ Added− RemovedUnmarked lines are context.
Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.
src/interfaces/wallet.h
CHANGED
|
@@ -57,6 +57,17 @@ struct WalletTxOut;
|
|
| 57 |
struct WalletTxStatus;
|
| 58 |
struct WalletMigrationResult;
|
| 59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
using WalletOrderForm = std::vector<std::pair<std::string, std::string>>;
|
| 61 |
using WalletValueMap = std::map<std::string, std::string>;
|
| 62 |
|
|
@@ -106,6 +117,12 @@ public:
|
|
| 106 |
//! Return whether wallet has private key.
|
| 107 |
virtual bool isSpendable(const CTxDestination& dest) = 0;
|
| 108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
//! Add or update address.
|
| 110 |
virtual bool setAddressBook(const CTxDestination& dest, const std::string& name, const std::optional<wallet::AddressPurpose>& purpose) = 0;
|
| 111 |
|
|
|
|
| 57 |
struct WalletTxStatus;
|
| 58 |
struct WalletMigrationResult;
|
| 59 |
|
| 60 |
+
//! Result of a transient-private-key sweep. The supplied key is never retained
|
| 61 |
+
//! by this interface or by the wallet.
|
| 62 |
+
struct WalletSweepResult {
|
| 63 |
+
CTransactionRef tx;
|
| 64 |
+
CAmount amount{0};
|
| 65 |
+
CAmount fee{0};
|
| 66 |
+
size_t inputs{0};
|
| 67 |
+
int64_t vsize{0};
|
| 68 |
+
bool broadcast{false};
|
| 69 |
+
};
|
| 70 |
+
|
| 71 |
using WalletOrderForm = std::vector<std::pair<std::string, std::string>>;
|
| 72 |
using WalletValueMap = std::map<std::string, std::string>;
|
| 73 |
|
|
|
|
| 117 |
//! Return whether wallet has private key.
|
| 118 |
virtual bool isSpendable(const CTxDestination& dest) = 0;
|
| 119 |
|
| 120 |
+
//! Sweep one transient private key to a destination controlled by this wallet.
|
| 121 |
+
virtual util::Result<WalletSweepResult> sweepPrivateKey(const SecureString& private_key,
|
| 122 |
+
const CTxDestination& destination,
|
| 123 |
+
bool broadcast,
|
| 124 |
+
const std::optional<Txid>& expected_txid = std::nullopt) = 0;
|
| 125 |
+
|
| 126 |
//! Add or update address.
|
| 127 |
virtual bool setAddressBook(const CTxDestination& dest, const std::string& name, const std::optional<wallet::AddressPurpose>& purpose) = 0;
|
| 128 |
|