diff options
| author | Wladimir J. van der Laan <[email protected]> | 2016-03-29 11:14:47 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2016-03-29 11:15:02 +0200 |
| commit | b35a59179359709df21eb026d35f4124ce90fbd1 (patch) | |
| tree | 48cb49647f14ec9cb8f9259500b52d96250e1821 /src/wallet/wallet.cpp | |
| parent | Merge #7742: [Wallet][RPC] add missing abandon status documentation (diff) | |
| parent | Added companion removeprunedfunds call. (diff) | |
| download | discoin-b35a59179359709df21eb026d35f4124ce90fbd1.tar.xz discoin-b35a59179359709df21eb026d35f4124ce90fbd1.zip | |
Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
Diffstat (limited to 'src/wallet/wallet.cpp')
| -rw-r--r-- | src/wallet/wallet.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index e85ccd213..1ea8d2ffe 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2353,6 +2353,31 @@ DBErrors CWallet::LoadWallet(bool& fFirstRunRet) return DB_LOAD_OK; } +DBErrors CWallet::ZapSelectTx(vector<uint256>& vHashIn, vector<uint256>& vHashOut) +{ + if (!fFileBacked) + return DB_LOAD_OK; + DBErrors nZapSelectTxRet = CWalletDB(strWalletFile,"cr+").ZapSelectTx(this, vHashIn, vHashOut); + if (nZapSelectTxRet == DB_NEED_REWRITE) + { + if (CDB::Rewrite(strWalletFile, "\x04pool")) + { + LOCK(cs_wallet); + setKeyPool.clear(); + // Note: can't top-up keypool here, because wallet is locked. + // User will be prompted to unlock wallet the next operation + // that requires a new key. + } + } + + if (nZapSelectTxRet != DB_LOAD_OK) + return nZapSelectTxRet; + + MarkDirty(); + + return DB_LOAD_OK; + +} DBErrors CWallet::ZapWalletTx(std::vector<CWalletTx>& vWtx) { |