You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wire the proof-receipt store into the transaction, batch, and aggregate
provers so a replay (including a flip reorg back onto the same fork) reuses
a cached receipt instead of re-proving.
- Processor gains tx/batch/aggregator image-id accessors and an
AggregatorArtifact type; artifacts are bounded Clone + Borsh so the
scheduler can cache and restore them.
- ScheduledTransaction and ScheduledBatch read/write their per-tx and
per-batch receipts through the storage workers; ScheduledBundle owns the
aggregate (settlement) receipt, keyed off its start coordinate with a
batch as the storage gateway.
- Receipts are keyed by (checkpoint, block_hash, image_id, ...) so
competing forks stay distinct; the pruning worker drops a checkpoint's
receipts across all forks and programs in one prefix scan.
- The proving workers prove on a cache miss, wait for the receipt to be
durable, then publish the artifact; the transaction worker proves inline
so only one proof occupies the GPU at a time.
ChainBlockMetadata supplies the block hash; a test-utils-gated
BatchMetadata for u64 stands in for tests. Round-trips the tx/batch/agg
receipt paths through the storage workers in a new scheduler test.
0 commit comments