/customizableERC20Clones

Practical demo implementation of EIP-1167: Minimal Proxy Contract

Primary LanguageSolidity

Clone Pattern Demo

Inspired by the OpenZeppelin workshop video

This project was created to showcase the gas efficiency of deploying customizable contracts that would point to a common fixed implementation. The most efficient known way to do this is via EIP-1167: Minimal Proxy Contract.

Unlike other proxy standards which include upgrade functionality in either the proxy itself or the implementation, this methodology is meant to have a static implementation address that can never be changed. The purpose of this contract is to solely act as the call forwarder/storage. Which is achievied via delegate calls onto the implementation contract.

The ERC20 contract which was used is a custom contract which adds functionality to OpenZeppelin's ERC20 Capped contract. Allowing for customization of the owner, name, symbol, and max supply.

Gas Efficiency Breakdown

image