upgrade-solidity-contracts
Installation
SKILL.md
Solidity Upgrades
Contents
- Proxy Patterns Overview
- Upgrade Restrictions Between Major Versions (v4 → v5)
- Writing Upgradeable Contracts
- Hardhat Upgrades Workflow
- Foundry Upgrades Workflow
- Handling Upgrade Validation Issues
- Upgrade Safety Checklist
Proxy Patterns Overview
| Pattern | Upgrade logic lives in | Best for |
|---|---|---|
UUPS (UUPSUpgradeable) |
Implementation contract (override _authorizeUpgrade) |
Most projects — lighter proxy, lower deploy gas |
| Transparent | Separate ProxyAdmin contract |
When admin/user call separation is critical — admin cannot accidentally call implementation functions |
| Beacon | Shared beacon contract | Multiple proxies sharing one implementation — upgrading the beacon atomically upgrades all proxies |