Priority: High
Estimated Time: 1 hour
Description:
The oracle contract's admin address is set once at initialize and cannot be changed. If the oracle service key is compromised, there is no recovery path short of redeploying the contract.
Tasks:
- Add
update_admin(env: Env, new_admin: Address) -> Result<(), Error> requiring current admin auth
- Update
DataKey::Admin with the new address
- Add test for admin rotation
- Add test that old admin cannot call
submit_result after rotation
Priority: High
Estimated Time: 1 hour
Description:
The oracle contract's admin address is set once at
initializeand cannot be changed. If the oracle service key is compromised, there is no recovery path short of redeploying the contract.Tasks:
update_admin(env: Env, new_admin: Address) -> Result<(), Error>requiring current admin authDataKey::Adminwith the new addresssubmit_resultafter rotation