CaiJiJi / Solidity-Proxy-Playground

The good, the bad, and the ugly of proxy implementations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Proxy Playground

This repository is a collection of proxy implementations. Each type of proxy has a vulnerable implementation and a fixed implementation. Do NOT use the vulnerable versions for production contracts!

Installing Dependencies

There are two versions of OpenZeppelin/openzeppelin-contracts-upgradeable because some tests rely on a vulnerability in v4.3.1.

forge install OpenZeppelin/openzeppelin-contracts-upgradeable
forge install YAcademy-Residents/openzeppelin-contracts-upgradeable-4.3.1@v4.3.1
forge install OpenZeppelin/openzeppelin-contracts

If you run forge build for the first time without installing the dependencies and get error messages, try running it a second time or run forge test. Forge has a bug where it may not recognize the installed packages the first the forge is run.

About

The good, the bad, and the ugly of proxy implementations


Languages

Language:Solidity 99.9%Language:Makefile 0.1%Language:Nix 0.0%