From 8463647204c1e4b82404ed132e9df12c8816efee Mon Sep 17 00:00:00 2001 From: DhairyaSethi <55102840+DhairyaSethi@users.noreply.github.com> Date: Fri, 3 Jan 2025 19:39:42 +0530 Subject: [PATCH] feat: timelock getter --- src/contracts/misc/GhoCcipSteward.sol | 8 +++++++- src/contracts/misc/interfaces/IGhoCcipSteward.sol | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/contracts/misc/GhoCcipSteward.sol b/src/contracts/misc/GhoCcipSteward.sol index 26235676..62f96997 100644 --- a/src/contracts/misc/GhoCcipSteward.sol +++ b/src/contracts/misc/GhoCcipSteward.sol @@ -130,7 +130,13 @@ contract GhoCcipSteward is RiskCouncilControlled, IGhoCcipSteward { } /// @inheritdoc IGhoCcipSteward - function RISK_COUNCIL() public view override returns (address) { + function getTimeLockState() external view override returns (uint40, uint40) { + CcipDebounce memory state = _ccipTimelocks; + return (state.bridgeLimitLastUpdate, state.rateLimitLastUpdate); + } + + /// @inheritdoc IGhoCcipSteward + function RISK_COUNCIL() external view override returns (address) { return _riskCouncil; } diff --git a/src/contracts/misc/interfaces/IGhoCcipSteward.sol b/src/contracts/misc/interfaces/IGhoCcipSteward.sol index 39bec929..481705e7 100644 --- a/src/contracts/misc/interfaces/IGhoCcipSteward.sol +++ b/src/contracts/misc/interfaces/IGhoCcipSteward.sol @@ -41,6 +41,17 @@ interface IGhoCcipSteward { uint128 inboundRate ) external; + /** + * @notice Returns the current time-lock state for the steward. + * @dev `MINIMUM_DELAY` seconds needs to pass from the respective values + * to successfully call their corresponding methods. + * @return bridgeLimitLastUpdate The timestamp at which `updateBridgeLimit` was + * last successfully executed. + * @return rateLimitLastUpdate The timestamp at which `updateRateLimit` was + * last successfully executed. + */ + function getTimeLockState() external view returns (uint40, uint40); + /** * @notice Returns the minimum delay that must be respected between parameters update. * @return The minimum delay between parameter updates (in seconds)