Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 2.18 KB

README.md

File metadata and controls

20 lines (13 loc) · 2.18 KB

ETHOnline 2020 Hackathon Submission

See our work in progress slide deck: Composable

composable

See Encoding.md for our encoding standard. This is the smart contract backend of the composable project. Installation instructions are saved in its root folder.

composable-ui

This is the web app that faces the user who interacts with composable.

Composable

Composable is nearly here! We recognized a need to provide users and contracts with the ability to call multiple arbitrary functions from within the context of a single block. Individual DeFi users, in some cases, have been excluded from participating because of exorbitant gas fees. With certain DeFi actions spanning multiple protocols and transactions, users may even have transactions delayed if gas prices rise too quickly to accurately submit enough gas for an intermediate transaction, further compounding the problem. High gas costs have at least been part of the motivation for aggregating token balances of accounts with aligned interests in delegated vaults, ie yEarn, if not a major deciding factor. Furthermore, in the current paradigm of calling functions within transactions, contracts must inherit from a specific interface to natively interact with external contracts sans friction.

Examples

We propose a couple examples of Composable implementations for eventual use in mainnet contracts, after a period of thorough testing. We will look at Aave flashloans, Compound governance, and yEarn delegated vaults as potentially improved protocols via this encoding standard.

As an example of a potential use case, consider Aave's flashloans, available through aave/flashloan-box. Let's look at how it works, by inspecting the two main functions within flashloan.sol.

Resources

Consult Resources.md for developer docs/resources.