[BIP-29] Introduce GaugeAdder v2

Motivation

The GaugeAdder is a piece of veBAL infrastructure that securely streamlines the process of adding new gauges to the system. It includes checks that ensure only gauges deployed from the official gauge factories can be added to the veBAL system and become eligible for BAL emissions. As we prepare to add gauges from new networks the GaugeAdder must be upgraded to support this expansion. To facilitate this upgrade a coordinator contract has been deployed by the smart contracts team at Balancer Labs. The coordinator does the following:

  • Grant permission to the Balancer Labs Ops Multisig (the one that triggers the weekly BAL minting and bridging every Thursday) to control the parameters of the Arbitrum and Optimism bridge, which are required to operate them (e.g. their gas limit)
  • It creates a new gauge type called ‘Optimism’ on the GaugeController
  • It revokes permission to add gauges from the old GaugeAdder
  • It grants permission to add gauges to the GaugeAdder v2 and grants permission to the LM Multisig 0xc38c5f97B34E175FFd35407fc91a937300E33860 (controlled by Balancer Maxis) to add governance approved Ethereum, Polygon, Arbitrum, and Optimism gauges.
  • It ports the old Ethereum, Polygon, and Arbitrum gauge factories from the old GaugeAdder to the new one and adds the new Optimism gauge factory

The GaugeAdder v2 also has support for zksync and gnosis gauges but those types are not yet created nor do gauge factories exist.

Specification

If approved, the DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction to interact with the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

role: 0x0000000000000000000000000000000000000000000000000000000000000000

address: 0x1B57f637Ce3408f1f834b0b70f9A595b062DAea7

This can be verified here.

https://snapshot.org/#/balancer.eth/proposal/0xe1e42fd73a2d734d78a65e514a6996c785e90bc82a2e896825dd4af003aeec15