Skip to content

AztecProtocol/aztec-packages

Folders and files

NameName
Last commit message
Last commit date
Jan 19, 2025
Feb 27, 2025
Feb 26, 2025
Feb 26, 2025
Feb 20, 2025
Feb 18, 2025
Feb 27, 2025
Feb 26, 2025
Feb 27, 2025
Feb 26, 2025
Feb 27, 2025
Feb 27, 2025
Feb 26, 2025
Feb 27, 2025
Aug 6, 2024
Feb 27, 2025
Feb 26, 2025
Feb 27, 2025
Feb 25, 2025
Feb 26, 2025
Feb 27, 2025
Feb 27, 2025
Feb 24, 2023
Sep 20, 2024
Feb 14, 2025
Jun 20, 2024
Feb 26, 2025
Dec 5, 2023
Feb 14, 2025
Feb 27, 2025
Feb 13, 2025
Feb 25, 2025
Feb 14, 2025
Jan 23, 2025
Feb 2, 2024
Nov 29, 2024
Nov 23, 2023
Feb 20, 2025
Feb 26, 2025
Dec 19, 2024
Feb 25, 2025
Feb 27, 2025
Feb 26, 2025
Feb 26, 2025
Feb 20, 2025
Feb 14, 2025

Repository files navigation

Aztec Monorepo

All the packages that make up Aztec.

  • barretenberg: The ZK prover backend that provides succinct verifiability for Aztec. Also houses the Aztec VM.
  • l1-contracts: Solidity code for the Ethereum contracts that process rollups
  • noir-projects: Noir code for Aztec contracts and protocol circuits.
  • yarn-project: Typescript code for client and backend
  • docs: Documentation source for the docs site

Popular packages

  • Aztec.nr: A Noir framework for smart contracts on Aztec.
  • Aztec: A package for starting up local dev net modules, including a local 'sandbox' devnet, an Ethereum network, deployed rollup contracts and Aztec execution environment.
  • Aztec.js: A tool for interacting with the Aztec network. It communicates via the Private Execution Environment (PXE).
  • Example contracts: Example contracts for the Aztec network, written in Noir.
  • End to end tests: Integration tests written in Typescript--a good reference for how to use the packages for specific tasks.
  • Aztec Boxes: Example starter projects.

Issues Board

All issues being worked on are tracked on the Aztec Github Project. For a higher-level roadmap, check the milestones overview section of our website.

Debugging

Logging goes through the Logger module in Typescript. LOG_LEVEL controls the default log level, and one can set alternate levels for specific modules, such as debug; warn: module1, module2; error: module3.

Releases

Releases are driven by release-please, which maintains a 'Release PR' containing an updated CHANGELOG.md since the last release. Triggering a new release is simply a case of merging this PR to master. A github workflow will create the tagged release triggering ./bootstrap.sh release to build and deploy the version at that tag.

Contribute

There are many ways you can participate and help build high quality software. Check out the contribution guide!

Syncing noir

We use marker commits and git-subrepo (for a subset of its intended use) to manage a mirror of noir. This tool was chosen because it makes code checkout and development as simple as possible (compared to submodules or subtrees), with the tradeoff of complexity around sync's.

Development and CI

For a broad overview of the CI system take a look at CI.md.

For some deeper information on individual scripts etc (for developing CI itself), take a look at ci3/README.md.