catchUpSource method

CatchUpSource catchUpSource({
  1. int minedTip = 2,
  2. TestPlacement? placement,
})

The chain as a pool answers catch-up from it, with rounds up to minedTip (0 to 2) mined, so a wallet's fake pool answers exactly as a coordinator does (responder).

The fixture has no blocks, so where a witness sits is placement's to say. Without one, each witness is alone in a block: index 0, an empty branch, and a merkle root equal to its txid, which stands in for the block hash; a test that checks the branch against headers of its own passes a placement naming them.

Implementation

CatchUpSource catchUpSource({int minedTip = 2, TestPlacement? placement}) {
  if (minedTip < 0 || minedTip > 2) throw RangeError.range(minedTip, 0, 2, 'minedTip');
  return _TestChainSource(this, minedTip, placement ?? _alone);
}