Skip to content

chore: merge next into merge-train/spartan (resolve conflicts)#23480

Draft
AztecBot wants to merge 17 commits into
merge-train/spartanfrom
cb/6ab4d5d34c5d
Draft

chore: merge next into merge-train/spartan (resolve conflicts)#23480
AztecBot wants to merge 17 commits into
merge-train/spartanfrom
cb/6ab4d5d34c5d

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Merges current origin/next into merge-train/spartan to clear the merge conflicts blocking #23344. Merging this PR (with a merge commit, not squash) brings next onto merge-train/spartan and makes #23344 conflict-free.

Conflict

Only one file conflicted: yarn-project/end-to-end/src/e2e_avm_simulator.test.ts. Everything else auto-merged.

Both branches independently added an identical describe('Contract instance') test. merge-train/spartan had restructured the suite into with shared deployment / with fresh deployment per test, so git couldn't align the two copies and dumped next's copy into the middle of the Nullifiers block.

Resolution

  • Kept merge-train/spartan's structure for the conflict region (the Emit and check in separate tx nullifier test), dropping next's misplaced duplicate Contract instance block.
  • Adopted next's real change — the new expected_immutables_hash argument to test_get_contract_instance_matches — into the existing Contract instance block (added avmContractInstance.immutablesHash). This matches the updated 5-arg signature in avm_test_contract's main.nr and the immutablesHash field on ContractInstanceWithAddress.

No tests were dropped; every test present on next is represented exactly once.


Created by claudebox · group: slackbot

critesjosh and others added 17 commits May 13, 2026 16:51
…ncer

The `registering-sequencer.md` Prerequisites and Registration Steps
sections reference "ATP/ATV tokens" without ever expanding either
acronym. ATV is defined as "Aztec Token Vault" only in the sibling
`staking-provider.md`; ATP is not defined anywhere in the docs tree.

Concrete harm: Honk AI (the doc-grounded RAG bot on Discord) confidently
hallucinated expansions "Aztec Productivity Token" and "Aztec Validation
Token" when asked about tokenomics — neither exists — because those
were the only plausible token-shaped expansions the model could
synthesize from the bare letters. Other readers hitting these pages
have the same ambiguity, just without the public hallucination.

Fix: expand both acronyms on first use in each section (Prerequisites
list and Registration Steps list), keep the bare form on subsequent
lines so the doc stays readable. Applied to both
`docs/docs-operate/...` (unversioned) and
`docs/network_versioned_docs/version-v4.2.0/...` (rendered as v4.2.0
on docs.aztec.network).

