Skip to content

Implement Two-Step Admin Transfer for Both Contracts #282

@yahia008

Description

@yahia008

Priority: High
Estimated Time: 2 hours

Description:
Neither the escrow nor oracle contract has a safe admin transfer mechanism. A direct set_admin(new_admin) call risks permanently locking admin access if the wrong address is provided. A two-step transfer (propose → accept) prevents accidental lockout.

Tasks:

  • Add DataKey::PendingAdmin to both contracts
  • Add propose_admin(new_admin: Address) requiring current admin auth
  • Add accept_admin() requiring new admin auth
  • Add tests for successful transfer and rejection of unaccepted proposals

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programenhancementNew feature or requestsecuritySecurity-related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions