Fixes markdown reference

This commit is contained in:
Gabriel Barros 2019-03-04 15:50:33 -05:00
parent 63feeb7bea
commit 6435654419

View File

@ -1,6 +1,6 @@
---
eip: 1822
title: Universal Upgradeable Proxy Standard
title: Universal Upgradeable Proxy Standard (UUPS)
authors: Gabriel Barros <gabriel@terminal.co>, Patrick Gallagher <patrick@terminal.co>
discussions-to: [Ethereum Magicians Forum](https://ethereum-magicians.org/t/eip-universal-upgradeable-proxy-standard-uups)
status: Draft
@ -188,7 +188,7 @@ To facilitate this practice, we recommend utilizing a single "base" contract whi
The compatibility check in the Proxiable Contract is a safety mechanism to prevent upgrading to a Logic Contract which does not implement the Universal Upgradeable Proxy Standard. However, as occurred in the parity wallet hack, it is still possible to perform irreparable damage to the Logic Contract itself.
In order to prevent damage to the Logic Contract, we recommend restricting permissions for any potentially damaging functions to `onlyOwner`, and giving away ownership of the Logic Contract immediately upon deployment to a null address (e.g., address(1)). Potentially damaging functions include native functions such as `SELFDESTRUCT`, as well functions whose code may originate externally such as `CALLCODE`, and `delegatecall()`. In the [ERC-20 Token](#erc20-token) example below, a `LibraryLock` contract is used to prevent destruction of the logic contract.
In order to prevent damage to the Logic Contract, we recommend restricting permissions for any potentially damaging functions to `onlyOwner`, and giving away ownership of the Logic Contract immediately upon deployment to a null address (e.g., address(1)). Potentially damaging functions include native functions such as `SELFDESTRUCT`, as well functions whose code may originate externally such as `CALLCODE`, and `delegatecall()`. In the [ERC-20 Token](#erc-20-token) example below, a `LibraryLock` contract is used to prevent destruction of the logic contract.
## Examples