@somnia-chain/markets-sdk / index / CADENCE_LADDER_SEC
Variable: CADENCE_LADDER_SEC
constCADENCE_LADDER_SEC: readonly [60,300,900,3600,14400,86400]
Defined in: packages/sdk/src/interval.ts:105
The cadences a rolling binary series is currently rolled at, ascending: 1m, 5m, 15m, 1h, 4h, 24h.
A snapshot, and NARROWING. The exact cadence is not a mystery — a series
knows it, and MarketCreator.MarketCreated emits it as intervalSec for
exactly this purpose ("not derivable from a single market's (tradingStart,
expiry) — a series' FIRST market is a bootstrap partial — so it is surfaced
here for indexers/UIs").
The indexer now DOES read that event and patches the true cadence onto the
Market entity, so for anything a MarketCreator rolled the cadence is exact
and joins by equality — this list, CADENCE_TOLERANCE_SEC,
snapToCadence and the banded filter are all inert on that path.
They still carry every market the patch does not reach: markets created
directly through the module rather than by a creator, and history indexed
before the patch shipped, both of which fall back to the lossy
intervalSec = expiry − tradingStart derivation the contract warns about.
That fallback is why the indexer's distinct values run to a hundred-odd
one-off windows rather than a handful of cadences.
So: still needed, but no longer the primary path. A venue rolling an off-ladder cadence outside a creator still fragments, so treat the list as a deployment's current habits, not a rule.