diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index 8134f9ce6fc..8268e6ad2c1 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -43,19 +43,19 @@ contract TaikoL1 is EssentialContract, ITaikoL1, TaikoEvents, TaikoErrors { /// @param _owner The owner of this contract. msg.sender will be used if this value is zero. /// @param _addressManager The address of the {AddressManager} contract. /// @param _genesisBlockHash The block hash of the genesis block. - /// @param _pause true to pause the contract by default. + /// @param _toPause true to pause the contract by default. function init( address _owner, address _addressManager, bytes32 _genesisBlockHash, - bool _pause + bool _toPause ) external initializer { __Essential_init(_owner, _addressManager); LibVerifying.init(state, getConfig(), _genesisBlockHash); - if (_pause) pause(); + if (_toPause) _pause(); } function init2() external onlyOwner reinitializer(2) { diff --git a/packages/protocol/contracts/common/EssentialContract.sol b/packages/protocol/contracts/common/EssentialContract.sol index a4758fd3919..8e4d000f9d1 100644 --- a/packages/protocol/contracts/common/EssentialContract.sol +++ b/packages/protocol/contracts/common/EssentialContract.sol @@ -70,19 +70,16 @@ abstract contract EssentialContract is UUPSUpgradeable, Ownable2StepUpgradeable, } /// @notice Pauses the contract. - function pause() public virtual whenNotPaused { - __paused = _TRUE; - emit Paused(msg.sender); + function pause() public virtual { + _pause(); // We call the authorize function here to avoid: // Warning (5740): Unreachable code. _authorizePause(msg.sender, true); } /// @notice Unpauses the contract. - function unpause() public virtual whenPaused { - __paused = _FALSE; - lastUnpausedAt = uint64(block.timestamp); - emit Unpaused(msg.sender); + function unpause() public virtual { + _unpause(); // We call the authorize function here to avoid: // Warning (5740): Unreachable code. _authorizePause(msg.sender, false); @@ -108,6 +105,17 @@ abstract contract EssentialContract is UUPSUpgradeable, Ownable2StepUpgradeable, __paused = _FALSE; } + function _pause() internal whenNotPaused { + __paused = _TRUE; + emit Paused(msg.sender); + } + + function _unpause() internal whenPaused { + __paused = _FALSE; + lastUnpausedAt = uint64(block.timestamp); + emit Unpaused(msg.sender); + } + function _authorizeUpgrade(address) internal virtual override onlyOwner { } function _authorizePause(address, bool) internal virtual onlyOwner { }