HomePhabricator

Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
1025440184efUnpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress

This introduces internal types:

  • CKeyID: reference (hash160) of a key
  • CScriptID: reference (hash160) of a script
  • CTxDestination: a boost::variant of the former two

CBitcoinAddress is retrofitted to be a Base58 encoding of a
CTxDestination. This allows all internal code to only use the
internal types, and only have RPC and GUI depend on the base58 code.

Furthermore, the header dependencies are a lot saner now. base58.h is
at the top (right below rpc and gui) instead of at the bottom. For the
rest: wallet -> script -> keystore -> key. Only keystore still requires
a forward declaration of CScript. Solving that would require splitting
script into two layers.

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on May 14 2012, 21:44
schancelPushed on Jan 5 2018, 21:58
schancelPushed on Jan 5 2018, 21:39
schancelPushed on Jan 5 2018, 21:17
Parents
rSTAGINGfd61d6f5068c: Encapsulate public keys in CPubKey
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rSTAGING1025440184ef: Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress (authored by Pieter Wuille <pieter.wuille@gmail.com>).May 24 2012, 18:26