Skip to content

Upgradeable non-transparent proxy that uses the ERC-897 DelegateProxy standard.

License

Notifications You must be signed in to change notification settings

marsfoundation/upgradeable-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

upgradeable-proxy

Foundry CI Foundry License: AGPL v3

Overview

The upgradeable-proxy repo consists of two contracts:

UpgradeableProxy.sol

  • A non-transparent proxy contract with minimal logic to allow for administrative permissioning and upgradeability.
  • rely/deny are used to permission the proxy to call the implementation contract.
  • setImplementation is used to upgrade the implementation contract.

UpgradeableProxied.sol

  • UpgradeableProxied is a contract designed to be inherited by ANY AND ALL implementations that are using UpgradeableProxy.sol as their proxy contract.
  • This contract contains the same storage layout with the implementation address slot taken up by a dummy bytes32 slot0 variable to prevent unintended overwriting of the implementation address slot.

Testing

To run the tests, do the following:

forge test

The IP in this repository was assigned to Mars SPC Limited in respect of the MarsOne SP

About

Upgradeable non-transparent proxy that uses the ERC-897 DelegateProxy standard.

Resources

License

Stars

Watchers

Forks

Packages

No packages published