MahaDAO / liquidity-contracts

Contracts that automatically add liquidity to the various pools
0 stars 0 forks source link

Create the automated contracts to add liquidity to ARTH and MAHA #1

Closed senamakel closed 1 year ago

senamakel commented 1 year ago

We have three avenues of liquidity which we should focus on growing.

ARTH/MAHA 1% Uniswap - https://info.uniswap.org/#/pools/0x8a039fb7503b914a9cb2a004010706ca192377bc ARTH/ETH 1% Uniswap - https://etherscan.io/address/0xe7cdba5e9b0d5e044aab795cd3d659aac8db869b ARTH/USDC on Curve - https://curve.fi/#/ethereum/pools/factory-crypto-185/deposit

The protocol at regular intervals of time collects revenue from various places. Revenue comes in the form of MAHA, ARTH, WETH, USDC etc...

https://etherscan.io/address/0x9032f1bd0cc645fde1b41941990da85f265a7623

This address collects all the revenue from various places and sends it to various other receipents.

We would like to create a set of smart contracts that will receive ARTH, MAHA and WETH/ETH from the address above and simply adds liquidity into the various pools above.

This contract can be called by anyone at anytime. (Second task: And it should be protected from frontrunning bots).


Example.

Say if this contract receives 200 ARTH, 1 ETH and 100 MAHA from the protocol's revenue. Then it should ideally add liquidity into uniswap & curve along the lines of

Once liquidty is added, all LP tokens / Uniswap NFTs should get sent to our treasury which is located at https://etherscan.io/address/0x6357EDbfE5aDA570005ceB8FAd3139eF5A8863CC

senamakel commented 1 year ago

that is correct. However curve automatically does this for you when you deposit one of the tokens

senamakel commented 1 year ago

The Curve router is already done

https://github.com/MahaDAO/liquidity-contracts/blob/master/contracts/routers/CurveRouter.sol

And a test is written here: https://github.com/MahaDAO/liquidity-contracts/blob/master/scripts/debug/curve-router.ts

However we need to write the Uniswap ones.

senamakel commented 1 year ago
image

This would a be a rough idea of how this would look like.

There is an already existing NFT position that we should try to do our best to add as much as liquidity as possible.