aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/walletdb.h
AgeCommit message (Collapse)Author
2018-01-03Increment MIT Licence copyright header year on files modified in 2017Akira Takizawa
2017-11-18Add -walletdir parameter to specify custom wallet dirMeshCollider
2017-11-16scripted-diff: Replace #include "" with #include <> (ryanofsky)MeshCollider
-BEGIN VERIFY SCRIPT- for f in \ src/*.cpp \ src/*.h \ src/bench/*.cpp \ src/bench/*.h \ src/compat/*.cpp \ src/compat/*.h \ src/consensus/*.cpp \ src/consensus/*.h \ src/crypto/*.cpp \ src/crypto/*.h \ src/crypto/ctaes/*.h \ src/policy/*.cpp \ src/policy/*.h \ src/primitives/*.cpp \ src/primitives/*.h \ src/qt/*.cpp \ src/qt/*.h \ src/qt/test/*.cpp \ src/qt/test/*.h \ src/rpc/*.cpp \ src/rpc/*.h \ src/script/*.cpp \ src/script/*.h \ src/support/*.cpp \ src/support/*.h \ src/support/allocators/*.h \ src/test/*.cpp \ src/test/*.h \ src/wallet/*.cpp \ src/wallet/*.h \ src/wallet/test/*.cpp \ src/wallet/test/*.h \ src/zmq/*.cpp \ src/zmq/*.h do base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f done -END VERIFY SCRIPT-
2017-09-16Refactor: Modernize disallowed copy constructors/assignmentDan Raviv
Use C++11's better capability of expressing an interface of a non-copyable class by publicly deleting its copy ctor and assignment operator instead of just declaring them private.
2017-08-18Merge #10952: [wallet] Remove vchDefaultKey and have better first run detectionWladimir J. van der Laan
e53615b Remove vchDefaultKey and have better first run detection (Andrew Chow) Pull request description: Removes vchDefaultKey which was only used for first run detection. Improves wallet first run detection by checking to see if any keys were read from the database. This also fixes a (rather contrived) case where an encrypted non-HD wallet has corruption such that the default key is no longer valid and is loaded into a Core version that supports HD wallets. This causes a runtime exception since a new hd master key is generated as the software believes the wallet file is newly created but cannot add the generated key to the wallet since it is encrypted. I was only able to replicate this error by creating a non-hd wallet, encrypting it, then editing the wallet using `db_dump` and `db_load` before loading the wallet with hd enabled. This problem has been reported by [two](https://bitcointalk.org/index.php?topic=1993244.0) [users](https://bitcointalk.org/index.php?topic=1746976.msg17511261#msg17511261) so it is something that can happen, although that raises the question of "what corrupted the default key". ~P.S. I don't know what's up with the whitespace changes. I think my text editor is doing something stupid but I don't think those are important enough to attempt undoing them.~ Undid those Tree-SHA512: 63b485f356566e8ffa033ad9b7101f7f6b56372b29ec2a43b947b0eeb1ada4c2cfe24740515d013aedd5f51aa1890dfbe499d2c5c062fc1b5d272324728a7d55
2017-08-16Declare single-argument (non-converting) constructors "explicit"practicalswift
In order to avoid unintended implicit conversions.
2017-08-15Remove vchDefaultKey and have better first run detectionAndrew Chow
Removes vchDefaultKey which was only used for first run detection. Improves wallet first run detection by checking to see if any keys were read from the database. This will now also check for a valid defaultkey for backwards compatibility reasons and to check for any corruption. Keys will stil be generated on the first one, but there won't be any shown in the address book as was previously done.
2017-06-06wallet: Include actual backup filename in recovery warning messageLuke Dashjr
2017-06-05CWalletDB: Store the update counter per walletLuke Dashjr
2017-06-05wallet: Move nAccountingEntryNumber from static/global to CWalletLuke Dashjr
2017-06-05Bugfix: wallet: Increment "update counter" only after actually making the ↵Luke Dashjr
applicable db changes to avoid potential races Also does all "update counter" access via IncrementUpdateCounter
2017-04-21wallet: Add comment describing the various classes in walletdb.hWladimir J. van der Laan
2017-04-20wallet: CWalletDB CDB composition not inheritanceWladimir J. van der Laan
CWalletDB now contains a CDB instead of inheriting from it. This makes it easier to replace the internal transaction with a different database, without leaking through internals.
2017-04-20wallet: Introduce database handle wrapperWladimir J. van der Laan
Abstract database handle from explicit strFilename into CWalletDBWrapper. Also move CWallet::Backup to db.cpp - as it deals with representation details this is a database specific operation.
2017-04-03Replace uses of boost::filesystem with fsWladimir J. van der Laan
Step two in abstracting away boost::filesystem. To repeat this, simply run: ``` git ls-files \*.cpp \*.h | xargs sed -i 's/boost::filesystem/fs/g' ```
2017-03-28Fix rebase issue where pwalletMain was used instead of pwalletJonas Schnelli
Ser./Deser. nInternalChainCounter as last element
2017-03-24[Wallet] split the keypool in an internal and external partJonas Schnelli
2017-03-08Merge #9936: [trivial] Fix three typos introduced into walletdb.h in commit ↵MarcoFalke
7184e25 fdab309 [trivial] Fix typos introduced in 7184e25c80aa8b1629a700bb7a7e290ad0bb2792 (practicalswift) Tree-SHA512: 091666f996267fc5d9f911e6ff25051df5c198851a9c2a6cae73692ffacc64f4275932260487aa48a224ca7f80c58f79933065c72d42aeccae540293c67bcee9
2017-03-07[trivial] Fix typos introduced in 7184e25c80aa8b1629a700bb7a7e290ad0bb2792practicalswift
2017-03-06Rename FlushWalletDB -> CompactWalletDB, add function descriptionMatt Corallo
2017-03-06Use CScheduler for wallet flushing, remove ThreadFlushWalletDBMatt Corallo
2017-03-06[Wallet] refactor CWallet/CWalletDB/CDBJonas Schnelli
Try to hide CDB/bitdb behinde CWalletDB. Prepare for full wallet database abstraction.
2017-03-03Merge #8808: Do not shadow variables (gcc set)Wladimir J. van der Laan
ad1ae7a Check and enable -Wshadow by default. (Pavel Janík) 9de90bb Do not shadow variables (gcc set) (Pavel Janík) Tree-SHA512: 9517feb423dc8ddd63896016b25324673bfbe0bffa97f22996f59d7a3fcbdc2ebf2e43ac02bc067546f54e293e9b2f2514be145f867321e9031f895c063d9fb8
2017-03-02Merge #9143: Refactor ZapWalletTxes to avoid layer violationsWladimir J. van der Laan
0165a56 Refactor ZapWalletTxes to avoid layer vialotions (Jonas Schnelli) Tree-SHA512: 51e3abbb866185817d14d685a65cb1070a7a60aa3db692670f3a5fdd328aad59afa765c5a6b13d9e8f6d219e735487f8c87998f2fb38fdd911c1fe19bea373b9
2017-02-10Use importmulti timestamp when importing watch only keysRussell Yanofsky
When importing a watch-only address over importmulti with a specific timestamp, the wallet's nTimeFirstKey is currently set to 1. After this change, the provided timestamp will be used and stored as metadata associated with watch-only key. This can improve wallet performance because it can avoid the need to scan the entire blockchain for watch only addresses when timestamps are provided. Also adds timestamp to validateaddress return value (needed for tests). Fixes #9034.
2017-02-06Merge #9227: Make nWalletDBUpdated atomic to avoid a potential race.Wladimir J. van der Laan
d63ff62 Make nWalletDBUpdated atomic to avoid a potential race. (Patrick Strateman)
2017-01-24Refactor ZapWalletTxes to avoid layer vialotionsJonas Schnelli
2017-01-04Merge #9450: Increment MIT licence copyright header year on files modified ↵Wladimir J. van der Laan
in 2016 27765b6 Increment MIT Licence copyright header year on files modified in 2016 (isle2983)
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-21Make nWalletDBUpdated atomic to avoid a potential race.Patrick Strateman
2016-12-05Do not shadow variables (gcc set)Pavel Janík
2016-11-11Wallet: Let the interval-flushing thread figure out the filenameLuke Dashjr
2016-11-07Get rid of nType and nVersionPieter Wuille
Remove the nType and nVersion as parameters to all serialization methods and functions. There is only one place where it's read and has an impact (in CAddress), and even there it does not impact any of the recursively invoked serializers. Instead, the few places that need nType or nVersion are changed to read it directly from the stream object, through GetType() and GetVersion() methods which are added to all stream classes.
2016-10-30Move CWalletDB::ReorderTransactions to CWalletPatrick Strateman
2016-09-09[WIP] Remove unused statement in serializationPavel Janík
2016-07-15[Wallet] comsetic non-code changes for the HD featureJonas Schnelli
2016-07-15[Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull()Jonas Schnelli
2016-07-09[Wallet] extend CKeyMetadata with HD keypathJonas Schnelli
2016-06-22BIP144: Serialization, hashes, relay (sender side)Pieter Wuille
Contains refactorings by Eric Lombrozo. Contains fixup by Nicolas Dorier. Contains cleanup of CInv::GetCommand by Alex Morcos
2016-05-31[Wallet] Add simplest BIP32/deterministic key generation implementationJonas Schnelli
2016-05-16Move BackupWallet to CWallet::BackupWalletPatrick Strateman
2016-05-09Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDiskPatrick Strateman
2016-03-23Added companion removeprunedfunds call.instagibbs
2016-03-14[wallet] Move hardcoded file name out of log messagesMarcoFalke
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-11-28Constrain constant values to a single location in codeLuke Dashjr
2015-11-21Optimisation: Store transaction list order in memory rather than compute it ↵Luke Dashjr
every need Huge performance improvement (450%) for zapwallettxes
2015-07-23Includes: Cleanup around net main and walletJorge Timón
-Move from .h to .cpp: in main, net and wallet -Remove unnecessary #include "main.h" -Cleanup some wallet files includes
2015-04-20ensure consistent header comment naming conventionsPhilip Kaufmann
- BITCOIN_FOLDER_SUBFOLDER_FILENAME_H
2015-04-08move ThreadFlushWalletDB declaration to walletdb.hPhilip Kaufmann