HomePhabricator

move-only: make the CChainState interface public

Description

move-only: make the CChainState interface public

Summary:
along with DisconnectResult, and CBlockIndexWorkComparator.

The CChainState interface needs to be known to the rest of the system because
many global functions will move to CChainState methods. This is to allow
other parts of the system to be parameterized per chainstate instance
instead of assuming a single global.

This is a partial backport of Core PR15976 : https://github.com/bitcoin/bitcoin/pull/15976/commits/d7c97edeea8cee10ad9da1f940d39d5073ac142d

Test Plan:

ninja all check-all

Reviewers: #bitcoin_abc, jasonbcox

Reviewed By: #bitcoin_abc, jasonbcox

Subscribers: jasonbcox

Differential Revision: https://reviews.bitcoinabc.org/D5996

Details

Provenance
James O'Beirne <james.obeirne@gmail.com>Authored on Mar 27 2019, 14:20
deadalnixCommitted on May 7 2020, 19:24
abc-botPushed on May 7 2020, 19:25
Reviewer
Restricted Project
Differential Revision
D5996: move-only: make the CChainState interface public
Parents
rSTAGING4812274977f5: UniValue performance speedups for .write()
Branches
Unknown
Tags
Unknown