Skip to content

Remove one-step transfer_admin footgun in governance-core - #861

Merged
gboigwe merged 1 commit into
ThinkLikeAFounder:mainfrom
ANTIDOT20:fix/835-transfer-admin-footgun
Aug 29, 2026
Merged

Remove one-step transfer_admin footgun in governance-core#861
gboigwe merged 1 commit into
ThinkLikeAFounder:mainfrom
ANTIDOT20:fix/835-transfer-admin-footgun

Conversation

@ANTIDOT20

Copy link
Copy Markdown
Contributor

Summary

governance-core had both the safe two-step propose_admin/accept_admin pattern and a one-step transfer_admin that wrote DataKey::Admin directly with no confirmation. Removed transfer_admin per the issue's own suggested approach, since the safe two-step flow already exists and there's no need for two admin-rotation paths.

Issue

Closes #835

Test plan

  • Confirmed no remaining references to transfer_admin in contracts/governance-core/

transfer_admin changed DataKey::Admin directly with no confirmation
step, unlike the safe propose_admin/accept_admin two-step flow already
used in this same contract. A typo'd address would permanently and
irrecoverably lose admin control. Removed in favor of the existing
two-step flow rather than trying to make a second admin-rotation path
safe.

Closes ThinkLikeAFounder#835
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@ANTIDOT20 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@gboigwe
gboigwe merged commit 053c399 into ThinkLikeAFounder:main Aug 29, 2026
1 of 4 checks passed
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.

governance-core: transfer_admin bypasses the safe two-step admin-rotation pattern used elsewhere in the same contract

2 participants