Closed senamakel closed 1 year ago
that is correct. However curve automatically does this for you when you deposit one of the tokens
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.
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.
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