diff --git a/pkg/interfaces/CHANGELOG.md b/pkg/interfaces/CHANGELOG.md index 2575ba3f91..b3b4589002 100644 --- a/pkg/interfaces/CHANGELOG.md +++ b/pkg/interfaces/CHANGELOG.md @@ -20,7 +20,7 @@ - Moved `GaugeType` from `IGaugeAdder` to `IL2GaugeCheckpointer`, and adjusted types to accept new networks. - Refactored `IL2GaugeCheckpointer` to `StakelessGaugeCheckpointer`. - Removed `isSupportedGaugeType` from interface. - - Added `getRoundedDownBlockTimestamp` to interface. + - Added `getRoundedDownBlockTimestamp` and `getGaugeTypes` to interface. - Bumped minimum compiler version from `0.7.0` to `0.7.1` in `BalancerErrors`. - `IVersion` moved from `pool-utils` to `solidity-utils`. diff --git a/pkg/interfaces/contracts/liquidity-mining/IStakelessGaugeCheckpointer.sol b/pkg/interfaces/contracts/liquidity-mining/IStakelessGaugeCheckpointer.sol index e2a5339e7e..68bf3bd2c2 100644 --- a/pkg/interfaces/contracts/liquidity-mining/IStakelessGaugeCheckpointer.sol +++ b/pkg/interfaces/contracts/liquidity-mining/IStakelessGaugeCheckpointer.sol @@ -42,6 +42,11 @@ interface IStakelessGaugeCheckpointer { */ function getGaugeAdder() external view returns (IGaugeAdder); + /** + * @notice Returns gauge types available in the checkpointer. + */ + function getGaugeTypes() external view returns (string[] memory); + /** * @notice Adds an array of gauges from the given type. This is a permissioned function. * @dev Gauges added will be considered when performing checkpoints. diff --git a/pkg/liquidity-mining/contracts/gauges/StakelessGaugeCheckpointer.sol b/pkg/liquidity-mining/contracts/gauges/StakelessGaugeCheckpointer.sol index 547765f7d7..01dd38db25 100644 --- a/pkg/liquidity-mining/contracts/gauges/StakelessGaugeCheckpointer.sol +++ b/pkg/liquidity-mining/contracts/gauges/StakelessGaugeCheckpointer.sol @@ -60,6 +60,11 @@ contract StakelessGaugeCheckpointer is IStakelessGaugeCheckpointer, ReentrancyGu return _gaugeAdder; } + /// @inheritdoc IStakelessGaugeCheckpointer + function getGaugeTypes() external view override returns (string[] memory) { + return _gaugeAdder.getGaugeTypes(); + } + /// @inheritdoc IStakelessGaugeCheckpointer function addGaugesWithVerifiedType(string memory gaugeType, IStakelessGauge[] calldata gauges) external diff --git a/pkg/liquidity-mining/test/StakelessGaugeCheckpointer.test.ts b/pkg/liquidity-mining/test/StakelessGaugeCheckpointer.test.ts index ceb2ee6bc5..d9b1ad3fcf 100644 --- a/pkg/liquidity-mining/test/StakelessGaugeCheckpointer.test.ts +++ b/pkg/liquidity-mining/test/StakelessGaugeCheckpointer.test.ts @@ -112,6 +112,11 @@ describe('StakelessGaugeCheckpointer', () => { (await currentWeekTimestamp()).sub(WEEK) ); }); + + it('returns gauge types', async () => { + const gaugeTypesInAdder = await gaugeAdder.getGaugeTypes(); + expect(await stakelessGaugeCheckpointer.getGaugeTypes()).to.be.deep.eq(gaugeTypesInAdder); + }); }); GAUGE_TYPES.forEach((gaugeType) => {