Skip to content

Conversation

Amxx
Copy link
Collaborator

@Amxx Amxx commented Sep 19, 2025

Followup to #5942

PR Checklist

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

@Amxx Amxx added this to the 5.5 milestone Sep 19, 2025
@Amxx Amxx requested review from arr00 and ernestognw September 19, 2025 14:40
@Amxx Amxx requested a review from a team as a code owner September 19, 2025 14:40
@Amxx Amxx added breaking change Changes that break backwards compatibility of the public API. area: upgradeability labels Sep 19, 2025
Copy link

changeset-bot bot commented Sep 19, 2025

⚠️ No Changeset found

Latest commit: fd7c8e7

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

Copy link

coderabbitai bot commented Sep 19, 2025

Walkthrough

The CHANGELOG updates the list of stateless/not-transpiled contracts to include ERC721Holder, ERC1155Holder, ReentrancyGuard, and ReentrancyGuardTransient, noting potential import updates for upgradeable variants. Existing breaking changes notes remain unchanged. In contracts/utils/ReentrancyGuard.sol and contracts/utils/ReentrancyGuardTransient.sol, only documentation was modified by adding the NatSpec tag "@Custom:stateless" (with a blank line). No code, storage layout, interfaces, or exported/public declarations were changed.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title succinctly and accurately summarizes the primary change: marking both ReentrancyGuard and ReentrancyGuardTransient as stateless, which matches the NatSpec documentation edits shown in the raw_summary and contract diffs.
Description Check ✅ Passed The PR description is on-topic: it identifies this PR as a follow-up to #5942 and includes the maintainer checklist and a changeset entry, which aligns with the documentation-only updates in the raw_summary.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
CHANGELOG.md (1)

10-10: Clarify migration with an import example.

Add a quick import diff to reduce ambiguity for upgradeable users:

- // before
- import {ReentrancyGuardUpgradeable} from '@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol';
+ // after
+ import {ReentrancyGuard} from '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 798aca1 and e8de77a.

📒 Files selected for processing (3)
  • CHANGELOG.md (1 hunks)
  • contracts/utils/ReentrancyGuard.sol (1 hunks)
  • contracts/utils/ReentrancyGuardTransient.sol (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: Redirect rules - solidity-contracts
  • GitHub Check: Header rules - solidity-contracts
  • GitHub Check: Pages changed - solidity-contracts
  • GitHub Check: coverage
  • GitHub Check: tests-foundry
  • GitHub Check: tests
  • GitHub Check: halmos
  • GitHub Check: slither
🔇 Additional comments (2)
contracts/utils/ReentrancyGuard.sol (1)

29-30: NatSpec tag addition looks good; behavior unchanged.

Tag aligns with the CHANGELOG note and does not alter storage layout or modifiers. One small ask: confirm (in PR description or a brief inline comment) that the constructor’s write is only a gas‑refund optimization so upgradeable use remains correct without initializer.

contracts/utils/ReentrancyGuardTransient.sol (1)

14-15: Consistent stateless annotation—LGTM.

No functional diffs; matches intent for non‑transpiled usage where EIP‑1153 is available.

@Amxx Amxx force-pushed the breaking/stateless branch from 8de776d to fd7c8e7 Compare September 19, 2025 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: upgradeability breaking change Changes that break backwards compatibility of the public API. ignore-changeset
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant