-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Add note in MultiSignerERC7913 about adding invalid signers #6241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add note in MultiSignerERC7913 about adding invalid signers #6241
Conversation
|
WalkthroughA documentation update was made to the Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this 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)
contracts/utils/cryptography/signers/MultiSignerERC7913.sol (1)
117-121: Excellent security documentation addition!This NOTE provides important guidance to integrators about validation responsibilities. The warning about dead addresses, uncontrolled contracts, and self-referential addresses is particularly valuable for preventing common multisig security issues.
One optional refinement: Since ERC-7913 signers are encoded as
bytes(verifier || key per line 192), you might consider clarifying that the examples refer to the verifier portion of the encoded signer. For instance, "dead verifier addresses (e.g., a signer containingaddress(0)as the verifier)" would be more technically precise, though the current phrasing is clear enough in context.Optional: More precise terminology
- * NOTE: This function does not validate that signers are controlled or represent valid entities. Integrators - * must ensure signers are properly validated before adding them. Invalid or uncontrolled addresses can compromise - * the multisig's security or functionality. Examples include dead addresses (e.g., `address(0)`), uncontrolled - * contracts, or the contract's own address (which may cause recursive validation loops). + * NOTE: This function does not validate that signers are controlled or represent valid entities. Integrators + * must ensure signers are properly validated before adding them. Invalid or uncontrolled signers can compromise + * the multisig's security or functionality. Examples include signers with dead verifier addresses (e.g., containing + * `address(0)` as the verifier), uncontrolled contract verifiers, or the contract's own address as verifier + * (which may cause recursive validation loops).
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
contracts/utils/cryptography/signers/MultiSignerERC7913.sol
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: ernestognw
Repo: OpenZeppelin/openzeppelin-contracts PR: 5904
File: contracts/crosschain/README.adoc:1-1
Timestamp: 2025-08-28T15:48:30.716Z
Learning: ernestognw prefers "Cross chain" without hyphenation rather than "Cross-chain" in documentation titles.
⏰ 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). (9)
- GitHub Check: Redirect rules - solidity-contracts
- GitHub Check: Header rules - solidity-contracts
- GitHub Check: Pages changed - solidity-contracts
- GitHub Check: slither
- GitHub Check: tests-foundry
- GitHub Check: tests
- GitHub Check: tests-upgradeable
- GitHub Check: coverage
- GitHub Check: halmos
Signed-off-by: Hadrien Croubois <[email protected]>
Fixes #????
PR Checklist
npx changeset add)