[Temp Check] Allocate BSN to Warden Quest to seed liquidity in BSN/wETH Bunni pool

Summary

This proposal outlines a plan for allocating a competitive amount of BSN incentives to a Warden Quest in order to seed and grow BSN/WETH liquidity on Bunni. This can be done without trusting a 3rd party to deposit the BSN tokens into the Warden Quest by using Tally’s on-chain execution following a successful vote.

This proposal was inspired by previous conversations:

Background

Bunni.pro is a liquidity engine for Uniswap V3 where projects incentivize veLIT holders to vote on their gauges and direct native oLIT emissions to the LP token holders. Bunni is built on top of Uniswap v3, so the liquidity deposited on the platform is deposited to Univ3 on the backend. Deposited capital would be very efficient because Univ3 incorporates concentrated liquidity.

Bunni is relatively new and there isn’t much competition to bribe veLIT holders, so even lower value bribes will make Blockswap competitive and attract votes from veLIT holders, making BSN/WETH gauge a lucrative option to provide liquidity for.

The BSN/WETH gauge has been added to Bunni and a Snapshot vote to enable oLIT emissions on the gauge has passed.

Warden is a bribe marketplace made by Paladin to incentivize votes on Bunni gauges. The Paladin team is working to whitelist BSN as a rewards token on Warden Quests.

Motivation

Bunni.pro offers a solution for attracting liquidity for both BSN and dETH tokens that is efficient for DAOs and LPs. They also are planning cross chain gauges and collateralization partnerships for their LP tokens, opening the door for future growth.

Implementation

The following steps must be taken for the Warden Quest to successfully grow liquidity in the BSN/wETH pool:

  • Blockswap DAO votes on Tally to bribe veLIT holders via a Warden Quest

  • Tally vote execution runs on-chain commands to approve the Warden QuestBoard contract to spend a number of the DAO’s BSN tokens, then call createQuest() on the QuestBoard.

  • veLIT holders direct emissions to BSN/WETH gauge and collect BSN rewards on Warden.

  • Liquidity providers deposit into the BSN/WETH pool and collect oLIT rewards on Bunni

Tally vote

Using Tally’s on-chain execution, the Quest on Warden can be created and funded without trusting any 3rd party wallet with the BSN tokens. If this Temperature Check is received positively by the community, then a Tally vote will be created with the approve() and createQuest() execution logic.

Tally execution steps:

  • 1: Approve veLIT QuestBoard contract to spend 1,500,000 BSN of the DAO’s tokens

  • 2: Call the veLIT QuestBoard createQuest() function

1. approve()

The ERC-20 approve() function is defined as:


approve(address spender, uint256 amount)

Input parameters for Tally vote:

  • spender: veLIT QuestBoard contract (0x602E94D90F34126f31444D001732a1974378D9FC)

  • amount: 1,500,000 with 18 decimals of precision (1500000000000000000000000)

2. createQuest()

Warden’s createQuest() function is defined as:


createQuest(address gauge, address rewardToken, uint48 duration, uint256 objective, uint256 rewardPerVote, uint256 totalRewardsAmount, uint256 feeAmount)

Input parameters for Tally vote:

  • gauge: address of the BSN/WETH gauge (0x3f28ca531cb4767eebfd8974a7a782058c53af6a)

  • rewardToken: address of the BSN token (0x534D1F5E617e0f72A6b06a04Aa599839AF776A5e)

  • duration: number of weeks the bribe should be offered (10)

  • objective: the amount of veLIT votes per week to bribe (150,000 with 18 decimals of precision: 150000000000000000000000)

  • rewardPerVote amount of BSN rewarded per veLIT voted on the BSN/WETH gauge (1 with 18 decimals of precision: 1000000000000000000)

  • totalRewardsAmount: 1,500,000 (with 18 decimals of precision: 1500000000000000000000000)

  • feeAmount: must equal (totalRewardsAmount * platformFee) / 10000 (60,000 with 18 decimals of precision: 60000000000000000000000)

Limitations

The current platform fee on Warden’s veLIT QuestBoard is 400 basis points. This platform fee can be updated by the contract owner, and is necessary to calculate the feeAmount input parameter passed to createQuest()


feeAmount = totalRewardsAmount * platformFee / 10000

If a feeAmount is passed to createQuest() that does not satisfy the above criteria, then execution of the transaction is reverted. Since Tally cannot read or store returned function results, the feeAmount input parameter will become:


feeAmount = totalRewardsAmount * 400 / 10000

If the veLIT QuestBoard platformFee is updated between the creation and execution of the Tally vote, then execution will be reverted.

Contracts

  • Warden veLIT QuestBoard: 0x602E94D90F34126f31444D001732a1974378D9FC

  • BSN/WETH Bunni Gauge: 0x3f28ca531cb4767eebfd8974a7a782058c53af6a

  • BSN/WETH Bunni Pool: 0x25A73a5D7CE4feAC297fA433dAfb49E3DE869a95

  • BSN Token: 0x534D1F5E617e0f72A6b06a04Aa599839AF776A5e

  • BSN/WETH Uniswap v3 Pool: 0x2c32ebdc2ed3c790758fb4c09a64439237445e8a

Conclusion

The BSN/WETH Uniswap V3 pool has only $11.27K in liquidity according to GeckoTerminal. Bribing veLIT holders to direct oLIT emissions to the BSN/WETH gauge will help to seed and grow liquidity that BSN desperately needs by rewarding liquidity providers with oLIT tokens. 150,000 BSN tokens per week would place BSN/WETH among the best paying gauges at https://bunni.pro/velit for veLIT holders to vote on.

The DAO should allocate 1,500,000 BSN tokens to incentivize veLIT holders over 10 weeks to direct oLIT emissions to the BSN/WETH gauge. If the community has a positive outlook on this Temperature Check, then a Tally vote will be created with the execution logic above. At the end of this trial period, pending success of attracting sufficient liquidity, the DAO can choose to extend the incentives program to foster healthy liquidity for the BSN/WETH pair.

6 Likes