# Introduce ChildChainGaugeTokenAdder

**URL:** <https://forum.balancer.fi/t/introduce-childchaingaugetokenadder/3238>\
**Category:** General Proposal\
**Created:** [May 30, 2022, 9:49pm UTC](https://forum.balancer.fi/t/introduce-childchaingaugetokenadder/3238 "2022-05-30T21:49:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nventuro](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/nventuro/32/49_2.png) [@nventuro](https://forum.balancer.fi/u/nventuro)\
**Post date:** [May 30, 2022, 9:49pm UTC](https://forum.balancer.fi/t/introduce-childchaingaugetokenadder/3238/1 "2022-05-30T21:49:35Z")

</div>

# Introduction

Liquidity gauge depositors can receive not only BAL, but also extra tokens (called ‘reward tokens’). On Ethereum L1, this is relatively straightforward, and there’s already a subDAO managing this. On child chains however (i.e. non-Ethereum L1 chains, such as Polygon or Arbitrum), this task is a bit more nuanced, as the gauge system allows for irrecoverable user error.

[`ChildChainGaugeTokenAdder`](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/liquidity-mining/contracts/admin/ChildChainGaugeTokenAdder.sol) is a module that makes adding reward tokens to child chain gauges much safer, and should be the only means by which this is done.

# Specification

The `ChildChainGaugeTokenAdder` contract (deployment addresses found [here](https://github.com/balancer-labs/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20220527-child-chain-gauge-token-adder)) must be granted permission to call `IChildChainStreamer.add_reward` and `IRewardsOnlyGauge.set_rewards` via the AuthorizerAdaptor. Then, the LM multisig `0xc38c5f97B34E175FFd35407fc91a937300E33860` must be granted permission to call `ChildChainGaugeTokenAdder.addTokenToGauge`.

## Execution details

This will be done in multiple networks: the named arguments below should be replaced with the actual constants specified later.

Call `grantRolesToMany` on the Authorizer, with:

- `roles`:
  - `add_reward_role`
  - `set_rewards_role`
  - `addTokenToGauge_role`

- `accounts`:
  - `ChildChainGaugeTokenAdder`
  - `ChildChainGaugeTokenAdder`
  - `LMMultisig`

### Polygon

Authorizer: `0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6`  
ChildChainGaugeTokenAdder: `0x1554ee754707D5C93b7934AF404747Aba521Aaf2`  
LMMultisig: `0xc38c5f97B34E175FFd35407fc91a937300E33860`  
add\_rewards\_role: `0x7cb72b76789ff7bc3d3bf438294fb22e9ab21b8ab33ef92bde5343ffbefae722`  
set\_rewards\_role:  
`0x233b2a2aac7549ea477be4a1eb94890848d61b5a2a458718e2bc1bfed9730018`  
addTokenToGauge\_role: `0x32982283bd3250ac03256468501ad749885a55561f6e27111ff7f9a661aca5b5`

### Arbitrum

Authorizer: `0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6`  
ChildChainGaugeTokenAdder: `0xbfD9769b061E57e478690299011A028194D66e3C`  
LMMultisig: `0xc38c5f97B34E175FFd35407fc91a937300E33860`  
add\_rewards\_role: `0x848a449d6f3fea1c1e229330f28bbd34ce15b8828b8e59f6b046fe937ef76b76`  
set\_rewards\_role:  
`0x6164875d6ae7cbe0f88dcb6a153aeb65fec7e8fabf50f3e512288f01417a4d48`  
addTokenToGauge\_role:  
`0x00970aa128369a6b7225384e0de035b547a6d56c2faeee4c3f3735de381d1ff7`

# Risks

The LM multisig could misuse its permission and add incorrect or faulty tokens to the gauges. Since these have a limit of 8 tokens and they cannot be removed, such a situation would require a gauge migration.

Alternatively, the LM multisig could designate a distributor that sets overly long distribution durations (e.g. 5000 years), which would effectively make the distributions unusable.

No funds are at risk. The only funds potentially affected are those being distributed, which could be re-distributed over an over by a malicious distributor, dilluting the effective distributon rate.

---

<div class="post-metadata">

**Author:** ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)\
**Post date:** [June 1, 2022, 7:43pm UTC](https://forum.balancer.fi/t/introduce-childchaingaugetokenadder/3238/2 "2022-06-01T19:43:41Z")

</div>

This heads to the gov council tomorrow 🙏

---

<div class="post-metadata">

**Author:** ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)\
**Post date:** [June 2, 2022, 12:29pm UTC](https://forum.balancer.fi/t/introduce-childchaingaugetokenadder/3238/3 "2022-06-02T12:29:37Z")

</div>

[https://snapshot.org/#/balancer.eth/proposal/0xcf17f3174f1d80783c2506362fd8d8b762e9c376122ab8ac31d8782e371cf19f](https://snapshot.org/#/balancer.eth/proposal/0xcf17f3174f1d80783c2506362fd8d8b762e9c376122ab8ac31d8782e371cf19f)
