Noir is a language which is agnostic to proof systems and use cases. Rather than baking Aztec-specific keywords and smart contract types directly into Noir (which would break this agnosticism), we have developed a framework -- written in Noir -- whose types and methods provide rich smart contract semantics.
Aztec.nr contains abstractions which remove the need to understand the low-level Aztec protocol. Notably, it provides:
- Public and private state variable types
- Some pre-designed notes
- Functions for emitting encrypted and unencrypted logs
- Oracle functions for accessing:
- private state
- Functions for communicating with Ethereum L1
To setup a aztec-nr project, follow the setup instructions
Events in Aztec work similarly to Ethereum events in the sense that they are a way for contracts to communicate with the outside world.
This page covers functions, private and public functions composability, as well as their differences.
📄️ Function Context
Documentation of Aztec's Private and Public execution contexts
📄️ Global Variables
Documentation of Aztec's Global Variables in the Public and Private Contexts