Skip to content

Commit 5f92f09

Browse files
feat: Add isControlledFacilitator function
1 parent a8f654a commit 5f92f09

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

src/contracts/misc/GhoBucketSteward.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ contract GhoBucketSteward is Ownable, RiskCouncilControlled, IGhoBucketSteward {
9393
return _controlledFacilitators.values();
9494
}
9595

96+
/// @inheritdoc IGhoBucketSteward
97+
function isControlledFacilitator(address facilitator) external view returns (bool) {
98+
return _controlledFacilitatorsByAddress[facilitator];
99+
}
100+
96101
/// @inheritdoc IGhoBucketSteward
97102
function getFacilitatorBucketCapacityTimelock(
98103
address facilitator

src/contracts/misc/interfaces/IGhoBucketSteward.sol

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ interface IGhoBucketSteward {
3232
*/
3333
function getControlledFacilitators() external view returns (address[] memory);
3434

35+
/**
36+
* @notice Checks if a facilitator is controlled by this steward
37+
* @param facilitator The facilitator address to check
38+
* @return True if the facilitator is controlled by this steward
39+
*/
40+
function isControlledFacilitator(address facilitator) external view returns (bool);
41+
3542
/**
3643
* @notice Returns timestamp of the facilitators last bucket capacity update
3744
* @param facilitator The facilitator address

src/test/TestGhoBucketSteward.t.sol

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,4 +212,15 @@ contract TestGhoBucketSteward is TestGhoBase {
212212
newGsmList[0] = address(GHO_GSM_4626);
213213
GHO_BUCKET_STEWARD.setControlledFacilitator(newGsmList, true);
214214
}
215+
216+
function testIsControlledFacilitator() public {
217+
address facilitator = makeAddr('FACILITATOR');
218+
address[] memory controlledFacilitators = new address[](1);
219+
controlledFacilitators[0] = facilitator;
220+
vm.prank(SHORT_EXECUTOR);
221+
GHO_BUCKET_STEWARD.setControlledFacilitator(controlledFacilitators, true);
222+
assertTrue(GHO_BUCKET_STEWARD.isControlledFacilitator(facilitator));
223+
address nonFacilitator = makeAddr('NON_FACILITATOR');
224+
assertFalse(GHO_BUCKET_STEWARD.isControlledFacilitator(nonFacilitator));
225+
}
215226
}

0 commit comments

Comments
 (0)