From 215a23f4b5802fc8489df3f3135ab5013459f710 Mon Sep 17 00:00:00 2001 From: signorecello Date: Thu, 30 May 2024 18:13:22 +0000 Subject: [PATCH 01/10] chore(docs): moving tutorials and quick starts around, spinning off codespaces page --- .devcontainer/scripts/onCreateCommand.sh | 4 +- .devcontainer/scripts/postAttachCommand.sh | 2 +- docs/docs/aztec/_category_.json | 2 +- docs/docs/getting_started.md | 31 +- .../aztecjs-getting-started.md | 360 ------------------ docs/docs/getting_started/codespaces.md | 24 ++ docs/docs/getting_started/manual_install.md | 69 ++++ .../how_to_compile_contract.md | 2 +- .../writing_contracts/initializers.md | 2 - .../docs/reference/sandbox_reference/index.md | 20 - .../sandbox_reference/sandbox-reference.md | 61 --- .../contract_tutorials/counter_contract.md} | 36 +- .../crowdfunding_contract.md | 2 +- .../private_voting_contract.md | 5 +- .../contract_tutorials/token_contract.md | 2 +- docs/docs/vision.mdx | 2 +- 16 files changed, 118 insertions(+), 506 deletions(-) delete mode 100644 docs/docs/getting_started/aztecjs-getting-started.md create mode 100644 docs/docs/getting_started/codespaces.md create mode 100644 docs/docs/getting_started/manual_install.md rename docs/docs/{getting_started/aztecnr-getting-started.md => tutorials/contract_tutorials/counter_contract.md} (78%) diff --git a/.devcontainer/scripts/onCreateCommand.sh b/.devcontainer/scripts/onCreateCommand.sh index 0f2f25affee..c0970999305 100755 --- a/.devcontainer/scripts/onCreateCommand.sh +++ b/.devcontainer/scripts/onCreateCommand.sh @@ -11,11 +11,11 @@ if ! grep -q "PXE_URL" ~/.bashrc; then fi if ! grep -q "alias sandbox" ~/.bashrc; then - echo "alias sandbox=\"npx create-aztec-app sandbox\"" >> ~/.bashrc + echo "alias sandbox=\"npx aztec-app sandbox\"" >> ~/.bashrc fi source ~/.bashrc -yes | npx create-aztec-app -t $TYPE -n $NAME -s +yes | npx aztec-app -t $TYPE -n $NAME -s mv $NAME/* $NAME/.* . rm -rf $NAME diff --git a/.devcontainer/scripts/postAttachCommand.sh b/.devcontainer/scripts/postAttachCommand.sh index 2ff4a39973b..9eeff69f350 100755 --- a/.devcontainer/scripts/postAttachCommand.sh +++ b/.devcontainer/scripts/postAttachCommand.sh @@ -5,7 +5,7 @@ NAME=$2 apt install gh gh codespace ports visibility 8080:public -c $CODESPACE_NAME -npx create-aztec-app sandbox start +npx aztec-app sandbox start r=$(tput sgr0) # Reset color bold=$(tput bold) # Bold text diff --git a/docs/docs/aztec/_category_.json b/docs/docs/aztec/_category_.json index 336394a563a..22b47d59039 100644 --- a/docs/docs/aztec/_category_.json +++ b/docs/docs/aztec/_category_.json @@ -1,6 +1,6 @@ { "label": "Aztec", - "position": 0, + "position": 1, "collapsible": true, "collapsed": true } diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index 163fa2588a5..2c3cff0e339 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -2,43 +2,30 @@ title: Quickstart --- -The easiest way to start developing on Aztec is simply to click on one of these buttons: +The easiest way to start developing on Aztec locally is through `npx aztec-app`. This is a convenient way of installing the development environment (A.K.A. Sandbox) and starting new projects from a boilerplate. -[![One-Click React Starter](/img/codespaces_badges/react_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Freact%2Fdevcontainer.json) [![One-Click HTML/TS Starter](/img/codespaces_badges/vanilla_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Fvanilla%2Fdevcontainer.json) [![One-Click Token Starter](/img/codespaces_badges/token_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Ftoken%2Fdevcontainer.json) +If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). -That's it! - -This creates a codespace with a prebuilt image containing one of the "Aztec Boxes" and a development network (sandbox). -- You can develop directly on the codespace, push it to a repo, make yourself at home. -- You can also just use the sandbox that comes with it. The URL will be logged, you just need to use it as your `PXE_URL`. - -## Develop Locally - -The above method uses Aztec boxes to install the sandbox and clone the repo. You can use it too to get started on your own machine and use your own IDE. - -You can also [install the sandbox manually](/reference/sandbox_reference). - -### Prerequisites +## Prerequisites - Node.js >= v18 (recommend installing with [nvm](https://github.com/nvm-sh/nvm)) - Docker (visit [this page of the Docker docs](https://docs.docker.com/get-docker/) on how to install it) ### Run the `npx` script -With the node installation, you now should have `npm` and be able to run `npx` scripts. You can do that by running: +Thanks to Node, you can run the recommended `npx script`: ```bash -npx create-aztec-app +npx aztec-app ``` -And follow the instructions. If all goes well, you should now have a development environment running locally on your machine. - -You can run `npx create-aztec-app sandbox -h` to start, stop, update and output logs from the sandbox. +This script gives you some options to bootstrap a new project, start/stop the sandbox, or see the logs. Run `npx aztec-app -h` for a list of options. ## What's next? -To deploy a smart contract to your sandbox and interact with it using Aztec.js, go to the [next page](getting_started/aztecjs-getting-started.md). +Now you have a development network running,, so you're ready to start coding your first app with Aztec.nr and Aztec.js! -To skip this and write your first smart contract, go to the [Aztec.nr getting started page](getting_started/aztecnr-getting-started.md). +To follow the series of tutorials, start with the private voting contract [here](./tutorials/contract_tutorials/private_voting_contract.md). +If you want to just keep learning, you can read about the high level architecture on the [Core Components page](./aztec/concepts/state_model/index.md) and [the lifecycle of a transaction](./aztec/concepts/transactions.md). diff --git a/docs/docs/getting_started/aztecjs-getting-started.md b/docs/docs/getting_started/aztecjs-getting-started.md deleted file mode 100644 index 7d435faae95..00000000000 --- a/docs/docs/getting_started/aztecjs-getting-started.md +++ /dev/null @@ -1,360 +0,0 @@ ---- -title: Transferring Tokens with Aztec.js -sidebar_position: 1 ---- - -import Image from "@theme/IdealImage"; - -In this guide, we will retrieving the Sandbox and deploy a pre-written contract to it using Aztec.js. - -This guide assumes you have followed the [quickstart](../getting_started.md). - -## Prerequisites - -- A running [Aztec sandbox](../getting_started.md) - -## Set up the project - -We will deploy a pre-compiled token contract, and send tokens privately, using the Sandbox. - -We will create a `yarn` project called `token` (although `npm` works fine too). - -1. Initialize a yarn project - -```sh -mkdir token -cd token -yarn init -yp -``` - -2. Create a `src` folder inside your new `token` directory: - -```sh -mkdir src -``` - -3. Add necessary yarn packages (and optionally add typescript too) - -```sh -yarn add @aztec/aztec.js @aztec/accounts @aztec/noir-contracts.js typescript @types/node -``` - -4. [Optional] If creating a typescript file, add a `tsconfig.json` file into the project root, here is an example: - -```json -{ - "compilerOptions": { - "outDir": "dest", - "rootDir": "src", - "target": "es2020", - "lib": ["dom", "esnext", "es2017.object"], - "module": "NodeNext", - "moduleResolution": "NodeNext", - "strict": true, - "declaration": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "downlevelIteration": true, - "inlineSourceMap": true, - "declarationMap": true, - "importHelpers": true, - "resolveJsonModule": true, - "composite": true, - "skipLibCheck": true - }, - "references": [], - "include": ["src", "src/*.json"] -} -``` - -5. Update `package.json` - Add a `scripts` section to `package.json` and set `"type": "module"`: - -```json -{ - "name": "token", - "version": "1.0.0", - "description": "My first token contract", - "main": "index.js", - "author": "1000x Dev", - "license": "MIT", - "type": "module", - "scripts": { - "build": "yarn clean && tsc -b", - "build:dev": "tsc -b --watch", - "clean": "rm -rf ./dest tsconfig.tsbuildinfo", - "start": "yarn build && DEBUG='token' node ./dest/index.js" - }, - "dependencies": { - "@aztec/accounts": "latest", - "@aztec/aztec.js": "latest", - "@aztec/noir-contracts.js": "latest", - "@types/node": "^20.6.3", - "typescript": "^5.2.2" - } -} -``` - -6. Create an `index.ts` file in the `src` directory with the following sandbox connection setup: - -```ts -#include_code imports /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts raw - -async function main() { -#include_code setup /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts raw -} - -main(); -``` - -7. Finally, run the package: - -In the project root, run - -```sh -yarn start -``` - -A successful run should show something like this: - -``` - token Aztec Sandbox Info { - token sandboxVersion: '#include_aztec_short_version', - token chainId: 31337, - token protocolVersion: 1, - token l1ContractAddresses: { - token rollupAddress: EthAddress { - token buffer: - token }, - token registryAddress: EthAddress { - token buffer: - token }, - token inboxAddress: EthAddress { - token buffer: - token }, - token outboxAddress: EthAddress { - token buffer: - token }, - token } - token } +0ms -``` - -Great! The Sandbox is running and we are able to interact with it. - -## Load accounts - -The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: - -#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript - -An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). - -If you want more accounts, you can find instructions in the [Account creation section](../guides/local_env/creating_schnorr_accounts.md). - -## Deploy a contract - -Now that we have our accounts loaded, let's move on to deploy our pre-compiled token smart contract. You can find the full code for the contract [here](https://github.com/AztecProtocol/aztec-packages/tree/master/noir-projects/noir-contracts/contracts/token_contract/src). Add this to `index.ts` below the code you added earlier: - -#include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript - -`yarn start` will now give something like this: - -``` - token Aztec Sandbox Info { - token sandboxVersion: '#include_aztec_short_version', - token chainId: 31337, - token protocolVersion: 1, - token l1ContractAddresses: { - token rollupAddress: EthAddress { - token buffer: - token }, - token registryAddress: EthAddress { - token buffer: - token }, - token inboxAddress: EthAddress { - token buffer: - token }, - token outboxAddress: EthAddress { - token buffer: - token }, - token } - token } +0ms - token Loaded alice's account at 0x25048e8c...70d0 +4s - token Loaded bob's account at 0x115f123b...6483 +0ms - token Deploying token contract... +0ms - token Contract successfully deployed at address 0x11a03dce...afc7 +5s - token Minting tokens to Alice... +18ms - token 1000000 tokens were successfully minted and redeemed by Alice +10s -``` - -We can break this down as follows: - -1. We create and send a contract deployment transaction to the network. -2. We wait for it to be successfully mined. -3. We retrieve the transaction receipt containing the transaction status and contract address. -4. We connect to the contract with Alice -5. Alice initialize the contract with herself as the admin and a minter. -6. Alice mints 1,000,000 tokens to be claimed by herself in private. -7. Alice redeems the tokens privately. - -## View the balance of an account - -A token contract wouldn't be very useful if you aren't able to query the balance of an account. As part of the deployment, tokens were minted to Alice. We can now call the contract's `balance_of_private()` function to retrieve the balances of the accounts. - -Call the `balance_of_private` function using the following code (paste this): - -#include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript - -Running now should yield output: - -``` - token Aztec Sandbox Info { - token sandboxVersion: '#include_aztec_short_version', - token chainId: 31337, - token protocolVersion: 1, - token l1ContractAddresses: { - token rollupAddress: EthAddress { - token buffer: - token }, - token registryAddress: EthAddress { - token buffer: - token }, - token inboxAddress: EthAddress { - token buffer: - token }, - token outboxAddress: EthAddress { - token buffer: - token }, - token } - token } +0ms - token Loaded alice's account at 0x25048e8c...70d0 +4s - token Loaded bob's account at 0x115f123b...6483 +0ms - token Deploying token contract... +0ms - token Contract successfully deployed at address 0x1b388d99...4b55 +4s - token Minting tokens to Alice... +10ms - token 1000000 tokens were successfully minted and redeemed by Alice +10s - token Alice's balance 1000000 +80ms - token Bob's balance 0 +31ms -``` - -Above, we created a second instance of the `TokenContract` contract class. -This time pertaining to Bob. -This class offers a TypeScript bindings of our `Token` contract.. -We then call `balance_of_private()` as a `view` method. -View methods can be thought as read-only. -No transaction is submitted as a result but a user's state can be queried. - -We can see that each account has the expected balance of tokens. - -### Calling an unconstrained (view) function - -Unconstrained function call - -## Create and submit a transaction - -Now lets transfer some funds from Alice to Bob by calling the `transfer` function on the contract. This function takes 4 arguments: - -1. The sender. -2. The recipient. -3. The quantity of tokens to be transferred. -4. The nonce for the [authentication witness](../aztec/concepts/index.md#authorizing-actions), or 0 if msg.sender equal sender. - -Here is the Typescript code to call the `transfer` function, add this to your `index.ts` at the bottom of the `main` function: - -#include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript - -Our output should now look like this: - -``` - token Aztec Sandbox Info { - token sandboxVersion: '#include_aztec_short_version', - token chainId: 31337, - token protocolVersion: 1, - token l1ContractAddresses: { - token rollupAddress: EthAddress { - token buffer: - token }, - token registryAddress: EthAddress { - token buffer: - token }, - token inboxAddress: EthAddress { - token buffer: - token }, - token outboxAddress: EthAddress { - token buffer: - token }, - token } - token } +0ms - token Loaded alice's account at 0x25048e8c...70d0 +4s - token Loaded bob's account at 0x115f123b...6483 +0ms - token Deploying token contract... +0ms - token Contract successfully deployed at address 0x01d8af7d...9a4d +5s - token Minting tokens to Alice... +18ms - token 1000000 tokens were successfully minted and redeemed by Alice +11s - token Alice's balance 1000000 +59ms - token Bob's balance 0 +33ms - token Transferring 543 tokens from Alice to Bob... +0ms - token Alice's balance 999457 +6s - token Bob's balance 543 +39ms -``` - -Here, we used the same contract abstraction as was previously used for reading Alice's balance. But this time we called `send()` generating and sending a transaction to the network. After waiting for the transaction to settle we were able to check the new balance values. - -Finally, the contract has 2 `mint` functions that can be used to generate new tokens for an account. -We will focus only on `mint_private`. -This function is public but it mints tokens privately. -This function takes: - -1. A quantity of tokens to be minted. -2. A secret hash. - -This function is public and it inserts a new note into the note hash tree and increases the total token supply by the amount minted. - -To make the note spendable the note has to be redeemed. A user can do that by calling the `redeem_shield` function. - -Let's now use these functions to mint some tokens to Bob's account using Typescript, add this to `index.ts`: - -#include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript - -Our complete output should now be something like: - -``` - token Aztec Sandbox Info { - token sandboxVersion: '#include_aztec_short_version', - token chainId: 31337, - token protocolVersion: 1, - token l1ContractAddresses: { - token rollupAddress: EthAddress { - token buffer: - token }, - token registryAddress: EthAddress { - token buffer: - token }, - token inboxAddress: EthAddress { - token buffer: - token }, - token outboxAddress: EthAddress { - token buffer: - token }, - token } - token } +0ms - token Loaded alice's account at 0x25048e8c...70d0 +4s - token Loaded bob's account at 0x115f123b...6483 +0ms - token Deploying token contract... +0ms - token Contract successfully deployed at address 0x03a0bb2c...02c2 +7s - token Minting tokens to Alice... +19ms - token 1000000 tokens were successfully minted and redeemed by Alice +9s - token Alice's balance 1000000 +43ms - token Bob's balance 0 +31ms - token Transferring 543 tokens from Alice to Bob... +0ms - token Alice's balance 999457 +6s - token Bob's balance 543 +36ms - token Minting 10000 tokens to Bob... +5s - token Alice's balance 999457 +9s - token Bob's balance 10543 +43ms -``` - -That's it! We have successfully deployed a token contract to an instance of the Aztec network and mined private state-transitioning transactions. We have also queried the resulting state all via the interfaces provided by the contract. To see exactly what has happened here, you can learn about the transaction flow [here](../aztec/concepts/transactions.md). - -## Next Steps - -Write your first smart contract on the [next page](./aztecnr-getting-started.md). diff --git a/docs/docs/getting_started/codespaces.md b/docs/docs/getting_started/codespaces.md new file mode 100644 index 00000000000..0915b402df1 --- /dev/null +++ b/docs/docs/getting_started/codespaces.md @@ -0,0 +1,24 @@ +--- +title: Codespaces +sidebar_position: 0 +--- + +All machines are different, and you may not want to run the sandbox locally (for example when using Windows). We thought about you exactly ❤️ + +[Codespaces](https://github.com/features/codespaces) are a quick way to develop: they provision a remote machine with all tooling you need for Aztec in just a few minutes. We're big fans, so we prepared some prebuilt images to make it easier and faster. + +Just choose a boilerplate and click "create new codespace": + +[![One-Click React Starter](/img/codespaces_badges/react_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Freact%2Fdevcontainer.json) [![One-Click HTML/TS Starter](/img/codespaces_badges/vanilla_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Fvanilla%2Fdevcontainer.json) [![One-Click Token Starter](/img/codespaces_badges/token_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Ftoken%2Fdevcontainer.json) + +This creates a codespace with a prebuilt image containing one of the "Aztec Boxes" and a development network (sandbox). +- You can develop directly on the codespace, push it to a repo, make yourself at home. +- You can also just use the sandbox that comes with it. The URL will be logged, you just need to use it as your `PXE_URL`. + +You can then start, stop, or see the logs of your sandbox just by calling `sandbox` or `npx aztec-app sandbox`. Run `sandbox -h` for a list of commands. + +## More about codespaces + +Codespaces are way more powerful than you may initially think. For example, you can connect your local `vscode` to a remote codespace, for a fully contained development environment that doesn't use any of your computer resources! + +Visit the [codespaces documentation](https://docs.github.com/en/codespaces/overview) for more specific documentation around codespaces. diff --git a/docs/docs/getting_started/manual_install.md b/docs/docs/getting_started/manual_install.md new file mode 100644 index 00000000000..3631411cfdd --- /dev/null +++ b/docs/docs/getting_started/manual_install.md @@ -0,0 +1,69 @@ +--- +title: Manual install +sidebar_position: 1 +--- + +You can have some more control over the sandbox by installing it manually through the underlying script used by [`npx aztec-app`](../getting_started.md) and [`codespaces`](./codespaces.md). + +This involves some knowledge on Docker if you want to stop, restart, or detach from logs. But it also gives you better control over things such as environment variables. + +### Prerequisites + +- Node.js >= v18 (recommend installing with [nvm](https://github.com/nvm-sh/nvm)) +- Docker (visit [this page of the Docker docs](https://docs.docker.com/get-docker/) on how to install it) + +### Install the sandbox + +To install the latest Sandbox version, run: + +```bash +bash -i <(curl -s install.aztec.network) +``` + +This will install the following tools: + +- **aztec** - launches various infrastructure subsystems (sequencer, prover, pxe, etc). +- **aztec-nargo** - aztec's build of nargo, the noir compiler toolchain. +- **aztec-sandbox** - a wrapper around docker-compose that launches services needed for sandbox testing. +- **aztec-up** - a tool to upgrade the aztec toolchain to the latest, or specific versions. +- **aztec-builder** - A useful tool for projects to generate ABIs and update their dependencies. + +Once these have been installed, to start the sandbox, run: + +```bash +aztec-sandbox +``` + +### Have fun! + +**Congratulations, you have just installed and run the Aztec Sandbox!** + +```bash + /\ | | + / \ ___| |_ ___ ___ + / /\ \ |_ / __/ _ \/ __| + / ____ \ / /| || __/ (__ + /_/___ \_\/___|\__\___|\___| + +``` + +In the terminal, you will see some logs: + +1. Sandbox version +2. Contract addresses of rollup contracts +3. PXE (private execution environment) setup logs +4. Initial accounts that are shipped with the sandbox and can be used in tests + +## Running Aztec PXE / Node / P2P-Bootstrap node + +If you wish to run components of the Aztec network stack separately, you can use the `aztec start` command with various options for enabling components. + +```bash +aztec start --node [nodeOptions] --pxe [pxeOptions] --archiver [archiverOptions] --sequencer [sequencerOptions] --prover [proverOptions] ----p2p-bootstrap [p2pOptions] +``` + +Starting the aztec node alongside a PXE, sequencer or archiver, will attach the components to the node.Eg if you want to run a PXE separately to a node, you can [read this guide](../aztec/concepts/pxe/index.md)/ + +## Next steps + +Visit the [sandbox reference](../reference/sandbox_reference/index.md) for more info on which environment variables you can set, which cheat codes you can use, and learn about what exactly is the Aztec Sandbox. diff --git a/docs/docs/guides/smart_contracts/how_to_compile_contract.md b/docs/docs/guides/smart_contracts/how_to_compile_contract.md index 39e91a84166..f02c5bd76ec 100644 --- a/docs/docs/guides/smart_contracts/how_to_compile_contract.md +++ b/docs/docs/guides/smart_contracts/how_to_compile_contract.md @@ -222,7 +222,7 @@ export class TokenContract extends ContractBase { } ``` -Read more about interacting with contracts using `aztec.js` [here](../../getting_started/aztecjs-getting-started.md). +Read more about interacting with contracts using `aztec.js` [here](../../tutorials/contract_tutorials/counter_contract.md). ### Aztec.nr interfaces diff --git a/docs/docs/guides/smart_contracts/writing_contracts/initializers.md b/docs/docs/guides/smart_contracts/writing_contracts/initializers.md index 7428af87fbf..ab0061a8a0d 100644 --- a/docs/docs/guides/smart_contracts/writing_contracts/initializers.md +++ b/docs/docs/guides/smart_contracts/writing_contracts/initializers.md @@ -26,5 +26,3 @@ Initializers are commonly used to set an admin, such as this example: #include_code constructor /noir-projects/noir-contracts/contracts/token_contract/src/main.nr rust Here, the initializer is calling a public function. It can also call a private function. Learn more about calling functions from functions [here](./call_functions.md). - -To see constructors in action, check out the [Aztec.nr getting started guide](../../../getting_started/aztecnr-getting-started.md). diff --git a/docs/docs/reference/sandbox_reference/index.md b/docs/docs/reference/sandbox_reference/index.md index 1697ca3d415..ba339531a85 100644 --- a/docs/docs/reference/sandbox_reference/index.md +++ b/docs/docs/reference/sandbox_reference/index.md @@ -5,26 +5,6 @@ sidebar_position: 0 The Aztec Sandbox is an environment for local development on the Aztec Network. It's easy to get setup with just a single, simple command, and contains all the components needed to develop and test Aztec contracts and applications. -## Components of the Aztec network - -Aztec's Layer 2 network is a fully programmable combined private/public ZK rollup. To achieve this, the network contains the following primary components: - -- Aztec Node - Aggregates all of the 'backend' services necessary for the building and publishing of rollups. This package is currently in development and much of the functionality is mocked. -- [Private Execution Environment (PXE)](https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/pxe) - Normally residing with the end client, this decrypts and stores a client's private state, executes simulations and submits transactions to the Aztec Node. -- [Aztec.js](https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js) - Aztec's client library for interacting with the PXE (think Ethers.js). See the getting started guide [here](../../getting_started/aztecjs-getting-started.md). - -All of this is included in the Sandbox, with the exception of Aztec.js which you can use to interact with it. - -With the help of Aztec.js you will be able to: - -- Create an account -- Deploy a contract -- Call view methods on contracts -- Simulate the calling of contract functions -- Send transactions to the network -- Be notified when transactions settle -- Query chain state such as chain id, block number etc. - ## What's in the Sandbox? The sandbox contains a local Ethereum instance running [Anvil](https://book.getfoundry.sh/anvil/), a local instance of the Aztec rollup and an aztec private execution client for handling user transactions and state. diff --git a/docs/docs/reference/sandbox_reference/sandbox-reference.md b/docs/docs/reference/sandbox_reference/sandbox-reference.md index b20ffd89175..5e9ef0fbfbd 100644 --- a/docs/docs/reference/sandbox_reference/sandbox-reference.md +++ b/docs/docs/reference/sandbox_reference/sandbox-reference.md @@ -8,67 +8,6 @@ For a quick start, follow the [guide](../../getting_started.md) to install the s ::: -## Manual Install - -You can manually install the sandbox via the underlying script used in the [Aztec Boxes](getting_started.md#run-the-npx-script). - -### Prerequisites - -- Node.js >= v18 (recommend installing with [nvm](https://github.com/nvm-sh/nvm)) -- Docker (visit [this page of the Docker docs](https://docs.docker.com/get-docker/) on how to install it) - -### Install the sandbox - -To install the latest Sandbox version, run: - -```bash -bash -i <(curl -s install.aztec.network) -``` - -This will install the following tools: - -- **aztec** - launches various infrastructure subsystems (sequencer, prover, pxe, etc). -- **aztec-nargo** - aztec's build of nargo, the noir compiler toolchain. -- **aztec-sandbox** - a wrapper around docker-compose that launches services needed for sandbox testing. -- **aztec-up** - a tool to upgrade the aztec toolchain to the latest, or specific versions. -- **aztec-builder** - A useful tool for projects to generate ABIs and update their dependencies. - -Once these have been installed, to start the sandbox, run: - -```bash -aztec-sandbox -``` - -### Have fun! - -**Congratulations, you have just installed and run the Aztec Sandbox!** - -```bash - /\ | | - / \ ___| |_ ___ ___ - / /\ \ |_ / __/ _ \/ __| - / ____ \ / /| || __/ (__ - /_/___ \_\/___|\__\___|\___| - -``` - -In the terminal, you will see some logs: - -1. Sandbox version -2. Contract addresses of rollup contracts -3. PXE (private execution environment) setup logs -4. Initial accounts that are shipped with the sandbox and can be used in tests - -## Running Aztec PXE / Node / P2P-Bootstrap node - -If you wish to run components of the Aztec network stack separately, you can use the `aztec start` command with various options for enabling components. - -```bash -aztec start --node [nodeOptions] --pxe [pxeOptions] --archiver [archiverOptions] --sequencer [sequencerOptions] --prover [proverOptions] ----p2p-bootstrap [p2pOptions] -``` - -Starting the aztec node alongside a PXE, sequencer or archiver, will attach the components to the node.Eg if you want to run a PXE separately to a node, you can [read this guide](../../aztec/concepts/pxe/index.md)/ - ## Environment Variables There are various environment variables you can use when running the whole sandbox or when running on of the available modes. diff --git a/docs/docs/getting_started/aztecnr-getting-started.md b/docs/docs/tutorials/contract_tutorials/counter_contract.md similarity index 78% rename from docs/docs/getting_started/aztecnr-getting-started.md rename to docs/docs/tutorials/contract_tutorials/counter_contract.md index 000e1c0d1d8..14abc90a13d 100644 --- a/docs/docs/getting_started/aztecnr-getting-started.md +++ b/docs/docs/tutorials/contract_tutorials/counter_contract.md @@ -1,15 +1,15 @@ --- -title: Writing Your First Smart Contract -sidebar_position: 2 +title: Counter Contract Tutorial +sidebar_position: 0 --- In this guide, we will create our first Aztec.nr smart contract. We will build a simple private counter. This contract will get you started with the basic setup and syntax of Aztec.nr, but doesn't showcase the awesome stuff Aztec is capable of. -If you already have some experience with Noir and want to build a cooler contract that utilizes both private and public state, you might want to check out the [token contract tutorial instead](../tutorials/contract_tutorials/token_contract.md). +If you already have some experience with Noir and want to build a cooler contract that utilizes both private and public state, you might want to check out the [token contract tutorial instead](../../tutorials/contract_tutorials/token_contract.md). ## Prerequisites -- You have followed the [quickstart](../getting_started.md) +- You have followed the [quickstart](../../getting_started.md) - Running Aztec Sandbox ## Set up a project @@ -116,7 +116,7 @@ Let’s create a constructor method to run on deployment that assigns an initial This function accesses the counts from storage. Then it assigns the passed initial counter to the `owner`'s counter privately using `at().add()`. -We have annotated this and other functions with `#[aztec(private)]` which are ABI macros so the compiler understands it will handle private inputs. Learn more about functions and annotations [here](../aztec/concepts/smart_contracts/functions/index.md). +We have annotated this and other functions with `#[aztec(private)]` which are ABI macros so the compiler understands it will handle private inputs. Learn more about functions and annotations [here](../../aztec/concepts/smart_contracts/functions/index.md). ## Incrementing our counter @@ -160,28 +160,4 @@ In the same directory, run this: aztec-builder codegen -o src/artifacts target ``` -You can now use the artifact and/or the TS class in your Aztec.js! If you skipped the Aztec.js getting-started guide, you can follow it [here](aztecjs-getting-started.md). This will teach you about deploying and calling contracts in Aztec.js. - -## Install Noir LSP (recommended) - -Install the [Noir Language Support extension](https://marketplace.visualstudio.com/items?itemName=noir-lang.vscode-noir) to get syntax highlighting, syntax error detection and go-to definitions for your Aztec contracts. - -Once the extension is installed, check your nargo binary by hovering over `Nargo` in the status bar on the bottom right of the application window. Click to choose the path to `aztec-nargo` (or regular `nargo`, if you have that installed). - -You can print the path of your `aztec-nargo` executable by running: - -```bash -which aztec-nargo -``` - -To specify a custom nargo executable, go to the VSCode settings and search for "noir", or click extension settings on the `noir-lang` LSP plugin. -Update the `Noir: Nargo Path` field to point to your desired `aztec-nargo` executable. - -## What's next? - -The next recommmended steps are follow the tutorials in order. They will teach you more about contracts, Aztec.js, and how Aztec works in general. - -To follow the series of tutorials, start with the private voting contract [here](../tutorials/contract_tutorials/private_voting_contract.md). - -Alternatively, you can read about the high level architecture on the [Core Components page](../aztec/concepts/state_model/index.md) and [the lifecycle of a transaction](../aztec/concepts/transactions.md). - +You can now use the artifact and/or the TS class in your Aztec.js! diff --git a/docs/docs/tutorials/contract_tutorials/crowdfunding_contract.md b/docs/docs/tutorials/contract_tutorials/crowdfunding_contract.md index 11735715ce3..ce858d65ef1 100644 --- a/docs/docs/tutorials/contract_tutorials/crowdfunding_contract.md +++ b/docs/docs/tutorials/contract_tutorials/crowdfunding_contract.md @@ -1,6 +1,6 @@ --- title: "Crowdfunding contract" -sidebar_position: 2 +sidebar_position: 3 tags: [developers, tutorial, example] --- diff --git a/docs/docs/tutorials/contract_tutorials/private_voting_contract.md b/docs/docs/tutorials/contract_tutorials/private_voting_contract.md index fa6becef831..16606e5c508 100644 --- a/docs/docs/tutorials/contract_tutorials/private_voting_contract.md +++ b/docs/docs/tutorials/contract_tutorials/private_voting_contract.md @@ -1,6 +1,6 @@ --- title: "Private voting contract" -sidebar_position: 0 +sidebar_position: 1 --- import Image from '@theme/IdealImage'; @@ -164,12 +164,11 @@ Once it is compiled you can [deploy](../../reference/sandbox_reference/index.md) aztec-builder target -o src/artifacts ``` -Once it is compiled you can [deploy](../../guides/smart_contracts/how_to_deploy_contract.md) it to the sandbox. This is out of scope for this tutorial but you can learn how to do this in the [Aztec.js getting-started guide](../../getting_started/aztecjs-getting-started.md). +Once it is compiled you can [deploy](../../guides/smart_contracts/how_to_deploy_contract.md) it to the sandbox just like you did in the [counter contract tutorial](./counter_contract.md). ## Next steps Now you have learned the foundations of Aztec smart contracts, you can start to play around with some more advanced features. Some ideas: - Add some more features into this contract, like the admin can distribute votes, people can delegate their votes, or voteIds can have more data like names, descriptions, etc -- Create a frontend for this contract using [Aztec.js](../../getting_started/aztecjs-getting-started.md). - Go to the [next tutorial](token_contract.md) and learn how to write a token contract diff --git a/docs/docs/tutorials/contract_tutorials/token_contract.md b/docs/docs/tutorials/contract_tutorials/token_contract.md index 2a21152707f..eb5618f3d52 100644 --- a/docs/docs/tutorials/contract_tutorials/token_contract.md +++ b/docs/docs/tutorials/contract_tutorials/token_contract.md @@ -1,6 +1,6 @@ --- title: "Private token contract" -sidebar_position: 1 +sidebar_position: 4 --- In this tutorial we will go through writing an L2 native token contract diff --git a/docs/docs/vision.mdx b/docs/docs/vision.mdx index 2e4ff847897..a7e748579fa 100644 --- a/docs/docs/vision.mdx +++ b/docs/docs/vision.mdx @@ -1,7 +1,7 @@ --- title: Aztec's Vision sidebar_label: Vision -sidebar_position: 1 +sidebar_position: 0 --- import Disclaimer from "@site/src/components/Disclaimers/_wip_disclaimer.mdx"; From c9a5ef2f3b532916826bc9c565ea07d456ce65db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Thu, 30 May 2024 20:10:54 +0100 Subject: [PATCH 02/10] Update counter_contract.md --- docs/docs/tutorials/contract_tutorials/counter_contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/tutorials/contract_tutorials/counter_contract.md b/docs/docs/tutorials/contract_tutorials/counter_contract.md index 14abc90a13d..8d140da25f3 100644 --- a/docs/docs/tutorials/contract_tutorials/counter_contract.md +++ b/docs/docs/tutorials/contract_tutorials/counter_contract.md @@ -1,5 +1,5 @@ --- -title: Counter Contract Tutorial +title: Counter Contract sidebar_position: 0 --- From 5bc00983f692c7a7436d08aef48e74e24fc69c9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 11 Jun 2024 10:59:50 +0100 Subject: [PATCH 03/10] Apply suggestions from code review --- docs/docs/getting_started.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index 2c3cff0e339..94bb52e0958 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -5,6 +5,8 @@ title: Quickstart The easiest way to start developing on Aztec locally is through `npx aztec-app`. This is a convenient way of installing the development environment (A.K.A. Sandbox) and starting new projects from a boilerplate. If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). + +To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). ## Prerequisites @@ -23,7 +25,7 @@ This script gives you some options to bootstrap a new project, start/stop the sa ## What's next? -Now you have a development network running,, so you're ready to start coding your first app with Aztec.nr and Aztec.js! +Now you have a development network running, so you're ready to start coding your first app with Aztec.nr and Aztec.js! To follow the series of tutorials, start with the private voting contract [here](./tutorials/contract_tutorials/private_voting_contract.md). From 06324be2d6849249f1e1aa3eecfaefdbb9a6149d Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 25 Jun 2024 09:10:44 +0000 Subject: [PATCH 04/10] changes from PR --- docs/docs/getting_started.md | 19 ++++++++++++++++-- .../writing_contracts/initializers.md | 2 ++ docs/test-results/.last-run.json | 6 ++++++ .../test-failed-1.png | Bin 0 -> 120738 bytes 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 docs/test-results/.last-run.json create mode 100644 docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index 94bb52e0958..de08e8a05ec 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -5,8 +5,8 @@ title: Quickstart The easiest way to start developing on Aztec locally is through `npx aztec-app`. This is a convenient way of installing the development environment (A.K.A. Sandbox) and starting new projects from a boilerplate. If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). - -To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). + +To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). ## Prerequisites @@ -23,6 +23,21 @@ npx aztec-app This script gives you some options to bootstrap a new project, start/stop the sandbox, or see the logs. Run `npx aztec-app -h` for a list of options. +## Install Noir LSP (recommended) + +Install the [Noir Language Support extension](https://marketplace.visualstudio.com/items?itemName=noir-lang.vscode-noir) to get syntax highlighting, syntax error detection and go-to definitions for your Aztec contracts. + +Once the extension is installed, check your nargo binary by hovering over `Nargo` in the status bar on the bottom right of the application window. Click to choose the path to `aztec-nargo` (or regular `nargo`, if you have that installed). + +You can print the path of your `aztec-nargo` executable by running: + +```bash +which aztec-nargo +``` + +To specify a custom nargo executable, go to the VSCode settings and search for "noir", or click extension settings on the `noir-lang` LSP plugin. +Update the `Noir: Nargo Path` field to point to your desired `aztec-nargo` executable. + ## What's next? Now you have a development network running, so you're ready to start coding your first app with Aztec.nr and Aztec.js! diff --git a/docs/docs/guides/smart_contracts/writing_contracts/initializers.md b/docs/docs/guides/smart_contracts/writing_contracts/initializers.md index ab0061a8a0d..80f7d3de38d 100644 --- a/docs/docs/guides/smart_contracts/writing_contracts/initializers.md +++ b/docs/docs/guides/smart_contracts/writing_contracts/initializers.md @@ -26,3 +26,5 @@ Initializers are commonly used to set an admin, such as this example: #include_code constructor /noir-projects/noir-contracts/contracts/token_contract/src/main.nr rust Here, the initializer is calling a public function. It can also call a private function. Learn more about calling functions from functions [here](./call_functions.md). + +To see an initializer in action, check out the [Counter Contract Tutorial](../../../tutorials/contract_tutorials/counter_contract.md). diff --git a/docs/test-results/.last-run.json b/docs/test-results/.last-run.json new file mode 100644 index 00000000000..a39eebd1cb6 --- /dev/null +++ b/docs/test-results/.last-run.json @@ -0,0 +1,6 @@ +{ + "status": "failed", + "failedTests": [ + "9ba72938132eb4de72d3-6514e60e465f8a2fe54d" + ] +} \ No newline at end of file diff --git a/docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png b/docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png new file mode 100644 index 0000000000000000000000000000000000000000..17623e67a6128c137a527fc95b856e0624e01491 GIT binary patch literal 120738 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 z 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

Zz=y5Gg>Tv1=Ct*Hq^ z@U=8I_kMdpQd46+IX#6`dwLHoT3YJnLZ`u$A=5`kH)1+k)#iDJ0=hq~kEyG>9X)S1 zwSLL|-m0UpVG%?lD%#G@&SC8%7$}#q+2!SMroK~oLw-I*Xf6_{KQhC` z)s)`LvU4X=CbvADdIEt75`0a(v$jzeKqhFsn2O%mO+H^X_h5tFh-$srC%$Uos_D!! zC3=YDW-lEKm&wmgP3L@qQYvdrPe4MnIE6@=iMGgpG{QkAK*~sJZ7YUr!m~`vM?&%| zYi~^ur0~G9#DxnS?cwR_~!S`Xpx*ER0if(#FC|SBInS`R2=ly zSRE$l(defCdUyT6LT0uR9Fybiql3hbXnOwxI~qY|q3 zs35a#QwmD&Vfv#u1w{G-v59v=nACc;2(d+S4JVNfbR7U*L~`}H3yZxQ5@{OC1!CN4TqB|_yu;96QX;Cvr`6e!nAj_O^9 zMgX$n$JP*Q%#<-wP=f{PS#g*Z!dc~gKqAA4?6NCiZC#wBbZA&PQlRu+tHm85jT2E{ zF5E(A^9NH!g;A??iXKte2}dS({GErfuf}snSJjYwPQ>kwmtmJjRH5nZ zoYYm&*g1MsGCxc!EIb8GtV{{#DHXAK|2$YW#YR4znEFm8Y{9m^e0m2CGo&7aEG%hjT`77e8^$p-t9G%AcV?TF3=}_z-c94|0t*tth-I?}dM@Pqx8_NQ>9d4sy_=}DXAkm8uA0HnV zH<=>-Lx?E^5Gn_xl!2Vcygc^RD&B@e$Y^Ru=Z1ot1D)fhmE6=WT6YY*xn&3to3VJF zUGr~6toh|4jT&<08)l-)C>^N{DgmK)&qh!OmbQn`9dFwG8vY!*&0`*?M;0`jS5@*x z+Uw0Ij(qLm>^SeiPC&kRvH%RzTw&zxoB+rh?Fjwaw$u{pmktJdjgy2>hA=Bp>@1r& zSfAIBIw0FZO%bVq!6~1+fxFY)$6Zp|o-_#OD6HrT>b2ho0z_sI3N5ts*2Qo`%M1c_ z$+YWJ?L%gV3M6)aVDQHgnpq-zrUvr&6gYehAK=}d1<02^(-{1gfe{+~ z^Dh@bm6fajf~I>6=6=@IEok?2!785=287NheMM<0DMnvt3?&Dk# zlpe{we+BKD7=0-vNq1NckCq%j!B40vlLZAL*O5#-X2z>LD_VcLO05qtRY;(9N8bhqa!L>Rom6g) zQ|r^skBUrexiz8*$I``LfNj3*o`e9@)a-e-e$K**=jh5J_$E&Hw*QjxW%yQ9{%qiC zFs@GM4!Ewb5fKqHPq6$I^vwW$JpIgqf`ayT-(=Bw`|1bpzSNFVe`zoE!PjNjw4n|$XAsoao1OwD+WKTq+G8EBCNHbBzX@6GP6miE8N}NiI=qE*QOFO zZNd!;Ygl}^`3>vo7QDRkqW>ieawc&e`E5~g&{j=ZM2b3!@+p$q>B6A|qS~}Ml3#W! zC11b|@r2`xnET;;K1H9NH7+JsryG=CUDc%&{Gj^_MP%$p98k}00L||X%{vVW%#Q6& z=5M&)-Em=&bq5DwPz0bM2@B*YCq5S&Xq^5^g*h0Dd{j_P?=OeqF?4%kTkV}gw|L-` zD(+Z{@5o10{cx-uAE~6ARynhbAk~;CztSY@0#4v(7vajL5F}KU%|iHa-bS6i)YD+& z74lee04X}1$Y<1I~!hn4U)KI0%!p6eqO;K7@ z)Yz22S5jW3>k~??BR)%PI66A|{rh)|-nMJhX(2s9_S3GHC!L=^WfK`qsnP9>TV+^t z(s=)5~--?ou>2k z!BbiJ>X3E6kWoSBYfjN+hVNWnzRtq)t0y3Q2{Z^?vAn{6!qY$J*Fe%m%bZC;`MX8_ zk|6t{dmx|MtZuuK@VoTZQBh;j_;IveZgi+s=>udytK{zQ{^GnE9thuisfmS2V@wQ0 zvqx-|tFjBeA{mNRRx-X|*NvIJ%;ecM8MMMd+1Ac;htM@EXcZT;Ts&KKISqw=O+ijH z`-j?@lpq6>8C+P^aZoIQj?9rmr09v|dP`5zQm6E8t@6ntVVLV;KTYP6M6tyx1=6ge zrCa2NklKQ0nq})Lwa)ImlC5ftY58j71S&}7SWs=>{uoB%YPXa(=s2-qvgw^VOF2Mc za)t3!f&kTXgFudT^C#VsD|}3v$KQ}aV}!RFKvE75D(zTW_8Q9lJe!j|O7}3%!=NO? zM;|A6!51$aW=6@OC~H|V@uzC4)%x;OnK9Vq(N1X$xtII&p7(@{G0}~#+R)`ELb@_j z+rZ9_FWw52nv|1@MBDVSlt%EWS&Dq-s8YG}7!uqI zNLQXNfIERX*DbK{&B9{q@ZoW_xwff^rwS4~^cpPA%c$Lg{xtYm7D?9CRc)fV#6DRq zNGX2J!}7DC;gxAEBKL*XSGVPxf#%4(Bwiym}ubbNMzlud`jY`SC3^$zL7{`M8Q3ae$*?o;=7Km(o)A)dh7 zBt=rmH>q}WLsD~zxk#oetG0jZ;6mT_kdjU1 zxO{_6H0zJ*Q)@C~LH=&7U*+^k-qUwd$Y4R-!1>e~zu=VG-2Azj-cfjv-^tNg1o*xG z<{`63E6Z0weVb^{I_JDpd3gkB&g$KJanW1rb=88l1CloPg zn#N;)TimRTtjZizEOna(ce<@y9TRNNY%mPy&jw=*`5g!O{afs>6!MuTpnl1?Bg`@m2i!5ny z9jeK*TpCy4LJ?U_pV^`aIY(G6-Ze2WH;Z^b>No1*n5wUANIcV6Opuq~gtR(iqRht!~qAx)dyRkEjJ~lBxU&m;VI~<0R0sLbZ)yu^b)K=H#tYq+uLjA z2NRn6GRz2x8fs*AAJD>vhPG|Jne`<(UjZ?$E?bJ6faReT>3nGD{(-*VTv0cGkFmYy z`bvkv_lvT!@)Gp)BA_%Y7<3uSd+C)uInDX-k|dnf6qQQ)0S<&9x?5J?BzSblT1r^T z6LOf%(`&lye$+>cr7mOl4&Gmg=)*KukXpgL6|X#UTg>4boT;G`0(N(-3qLCtSA*+1 zgtWAy;QB5KVTkg*Hr10T(TAST@Jx_d z65^guc@fuw7MAU85f1-$1A1!_0tnRwk^p=TApaUPVOI{Z+wo6xe>=(Ao#P49Q2cB& z_i)^vIL|T1K20Z+s&l%gTYu8K$V##Ln6p37$*SHy2Iz2{N#yoFgY}HlVCLwTO@t=p z2f0G@thDU@NKo;3?@n}2Y(DJxn3{?`ibg9ygA!Qj)^!Q|zQwNV2BkxY{T)g$;`cJs z5Aq+Q%--FX)SSQG+Q<;M_xPKmHB2TBR*jE8xnCWvw!dDqQ%jBU`C5OZy@)z$GM_@1 z-{X_NL;Cb*?V{6y6NLgqr`Ia+NV$r8{@zY`@)w})-8E!|it$l-=bcD*N2V(h6^t1H z_TMM`=k=Mmp=W%4EZrC@+KEWivk#M85@W~LMbN6B6})`8e~BK%D*F^o;MJA%)Hm$7 z?)LT37NXs#Xk8E6We%mb_d9j-r(!Q?zLay`MLqhCJMHk0r@&zo|n@auRCh4o4>sWQ4c1Lw_`Tj}cvAzrTJvBD- z%@6Boefd9z*KQvvUi8@8-MAp8_rC|~`P_d3S!rY3T++%(Qs&%w{mRTK zF|;sw1`3X>M_)aS(#bHU4GuOZtWV9D$gpbST&TBalCu!lyp?Zlh0?|wv*RY?$}uk5 z+;0$AreO6ClNoFmze~|xAutqNCw^hwFY)z#Fh2qhXQT@_n76RuOJiI|AZjG6fVd#qvH4zx0x zgZSCweH+}FMooXyJn!63rOG3p$C-sjO;xwSA~*x{SJet@H3+;H_o9X|DHKqD*==T!Vu`AZI#Q z#X{5*^33|XOo4S1Qjiwh2I*DbgbXriG4odzqf5Yldvcd0 z8~;AB4cvK#1Y%l0p4IcE+uM6N**v7clvYAj8a4S%D7P#>*9qGA8RRI4xR~L7ruk*0 z56nV2`iGlwNSf53sO9ytuu8OTq*V}CD`i=|>}!h?ps!@-QcL^%P$#iqZFJd%j^v&` zIq`*2`mZhd#}=f&BYed?Aifbjdwn(awA_EJaLwf=1}(5!pQKqM__op0iqzM|oo1#R z+9H8QkxIwPT(d7d6&%OH19)qkyxx)`O`QaG#0#JRr)* z^!4@)RXY{Nv%u=V{UZdjP=O-k$LcnrpF-BPpO>W1A~|lW39Dqsxk$2@NME*I#-64x zdCdN6s-Pjk*zO1L7j%GTaN%1HM1jn7s~U)joi#>KqMC`iU1xTdI2TtDgz*ee~L2XT9DW!u-yf~s{NL7#)JHy?UdW>!eQ$hxP?_PTnPm_h8`387F0B&1YK zV?4EE3p@dY7nNrrubq`w+t>4JU?GkgO?)$h1LdNS(bjOWvyq{QeL})mJy+8V3CWY< zT-jR4?g+0oJ>mI~{E&gBXs>0yNAY%leF9h+YOOoIDd)FW*65ctN!=aRalxyz?K#6C zm4f^Gk@t_7=ekSPV$*p<8SVl_+b|Wy+bFe@UVq zeB-dQdx2L{y}I?L?b+%4dF&m}2j+Bqa0;f*@&>Ez6b;WW^J;00xij?l@ytMnjZsslV_O`>)KP)Ht zYWF1;ApnzSDcNH&gZvGTKX^zwr6!N7Zh&+Hl>LLZU9mp8VnpfgguSM}G|G9(Q9Soo zDn~|31Pwf^{+MX8&DB5e_n~aT#=Hc(O5MHKL}*;~zQ*#3Y^`ZNYSvfWNj*BV;4EKm zHd_P%+b#srzQft_al)kO*P%BfL)+48SRVkErz%Pqhhsx4!#cf)j!jZo4V>EUL_RNb@6(>hk2KEw$I|g!LCTyPt~LQd9pK zAH)3~VDS)B?=4i-b2DNqI95y2nPlx{YW@fqOX6kj&(`QpaDg4G;Io-{(KVD3S2>#gg(cl75Iv z62JCX?)XU?t8AE5<|5j@BKLAx0=Z_Jjvs}lM_Ix5dkRw8>kaiSib|G#bS6j7H!*40 zh#SB8nL0X=sr@$pDaAMKZr%6AiTve9mpot=TnOL@@UbJJcpUCK%nK4v6I)Mb7w5Ry z*q}kS4C#qZEMnrpP7LH%dh4(AhsMj}<7X-0Z0wiOlTlziVU@ z4=2>6%)mtE{_K(Iu$gU%=k<&n2Q`!NRx;j_iD#XIq4F}L7#)w_M5XT^n^EukoYyre zOWuvk^FXg3Y!xxIL%n#%MBEPHm+PN`i-z81fBCgTlh>e@W>p2F&ps2K9V0Yz#Kn14 zcEFH}ZPz4D0)M|;yVj@(jcspjXV9h}9Lw$KwfFPER$8j)61jKsb8SE2&rf~5P-~!% zsz&7E_rZ3l&s^bMhLKkc*5H(WxxGzl7!Xm}7KJVRo$(XBeksy|-L+=?rTic2(lr8VU1kkAsx$JuA0X&Eoe4T>B%(T{iAv#g`>zK64RE@y&#C z**&AnvLOQI%o2IlFZcN(MF2u__NYl$QXlO-B~F-U-E3rdrORe&yO<(#A4YP*N~;H3 zm-x{|6l#?Px`Bg*BRizOLRXFkM8ehv%l`KG>ks9PSx#*|?{3vY`GRu%n77!Q;;Z)e z(|K=m6z0R>s#FhiG4t!1mrc*nzb+ddUn%tUw5s&ERbMbP(TN81MS)=$-xnV${$X9r*eH2rNt)`RT%G%7U2__pHW9D2u8*V3x z51)w%?O;N3x9kZ1KH3D=^B>3i7SabPcxAY^8##TX>K7^$O9D%p7^P>;$!Nk;jW zFYh!{1u-aCt84Vk#@ts^C%#1f0SXa$ZHUo(gC{T4OSRBpBZc)#4j-pRpsnn`bbXF} z#0zES+^$#Cg9$y|t6(G{43Mjgx2 zc4r=b;BI(T%sPcGAbS2lPIv^3U+5G@feACVSvmO&-8a7G((ZRTDZva*-iHO~Zb^(U zeWGSvofC6fgUsB)q)H|)yizw0me9;u%s!mn>-nwZsN$SJ4rVwonBb=}DA3Q}2IHS< zYkhT_uANm?e{x7J4-PU@T@a9xcK4T}Zyjz={v~b%CN)0rLdf63kTZKbJH(YEfja(h zH8pq~Z=#vImk59f1uR)eBSk%@L7B<4C0muhx*Ob+QuH8^Wk7{nm&G024zF||KU`fL z6FltXirzHfC|li^J#bRe+hv@N&df-zJ29r=#l|}F6A>hx;Bb)QH6@p^@j$_#-SPKE z5Xded1&?qoq%qHgh^OlWsZ9zF2ALlaegjjpLEN`fMt>)nke=t>v@-{&A`qVV8_v5% z(GC}S3CXQ+K8}1HZRYo&4om8A^bby~Zq*=h>n=*32uR) zlwLH47AlZXUbDNzD#QOpVnI*M*9=B-E*6O_eJ*M|yz5?Y^V>2~g~|<2amW_iYIru= zqoBY65$Pv+7s^XzY4-Ak+s=RA9qaHjMg-~ePE|jU$jGcPG`U{)X=ij7-1%6Z#``wS znC&j=bJBoR4?CjYxqME=jXmY0DAN;y(hm~7aQ}wG9y1zjsKyNHU|152@(fGVV$kiQ zKtm+PtfV$5HVphd)@{8B#CM%}KRcq1_Vr=t{Pa~Z=gp#q6a3)F+ z0C@}%)z7~+C!9bhO)<;@?fT71A?&fJ!^d#T0~rZ~t*H90GZ-2e=vxK%SKR!t0qp%W z0VR^Eg|T+eoheR38~q@Ljy-9j?ES4C|ku)JfK|2S{5OxNvu4QY|X$6KnJBV=g!Q zk<8?N`gfp)VGNakR;+$}5J;PZMLr|kg)%&a2H}0%IE^{zR}DuvC^Ll8?Axh?jb8(P7Iv(e3#q96u0)Cj)Y)p9c z-K(R{sma2$f7lW4?|bVzSCS#)pAE=8r{ErCEo#>h@<%M@F5~Hbp@X5fIeE9R`s_CX zH5C!kPm7y9g$ePZ8i<}OSobO?lszEC3_U$#$X2x64LSGVAE=p4kLl;dMeQTv;5sKE z7#KX#5vmr{X1-)??sA&gWcy z{DPdQMR1fm-mLcBJw#hGKE8Q3YRMK=gbXGJm*^rG035^>_OwvaI9li`l?AYWXB7jV*rA%dVJ&ML zb16uBQ?2(M3%uv|LH77uS!!_sw#~(7edT$W#CI_D7-SFB!+W^{1PqNXwPUW`Ayf1# z_k~)gawT$NO;kvt_ykLKB68FyohY|V9BV3lc8L;@eu}%(@Q8Sg3B8s9EoA=_BZ2sw zp|;YxaU>&6C1&2D@3yYrGv{QXqmMm_EY?t{kEw&H%8FCqA5KD{x(p$Sa*s+s9CKQ5 zX9mQKr)29gcwYt^Pu=1>qY7-KvE;;HXdp|>(k{y~sO`(sjQ`uOFQD6^Q z2@4{M>igZIV@TbOA0Nlb0^*BVT}fy}!{44me5lvO`>Gk8DP3x?J!UfwVPe9D8rn1Z z_U-oM>*J#b;6MOBpbvOYhv%xQ7#Q&Yquu@~M@ws&LA%9iU+&$HZ*=pCP>|2g&dy&} zSO5Q5gb1L!Gxq#Eox-w4OB zLjqsJ+`@!_SS8qLN^>5Dh&PJkzi2r~;d$d0I~CJ|XD@XeZAC|Hh?cx^YoXh8Vru3T zuL?I6Q+yxVg9j%%iSC3wV^iI zO$vH&x>FV_L?)@Eo4-`N{N>mo)&Ze>N7YKh78W!SM-bn2Y9OYgZCgM>-#zW05rO4^ z7SACm81aHgEr-Z@kkC=Sn^6BQ86}DWOrWdyiMZFQ#U<@#X?9knYu`9yprOt6)1I3T zR(ORDQ4v>4-zf_lhxM4iuWGjGbsH&wjFG5L`9T;uKO~q(3|)~M$_cGnu622KBne^T zNj$F(fqu&ap7RTaBCn48*^J1J3^Q@g1&v(K+Z4?-E5m|)(0VVm1O;2)XEw3rvs*O- zw1F$wcwzX}ro){gmCv7dR@7Iq=-j$H*N{Q~FyXBI69A@Mz?8cAzg&R-nKkzVCK$lZ zA6tugNJt{Ska)j72x7j>T8e*Jh-%4@Pvv^qP4tEJ1NH#`V$HrgIr5$WvirErbAZS= ze5js=X0k78b3t|W)j%R8P=HCTR5MFVy(e}w&PKoRMS>BC&uVn%(!Hg0MW>u?9UZG% z_!*oRJ+E3^G9`FueWt#<4ArV1WLP8hR9+qerUlvlO$wKsm=Wkh;`?Gy?t4lACs!_P zamW#N>2E$-4iUASM{0+S9|KnhE1eypwP@llFDnnegH5-?;TrC=P!H2tw22eYJwjR> z=F7_4&>opYw+W8vf_~W>aLEzcjpySou{Fkm?8AMk!(jIB;zA}{7}~K`Ut2}H`VHy4 zV&#*;OlfDifx50*^~Mpz!1}%F`8a6mnuwY^V+RLox5VkA)*m@ocH%qiX8>K~kXG~j z^~IfXdkk~sGzL!VOgmh%iJ{pFAJO5dZRGB!e~+|26MEP;ek~l;gb=l?8nyB z^*t$j0^V(E*lkDH6xw*CH(HsJschacCAIhqI@qp11oDfCUr~e3OKK6Q%y-5@+6bWw zWwNp`qm0u1i1-5xf=ttKfiI+DFhXNsKiAA2)&TqHQ=1Cl9Aj6Ee{kGyBH&KFKU-o) zx=Y^LMjKBXR-jT)x!01GK7Km4t*A==W^0R8v7|>tWnoRQ#`?M!z86de3m zc0D;e?dafiaCmBMW%c?$(9F!^fzp#x6BF3z4NEgKMq~JRSO}Q4929~i zCTvUv2VPS8d5bLe8L(U~xCvCaiVDiC5+Pl6Yj)@g;F)`DObQt;&s(EIXU&=8l9<1x z<9`1YOub^MUnwASNUG-61@V94=-wl$lM5LtDPL|7;m0=#xN4aTO=>x(p)DMgZ7-U& zvpH!!uj4Y;3)8i_9id^Xy4H@hkFDhoY1$J!N@DmtPsf51q@23xBesQ#p?qkM6iu6_ z&iYDc$tZQMy+_6jopqnaBg^bpTRpbxdaPYf&yP>7zm4*&(UkK2m;w*Ne7JWgLNY|-5>{Oljw~xm<5kan1u~W8aN+%DZ z;^O9o`xSgcOg>lqqC1+XJbkIzv0#2X_0sv#KTPjZA@YAApi(wy zxU~1-Mv|BCHeL$I3Z)t)9HP_mXJbcZXi&d8|3}!_7zG9D=jo|^71Mgi_I|doD&OY+ zjbs0eX1b;H#!ornz?aF%BQJ0m?_ZBm7`5V0@Wmu-5HcT=S+K3cbo#f-pLRn2SyoZdo!;3|$TYT#Z@;L9hb`fm9s`S^)kpC~H zZv69E?2-@I-@a3GA&LKEb3$G+8GiWpt;M_B7@E6FT5|TztSw5$5ICWk?e$qC>x*YB zn#9BS~M?-Y1aPr(IzZDsJwj1jKZkFqY zjDE!i3k0`CK}ay4Sf7v;%G8K0M%Smv_QPL;Abnd?SWxzv%>zq51%+@{VL^eqygU{tIav$T z;Y3zCJ2eO6cit$d-57(`O6f3$pK@Dwdl5o~jmyHqh8|9SckbGH0ja9?5mcx`6EFO5 zIovKi&-(cI*lWN%@;28(NNnMvn6%_7J8D~PI8YJU=(L>t!g!tGoc@b?D>Mxv?$H#tHm&SK zTDFwD1U3;NW^7Y>686o_UAE!Y-k7si%Yrn?;nQtO36kt+D7-y(Xx#7ncVc~AZ*{6u z^H{aCeJ;q`Y4tBno=rf!sG6d$FFN|8aF&^+*%zymen%_pdE4iwwf5#%$t z-?qZlwCb(A3KK{OIh4KO6M!o{eT|L!I{+04OWAsLt3N*I^-Rke+t~A_l^RuIF~h(t zL&=@X0%=HE^%37DRDI}g`mAYKE%=9g#D$arOTQ{8FBX!`BqW1FTY?kKTW@UQ?Rl}W zE=gwX>Dj!hxXg?S4{8CxtJ(QQ>V7%z54W%V&4Mj<;LA2|SSFU+OKAqnK5zW{(t1ob z4i4Xh`^LJ2IlS`moaxf0Kw)q1RsvoDF7G|B1z27gSy?`Qy>`!fHFW@PmA~6w<(-~p z>_7Pllz~ou3iH(8;EfuD2r-9h{p*vy3nkiCqwkAQdQuecnTBC~yq1sB3N8rv>R%~7 zXii;JuasRyW+Y-674$^Pxp`jimHyB3M0E+u3;lf_6gfF$&ounLPp*!R&W?CKcqu_a z4`V3Z7zhefFj!+5F|S&|GCsE5%~cuC&k0Zfb@hK_NnE>cr194C%T#}eN-nbT2M}}R z&5u?%!v7^96!M+UvjPaL=N&;s4cpz7&g+K%eUG3#@4|Aq-lyw^8(}_l1;_{?KDqQ; zG?;(!eLH?-J>PSyqu%6X+<&PGf=Ll=9nV$)x&c8#eCULG(iMMc4#1lwnz%vSqBfAy zqdGl5KR-Og!NwL^WQ5G>n3$O8=n#^Zm-iK1GWr)-7vlRULk*E2K?W^F{9&Bk?Dv0q z3IL??aDZWkg@rAUM*|25&`49eam%?NJR=yTh!Y?;%WVv8@mnj16R_Qk^hc({$F3k z>ibuw|A(@-460*o*Myr82niP4Awh$?JHg%E-Q8V+I|O%k2<{dL?(P!Y-R&;?Z2diLja~gA)-4Yv{BtkhWxjkgqf3KC9VES zKEpDvT<~+P^ICfS$G|*)ia3GY(Zx9VPXO@$3pHt0Y+fU|9EDin#^JGv8gJQh>hV!2 zfF5}Jh=-;&m=pdEo$bNxsb7ZzHFBv^fBo!NoU}LW!dIL;1~=+^>z^y!tq$F|olgB{ zA+t&<7bxB$17#F1E~GM{Lco{O0r9AF#7(vbJM_SQ+&!(OzpT+2BRF{#`%BOSosc`g z&EDG~BkjI0PG%B}JERU}0W#|Bz1}-73bT#EzW0H)>7MAn=Ar~+Q3JF89FdZ@75g#= zoAb$g-%Dlr=9~Navo(zSQ){ZFG+bv~hDDxv=}&U5oop#8vD==nQ2uWKi(y^ZP{?mH ziBQN3f8|i+(sywGd{IJ7B1KXF-d}F5^Yr;9uNYc}TRBS>9OB`lt7P`!hu((j5WqOu8F)!c~J&~8w&+!GGegDikffepFOZ%+Y3h^faGRT(8+GyUSAz)Z}N$N zUMy@%U)s?j7qQUjba8*l&TD?`q`&MB0K^47?mAm5i`QeBTG?E`6n*w{=?YyPIm#s`ct&6)Jb> z4zs^~?AI>+z2I#L3+2~5y20jC5O1H5l4;#1OZ(0I9RN&PdE)^ym%+4uaqda#b^C5{ z)y61CLV2eQPZ~)L(ICU_gNdXsY#a6Kv?AB6jGjpA&y?V_&rjE@#`fR52n zSM%kfJ^$Fec6L(kX-ipkem%@5T2yeeu3(>!86sPd5)C5gKLoD+yoGlazKLU>XWg?4 zWIg!GbA<38naB7POho5hi!&wMsrm1ZARyy-MxM$gTENUe{@7T9&N}@E_SI6$nmxUo z?h(Hnh{#f^jK{O;4;9#kc{yrph{g{g5F7Js0mgnTfG2@8y&i&V??;I2JjtiKD#ue5 zvv|0mh>R!P0FQe3AmN*@h$*8dtw}P-YqPl{*xJvQ&nZj`9}+Wrp6Zru;=SKeSClFW z3Lt}=Ul5MmokpP(So&XZluCI4TV7W`OD5BHRZWKks`A-fRYZpMvqY=9$~RhN4=oYJ zA~RiP(~H#nE0>Dfby4j-&W|nhATA#3ko9!BX?PQjvmNJiIQAx>>aFe4_CfK0mYKig z4T3Kr9!ciC{^Q~HHys?nSIy4R?q;rsZ0b_k>#tP&>qrC}`iT^zuX$y8Sib&d(ZTsoU&uMTmIYI{> zyiutQ<=9+`aeDdhr8U_?{CgoNwgm{j18Qq#wlg&biG;CA%Z7tdF6(N#iF8654AdJe z4XlQwkJjPs3x;wZ8?npL-J=Q#uIo*Bv`ioYiR917iE=R-?=2CP*1rAUkPaa+XX45& zQjt|l11N$>gR~8m^@)6ShS;c>{{QV5-+8+*y*QSQhBvi2R16w`Q8gwwjF)GttO<>T zjn@Od)HpinEdhMN;Cv-B;0)p*bVI9>{y+)f^LeQv#+%2oKpH{uoN00%7gq*<59Q0 ziEbAIG-xJ&u;__Inx?5F{PU2%bc4^1AJ=<=Vs_|zxBS0Tex?+DkHoLXR_2z{ddJbA zx`FRtv_|>jC1uHu&k`esnCN4k+d;&G7ckL_qm^v+oFbUPY)a<<07GMk%7!s!w0G@o z75%*hRo4;LSG2@{EzD`XHX(#>(%ak?>J%g}>KTDyMaPuA`KvPNl*Ib40qU$tubTCOGd%W!C(Rt?D0oN zL_;AN)SF#; zge##g^>&1Iek$#`vG1>B6_!iW_Q>{%xc4L7;RevNT-M~EG`KPw`M8}8)O2hh$GSag z)^Vz>D9Wjxdnt=S`sUZGy$6IqvEV|b+9pd4AkuKbtMaI2O_&CUAi=IIs}-a236Qmm zR0*eVPf979Njd&|kV8w3yn+s?h_-%O^S9iE^|TaS5h6sQNyw`&(^5lC?;mW$@4vB; z9a;nc_%^gR8&HrZ$JwdcMT>qOZWGYV3`OzqN8H&y>?}P>bT<~G5AUjxsI06~nE{+4 z4YvMrO_9&BIKmNw=*rK86?FfKJLE!3ulSCM`G9jig~Ni6Zr@9kdr3YYE101^RK%o+ z8B^;Fz7s=|`6BU*>hJ8yD#eHrq3tHDq{M9-BthX&6&YTOHiOUp89P2@xGH|(7v#J4 z6~l(Ih;Q{)k){O=Pe08A{~i6Vy7M$3D%&gb__2>s%vqj8LeDJNYz`A%m=+MP{tD(} z^jRJ;J0H%|)NIR3wh7O4izJrUR)~>b9 zmvJHD;rYip#~^4DY$Fq=8|t84FN&GoAfU_BdL2;?+GWadmG@BD)VggJ5?S|TKlU^a zea>9TTc|^)K&tw*sx99_mzn8|F^AL)1}I-cb$AoT)A2(7R{W#t-}d36b|)GwQ8EyPQ@tOJ1hp77HvO?*Yd<$?T)K0cG~2BQB&Gv zGb{`zyTn^3{B-hd%Fb6>kKAHNJs3#gE5ybGHY|BRH#&v@OA7J7<@;YJmWbcWu8gRu z{6@KhuxNl%^15N+8obSJAlm*KZ#WmJK0^`*=qf%$VDyB@Ko7Ms(c65R{-pDJ!SbhU zmN?YX)K1>O|EM%ua;dY+(@5XPdRqHWQU<4&mO_uwiF0Ng<2xDSpl8J<#Wt`K!82x@ zpy4AS4PYjgFyzuPgKZJG>~%{~5AK#i$kKZAw=+-I78arnMbtHx2^-EH&wFe^LD;<$ z=b4Mwd3O}I2O$V!kGqY zrQ{)7smJq_PvhcO!BWfjRAN&~(m}GW)cmio&g)r?qPe_vaK;Ftcf8~0KLOu!#L*9U z*tdTAX16c^?ZPe27?vd^shMxzXShfkMf?}6fSRI^k_ZT3-)a(=I6Q+Io+p_)#sC~g zp{2AQIfsfmIYaiVX5M-;B3!xZ=IS8^Du3gsa}a0C1sHIjrzLs^H**QvQ7lGO?j+%fu63~?=#!MJ`Vt#Gvqi(ifc4ShL!dx{Me_&CF zM$sA8pmM6~aJK8OjA~SVIp(rrXiW@`Y220c4X)0%{DP*~-*8S!mtziuF(r?fF$?`P zB(^Z3ztnI~v}*3UN>(o-;wNcPpAT0AXXDEBrtrQ7@Hf8qrfzJbp73m41?1FSsL7)*-4`qub1S*T`TRgJ74E6XT~f3{@E-hZB8pcEMRV<`|R~N_2wNq zPjDQNX)M%3t&;@sZAB+vzhOFs>@Fb!?W5{IwgH2&lS(kl#5!yo4GA?xHc6v$ZUy6e zfDYzm6&uJd;3VCf`BFAmaDjEK;+-DyTKX(AF&NVSUG0@MkZ4O()9XbXUiO$IQUHIo&~Nw2s$mV;7#vvohLAK#se5l)@z=VgN#hp_J&_B0%tiF>r{ImBO$wqO>DY zwa!^9?z*DQF)EAur@c(p#_ZI>TINukq1*pmYM91-VD-7ul2x35_NLF&dQRS!X4mvn z<99VP$X57RIqk>#lF$p4v>8PeO1C&XdjHY5S$tx-wZW!ZD3?~^--(>_`f-(8WaQ>5 zN2I%vgW@qI{P{9?i`J;cZE<86LX9=B5C+vL6r5g~teblOi=dIr9#WrhvTWqU74m}! z@|&UQM2ABla&{^sJEcD1V&BA~EO%UWSxE86I_5tB-*ERo+KJxPjDnI9wJ(@n5`E*H zFxqZ`1r-(E5MsfSw`vW&y}kEekM0ebBW3>>xPF{-Wm3%FRP6Kho0Yw)%ExH$%}7Y4 zeLL~HcD>^s&ElObYGb=s_aB&W2AG0e2^1b%61I&E^Y{T*H;w4oG;@~Tl#Z2XxnOM9 zd^H|K^-uLW+oF69Fu*`x0Py7$H!rtIO9B=W*~p*#D8&C!84{R~D}|>Frez9xWIk1q zZlZ<$lSg_N`jay@AdW(9oCkpE}I1bILWmv))RY~9e;ud$PAlSz+`Dtp^mSiN#q zz@m67Lv+gtLbjCz;4=yqZn<#Y`2pore&fK1l%ylkuJ+AXxB|%`J?x{}rkkOUoiXjtmvUEDM6j;VE#ph95`59r)x? zamd)P)3 z9=O8_I^NfpPjaBr*Lm6{8Jj`Srl`u$AHT(1WX>kc9q3(_$El;hv@mn~ooiURRVWe6 zO~y+H9zf|oX3N5*L{hB#ti!Q#38ppl5%7A3PS7S2JTb^=;*(1le79 zcxc12A;E+39eGZDo`WyuqlY$5b#%XU5p7_P+w!;dXqfyWC`X6WQIs`- z*M*iH|D$WGD&Uf#ED~5)?a+ChqyMlAlWRh6`YP@-O`Cs6$>F7iji}D-^CVx@Xr$jv zV$Afde0mCVu#|IX`_jY>v3OPo${bt|AOBK5S(mID6_tn>L=7>aUG+H+r-l=#`c$Lm z!4Bce%d3lE6d4%7 z%Hcbm=U$b>j}r@P_{0EXRMzl0lHK4<*^NHVlO3o+=%PYowGbna)mi~l=msiJ$1njp zE^e42lc8VBwsh2P%@s`>p3j@TL|n03m*X_27kz`sX2-?7f9C#P8X%FmX}QkMie@^B z44BnWUaicg2V`X|Ixy|6%!a=JyZD#|D=Yv0bo7 z|H@q+mQ{h4!7eU$03W{}pN`J>;v)alyvzCY_m>w)&=u#m0Bgbu4Y%_%D$v{KZD?ZB z>Uf~Dbt^bfFa6(K0Fhy0Pz4V>``n&#;SW87ej@$M0qle>g%YQEvaQ0)Q`U}R!ItF9 zUzY?Z>nDZkbG7PltV+D`L<`h81nbjo8_U*DqgJKF$*JVUt?5nsZk`O7BI&P2Vr0G6 zs$S`?xW@0E9<*h~T{2;7tc`6}ns~O4DjI97i;CVbfF@0A*WNokfL{X)FKk}6!RibT z=ht*bRxmX)TfG^zMhLDolJIT38{%|1?d!{M4M+&=jW;t#ayThR1*1^&)u_pYA1;`u zW>Cg=$O(-#{mt_={Mu(Ozsmc!LO#FeUo*})QqR3 zEn2xa*xYM_O|B(O23J$h8pAr-!mz_@7D(^omjz8Bl{*ArSju6Ebb?MI6Wx;Rm}R zAq+8h2lkfRm9S2+KPAN0?Qk|wIWZwy7%FeQ3D0|^?h-@`FJJz&Tf_JYqj*3UTu-9( z!K~sJs-SMQvG|=joo?g)t~Gfne6DL%aeR61l^AxbirF+2Zg$;f%j7z=VV=loSM!?s zEL1e#XBboTL4?hbRNj5k;xM-6PwSL_uk@hoI?`!7r1>v+s~?}^l&hjl+{-&U^hQ%} zbUdr|r-+wrdOGK2Rqn1eALn&geHL77-(JrSn6QE87Z>I0wd7*%&BH_UXAfT-?1i@J zU+Sr;Ydo(!Ym{Wtbr8NWF*d=a@LF3>e|X;vg@pPAMTE{PmBz-#7GJdLHn4PGzyC_b zP7^e~JJ$;xK)pBdwXit!zTfP6eep15q5!zu71b4=ZEIfgS+&fHTlwuiGC_n{w}yFp ztajG4I9GWG6-HXuUfVpfie1cEhs7Cl8rZ`+32ICVF*pwRN(RpbQ**?t550=SB|z3H zNf8y=p$0c#WT=er77!Dy)6bO8c2zV#fotxd)H-qt7bfm_tXsRJtTrqJ+!}L_P4+*} z@!~aMc%_9E!V;Yxf zp>&tTVQZo8E9!7OpyD?7(pFzd@Nm59+F^S-!B}fg2D_o{meS+(YT(Z~j#~jjICG?b|3FKYtx%94E-(KJ ziXy{X1iky2T`h7|Qp^Y>lycMC8EkvK3W}v=5*>YZ=W_N0fzWW?YR|=I7PCP~l-YsmP?4xUYE8P%(}%0KXR^5oSpu>yNc~^D?~k;Ymr@vShYQggBv0uJ zL{!j}A~ncPN>sA%HjqvK%fFe@5qorHr7p*B)KGfED^HZvX7L&=xM#J4n~H*>k56ZP z-UZDjHlT-WJX5I`myM8K?URt(%OkT)7SEMd?d$USSw%%ZC>~!N6X-P}qlb#~|D8CB z1L*e8x84d9&@nQrbv$43lwr)Eyj*;y`myHV^#c9^jgWKrx2-Y-mIzA{g}#JoFXb^Z8XX$t!<1=(MGs95+#M23yljxlK22KQ(dmZc6S zS8i?;_+EDF$AH?!<0u5rFLVNehK7d4ilt2jHczyL{~9l!bzO{r=>rB^(&!i%3MGmb zloG70Dhz5jfq?R#5<-X0rvk&n!<3Yi!-IpHP^T~-V`F1CGoBKX`Z-VjHLU-P zjjDY&k$!(E{hyb77BG$Jy8G{Ng3s=>8}I+y5qiP{g6w~+qSs*AApR@X;p??_*GIbl z7_!6U+`W_jj}<;x$aW0dcVL9ezjwLc?u(-P-|uk-mHz+u7NS2cFE8Uie$=FK$%f?r z_ewA~SPy;(Kn{OVOUq;L#XZI-tu!fd6Rny6VJtMqzkcjFE|Kd?zMv=_3k%E1i5btT z!fYC^Ka%-Oh~wnsL?X$n+H6{7*O+w5M(M828=PS@8ljUhac&3|0N3ZHYni$A?@CHc zOw3E_%jV`5<`##2k&LWNO#52?#XkQOM6U)6=(e{9&aVei(jos%a%lfLUBte$?4zir z^fIsWCMYaC>YUlE>nHJMSWzsh-DKNQ7$jV!0LuII_YrFAu*=Hxd((p7&U}1Wn3!(O zl8eu7`rqHDQS;`fzhHru%!W>w>McZd6+BEj`}87mu`7tpS3f@VYl^l_y*v%{ER%X& zcBc(Y8r6_RN=M3sl4_3*GyAS~@w`m?u_8ep;wdT38sSqS|J?%fCu|Y^eG1n>aB?|_ z1Y?*y>3UYo(pLKu5=k`6OWtgrYFR6St_! z`!$T$Tc%y;b6IoW#(=7GCn9o+p9#tHn-m7CN}e6@~l6UuZQNhH8)=WlfREP*X{&R9=JQ9mK}Lw8_N zxtSS*6-WdjWhdlvT%fbk=1}}pQ2guuV7dsGCP}!Up}wAcfbtvp=Ea-tybsF8cp_(6 z@e~Mcu6DCXGM-^mN8+J+4hRJE3?Mxr>R0aVb14 zVv`DbxlZlilSTFOR(V7@{QJ$xVHJ;+1V>RHW$nqiIduGL5fPE2BRq|x!^7KCPGTY= zMxR&QHFH+$=jKgHUL&Idg(B~jn-iB-qTlzmAFU;ZD{Y(+aSBmz>taWZ-}Y=*`~pPg zsx%CS>lRV!t6ExwrL0WNzJPgmG(3LzCs25!F7Rvu>4o*MheE=5gb4CX|Lph2h=| z{hWT8_EVyOes;+!&js_%U@BBm!)xz(CD)0v;q82s9 z!{|Odn5t}LW7FxiXRWr#c=rbujMuro>1UHn@q9_rc{m!$;0zbe8yXy>R^6Cd=<0C0 zLidrot>8>ZP}1?-%qim>85o$b%CS&Zc2-ilX|me|LwXu(Y#_UM-&Szx_3uNFeygZ0 zFZ)Q6#@E%?3rAu?;cc6J8erIZ_Lek>cWE;26V1F}g57 z$J?1*SNF5W%B?5ihxWWL_j`-m-z6B*I-}#%f4x?oMym;;b?oi3%&ZJzA3DqTe-TB* za>Vnz#57)OJ9|G&m)2{vD+W!CXSB6>y__zkwge9EiPqN5dqQ$MVlM5;Xstb-sIMLT zwMb%Us9Lu&Eo~ez;s1{J)c-@GJfhrSuakgY9RnE3RQ#Ecc!V&Y(rU_)AdMy&*5qhP zmp6SNk>o+#+dn%yx9Rp@eG2OID{68t^Fmq1hcfHy>mRC?zctl0KR}%!I@Ra2@eUXw zM@pBKlx$Wh$f=1HP46>dpAns@?}QCeI62jSL@BSSvF4O~*v?98B=zb&&TK7I-kbha zSH}#lpxkic28rvF7B8wiz0qtf$|52pJv5d>kRrgobvWA_92#PoVZGK$$Y#~=BJFAu z+sgY})E3RIhFCb7iF;np3V1Sj5mIi=(W-dw$sjGlM~cL`T(K;+9S#5W?+?zC9(7C+ z$WtJpIbrtNl8cC40(3d%_{MFw!!gqLwM2s8=XqR7)9>yp#T0nX(>wKaTrGRMzpRl~ zP+L7o|A1FgK@$I`E-~>5f98$;Gc%|i%)c$Kt-W@C*a{Dq*k@Ym@LIo!>INNC*m0xc z;`F~m;s8TKnHQOHvkME?&u;A?Uyv8diMc)q+F3yX4ADXceyS*5l8rPpu&kd%(NKF` z7H?mu9KFE&-q1pV2TCa@a1rhvt{%UB-+!KYPfkwW*x1;)Vav$ity1_6lF!28D6Ir% zCJEZ|-H6Aiq=p5~nZa@38ANtYrj~8z{lS*Ko7*B8$@o1bPU>OgXIJ%EvS}*^>(%jA z6{c?I^4Qh}oB@pNtx0)fUlcc(5JGiGHWrJeoid#J2tCKl#Q?ldmz z^5()qXdpQSn^NKD)?ew=)Rf}VFgDFI>tj_1ia=xxAN_}#@wBuw&>Rw7ou8k-BXD_Y zZfTdxBdD$IS%$a3p_v+$VhxgO0e<2A{Y6g^Ks&FRAK>{yOIH(@j|lvMLJW;rwE1 za@!5P1>Xady}Vv7nilq)#_ewZQ;|J+g{u5QZLCt3pY)O@qp7nfq^c0UH8oR-QaI8X z94Kv8Md|4)A5i*ewcC6<2YW+Vs_n=qC`!R7wq|nMcEXgEwY4#g{C}6jv!U@O4K|2G zv0__&>Qw62ST?cc<;TGU(xNhNXW)<`iiH!H+vfd}n%9r)IbW`#qEcJ?w7=PdOj4jC z@`Q&sF}GHkpP!s{SJlvrUQTsJOn^NCeY`ZbUitD7Kv(Vq&WrCuJNs|JWmXii zP@zednCOe%&sUiJ{f#P3xj7>i4Q=I*Ku?f`SgqnGhIC_ux9{KaG`7XDm%c+}7nUlY z50{2vGo&yH)?Z0OV#&=9iBsWWr-RW`&?m=9XvfB7XDbimGk?rV*ZU@}pCA1YEY2yy z?3^2%I#o&aCj*L0#u_Tc5I=l5T63F*==``-w3=a+v32=@BWhj&b?eyjD0Rj~YOqK8 z%C;e+<&DPCW@TwzfOXuUg^F91_&QbrbFc917+vie`{A}wPPN;*p)hUQy|WCfD|UfX zUib$6##hFGp57PA4HD^*Y`f>9dG&t{Tx0zz=mxTm@dcZ z0^N_#iCItP$rg~4ot>S_AV??L7a8mT6@6;7r{--c z>=|7QPNV$A4Gqo{W8OMbP78!=RyR>GQfHoETh`Bp>vtP6)#QRK(NY-@t4 zRWgUgqD$^A&@B|(5CbhPq1Rqrq7%Nido+>5gKW6iNg@uK2M5LE*RgPlr5u6cN3{_k zMSXom^e4~m{I}Is)|JN!K}c;UNPNIOz}*Y^z<90#EaQ8bO=Jbx7+&-=+k0C}B_$<0 zJF&}V*jwlLdl#6zMwK_McU}j_S36vy# zu(~Cd*3mzh&{fdTz#;G`k6mR80Ua@jsdt~*r5yp_JQ;Zh*OoLO;g6kd@7sxo@c79F zf1@8lF4|7mqzC2E6d33V(?KD`f zw|jTjEI$7XO%mUJC`g-rCNB}2XL&d+t?)c;orDBj$$p&RTH>bjbR?$6VtOC}yDd`7 zUWTpdZ7VrvGU+mH4A%aO7c=edK}4a`N#KOCP}kUarEYRQ<{cPQ^8EmCL(eDk7SN)#=HZ#WnN6soCHvv`ciPqK|-VVl3+M>4E8?{`mFvCrN#!cK|D;YiPx5 z+_}oxNx-wHjK<3>ee-(_kbU(qn<-tkHTL0=U9IBHxqU#8E3Y@PjzvfC;CjWmxN>0mVC^0+=i}MWC%&QlMKZ4Md6nJFq_hRH`@ z?o>|o2-Sp4eI!(^}ZrZ4hK=knad#Vox+Oun&vD@$bQR-if^t zp*4kL9Cq~J(LgUc7nv2kS1Dur6|Rd$jQjX(Wzmq6GcBT6bJdoh@YE;e_wM<&z8|VK zGY#d0)#R!E#;%ZzvvW8V@*_;3n1obD5jHR{IFamLfNSoI4TKhe!yc%A9`0|*0a}U)n ztVSV6x9_Ww3ibn3lsTvah~_pCeChSN(yyU+vnIQfpO@Ujs4< zKQuHdOtrzXdLvgHeYu{)OgrhBKw0*|=ol-lI)C{;C6_`YaoD!+2CBRujlRjdbqMtK2=NL+MkeV%4J zQhLUvw}IlUmy}hRT0+0oHN} z(#3mfSgh|9t%;7h%Lp_teD_pJgVeK&*Q`X!f`#!`Z2{;dBd&rYbVB)g5#6WlWInpt2oRWmofbly%tX#{wd8%k4p)6GcuAV^GxeLoGrZa z!|BHjL(SwJ#sj#sEVg+o$4~hQGf0}>AcOf z=2X+0Xx`G`DL9fIi+?nD^yY;{nrFKHR*DbyH+@_Uy=pwWPgJACNri(7jm@&WZ0FOt zIX8n`=Sf^wkHWHwb?Y#5btZ;xg;s(CyW^7)F!6b;f5b-QvtUpm#Yp6BhRN>tl_a~lHwr?ZGA!oadL33C z0m6(@vt{+m_0?Lr$0i?4PP)~n zMaS~N_cxsK*JLP9F7e;WZH}Wai0|1!nQxEw*oaE{tb^nvYDK|t0eE6#I0R%Ap!;U9j3c01# zzbEYDXz65H2k+o~DjdLQ%)y|{(NDnLo7#vHqOP3Ha?A{rd%iHLb%g#|QJU<&x&gZA z2AH|GV2;%BP3DFNVS}sbC~Vg-0be;ztaQS&{qGkCSDnttTy-SoIzb9C^UQnudCN3W zj!kwK69vD~4hWJ+YsyUnP<0j&Wi#lS{GGS+F^&hMNa@WpnyC+_cGC0LsRM#Plx=lt0Htd_!mG z7xP~*5ha;$AN&*x_7|r5soF?`ZG-2Uk$lJ$i0L5EIduzKFqX~37G4q*zl!M(8kXuv zjSrZqmJ4ld8yPji%_@~NXE{Z0brIK|8Ke50qH-#bPag_vHe%3QBnTdU{bCg;QHygt zQ{_>csRA!h{06t6kc}iz6`0S-XlNySztk0D1gjNM+)RF?+`H;EsxjQJn%w@p?zN2x z{jup-oW`)WrnIZeDC%MO;r*idttRD$acxaV?Qlo8`#TQOQsxwPwSRx^_$-LwKQTCz zb}w|xp@gYoH3I-5W6h_ofo?g8Ddn~=k#HOVOqmD8utKcU4iLcQv?>X)Ly_8Ff;XPN z)J3;!NrqZRLVluF`5CAlLdwn8RS$UG4WTZCohw)e7{r?N6yMEcGU zFTY@eeTD_OP{(_i)cYIcM9FR4*tUfH*oC9H*dV6W*I8-d2@3?(i>ET}GXtnt>SN1q zE63#?xW2#BJ#Jc}hWimKXoo1?Z>)?CSYw&@GsSSw>-}xlm>Qj zv+uvT0Bl<%vH6_?Qj&ACDPnT57>qSXO-yK3K@>BPF^k;yNC8|t=L_ocruy#s&ken< zagU}Sczxdfxce80uqD)6%F<299(2?zQcL(K;V3eMz9*h4Th2lq*sfd+7eq?`g;1a% zIx#ijWc_`Gat3fTZe}1lD^xLK$cX42TX#oI@Kw=~kaNl{VRU@Yb3mskCc7fLIIt=D zElKx6c}{6w8BleB!01nUTB)Ldej$i}9!eb5tKAp{*pVbuE|-Ok95H_=Z+cOZ zxvSO>6RvS)A}rXcw(s8X*2dC`W*>gm+rDYNv+#4cvPS!}B=?&{K(N>G>6B9ZSeG07 zoxD=hb$h}3oiPYI9Z@HPun6%~HLg@(n@Is$TeK!Z5^UGgct=jhhdtC*A`4kjfH}bl zc;50`N-aeP!mu~tVkC=V`25^99Gmirmlq_97E|sU;?=a<5k2(}UlGplsc#pBjnO*o)OP=HUKj zRGm>mfn`44N*lSqDHy`lr)N;!)AxAUno@ohj7)2@EX^Rc@XeN%P3?QaCu*&<=+5FK zYD#4#GiIRk;}C^KGhdFGEQB`RH;H|;uF>eo@nRLMQf)gPDkEc%q*?XuATBq#`b+hp zphYnX6;W$VEbJ#H_)jU4nw3c@Q{=>ea}tM5d5L>Pl;A`!msb<(K5M%Lo|*X4ll9vp zr1HqCcxp^OIreCfnQ++P5KYYx4fHU%F?QcvVN6VlOC!S`*62$AC3B|9*TQ890vsL0 zAm16Zwc%>Xa>QG(+}*IWe!}}&=X9J^(5Q9HiV%usj=p5i^KP@~hRQHit9g_KQps~n z-`J8e$Ja~GA0IUMYV=cK@oAl9rsK?{EcE_px!s^n45jr4-1QrtpF+;09pu9{W0@dm zb&53D+AAhlQ+|aL!5|tKWpfWv%I$WnIbwm>FPo2yOsSp__RH{gH8~y)zF7$x`e4=_ zn-rQwN<@Bi_~Ztq301p8i6^Br2y_h&Q@r0)`1T{zmI3jp$%fZE9M+NAp`X1QVkAda zMS121nE7E=fdI8v3B$B5^j0E~D9p1Vx>z&S>a+E`B5Bhhj3$c`IyE+9;!os{li@*b zw3bHIeuJafFF5kIB_Rv)uGISd{@bM}Dp$=^b7k4)YV%>fhP`#fV#_wvDd62V+bQTW z&)H}Z>@6F-m!cY7E`^}x!z>Oh{sM;p?5%rYENjsK+DP0d^7fgG> zklLV1lOur8NcAMFZce{1ZRel}mA$Z7oG#Xegl4vR_ItxPQ@rWT9H$gI@V!vE0~KdW zGyC@u_(Xwy=QVF~HNC+O%ELr9tjWWxslSyNF(R~!bV9*wQY{%pI-e+yLy|l$1jrni zzjdIykkqabnkwySy8O%w=w7>r4drukcjCp|R3?m~aKtTA4eT?__q(;%>DIt+6`l=0 zM9XESrJ!5qJQP@n64C+8DB)Artbixvf80rDeRt}=Yz zwE?u)ko`o$G}YpSLfrFp?OO97toB5-{?Z&Q`oPn)0!FWQ9Tal!OOjCYE*3 zvkneSdOwBhV2EDoSku>Sc0UX#+_`IYB$2Dw(!@qZ;cGA9|DTa$rD9S7FXhX@- zju0&2Xs{j9Uv61WMRqp*`x#Lc;&|Pk75AGHOemV&i~l~@1zuEglPy#F91&4bBcdN> zNm$fD8wLZxuvWWf#cuPx`+0Nm>Q(K>h5Nt+=YQJZuSa-(30w92%0F`!D;H$M#B%5p zF*g;dzJa8msi!*2yl3_J>zE2{OgUsjrPCA@C)&XgHhMfa4_%l4`wWcaN!+9dPWsY# zA{Km#M4mD^{8j{!(T3d>Ntnn`4##*4cJBRc8Uo6=UM6^M=RYE&EF1s)DQaO@KW*go zc3YY3mH!;GFn}D8O}=W?Y@yPl{E96}h64pii6qh3+#YF(g__c_lH$ooE#90|S3D_1 z6=gay`=U=wU@ut-nbkI^H;|dPsCfw&KP@G!71i{W!>N~lOsJp5EkVg)42Y`GGL`qR zvQad(o#JL-JYP_5v_>mn^f|gPxT^R{`<02~uPpkqz4O3e)gC>c{_t(`>~oA#L|pHE z$VNWZ*nY~_*4q$wxv=Eho!x$6ywSoDICWzwXrRK4e|Y4}Syw|iq6ZfIrs`)Mr(R|m z`}0qBesvqv!i4dQz=UT{y5DFz8t>*E8ojuGd>2M&369YNqX zDd`dp%%S=ry0ej%l-FH}md&*>vG{y-YvD@3i#Ba5_olB`pu?U0A<7sg(WJ^*_@WL{ z5U~}}yRL6IN3kpD*&3>8?|>NU{V*s~4jF78&Wu=a`z`1xM7}x9T3X z^J92luY(4e>gy03;b7W3#R<6eA|~+mzpa^r=eq5=M|))2>O6<=yYi0iR+7+e?zTU^ z@0sOJg=;HB|D;|^KsWqqwtUAg7jd=pzGc2S-of4N7Bk1?9U0@$AEN$?Z8@LGyX@QX z*H7&TD`_{#_~Y4)Fxu}TKf9-a#|@^GvKLizxI~Z6B+TQT0`Ex`NL@hc2B{7ECx1r8+q4B35Q$x1YzVOGUHiR3rsT>^ za+e{Eno<7f&lul?DAy7k0a0JKiAml+G{>DUXdv(5-9H==$d9yG|8O8CmJy;&CN$m? z_y_(!a3a3{`mcX_8MU$Elaiu-+xn%)fwal_fiAOU@5W-Te7%Lat9N0a86@PmH`%;> zbzq!EqfES(bCf^mA#CgUAL<1*pim@T-I&(<=bDQAtTS3YTXBy#BvTf&KV=^HK|t zVk2MjlSfR--Ana{OY+K`)iN{(^p7>2n{k}|@B5H=Q2*Sz?Agt!>+aC3g+X5g3j@>V z=gTA=@8xF3mASbffgH`|M+Zg6i1yWdt=108`@402|KA#mELioc(27!{?aI!OhK0hF0g3(! z{P%#s!Tj7D9y>M$hRa{@?kr4oad2>k2Ea|7YzGpO+;as_vaXcod%*SadJ#08h$c&a zJgV{mlM@7-gBVi?rc7se_CMHs1c@jXIgMIXWLUJ40GL8wU_&r5FyBuB#;OrGqw z4jvuVsM;p`8+C1OzlxLKwi_~;*JSYm(3j21!U`VdywS+p_OchNhH!C0R);QP<;gAh z)xq-Rkv79v+MxQChKlM@*PoeoJru>t+GyR*Ho47p@}0Fr_(0oxiJXcG5=u%~!2h7J zzCQ36u1KC-r&7(z+S-1%|B5zMCpi_{Wt>&FNBvb9IlODfzVV-rL~h}!l9Gy@)fqEn zT#JXt>s3YC^*=-`Q$R9nm(9(7kGo3|JMyl7C;>l>#R?Wa{8xslftlG?`<}tucsTg$ zwA8ehXHQAV2z3n&DX9pVENS=Ka{XSIpp8_Ay|KTer|49+&E7AatTt|1hZ_bwfU7bWfl?%4=ywnmuh+b*?2_@`|klrKTPN+4;ryzw)9^sn^8Ika7x56)#689XjmM;AlYyV;r98JNqz2?E3%8PY|Qw>f@z5>~D4*w1+#{RX-*c*-l~&$1PK;h9 z(?}qq-w4(Hf6TpQR2|>8Jy^H~lHkFDTW|;t2?Pl4!6is=2<{r(-8HzoySuwP1b3Iy zmEZl}_g;^_uSb9E!52oIQ&p#St-bbMYtA)S_iAHrY$bcJZc3{83ggXB$rihs3I70> z8l915cXZKw^l1T0&;{U~u2mWC0OO0Z_J0KWa-~x*cH&n-a%e$;vZE<&lo%Ek7RXfd zPUc`|AL#F=rc+qt;dXDmK>@03Ymp4BZu&0a;2?4F$^?A&Df~Vb#_Y5I#o651!4mH2 zF&v`=d)klkczt*y5c2fo!C|p@GbT{?l{|{YS1>1_)xS2+>3piLwl*d@Hq6kv*LJO%EJ9j5cq3D|(?5&1T~)jL>DhTYU5cx-cZSeA6F<4Thhc!*2yYxJjVf`2E!J z;Z$p5PTOsd-)4krw-kj?+21_K9R%0B(2!e@$j$jQVfg4PF^hr}u$%q?c)k;h`1)MS zQAAf?+rF|@DsONpSrS8EZw%d69uP@qH6%KhHACl^m_Aj3C-|bFPJ+_`0 zt|};(z7W(i2i#gN-7o>19t^%+8};?WxfA)|d`shrzxXqu2mJhbx4lpmlmH_N%K^Dk zcnlYK`Lh&o%3(GSQVVfWS5D$T$)p%z;5+Dofw+)RS8n@tkbWg;Vza@NG69;y<4t*f zJ}!)#oA#QLJp3?vSMLw+%VNBWb1G;K__;ZbVvPpL?FYV*;Plpi!TkpZX$Y1}_bayo zxPQV`H!3iJFS~S=)?a?h#>|yzgDuEe*Vqr+UO`qDoe2PH8X9rcCxC;(KI0GK74PE{;BF zt<^k3PI;q=^$rW8hwB4k%)*ObO>hu?$9zj(lMJ%ApYthwQ#eyx|1|lK6xymko`+Q( z4T=wyX}_$^1hh?C!XEZSl9Lmlu zo0nP!hN>niPLSX+#Jh0{@`paU?oeG(go^Cs4MSjnR+aq@h&ofq{pH?Sx;TZt;n#>O zC#1KM9`j7cukgR593Q5Y^$)&Lg+=qHV=ODTF)T;zr>5?QJUhgBdwT~BzK+asRBkzE zZSUQEc%oqdcxjy{Wyk)uQBhY{gSd^~8@O9!{(kFJ-4Sq-EZXDiTIEsIAA^MbD#JA1 z-R;~Pz#F=L7xE($nQbK_HWcXC!B)_3c$YhJ^}+n{n+r@`C} z&-f8Fvyn7RJjwdJTtXhbEySa1ltBV%adTHXx9a%-b#!QKChy~4Sbu<`beqTy{$(b6 zxpL%QJr-|s)71ChDu88sTY@QSZXVwDXp8^ z#ZV6Wd5cjTdeYR*(9MyfX!nPGW@L5RAk9=!jU*n#QBNus2L^l68WthzBPJcOJvTC& zA>DOf8E*wQ8EE!A7^h+5-LYHB&O!#Uq`jGb$k8wDJ>vOvziy?vd(Qob$Gvg3F<)3% zxVag%ZG&@kOc~fba8G#COVuujpbS0|iu4X#TWD5rAO;2&~Qt9Q6r7J=2 z+s-QccAkV4N>)BPw>6&g?SCmOX=N>|?de%=p@efIz94pjyU#eYqb)4c+Re?(!6rBn zNaOmrx9b*2B9>kztBx_a!+$56r8i!BmtCS2R};@+q2f>;00XqsyU5E$ zM-nJx@7J3&auE(jb;Xr_{V@}shO@raG7rt7P}^|AnMSu+U(3xtZ7S@Ft>SWWb*^mz zg?E0qoTYLN0AMLw%eQXB>F~6@x=D`)I2s;<d4; zuqh7zN6gSMP@gZD3-dt57+uRA7J zp=r)CUoO4b{*6Sw(tu#^`ypx*vphlk&&+uA@4Ud_FdJ4~;q80U5#P^VBs_Z|uGW0E z!UA=<3Dzs(NGt06lLnD{u6+HYAvXe@5(t@h_uRWD z|C$65ieU9ei?Yk?EI&FjT42zsrLI}C(S#ukp`yoOc;2VvF!rx9O>#=AMWva}96Xi* z$f3rD^kwfoPVHL{-{zONYbnXGn&0TJ4jRbNf~$s||KYGETdKH+9Y=#@hCiCn<5R&9 z=p;>zXrIb0@l+GNAJG|8pBEgaDhn?bE$d!hm(#NCKX`oA_wCNwyLGo29#`HcuN!GWV;PIort$2-PL$xIp{TD_$?juCK?9pr)0gzY2-w{C&&alNiZQ&C%;S}3YtsFLN*Wl>y?|gI758pye>hMBV=)49n(paI7lWPQlqe^fHnLty!59^ zN2ID*%f5fK>&O7Wq?h*VfaNwOD-ut-0!VT-%fde8&BLm3;z_tJkJluu~f0$nCQg)l9@>n7Yh|`~x}_GIs~( z`oPa=*EqtT{Ooz(<23h*fcAbm-G(f9;13-3szxo(q1s0#dR5WeRf9wK<~{xQ(P)6p zF4vLv&BDyvO)7=gux*XsehJ1zmr}jLy zz8Lm=UBK2X2(5UnJ;1k*nhFOC0Le6A&dOu@%k?O|yI_K?gBG^RGhFlywk+q{-zGRI z7uOOp5wb{|fu@WVcom3#FpydCcU|+6GEkn}lii)Ng%TOU%HGpLGCCJsk-2$+gJE$t zr$~RyRE|DMpaTh%A(x3}QD@blP|1(F)loVey@3kLxG*SByxsNvWXH?DPlnW}eS5GI z4!xgbP4!jP|K=U=t@S1G!&ZxYN?Np4;kn3)|UKIWC(vLXh)KVjLrO({Jo z&nSU{A?*2d5ROz{;p^_a80x)DYWH~FPp3TtnQ0XS(RA;7UsrF z4y0!JjX^r354~BqWHnAx#*q##)|?=r>tj9|AvECYMA3Icu{t&|$3f)A`7j+Y(dh57 zJd#{In!;f)!Dbn0wX4sU@X^J(eQp&v8@LKA4pDE@xKHJP!iayVNBZGS0~VF2iirGp zI07xrV7G7LyC@??-X&!_qt?$>bgt~2BCET;l^}6_Ab~e@zshl_fNbyim-5>WL92H9 z^FNP&8Fpe}fu|Y|BBWh%9HE4Va^jL#V!l1pUxsD1Vpn~#L;{#Z(8#`C_Mn7yM`VvF zmzVU+2z;I~M^*=Mw^f603Iy6CzST#mSHD?pRBjtm`#AJMP#rz~L63Fr2`=LicJ+%E zY)a&RSE;HJAc%G#Wa_W!@IeuZ&Lj<|B*hPeWql+qsagyGMjDE=BxrVYB ziP{|%AsnzCv$q!)hlLdn^|Od}9!T{!0+|q6M4_PsUGG1`HAM}fIBwG_?+#(G>(k9O z#3^S5dK^(9x?iJ;eQz$N^Un92{$-sgscLk4(Z^HS(Zs=06D=-wTE6qk{1{H|(O+a*`SP?r8NT(Pw4=hxLq?LgfEW3;YCcw@ z^TcqP9!@UHGsBrRi+qkmC?h)#^{W|Mxf2($-XA=p_Lc{=kDm;oHy@}H%PV>VOe0rM ze7mnrNPAfc?ZyZi6VsX|$1(o_&oA3m)pV6{@T(&D*T&xaL{vW*K$}^#H%-hP2wi#* zV=~@q_PcP--Ydl8A1vJ8qCmAv>Ok|#hm){9#`c0H){KV(;3kED#fN!HER`%HQj7#C zM|XK9cDPAf=JeK;M7A;{H=Vb@xa=51z4p_URYP<0QFN4H_dbfn=uS0Qx^akr(PwN_ z1ml_HS2)u5t$6KaBlUq{&_zX4wQ16W*%BE6h$Bvb$VET{;PmKbXpGhdKe0~bu`EOa za<@VxKcK$cZ`q5A`gb2*Q}lk23`!;sx{x6E1AVQxIeqC1QsGI9$iYSZbEYjalG;03 zZLKs>mfGv~_mGLheT7PmURquU%n)*Z${~rHH=|R2!!8xS{C| z{~I@6!shM95pf{VG<>al(oNt*P4O29kLeVr0~u7Dts$QUp|nX$?K@zmUjF>u6o0y- zV?L&!#Mjbk!9#o7`C1)`Z&adCj@E3QYK_A4p&B=_;`Kqv`s}OA9A%+ z?=GByj*>%@`)HR81iyoWouN}AoYanu5vPpw{6c!^L8I_Kx~aAz;bnjX!|?CgUx#y` zC2x$|$n;7#nw2HURg&ac4Q{|95~kx+eDeA?M@2eVTt{;~2J46lJSE>U-AcQwt2Zrh zlC9D-UFLzC+|L`oqB0L?)w;BfrD9`TF3Bw_H;YPQ^2LGi)rkq&HCSL!QP|29d2n!; z>*_g>hr=c|2Fp&=h@&ETVK9`mZZnUu-l>;;_Oj8h&3&wP#sT~3<-k{)Uwh3+<@w)S z0Is$pF$%DEV(^{JFC#f)IPl*B6!!vl$t`#3&ze##g-K@^OKR$k%@2~g!-9@uBrZ>9 zNFCghKL2G92YW5wl+@_YB%D+Y=y9moUeSK?U02h8g^ZMuTZ!iBaiyfLFa!Nb?$DW$ zAW@pc3;MEs|EK6%#DS3Cf)aCIvLo>8M#&n6ZJlKYb$Jw&Sfh(Q@Y%EJ~mWCHp5ufQJBmEg~5Nw&1o<{Q)~LN?n_iD zD!9@0ro~TXpf3pI>Ge@;#ir=fwdeEV|s5?q}G~v$Dq{KO=BO z)^;eK^KmMUas5Lp(C`n3PJdL65{oxCoAV5if6t0-fA`E;n)6jb<2L%BX9#xYk=u?s zDd9zoQlkH>ZE%E31I~eULGx8FCuagB@z=4zIz7V}`6K8AQV)f#=;h$mZg+SRpX{4n zVsAJA%mDN=hx~4iN-2JP!XZn%&T^E_%hJ;$l} zsqPrBh2o_6)V-$n7`%%k8bvx)HAbHO!X)ki8<1EV$b0R)-mRG<51<2_nH3XdjEHa1$%v|^%vfzf7$vJ{D0tWgSr{Xe}na>l)iIg zYtT_x3V*&c=?qlo)|79SHal}0?Tl=7JnFHSbo?7KC%2yPIEc!LMAx!wwP;&XUK^uZ zr%j;O-Zv@~hXs#d*?<{!r~r zL`Xs$xtMvTcoq!r0G(6A_s>7-_KWKM=f5uC`RtF_PWmo~u=}fwA8&MEPpV(~E<&qN}V{I_cf-#J9(NmR4S+1}B_UoStBu zF&NbN1cpFcYMW%q*@y055DV+-?5N}FU&In3>#_Hrwem%^*rB>6dJwHy!-#ZajhIr8 z0^GwQmxCSAnGO%1Q3Vmj$^=FM7|+0lmzwF2rUfUkRIIrVC47>&G`rZ5>hPt@gP3Qu zGMe(u>X*WtLz~#Z{jl+SqYEF1Cgkw0gV>NUrPp|uVBW3y$(SNk`ix>d_4cWM_^J3PpT^jm_hM+#lb!53LI1x)%g32Rs zfZa%Dk8k+>9MRfn6sH`pnRJEz(rIZdJD>YU^RW(9Za-x_j*kId1M6WE&JetozVKVC zuPsCI886qUqCrK(r>`VjCg@h*WCyXX;=hXCo^q`~;&t%+z0tv&;!5K=0p9~*hRjNMb-ZjoKSXF%6+Ro|GZ0TV}*U*=Q z&oGhwD%;K7SDBTZ%&J9*Td==x+_mBocs^&F7vdv7o9XzC4``9=^kPZ}ElLzf&!yUt8y;yd8eGBzp?ek^Ms$8S>lCr#YtVFjdH zZ3EiUD4xF?7`&Z7I^`TMf~2ykS}Q4H8ttW#0jI2dh0Kx8ix}PCpyhg??akEC!`4MPPdf;ItdOOX;#zNO`7wja>P$};rX<9wyJ)*_`8=MaJ4BH}`S~{5 z!sLr=i|y9xOs0zNBh`1kK;t(xgIcG)*^_SmSzDYvv}}}Qud3r8TU|?W9_!X$A&3(S z>T1Ht=)S)C%`k9t{f|SM0~y>-hHhX^P!&)0DY^x$S?Jw`FJ7~#t*b*xg~Aq95QPCo zQ=6ai1OB|zBuQ>P#~-WaEPuQMQyhDXCHW<#dW))baxp&NSefwX$;hHzF9sp*_lL9E zTpjKkU_O0hfDalBg%yRw~*7SJ@smnWh6q|~knSG^q z`3vxWKbm;sqG}esu$H!b&UbPAat!WWO2yIkmUs%_MLUnMIx8}3!ud>S2 zCm2FskBWoOXDz5gykbaE1kHjP@978C z6c&tDU@-XEDxm9+uoi5K;Dg*6Tq>Te*|A{sqNz)k;IHVD$V9Kc+Qw@aQ}I8?(Afv> zKA<;@x1$cb`z#&C<5>V^2AuXo@6HN5+O z43BbZnlW$mM1QALt^5rz3s)(Nw$W3OaF8$ZVzjsP++82;62VF&<0>l9BB+S?AnGSvs;a7i`%RKJq;yfz5Zerw zh4?X5Wwi^oSUU~5$duSbjHXlDj%Qs}u7!#%sc$9PENULGmh9fbZIFktK%oI&C-hkA zpj^FIZqRYBh-dCIc17%`(o!M!&+%=s`QpS29y(^3#Es0fC%Q3_3%K41z9y9}!=M9B z36mOV(^h=RmX}cOdJsanjb#XlEOWo3L=<~)^_?Zp_was*REhfxcIW|xe~>Jz4|1t{ zoy?(E4wnbGT6l3tVlbT+8p!A7q>*0*@E@UCG8V(KCA8o_SN#t~AjVId|E&l_VWobh z^=IZBRS+gCow6M!Co7BWryX@*_StnBuzKAX9+dVWrO|l+r?k25nv|^^-Vs_O@kD_A zA#P`JS_NU#KPjW*V1={RT}lPXh{=WO!O$XQ=}7-zmQ0kFTier?W7@_5p7mufR$jBy ze-#E4tgwu9Z$xm+=2f;M z!7F>ST&0tY4^+x%>8n=_ob%O!nEp!!28qPS`It}uX4q!G&s2b@?W+E+pzz`KRE3|m zg&N7-EQJsJ_@@_LHErj*2nhow5##kHiob-8X%|O$+!o>0V31bw3;V_23p|)vNBEbi z@>PHj?w?BZzbY5+RQ^BdYpkBnz5iRh4xR!}(pCdyS7X;??>3@?y5)8`<3}G&<#EJo z+WX0$GPXUmgV=*tj%l$k9F(MZ=2KJ>7E;J6sVT{=1^+CTIckO zk=OS8@r#1O*5FLK!jwBQgi`VFy}O6A+?HO)N*<8j38LDQ9`_|#Ei1#r`WxQ& z0#84`{$!8b=U^*uaeInqbbvhH4hKQ19LlVu2#sOdiRIpUkz2pP6chgC`N;@s>1{22 zt*^=(xrS;|Oein7%%XWLGrD}GY9&{?dMty_aB>q20l%r~=2!f*1e@N|b96xKW>Pzl zs9-cV6GJn9vgY(s`IH73LysCxblOei@<-i^io@O|c&;&RK}Fp~Es+uxby=(~P{>15 z0jAj4K*bSv5U$Gn`Xz6Ih|f8jTS`ev>Ud0?iWF|_-@+-q?ORkbtLn%0S%r<;d-D5p z#C*=x4r^Y0;lv(|dZu5`8X*_0BZG~IfMr|D{QUf%`Sa@8+1lX{l+RG^Y)QRggv7}S zxQyyIVOIxrzbk3UE(QNQWDqV1>>nJw9BA)l2M-i!7iX;dqjR|ZWU?TR9$3D-hdiJ6 z{mQI?@(dcBHda7Lmohv3<9fE*t-cjpWr7w-!R{DH!aD@akSd-kqeK+gI3#6%aY8Z`-+ITvpKanIA{0 zsh$SiMW)%Kh%8w7ymq!oOipaQB7H0>8|8Dl_;Rs1))vFgzH)w}#%Gf|>J29nhGwbt z_|Udl=k5LE(V~h`<&wUlZB|nJA&{;tzn)o1cqfaVxD*{J#yvH|9Z;z;;YyWG=C(U< zIc>PMMF|Qj9V!k58%R-O?wi2z@tK%RDdkG%O#MNTk}52+1T|U^ggWsU5re>M37j)q&5a-`%Lt?J&pif znZKYiR_wNR=@}wBacid-uh473=;?!*6ZI_nm$R;Lgq~t{SVs#e^j?<_6V6)l=|Gq*vkq-k+7Y8^H!`!gi zI{`&n-_eY}5&$oaE8~m#ipa6t>l~9={^)s@D zNPK$h8f>&3kJ+U~cAW;qbl`t=WK4mR5~8T62xQdVX3A14DkP%;b(S2i5Vy>RMB{_N zE6~EQac~Q>vZj_@H`FZ`ATKUc;3N(w;A#}GuiFMW)ea6QKt{p-C<-H}o1eG$(&D1& z?Ci{9TD3JFWQiUptDxZVbaxJu8PNAAttmtZ5b?X-g+%*f`l0CfP^K)x#)lfCuEAKm z8VGz!eno0-^Vr^!8P*;i%r!!1j4gXz{OtW(2zx&u80GXLoQfj7sBvLj=zArnyH}(Z z%0A2?S7bk<4^KRFlqshA_sj~X9PIBwF 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 OL0nh{Qu0~v+y4MJoo_k- literal 0 HcmV?d00001 From b9775d24eef4894aa76c73f3f6d52fd484860acb Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 25 Jun 2024 17:54:48 +0000 Subject: [PATCH 05/10] changes from PR --- docs/.gitignore | 1 + docs/docs/getting_started.md | 2 - docs/docs/getting_started/codespaces.md | 1 + docs/docs/getting_started/manual_install.md | 8 + .../how_to_compile_contract.md | 2 +- .../docs/tutorials/aztecjs-getting-started.md | 360 ++++++++++++++++++ .../advanced/_category_.json | 2 +- docs/test-results/.last-run.json | 6 - .../test-failed-1.png | Bin 120738 -> 0 bytes 9 files changed, 372 insertions(+), 10 deletions(-) create mode 100644 docs/docs/tutorials/aztecjs-getting-started.md delete mode 100644 docs/test-results/.last-run.json delete mode 100644 docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png diff --git a/docs/.gitignore b/docs/.gitignore index 07d9321798d..bfd44418b7d 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -24,3 +24,4 @@ yarn-error.log* docs/reference/aztecjs docs/reference/smart_contract_reference/aztec-nr +test-results diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index de08e8a05ec..9b78a80b8e1 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -4,8 +4,6 @@ title: Quickstart The easiest way to start developing on Aztec locally is through `npx aztec-app`. This is a convenient way of installing the development environment (A.K.A. Sandbox) and starting new projects from a boilerplate. -If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). - To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). ## Prerequisites diff --git a/docs/docs/getting_started/codespaces.md b/docs/docs/getting_started/codespaces.md index 0915b402df1..5d57ac291e2 100644 --- a/docs/docs/getting_started/codespaces.md +++ b/docs/docs/getting_started/codespaces.md @@ -1,6 +1,7 @@ --- title: Codespaces sidebar_position: 0 +draft: true --- All machines are different, and you may not want to run the sandbox locally (for example when using Windows). We thought about you exactly ❤️ diff --git a/docs/docs/getting_started/manual_install.md b/docs/docs/getting_started/manual_install.md index 3631411cfdd..a65df5b9f37 100644 --- a/docs/docs/getting_started/manual_install.md +++ b/docs/docs/getting_started/manual_install.md @@ -64,6 +64,14 @@ aztec start --node [nodeOptions] --pxe [pxeOptions] --archiver [archiverOptions] Starting the aztec node alongside a PXE, sequencer or archiver, will attach the components to the node.Eg if you want to run a PXE separately to a node, you can [read this guide](../aztec/concepts/pxe/index.md)/ +## Update the sandbox + +To update the sandbox, you can just run: + +```bash +aztec-up +``` + ## Next steps Visit the [sandbox reference](../reference/sandbox_reference/index.md) for more info on which environment variables you can set, which cheat codes you can use, and learn about what exactly is the Aztec Sandbox. diff --git a/docs/docs/guides/smart_contracts/how_to_compile_contract.md b/docs/docs/guides/smart_contracts/how_to_compile_contract.md index f02c5bd76ec..605d8050421 100644 --- a/docs/docs/guides/smart_contracts/how_to_compile_contract.md +++ b/docs/docs/guides/smart_contracts/how_to_compile_contract.md @@ -222,7 +222,7 @@ export class TokenContract extends ContractBase { } ``` -Read more about interacting with contracts using `aztec.js` [here](../../tutorials/contract_tutorials/counter_contract.md). +Read more about interacting with contracts using `aztec.js` [here](../../tutorials/aztecjs-getting-started.md). ### Aztec.nr interfaces diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md new file mode 100644 index 00000000000..7d435faae95 --- /dev/null +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -0,0 +1,360 @@ +--- +title: Transferring Tokens with Aztec.js +sidebar_position: 1 +--- + +import Image from "@theme/IdealImage"; + +In this guide, we will retrieving the Sandbox and deploy a pre-written contract to it using Aztec.js. + +This guide assumes you have followed the [quickstart](../getting_started.md). + +## Prerequisites + +- A running [Aztec sandbox](../getting_started.md) + +## Set up the project + +We will deploy a pre-compiled token contract, and send tokens privately, using the Sandbox. + +We will create a `yarn` project called `token` (although `npm` works fine too). + +1. Initialize a yarn project + +```sh +mkdir token +cd token +yarn init -yp +``` + +2. Create a `src` folder inside your new `token` directory: + +```sh +mkdir src +``` + +3. Add necessary yarn packages (and optionally add typescript too) + +```sh +yarn add @aztec/aztec.js @aztec/accounts @aztec/noir-contracts.js typescript @types/node +``` + +4. [Optional] If creating a typescript file, add a `tsconfig.json` file into the project root, here is an example: + +```json +{ + "compilerOptions": { + "outDir": "dest", + "rootDir": "src", + "target": "es2020", + "lib": ["dom", "esnext", "es2017.object"], + "module": "NodeNext", + "moduleResolution": "NodeNext", + "strict": true, + "declaration": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "downlevelIteration": true, + "inlineSourceMap": true, + "declarationMap": true, + "importHelpers": true, + "resolveJsonModule": true, + "composite": true, + "skipLibCheck": true + }, + "references": [], + "include": ["src", "src/*.json"] +} +``` + +5. Update `package.json` - Add a `scripts` section to `package.json` and set `"type": "module"`: + +```json +{ + "name": "token", + "version": "1.0.0", + "description": "My first token contract", + "main": "index.js", + "author": "1000x Dev", + "license": "MIT", + "type": "module", + "scripts": { + "build": "yarn clean && tsc -b", + "build:dev": "tsc -b --watch", + "clean": "rm -rf ./dest tsconfig.tsbuildinfo", + "start": "yarn build && DEBUG='token' node ./dest/index.js" + }, + "dependencies": { + "@aztec/accounts": "latest", + "@aztec/aztec.js": "latest", + "@aztec/noir-contracts.js": "latest", + "@types/node": "^20.6.3", + "typescript": "^5.2.2" + } +} +``` + +6. Create an `index.ts` file in the `src` directory with the following sandbox connection setup: + +```ts +#include_code imports /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts raw + +async function main() { +#include_code setup /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts raw +} + +main(); +``` + +7. Finally, run the package: + +In the project root, run + +```sh +yarn start +``` + +A successful run should show something like this: + +``` + token Aztec Sandbox Info { + token sandboxVersion: '#include_aztec_short_version', + token chainId: 31337, + token protocolVersion: 1, + token l1ContractAddresses: { + token rollupAddress: EthAddress { + token buffer: + token }, + token registryAddress: EthAddress { + token buffer: + token }, + token inboxAddress: EthAddress { + token buffer: + token }, + token outboxAddress: EthAddress { + token buffer: + token }, + token } + token } +0ms +``` + +Great! The Sandbox is running and we are able to interact with it. + +## Load accounts + +The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: + +#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript + +An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). + +If you want more accounts, you can find instructions in the [Account creation section](../guides/local_env/creating_schnorr_accounts.md). + +## Deploy a contract + +Now that we have our accounts loaded, let's move on to deploy our pre-compiled token smart contract. You can find the full code for the contract [here](https://github.com/AztecProtocol/aztec-packages/tree/master/noir-projects/noir-contracts/contracts/token_contract/src). Add this to `index.ts` below the code you added earlier: + +#include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript + +`yarn start` will now give something like this: + +``` + token Aztec Sandbox Info { + token sandboxVersion: '#include_aztec_short_version', + token chainId: 31337, + token protocolVersion: 1, + token l1ContractAddresses: { + token rollupAddress: EthAddress { + token buffer: + token }, + token registryAddress: EthAddress { + token buffer: + token }, + token inboxAddress: EthAddress { + token buffer: + token }, + token outboxAddress: EthAddress { + token buffer: + token }, + token } + token } +0ms + token Loaded alice's account at 0x25048e8c...70d0 +4s + token Loaded bob's account at 0x115f123b...6483 +0ms + token Deploying token contract... +0ms + token Contract successfully deployed at address 0x11a03dce...afc7 +5s + token Minting tokens to Alice... +18ms + token 1000000 tokens were successfully minted and redeemed by Alice +10s +``` + +We can break this down as follows: + +1. We create and send a contract deployment transaction to the network. +2. We wait for it to be successfully mined. +3. We retrieve the transaction receipt containing the transaction status and contract address. +4. We connect to the contract with Alice +5. Alice initialize the contract with herself as the admin and a minter. +6. Alice mints 1,000,000 tokens to be claimed by herself in private. +7. Alice redeems the tokens privately. + +## View the balance of an account + +A token contract wouldn't be very useful if you aren't able to query the balance of an account. As part of the deployment, tokens were minted to Alice. We can now call the contract's `balance_of_private()` function to retrieve the balances of the accounts. + +Call the `balance_of_private` function using the following code (paste this): + +#include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript + +Running now should yield output: + +``` + token Aztec Sandbox Info { + token sandboxVersion: '#include_aztec_short_version', + token chainId: 31337, + token protocolVersion: 1, + token l1ContractAddresses: { + token rollupAddress: EthAddress { + token buffer: + token }, + token registryAddress: EthAddress { + token buffer: + token }, + token inboxAddress: EthAddress { + token buffer: + token }, + token outboxAddress: EthAddress { + token buffer: + token }, + token } + token } +0ms + token Loaded alice's account at 0x25048e8c...70d0 +4s + token Loaded bob's account at 0x115f123b...6483 +0ms + token Deploying token contract... +0ms + token Contract successfully deployed at address 0x1b388d99...4b55 +4s + token Minting tokens to Alice... +10ms + token 1000000 tokens were successfully minted and redeemed by Alice +10s + token Alice's balance 1000000 +80ms + token Bob's balance 0 +31ms +``` + +Above, we created a second instance of the `TokenContract` contract class. +This time pertaining to Bob. +This class offers a TypeScript bindings of our `Token` contract.. +We then call `balance_of_private()` as a `view` method. +View methods can be thought as read-only. +No transaction is submitted as a result but a user's state can be queried. + +We can see that each account has the expected balance of tokens. + +### Calling an unconstrained (view) function + +Unconstrained function call + +## Create and submit a transaction + +Now lets transfer some funds from Alice to Bob by calling the `transfer` function on the contract. This function takes 4 arguments: + +1. The sender. +2. The recipient. +3. The quantity of tokens to be transferred. +4. The nonce for the [authentication witness](../aztec/concepts/index.md#authorizing-actions), or 0 if msg.sender equal sender. + +Here is the Typescript code to call the `transfer` function, add this to your `index.ts` at the bottom of the `main` function: + +#include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript + +Our output should now look like this: + +``` + token Aztec Sandbox Info { + token sandboxVersion: '#include_aztec_short_version', + token chainId: 31337, + token protocolVersion: 1, + token l1ContractAddresses: { + token rollupAddress: EthAddress { + token buffer: + token }, + token registryAddress: EthAddress { + token buffer: + token }, + token inboxAddress: EthAddress { + token buffer: + token }, + token outboxAddress: EthAddress { + token buffer: + token }, + token } + token } +0ms + token Loaded alice's account at 0x25048e8c...70d0 +4s + token Loaded bob's account at 0x115f123b...6483 +0ms + token Deploying token contract... +0ms + token Contract successfully deployed at address 0x01d8af7d...9a4d +5s + token Minting tokens to Alice... +18ms + token 1000000 tokens were successfully minted and redeemed by Alice +11s + token Alice's balance 1000000 +59ms + token Bob's balance 0 +33ms + token Transferring 543 tokens from Alice to Bob... +0ms + token Alice's balance 999457 +6s + token Bob's balance 543 +39ms +``` + +Here, we used the same contract abstraction as was previously used for reading Alice's balance. But this time we called `send()` generating and sending a transaction to the network. After waiting for the transaction to settle we were able to check the new balance values. + +Finally, the contract has 2 `mint` functions that can be used to generate new tokens for an account. +We will focus only on `mint_private`. +This function is public but it mints tokens privately. +This function takes: + +1. A quantity of tokens to be minted. +2. A secret hash. + +This function is public and it inserts a new note into the note hash tree and increases the total token supply by the amount minted. + +To make the note spendable the note has to be redeemed. A user can do that by calling the `redeem_shield` function. + +Let's now use these functions to mint some tokens to Bob's account using Typescript, add this to `index.ts`: + +#include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript + +Our complete output should now be something like: + +``` + token Aztec Sandbox Info { + token sandboxVersion: '#include_aztec_short_version', + token chainId: 31337, + token protocolVersion: 1, + token l1ContractAddresses: { + token rollupAddress: EthAddress { + token buffer: + token }, + token registryAddress: EthAddress { + token buffer: + token }, + token inboxAddress: EthAddress { + token buffer: + token }, + token outboxAddress: EthAddress { + token buffer: + token }, + token } + token } +0ms + token Loaded alice's account at 0x25048e8c...70d0 +4s + token Loaded bob's account at 0x115f123b...6483 +0ms + token Deploying token contract... +0ms + token Contract successfully deployed at address 0x03a0bb2c...02c2 +7s + token Minting tokens to Alice... +19ms + token 1000000 tokens were successfully minted and redeemed by Alice +9s + token Alice's balance 1000000 +43ms + token Bob's balance 0 +31ms + token Transferring 543 tokens from Alice to Bob... +0ms + token Alice's balance 999457 +6s + token Bob's balance 543 +36ms + token Minting 10000 tokens to Bob... +5s + token Alice's balance 999457 +9s + token Bob's balance 10543 +43ms +``` + +That's it! We have successfully deployed a token contract to an instance of the Aztec network and mined private state-transitioning transactions. We have also queried the resulting state all via the interfaces provided by the contract. To see exactly what has happened here, you can learn about the transaction flow [here](../aztec/concepts/transactions.md). + +## Next Steps + +Write your first smart contract on the [next page](./aztecnr-getting-started.md). diff --git a/docs/docs/tutorials/contract_tutorials/advanced/_category_.json b/docs/docs/tutorials/contract_tutorials/advanced/_category_.json index b867f5fd363..81a03772f7d 100644 --- a/docs/docs/tutorials/contract_tutorials/advanced/_category_.json +++ b/docs/docs/tutorials/contract_tutorials/advanced/_category_.json @@ -1,6 +1,6 @@ { "label": "Advanced", - "position": 3, + "position": 5, "collapsible": true, "collapsed": true } diff --git a/docs/test-results/.last-run.json b/docs/test-results/.last-run.json deleted file mode 100644 index a39eebd1cb6..00000000000 --- a/docs/test-results/.last-run.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "status": "failed", - "failedTests": [ - "9ba72938132eb4de72d3-6514e60e465f8a2fe54d" - ] -} \ No newline at end of file diff --git a/docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png b/docs/test-results/tutorials-private_voting_c-74ace-etting-and-getting-a-number-chromium/test-failed-1.png deleted file mode 100644 index 17623e67a6128c137a527fc95b856e0624e01491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120738 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 z 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

Zz=y5Gg>Tv1=Ct*Hq^ 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 z%0A2?S7bk<4^KRFlqshA_sj~X9PIBwF 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 OL0nh{Qu0~v+y4MJoo_k- From 9d8c1a61205eb8a59eb04e4947a02ee95bc6238a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 25 Jun 2024 20:10:32 +0100 Subject: [PATCH 06/10] changes from PR --- docs/docs/getting_started/manual_install.md | 4 ++-- docs/docs/tutorials/aztecjs-getting-started.md | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/docs/getting_started/manual_install.md b/docs/docs/getting_started/manual_install.md index a65df5b9f37..a5e3f3ad93b 100644 --- a/docs/docs/getting_started/manual_install.md +++ b/docs/docs/getting_started/manual_install.md @@ -3,7 +3,7 @@ title: Manual install sidebar_position: 1 --- -You can have some more control over the sandbox by installing it manually through the underlying script used by [`npx aztec-app`](../getting_started.md) and [`codespaces`](./codespaces.md). +You can have some more control over the sandbox by installing it manually through the underlying script used by [`npx aztec-app`](../getting_started.md). This involves some knowledge on Docker if you want to stop, restart, or detach from logs. But it also gives you better control over things such as environment variables. @@ -34,7 +34,7 @@ Once these have been installed, to start the sandbox, run: aztec-sandbox ``` -### Have fun! +### Have fun **Congratulations, you have just installed and run the Aztec Sandbox!** diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md index 7d435faae95..6685454a6d7 100644 --- a/docs/docs/tutorials/aztecjs-getting-started.md +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -144,7 +144,7 @@ Great! The Sandbox is running and we are able to interact with it. The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: -#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). @@ -154,7 +154,7 @@ If you want more accounts, you can find instructions in the [Account creation se Now that we have our accounts loaded, let's move on to deploy our pre-compiled token smart contract. You can find the full code for the contract [here](https://github.com/AztecProtocol/aztec-packages/tree/master/noir-projects/noir-contracts/contracts/token_contract/src). Add this to `index.ts` below the code you added earlier: -#include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript `yarn start` will now give something like this: @@ -202,7 +202,7 @@ A token contract wouldn't be very useful if you aren't able to query the balance Call the `balance_of_private` function using the following code (paste this): -#include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Running now should yield output: @@ -260,7 +260,7 @@ Now lets transfer some funds from Alice to Bob by calling the `transfer` functio Here is the Typescript code to call the `transfer` function, add this to your `index.ts` at the bottom of the `main` function: -#include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Our output should now look like this: @@ -313,7 +313,7 @@ To make the note spendable the note has to be redeemed. A user can do that by ca Let's now use these functions to mint some tokens to Bob's account using Typescript, add this to `index.ts`: -#include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Our complete output should now be something like: @@ -357,4 +357,4 @@ That's it! We have successfully deployed a token contract to an instance of the ## Next Steps -Write your first smart contract on the [next page](./aztecnr-getting-started.md). +Write your first smart contract on the [next page](./write_accounts_contract.md). From 15d89ba260cd1f7916202791dbff7930b2260b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 25 Jun 2024 21:40:52 +0100 Subject: [PATCH 07/10] removing nasty space --- docs/docs/tutorials/aztecjs-getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md index 6685454a6d7..18d79a5540a 100644 --- a/docs/docs/tutorials/aztecjs-getting-started.md +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -144,7 +144,7 @@ Great! The Sandbox is running and we are able to interact with it. The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: -# include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). From 9e7b66309a3ae21f066ea09e359cb78851c29e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 25 Jun 2024 21:41:32 +0100 Subject: [PATCH 08/10] Update docs/docs/tutorials/aztecjs-getting-started.md Co-authored-by: josh crites --- docs/docs/tutorials/aztecjs-getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md index 18d79a5540a..aff0888176e 100644 --- a/docs/docs/tutorials/aztecjs-getting-started.md +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -357,4 +357,4 @@ That's it! We have successfully deployed a token contract to an instance of the ## Next Steps -Write your first smart contract on the [next page](./write_accounts_contract.md). +Write your first account contract on the [next page](./write_accounts_contract.md). From 7697ae0f5a2bd8b5327085347c596e5e4328b1de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 25 Jun 2024 21:50:22 +0100 Subject: [PATCH 09/10] include code stuff --- docs/docs/tutorials/aztecjs-getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md index aff0888176e..04cab392d6c 100644 --- a/docs/docs/tutorials/aztecjs-getting-started.md +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -144,7 +144,7 @@ Great! The Sandbox is running and we are able to interact with it. The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: -#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +# include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). From a47b60c6c2241b969117a62d1cfbf7a3a8874902 Mon Sep 17 00:00:00 2001 From: josh crites Date: Tue, 25 Jun 2024 17:26:25 -0400 Subject: [PATCH 10/10] more include_codes --- docs/docs/tutorials/aztecjs-getting-started.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/docs/tutorials/aztecjs-getting-started.md b/docs/docs/tutorials/aztecjs-getting-started.md index 04cab392d6c..6f9d145da5e 100644 --- a/docs/docs/tutorials/aztecjs-getting-started.md +++ b/docs/docs/tutorials/aztecjs-getting-started.md @@ -144,7 +144,7 @@ Great! The Sandbox is running and we are able to interact with it. The sandbox is preloaded with multiple accounts so you don't have to sit and create them. Let's load these accounts. Add this code to the `main()` function in `index.ts` below the code that's there: -# include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code load_accounts /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript An explanation on accounts on Aztec can be found [here](../aztec/concepts/index.md). @@ -154,7 +154,7 @@ If you want more accounts, you can find instructions in the [Account creation se Now that we have our accounts loaded, let's move on to deploy our pre-compiled token smart contract. You can find the full code for the contract [here](https://github.com/AztecProtocol/aztec-packages/tree/master/noir-projects/noir-contracts/contracts/token_contract/src). Add this to `index.ts` below the code you added earlier: -# include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code Deployment /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript `yarn start` will now give something like this: @@ -202,7 +202,7 @@ A token contract wouldn't be very useful if you aren't able to query the balance Call the `balance_of_private` function using the following code (paste this): -# include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code Balance /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Running now should yield output: @@ -260,7 +260,7 @@ Now lets transfer some funds from Alice to Bob by calling the `transfer` functio Here is the Typescript code to call the `transfer` function, add this to your `index.ts` at the bottom of the `main` function: -# include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code Transfer /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Our output should now look like this: @@ -313,7 +313,7 @@ To make the note spendable the note has to be redeemed. A user can do that by ca Let's now use these functions to mint some tokens to Bob's account using Typescript, add this to `index.ts`: -# include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript +#include_code Mint /yarn-project/end-to-end/src/composed/e2e_sandbox_example.test.ts typescript Our complete output should now be something like: