# filo
Built by ControlCplusControlV, (@ControlCplusControlV on Telegram where I am reachable) as a submission for the [Fe hackathon](https://taikai.network/felang/hackathons/ist2023/overview)
filo, a Fe implemention of a Stable Swap AMM using the x^3y + y^3x >= k curve
## About
filo allows users to swap stable assets with each other minimizing slippage compared to a traditional Uniswap V2 pool, putting it on par with something closer to a Curve Pool. In order to implement Filo I built out an ERC20 Contract example (I couldn't find one for Fe, it may exist elsewhere), and a `sqrt` function, both of which are useful libraries and references for other developers
### Application
[pool.fe](./fe_contracts/pool.fe)
### Libraries
[erc20.fe](./fe_contracts/erc20.fe)
[swapMath.fe](./fe_contracts/swapMath.fe)
## Testing
Run the `./test.sh` file to the run the test suite of the pool. Based on the design of the AMM there is a lot of periphery I didn't have time to implement in this hackathon, but the core of the contracts do work in providing LP, removing LP, and swapping.