Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timelock Authorizer: setup CI monitoring per task #56

Open
jubeira opened this issue Jun 15, 2023 · 0 comments
Open

Timelock Authorizer: setup CI monitoring per task #56

jubeira opened this issue Jun 15, 2023 · 0 comments

Comments

@jubeira
Copy link
Contributor

jubeira commented Jun 15, 2023

With the new timelock authorizer, we'll be including a developer recommendation of what the timelocks should be for each action.

An early example can be found in the migration configuration for Sepolia.

In summary:

  • 3 delay tiers are defined, both for granting permissions and executing actions:
    • LONG: for critical actions that should not happen frequently, or not happen at all. E.g. granting a contract permission to mint BAL, which has the potential impact of modifying the tokenomics and the whole liquidity mining programme.
    • MEDIUM: for actions that might have a big impact, but are expected to happen from time to time. E.g, granting permission to add gauges in the gauge controller, which will in turn indicate the minter how much to mint. This should only happen e.g. with a new gauge adder.
    • SHORT: for operations that are expected to happen frequently and/or with very limited impact. E.g. set a network remapping manager in the voting escrow remapper.
  • The tiers may have different values in different networks. E.g. in Sepolia or any testnet we can have the long delay be 2 days, while in mainnet it could be a month. While mainnet has more actions than L2s, in principle the values should be the same in any production network.
  • For existing contracts, we can define this in the deployment scripts, since all the delays will be set at once by the migrator. But for new contracts, we'll need to specify what the delays will look like for each applicable action.

The proposal would be to build a script that generates a JSON with the recommended delays for each task. Then, we can check that the delays are in place on-chain with a CI job.
Again, for existing tasks this will happen right after the authorizer migration is complete, since the delays will be set by the migrator itself. For new task, we'll need to wait until governance (i.e. the timelock authorizer root) sets up the delays appropriately.

As a second step, we can also do a script that aggregates the delay suggestions by iterating the tasks as we did with the addresses.

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

No branches or pull requests

1 participant