diff options
| author | Wladimir J. van der Laan <[email protected]> | 2017-09-06 22:21:39 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2017-09-06 22:31:02 +0200 |
| commit | 961901f77e55aa07d5048000d57bcd218ae74b08 (patch) | |
| tree | 87b99d773503932cae97c3721757fe35d13b5553 /src/httpserver.cpp | |
| parent | Merge #10845: Remove unreachable code (diff) | |
| parent | Move CBitcoinAddress to base58.cpp (diff) | |
| download | discoin-961901f77e55aa07d5048000d57bcd218ae74b08.tar.xz discoin-961901f77e55aa07d5048000d57bcd218ae74b08.zip | |
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
Diffstat (limited to 'src/httpserver.cpp')
0 files changed, 0 insertions, 0 deletions