Skip to content

aminsammara/aztec-deploy

Repository files navigation

Aztec Rollup Deploy Configuration UI

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.

Quick Start

cd ~/rollup-deploy-ui
npm install
npm run dev

Open http://localhost:5173 in your browser.

Usage

  1. Select a network (testnet/mainnet) — all parameters populate with network defaults.
  2. Enter credentials — RPC URL, deployer private key, and optionally an Etherscan API key for verification.
  3. Adjust parameters — expand each section and modify values as needed. Changed values are highlighted in yellow.
  4. Copy or download the script — the generated bash script appears at the bottom, updating live as you edit.
  5. Run the script from inside the aztec-packages repo:
chmod +x deploy-rollup.sh
./deploy-rollup.sh

What the Generated Script Does

  1. Patches Solidity source files via sed — only for parameters that differ from compiled defaults (fee constants in FeeLib.sol, reward config in RollupConfiguration.sol).
  2. Rebuilds contracts with forge build (only if source patches were needed).
  3. Exports environment variables read by the Forge deploy script.
  4. Computes genesis values (VK tree root, protocol contracts hash, genesis archive root) via the Aztec CLI.
  5. Runs the deployment via l1-contracts/scripts/run_rollup_upgrade.sh.

Parameter Categories

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.

Constraints

  • 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.

Project Structure

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

Development

npm run dev      # Start dev server with hot reload
npm run build    # Production build
npm run preview  # Preview production build

Built with Vite, React, TypeScript, and Tailwind CSS.

About

Frontend tool for configuring and generating Aztec rollup upgrade deployment scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages