EIP 4626 implementations.
An interface for ERC-4626 contracts
Abstract Contract Implementation of ERC-4626 using OpenZeppelin ERC20 (including IERC20Metadat) and pre/post deposit/withdrawal hooks.
- Clone this repo:
git clone git@github.com:bk62/eip-4626.git - Checkout a new branch (
git checkout -b name_of_new_branch) - Begin implementing as appropriate.
- Compile (
nvm use && yarn compile) - Test (
yarn test)
The minimal proxy factory is a powerful pattern used throughout PoolTogethers smart contracts. A typescript package is available to use a generic deployed instance. This is typically used in the deployment script.
The generic registry is a iterable singly linked list data structure that is commonly used throughout PoolTogethers contracts. Consider using this where appropriate or deploying in a seperate repo such as the (Prize Pool Registry)[https://github.com/pooltogether/pooltogether-prizepool-registry.
Install the repo and dependencies by running:
yarn
These contracts can be deployed to a network by running:
yarn deploy <networkName>
These contracts can be verified on Etherscan, or an Etherscan clone, for example (Polygonscan) by running:
yarn etherscan-verify <ethereum network name> or yarn etherscan-verify-polygon matic
Run the unit tests locally with:
yarn test
Generate the test coverage report with:
yarn coverage