Update docs

This commit is contained in:
github-actions
2023-04-13 18:34:19 +00:00
parent 177ee63028
commit 1796d57991
3 changed files with 26 additions and 17 deletions

View File

@ -52,7 +52,6 @@
:UpgradeableBeacon-_setImplementation: pass:normal[xref:proxy.adoc#UpgradeableBeacon-_setImplementation-address-[`UpgradeableBeacon._setImplementation`]]
:ProxyAdmin: pass:normal[xref:proxy.adoc#ProxyAdmin[`ProxyAdmin`]]
:ITransparentUpgradeableProxy: pass:normal[xref:proxy.adoc#ITransparentUpgradeableProxy[`ITransparentUpgradeableProxy`]]
:ITransparentUpgradeableProxy: pass:normal[xref:proxy.adoc#ITransparentUpgradeableProxy[`ITransparentUpgradeableProxy`]]
:xref-TransparentUpgradeableProxy-ifAdmin--: xref:proxy.adoc#TransparentUpgradeableProxy-ifAdmin--
:xref-TransparentUpgradeableProxy-constructor-address-address-bytes-: xref:proxy.adoc#TransparentUpgradeableProxy-constructor-address-address-bytes-
:xref-TransparentUpgradeableProxy-_fallback--: xref:proxy.adoc#TransparentUpgradeableProxy-_fallback--
@ -535,12 +534,16 @@ to sudden errors when trying to call a function from the proxy implementation.
Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,
you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.
WARNING: This contract does not inherit from {ITransparentUpgradeableProxy}, and the admin function is implicitly
implemented using a custom call-routing mechanism in `_fallback`. Consequently, the compiler will not produce an
ABI for this contract. Also, if you inherit from this contract and add additional functions, the compiler will not
check that there are no selector conflicts. A selector clash between any new function and the functions declared in
{ITransparentUpgradeableProxy} will be resolved in favor of the new one. This could render the admin operations
inaccessible, which could prevent upgradeability.
NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not
inherit from that interface, and instead the admin functions are implicitly implemented using a custom dispatch
mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to
fully implement transparency without decoding reverts caused by selector clashes between the proxy and the
implementation.
WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the compiler
will not check that there are no selector conflicts, due to the note above. A selector clash between any new function
and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This could
render the admin operations inaccessible, which could prevent upgradeability. Transparency may also be compromised.
[.contract-index]
.Modifiers