diff --git a/README.md b/README.md index 8926ba96763..dc4c5d8cf62 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ All the packages that make up [Aztec](https://docs.aztec.network). ## Issues Board -All issues being worked on are tracked on the [Aztec Github Project](https://github.com/orgs/AztecProtocol/projects/22). For a higher-level roadmap, check the [milestones overview](https://docs.aztec.network/aztec/milestones) section of our docs. +All issues being worked on are tracked on the [Aztec Github Project](https://github.com/orgs/AztecProtocol/projects/22). For a higher-level roadmap, check the [milestones overview](https://docs.aztec.network/about_aztec/roadmap/main) section of our docs. ## Development Setup diff --git a/docs/docs/dev_docs/contracts/layout.md b/docs/docs/dev_docs/contracts/layout.md index d1fa4a7254a..084a3a9c1fc 100644 --- a/docs/docs/dev_docs/contracts/layout.md +++ b/docs/docs/dev_docs/contracts/layout.md @@ -20,7 +20,7 @@ contract MyContract { } ``` :::info A note for vanilla Noir devs -There is no [`main()`](https://noir-lang.org/docs/getting_started/breakdown/#mainnr) function within a Noir `contract` scope. More than one function can be an entrypoint. +There is no [`main()`](https://noir-lang.org/docs/getting_started/project_breakdown/#mainnr) function within a Noir `contract` scope. More than one function can be an entrypoint. ::: ## Directory structure @@ -34,5 +34,5 @@ Here's a common layout for a basic Aztec.nr Contract project: └── Nargo.toml <-- package and dependency management ``` -- See the vanilla Noir docs for [more info on packages](https://noir-lang.org/docs/modules_packages_crates/crates_and_packages). +- See the vanilla Noir docs for [more info on packages](https://noir-lang.org/docs/noir/modules_packages_crates/crates_and_packages). - You can review the structure of a complete contract in the token contract tutorial [here](../tutorials/writing_token_contract.md). diff --git a/docs/docs/dev_docs/contracts/main.md b/docs/docs/dev_docs/contracts/main.md index d95211b3cd8..152ef5f0a8a 100644 --- a/docs/docs/dev_docs/contracts/main.md +++ b/docs/docs/dev_docs/contracts/main.md @@ -28,7 +28,7 @@ For those coming from vanilla Noir, the version used for aztec.nr is tracked sep ## Install `nargo` (recommended) -`aztec-nargo` comes with the Noir compiler, so installing `nargo` is not required, however it is recommended as it provides a better developer experience for writing contracts. You will need nargo installed to take advantage of the [Noir Language Server](https://noir-lang.org/docs/nargo/language_server), which provides syntax highlighting and formatting for your Aztec contracts. +`aztec-nargo` comes with the Noir compiler, so installing `nargo` is not required, however it is recommended as it provides a better developer experience for writing contracts. You will need nargo installed to take advantage of the [Noir Language Server](https://noir-lang.org/docs/getting_started/tooling/language_server), which provides syntax highlighting and formatting for your Aztec contracts. You can install `nargo` with the following commands: diff --git a/docs/docs/dev_docs/contracts/syntax/functions.md b/docs/docs/dev_docs/contracts/syntax/functions.md index 4a2cfdf753f..aa1edecb35f 100644 --- a/docs/docs/dev_docs/contracts/syntax/functions.md +++ b/docs/docs/dev_docs/contracts/syntax/functions.md @@ -81,7 +81,7 @@ As alluded to earlier, a private function operates on private information, and i ## `unconstrained` functions -Unconstrained functions are an underlying part of Noir - a deeper explanation can be found [here](https://noir-lang.org/docs/language_concepts/unconstrained). But in short, they are functions which are not directly constrained and therefore should be seen as untrusted! That they are untrusted means that, for security, the developer must make sure to constrain them when used! +Unconstrained functions are an underlying part of Noir - a deeper explanation can be found [here](https://noir-lang.org/docs/noir/syntax/unconstrained). But in short, they are functions which are not directly constrained and therefore should be seen as untrusted! That they are untrusted means that, for security, the developer must make sure to constrain them when used! Beyond using them inside your other functions, they are convenient for providing an interface that reads storage, applies logic and returns values to a UI or test. Below is a snippet from exposing the `balance_of_private` function from a token implementation, which allows a user to easily read their balance, similar to the `balanceOf` function in the ERC20 standard. diff --git a/docs/docs/dev_docs/contracts/syntax/main.md b/docs/docs/dev_docs/contracts/syntax/main.md index cf30952f290..7157b46764c 100644 --- a/docs/docs/dev_docs/contracts/syntax/main.md +++ b/docs/docs/dev_docs/contracts/syntax/main.md @@ -5,7 +5,7 @@ import { AztecPackagesVersion } from "@site/src/components/Version"; [Noir](https://noir-lang.org/) 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. -On top of [Noir's stdlib](https://noir-lang.org/docs/standard_library/cryptographic_primitives/), we provide [Aztec.nr](https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec-nr) for writing contracts on Aztec. +On top of [Noir's stdlib](https://noir-lang.org/docs/noir/standard_library/cryptographic_primitives), we provide [Aztec.nr](https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec-nr) for writing contracts on Aztec. Aztec.nr contains abstractions which remove the need to understand the low-level Aztec protocol. Notably, it provides: diff --git a/docs/docs/dev_docs/contracts/workflow.md b/docs/docs/dev_docs/contracts/workflow.md index 60c6ab02461..bfce487749d 100644 --- a/docs/docs/dev_docs/contracts/workflow.md +++ b/docs/docs/dev_docs/contracts/workflow.md @@ -15,7 +15,7 @@ title: Contract Workflow ## Unit Tests -[Test individual noir functions](https://noir-lang.org/docs/nargo/testing). +[Test individual noir functions](https://noir-lang.org/docs/getting_started/tooling/testing). ## Deploy diff --git a/docs/docs/dev_docs/debugging/aztecnr-errors.md b/docs/docs/dev_docs/debugging/aztecnr-errors.md index 91f2c103f07..5d7e14aea2a 100644 --- a/docs/docs/dev_docs/debugging/aztecnr-errors.md +++ b/docs/docs/dev_docs/debugging/aztecnr-errors.md @@ -59,7 +59,7 @@ To execute a transaction, the PXE needs to know the complete address of a contra To address the error, add the contract to the PXE by calling [`pxe.addContracts(...)`](../../apis/pxe/interfaces/PXE#addcontracts). -`Simulation error: No public key registered for address 0x0. Register it by calling pxe.registerRecipient(...) or pxe.registerAccount(...)` +#### `Simulation error: No public key registered for address 0x0. Register it by calling pxe.registerRecipient(...) or pxe.registerAccount(...)` This error occurs when your contract is trying to get a public key via the `get_public_key` oracle call, but the PXE does not have the Complete Address (Complete Address contains the public key). diff --git a/docs/docs/dev_docs/getting_started/aztecnr-getting-started.md b/docs/docs/dev_docs/getting_started/aztecnr-getting-started.md index 954d60ff2b1..846a8c8b848 100644 --- a/docs/docs/dev_docs/getting_started/aztecnr-getting-started.md +++ b/docs/docs/dev_docs/getting_started/aztecnr-getting-started.md @@ -207,7 +207,7 @@ Congratulations, you have now written, compiled, and deployed your first Aztec.n ## Install `nargo` (recommended) -The CLI comes with the Noir compiler, so installing `nargo` is not required, however it is recommended as it provides a better developer experience for writing contracts. You will need nargo installed to take advantage of the [Noir Language Server](https://noir-lang.org/docs/nargo/language_server), which provides syntax highlighting and formatting for your Aztec contracts. +The CLI comes with the Noir compiler, so installing `nargo` is not required, however it is recommended as it provides a better developer experience for writing contracts. You will need nargo installed to take advantage of the [Noir Language Server](https://noir-lang.org/docs/getting_started/tooling/language_server), which provides syntax highlighting and formatting for your Aztec contracts. You will also need `nargo` if you want to run unit tests in Noir. diff --git a/docs/docs/dev_docs/wallets/writing_an_account_contract.md b/docs/docs/dev_docs/wallets/writing_an_account_contract.md index adce1fbe0fd..058a02fb349 100644 --- a/docs/docs/dev_docs/wallets/writing_an_account_contract.md +++ b/docs/docs/dev_docs/wallets/writing_an_account_contract.md @@ -76,7 +76,7 @@ As you can see in the snippet above, to fill in this base class, we need to defi In our case, the auth witness will be generated by Schnorr-signing over the message identifier using the hardcoded key. To do this, we are using the `Schnorr` signer from the `@aztec/circuits.js` package to sign over the payload hash. This signer maps to exactly the same signing scheme that Noir's standard library expects in `schnorr::verify_signature`. :::info -More signing schemes are available in case you want to experiment with other types of keys. Check out Noir's [documentation on cryptographic primitives](https://noir-lang.org/docs/standard_library/cryptographic_primitives). +More signing schemes are available in case you want to experiment with other types of keys. Check out Noir's [documentation on cryptographic primitives](https://noir-lang.org/docs/noir/standard_library/cryptographic_primitives). ::: ## Trying it out diff --git a/noir/README.md b/noir/README.md index 038ce5691cd..771c3f1c74d 100644 --- a/noir/README.md +++ b/noir/README.md @@ -58,7 +58,7 @@ This crate's minimum supported rustc version is 1.71.1. ## Working on this project -This project uses [Nix](https://nixos.org/) and [direnv](https://direnv.net/) to streamline the development experience. Please follow [our guidelines](https://noir-lang.org/docs/dev/getting_started/installation/other_install_methods#option-3-compile-from-source) to setup your environment for working on the project. +This project uses [Nix](https://nixos.org/) and [direnv](https://direnv.net/) to streamline the development experience. Please follow [our guidelines](https://noir-lang.org/docs/getting_started/installation/other_install_methods#option-3-compile-from-source) to setup your environment for working on the project. ### Building against a different local/remote version of Barretenberg diff --git a/noir/tooling/nargo_cli/tests/hello_world.rs b/noir/tooling/nargo_cli/tests/hello_world.rs index bc7022d1567..9fcb0c873e1 100644 --- a/noir/tooling/nargo_cli/tests/hello_world.rs +++ b/noir/tooling/nargo_cli/tests/hello_world.rs @@ -1,5 +1,5 @@ //! This integration test aims to mirror the steps taken by a new user using Nargo for the first time. -//! It then follows the steps published at https://noir-lang.org/getting_started/hello_world.html +//! It then follows the steps published at https://noir-lang.org/docs/getting_started/create_a_project //! Any modifications to the commands run here MUST be documented in the noir-lang book. use assert_cmd::prelude::*; diff --git a/yarn-project/aztec-nr/README.md b/yarn-project/aztec-nr/README.md index d42d9a882fd..31b4527801c 100644 --- a/yarn-project/aztec-nr/README.md +++ b/yarn-project/aztec-nr/README.md @@ -53,7 +53,7 @@ value_note = { git = "https://github.com/AztecProtocol/aztec-nr", tag = "master" To use `Aztec.nr` you must have [Noir](https://noir-lang.org/) installed. Noir is a general purpose programming language for creating zero-knowledge-proofs. `Aztec.nr` supercharges the Noir language with Aztec Smart Contract capabilities. ### Quick Installation -The fastest way to install is with [noirup](https://noir-lang.org/docs/getting_started/nargo_installation#option-1-noirup). +The fastest way to install is with [noirup](https://noir-lang.org/docs/getting_started/installation/#installing-noirup). To use `Aztec-nr` the `aztec` version of `Noir` is required (Note; this version is temporarily required if you would like to use `#[aztec()]` macros). @@ -67,5 +67,5 @@ Replace `NARGO_VERSION_COMPATIBLE_WITH_YOUR_SANDBOX` with the version from the o aztec-cli get-node-info ``` -For more installation options, please view [Noir's getting started.](https://noir-lang.org/docs/getting_started/nargo_installation) +For more installation options, please view [Noir's getting started.](https://noir-lang.org/docs/getting_started/installation/other_install_methods) diff --git a/yarn-project/key-store/src/test_key_store.ts b/yarn-project/key-store/src/test_key_store.ts index f050a712904..1a5a96c2d1b 100644 --- a/yarn-project/key-store/src/test_key_store.ts +++ b/yarn-project/key-store/src/test_key_store.ts @@ -50,7 +50,7 @@ export class TestKeyStore implements KeyStore { const privKey = this.#keys.get(pubKey.toString()); if (!privKey) { throw new Error( - 'Unknown account.\nSee docs for context: https://docs.aztec.network/dev_docs/contracts/common_errors#unknown-contract-error', + 'Unknown account.\nSee docs for context: https://docs.aztec.network/dev_docs/debugging/aztecnr-errors#could-not-process-note-because-of-error-unknown-account-skipping-note', ); } return ConstantKeyPair.fromPrivateKey(this.curve, GrumpkinScalar.fromBuffer(privKey)); diff --git a/yarn-project/pxe/src/pxe_service/pxe_service.ts b/yarn-project/pxe/src/pxe_service/pxe_service.ts index 5ae775e29b9..3350aea7d65 100644 --- a/yarn-project/pxe/src/pxe_service/pxe_service.ts +++ b/yarn-project/pxe/src/pxe_service/pxe_service.ts @@ -463,7 +463,7 @@ export class PXEService implements PXE { const contract = await this.db.getContract(to); if (!contract) { throw new Error( - `Unknown contract ${to}: add it to PXE Service by calling server.addContracts(...).\nSee docs for context: https://docs.aztec.network/dev_docs/contracts/common_errors#unknown-contract-error`, + `Unknown contract ${to}: add it to PXE Service by calling server.addContracts(...).\nSee docs for context: https://docs.aztec.network/dev_docs/debugging/aztecnr-errors#unknown-contract-0x0-add-it-to-pxe-by-calling-serveraddcontracts`, ); } diff --git a/yarn-project/pxe/src/simulator_oracle/index.ts b/yarn-project/pxe/src/simulator_oracle/index.ts index d33010931b1..1caa8fb8845 100644 --- a/yarn-project/pxe/src/simulator_oracle/index.ts +++ b/yarn-project/pxe/src/simulator_oracle/index.ts @@ -43,7 +43,7 @@ export class SimulatorOracle implements DBOracle { const completeAddress = await this.db.getCompleteAddress(address); if (!completeAddress) { throw new Error( - `No public key registered for address ${address.toString()}. Register it by calling pxe.registerRecipient(...) or pxe.registerAccount(...).\nSee docs for context: https://docs.aztec.network/dev_docs/contracts/common_errors#no-public-key-registered-error`, + `No public key registered for address ${address.toString()}. Register it by calling pxe.registerRecipient(...) or pxe.registerAccount(...).\nSee docs for context: https://docs.aztec.network/dev_docs/debugging/aztecnr-errors#simulation-error-No-public-key-registered-for-address-0x0-Register-it-by-calling-pxeregisterRecipient-or-pxeregisterAccount`, ); } return completeAddress;