Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/development/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ SHELL ["/bin/bash", "-c"]

ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION=24.12.0
ENV AZTEC_VERSION=4.0.0-devnet.2-patch.0
ENV AZTEC_VERSION=4.1.0-rc.4

# Install dependencies including newer libstdc++
RUN apt update && apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/mac-arm/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ SHELL ["/bin/bash", "-c"]

ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION=24.12.0
ENV AZTEC_VERSION=4.0.0-devnet.2-patch.0
ENV AZTEC_VERSION=4.1.0-rc.4

# Install dependencies including newer libstdc++
RUN apt update && apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/testing/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ SHELL ["/bin/bash", "-c"]

ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION=24.12.0
ENV AZTEC_VERSION=4.0.0-devnet.2-patch.0
ENV AZTEC_VERSION=4.1.0-rc.4

# Install dependencies including newer libstdc++
RUN apt update && apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ concurrency:

env:
NODE_VERSION: '24.12.0'
AZTEC_VERSION: 4.0.0-devnet.2-patch.0
AZTEC_VERSION: 4.1.0-rc.4
NARGO_VERSION: 1.0.0-beta.18

jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:

env:
NODE_VERSION: '24.12.0'
AZTEC_VERSION: 4.0.0-devnet.2-patch.0
AZTEC_VERSION: 4.1.0-rc.4

