[BIP-268] Enable non-BAL reward tokens on new L2 gauges

Payload PR - BIP-268


The Child Chain Gauge Factory V2 is the Layer Zero replacement for the old Child Chain Streamer style gauges. These new gauges will enable veBAL boost to be extended to non-mainnet chains.

Beyond emitting BAL, Balancer Gauges have the ability to emit other externally provided tokens. Projects such as Lido and Polygon have used this capability in the past to provide direct emissions to stakers.

In for a token to be used in a reward gauge, the add_reward function must be called on the gauge with the specified token. This BIP Grants the Balancer Maxis the ability to manage external rewards tokens on gauges, and authorizes them to make decisions about what tokens to add based on their best judgement and in collaboration with other Balancer Service Providers.

English Specification

The transaction details were generated by this script with inputs and outputs in this directory

The following files can be found both linked below and in the payload PR linked above:

Filename Description of Contents
inputs.json The inputs to the script mapping functions and deployments to target addresses that can execute them.
results_address_sorted.md The resulting changes printed in a table sorted by target chain and target address. (to easily understand permisisons granted)
results_deployment_sorted.md The resulting changes printed in a table sorted by target chain and target deployment. (for verification against action ids)
function_descriptions.md A table that describes what each function that is being granted privileged access to allows.
chainname.json For each change with changes, a transaction builder json named after said chain exists to apply the changes described in the tables.

More information about the various Balancer Multisigs and their functions can be found in the multisig-ops repo


As described in the payload json, the authorizer will be called to grant the roles as described.

The change can be reviewed by the below by comparing the results_deployment_sorted.md file to the source of truth, which should match the order found in the source of truth for actionIds on the balancer-v2-monorepo.

For record, the contents of results_address_sorted.md are printed here:

deployment chain function role target target_address
20230316-child-chain-gauge-factory-v2 arbitrum add_reward(address,address) 0x56245c361d1ed9e55e6f9889e49f36d9991761b712de544f847b557a84ccd62f lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230316-child-chain-gauge-factory-v2 gnosis add_reward(address,address) 0xc94195da697c94d4db5c313ab49b9ea64c8d69137624b163ba0e4540edfd0faf lm 0x14969B55a675d13a1700F71A37511bc22D90155a
20230316-child-chain-gauge-factory-v2 optimism add_reward(address,address) 0x3bf29175652a3f0fac5abb715d0b7fe2e7b597e2e2eff555dac6b21a20a7c83e lm 0x09Df1626110803C7b3b07085Ef1E053494155089
20230316-child-chain-gauge-factory-v2 polygon add_reward(address,address) 0x728b7c90958572ff4fc88088c34b65ed64230c82afe8611d4d44d39d0845c264 lm 0xc38c5f97B34E175FFd35407fc91a937300E33860

Risk Assessment

The main risk to adding external tokens to a gauge are that it could be used to distribute spam coins or other mallicious tokens through the gauge system. The Balancer Maxis have demonstrated themselves as well qualified being both permissive but sensible.


Monorepo Deployment Addresses