L1 Contracts
This page provides a high-level overview of Aztec's governance contracts. The contract interfaces and implementations are still evolving. For the authoritative source, see the l1-contracts repository.
Contract Overview
The Aztec governance system consists of several L1 smart contracts:
| Contract | Purpose |
|---|---|
| Registry | Tracks all rollup instances; determines which is canonical |
| Governance | Handles proposal voting and execution |
| GovernanceProposer | Manages sequencer signaling and proposal submission |
| GSE | Governance Staking Escrow - manages validator stakes and voting power |
| Rollup | The rollup contract itself; validators stake here |
Registry
The Registry maintains an append-only list of rollup instances. Only the Governance contract (as owner) can add new rollups.
Key properties:
- Backwards compatible: All historical rollups remain accessible
- Canonical selection: Only the latest rollup receives block rewards
- Immutable entries: Once added, rollup addresses cannot be removed
Governance
The Governance contract is the decision-making body that executes approved proposals.
Key functions:
deposit()/initiateWithdraw()- Manage voting powervote()- Cast votes on proposalsexecute()- Execute approved proposals
See Proposal Lifecycle for how proposals move through the system.
GovernanceProposer
The GovernanceProposer handles the signaling phase where sequencers vote to promote payloads to proposals.
Key functions:
signal()- Sequencers signal support for a payload during their slotsubmitRoundWinner()- Submit a payload that reached quorum as a proposal
GSE (Governance Staking Escrow)
The GSE holds validator stakes and manages voting power delegation.
Key features:
- Stake mobility: Stakes can automatically follow rollup upgrades
- Voting delegation: Validators can delegate voting power
- Escape hatch:
proposeWithLock()for emergency proposals
See GSE and Stake Mobility for details.
Related Topics
- Governance Overview - How the governance system works
- Proposal Lifecycle - Stages from signaling to execution
- Network Upgrades - How upgrades use these contracts