Proposer Lifecycle
The proposer service monitors the state of the L2 chain, requests proofs and submits them to the L1. Proofs are submitted to the Succinct Prover Network. Here's how the proposer service decides when to request range and aggregation proofs.
Range Proof Lifecycle
Aggregation Proof Lifecycle
Proposer Operations
The proposer performs the following operations each loop:
- Validates that the requester config matches the contract configuration
- Logs proposer metrics like number of requests in each state
- Handles ongoing tasks by checking completed/failed tasks and cleaning them up
- Sets orphaned tasks (in WitnessGeneration/Execution but not in tasks map) to Failed status
- Gets proof statuses for all requests in proving state from the Prover Network
- Adds new range requests to cover gaps between latest proposed and finalized blocks. If a request failed, this is where the request is re-tried.
- Creates aggregation proofs from completed contiguous range proofs.
- Requests proofs for any unrequested proofs from the prover network/generates mock proofs.
- Submits any completed aggregation proofs to the L2 output oracle contract.