diff --git a/docs/docs/dev_docs/contracts/syntax/main.md b/docs/docs/dev_docs/contracts/syntax/main.md index ff85d8a5b65..c89e97a1a2d 100644 --- a/docs/docs/dev_docs/contracts/syntax/main.md +++ b/docs/docs/dev_docs/contracts/syntax/main.md @@ -18,21 +18,22 @@ Aztec.nr contains abstractions which remove the need to understand the low-level To import Aztec.nr into your Aztec contract project, simply include it as a dependency. For example: -```toml -[package] +import { AztecPackagesVersion } from "@site/src/components/Version"; + +{`[package] name = "token_contract" authors = [""] compiler_version = "0.1" type = "contract" - + [dependencies] # Framework import -aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/aztec" } - +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" } + # Utility dependencies -value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/value-note"} -safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/safe-math"} -``` +value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"} +safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"} +`} :::info Note: currently the dependency name ***MUST*** be `aztec`. The framework expects this namespace to be available when compiling into contracts. This limitation may be removed in the future. diff --git a/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md b/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md index 90b607a846c..fc940f98cf8 100644 --- a/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md +++ b/docs/docs/dev_docs/dapps/tutorials/contract_deployment.md @@ -17,12 +17,13 @@ nargo new --contract token Then, open the `contracts/token/Nargo.toml` configuration file, and add the `aztec.nr` and `value_note` libraries as dependencies: -```toml -[dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="aztec" } -value_note = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="value-note" } -safe_math = { git="https://github.com/AztecProtocol/aztec-nr", tag="master", directory="safe-math" } -``` +import { AztecPackagesVersion } from "@site/src/components/Version"; + +{`[dependencies] +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" } +value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"} +safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"} +`} Last, copy-paste the code from the `Token` contract into `contracts/token/main.nr`: diff --git a/docs/docs/dev_docs/getting_started/noir_contracts.md b/docs/docs/dev_docs/getting_started/noir_contracts.md index 90d11598e92..65adc75609f 100644 --- a/docs/docs/dev_docs/getting_started/noir_contracts.md +++ b/docs/docs/dev_docs/getting_started/noir_contracts.md @@ -59,16 +59,17 @@ Before writing the contracts, we must add the aztec.nr library. This adds smart 3. Add aztec.nr library as a dependency to your noir project. Open Nargo.toml that is in the `contracts/example_contract` folder, and add the dependency section as follows: -``` -[package] +import { AztecPackagesVersion } from "@site/src/components/Version"; + +{`[package] name = "example_contract" authors = [""] compiler_version = "0.1" type = "contract" - + [dependencies] aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/aztec" } -``` +`} :::note You may need to update your dependencies depending on the contract that you are writing. For example, the token contract [imports more](../getting_started/token_contract_tutorial#project-setup). diff --git a/docs/docs/dev_docs/getting_started/token_contract_tutorial.md b/docs/docs/dev_docs/getting_started/token_contract_tutorial.md index 3b34a3f34d8..d53e63c161d 100644 --- a/docs/docs/dev_docs/getting_started/token_contract_tutorial.md +++ b/docs/docs/dev_docs/getting_started/token_contract_tutorial.md @@ -80,18 +80,19 @@ Your project should look like this: Add the following dependencies to your Nargo.toml file, below the package information: -```toml -[package] +import { AztecPackagesVersion } from "@site/src/components/Version"; + +{`[package] name = "token_contract" authors = [""] compiler_version = "0.1" type = "contract" - + [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/aztec" } -value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/value-note"} -safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="master", directory="yarn-project/aztec-nr/safe-math"} -``` +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" } +value_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/value-note"} +safe_math = { git="https://github.com/AztecProtocol/aztec-packages/", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/safe-math"} +`} ## Contract Interface diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 185e49035cf..7354306c98f 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -88,7 +88,17 @@ const config = { const noirVersion = JSON.parse( fs.readFileSync(noirVersionPath).toString() ).tag; - return { noir: noirVersion }; + const aztecVersionPath = path.resolve( + __dirname, + "../.release-please-manifest.json" + ); + const aztecVersion = JSON.parse( + fs.readFileSync(aztecVersionPath).toString() + )["."]; + return { + noir: noirVersion, + "aztec-packages": `aztec-packages-v${aztecVersion}`, + }; } catch (err) { throw new Error( `Error loading Noir version from noir-compiler in docusaurus build. Check load-versions in docusaurus.config.js.\n${err}` @@ -236,6 +246,17 @@ const config = { className: "code-block-error-line", line: "this-will-error", }, + // This could be used to have release-please modify the current version in code blocks. + // However doing so requires to manually add each md file to release-please-config.json/extra-files + // which is easy to forget an error prone, so instead we rely on the AztecPackagesVersion() function. + { + line: "x-release-please-version", + block: { + start: "x-release-please-start-version", + end: "x-release-please-end", + }, + className: "not-allowed-to-be-empty", + }, ], }, }), diff --git a/docs/src/components/Version/index.js b/docs/src/components/Version/index.js index 47f93414243..01bf315f222 100644 --- a/docs/src/components/Version/index.js +++ b/docs/src/components/Version/index.js @@ -8,3 +8,4 @@ export default function Version({ what }) { } export const NoirVersion = () => Versions()["noir"]; +export const AztecPackagesVersion = () => Versions()["aztec-packages"]; \ No newline at end of file diff --git a/docs/src/theme/MDXComponents.js b/docs/src/theme/MDXComponents.js index 3d40619c5cc..78ee1c4fb22 100644 --- a/docs/src/theme/MDXComponents.js +++ b/docs/src/theme/MDXComponents.js @@ -9,6 +9,7 @@ export default { ...MDXComponents, Version, NoirVersion, + AztecPackagesVersion, InstallNargoInstructions, CodeBlock, };