Skip to content

bk62/eip-4626

Repository files navigation

EIP-4626 Implementations

Coverage Status

Tests

EIP 4626 implementations.

IERC4626

An interface for ERC-4626 contracts

AbstractERC4626

Abstract Contract Implementation of ERC-4626 using OpenZeppelin ERC20 (including IERC20Metadat) and pre/post deposit/withdrawal hooks.

Development

  1. Clone this repo: git clone git@github.com:bk62/eip-4626.git
  2. Checkout a new branch (git checkout -b name_of_new_branch)
  3. Begin implementing as appropriate.
  4. Compile (nvm use && yarn compile)
  5. Test (yarn test)

Preset Packages

Generic Proxy Factory

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.

Generic Registry

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.

Installation

Install the repo and dependencies by running: yarn

Deployment

These contracts can be deployed to a network by running: yarn deploy <networkName>

Verification

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

Testing

Run the unit tests locally with: yarn test

Coverage

Generate the test coverage report with: yarn coverage

References

EIP 4626 Solmate ERC4626 Reference Implementation

About

EIP-4626 Implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published