Home

Awesome

OpenZeppelin Upgradeable Contracts With Foundry

An example of writing and testing an Upgradeable smart contract using the OpenZeppelin UUPS Libraries.

Here's a more complete walkthrough of upgradeable contracts and Transparent vs. UUPS

Deploying

# this runs the deploy script on a local network, to run for real you'll need to broadcast. 
# See forge scripting for more info.
forge script DeployUUPS

Testing

forge test

Libraries

forge install foundry-rs/forge-std
forge install OpenZeppelin/openzeppelin-contracts
forge install OpenZeppelin/openzeppelin-contracts-upgradeable
forge install paulrberg/prb-test@0.1.2