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

Authorizer: Implement built-in timelocks #1133

Merged
merged 6 commits into from
Feb 11, 2022
Merged

Conversation

facuspagnuolo
Copy link
Contributor

@facuspagnuolo facuspagnuolo commented Feb 10, 2022

Fixes #588

Summing up the approach:

  • Whoever has permission to do sth, if there is a delay set for that action, they can schedule an action to do that instead (they can't perform the action themselves).
  • Changing the delay of an action implies scheduling an action using current delay for that action
  • A specific permission per action is required to change its delay
  • When actions are scheduled an optional list of executors can be given, if none, anyone can execute them
  • Actions can be executed only once after the delay has passed
  • Scheduled actions can be cancelled by the creator only at any time if it wasn't executed yet

@facuspagnuolo facuspagnuolo self-assigned this Feb 10, 2022
pkg/vault/contracts/Authorizer.sol Outdated Show resolved Hide resolved
pkg/vault/contracts/Authorizer.sol Show resolved Hide resolved
pkg/vault/test/Authorizer.test.ts Show resolved Hide resolved
pkg/vault/test/Authorizer.test.ts Show resolved Hide resolved
@nventuro nventuro merged commit 4a40d88 into master Feb 11, 2022
@nventuro nventuro deleted the authorizer/timelocks branch February 11, 2022 15:06
dandagow3t pushed a commit to IlluviumGame/balancer-v2-monorepo that referenced this pull request May 10, 2023
* authorizer: model built-in delays

* authorizer: allow cancelling schedule actions

* authorizer: fix linter

* authorizer: log action id when scheduling

* authorizer: test set delay event

* authorizer: improve cancellation auth
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.

Add timelocks to Authorizer
2 participants