Opening as **draft** because ATP's expansion (per Aztec internal
guidance: "Aztec Token Position") is not corroborated anywhere in this
repo or in the on-chain Solidity (which uses the generic
`stakingAsset` everywhere). Please confirm the expansion is correct,
or correct me with the canonical full form, before merging.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Part 1 of the immutables_hash changes as part of
[AZIP-9](AztecProtocol/governance#20)

This pr just adds the `immutables_hash` field to the various
`ContractInstance` structs across the codebase.

It also updates the `publish_contract_instance` function and bumps
various constants for`ContractInstance` versions and
`PXE_DATA_SCHEMA_VERSION`
Part 2 of the immutables_hash changes as part of
[AZIP-9](AztecProtocol/governance#20)

Updates address derivation to include the `immutables_hash`.
Specifically, `immutables_hash` is now part of the
`salted_initialization_hash` computation

This also includes a constant update from `DOM_SEP__CONTRACT_ADDRESS_V1`
-> `DOM_SEP__CONTRACT_ADDRESS_V2`
#23152)

Part 3 of the immutables_hash changes as part of
[AZIP-9](AztecProtocol/governance#20)

This updates the `GETCONTRACTINSTANCE` opcode so that the
`immutables_hash` can be retrieved from the contract instance via the
opcode.
Implementation of
[AZIP-8](https://github.com/AztecProtocol/governance/blob/main/AZIPs/azip-8.md)

---------

Co-authored-by: jeanmon <jean@aztec-labs.com>
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
…odule with serialization changes (#23342)

### Summary

This branch brings together two PRs:
1. #23155: Bumps
noir - crucially includes upstream change `chore!: remove is_infinite
from EmbeddedCurvePoint`
2. #22564: Top of
large stack which removes `is_infinite` flag from AVM opcode and point
struct

PR 1 requires AVM changes in 2 to run (since it removes the `inf` flag
from ACIR). For more details on specific changes see the relevant PRs
above.
Note that 1 is applied first so this PR will initially be identical to
it, apart from any changes needed from targeting the AVM merge train.

---

Will close:
- [AVM Foundation Issue
13](https://linear.app/aztec-foundation/issue/AVM-13/enforce-canonical-point-at-infinity-representation)
- enforce that points at inifinity are represented by `(0, 0)`
- [AVM Foundation Issue
14](https://linear.app/aztec-foundation/issue/AVM-14/remove-is-inf-flag-from-avm-ec-point-representation)
- remove `is_infinite` flag
 
These issues form the bulk of the project: [Align Circuit Point Infinity
Representation with Noir +
BB](https://linear.app/aztec-foundation/project/align-circuit-point-infinity-representation-with-noir-bb-5564f056ac0e/overview)

---------

Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Co-authored-by: AztecBot <tech@aztec-labs.com>
Detailed of the report is in the following gist:
https://gist.github.com/AztecBot/b8be80df63afe353b576d5e9b13e70f2

We applied some mitigations for H1, M2, L1, L2, L4, L5

---------

Co-authored-by: jeanmon <jean@aztec-labs.com>
Adds a variable-time safegcd inverse (Bernstein-Yang '19) for 254-bit
prime fields and wires field::invert() to dispatch to it at runtime,
keeping Fermat for constexpr contexts and 256-bit moduli (secp256k1/r1).
Includes the WASM 9x29 kernel, a differential fuzzer vs Fermat, and unit
tests exercising the WASM kernel on x86_64.

Extracted from 758407a without the surrounding Pippenger refactor.

---------

Co-authored-by: ledwards2225 <l.edwards.d@gmail.com>
BEGIN_COMMIT_OVERRIDE
feat!: add immutables_hash to contract instance (#23091)
feat!: update address derivation (#23151)
feat(avm)!: add immutables_hash member to get contract instance opcode
(#23152)
feat!: azip 8 public key hashes (#23159)
feat(avm)!: Remove `is_infinite` flag from AVM ECC & update noir
submodule with serialization changes (#23342)
fix(avm): addressing claude review of interaction builders code (#23431)
END_COMMIT_OVERRIDE
…iner

PR #23293 switched the docs CI scripts (docs/bootstrap.sh,
docs/examples/bootstrap.sh, docs/scripts/check_doc_references.sh,
docs/scripts/validate_api_ref_links.sh) from SLACK_BOT_TOKEN to
AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN and plumbed the new secret into
the GitHub Actions runner env in .github/workflows/ci3.yml.

The actual build runs inside a docker container started by
ci3/bootstrap_ec2, which has its own explicit -e env-passthrough list.
That list was not updated, so inside the container the new variable is
empty and the docs Slack scripts log
"AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN not set, skipping Slack
notification" and return without posting. Notifications stopped after
#23293 merged.

Add the variable to the docker passthrough so the docs CI scripts can
authenticate against the Aztec Foundation CI bot and post to
#docs-alerts.
…ncer (#23254)

Clarify docs so the LLMs don't get confused.
…iner (#23473)

## Summary

PR #23293 switched the docs CI scripts (`docs/bootstrap.sh`,
`docs/examples/bootstrap.sh`, `docs/scripts/check_doc_references.sh`,
`docs/scripts/validate_api_ref_links.sh`) from `SLACK_BOT_TOKEN` to
`AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN`, and added the new secret to the
GitHub Actions runner env in `.github/workflows/ci3.yml`.

The actual build runs inside a docker container started by
`ci3/bootstrap_ec2`, which has its own explicit `-e` env-passthrough
list. That list was not updated, so inside the container the new
variable is empty and the docs Slack scripts log
`AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN not set, skipping Slack
notification` and return without posting. As a result, docs-examples
failure pings (and any future `#docs-alerts` traffic from
`check_doc_references.sh` / `validate_api_ref_links.sh`) silently
stopped after #23293 merged.

This adds the missing `-e
AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN=${AZTEC_FOUNDATION_CI_SLACK_BOT_TOKEN:-}`
line next to the existing `SLACK_BOT_TOKEN` passthrough in
`ci3/bootstrap_ec2`.

## Test plan

- [ ] After merge, watch the next merge-queue run that fails a
docs-examples step and confirm a notification appears in `#docs-alerts`.
- [ ] Alternatively, intentionally break a TypeScript example on a
throwaway PR with `ci-docs` label and verify the alert fires.
# Conflicts:
#	yarn-project/end-to-end/src/e2e_avm_simulator.test.ts
@AztecBot AztecBot added the claudebox Owned by claudebox. it can push to this PR. label May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants