Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support open-zeppelin upgrades validations #358

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ Later this task might instead pin the metadata to ipfs, so sourcify can automati
#### **Options**

`--contract-name <contract name>`: specify the contract's name you want to verify

`--endpoint <endpoint>`: specify the sourcify endpoint, default to https://sourcify.dev/server/

`--write-failing-metadata`: if set and the sourcify task fails to verify, the metadata file will be written to disk, so you can more easily figure out what has gone wrong.
Expand Down Expand Up @@ -1081,7 +1081,8 @@ export type MultiExport = {

As mentioned above, the deploy function can also deploy a contract through a proxy. It can be done without modification of the contract as long as its number of constructor arguments matches the proxy initialization/update function.

The default Proxy is both ERC-1967 and ERC-173 Compliant, but other proxy can be specified, like openzeppelin transparent proxies.
The default Proxy is both ERC-1967 and ERC-173 Compliant, but other proxy can be specified, like openzeppelin transparent proxies. The implementations that go alongside the proxies are passed through open zeppelin's [upgrades-plugin](https://github.com/OpenZeppelin/openzeppelin-upgrades) validation. This prevents [storage collisions](https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#what-does-it-mean-for-an-implementation-to-be-compatible) and other [proxy related errors](https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#what-does-it-mean-for-a-contract-to-be-upgrade-safe).
It is possible to [disable](https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#how-can-i-disable-checks) some of the checks.

Code for the default Proxy can be found [here](solc_0.8/proxy/EIP173Proxy.sol).

Expand Down
Loading