diff --git a/.env.example b/.env.example
index b2c75ac..b22b20e 100644
--- a/.env.example
+++ b/.env.example
@@ -1,7 +1,7 @@
POD_RACING_CONTRACT_ADDRESS="0x2320c9938b3e87feb4e475413456d028572f3367e18d61e7d198d342b557f297"
SECRET="0x29aa7f43021f964fe46527ff4df0e9211de94274f54eff12ec81070ee3e16300"
SALT="0x23c46f2dd4450fb881f0b0e70c3974f84dfa9d199493001b3fe8eb136dc612cd"
-AZTEC_ENV=sandbox
+AZTEC_ENV=local-network
CONTRACT_SALT="0x2d7e8a973f9039f0e2c7771376e131f8ca1c18bd337ee8fa5c6d89db0198645e"
CONTRACT_DEPLOYER="0x2e34557bae428d3c489f67e9aa326b41a09faf03f619969b883e413cbec7bc1c"
CONTRACT_PK_NULLIFIER="0x01498945581e0eb9f8427ad6021184c700ef091d570892c437d12c7d90364bbd170ae506787c5c43d6ca9255d571c10fa9ffa9d141666e290c347c5c9ab7e344"
diff --git a/.github/workflows/sandbox.yaml b/.github/workflows/local-network.yaml
similarity index 88%
rename from .github/workflows/sandbox.yaml
rename to .github/workflows/local-network.yaml
index 46dc848..81f2d65 100644
--- a/.github/workflows/sandbox.yaml
+++ b/.github/workflows/local-network.yaml
@@ -1,4 +1,4 @@
-name: Sandbox Tests
+name: Local Network Tests
on:
push:
@@ -12,12 +12,12 @@ on:
workflow_dispatch:
jobs:
- sandbox-tests:
- name: Sandbox Tests
+ local-network-tests:
+ name: Local Network Tests
runs-on: ubuntu-latest
env:
- AZTEC_ENV: sandbox
- VERSION: 3.0.0-devnet.5
+ AZTEC_ENV: local-network
+ AZTEC_VERSION: 3.0.0-devnet.20251212
steps:
- name: Checkout repository
@@ -40,17 +40,24 @@ jobs:
- name: Update path
run: echo "/home/runner/.aztec/bin" >> $GITHUB_PATH
- - name: Set Aztec version and start sandbox
+ - name: Set Aztec version
run: |
- VERSION=${{ env.VERSION }} aztec-up
- aztec start --sandbox &
+ VERSION=${{ env.AZTEC_VERSION }} aztec-up
- - name: Wait for sandbox to be ready
+ # This is a temporary hack to fix a problem with v3 releases.
+ - name: Manually tag the aztec version as `latest`
run: |
- echo "Waiting for sandbox to start..."
+ docker tag aztecprotocol/aztec:${{ env.AZTEC_VERSION }} aztecprotocol/aztec:latest
+
+ - name: Start local Aztec network
+ run: aztec start --local-network &
+
+ - name: Wait for local network to be ready
+ run: |
+ echo "Waiting for local network to start..."
for i in {1..30}; do
if curl -s http://localhost:8080/status >/dev/null 2>&1; then
- echo "โ
Sandbox is ready!"
+ echo "โ
Local network is ready!"
break
fi
echo "Waiting... ($i/30)"
@@ -61,7 +68,7 @@ jobs:
run: yarn
- name: Compile contracts
- run: script -e -c "${AZTEC_NARGO:-aztec-nargo} compile && aztec-postprocess-contract"
+ run: script -e -c "aztec compile"
- name: Generate contract artifacts
run: script -e -c "aztec codegen target --outdir src/artifacts"
@@ -180,7 +187,7 @@ jobs:
echo "๐ Saved constructor args to .env file"
fi
- - name: Run sandbox scripts
+ - name: Run local network scripts
run: |
script -e -c "yarn fees"
script -e -c "yarn multiple-wallet"
diff --git a/AGENTS.md b/AGENTS.md
index 049797a..5137b9c 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,12 +1,12 @@
# Repository guidelines for Codex agents
-This repository contains TypeScript scripts and Noir contracts for the Aztec sandbox.
+This repository contains TypeScript scripts and Noir contracts for the Aztec local network.
Follow these guidelines when contributing:
## Setup
- Use **Node.js v22** with Yarn.
- Install dependencies with `yarn install`.
-- Start the Aztec sandbox using `aztec start --sandbox` before running tests or scripts.
+- Start the Aztec local network using `aztec start --local-network` before running tests or scripts.
## Development
- Compile contracts with `yarn compile` and generate TypeScript artifacts with `yarn codegen`.
diff --git a/Nargo.toml b/Nargo.toml
index 5a276b7..fb003a6 100644
--- a/Nargo.toml
+++ b/Nargo.toml
@@ -5,4 +5,4 @@ authors = [ "" ]
compiler_version = ">=0.18.0"
[dependencies]
-aztec = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "v3.0.0-devnet.5", directory = "noir-projects/aztec-nr/aztec" }
+aztec = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v3.0.0-devnet.20251212", directory = "aztec" }
diff --git a/README.md b/README.md
index b99b268..92fd7c3 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@
# Aztec Starter
-## Sandbox
+## Local Network
-This repo is meant to be a starting point for learning to write Aztec contracts and tests on the Aztec sandbox (local development environment). It includes an example contract, useful commands in `package.json` and helpful scripts in `./scripts`.
+This repo is meant to be a starting point for learning to write Aztec contracts and tests on the Aztec local network (local development environment). It includes an example contract, useful commands in `package.json` and helpful scripts in `./scripts`.
You can find the **Pod Racing Game contract** in `./src/main.nr`. A simple integration test is in `./src/test/e2e/index.test.ts`.
@@ -16,7 +16,7 @@ The Pod Racing contract is a two-player competitive game where players allocate
## Devnet
-This repo connects to a locally running Aztec Sandbox by default, but can be configured to connect to the devnet by specifying `AZTEC_ENV=devnet` in a `.env` file or by prefixing a command e.g. `AZTEC_ENV=devnet yarn deploy`.
+This repo connects to a locally running Aztec local network by default, but can be configured to connect to the devnet by specifying `AZTEC_ENV=devnet` in a `.env` file or by prefixing a command e.g. `AZTEC_ENV=devnet yarn deploy`.
@@ -38,7 +38,7 @@ Use **Node.js version 22.15.0**.
[Start your codespace from the codespace dropdown](https://docs.github.com/en/codespaces/getting-started/quickstart).
-Get the **sandbox, aztec-cli, and other tooling** with this command:
+Get the **local network, aztec-cli, and other tooling** with this command:
```bash
bash -i <(curl -s https://install.aztec.network)
@@ -47,7 +47,7 @@ bash -i <(curl -s https://install.aztec.network)
Install the correct version of the toolkit with:
```bash
-export VERSION=3.0.0-devnet.5
+export VERSION=3.0.0-devnet.20251212
aztec-up && docker pull aztecprotocol/aztec:$VERSION && docker tag aztecprotocol/aztec:$VERSION aztecprotocol/aztec:latest
```
@@ -55,27 +55,27 @@ aztec-up && docker pull aztecprotocol/aztec:$VERSION && docker tag aztecprotocol
This project uses JSON configuration files to manage environment-specific settings:
-- `config/sandbox.json` - Configuration for local sandbox development
+- `config/local-network.json` - Configuration for local network development
- `config/devnet.json` - Configuration for devnet deployment
-The system automatically loads the appropriate configuration file based on the `ENV` environment variable. If `ENV` is not set, it defaults to `sandbox`.
+The system automatically loads the appropriate configuration file based on the `ENV` environment variable. If `ENV` is not set, it defaults to `local-network`.
The configuration files contain network URLs, timeouts, and environment-specific settings. You can modify these files to customize your development environment.
-### Running on Sandbox (Local Development)
+### Running on Local Network (Local Development)
-Start the sandbox with:
+Start the local network with:
```bash
-aztec start --sandbox
+aztec start --local-network
```
-Run scripts and tests with default sandbox configuration:
+Run scripts and tests with default local network configuration:
```bash
yarn compile && yarn codegen # Compile contract and generate TS
-yarn deploy # Deploy to sandbox
-yarn test # Run tests on sandbox
+yarn deploy # Deploy to local network
+yarn test # Run tests on local network
```
### Running on Devnet
@@ -104,7 +104,7 @@ yarn install
## ๐ **Compile**
```bash
-aztec-nargo compile
+aztec compile
```
or
@@ -125,14 +125,14 @@ yarn codegen
---
-:warning: Tests and scripts set up and run the Private Execution Environment (PXE) and store PXE data in the `./store` directory. If you restart the sandbox, you will need to delete the `./store` directory to avoid errors.
+:warning: Tests and scripts set up and run the Private Execution Environment (PXE) and store PXE data in the `./store` directory. If you restart the local network, you will need to delete the `./store` directory to avoid errors.
## Transaction Profiling
-**Make sure the sandbox is running before profiling.**
+**Make sure the local network is running before profiling.**
```bash
-aztec start --sandbox
+aztec start --local-network
```
Then run an example contract deployment profile with:
@@ -151,10 +151,10 @@ See the [demo-wallet for an example](https://github.com/AztecProtocol/demo-walle
## ๐งช **Test**
-**Make sure the sandbox is running before running tests.**
+**Make sure the local network is running before running tests.**
```bash
-aztec start --sandbox
+aztec start --local-network
```
Then test with:
@@ -165,7 +165,7 @@ yarn test
Testing will run the **TypeScript tests** defined in `index.test.ts` inside `./src/test/e2e`, as well as the [Aztec Testing eXecution Environment (TXE)](https://docs.aztec.network/developers/guides/smart_contracts/testing) tests defined in [`first.nr`](./src/test/first.nr) (imported in the contract file with `mod test;`).
-Note: The Typescript tests spawn an instance of the sandbox to test against, and close it once the TS tests are complete.
+Note: The Typescript tests spawn an instance of the local network to test against, and close it once the TS tests are complete.
---
@@ -193,7 +193,7 @@ The `./src/utils/` folder contains utility functions:
## โ **Error Resolution**
-:warning: Tests and scripts set up and run the Private Execution Environment (PXE) and store PXE data in the `./store` directory. If you restart the sandbox, you will need to delete the `./store` directory to avoid errors.
+:warning: Tests and scripts set up and run the Private Execution Environment (PXE) and store PXE data in the `./store` directory. If you restart the local network, you will need to delete the `./store` directory to avoid errors.
### ๐ **Update Node.js and Noir Dependencies**
diff --git a/config/config.ts b/config/config.ts
index 0c0412d..04f9fb7 100644
--- a/config/config.ts
+++ b/config/config.ts
@@ -22,7 +22,7 @@ export interface EnvironmentConfig {
environment: 'local' | 'testnet' | 'devnet' | 'mainnet';
network: NetworkConfig;
settings: {
- skipSandbox: boolean;
+ skipLocalNetwork: boolean;
version: string;
};
timeouts?: TimeoutConfig;
@@ -34,7 +34,7 @@ export class ConfigManager {
private configPath: string;
private constructor() {
- const env = process.env.AZTEC_ENV || 'sandbox';
+ const env = process.env.AZTEC_ENV || 'local-network';
this.configPath = path.resolve(process.cwd(), `config/${env}.json`);
this.loadConfig();
console.log(`Loaded configuration: ${this.config.name} environment`);
@@ -69,7 +69,7 @@ export class ConfigManager {
return this.config.environment === 'devnet';
}
- public isSandbox(): boolean {
+ public isLocalNetwork(): boolean {
return this.config.environment === 'local';
}
diff --git a/config/devnet.json b/config/devnet.json
index b211da1..54a59a3 100644
--- a/config/devnet.json
+++ b/config/devnet.json
@@ -2,13 +2,13 @@
"name": "devnet",
"environment": "devnet",
"network": {
- "nodeUrl": "https://devnet.aztec-labs.com/",
+ "nodeUrl": "https://next.devnet.aztec-labs.com",
"l1RpcUrl": "https://ethereum-sepolia-rpc.publicnode.com",
"l1ChainId": 11155111
},
"settings": {
- "skipSandbox": true,
- "version": "3.0.0-devnet.5"
+ "skipLocalNetwork": true,
+ "version": "3.0.0-devnet.20251212"
},
"timeouts": {
"deployTimeout": 1200000,
diff --git a/config/sandbox.json b/config/local-network.json
similarity index 73%
rename from config/sandbox.json
rename to config/local-network.json
index 4152955..063c060 100644
--- a/config/sandbox.json
+++ b/config/local-network.json
@@ -1,5 +1,5 @@
{
- "name": "sandbox",
+ "name": "local-network",
"environment": "local",
"network": {
"nodeUrl": "http://localhost:8080",
@@ -7,12 +7,12 @@
"l1ChainId": 31337
},
"settings": {
- "skipSandbox": false,
- "version": "3.0.0-devnet.5"
+ "skipLocalNetwork": false,
+ "version": "3.0.0-devnet.20251212"
},
"timeouts": {
"deployTimeout": 120000,
"txTimeout": 60000,
"waitTimeout": 30000
}
-}
\ No newline at end of file
+}
diff --git a/package.json b/package.json
index 999f9dc..1883314 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"clean": "rm -rf ./src/artifacts ./target",
"clear-store": "rm -rf ./store",
"codegen": "aztec codegen target --outdir src/artifacts",
- "compile": "${AZTEC_NARGO:-aztec-nargo} compile && aztec-postprocess-contract",
+ "compile": "aztec compile",
"deploy": "NODE_NO_WARNINGS=1 node --loader ts-node/esm scripts/deploy_contract.ts",
"deploy::devnet": "NODE_NO_WARNINGS=1 AZTEC_ENV=devnet node --loader ts-node/esm scripts/deploy_contract.ts",
"deploy-account": "NODE_NO_WARNINGS=1 node --loader ts-node/esm scripts/deploy_account.ts",
@@ -30,17 +30,16 @@
"test::devnet": "AZTEC_ENV=devnet yarn test:js",
"test:js": "rm -rf store/pxe && NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --runInBand --config jest.integration.config.json",
"test:nr": "aztec test",
- "update": "./.github/scripts/update_contract.sh $(grep -oP 'tag\\s*=\\s*\"\\K[^\"]+' \"Nargo.toml\" | head -1) && yarn && yarn update-readme-version",
"update-readme-version": "node ./.github/scripts/update-readme-version.js"
},
"dependencies": {
- "@aztec/accounts": "3.0.0-devnet.5",
- "@aztec/aztec.js": "3.0.0-devnet.5",
- "@aztec/noir-contracts.js": "3.0.0-devnet.5",
- "@aztec/protocol-contracts": "3.0.0-devnet.5",
- "@aztec/pxe": "3.0.0-devnet.5",
- "@aztec/stdlib": "3.0.0-devnet.5",
- "@aztec/test-wallet": "3.0.0-devnet.5",
+ "@aztec/accounts": "3.0.0-devnet.20251212",
+ "@aztec/aztec.js": "3.0.0-devnet.20251212",
+ "@aztec/noir-contracts.js": "3.0.0-devnet.20251212",
+ "@aztec/protocol-contracts": "3.0.0-devnet.20251212",
+ "@aztec/pxe": "3.0.0-devnet.20251212",
+ "@aztec/stdlib": "3.0.0-devnet.20251212",
+ "@aztec/test-wallet": "3.0.0-devnet.20251212",
"dotenv": "^17.2.2"
},
"devDependencies": {
diff --git a/scripts/deploy_contract.ts b/scripts/deploy_contract.ts
index 3e4b36c..325bbcf 100644
--- a/scripts/deploy_contract.ts
+++ b/scripts/deploy_contract.ts
@@ -1,8 +1,6 @@
import { PodRacingContract } from "../src/artifacts/PodRacing.js"
import { Logger, createLogger } from "@aztec/aztec.js/log";
import { SponsoredFeePaymentMethod } from "@aztec/aztec.js/fee/testing";
-import { Fr } from "@aztec/aztec.js/fields";
-import { TokenContract } from "@aztec/noir-contracts.js/Token"
import { setupWallet } from "../src/utils/setup_wallet.js";
import { getSponsoredFPCInstance } from "../src/utils/sponsored_fpc.js";
import { SponsoredFPCContract } from "@aztec/noir-contracts.js/SponsoredFPC";
@@ -28,7 +26,7 @@ async function main() {
logger.info(`๐ฐ Sponsored FPC instance obtained at: ${sponsoredFPC.address}`);
logger.info('๐ Registering sponsored FPC contract with wallet...');
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
const sponsoredPaymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
logger.info('โ
Sponsored fee payment method configured');
@@ -42,13 +40,13 @@ async function main() {
logger.info('๐๏ธ Starting pod racing contract deployment...');
logger.info(`๐ Admin address for pod racing contract: ${address}`);
- const deployTx = PodRacingContract.deploy(wallet, address).send({
+ const deployMethod = PodRacingContract.deploy(wallet, address).send({
from: address,
fee: { paymentMethod: sponsoredPaymentMethod }
});
logger.info('โณ Waiting for deployment transaction to be mined...');
- const podRacingContract = await deployTx.deployed({ timeout: timeouts.deployTimeout });
+ const podRacingContract = await deployMethod.deployed({ timeout: timeouts.deployTimeout });
logger.info(`๐ Pod Racing Contract deployed successfully!`);
logger.info(`๐ Contract address: ${podRacingContract.address}`);
@@ -59,7 +57,7 @@ async function main() {
logger.info('โ
Contract deployed and ready for game creation');
// Get contract instance for instantiation data
- const instance = podRacingContract.instance;
+ const instance = await deployMethod.getInstance();
if (instance) {
logger.info('๐ฆ Contract instantiation data:');
logger.info(`Salt: ${instance.salt}`);
@@ -72,7 +70,6 @@ async function main() {
}
logger.info(`Constructor args: ${JSON.stringify([address.toString()])}`);
}
-
logger.info('๐ Deployment process completed successfully!');
logger.info(`๐ Summary:`);
logger.info(` - Contract Address: ${podRacingContract.address}`);
diff --git a/scripts/fees.ts b/scripts/fees.ts
index a5d3250..2108f8f 100644
--- a/scripts/fees.ts
+++ b/scripts/fees.ts
@@ -10,7 +10,8 @@ import { PodRacingContract } from "../src/artifacts/PodRacing.js"
import { TokenContract } from "@aztec/noir-contracts.js/Token";
import { SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee/testing'
import { getSponsoredFPCInstance } from "../src/utils/sponsored_fpc.js";
-import { createEthereumChain, createExtendedL1Client } from "@aztec/ethereum";
+import { createEthereumChain } from '@aztec/ethereum/chain';
+import { createExtendedL1Client } from '@aztec/ethereum/client';
import { deploySchnorrAccount } from "../src/utils/deploy_account.js";
import { setupWallet } from "../src/utils/setup_wallet.js";
import { Logger, createLogger } from '@aztec/aztec.js/log';
@@ -65,7 +66,7 @@ async function main() {
// set up sponsored fee payments
const sponsoredFPC = await getSponsoredFPCInstance();
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
const paymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// Two arbitrary txs to make the L1 message available on L2
@@ -122,7 +123,7 @@ async function main() {
logger.info(`BananaCoin balance of newWallet is ${bananaBalance}`)
const feeJuiceInstance = await getCanonicalFeeJuice();
- wallet.registerContract(feeJuiceInstance.address, FeeJuiceContract.artifact)
+ await wallet.registerContract(feeJuiceInstance.instance, FeeJuiceContract.artifact)
const feeJuice = await FeeJuiceContract.at(feeJuiceInstance.address, wallet)
await feeJuice.methods.claim(fpc.address, fpcClaim.claimAmount, fpcClaim.claimSecret, fpcClaim.messageLeafIndex).send({ from: account2.address }).wait()
diff --git a/scripts/get_block.ts b/scripts/get_block.ts
index a756609..b0c6e76 100644
--- a/scripts/get_block.ts
+++ b/scripts/get_block.ts
@@ -1,11 +1,12 @@
import { createAztecNodeClient } from "@aztec/aztec.js/node";
+import { BlockNumber } from "@aztec/foundation/branded-types";
import { getAztecNodeUrl } from "../config/config.js";
async function main() {
const nodeUrl = getAztecNodeUrl();
const node = createAztecNodeClient(nodeUrl);
- let block = await node.getBlock(1);
+ let block = await node.getBlock(BlockNumber(1));
console.log(block)
console.log(await block?.hash())
}
diff --git a/scripts/interaction_existing_contract.ts b/scripts/interaction_existing_contract.ts
index 3a192d4..ff0d7f5 100644
--- a/scripts/interaction_existing_contract.ts
+++ b/scripts/interaction_existing_contract.ts
@@ -21,7 +21,7 @@ async function main() {
// Setup sponsored fee payment
const sponsoredFPC = await getSponsoredFPCInstance();
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
const sponsoredPaymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// Get account from environment variables
@@ -76,7 +76,7 @@ async function main() {
logger.info("โ
Contract instance reconstructed successfully");
// Register the contract with the wallet
- await wallet.registerContract({ instance, artifact: PodRacingContract.artifact });
+ await wallet.registerContract(instance, PodRacingContract.artifact);
// Get the contract instance from the PXE
const podRacingContract = await PodRacingContract.at(
diff --git a/scripts/multiple_wallet.ts b/scripts/multiple_wallet.ts
index 0f730a3..d3adb6f 100644
--- a/scripts/multiple_wallet.ts
+++ b/scripts/multiple_wallet.ts
@@ -17,7 +17,7 @@ const node = createAztecNodeClient(nodeUrl)
const l1Contracts = await node.getL1ContractAddresses();
const config = getPXEConfig()
const fullConfig = { ...config, l1Contracts }
-fullConfig.proverEnabled = getEnv() !== 'sandbox';
+fullConfig.proverEnabled = getEnv() !== 'local-network';
const store1 = await createStore('pxe1', {
dataDirectory: 'store',
@@ -60,8 +60,8 @@ async function main() {
const wallet1 = await setupWallet1();
const wallet2 = await setupWallet2();
const sponsoredFPC = await getSponsoredFPCInstance();
- await wallet1.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
- await wallet2.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet1.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
+ await wallet2.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
const paymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// deploy token contract
@@ -107,10 +107,7 @@ async function main() {
// setup token on 2nd pxe
const l2TokenContractInstance = await getL2TokenContractInstance(ownerAddress, ownerAddress)
- await wallet2.registerContract({
- instance: l2TokenContractInstance,
- artifact: TokenContract.artifact
- })
+ await wallet2.registerContract(l2TokenContractInstance, TokenContract.artifact)
const l2TokenContract = await TokenContract.at(
l2TokenContractInstance.address,
diff --git a/scripts/profile_deploy.ts b/scripts/profile_deploy.ts
index 698fdf8..2edea0d 100644
--- a/scripts/profile_deploy.ts
+++ b/scripts/profile_deploy.ts
@@ -14,7 +14,7 @@ async function main() {
const wallet = await setupWallet();
const sponsoredFPC = await getSponsoredFPCInstance();
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
let accountManager = await deploySchnorrAccount(wallet);
const address = accountManager.address;
diff --git a/src/main.nr b/src/main.nr
index d995188..1f8904b 100644
--- a/src/main.nr
+++ b/src/main.nr
@@ -23,18 +23,18 @@ use dep::aztec::macros::aztec;
#[aztec]
pub contract PodRacing {
use dep::aztec::{
- note::note_getter_options::NoteGetterOptions,
+ macros::{functions::{external, initializer, only_self}, storage::storage},
messages::message_delivery::MessageDelivery,
- macros::{functions::{external, initializer, internal}, storage::storage},
+ note::note_getter_options::NoteGetterOptions,
};
use dep::aztec::protocol_types::address::AztecAddress;
- use dep::aztec::state_vars::{Map, PublicMutable, PrivateSet};
+ use dep::aztec::state_vars::{Map, Owned, PrivateSet, PublicMutable};
use crate::{game_round_note::GameRoundNote, race::Race};
// Game configuration constants
- global TOTAL_ROUNDS: u8 = 3; // Each game consists of 3 rounds
- global GAME_LENGTH: u32 = 300; // Games expire after 300 blocks
+ global TOTAL_ROUNDS: u8 = 3; // Each game consists of 3 rounds
+ global GAME_LENGTH: u32 = 300; // Games expire after 300 blocks
#[storage]
struct Storage
{
@@ -48,7 +48,7 @@ pub contract PodRacing {
// Maps game_id -> player_address -> private notes containing that player's round choices
// Each GameRoundNote stores the point allocation for one round
// This data remains private until the player calls finish_game
- progress: Map, Context>, Context>,
+ progress: Map, Context>, Context>,
// Maps player address -> total number of wins
// Public leaderboard tracking career victories
@@ -58,7 +58,7 @@ pub contract PodRacing {
#[external("public")]
#[initializer]
fn constructor(admin: AztecAddress) {
- storage.admin.write(admin);
+ self.storage.admin.write(admin);
}
// Creates a new game instance
@@ -67,22 +67,26 @@ pub contract PodRacing {
#[external("public")]
fn create_game(game_id: Field) {
// Ensure this game_id hasn't been used yet (player1 must be zero address)
- assert(storage.races.at(game_id).read().player1.eq(AztecAddress::zero()));
+ assert(self.storage.races.at(game_id).read().player1.eq(AztecAddress::zero()));
// Initialize a new Race with the caller as player1
- let game = Race::new(context.msg_sender().unwrap(), TOTAL_ROUNDS, context.block_number() + GAME_LENGTH);
- storage.races.at(game_id).write(game);
+ let game = Race::new(
+ self.context.msg_sender().unwrap(),
+ TOTAL_ROUNDS,
+ self.context.block_number() + GAME_LENGTH,
+ );
+ self.storage.races.at(game_id).write(game);
}
// Allows a second player to join an existing game
// After joining, both players can start playing rounds
#[external("public")]
fn join_game(game_id: Field) {
- let maybe_existing_game = storage.races.at(game_id).read();
+ let maybe_existing_game = self.storage.races.at(game_id).read();
// Add the caller as player2 (validates that player1 exists and player2 is empty)
- let joined_game = maybe_existing_game.join(context.msg_sender().unwrap());
- storage.races.at(game_id).write(joined_game);
+ let joined_game = maybe_existing_game.join(self.context.msg_sender().unwrap());
+ self.storage.races.at(game_id).write(joined_game);
}
// Plays a single round by allocating points across 5 tracks
@@ -93,40 +97,48 @@ pub contract PodRacing {
// - track1-5: Points allocated to each track (must sum to less than 10)
// - round: Which round this is (1, 2, or 3)
#[external("private")]
- fn play_round(game_id: Field, round: u8, track1: u8, track2: u8, track3: u8, track4: u8, track5: u8) {
+ fn play_round(
+ game_id: Field,
+ round: u8,
+ track1: u8,
+ track2: u8,
+ track3: u8,
+ track4: u8,
+ track5: u8,
+ ) {
// Validate that total points don't exceed 9 (you can't max out all tracks)
assert(track1 + track2 + track3 + track4 + track5 < 10);
- let player = context.msg_sender().unwrap();
+ let player = self.context.msg_sender().unwrap();
// Store the round choices privately as a note in the player's own storage
// This creates a private commitment that can only be read by the player
- storage.progress.at(game_id).at(player).insert(GameRoundNote::new(
- track1,
- track2,
- track3,
- track4,
- track5,
- round,
- player,
- )).emit(player, MessageDelivery.CONSTRAINED_ONCHAIN);
+ self
+ .storage
+ .progress
+ .at(game_id)
+ .at(player)
+ .insert(GameRoundNote::new(track1, track2, track3, track4, track5, round, player))
+ .deliver(MessageDelivery.CONSTRAINED_ONCHAIN);
// Enqueue a public function call to update the round counter
// This reveals that a round was played, but not the point allocation
- PodRacing::at(context.this_address()).validate_and_play_round(player, game_id, round).enqueue(
- &mut context,
- );
+ self.enqueue(PodRacing::at(self.context.this_address()).validate_and_play_round(
+ player,
+ game_id,
+ round,
+ ));
}
// Internal public function to validate and record that a player completed a round
// Updates the public game state to track which round each player is on
// Does NOT reveal the point allocation (that remains private)
#[external("public")]
- #[internal]
+ #[only_self]
fn validate_and_play_round(player: AztecAddress, game_id: Field, round: u8) {
- let game_in_progress = storage.races.at(game_id).read();
+ let game_in_progress = self.storage.races.at(game_id).read();
// Increment the player's round counter (validates sequential play)
- storage.races.at(game_id).write(game_in_progress.increment_player_round(player, round));
+ self.storage.races.at(game_id).write(game_in_progress.increment_player_round(player, round));
}
// Called after all rounds are complete to reveal a player's total scores
@@ -136,17 +148,18 @@ pub contract PodRacing {
// This is the "reveal" phase where private choices become public
#[external("private")]
fn finish_game(game_id: Field) {
- let player = context.msg_sender().unwrap();
+ let player = self.context.msg_sender().unwrap();
// Retrieve all private notes for this player in this game
- let totals = storage.progress.at(game_id).at(player).get_notes(NoteGetterOptions::new());
+ let totals =
+ self.storage.progress.at(game_id).at(player).get_notes(NoteGetterOptions::new());
// Sum up points allocated to each track across all rounds
- let mut total_track1: u64= 0;
- let mut total_track2: u64= 0;
- let mut total_track3: u64= 0;
- let mut total_track4: u64= 0;
- let mut total_track5: u64= 0;
+ let mut total_track1: u64 = 0;
+ let mut total_track2: u64 = 0;
+ let mut total_track3: u64 = 0;
+ let mut total_track4: u64 = 0;
+ let mut total_track5: u64 = 0;
// Iterate through exactly TOTAL_ROUNDS notes (only this player's notes)
for i in 0..TOTAL_ROUNDS {
@@ -159,7 +172,7 @@ pub contract PodRacing {
// Enqueue public function to store the revealed totals on-chain
// Now the revealing player's track totals will be publicly visible
- PodRacing::at(context.this_address()).validate_finish_game_and_reveal(
+ self.enqueue(PodRacing::at(self.context.this_address()).validate_finish_game_and_reveal(
player,
game_id,
total_track1,
@@ -167,16 +180,14 @@ pub contract PodRacing {
total_track3,
total_track4,
total_track5,
- ).enqueue(
- &mut context,
- );
+ ));
}
// Internal public function to store a player's revealed track totals
// Validates that the player hasn't already revealed their scores (all must be 0)
// After both players call finish_game, all scores are public and can be compared
#[external("public")]
- #[internal]
+ #[only_self]
fn validate_finish_game_and_reveal(
player: AztecAddress,
game_id: Field,
@@ -184,12 +195,19 @@ pub contract PodRacing {
total_track2: u64,
total_track3: u64,
total_track4: u64,
- total_track5: u64
+ total_track5: u64,
) {
- let game_in_progress = storage.races.at(game_id).read();
+ let game_in_progress = self.storage.races.at(game_id).read();
// Store the player's track totals (validates they haven't been set yet)
- storage.races.at(game_id).write(game_in_progress.set_player_scores(player, total_track1, total_track2, total_track3, total_track4, total_track5));
+ self.storage.races.at(game_id).write(game_in_progress.set_player_scores(
+ player,
+ total_track1,
+ total_track2,
+ total_track3,
+ total_track4,
+ total_track5,
+ ));
}
// Determines the winner after both players have revealed their scores
@@ -202,16 +220,14 @@ pub contract PodRacing {
// - Player who wins 3+ tracks wins the game (best of 5)
// - Updates the winner's career win count
#[external("public")]
- fn finalize_game(
- game_id: Field
- ) {
- let game_in_progress = storage.races.at(game_id).read();
+ fn finalize_game(game_id: Field) {
+ let game_in_progress = self.storage.races.at(game_id).read();
// Calculate winner by comparing track scores (validates game has ended)
- let winner = game_in_progress.calculate_winner(context.block_number());
+ let winner = game_in_progress.calculate_winner(self.context.block_number());
// Update the winner's total win count in the public leaderboard
- let previous_wins = storage.win_history.at(winner).read();
- storage.win_history.at(winner).write(previous_wins + 1);
+ let previous_wins = self.storage.win_history.at(winner).read();
+ self.storage.win_history.at(winner).write(previous_wins + 1);
}
}
diff --git a/src/test/e2e/accounts.test.ts b/src/test/e2e/accounts.test.ts
index 9126e65..ce03bf4 100644
--- a/src/test/e2e/accounts.test.ts
+++ b/src/test/e2e/accounts.test.ts
@@ -1,7 +1,8 @@
import { PodRacingContractArtifact, PodRacingContract } from "../../artifacts/PodRacing.js"
import { generateSchnorrAccounts } from "@aztec/accounts/testing"
import { SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee/testing'
-import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
+import { createEthereumChain } from '@aztec/ethereum/chain';
+import { createExtendedL1Client } from '@aztec/ethereum/client';
import { getSponsoredFPCInstance } from "../../utils/sponsored_fpc.js";
import { setupWallet } from "../../utils/setup_wallet.js";
import { SponsoredFPCContract } from "@aztec/noir-contracts.js/SponsoredFPC";
@@ -44,7 +45,7 @@ describe("Accounts", () => {
wallet = await setupWallet();
sponsoredFPC = await getSponsoredFPCInstance();
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
sponsoredPaymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// create default ethereum clients
@@ -208,7 +209,7 @@ describe("Accounts", () => {
}),
);
- expect(receiptAfterMined.contract.instance.address).toEqual(deploymentData.address)
+ expect(receiptAfterMined.contract.address).toEqual(deploymentData.address)
})
});
diff --git a/src/test/e2e/index.test.ts b/src/test/e2e/index.test.ts
index 690880e..4468be9 100644
--- a/src/test/e2e/index.test.ts
+++ b/src/test/e2e/index.test.ts
@@ -96,7 +96,7 @@ describe("Pod Racing Game", () => {
wallet = await setupWallet();
sponsoredFPC = await getSponsoredFPCInstance();
- await wallet.registerContract({ instance: sponsoredFPC, artifact: SponsoredFPCContract.artifact });
+ await wallet.registerContract(sponsoredFPC, SponsoredFPCContract.artifact);
sponsoredPaymentMethod = new SponsoredFeePaymentMethod(sponsoredFPC.address);
// Create two player accounts
diff --git a/src/utils/deploy_account.ts b/src/utils/deploy_account.ts
index 608de3e..bc51378 100644
--- a/src/utils/deploy_account.ts
+++ b/src/utils/deploy_account.ts
@@ -35,7 +35,7 @@ export async function deploySchnorrAccount(wallet?: TestWallet): Promise {
const nodeUrl = getAztecNodeUrl();
const node = createAztecNodeClient(nodeUrl);
- const wallet = await TestWallet.create(node);
+ const proverEnabled = getEnv() !== 'local-network';
+ const wallet = await TestWallet.create(node, { proverEnabled });
return wallet
}
diff --git a/yarn.lock b/yarn.lock
index 2a8202b..fbc7c62 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -583,130 +583,133 @@
resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.1.1.tgz#2e67f17040b930bde00a79ffb484eb9e77472b06"
integrity sha512-RcLam17LdlbSOSp9VxmUu1eI6Mwxp+OwhD2QhiSNmNCzoDb0EeUXTD2n/WbcnrAYMGlmf05th6QYq23VqvJqpA==
-"@aztec/accounts@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/accounts/-/accounts-3.0.0-devnet.5.tgz#44482486c15ede1834aa27ce80d6543c82f68dae"
- integrity sha512-VEN4i5SjA2waCO2KRcGvRmv5n06i2dRlFmozSIVss0j8a1IRvr1PGCOsRK7/ymForcRmLnozM2kJXZySf12xCQ==
- dependencies:
- "@aztec/aztec.js" "3.0.0-devnet.5"
- "@aztec/entrypoints" "3.0.0-devnet.5"
- "@aztec/ethereum" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+"@aztec/accounts@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/accounts/-/accounts-3.0.0-devnet.20251212.tgz#9bbc3097a7e0579e922a87880eaea760ac0e718c"
+ integrity sha512-nmXLe6N45F/V6SZWgLEvU2h58vC23eYUtuHROnaLBzh579DUv2TTSxSF8BU/1hKPKCYaloLWXy7z7F6WVMZaVg==
+ dependencies:
+ "@aztec/aztec.js" "3.0.0-devnet.20251212"
+ "@aztec/entrypoints" "3.0.0-devnet.20251212"
+ "@aztec/ethereum" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
tslib "^2.4.0"
-"@aztec/aztec.js@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/aztec.js/-/aztec.js-3.0.0-devnet.5.tgz#f9299b429051a3d44d73e8f0df4fdebd9d845596"
- integrity sha512-imufeCwtwMslvLa1oUgV/NpFUjqmb/mnGLNmXoHx0vSwPWG5SIyorxkzSvenuYeF3NVo++LJaW9Ng4lzRj0CiA==
- dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/entrypoints" "3.0.0-devnet.5"
- "@aztec/ethereum" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/l1-artifacts" "3.0.0-devnet.5"
- "@aztec/protocol-contracts" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+"@aztec/aztec.js@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/aztec.js/-/aztec.js-3.0.0-devnet.20251212.tgz#8c84a5a60bf092360f6f80c6575b38c3dc41aa74"
+ integrity sha512-k0o3fZlDEf8XaBDFIhKIOgQES09/xOiCNnaaCBwfQgifPtxHKsdTnomXHVVwgJWD/gS7TtwLnNfvjYmEKy50cA==
+ dependencies:
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/entrypoints" "3.0.0-devnet.20251212"
+ "@aztec/ethereum" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/l1-artifacts" "3.0.0-devnet.20251212"
+ "@aztec/protocol-contracts" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
axios "^1.12.0"
tslib "^2.4.0"
- viem "npm:@spalladino/viem@2.38.2-eip7594.0"
+ viem "npm:@aztec/viem@2.38.2"
zod "^3.23.8"
-"@aztec/bb-prover@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/bb-prover/-/bb-prover-3.0.0-devnet.5.tgz#cb058e2a15fb730801be73494a546370ea2df531"
- integrity sha512-Q/9MrINagHGI5TwqG6IF58wC/ItS68MPKniRCBShvVfDDqAJp/Sv9eJw0bshEqj+xGPGeu5zpha5J22TEUABAA==
- dependencies:
- "@aztec/bb.js" "3.0.0-devnet.5"
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/noir-noirc_abi" "3.0.0-devnet.5"
- "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.5"
- "@aztec/noir-types" "3.0.0-devnet.5"
- "@aztec/simulator" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
- "@aztec/telemetry-client" "3.0.0-devnet.5"
- "@aztec/world-state" "3.0.0-devnet.5"
+"@aztec/bb-prover@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/bb-prover/-/bb-prover-3.0.0-devnet.20251212.tgz#86540c0272e910cbc35dffc97119dbf712521f94"
+ integrity sha512-wFb3yVIoZSCdcmcZTKBHsdzNtvt8S3nVhPFagoEL6ts8fJtrzYS1tYZ5mLukpwILkNJGnb+R+SLpaWEBnU7fTg==
+ dependencies:
+ "@aztec/bb.js" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/noir-noirc_abi" "3.0.0-devnet.20251212"
+ "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.20251212"
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
+ "@aztec/simulator" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
+ "@aztec/telemetry-client" "3.0.0-devnet.20251212"
+ "@aztec/world-state" "3.0.0-devnet.20251212"
commander "^12.1.0"
pako "^2.1.0"
source-map-support "^0.5.21"
tslib "^2.4.0"
-"@aztec/bb.js@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/bb.js/-/bb.js-3.0.0-devnet.5.tgz#943def962954647e88fe1dc04c431c9967d55b22"
- integrity sha512-PreVW5HaIZC0OhXDdLHFxyUo2n71amChLh58MPzca9L1bex+g4naAd+7z6IepSGY2eQT8dWLhuhn7DYnBA3TYQ==
+"@aztec/bb.js@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/bb.js/-/bb.js-3.0.0-devnet.20251212.tgz#cbf4c76db7b57f5515a0e1168b37200a9e91734b"
+ integrity sha512-9xqm3d9H9aDus8xGf7b7Bd9rkjYqp1PHHMmqNT8FJ/Rv5Pn/rJgwE+d4ZWJtm+inIIu8D8AeKTBc9bEEPjENUQ==
dependencies:
comlink "^4.4.1"
commander "^12.1.0"
idb-keyval "^6.2.1"
msgpackr "^1.11.2"
pako "^2.1.0"
- pino "^9.5.0"
tslib "^2.4.0"
-"@aztec/blob-lib@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/blob-lib/-/blob-lib-3.0.0-devnet.5.tgz#698cd11f67a8f234af914e252d3fecfb9b0067bb"
- integrity sha512-Vf+EGDbUAXpIBXx1DR5vdBSxPf7fjDV5NIE/Ds+UMFxfEHoHNk4lwgFc9ERWBh81L/uDTuGgmZn4X009p66Uug==
+"@aztec/blob-lib@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/blob-lib/-/blob-lib-3.0.0-devnet.20251212.tgz#cc8f3e89b0078b761e46e6adbdf3e57e0480db4a"
+ integrity sha512-DiJBFkcPxuGBN51S6EaJfU+UxejcOwUzKFAIskPIHheb0kSFAad/4VVhhadtCudN72+iIBCExUtp7qBdJmePYQ==
dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
"@crate-crypto/node-eth-kzg" "^0.10.0"
tslib "^2.4.0"
-"@aztec/builder@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/builder/-/builder-3.0.0-devnet.5.tgz#9b95bad40e038a6f464c8518d9261d5d4d2f54de"
- integrity sha512-Mi0/pF10uPSZnX3yyqBANCv3+XqHipJmUtV8cUV4jJn158rJ00hL0846Nqy7Q/HMR84VduJXVroTm0u2mwt2Hg==
+"@aztec/builder@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/builder/-/builder-3.0.0-devnet.20251212.tgz#1befe5bc1d0f10e87820fd775ad279589664360e"
+ integrity sha512-BUvWzdwUK7jnfpjsvdgbOpAvdZi3njH3MQHSIW3VYyEgUlVNT9NJtmCzY222vnBPeN4XLkNwBSaEe1DH+VuULw==
dependencies:
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
commander "^12.1.0"
-"@aztec/constants@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/constants/-/constants-3.0.0-devnet.5.tgz#c3f27558400b8a6ff267f5fd354612d23e66eab5"
- integrity sha512-+d1hHUtnSuGV/w1LuVFSuSznFO2sgrxn9IOr/mucfoqNoUr0zAC1GIMzWgUbMxckja8sQs8Jh2AiuyG8+QIZVw==
+"@aztec/constants@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/constants/-/constants-3.0.0-devnet.20251212.tgz#2960ebfea2852313c76af6b967c53958e03006cb"
+ integrity sha512-R0pYLhWUnDago/MO8+iuG/2yrP4yVDZuQvOmXwDqp5ed+SR4zj8sqvC52paXrOxhcLpheVpEHp2TuGKtmssvtg==
dependencies:
+ "@aztec/foundation" "3.0.0-devnet.20251212"
tslib "^2.4.0"
-"@aztec/entrypoints@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/entrypoints/-/entrypoints-3.0.0-devnet.5.tgz#eb53e873134fbd683a3a9893d4d99171c7a9eae1"
- integrity sha512-cDFSuGgCWAz5oBPL7JLw+w/jANHrOhEQ3cs7BxZHpz8FNEM5g48Ks69kPaV7pD1DQ+7GQWmRQLf+xxQV/3wL4Q==
+"@aztec/entrypoints@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/entrypoints/-/entrypoints-3.0.0-devnet.20251212.tgz#a67151a3d9c078b91bf8e3869cddd64c784eaab5"
+ integrity sha512-XlMkUqetlM1lzVycxmIdQ1FtM2kfFtKU+7GG01mGnhawFHJnBT8EqMQjxaSKCO9fQYTNIl1oUELhyzpiWL/ztg==
dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/protocol-contracts" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/protocol-contracts" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
tslib "^2.4.0"
+ zod "^3.23.8"
-"@aztec/ethereum@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/ethereum/-/ethereum-3.0.0-devnet.5.tgz#79c1e22c64ea4a89cee2640865970b7e6af13b72"
- integrity sha512-4dl6BO8ajpMFKSWdjZvn9lk5QfPLEOEsJ01xgZJX65wBm5Qde86irF5/1oXhjaz5lpaBm9jKD8+eTB8X8Lu31w==
+"@aztec/ethereum@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/ethereum/-/ethereum-3.0.0-devnet.20251212.tgz#910f811f04c319edbde9d1af192b8753936061ba"
+ integrity sha512-smAL13K73bpP5SXDYoYukQsnOa6iHC7a1HP1tf3Llk9mF0hS1BXV+kyrltiVeVHSN5/UkZN4WZ50yQ5CCeq6rg==
dependencies:
- "@aztec/blob-lib" "3.0.0-devnet.5"
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/l1-artifacts" "3.0.0-devnet.5"
+ "@aztec/blob-lib" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/l1-artifacts" "3.0.0-devnet.20251212"
"@viem/anvil" "^0.0.10"
dotenv "^16.0.3"
lodash.chunk "^4.2.0"
lodash.pickby "^4.5.0"
tslib "^2.4.0"
- viem "npm:@spalladino/viem@2.38.2-eip7594.0"
+ viem "npm:@aztec/viem@2.38.2"
zod "^3.23.8"
-"@aztec/foundation@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/foundation/-/foundation-3.0.0-devnet.5.tgz#f6c98b074cdf26565c61a55d5182f5ca5a8dd919"
- integrity sha512-Ks9DFE8K01wObwJdsTMYSC84cSQCgbBGyfLB7fnH/CAx2Th9wxPzeLMhmGNQEBLtG4RARdkiAbMUAjlRHI1yEw==
+"@aztec/foundation@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/foundation/-/foundation-3.0.0-devnet.20251212.tgz#2871a76946ee051b7a42cbf9c9defa08220ea054"
+ integrity sha512-1yBGAJCO4VjmaZTx5qbJ2vW8yjWlLae524L08zOSGoEqF2RIkCvbQyIOaH/ZWb5n866LP66XhUfoaohPmgK+EA==
dependencies:
- "@aztec/bb.js" "3.0.0-devnet.5"
+ "@aztec/bb.js" "3.0.0-devnet.20251212"
"@koa/cors" "^5.0.0"
"@noble/curves" "=1.7.0"
+ "@noble/hashes" "^1.6.1"
+ "@scure/bip39" "^2.0.1"
bn.js "^5.2.1"
colorette "^2.0.20"
detect-node "^2.1.0"
@@ -725,178 +728,180 @@
undici "^5.28.5"
zod "^3.23.8"
-"@aztec/key-store@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/key-store/-/key-store-3.0.0-devnet.5.tgz#bfe77457a027f4aaef154c78751b44f42cf50ab7"
- integrity sha512-GabVDXsoPwb8YUN2AVq0pBvwiUPo9F3clvb8GpQuzvkDtLc0O9EPstxqEeHoaQTI2lQi5+KJi27kNTAiyeGiCw==
+"@aztec/key-store@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/key-store/-/key-store-3.0.0-devnet.20251212.tgz#0d0bf89969a8e8a5f1f0db86d1f1cd703478af19"
+ integrity sha512-FMh8hsXZNMMz+DHDdKgTyeNfdH0FHiwQygDdi3n2rRr0Io7Jc3HMPqB3w5dFt8qKxTelNmFqll5XRu5IZDuAvg==
dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/kv-store" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/kv-store" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
tslib "^2.4.0"
-"@aztec/kv-store@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/kv-store/-/kv-store-3.0.0-devnet.5.tgz#204c49896090c3f6278c7b6ba4dfb482613fe0e2"
- integrity sha512-qGXZm4P8qNTICNmUAAzBUdxgxB5YU+31mPWXtWLrVNJNVmshQnV7h/AMESmgUlb6fAtWyLyZMjl/QrjSTpX9ig==
+"@aztec/kv-store@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/kv-store/-/kv-store-3.0.0-devnet.20251212.tgz#6199beb780558a180200f9cc1b246fd7df009af1"
+ integrity sha512-Qe1aYRpQFHFwsvtNKLHphKNYxEB4vIOSqqgFME8oYw3nsq2AlV/Byrmw0x3jXVc15QLc6x8uTn1rXqpZK+u3tA==
dependencies:
- "@aztec/ethereum" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/native" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/ethereum" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/native" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
idb "^8.0.0"
lmdb "^3.2.0"
msgpackr "^1.11.2"
ohash "^2.0.11"
ordered-binary "^1.5.3"
-"@aztec/l1-artifacts@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/l1-artifacts/-/l1-artifacts-3.0.0-devnet.5.tgz#ba62709f88d768225f3d68cec5718665e2c5e5a2"
- integrity sha512-a41fELYCc8wRRkD98wvJX+2HQWf8tE/sZQIQpHf5j/w1vrcoPoBkwysSoFzVJ4zEMM3Umj8VGkzBXfVaj8HtvA==
+"@aztec/l1-artifacts@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/l1-artifacts/-/l1-artifacts-3.0.0-devnet.20251212.tgz#431713cd66794eb8d890f0f379a55809a7822e61"
+ integrity sha512-IGWQ8ie2W1Ok8bLnfmuvazULT9dPj9ozYDujcgI+lWYnUbTDR5ja7tfx9qG//9Um+FFKZL5JErm0qtsPSrO2tg==
dependencies:
tslib "^2.4.0"
-"@aztec/merkle-tree@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/merkle-tree/-/merkle-tree-3.0.0-devnet.5.tgz#4a8d1bb66389ba912ec9606f0dd05498703c1e2a"
- integrity sha512-AgFukgx7nv89S4zfoRkGWAmLK+Mx5IEwnJsoTj1Hl57+62VrT5uSbLGQAdiukIfX2iay+B+9Kv2oTybIU/SKyg==
+"@aztec/merkle-tree@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/merkle-tree/-/merkle-tree-3.0.0-devnet.20251212.tgz#f9ecfd673d0639f9629906e5610fbe5e06dff824"
+ integrity sha512-uXJm69QJElxnnPah7JSynsw7+xaVzIOWFxqYLP9QgQG7M1MyYE9WQyK78LMRUb8iG3sW84udFcvdSuCMwL1YEw==
dependencies:
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/kv-store" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/kv-store" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
sha256 "^0.2.0"
tslib "^2.4.0"
-"@aztec/native@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/native/-/native-3.0.0-devnet.5.tgz#2b8ad2b4527d406ec37c5c5ed0572e047919aa77"
- integrity sha512-psF9eggbvW/KROQKpBp8Bbok47kh/LjKefKw2My7WzW88hQUMbYpEJK0C8lgmMN6clMEzFjIPL9zY81b2hk8LA==
+"@aztec/native@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/native/-/native-3.0.0-devnet.20251212.tgz#eaaecdbacee3295077219de400b8eafa4c8c5e8a"
+ integrity sha512-UIUjQRK2S54Pr0tZinUek7rjtfh0fZbdxJFzEFTBElO/g5rExK8FUX8S1Fz3DfFOJNgBj9Y8RW2oj3yZEKxTvw==
dependencies:
- "@aztec/foundation" "3.0.0-devnet.5"
+ "@aztec/bb.js" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
msgpackr "^1.11.2"
-"@aztec/noir-acvm_js@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-acvm_js/-/noir-acvm_js-3.0.0-devnet.5.tgz#12211c89b4f799620ef29e3839a89c6b2dc20822"
- integrity sha512-FTGxNN2MM3n/gxlNUarQSh690mo7yigFIJi+nnanbZkrBYBSdnddiC9Bn6yL9hxRSIyXBuLzT01GwxzDwZ75zA==
+"@aztec/noir-acvm_js@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-acvm_js/-/noir-acvm_js-3.0.0-devnet.20251212.tgz#efe93e644afed661fe6d5b17f4fd5cc273fa4e21"
+ integrity sha512-vQujIYW0urROyi/+REygX1YyHuHSBMSFyOc2P7pyFEILmlMH8ZLyLjtUWHm8bUa8gq8G+zsd7Bn2p+MEiBhMtg==
-"@aztec/noir-contracts.js@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-contracts.js/-/noir-contracts.js-3.0.0-devnet.5.tgz#11f41d55a4b517ac6ed73bc1e92fc37e5a850901"
- integrity sha512-NkH0sz4cCmZoZaw/ZXdoGZUFQZyt2Gk6A+Im3pYoy/Fug07pR/7vMMzMpyWm/i4Jr1qE0LcMGb0uqXHtuzK5jg==
+"@aztec/noir-contracts.js@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-contracts.js/-/noir-contracts.js-3.0.0-devnet.20251212.tgz#91602e1ab1b517a12ebb90c868c1bd22d706c34d"
+ integrity sha512-+Jl3za8TTK9VkiDitj6cMCdpmD0A3buvafoVNPmTUU8AvO1YMTrs6OPDvMEXKVpmwRZI6zOCPF+0H1u9zDW5BA==
dependencies:
- "@aztec/aztec.js" "3.0.0-devnet.5"
+ "@aztec/aztec.js" "3.0.0-devnet.20251212"
tslib "^2.4.0"
-"@aztec/noir-noir_codegen@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-noir_codegen/-/noir-noir_codegen-3.0.0-devnet.5.tgz#4d4db4795bcbb72e72808658ed1e16bf887cbcaf"
- integrity sha512-xOhoWvjxEn9DMgIyCbL6pV2xGHLupeuqjB6nCTl3PF/R5iynknPOehWG2gptCIVa/zO+m8LH8USlC9jjgrjG3Q==
+"@aztec/noir-noir_codegen@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-noir_codegen/-/noir-noir_codegen-3.0.0-devnet.20251212.tgz#8a278ca2f2e3e5c524047b96166ebe987dba00d0"
+ integrity sha512-yl1+tmypfKODxsq6PxPsCjRJokI3S+rU6gNvO6XLQTRuFkDIDfp4qDoevD9VnZvjtkataS2z99AylsJdxFToEQ==
dependencies:
- "@aztec/noir-types" "3.0.0-devnet.5"
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
glob "^11.0.3"
ts-command-line-args "^2.5.1"
-"@aztec/noir-noirc_abi@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-noirc_abi/-/noir-noirc_abi-3.0.0-devnet.5.tgz#a2e826e9c2c5ed4499bd6209e982093c01c8e73c"
- integrity sha512-Ve7DeT69Q45VayP+H0mzOvleNwS5UL7wqnEh3YZ6cpMPuCQKl5BSUiSwHhFyfI/6B/4JDVh4r4/ujArTBG4YPw==
- dependencies:
- "@aztec/noir-types" "3.0.0-devnet.5"
-
-"@aztec/noir-protocol-circuits-types@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-protocol-circuits-types/-/noir-protocol-circuits-types-3.0.0-devnet.5.tgz#0edf6bba41958ea0c87de6ff4c760127abc355e7"
- integrity sha512-iv4MytPVLoaiLSy68LM1ztqRQ/N1dYITel9tUJqf2T04qgHJcraM+5tQz3xLaCvUP1Dax1l129ny7JX/GletNg==
- dependencies:
- "@aztec/blob-lib" "3.0.0-devnet.5"
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/noir-acvm_js" "3.0.0-devnet.5"
- "@aztec/noir-noir_codegen" "3.0.0-devnet.5"
- "@aztec/noir-noirc_abi" "3.0.0-devnet.5"
- "@aztec/noir-types" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+"@aztec/noir-noirc_abi@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-noirc_abi/-/noir-noirc_abi-3.0.0-devnet.20251212.tgz#368242d4b23f3627086e00588bb34573fba69b46"
+ integrity sha512-HuABbS7Cr4xXFQ3Fqq86hoDzbAnxe7iXJK6Oow6Ak8PqNu1kdvZpwLLMpDvTE/1sCio+lEbnNmxpp5ko2yckSQ==
+ dependencies:
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
+
+"@aztec/noir-protocol-circuits-types@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-protocol-circuits-types/-/noir-protocol-circuits-types-3.0.0-devnet.20251212.tgz#174eadaaba675393983609a5a5683d0e69912075"
+ integrity sha512-gBz5UbR1QV5bmg/6y+an77GEJmM2ed1/UCtJwGmbRjhA6Bq+l8ghTphAFtO2eOs/OOp6vaEOBWBCEvTUpF/j0w==
+ dependencies:
+ "@aztec/blob-lib" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/noir-acvm_js" "3.0.0-devnet.20251212"
+ "@aztec/noir-noir_codegen" "3.0.0-devnet.20251212"
+ "@aztec/noir-noirc_abi" "3.0.0-devnet.20251212"
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
change-case "^5.4.4"
tslib "^2.4.0"
-"@aztec/noir-types@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/noir-types/-/noir-types-3.0.0-devnet.5.tgz#6a0979364c7bd829f8683d77c43b3f91bf12707e"
- integrity sha512-MRZ5bS8khyXcT6p9ptOBDIfFOl0f7RFjclthbMrJ/q0B1b2VK3bs6k3iTgbxFQz5y3Ly2+eaoCZTcCujXbl/sg==
+"@aztec/noir-types@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/noir-types/-/noir-types-3.0.0-devnet.20251212.tgz#878793c148d4305e0113963fdbdd4a4791fca01e"
+ integrity sha512-cFgkHsupyJmDkN/MEP7EDgG9pBKO4jGNH9Y3d3t0OIhRjlberBRv0HtlcfTfaKeM2DZ2x/Lloov+5J6mfuyMrA==
-"@aztec/protocol-contracts@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/protocol-contracts/-/protocol-contracts-3.0.0-devnet.5.tgz#06c78908dfeae74fc0f58c635f653e002b2547ce"
- integrity sha512-ep292wqj81Bz5Nm6QIAYAVLcoYRev+PPB4aBSTFIDzyPBwr6zFeJNPmeUxenxivJrHeSsNmX0nivQnx8Hi8O1w==
+"@aztec/protocol-contracts@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/protocol-contracts/-/protocol-contracts-3.0.0-devnet.20251212.tgz#d08620926a4370995b58a2ba4341a8324d82b8ab"
+ integrity sha512-AZSTimslrwiyc4d3doifGQcUmayuYDZkD+Eo/U9udIz4uexljVgOVCNMbciDbDGDuEkKEd6mg/W/YlAcTqCdqQ==
dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
lodash.chunk "^4.2.0"
lodash.omit "^4.5.0"
tslib "^2.4.0"
-"@aztec/pxe@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/pxe/-/pxe-3.0.0-devnet.5.tgz#07a95197c0402cdd5b2c780ac1b735bb635d892e"
- integrity sha512-0/D4yXN+y3Kyznoc9heOk2faqvK38PHbVDkAmoRtWePjqMrkvvQaH/XXmS+jnJTnpZ/cE4H6o5HdP7kgxdjQ7Q==
- dependencies:
- "@aztec/bb-prover" "3.0.0-devnet.5"
- "@aztec/bb.js" "3.0.0-devnet.5"
- "@aztec/builder" "3.0.0-devnet.5"
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/ethereum" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/key-store" "3.0.0-devnet.5"
- "@aztec/kv-store" "3.0.0-devnet.5"
- "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.5"
- "@aztec/noir-types" "3.0.0-devnet.5"
- "@aztec/protocol-contracts" "3.0.0-devnet.5"
- "@aztec/simulator" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+"@aztec/pxe@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/pxe/-/pxe-3.0.0-devnet.20251212.tgz#dd9916163a41ed1c8532768ac8f92fa1e2426468"
+ integrity sha512-wmg2emJsutWNnHCuly+2t/C43PFEtGqoHzkCSsDhfgWDgjtaScROyaGoCHyNjqGDJvhfe5HQ+cfGjjEuYia0Qw==
+ dependencies:
+ "@aztec/bb-prover" "3.0.0-devnet.20251212"
+ "@aztec/bb.js" "3.0.0-devnet.20251212"
+ "@aztec/builder" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/ethereum" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/key-store" "3.0.0-devnet.20251212"
+ "@aztec/kv-store" "3.0.0-devnet.20251212"
+ "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.20251212"
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
+ "@aztec/protocol-contracts" "3.0.0-devnet.20251212"
+ "@aztec/simulator" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
koa "^2.16.1"
koa-router "^13.1.1"
lodash.omit "^4.5.0"
sha3 "^2.1.4"
tslib "^2.4.0"
- viem "npm:@spalladino/viem@2.38.2-eip7594.0"
-
-"@aztec/simulator@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/simulator/-/simulator-3.0.0-devnet.5.tgz#e2227b086c1345f53df54c38b1ae1987a38226f5"
- integrity sha512-XMSeJNbTfzqtaF32aiikHKkShn7NbBwAHpdi1qJvfpeMcGk2PvFE/1cyiwY89iQHdfRG24f3mS4cl7ekRcFymg==
- dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/native" "3.0.0-devnet.5"
- "@aztec/noir-acvm_js" "3.0.0-devnet.5"
- "@aztec/noir-noirc_abi" "3.0.0-devnet.5"
- "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.5"
- "@aztec/noir-types" "3.0.0-devnet.5"
- "@aztec/protocol-contracts" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
- "@aztec/telemetry-client" "3.0.0-devnet.5"
- "@aztec/world-state" "3.0.0-devnet.5"
+ viem "npm:@aztec/viem@2.38.2"
+
+"@aztec/simulator@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/simulator/-/simulator-3.0.0-devnet.20251212.tgz#da2f87175593acbb6a830c99a7e4a0992d3897b7"
+ integrity sha512-juVBLvDEMBPkzg6gaxtRGeuBiPq35S1BEI1L5Y1z1GHZXvrPxR/R8Q2YrG8wBgdNvfPtXCFXDlW1FF2AFtORtA==
+ dependencies:
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/native" "3.0.0-devnet.20251212"
+ "@aztec/noir-acvm_js" "3.0.0-devnet.20251212"
+ "@aztec/noir-noirc_abi" "3.0.0-devnet.20251212"
+ "@aztec/noir-protocol-circuits-types" "3.0.0-devnet.20251212"
+ "@aztec/noir-types" "3.0.0-devnet.20251212"
+ "@aztec/protocol-contracts" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
+ "@aztec/telemetry-client" "3.0.0-devnet.20251212"
+ "@aztec/world-state" "3.0.0-devnet.20251212"
lodash.clonedeep "^4.5.0"
lodash.merge "^4.6.2"
tslib "^2.4.0"
-"@aztec/stdlib@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/stdlib/-/stdlib-3.0.0-devnet.5.tgz#27107193bd38d2533626a6f33a9466896c490def"
- integrity sha512-1AtQUnRSPuFG0hziJ/GFLAiumTBS7msgwMRHxGPg9NHtuNNrVFCw1ya2JwBuaIZPktuNBToRm7YjiOyCO5+04g==
+"@aztec/stdlib@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/stdlib/-/stdlib-3.0.0-devnet.20251212.tgz#e87ea64a15137aaa55395f30278ba184a3928f97"
+ integrity sha512-dynBZhet96Uq4xXM4oqRUcD/7E6pJXK3yVQH5cpCUEzk47vzDeQCdbRiIJJ+QEM5SVIjx2PG0fct1nFXcCD5Hw==
dependencies:
"@aws-sdk/client-s3" "^3.892.0"
- "@aztec/bb.js" "3.0.0-devnet.5"
- "@aztec/blob-lib" "3.0.0-devnet.5"
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/ethereum" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/l1-artifacts" "3.0.0-devnet.5"
- "@aztec/noir-noirc_abi" "3.0.0-devnet.5"
+ "@aztec/bb.js" "3.0.0-devnet.20251212"
+ "@aztec/blob-lib" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/ethereum" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/l1-artifacts" "3.0.0-devnet.20251212"
+ "@aztec/noir-noirc_abi" "3.0.0-devnet.20251212"
"@google-cloud/storage" "^7.15.0"
axios "^1.12.0"
json-stringify-deterministic "1.0.12"
@@ -907,16 +912,16 @@
msgpackr "^1.11.2"
pako "^2.1.0"
tslib "^2.4.0"
- viem "npm:@spalladino/viem@2.38.2-eip7594.0"
+ viem "npm:@aztec/viem@2.38.2"
zod "^3.23.8"
-"@aztec/telemetry-client@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/telemetry-client/-/telemetry-client-3.0.0-devnet.5.tgz#e4a084e4696b856ede4c32cd4653f81bf63bd6b2"
- integrity sha512-66+x1ACeVyRTKHnlmYu9/CubvRQ8hO19Y5tJshP9hwkmsjXbY7LilaSatLNZKCEGHyeqRnrOx2aURYwesNwk9Q==
+"@aztec/telemetry-client@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/telemetry-client/-/telemetry-client-3.0.0-devnet.20251212.tgz#7cef701d20f1adcdde6508c1dc101a638e830db0"
+ integrity sha512-Q77CD74Y+aCiisqdXvitYF31/3N5No5CKSf5w/DsL5WKpyiIsW0fEM09QBIhEz3JUCh9J7jG4cz7PaNQ5xoyQg==
dependencies:
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
"@opentelemetry/api" "^1.9.0"
"@opentelemetry/api-logs" "^0.55.0"
"@opentelemetry/core" "^1.28.0"
@@ -932,34 +937,47 @@
"@opentelemetry/sdk-trace-node" "^1.28.0"
"@opentelemetry/semantic-conventions" "^1.28.0"
prom-client "^15.1.3"
- viem "npm:@spalladino/viem@2.38.2-eip7594.0"
-
-"@aztec/test-wallet@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/test-wallet/-/test-wallet-3.0.0-devnet.5.tgz#aec81864e7e702583a744a7e706ae58d3df7b12f"
- integrity sha512-A3j5AdhUSIFfTW4hc5ysob3NYgS+krsKKHMJrD8AvhXsMJMKSdY5nzshM584epbgrEmA3lVEw8h+vMRLs2UTVg==
- dependencies:
- "@aztec/accounts" "3.0.0-devnet.5"
- "@aztec/aztec.js" "3.0.0-devnet.5"
- "@aztec/entrypoints" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/noir-contracts.js" "3.0.0-devnet.5"
- "@aztec/pxe" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
-
-"@aztec/world-state@3.0.0-devnet.5":
- version "3.0.0-devnet.5"
- resolved "https://registry.yarnpkg.com/@aztec/world-state/-/world-state-3.0.0-devnet.5.tgz#a069815710c00c0047fd42d233f91ce5357b81fc"
- integrity sha512-R420F5CDswUN+m9HloaIGiuuQDJoDEy2nuBElBXA6Dno6+kbTeOGP7vXxOnLS/E9gCIk5Yn5iBB4OAb6WMryZQ==
- dependencies:
- "@aztec/constants" "3.0.0-devnet.5"
- "@aztec/foundation" "3.0.0-devnet.5"
- "@aztec/kv-store" "3.0.0-devnet.5"
- "@aztec/merkle-tree" "3.0.0-devnet.5"
- "@aztec/native" "3.0.0-devnet.5"
- "@aztec/protocol-contracts" "3.0.0-devnet.5"
- "@aztec/stdlib" "3.0.0-devnet.5"
- "@aztec/telemetry-client" "3.0.0-devnet.5"
+ viem "npm:@aztec/viem@2.38.2"
+
+"@aztec/test-wallet@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/test-wallet/-/test-wallet-3.0.0-devnet.20251212.tgz#b72ec3502dc7361850a94c25684f167afa6a6322"
+ integrity sha512-f2rqo8YPOtPrDsPnjYFdYb8bg1uWYAQvtN+jYYTKT9m2EuqJ8e9urXbifG2Qpa4WkLzycYFbhO/lwwwnJ8OD8A==
+ dependencies:
+ "@aztec/accounts" "3.0.0-devnet.20251212"
+ "@aztec/aztec.js" "3.0.0-devnet.20251212"
+ "@aztec/entrypoints" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/noir-contracts.js" "3.0.0-devnet.20251212"
+ "@aztec/pxe" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
+ "@aztec/wallet-sdk" "3.0.0-devnet.20251212"
+
+"@aztec/wallet-sdk@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/wallet-sdk/-/wallet-sdk-3.0.0-devnet.20251212.tgz#bd0e5c646582f8b73e93b6aa5c2748d1ea446f17"
+ integrity sha512-ZpH6cZgxON1S38dwKKkY2xDpjJ53G3AGOGYU4PqF6H1TXTISWxvrM/zCnt5JokGQtz+vDkze2A0rm/JtgVUebg==
+ dependencies:
+ "@aztec/aztec.js" "3.0.0-devnet.20251212"
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/entrypoints" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/pxe" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
+
+"@aztec/world-state@3.0.0-devnet.20251212":
+ version "3.0.0-devnet.20251212"
+ resolved "https://registry.yarnpkg.com/@aztec/world-state/-/world-state-3.0.0-devnet.20251212.tgz#a376363b92db3c37041611499f592849851d288a"
+ integrity sha512-YcivSND09IFwOJGuzd+KxCcey5voU0KkgDUvSXSv/l0OZQR3o1OBWO9in08GseF4FQI3SZSuLzM3hhuPwMPLgg==
+ dependencies:
+ "@aztec/constants" "3.0.0-devnet.20251212"
+ "@aztec/foundation" "3.0.0-devnet.20251212"
+ "@aztec/kv-store" "3.0.0-devnet.20251212"
+ "@aztec/merkle-tree" "3.0.0-devnet.20251212"
+ "@aztec/native" "3.0.0-devnet.20251212"
+ "@aztec/protocol-contracts" "3.0.0-devnet.20251212"
+ "@aztec/stdlib" "3.0.0-devnet.20251212"
+ "@aztec/telemetry-client" "3.0.0-devnet.20251212"
tslib "^2.4.0"
zod "^3.23.8"
@@ -1717,11 +1735,16 @@
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5"
integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==
-"@noble/hashes@1.8.0", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0":
+"@noble/hashes@1.8.0", "@noble/hashes@^1.6.1", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a"
integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==
+"@noble/hashes@2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.1.tgz#fc1a928061d1232b0a52bb754393c37a5216c89e"
+ integrity sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==
+
"@opentelemetry/api-logs@0.55.0", "@opentelemetry/api-logs@^0.55.0":
version "0.55.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.55.0.tgz#5cd7461820d864600250deb3803c32367a6bb2d2"
@@ -1977,6 +2000,11 @@
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
+"@scure/base@2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@scure/base/-/base-2.0.0.tgz#ba6371fddf92c2727e88ad6ab485db6e624f9a98"
+ integrity sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==
+
"@scure/base@~1.2.5":
version "1.2.6"
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6"
@@ -1999,6 +2027,14 @@
"@noble/hashes" "~1.8.0"
"@scure/base" "~1.2.5"
+"@scure/bip39@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-2.0.1.tgz#47a6dc15e04faf200041239d46ae3bb7c3c96add"
+ integrity sha512-PsxdFj/d2AcJcZDX1FXN3dDgitDDTmwf78rKZq1a6c1P1Nan1X/Sxc7667zU3U+AN60g7SxxP0YCVw2H/hBycg==
+ dependencies:
+ "@noble/hashes" "2.0.1"
+ "@scure/base" "2.0.0"
+
"@sinclair/typebox@^0.27.8":
version "0.27.8"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
@@ -5985,10 +6021,10 @@ vary@^1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-"viem@npm:@spalladino/viem@2.38.2-eip7594.0":
- version "2.38.2-eip7594.0"
- resolved "https://registry.yarnpkg.com/@spalladino/viem/-/viem-2.38.2-eip7594.0.tgz#d875366821c5fb07b8ed6f52610c21e0e3a761cd"
- integrity sha512-1gwcB0wxqUoSuzbwTafhqLOeNPWOaIKkSUUvzgsg5gBDOXDxA8tPJWUXBFFdr640maizWRjTbP9GLuLzgMeSuQ==
+"viem@npm:@aztec/viem@2.38.2":
+ version "2.38.2"
+ resolved "https://registry.yarnpkg.com/@aztec/viem/-/viem-2.38.2.tgz#9c626b46569cce1f30f08f7be23fb73846aea520"
+ integrity sha512-q975q5/On5DSTQDJb0yu0AewnCPIckP4EHp2XOx1GrRn0yJd3TdOKVwuH7HjWtyvh3moFaPogBSHnp7bj4GpdQ==
dependencies:
"@noble/curves" "1.9.1"
"@noble/hashes" "1.8.0"