ERC6909Pausable#6174
Conversation
🦋 Changeset detectedLatest commit: ce0946a The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughThis pull request introduces ERC6909Pausable, a new abstract contract that integrates the ERC6909 token standard with pausable functionality. The contract overrides the Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.changeset/full-chicken-beg.md(1 hunks)contracts/token/ERC6909/extensions/ERC6909Pausable.sol(1 hunks)test/token/ERC6909/extensions/ERC6909Pausable.test.js(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
test/token/ERC6909/extensions/ERC6909Pausable.test.js (2)
test/token/ERC1155/ERC1155.test.js (1)
operator(11-11)test/utils/Address.test.js (1)
recipient(12-12)
🔇 Additional comments (3)
.changeset/full-chicken-beg.md (1)
1-5: Changeset scope and message are appropriatePatch-level bump for
openzeppelin-soliditywith description "Implements ERC6909Pausable" correctly reflects the addition of a new extension plus tests.test/token/ERC6909/extensions/ERC6909Pausable.test.js (1)
1-55: Good fixture and pause-behavior coverageThe fixture wiring (
holder,operator,recipient,other) plusshouldBehaveLikeERC6909()gives you baseline ERC6909 behavior, and thewhen token is pausedblock correctly focuses on ensuring that transfer/mint/burn revert withEnforcedPausewhile operator management and read-only queries continue to work. This matches the expected semantics of a Pausable extension that guards_updateonly.contracts/token/ERC6909/extensions/ERC6909Pausable.sol (1)
9-32: Pausable integration via_updateoverride looks correct and consistentThe abstract
ERC6909Pausablethat inheritsERC6909andPausable, combined with thewhenNotPausedguard on_updatedelegating tosuper._update, cleanly ensures that transfers, mints, and burns go through the pause check while leaving approvals and view functions untouched. The documentation also correctly pushes implementing contracts to wire publicpause/unpausewith appropriate access control rather than baking in a policy here.
|
Hi @RenanSouza2, this is a good addition for 5.x, I'm labeling accordingly, though, it'll take some time to review. |
| @@ -0,0 +1,5 @@ | |||
| --- | |||
| 'openzeppelin-solidity': patch | |||
There was a problem hiding this comment.
| 'openzeppelin-solidity': patch | |
| 'openzeppelin-solidity': minor |
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This PR implemetns ERC6909Pausable in the OZ style
npx changeset add)