Migrate to Upgradeable Operators

Summary

This proposal migrates the current Guardian and Treasury Manager operators to a more flexible design (upgradeable) and performs housekeeping to remove any other unused operator permissions.

Future proxy upgrades can be performed solely by Resupply governance, which adds flexibility without sacrificing on security or transparency.

Guardian Proxy: 0xA4745e0B1F40ab3DCFD98F381835De591a8974E3
Treasury Manager Proxy: 0x4CF97a55d58Aad14C493A46C8151a0BFffb10403

Background

The Resupply core protocol has an authorization scheme as outlined in the docs which allows governance to grant fine-grained permissions to “operators”. Active operator authorizations can be found on RSUP.LOL.

Migration Specification

  • Initiate 3 single-action proposals to:
    • migrate the cancelProposal authorization (see note below for why it requires 3)
  • Initiate a 4th proposal to:
    • Remove all active permissions from the legacy Guardian and Treasury Manager contracts
    • Assign the same permissions to their new upgradeable proxy counterparts
    • Add additional permissions required for operators introduce in prior proposals
    • Clear any active permissions that are not currently in use

Note: The cancelProposal permission migration requires dedicated proposals for each add and removal. This requirement is enforced at the smart contract level and exists for security reasons to protect against malicious guardians and proposals.