docs: plan UUPS bank demo implementation
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -196,7 +196,7 @@ OpenZeppelin Foundry Upgrades deploys an ERC-1967 proxy whose implementation is
|
||||
initialize(address asset, address initialOwner)
|
||||
```
|
||||
|
||||
The initializer rejects zero addresses and initializes `OwnableUpgradeable`, `PausableUpgradeable`, `ReentrancyGuardUpgradeable`, and `UUPSUpgradeable`. The implementation constructor calls `_disableInitializers()` so the implementation cannot be initialized directly.
|
||||
The initializer rejects zero addresses and initializes the stateful `OwnableUpgradeable` and `PausableUpgradeable` modules. With the pinned OpenZeppelin Contracts 5.6.1 release, `Initializable`, `UUPSUpgradeable`, and `ReentrancyGuard` are stateless shared modules imported from `@openzeppelin/contracts`; they have no upgradeable initializer calls. The implementation constructor calls `_disableInitializers()` so the implementation cannot be initialized directly.
|
||||
|
||||
The implementation may use OpenZeppelin's narrowly scoped `@custom:oz-upgrades-unsafe-allow constructor` annotation only on that initializer-disabling constructor. No storage-layout, missing-initializer, delegate-call, self-destruct, or UUPS-compatibility validation bypass is permitted.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user