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
Box
implementation contract - Deploy a
ProxyAdmin
contract to be the admin of the proxy - Deploy a
TransparentUpgradeableProxy
to 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
BoxV2
can 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