From 281e98f78dca2c3aabb990c5841e5036c12fa7f6 Mon Sep 17 00:00:00 2001 From: Juan Ignacio Ubeira Date: Fri, 31 May 2024 13:28:26 +0100 Subject: [PATCH] Refactor: Optimism --> Optimistic gauges, with public network tag. (#2565) --- .../OptimisticRootGauge.sol} | 12 ++++++++++-- .../OptimisticRootGaugeFactory.sol} | 15 ++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) rename pkg/liquidity-mining/contracts/gauges/{optimism/OptimismRootGauge.sol => optimistic/OptimisticRootGauge.sol} (89%) rename pkg/liquidity-mining/contracts/gauges/{optimism/OptimismRootGaugeFactory.sol => optimistic/OptimisticRootGaugeFactory.sol} (81%) diff --git a/pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGauge.sol b/pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGauge.sol similarity index 89% rename from pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGauge.sol rename to pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGauge.sol index 70187bd743..d5c7f4e9fa 100644 --- a/pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGauge.sol +++ b/pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGauge.sol @@ -21,9 +21,12 @@ import "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/SafeERC20.sol"; import "../StakelessGauge.sol"; -contract OptimismRootGauge is StakelessGauge { +contract OptimisticRootGauge is StakelessGauge { using SafeERC20 for IERC20; + // solhint-disable-next-line var-name-mixedcase + string public NETWORK; + IL1StandardBridge private immutable _optimismL1StandardBridge; address private immutable _optimismBal; IOptimismGasLimitProvider private immutable _factory; @@ -41,11 +44,16 @@ contract OptimismRootGauge is StakelessGauge { _factory = IOptimismGasLimitProvider(msg.sender); } - function initialize(address recipient, uint256 relativeWeightCap) external { + function initialize( + address recipient, + uint256 relativeWeightCap, + string memory targetNetwork + ) external { // This will revert in all calls except the first one __StakelessGauge_init(relativeWeightCap); _recipient = recipient; + NETWORK = targetNetwork; } function getRecipient() external view override returns (address) { diff --git a/pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGaugeFactory.sol b/pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGaugeFactory.sol similarity index 81% rename from pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGaugeFactory.sol rename to pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGaugeFactory.sol index 7a78356499..44f01ecdce 100644 --- a/pkg/liquidity-mining/contracts/gauges/optimism/OptimismRootGaugeFactory.sol +++ b/pkg/liquidity-mining/contracts/gauges/optimistic/OptimisticRootGaugeFactory.sol @@ -18,9 +18,12 @@ pragma experimental ABIEncoderV2; import "@balancer-labs/v2-solidity-utils/contracts/helpers/SingletonAuthentication.sol"; import "../BaseGaugeFactory.sol"; -import "./OptimismRootGauge.sol"; +import "./OptimisticRootGauge.sol"; + +contract OptimisticRootGaugeFactory is IOptimismGasLimitProvider, BaseGaugeFactory, SingletonAuthentication { + // solhint-disable-next-line var-name-mixedcase + string public NETWORK; -contract OptimismRootGaugeFactory is IOptimismGasLimitProvider, BaseGaugeFactory, SingletonAuthentication { uint32 private _gasLimit; event OptimismGasLimitModified(uint256 gasLimit); @@ -30,12 +33,14 @@ contract OptimismRootGaugeFactory is IOptimismGasLimitProvider, BaseGaugeFactory IMainnetBalancerMinter minter, IL1StandardBridge optimismL1StandardBridge, address optimismBal, - uint32 gasLimit + uint32 gasLimit, + string memory targetNetwork ) - BaseGaugeFactory(address(new OptimismRootGauge(minter, optimismL1StandardBridge, optimismBal))) + BaseGaugeFactory(address(new OptimisticRootGauge(minter, optimismL1StandardBridge, optimismBal))) SingletonAuthentication(vault) { _gasLimit = gasLimit; + NETWORK = targetNetwork; } /** @@ -55,7 +60,7 @@ contract OptimismRootGaugeFactory is IOptimismGasLimitProvider, BaseGaugeFactory */ function create(address recipient, uint256 relativeWeightCap) external returns (address) { address gauge = _create(); - OptimismRootGauge(gauge).initialize(recipient, relativeWeightCap); + OptimisticRootGauge(gauge).initialize(recipient, relativeWeightCap, NETWORK); return gauge; }