---
# System prepended metadata

title: Boosts Writeup + Specs

---

---
title: Boosts Writeup + Specs
tags: 
--- 

# Objective 
The main objective here is to get community developers to start building Boosts for DAOhaus DAOs, specifically Boosts to do DEX swaps & liquidity provisions. 

---

# 1. Boost Specs `#magesmiths`

 **Tutorials / Pre-read** 
> To be added
- Docs: DAOhaus Legos (How things work + user interactions)
- Tutorial: How to build a Boost 

**User Persona**
DAOs with a sizeable vault that would like to do treasury management more actively, by: 
- Buying / selling tokens via DEX swaps
- Providing liquidity to DEX liquidity Pools

## Spec 1: Swaps 

### Problem
As a DAO member, I want to buy & sell tokens in my vault easily and safely, so that I can help my DAO achieve our treasury management strategy. 

This spec is created for the Sushi & Uniswap Router contracts

### Solution


**Step 0: Create Proposal & Click Proposal Playlist** 
WHEN the user creates a New Proposal 
AND clicks on `DEX Name` Toolkit Classics 
THEN the Proposal Playlist should show **Swap Tokens**

**Step 1: Select Swap Tokens**
WHEN the user clicks on the Proposal Playlist 
AND clicks on **Swap Tokens** 
THEN the app should show a Multi-Tx Proposal Form 

**Step 2: Show Swap Txn via `swapExactTokensforTokens`**
WHEN the app shows a Multi-TX Proposal Form 
THEN the form should should show a `Select Minion` field
AND the form should show a`AmountIn` and`Slippage` field
AND the form should show a `SwapFrom` and `SwapTo` for token addresses (this maps to `Path`)
AND the form should show a`To` field
AND the form should show a`Deadline` field
AND the form should show a **Submit** button.

**Step 3: Submit Swap Proposal**
WHEN the user clicks **Submit**
AND the user approves the transaction in the wallet 
THEN the app should transition the Proposal to the next stage

**Step 3A: Approve Token via `approve`**
WHEN the user submits a Swap Tokens form 
AND the `SwapFrom` address is not approved for the `SelectMinion` Minion
THEN the app should add automatically add a Tx that calls `approve` function of the `SwapFrom` Contract Address
AND the app should submit both Txs in the proposal

