Enzyme is an Ethereum-based protocol for decentralized on-chain asset management. It is a protocol for people or entities to manage their wealth & the wealth of others within a customizable and safe environment. Enzyme empowers anyone to set up, manage and invest in customized on-chain investment vehicles.
If you find a vulnerability that may affect live deployments, you can submit a report via:
A. Immunefi (https://immunefi.com/bounty/enzymefinance/), or
B. Direct email to security@enzyme.finance
Please DO NOT open a public issue.
This repository has been migrated from Hardhat to Foundry. All production contracts continue to live in contracts/persistent/ and contracts/release/ (deployed contracts here).
If you are looking for the legacy test suite & test coverage please refer to the hardhat branch.
This repository comes with a reproducible development environment based on nix and direnv.
For the best possible developer experience, make sure you have the following installed:
Once you have these installed, your isolated local development environment will be set up automatically whenever you navigate to this directory.
If you don't want to use nix, make sure to have the following installed:
Then, clone this repository:
git clone [GIT_REPOSITORY_URL]
Generate internal interfaces for foundry deployment and tests:
make buildFirst, create your .env file by copying .env.example. Input your Ethereum (and/or other networks) node endpoint info as-needed (generally, only setting ETHEREUM_NODE_MAINNET, ETHEREUM_NODE_POLYGON, etc is fine).
Then, in order to run the test suite:
make testYou can also manually run parts of the test suite using forge directly, e.g:
forge test --match-test <REGEX>See our contributing instructions.
Please note that all repositories hosted under this organization follow our Code of Conduct, make sure to review and follow it.