diff --git a/docs/docs/dev_docs/contracts/syntax/main.md b/docs/docs/dev_docs/contracts/syntax/main.md index ff85d8a5b65f..c89e97a1a2db 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 90b607a846ce..fc940f98cf82 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 6daa1b159420..39f2a265ec92 100644 --- a/docs/docs/dev_docs/getting_started/noir_contracts.md +++ b/docs/docs/dev_docs/getting_started/noir_contracts.md @@ -59,16 +59,19 @@ 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" } -``` +aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="${AztecPackagesVersion()}", directory="yarn-project/aztec-nr/aztec" } +`} + +0.7.10 // x-release-please-version You are now ready to write your own contracts! 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 d162ff8fafb3..da1268e3bd51 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 185e49035cf2..7354306c98f9 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 47f934142430..01bf315f2221 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 3d40619c5cc6..78ee1c4fb222 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, };