Conversation
WalkthroughThis pull request updates version references throughout the codebase from v3.0.0 to v4.0.0-alpha.0, including changelog headers, dependency declarations, API documentation links, source file headers, and class hash mappings. No functional logic changes are introduced. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/governance/src/timelock/timelock_controller.cairo (1)
510-512:⚠️ Potential issue | 🔴 CriticalCritical: Infinite recursion in
getRoleAdminmethod.The
getRoleAdminimplementation recursively calls itself instead of delegating to the snake_caseget_role_adminmethod. This will cause a stack overflow at runtime. All other camelCase methods in this impl correctly delegate to their snake_case counterparts (e.g.,hasRole→has_roleon line 507), but this one does not.Since this is a release PR for v4.0.0-alpha.0, this critical bug should be fixed before releasing.
🐛 Proposed fix
fn getRoleAdmin(self: `@ComponentState`<TContractState>, role: felt252) -> felt252 { - Self::getRoleAdmin(self, role) + Self::get_role_admin(self, role) }
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.