Skip to content

feat: merge-train/fairies#21760

Open
AztecBot wants to merge 25 commits intonextfrom
merge-train/fairies
Open

feat: merge-train/fairies#21760
AztecBot wants to merge 25 commits intonextfrom
merge-train/fairies

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 18, 2026

BEGIN_COMMIT_OVERRIDE
refactor: revert remove assert_bounded_vec_trimmed (#21758)
feat!: no_from (#21716)
fix(bot): use NO_FROM instead of AztecAddress.ZERO in deploy simulate (#21402)
feat!: make isContractInitialized a tri-state enum (#21754)
feat: sync poseidon in the browser (#21833)
fix(aztec-up): add sensible defaults to installer y/n prompts (#21824)
feat: sync poseidon browser (#21851)
END_COMMIT_OVERRIDE

AztecBot and others added 2 commits March 18, 2026 18:53
Getting rid of the tyranny of the `Account` entrypoint, and the terrible
sentinel value of `AztecAddress.ZERO` in the `from` parameter.

Now, when a tx is specified as being sent `from: NO_FROM`, the wallet
completely bypasses the account contract. It doesn't even use the
`MulticallEntrypoint` contract, it'll just execute a single call using
`DefaultEntrypoint`. Since we can do wrapping at the app level, this
means ANYTHING goes. Want to wrap 10 calls on a special sauce multicall?
Go ahead. App-sponsored FPC with custom logic that must be the first on
the chain? Knock yourself out!

Even better news: this is thoroughly tested in our codebase thanks to
account contract self-deployments. They're a great example of "I don't
want to use an account contract as entrypoint" flow.

As an extra side effect, this completely deshrines the
`MulticallEntrypoint` protocol contract from the wallet (we only have
the convenience now of it being already registered in every single
wallet)
@Thunkar Thunkar requested a review from a team as a code owner March 18, 2026 20:53
AztecBot and others added 5 commits March 18, 2026 21:55
…#21402)

## Summary
The `feat!: no_from` PR (#21716) changed how `AztecAddress.ZERO` is
handled in the embedded wallet's simulate path.
`BotFactory.setupAccountWithPrivateKey` was passing `AztecAddress.ZERO`
as the `from` address in the `simulate` call, which now causes the
wallet to attempt looking up account data for the zero address —
resulting in `"Account 0x000...000 does not exist on this wallet"`.

Fixed by using `NO_FROM` (already imported and used in the adjacent
`send` call) which is the correct API for opting out of account contract
mediation during simulation.

## Failing tests fixed
- `e2e_bot › bridge resume › reuses prior bridge claims`
- `e2e_bot › bridge resume › does not reuse prior bridge claims if
recipient address changes`
- `e2e_bot › setup via bridging funds cross-chain › creates bot after
inbox drift`

## Test plan
- All 10 e2e_bot tests pass locally (previously 3 were failing)

ClaudeBox log: https://claudebox.work/s/11a8e25f0aefa248?run=1
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved

@AztecBot AztecBot added this pull request to the merge queue Mar 19, 2026
@AztecBot
Copy link
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@nventuro nventuro added this pull request to the merge queue Mar 19, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@nchamo nchamo requested a review from charlielye as a code owner March 20, 2026 14:19
AztecBot and others added 4 commits March 20, 2026 14:45
Broadens the check to ensure the sync version is used accross the
browser, service workers, web workers and extension contexts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants