Replace error strings with custom errors (#4261)

This commit is contained in:
Francisco Giordano
2023-06-06 01:08:31 -03:00
parent 253bfa68c2
commit 99a4cfca17
133 changed files with 3157 additions and 1204 deletions

View File

@ -67,6 +67,16 @@ abstract contract Initializable {
*/
bool private _initializing;
/**
* @dev The contract is already initialized.
*/
error AlreadyInitialized();
/**
* @dev The contract is not initializing.
*/
error NotInitializing();
/**
* @dev Triggered when the contract has been initialized or reinitialized.
*/
@ -83,10 +93,9 @@ abstract contract Initializable {
*/
modifier initializer() {
bool isTopLevelCall = !_initializing;
require(
(isTopLevelCall && _initialized < 1) || (address(this).code.length == 0 && _initialized == 1),
"Initializable: contract is already initialized"
);
if (!(isTopLevelCall && _initialized < 1) && !(address(this).code.length == 0 && _initialized == 1)) {
revert AlreadyInitialized();
}
_initialized = 1;
if (isTopLevelCall) {
_initializing = true;
@ -117,7 +126,9 @@ abstract contract Initializable {
* Emits an {Initialized} event.
*/
modifier reinitializer(uint8 version) {
require(!_initializing && _initialized < version, "Initializable: contract is already initialized");
if (_initializing || _initialized >= version) {
revert AlreadyInitialized();
}
_initialized = version;
_initializing = true;
_;
@ -130,7 +141,9 @@ abstract contract Initializable {
* {initializer} and {reinitializer} modifiers, directly or indirectly.
*/
modifier onlyInitializing() {
require(_initializing, "Initializable: contract is not initializing");
if (!_initializing) {
revert NotInitializing();
}
_;
}
@ -143,7 +156,9 @@ abstract contract Initializable {
* Emits an {Initialized} event the first time it is successfully executed.
*/
function _disableInitializers() internal virtual {
require(!_initializing, "Initializable: contract is initializing");
if (_initializing) {
revert AlreadyInitialized();
}
if (_initialized != type(uint8).max) {
_initialized = type(uint8).max;
emit Initialized(type(uint8).max);