Skip to content

Document that ReentrancyGuardTransient and ReentrancyGuard are not interoperable#6430

Open
arr00 wants to merge 1 commit intoOpenZeppelin:masterfrom
arr00:chore/document-reentrancy-incompat
Open

Document that ReentrancyGuardTransient and ReentrancyGuard are not interoperable#6430
arr00 wants to merge 1 commit intoOpenZeppelin:masterfrom
arr00:chore/document-reentrancy-incompat

Conversation

@arr00
Copy link
Member

@arr00 arr00 commented Mar 23, 2026

Document that ReentrancyGuard and ReentrancyGuardTransient are not interoperable.

PR Checklist

  • Tests
  • Documentation
  • Changeset entry (run npx changeset add)

@arr00 arr00 requested a review from a team as a code owner March 23, 2026 19:46
@changeset-bot
Copy link

changeset-bot bot commented Mar 23, 2026

⚠️ No Changeset found

Latest commit: 5eafaf6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 23, 2026

Walkthrough

This pull request adds clarifying documentation to two reentrancy guard contracts. A NOTE is added to ReentrancyGuard.sol and NatSpec documentation is updated in ReentrancyGuardTransient.sol to explicitly state that the two guards are not interoperable. Each guard maintains its own independent reentrancy state, meaning a nonReentrant call protected by one guard does not prevent reentrant calls protected by the other.

Possibly related PRs

Suggested labels

ignore-changeset

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: documenting that ReentrancyGuardTransient and ReentrancyGuard are not interoperable, which aligns directly with the additions to both guard files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description directly describes the changeset: documenting that ReentrancyGuard and ReentrancyGuardTransient are not interoperable, which aligns with the actual code changes made to both files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant