Skip to content

Add the pauser role to some contracts - #108

Merged
evercoinx merged 5 commits into
mainfrom
serge/pauser-role
May 11, 2026
Merged

Add the pauser role to some contracts#108
evercoinx merged 5 commits into
mainfrom
serge/pauser-role

Conversation

@evercoinx

@evercoinx evercoinx commented May 10, 2026

Copy link
Copy Markdown
Contributor

Note

High Risk
Changes who can pause()/unpause() on six upgradeable mainnet contracts; if PAUSER_ROLE is not granted during upgrade/deploy, contracts can become unpausable during incidents. Also updates deployment/upgrade automation paths, which are operationally sensitive.

Overview
Separates pausing from admin governance by introducing PAUSER_ROLE on PolicyManager, ClaimManager, PremiumManager, SpecRegistry, Swapper, and CoverPoolFactory, and switching pause()/unpause() to require onlyRole(PAUSER_ROLE) instead of DEFAULT_ADMIN_ROLE.

Updates deployment and interfaces to support a dedicated pauser: adds PAUSER env var, wires PAUSER_ROLE grants during Deploy.s.sol role configuration, and extends interfaces/mocks/tests accordingly. Adds mainnet-focused upgrade tooling and documentation, including Ethereum-specific upgrade scripts (notably a ClaimManager variant that skips initializeV2) and a runbook describing batching upgrades with grantRole to avoid a no-pauser window.

Reviewed by Cursor Bugbot for commit 2c4dbec. Bugbot is set up for automated code reviews on this repo. Configure here.

@evercoinx
evercoinx requested a review from dB2510 May 10, 2026 12:54
@evercoinx evercoinx self-assigned this May 10, 2026
@evercoinx
evercoinx force-pushed the serge/pauser-role branch from f633a1a to 3c2ef37 Compare May 10, 2026 15:47

@dB2510 dB2510 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.

Can you please confirm if all the new pauser role variables in the all the contracts are compatible with already deployed contracts?

Comment thread src/ClaimManager.sol
@evercoinx

Copy link
Copy Markdown
Contributor Author

Can you please confirm if all the new pauser role variables in the all the contracts are compatible with already deployed contracts?

The current changes are totally upgrade safe.

@evercoinx
evercoinx merged commit a3a2a7e into main May 11, 2026
5 checks passed
@evercoinx
evercoinx deleted the serge/pauser-role branch May 11, 2026 14:21
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