pricer method

Future<BoardPricerWithSources> pricer({
  1. required String underlying,
  2. required Object expiryMs,
})

A client-side board pricer for one market: ONE simulate reads the chain's resolved pricer (already forward-selected + rolled to now), then prices every strike LOCALLY with no further chain calls — pricer.up(strike), .down(strike), .range(lo, hi), .strikeAt(p). Use this to paint a whole board instantly; price / quoteMint stay the authoritative per-strike quote at trade time. Throws the same typed stale-oracle/expired PredictMoveError that price would when the chain itself cannot quote.

Implementation

Future<BoardPricerWithSources> pricer(
    {required String underlying, required Object expiryMs}) async {
  final feeds = _c._feeds(underlying);
  final resolved =
      await _c._resolveMarket(underlying: underlying, expiryMs: expiryMs);
  final snap =
      await readPricerSnapshot(_c._client, _c._config, resolved.id, feeds);
  final board = boardPricer(snap);
  return BoardPricerWithSources(
      forward: board.forward, svi: board.svi, asOf: snap.sources);
}