[BIP-141] Introduce VeBoost V2

Introduction

veBAL holders get a boost in the liquidity mining program compared to LPs who don’t hold veBAL. These boosts can be delegated to third parties, but this system has barely had any use.

This proposal aims to upgrade the boost delegation subsystem to make it compatible with other platforms, such as Paladin’s boost market.

Specification

The boost system currently in use is Curve’s first attempt to build such a system, and is unnecessarily complicated. It implements boosts as ERC721 NFTs, which makes the code very complex due to having to deal with enumeration and other features, and doesn’t enable any useful use cases.

The new VeBoostV2 contract was also developed by Curve, and they’ve been using it for the past couple months. It is much simpler than the previous iteration, and enables multiple integrations. We’ve also extended it to support EIP 1271, so that contract accounts can use it to delegate boosts (and prevent issues like the one Tribe DAO encountered).

Execution Details

Call setDelegation on the VotingEscrowDelegationProxy (0x6f5a2eE11E7a772AeB5114A20d0D7c0ff61EB8A0) (address found here) with the following arguments:

  • delegation: 0x67F8DF125B796B05895a6dc8Ecf944b9556ecb0B

The delegation parameter is the new boost system: it’s address can be found here.

Doing this requires the permission to call setDelegation, which is 0xac0fcdc4520d7bde1c58bbefd7c8dd39aaf382a20c27991134c14fe63d2c96f3 (see here). This permission is currently held by the Governance DAO Multisig (0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f), so it doesn’t need to be granted.

Migration

Anyone can migrate any boost from the old system to the new one by calling migrate or migrate_many on the VeBoostV2 contract (0x67F8DF125B796B05895a6dc8Ecf944b9556ecb0B). I’ve already done this for all currently existing boosts in this transaction.

If any boosts are created between now and the time in which the migration is completed, they can be permissionlessly migrated via that mechanism.

Risk

The VeBoostV2 contract was originally developed by Curve and is currently in use by them, since July 19th, 2022. It has only received trivial modifications by the Balancer Labs team (e.g. to make the permit() function simpler to use), so it should be as safe as the original one.

If any issues were to arise with the boost system, the most harm that could be done would be to set large boosts for some accounts and no boosts for others - but boosts are capped to 2.5x at the gauges. Then, the emergency subDAO would step in and call killDelegation, removing the boost system entirely until a fix was implemented.

7 Likes

Vote is pending: https://snapshot.org/#/balancer.eth/proposal/0xeb70fa7554ff57670aff22608345adebfbe63ab790ce0eeba85565fcbd5c0650

1 Like