Timelocks

Overview

Timelocks are a mechanism to delay an action that may have significant effects. This allows any stakeholders that foresee the transaction impacting them negatively the appropriate time to react accordingly.

Governor-Level vs Pool-Delegate Timelocks

  • Governor‑privileged actions now route through a dedicated GovernorTimelock contract. See technical-resources/singletons/governor-timelock.md for roles, lifecycle, and usage.

  • Pool Delegate–level timelocks (e.g., PoolManager/LoanManager/WithdrawalManager upgrades) continue to use the protocol timelock checks documented on this page.

Affected Actions

The following actions require a timelocked execution:

  • PoolManager.upgrade()

  • LoanManager.upgrade()

  • WithdrawalManager.upgrade()

Scheduling

To perform a timelocked action Pool Delegates need to perform the following actions:

  1. Call scheduleCall() on the MapleGlobals contract.

  2. Wait for the predetermined time to pass.

  3. Call the target contract with the same parameters.

Example:

Configuration

Timelocks parameters are set by the Governor and can be changed at any time, having a retroactive effect.

Example:

Last updated