https://travis-ci.org/github/bitcoin/bitcoin/jobs/679885530#L8791
{
public:
    virtual ~Chain() {}
    
    
    
    virtual Optional<int> getHeight() = 0;
    
    virtual uint256 getBlockHash(int height) = 0;
    
    
    virtual bool haveBlockOnDisk(int height) = 0;
    
    virtual CBlockLocator getTipLocator() = 0;
    
    
    
    virtual Optional<int> findLocatorFork(const CBlockLocator& locator) = 0;
    
    virtual bool checkFinalTx(const CTransaction& tx) = 0;
    
    
    virtual bool findBlock(const uint256& hash, const FoundBlock& block={}) = 0;