Skip to content

Feature/sc 029#111

Merged
thlpkee20-wq merged 3 commits into
Chronopay-Org:mainfrom
Arowolokehinde:feature/sc-029
Apr 1, 2026
Merged

Feature/sc 029#111
thlpkee20-wq merged 3 commits into
Chronopay-Org:mainfrom
Arowolokehinde:feature/sc-029

Conversation

@Arowolokehinde

Copy link
Copy Markdown
Contributor

Pull Request

Closes #29
Implemented a secure, two-step admin role rotation mechanism (propose_admin and accept_admin) in the ChronoPay contract to prevent accidental lockouts caused by transferring roles to unverified addresses.

Implementation & Security Notes
Clean Architecture & O(1) Complexity: Uses Soroban's native Instance storage getter/setters for constant-time lookups without redundancy.
Two-Step Verification: Requires the current admin to propose a new address via propose_admin, which must subsequently be claimed securely via accept_admin using the new administrator’s signature.
Strict Authorization: Validates permissions using Address::require_auth() to leverage the Soroban host environment's native cryptographic constraints for tamper-resistance.
Testing & Acceptance Criteria
Passed full test suite (30/30 tests ok, 0.09s).
Validated edge cases: Rejecting un-authorized callers, preventing the admin from proposing themselves, and ensuring nobody except the proposed admin can accept the role.
Minimum 95% test coverage threshold met for modified chronopay/src modules.

@drips-wave

drips-wave Bot commented Mar 29, 2026

Copy link
Copy Markdown

@Arowolokehinde 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

@thlpkee20-wq thlpkee20-wq merged commit 623bf93 into Chronopay-Org:main Apr 1, 2026
0 of 3 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.

[SC-029] Add Admin Role And Rotation

2 participants