0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-05 10:17:30 -05:00
bitcoin-bitcoin-core/src/wallet
Wladimir J. van der Laan 961901f77e
Merge #11117: Prepare for non-Base58 addresses
864cd2787 Move CBitcoinAddress to base58.cpp (Pieter Wuille)
5c8ff0d44 Introduce wrappers around CBitcoinAddress (Pieter Wuille)

Pull request description:

  This patch removes the need for the intermediary Base58 type `CBitcoinAddress`, by providing {`Encode`,`Decode`,`IsValid`}`Destination` functions that directly operate on the conversion between `std::string`s and `CTxDestination`.

  As a side, it also fixes a number of indentation issues, and removes probably several unnecessary implicit `CTxDestination`<->`CBitcoinAddress` conversions.

  This change is far from complete. In follow-ups I'd like to:
  * Split off the specific address and key encoding logic from base58.h, and move it to a address.h or so.
  * Replace `CTxDestination` with a non-`boost::variant` version (which can be more efficient as `boost::variant` allocates everything on the heap, and remove the need for `boost::get<...>` and `IsValidDestination` calls everywhere).
  * Do the same for `CBitcoinSecret`, `CBitcoinExtKey`, and `CBitcoinExtPubKey`.

  However, I've tried to keep this patch to be minimally invasive, but still enough to support non-Base58 addresses. Perhaps a smaller patch is possible to hack Bech32 support into `CBitcoinAddress`, but I would consider that a move in the wrong direction.

Tree-SHA512: c2c77ffb57caeadf2429b1c2562ce60e8c7be8aa9f8e51b591f354b6b441162625b2efe14c023a1ae485cf2ed417263afa35c892891dfaa7844e7fbabccab85e
2017-09-06 22:31:02 +02:00
..
test Acquire cs_main lock before cs_wallet during wallet initialization 2017-08-24 14:12:21 -04:00
coincontrol.h Make QT fee displays use GetMinimumFee instead of estimateSmartFee 2017-07-14 23:41:37 -04:00
crypter.cpp Merge #10193: scripted-diff: Remove #include <boost/foreach.hpp> 2017-07-04 18:05:18 +02:00
crypter.h Remove vchDefaultKey and have better first run detection 2017-08-15 15:05:53 -07:00
db.cpp Merge #10845: Remove unreachable code 2017-09-06 21:44:18 +02:00
db.h Merge #9964: Add const to methods that do not modify the object for which it is called 2017-08-16 02:09:49 +02:00
feebumper.cpp Merge #10976: [MOVEONLY] Move some static functions out of wallet.h/cpp 2017-08-25 21:30:42 +02:00
feebumper.h Refactor to use CoinControl in GetMinimumFee and FeeBumper 2017-07-14 23:10:58 -04:00
fees.cpp MOVEONLY: Fee functions wallet/wallet.cpp -> wallet/fees.cpp 2017-08-14 11:19:38 -04:00
fees.h Move some static functions out of wallet.h/cpp 2017-08-14 11:19:38 -04:00
init.cpp MOVEONLY: Init functions wallet/wallet.cpp -> wallet/init.cpp 2017-08-14 11:19:38 -04:00
init.h Move some static functions out of wallet.h/cpp 2017-08-14 11:19:38 -04:00
rpcdump.cpp Introduce wrappers around CBitcoinAddress 2017-09-06 13:07:45 -07:00
rpcwallet.cpp Introduce wrappers around CBitcoinAddress 2017-09-06 13:07:45 -07:00
rpcwallet.h scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL 2017-08-07 07:36:37 +02:00
wallet.cpp Introduce wrappers around CBitcoinAddress 2017-09-06 13:07:45 -07:00
wallet.h Merge #10976: [MOVEONLY] Move some static functions out of wallet.h/cpp 2017-08-25 21:30:42 +02:00
walletdb.cpp Introduce wrappers around CBitcoinAddress 2017-09-06 13:07:45 -07:00
walletdb.h Merge #10952: [wallet] Remove vchDefaultKey and have better first run detection 2017-08-18 18:56:49 +02:00