jobs:
publish:
Expand Down
2 changes: 1 addition & 1 deletion .mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"command": "npx",
"args": ["-y", "aztec-mcp-server@latest"],
"env": {
"AZTEC_DEFAULT_VERSION": "v4.0.0-devnet.2-patch.0"
"AZTEC_DEFAULT_VERSION": "v4.1.0-rc.4"
}
},
"aztec-local": {
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

## A1) Tech stack and versions (source of truth)
- Noir: `v1.0.0-beta.x`
- Aztec Network: `v4.0.0-devnet.2-patch.0`
- Aztec Network: `v4.1.0-rc.4`
- Build tool: Nargo (Noir CLI + package tool)
- TypeScript tooling: Yarn scripts (see A3)
- Solidity: Present in this repo (exact compiler/version must be taken from repo config, not guessed)
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ The full project documentation is the main entrypoint for understanding the syst

| Component | Version | Source |
|-----------|---------|--------|
| Noir / Aztec.nr | `v4.0.0-devnet.2-patch.0` | `noir/aztec-state-migration/Nargo.toml` |
| Aztec JS packages | `v4.0.0-devnet.2-patch.0` | `package.json` dependencies |
| Solidity / Aztec L1 contracts | `v4.0.0-devnet.2-patch.0` | `solidity/foundry.toml` |
| Noir / Aztec.nr | `v4.1.0-rc.4` | `noir/aztec-state-migration/Nargo.toml` |
| Aztec JS packages | `v4.1.0-rc.4` | `package.json` dependencies |
| Solidity / Aztec L1 contracts | `v4.1.0-rc.4` | `solidity/foundry.toml` |
| Poseidon2 EVM | `a3b4205` (git rev) | `solidity/foundry.toml` |
| OpenZeppelin | `5.6.0-rc.1` | `solidity/foundry.toml` |

Expand All @@ -42,7 +42,7 @@ If not using dev containers, install the following:
- **Node.js** >= 24.12.0
- **Yarn** 1.22.22 (classic)
- **Foundry** (`forge`, `cast`, `anvil`)
- **Aztec CLI** v4.0.0-devnet.2-patch.0 -- install via `curl -sL https://install.aztec.network/v4.0.0-devnet.2-patch.0/ | bash`
- **Aztec CLI** v4.1.0-rc.4 -- install via `curl -sL https://install.aztec.network/v4.1.0-rc.4/ | bash`

Then install project dependencies:

Expand Down Expand Up @@ -192,7 +192,7 @@ Open `http://localhost:4000` in your browser. Changes to `.md` files are live-re

**Process cleanup.** Run `yarn test:stop` (which runs `e2e-tests/utils/dual-rollup-stop.sh`) to kill Anvil and node processes.

**Nargo compilation errors.** Noir is version-sensitive. Ensure the Aztec CLI version matches `v4.0.0-devnet.2-patch.0`. Run `aztec --version` to verify.
**Nargo compilation errors.** Noir is version-sensitive. Ensure the Aztec CLI version matches `v4.1.0-rc.4`. Run `aztec --version` to verify.

## Project Structure

Expand Down
16 changes: 9 additions & 7 deletions e2e-tests/migration-key-registry.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ async function main() {
// Step 2: Deploy MigrationKeyRegistry
// ============================================================
console.log("2. Deploying MigrationKeyRegistry...");
const registry = await MigrationKeyRegistryContract.deploy(wallet).send({
const { contract: registry } = await MigrationKeyRegistryContract.deploy(
wallet,
).send({
from: alice,
});
console.log(` Deployed at: ${registry.address}\n`);
Expand All @@ -62,7 +64,7 @@ async function main() {
// ============================================================
console.log("3. Verifying initial state...");
const initialKey = toPoint(
await registry.methods.get(alice).simulate({ from: alice }),
(await registry.methods.get(alice).simulate({ from: alice })).result,
);
console.log(` Alice's initial mpk: ${pointStr(initialKey)}`);
if (!initialKey.isZero()) {
Expand All @@ -79,17 +81,17 @@ async function main() {
console.log(` msk: ${msk}`);
console.log(` mpk (computed in TS): ${mpk}`);

const registerTx = await registry.methods
const { receipt: registerReceipt } = await registry.methods
.register(mpk.toNoirStruct())
.send({ from: alice });
console.log(` Register tx: ${registerTx.txHash}\n`);
console.log(` Register tx: ${registerReceipt.txHash}\n`);

// ============================================================
// Step 5: Query and verify the registered key
// ============================================================
console.log("5. Querying registered key...");
const registeredKey = toPoint(
await registry.methods.get(alice).simulate({ from: alice }),
(await registry.methods.get(alice).simulate({ from: alice })).result,
);
console.log(` Alice's mpk: ${pointStr(registeredKey)}`);

Expand All @@ -108,7 +110,7 @@ async function main() {
// ============================================================
console.log("6. Verifying Bob has no key...");
const bobKey = toPoint(
await registry.methods.get(bob).simulate({ from: bob }),
(await registry.methods.get(bob).simulate({ from: bob })).result,
);
console.log(` Bob's mpk: ${pointStr(bobKey)}`);
if (!bobKey.isZero()) {
Expand Down Expand Up @@ -146,7 +148,7 @@ async function main() {
// ============================================================
console.log("8. Verifying key unchanged after failed registration...");
const keyAfterFailedRegister = toPoint(
await registry.methods.get(alice).simulate({ from: alice }),
(await registry.methods.get(alice).simulate({ from: alice })).result,
);
if (!keyAfterFailedRegister.equals(mpk)) {
throw new Error("Key changed after failed second registration");
Expand Down
16 changes: 8 additions & 8 deletions e2e-tests/migration-mode-a.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ async function main() {
await oldAppUser.methods
.mint(oldUserManager.address, MINT_AMOUNT)
.send({ from: oldUserManager.address });
const oldBalanceAfterMint = await oldAppUser.methods
const { result: oldBalanceAfterMint } = await oldAppUser.methods
.get_balance(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(` Minted ${MINT_AMOUNT}, balance: ${oldBalanceAfterMint}\n`);
Expand All @@ -97,7 +97,7 @@ async function main() {
)
.send({ from: oldUserManager.address });

const oldBalanceAfterLock = await oldAppUser.methods
const { result: oldBalanceAfterLock } = await oldAppUser.methods
.get_balance(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(` Balance after lock: ${oldBalanceAfterLock}\n`);
Expand Down Expand Up @@ -152,7 +152,7 @@ async function main() {

console.log("Step 7. Calling migrate on NEW rollup...");

const newBalanceBefore = await newAppUser.methods
const { result: newBalanceBefore } = await newAppUser.methods
.get_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(` Balance on NEW rollup before migrate: ${newBalanceBefore}`);
Expand All @@ -166,7 +166,7 @@ async function main() {
)
.send({ from: newUserManager.address });

const newBalanceAfter = await newAppUser.methods
const { result: newBalanceAfter } = await newAppUser.methods
.get_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(` Balance on NEW rollup after: ${newBalanceAfter}`);
Expand Down Expand Up @@ -205,7 +205,7 @@ async function main() {
.mint_public(oldUserManager.address, PUBLIC_MINT_AMOUNT)
.send({ from: oldUserManager.address });

const oldPublicBalanceAfterMint = await oldAppUser.methods
const { result: oldPublicBalanceAfterMint } = await oldAppUser.methods
.get_public_balance(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(
Expand All @@ -232,7 +232,7 @@ async function main() {
)
.send({ from: oldUserManager.address });

const oldPublicBalanceAfterLock = await oldAppUser.methods
const { result: oldPublicBalanceAfterLock } = await oldAppUser.methods
.get_public_balance(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(
Expand Down Expand Up @@ -307,7 +307,7 @@ async function main() {
// ============================================================
console.log("Step 12. Calling migrate_to_public_mode_a on NEW rollup...");

const newPublicBalanceBefore = await newAppUser.methods
const { result: newPublicBalanceBefore } = await newAppUser.methods
.get_public_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(
Expand All @@ -323,7 +323,7 @@ async function main() {
)
.send({ from: newUserManager.address });

const newPublicBalanceAfter = await newAppUser.methods
const { result: newPublicBalanceAfter } = await newAppUser.methods
.get_public_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(
Expand Down
10 changes: 5 additions & 5 deletions e2e-tests/migration-mode-b.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ async function main() {
.send({ from: oldUserManager.address });
console.log(` Burned ${BURN_AMOUNT_1} tokens (burn 1)`);

const oldBalance = await oldAppUser.methods
const { result: oldBalance } = await oldAppUser.methods
.get_balance(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(` Total balance on OLD rollup: ${oldBalance}\n`);
Expand All @@ -124,7 +124,7 @@ async function main() {
.register(mpk.toNoirStruct())
.send({ from: oldUserManager.address });

const registeredKey = await oldUserKeyRegistry.methods
const { result: registeredKey } = await oldUserKeyRegistry.methods
.get(oldUserManager.address)
.simulate({ from: oldUserManager.address });
console.log(` Verified registered mpk: ${registeredKey}\n`);
Expand All @@ -150,7 +150,7 @@ async function main() {
)
.send({ from: newDeployerManager.address });

const storedSnapshot = await newArchiveRegistry.methods
const { result: storedSnapshot } = await newArchiveRegistry.methods
.get_snapshot_height()
.simulate({ from: newDeployerManager.address });
console.log(` Stored snapshot height: ${storedSnapshot}\n`);
Expand Down Expand Up @@ -239,7 +239,7 @@ async function main() {
const migrateAmount = fullProof.note_proof_data.data.value;
console.log(` Migrating amount: ${migrateAmount}`);

const newBalanceBefore = await newAppUser.methods
const { result: newBalanceBefore } = await newAppUser.methods
.get_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(` Balance on NEW rollup before : ${newBalanceBefore}`);
Expand All @@ -257,7 +257,7 @@ async function main() {
)
.send({ from: newUserManager.address });

const newBalanceAfter = await newAppUser.methods
const { result: newBalanceAfter } = await newAppUser.methods
.get_balance(newUserManager.address)
.simulate({ from: newUserManager.address });
console.log(` Balance on NEW rollup after : ${newBalanceAfter}`);
Expand Down
Loading
Loading