| 2339 | } |
| 2340 | |
| 2341 | DBErrors CWallet::LoadWallet() |
| 2342 | { |
| 2343 | LOCK(cs_wallet); |
| 2344 | |
| 2345 | DBErrors nLoadWalletRet = WalletBatch(GetDatabase()).LoadWallet(this); |
| 2346 | if (nLoadWalletRet == DBErrors::NEED_REWRITE) |
| 2347 | { |
| 2348 | if (GetDatabase().Rewrite("\x04pool")) |
| 2349 | { |
| 2350 | for (const auto& spk_man_pair : m_spk_managers) { |
| 2351 | spk_man_pair.second->RewriteDB(); |
| 2352 | } |
| 2353 | } |
| 2354 | } |
| 2355 | |
| 2356 | if (m_spk_managers.empty()) { |
| 2357 | assert(m_external_spk_managers.empty()); |
| 2358 | assert(m_internal_spk_managers.empty()); |
| 2359 | } |
| 2360 | |
| 2361 | return nLoadWalletRet; |
| 2362 | } |
| 2363 | |
| 2364 | DBErrors CWallet::ZapSelectTx(std::vector<uint256>& vHashIn, std::vector<uint256>& vHashOut) |
| 2365 | { |