chore: wire NEXUS_122 ABI into decoder fallback#211
Open
fichiokaku wants to merge 1 commit into
Open
Conversation
The decoder in `parse-user-op-calldata.ts` tried `NEXUS_120` and `NEXUS_121` but never `NEXUS_122` — the file existed and was committed when Nexus 1.2.2 landed but was never referenced. Today this is a no-op because `nexus-121.ts` and `nexus-122.ts` are byte-identical (the only diff is the export name), so any calldata that decodes against 121 also decodes against 122. But if 122 ever diverges, the fallback would silently return `undefined` and downstream callers would log "calldata not recognized" for valid UserOps. Forward-compat hygiene only — no behavior change today. Unrelated to MEE v2.2.2; orthogonal preparation that should land first so the v2.2.2 PR is a focused one-line dep bump.
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The decoder in
parse-user-op-calldata.tstries `NEXUS_120` then `NEXUS_121` but never `NEXUS_122` — thenexus-122.tsABI was added when Nexus 1.2.2 landed but never wired into the decoder fallback chain. This PR adds the third `try { ... }` branch and updates the trailing log message accordingly.Behaviour today
`nexus-121.ts` and `nexus-122.ts` are byte-identical (the only diff is the export name), so any calldata that decodes under 121 also decodes under 122. This means the fix is a no-op today — purely forward-compat hygiene.
Why bother
If 122 ever diverges from 121 (e.g. a future Nexus revision adds a new `execute*` function only present in the 122 ABI), the current fallback chain would silently return `undefined` and downstream callers would log "calldata not recognized" on valid UserOps. Wiring 122 now keeps the pattern consistent and avoids that footgun.
Unrelated to MEE v2.2.2
This is orthogonal preparation that should land first, so the v2.2.2 PR is a focused one-line dep bump rather than a mixed change.
Test plan