Skip to content

chore: AggLayer tracking PR#2667

Merged
mmagician merged 11 commits intonextfrom
agglayer
Mar 23, 2026
Merged

chore: AggLayer tracking PR#2667
mmagician merged 11 commits intonextfrom
agglayer

Conversation

@mmagician
Copy link
Copy Markdown
Collaborator

No description provided.

partylikeits1983 and others added 4 commits March 20, 2026 14:19
* refactor: rename MMR frontier

* docs: use LET instead of MTF in user-facing docs, improve docs

* chore: update changelog

* docs: use append insread of add in terms of LET
…fix (#2650)

Resolves #2640 by renaming private bridge_in.masm procedures that read
from memory to use `load_*` prefix, distinguishing them from `get_*`
procedures that read from account storage:

- get_origin_token_address -> load_origin_token_address
- get_raw_claim_amount -> load_raw_claim_amount
- get_destination_account_id_data -> load_destination_address
  (also extracts eth_address::to_account_id call to the call site)

Removes the TODO comment from faucet/mod.masm since the name conflict
is resolved.

Co-authored-by: Claude (Opus) <noreply@anthropic.com>
* docs(agglayer): add Section 6 - Faucet Registry to SPEC.md

* docs(agglayer): add issue references to SPEC Section 6

Link #2585 (token name storage) and #2586 (on-chain metadata hash
verification) in the implementation status notes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(agglayer): update Section 6 to reflect two-step faucet registration

Section 6 (Faucet Registry) now accurately describes the current
implementation:
- Two registries: faucet_registry_map + token_registry_map
- register_faucet performs atomic two-step registration
- lookup_faucet_by_token_address for bridge-in token resolution
- Updated storage slot names (removed miden:: prefix)
- AggLayerFaucet struct moved to src/faucet.rs
- Companion components (Ownable2Step, OwnerControlled) documented
- CONFIG_AGG_BRIDGE note now carries origin_token_address (7 felts)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(agglayer): clarify Miden-native faucet bridging in Section 6.2

Replace the "not yet implemented" placeholder with a concrete
description of how Miden-native faucets use the same registration
and bridging flow as wrapped faucets. The origin_token_address is
the faucet's own AccountId embedded as an Ethereum address via
EthAddressFormat::from_account_id. The EVM bridge deploys a
TokenWrapped ERC20 deterministically on first claim.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: polish sec 6

* docs(agglayer): fix CREATE2 salt description in Miden-native faucets

The CREATE2 salt is tokenInfoHash (derived from originNetwork +
originTokenAddress), not the metadata hash. The metadata bytes are
used to initialize the wrapped token's name, symbol, and decimals.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update crates/miden-agglayer/SPEC.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update crates/miden-agglayer/SPEC.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update crates/miden-agglayer/SPEC.md

Co-authored-by: Alexander John Lee <77119221+partylikeits1983@users.noreply.github.com>

---------

Co-authored-by: Claude (Opus) <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alexander John Lee <77119221+partylikeits1983@users.noreply.github.com>
@mmagician mmagician added agglayer PRs or issues related to AggLayer bridging integration pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority labels Mar 23, 2026
mmagician and others added 6 commits March 23, 2026 16:27
* docs(agglayer): update SPEC Sections 1-5 to latest code state

Align the spec with the current agglayer branch after the CLAIM flow
re-orientation and faucet registry migration:

- Section 1: CLAIM now targets bridge (not faucet); add MINT note row
- Section 2.1: Add bridge_in::claim; update register_faucet to two-step
  registration (faucet_registry + token_registry); replace
  verify_leaf_bridge with claim procedure; add new storage slots
  (token_registry_map, claim_nullifiers, cgi_chain_hash); update
  rpo256 references to poseidon2
- Section 2.2: Replace faucet::claim with mint_and_send; add
  get_metadata_hash and get_scale; add metadata_hash storage slots
  and companion component notes
- Section 3: Update CLAIM consumption to target bridge; update
  CONFIG_AGG_BRIDGE to 7-felt layout; update BURN serial_num to
  poseidon2; update P2ID generation source; add MINT note type (3.7)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(agglayer): document Ownable2Step sender validation on MINT notes

The MINT note's sender (bridge) is validated by the faucet's
owner_only mint policy via Ownable2Step::assert_sender_is_owner.
This ensures only the bridge account can trigger minting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs(agglayer): address review comments on SPEC Sections 1-5

- Fix GER merge order: poseidon2::merge(GER_LOWER, GER_UPPER)
- Add advice map mention to bridge_in::claim inputs
- Simplify MINT note details in step 8, point to Section 3.7
- Remove implicit "[0,0,0,0] if absent" from storage tables
- Use "lower/upper word" instead of hash_0..hash_7 in value encodings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Apply suggestions from code review

Co-authored-by: Marti <marcin.gorny.94@protonmail.com>

* chore: update conventions

* Update crates/miden-agglayer/SPEC.md

Co-authored-by: Alexander John Lee <77119221+partylikeits1983@users.noreply.github.com>

* chore: remove distinction between element notation

---------

Co-authored-by: Claude (Opus) <noreply@anthropic.com>
Co-authored-by: Alexander John Lee <77119221+partylikeits1983@users.noreply.github.com>
@mmagician mmagician marked this pull request as ready for review March 23, 2026 17:19
@mmagician mmagician requested a review from bobbinth March 23, 2026 17:19
@mmagician mmagician enabled auto-merge March 23, 2026 17:31
Copy link
Copy Markdown
Contributor

@bobbinth bobbinth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a very deep review from me (assuming most of this was reviewed in separate PRs) - but looks good! Thank you!

@mmagician mmagician merged commit 02a71af into next Mar 23, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agglayer PRs or issues related to AggLayer bridging integration pr-from-maintainers PRs that come from internal contributors or integration partners. They should be given priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants