This is an application that allow users to deposit funds into DeFi protocols using superfluid's streams
This project aims at giving people who earn in cypto streams a way of depositing their streams directly to defi protocols at intervals decided by them. The project is built with superfluid technology and chainlink's keepers. The project showcases a simple way to deposit funds to the Aave protocol using superfluid's money streams. The project is a combination of two contracts, the deposit handler and the keeper contract. the deposit handler manages the accounting of streams and users on the protocol while the keeper automates processes on the deposit contract. Its a simple project with few users in the current DeFi space but with the increasing growth of Superfluid money streams, it will ease the flow of crypto investments. Kovan: "DepositKeeper": [ "0x177D88C9d112F91c562Ae1f30f6df14A7eD1204d"], "SuperDeposit": [ "0x3BB0F35E8eD634C996465FF89db547F27A45988E"] Mumbai: "DepositKeeper": [ "0x2E1c01fB0657d41fA59310E81bAd22f603674111"], "SuperDeposit": [ "0x83A9a530CAB4bceDF449dd830dFAc085a835d6Db"]
How it's made
This project leverages the power of superflid's money streams and chainlink's keeper oracles to enable people to deposit funds to the aave protocol. A user creates a stream to the contract and initializes his credentials by adding a frequency to which the sreams should be sent to the aave protocol. The contract will manage the streams by making deposits to aave at the defined intervals. if a stream is closed before the interval is reached, the contract deposits the funds and clears the user from the protocol. If a stream is increased or reduced, the contract deposits the amounts accumulated to that point and updates the contract accordingly. This occurs in three steps, downgrading the tokens to be spent, then depositing the funds to aave in the user's address then updating the contract. Hence, a person can just open a stream to the contract and manage their funds on aave. I worked alone on the project during the hackathon and only managed to build the contracts with scripts one can use to interact with it. Hence, one can only interact with the contracts using scripts. The project is built with solidity and python with the brownie framework. The contract logic is simple for now to showcase the idea I am trying to build and only managed to experiment with the aave protocol. later I will incorporate other defi protocols to give it access to different users. The contracts are deployed both on kovan and on mumbai, I could not verify my contracts on mumbai hence the deployment on kovan. My keeper contract needs to be verified for the chainlink keeper network to interact with the contract.