A frontend tool for configuring and generating deployment scripts for Aztec rollup upgrades. Instead of manually editing env vars, Solidity constants, and deploy scripts across multiple files, this UI collects all ~40 parameters in a single form and outputs a self-contained bash script.
cd ~/rollup-deploy-ui
npm install
npm run devOpen http://localhost:5173 in your browser.
- Select a network (testnet/mainnet) — all parameters populate with network defaults.
- Enter credentials — RPC URL, deployer private key, and optionally an Etherscan API key for verification.
- Adjust parameters — expand each section and modify values as needed. Changed values are highlighted in yellow.
- Copy or download the script — the generated bash script appears at the bottom, updating live as you edit.
- Run the script from inside the
aztec-packagesrepo:
chmod +x deploy-rollup.sh
./deploy-rollup.sh- Patches Solidity source files via
sed— only for parameters that differ from compiled defaults (fee constants inFeeLib.sol, reward config inRollupConfiguration.sol). - Rebuilds contracts with
forge build(only if source patches were needed). - Exports environment variables read by the Forge deploy script.
- Computes genesis values (VK tree root, protocol contracts hash, genesis archive root) via the Aztec CLI.
- Runs the deployment via
l1-contracts/scripts/run_rollup_upgrade.sh.
| Category | Source | Description |
|---|---|---|
| Credentials | env | RPC URL, private key, Etherscan key |
| Timing | env | Slot duration, epoch duration, proof submission window, inbox lag |
| Validators | env | Committee size, validator set lag, RANDAO lag, local ejection threshold, exit delay |
| Slashing | env | Slasher flavor, quorum, round size, lifetime, execution delay, vetoer, slash amounts |
| Fee Economics | env | Mana target, proving cost per mana, initial ETH/fee-asset exchange rate |
| Fee Constants | source edit | Hardcoded constants in FeeLib.sol (blobs per checkpoint, L1 gas costs, price bounds) |
| Rewards | source edit | Hardcoded values in RollupConfiguration.sol (sequencer BPS, checkpoint reward, boost params) |
| Staking Queue | env | Bootstrap sizes, flush size bounds |
| Genesis & Deploy | env | Sponsored FPC, test accounts, real verifier, initial validators |
Parameters tagged env are exported as environment variables. Parameters tagged source edit trigger sed patches to Solidity files and a forge build recompile.
- Slashing quorum must be greater than
roundSizeInEpochs * epochDuration / 2. For example, with 4-epoch rounds and 32-slot epochs, quorum must be > 64. - Activation/ejection thresholds are set on the GSE during initial L1 deployment and are not part of rollup upgrades.
- Governance proposer config is similarly only used during initial deployment.
src/
config/
parameters.ts — Parameter definitions (id, label, type, env var or sed pattern)
defaults.ts — Network-specific default values
components/
NetworkSelector.tsx — Network dropdown + registry address input
CredentialsSection.tsx — Credential inputs
ParameterSection.tsx — Collapsible section for a category of parameters
ParameterInput.tsx — Single parameter input with type-aware rendering
ScriptOutput.tsx — Generated script display with copy/download
lib/
generateScript.ts — Bash script generation from parameter values
App.tsx — Main app with state management
npm run dev # Start dev server with hot reload
npm run build # Production build
npm run preview # Preview production buildBuilt with Vite, React, TypeScript, and Tailwind CSS.