/cairo-erc4626

Solmate-style Cairo ERC4626 Implementation

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

ERC4626 Vault Implementation

  • yagi.erc4626: contracts
  • openzeppelin: OpenZeppelin cairo-contracts dependencies
  • tests: protostar tests folder

⚠️ WARNING! ⚠️

This code is entirely experimental, changing frequently and un-audited. Please do not use it in production!

Features

  • This code preserves the original solmate license
  • Bring your own ERC20 token implementation (or use openzeppelin as seen in the mock contract)

Reusability

How to reuse this code:

  • Copy the yagi folder to your repository
  • Copy the openzeppelin folder from the latest openzeppelin cairo-contracts implementation
  • Copy the ERC4626.cairo contract into your own implementation
  • Use your favorite ERC20 implementation with the contract
  • Fill in the hook functions

Or feel free to get in touch with us on Twitter.

How to contribute

Dependencies:

Installation:

poetry install

Thanks to

  • t11s and solmate contributors for the solmate ERC4626 implementation and math
  • OpenZeppelin team for the excellent cairo-contracts
  • Zorro team for the testing patterns in zorro

Related

  • Please check out Milan Cermak's repository which is also porting the solmate implementation cairo-4626