[BIP-166] Whitelist the gauge for the StaFi rETH/ETH Pool to receive BAL emissions

PR with payload: Create BIP-166.json by solarcurvey · Pull Request #34 · BalancerMaxis/multisig-ops · GitHub

Authors: StaFi Contributors, with support from Aura contributors

Summary

StaFi proposes the creation of a Balancer gauge for a rETH-ETH pool on mainnet, with a 10% emissions cap.

Protocol Description

StaFi is a liquid staked derivatives protocol launched in Q3 2020, with a focus on bringing liquidity to staked assets on Ethereum and other Proof of Stake chains such as Polygon, Solana, and Polkadot. Since launch, the protocol has accrued over $36,000,000 worth of staked assets across 11 tokens, with 3,439 active validators.

Similar to other LSD protocols, StaFi issues a liquid receipt token (rETH) representing your share of ether staked on the Beacon Chain via a permissionless validator set. Deposits are partially covered by validator deposits. The exchange rate between rETH/ETH will gradually increase as staking rewards accumulate, though rETH is not redeemable for the ether principal and rewards until after the Shanghai upgrade.

StaFi has a native governance token with the ticker “FIS”. FIS is freely tradable on a number of centralized exchanges, alongside some decentralized exchanges not inclusive of Balancer. FIS has governance utility and can be staked by validators in the StaFi consensus network.

Motivation

StaFi currently has an existing rETH-ETH pool on Curve that sees regular trades between both assets.

StaFi is looking to expand the availability and liquidity of its staked derivatives, starting with rETH, through Balancer. Ahead of and after the Shanghai Ethereum hard fork, liquidity and yield on LSDs will be a key competing factor as LSD protocols seek integrations and a broader base of holders.

StaFi is committed to driving value to the veBAL ecosystem by incentivizing pool liquidity via Hidden Hand voting incentives. Deeper liquidity should lead to increased volume and revenue accrual.

Specifications

  1. Governance: DAO forum
  2. Oracles: Direct Balance Query: The rETH rateProvider has a getRate() function that calls rETH’s own getExchangeRate() function. See the contract here
  3. Audits: StaFi rToken App Audits
  4. Centralization Vectors:StaFi’s rebalancing is done by a bot that is run by the foundation. Presently the bot is not profitable to run, so we would not expect anyone else to run it. However, there is no chance of money being inaccessible as a result of the bot stopping–Just that the bridge would run less efficiently.
  5. Market History: rETH has been a tradable asset since March 2021. Trading has primarily taken place in the aforementioned rETH-ETH pool on Curve. FIS is a liquid asset traded both on top centralized exchanges as well as decentralized exchanges.
  6. Value: StaFi will make its Balancer rETH-ETH pool a primary source of liquidity for rETH on Ethereum mainnet. By bolstering liquidity of the pool, Balancer should gain from increased trading fees.

Link to the rETH/ETH pool on Balancer:

Links & References

Pool: 0xB08885e6026bab4333A80024Ec25a1a3e1FF2b8A
uncapped gauge: 0x10a361766e64D7983a97202ac3a0F4cee06Eb717

Specification
#1
The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

role: 0xf49d7ffb5922642adc9f29cfb52b2214e81e0b0e54e9cd1e9f70439f0011f368

This corresponds with the role for calling add_gauge on the gaugeController as seen here .

account: 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f

This allows the DAO Multisig to directly add gauges to the controller.

#2

The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will interact with the AuthorizerAdaptor at 0x8F42aDBbA1B16EaAE3BB5754915E0D06059aDd75 and call performAction with the GaugeController at 0xC128468b7Ce63eA702C1f104D55A2566b13D3ABD for the target(address) argument and using 0x3a04f900 followed by the gauge address 0x10a361766e64D7983a97202ac3a0F4cee06Eb717 and the corresponding gauge type for the data(bytes) argument.

data(bytes) : 0x3a04f90000000000000000000000000010a361766e64d7983a97202ac3a0f4cee06eb7170000000000000000000000000000000000000000000000000000000000000002

#3
The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling renounceRole with the following arguments:

role: 0xf49d7ffb5922642adc9f29cfb52b2214e81e0b0e54e9cd1e9f70439f0011f368

This corresponds with the role for calling add_gauge on the gaugeController as seen here .

account: 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f

This removes the ability for the DAO Multisig to directly add gauges to the controller.

It is standard for pools and gauges to be created and linked in governance. My primary concern about this request is that rETH from rocket is already present on the platform and one of our largests tokens. This could create some user confusion. I’d like to see how the pool looks in the UI. Is it clearly a different rETH? How hard will it be for users to identify which one is which? What do we want to do about that?

I don’t think token naming should be a first come/first serve thing by any means, nor the biggest eats everyone else, but it is important for UX that users clearly understand what they are doing, and you have chosen a name of a very well known liquid staked eth.

Can you please provide a link the the pool, and insure it somehow looks quite different from all these?

in the process of whitelisting the pool & the token. it would have a different logo which is probably the main way users will differentiate it.

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

I agree that there is indeed a UX problem with the rETH