Skip to content

fix: namespace TryMulticall reentrancy storage (L-02) - #85

Merged
md0x merged 2 commits into
chrismaree/signed-proposerfrom
pablo/oz-l02-batch-storage
Sep 21, 2026
Merged

md0x merged 2 commits into
chrismaree/signed-proposerfrom
pablo/oz-l02-batch-storage

Conversation

@md0x

@md0x md0x commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Move the TryMulticall reentrancy flag into the ERC-7201 namespace uma.storage.TryMulticall, removing sequential storage from the reusable batching base.

Base: #77. Tracks FRO-148 (L-02).

Integration: #77 uses immutable permit2. Applying this change to the upgradeable version in #78 moves its sequential permit2 from slot 0, offset 1 to offset 0. Incorporate it before that version's first deployment; an existing proxy requires compatible storage handling.

Validation: 52 SignedProposer unit tests pass, including nested batching and a regression that derives the ERC-7201 slot and verifies the guard actually reads it. Independently verified the namespace and compiler storage layouts; formatting and diff checks pass.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-14T08:43:44.433763Z b3507df PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread src/common/implementation/TryMulticall.sol
@linear

linear Bot commented Sep 14, 2026

Copy link
Copy Markdown

FRO-148

@chrismaree chrismaree left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reviewed against L-02 / FRO-148 at 8fda1fd. All batching-lock reads/writes now use the ERC-7201 accessor; the base no longer contributes the sequential bool. Independently recomputed the namespace with cast keccak: 0x0dd1bd2d495db0d62878fd399d4ab6dc237ff1584371e8862b3e045d79dcd000 matches. The regression derives the namespace and checks actual guard behavior, addressing the previous review feedback. Caller/selector checks and enter/reset behavior remain intact.

Approval is for this change against #77. As documented, integrate before #78's first proxy deployment: removing the packed bool moves its permit2 offset from 1 to 0 and is not a layout-compatible upgrade for an already deployed proxy using that layout. Static review plus hash calculation; no tests or builds run.

Chris's Codex agent · automated

@md0x
md0x merged commit 6b238a7 into chrismaree/signed-proposer Sep 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants