/** * @pwngh/economy-lab * * Copyright (c) Preston Neal * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ import type { WorkerCtx } from '../contract.js'; import type { Store } from '../ports.js'; /** * One rolling re-proof tick. `checked` links re-derived this tick; `cursor` is where the walk * stands (null between rotations); `rotatedAt` is when the last complete pass finished — the * verified-through watermark: every link recorded before it has been re-hashed since, younger * links are vouched by seals and balance checks only. `skipped` when the store carries no * reproof state surface. */ export type ReproofSummary = { checked: number; cursor: number | null; rotatedAt: number | null; skipped: boolean; }; /** * Re-derives a budget-bounded page of stored chain links from their own content and advances a * persistent cursor, wrapping around forever — the job that bounds how long an in-place edit of * old rows can sit unnoticed. The seals prove dirty tails and topology; verified reads protect * every money-deriving handler immediately; this sweep closes the rest (cold accounts, metadata, * anything no handler happens to touch) on an explicit cadence instead of never. A broken link * throws non-retryable CHAIN_BROKEN and leaves the cursor where it stands, so every later tick * re-reports the same break until an operator intervenes. */ export declare function reproveStoredChains(store: Store, ctx: WorkerCtx, input: { now: number; limit: number; }): Promise;