-
Notifications
You must be signed in to change notification settings - Fork 14
Add Admin Key Rotation Function #25
Copy link
Copy link
Open
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignCampaign: Official Campaign
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignCampaign: Official Campaign
Type
Fields
Give feedbackNo fields configured for issues without a type.
��# Issue 7: Add Admin Key Rotation Function
Problem
Admin key is locked after initialization. No way to rotate compromised keys or transfer admin rights.
Solution
rotate_admin(new_admin: Address)function (lib.rs)sorobanRotateAdmin()to invoke from coreImplementation Tasks
rotate_admin()function in lib.rs with auth guard("admin", "rotated")event with timestampssorobanRotateAdmin()TypeScript helperNote for Contributors
This issue is independent but should be completed after Issue #1 if metadata storage is enhanced. The rotation is immediate (not time-locked) for MVP simplicity. Store full rotation history in events; external systems will reconstruct admin ownership from the event stream. Use
env.ledger().timestamp()for rotation timestamps. Ensure old admin loses all privileges immediately after rotation completes. Test both successful rotations and rejection of invalid rotations (zero address, same admin).