soham 0f55c18595 Fix/solc 0.7.4 warnings #2391 (#2396) 5 năm trước cách đây
..
Initializable.sol c08d1439dd Bump solhint to 3.2.0 5 năm trước cách đây
Proxy.sol 628dea7a08 update new contracts for solidity 0.7 5 năm trước cách đây
ProxyAdmin.sol 628dea7a08 update new contracts for solidity 0.7 5 năm trước cách đây
README.adoc 6bc2ae3731 Add documentation for proxies (#2344) 5 năm trước cách đây
TransparentUpgradeableProxy.sol 0f55c18595 Fix/solc 0.7.4 warnings #2391 (#2396) 5 năm trước cách đây
UpgradeableProxy.sol 628dea7a08 update new contracts for solidity 0.7 5 năm trước cách đây

README.adoc

= Proxies

[.readme-notice]
NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/proxy

This is a low-level set of contracts implementing the proxy pattern for upgradeability. For an in-depth overview of this pattern check out the xref:upgrades-plugins::proxies.adoc[Proxy Upgrade Pattern] page.

The abstract {Proxy} contract implements the core delegation functionality. If the concrete proxies that we provide below are not suitable, we encourage building on top of this base contract since it contains an assembly block that may be hard to get right.

Upgradeability is implemented in the {UpgradeableProxy} contract, although it provides only an internal upgrade interface. For an upgrade interface exposed externally to an admin, we provide {TransparentUpgradeableProxy}. Both of these contracts use the storage slots specified in https://eips.ethereum.org/EIPS/eip-1967[EIP1967] to avoid clashes with the storage of the implementation contract behind the proxy.

CAUTION: Using upgradeable proxies correctly and securely is a difficult task that requires deep knowledge of the proxy pattern, Solidity, and the EVM. Unless you want a lot of low level control, we recommend using the xref:upgrades-plugins::index.adoc[OpenZeppelin Upgrades Plugins] for Truffle and Buidler.

== Core

{{Proxy}}

{{UpgradeableProxy}}

{{TransparentUpgradeableProxy}}

== Utilities

{{Initializable}}

{{ProxyAdmin}}