This repo uses the Transparent Proxy pattern for upgrading smart contracts. It uses most of the code from openzeppelin's repo, and adds brownie scripts on top. This repo contains deployment scripts that will:
- Deploy a
Boximplementation contract - Deploy a
ProxyAdmincontract to be the admin of the proxy - Deploy a
TransparentUpgradeableProxyto be the proxy for the implementations
Then, the upgrade script will:
- Deploy a new Box implementation
BoxV2 - Upgrade the proxy to point to the new implementation contract.
- Then it will call a function only
BoxV2can call
The contract is designed to be deployed to:
- Rinkeby test network
The contract has been unit tested locally, with intergration testing performed on Rinkeby.
- solidity
- python
- brownie
- smartcontractkit/full-blockchain-solidity-course-py