>![](https://i.imgur.com/AHuoZrM.png)   
>
>![](https://i.imgur.com/aZNJgiy.png)

**Unhappy Flow 1: Tx 1 (Approve) Fails**
==TBD== 

**Unhappy Flow 2: Tx 2 (Swap) Fails**
==TBD== 

### Implementation Details 

### Deliverables

## Spec 2: Add Liquidity

### Problem
As a DAO member, I want to provide liquidity with tokens in my vault easily and safely, so that I can help my DAO earn LP fees from our vault tokens

### Solution

**Step 0: Create Proposal & Click Proposal Playlist** 
WHEN the user creates a New Proposal 
AND clicks on `DEX Name` Toolkit Classics 
THEN the Proposal Playlist should show **Add Liquidity**

**Step 1: Select Add Liquidity**
WHEN the user clicks on the Proposal Playlist 
AND clicks on **Swap Tokens** 
THEN the app should show a Multi-Tx Proposal Form 

**Step 2: Add Liquidity via `addLiquidity`**
WHEN the app shows a Multi-TX Proposal Form 
THEN the form should should show a `Select Minion` field
AND the form should show a `TokenA` and `TokenB` for token addresses 
AND the form should show a `DesiredAmountA` and `DesiredAmountB` field
AND the form should show a `TokenASlippage` and `TokenBSlippage` field
AND the form should show a`LPAddress` field
AND the form should show a`Deadline` field
AND the form should show a **Submit** button.

**Step 3: Submit Add LP Proposal**
WHEN the user clicks **Submit**
AND the user approves the transaction in the wallet 
THEN the app should transition the Proposal to the next stage

**Step 3A: Approve Token(s) via `approve`**
WHEN the user submits a Swap Tokens form 
AND the `TokenA` and/or `TokenB` address is not approved for the `SelectMinion` Minion
THEN the app should add add a Tx that calls `approve` function of for every `TokenA` and/or `TokenB` Contract Address
AND the app should submit both Txs in the proposal
### Implementation Details 

### Deliverables

## Spec 3: Remove Liquidity

### Problem
As a DAO member, I want to remove liquidity from liquidty pools easily and safely, so that I can help my DAO meet their treasury management goals

### Solution

**Step 0: Create Proposal & Click Proposal Playlist** 
WHEN the user creates a New Proposal 
AND clicks on `DEX Name` Toolkit Classics 
THEN the Proposal Playlist should show **Remove Liquidity**

**Step 1: Select Remove Liquidity**
WHEN the user clicks on the Proposal Playlist 
AND clicks on **Swap Tokens** 
THEN the app should show a Multi-Tx Proposal Form 

**Step 2: Add Liquidity via `removeLiquidity`**
WHEN the app shows a Multi-TX Proposal Form 
THEN the form should should show a `Select Minion` field
AND the form should show a `TokenA` and `TokenB` for token addresses 
AND the form should show a `DesiredAmountA` and `DesiredAmountB` field
AND the form should show a `TokenASlippage` and `TokenBSlippage` field
AND the form should show a`LPAddress` field
AND the form should show a`Deadline` field
AND the form should show a **Submit** button.

**Step 3: Submit Add LP Proposal**
WHEN the user clicks **Submit**
AND the user approves the transaction in the wallet 
THEN the app should transition the Proposal to the next stage


### Implementation Details 

### Deliverables

---

# 2. Process `#rangers`
> To be created. Reference: https://hackmd.io/QqnbirxyRxevzeawdNtPpw

From mid-February till mid-March, DAOhaus is running an Boost Bounties program, where community developers can take on bounties and build Boosts. This season's focus is helping DAOs better do treasury management by performing swaps and providing liquidity to DEXes. 

Each DEX has sponsored a bounty and the bounties can be found ==here==. DAOhaus will select the best Boost based on user experience and award them the bounty. 

- Submit application in ==this form== by end February
    - Contact info 
    - Github Profile 
    - ETH address
    - Bounty chosen 
- ==Submit link to your repository== by mid March
- DAOhaus chooses the best entry, integrates them & announces results by end March

---

# 3. Funding Pipeline

::: info
The Bounties funding would be from the various DEXes
:::

**Pipeline**

| DEX       | Chains                         | Contact   |
| --------- | ------------------------------ | --------- |
| Swapr     | Mainnet, xDai, Arbitrum        | Sky       |
| Honeyswap | xDai, Arbitrum, Polygon        | ceresbzns |
| Sushiswap | All our chains                 |           |
| Uniswap   | Mainnet, Polygon, Arbitrum, OE |           |
| Balancer  | Mainnet, Polygon, Arbitrum     |           |
| Cowswap   | Mainnet, xDai                  | ceresbzns |

**Sponsorship Ask & Offering**
 
DAOhaus is seeking $5,000 minimum sponsorship to: 
1. Run the bounties program 
2. Vet & select quality bounty submissions 
3. Ensure your DEX's Swap & LP Boost goes live 
4. Create documentation for your DEX's Swap & LP Boost  

==80 OR 100%== of the sponsored funds will be used as bounty prizes to incentivize community developers. 

---

# 4. External-Facing Writeups/Proposals 
::: info
These could be use to 'pitch' for sponsors or create funding proposals on forums
:::

### Summary

**About DAOhaus**
The DAOhaus platform is the easiest way for anyone to start a DAO to help their community coordinate to achieve their goals. In 2021, there were 2,000 DAOhaus DAOs on Mainnet, Gnosis Chain, Polygon, Arbitrum & Celo. These DAOs had $416M flowing in and out of their treasuries. 

Beyond proposals, membership and voting, DAOhaus has a Boosts Marketplace, where DAOs can discover, install and configure Boosts to expand their capabilities. Many of these Boosts are built by community developers. Some examples of Boosts include
- Rarible Boost (which helps you buy & sell NFTs on the Rarible Protocol)
- Disperse Boost (which helps to disperse tokens to addresses)
- Discord Notifications Boost (which sends proposal updates to Discord)

DAOhaus is starting a Bounties program for community developers to build Boosts that help DAOs perform DEX swaps & liquidity provisions. 

**Rationale**
In the Web3 ecosystem (and especially at DAOhaus), we see more DAOs being created each day for different purposes (e.g. NFT Collector DAOs, Investment DAOs and Liquidity Provision DAOs). Creating these Boosts will help DAOhaus DAOs manage their treasuries more actively and effectively. 

This contributes to greater trading volume on DEXes as DAOs typically trade in larger volumes to manage their treasury. This also creates more sustainable liquidity on DEXes because DAOs represent larger pools of funds which are less fickle than individual DeFi farmers. 

**Proposal**
DAOhaus is seeking $5,000 minimum sponsorship to: 
1. Run the bounties program 
2. Vet & select quality bounty submissions 
3. Ensure your DEX's Swap & LP Boost goes live 
4. Create documentation for your DEX's Swap & LP Boost  

==80 OR 100%== of the sponsored funds will be used as bounty prizes to incentivize community developers. 

By end March, you should have a working Boost on the DAOhaus platform, where DAOs can swap tokens and provide liquidity on your DEX.