Skip to content

Commit

Permalink
Optimize Ownable and Pausable modifiers' size impact (#3347)
Browse files Browse the repository at this point in the history
  • Loading branch information
jnishiyama committed Jun 7, 2022
1 parent 3ac4add commit 08d109d
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 12 deletions.
13 changes: 10 additions & 3 deletions contracts/access/Ownable.sol
Expand Up @@ -29,6 +29,14 @@ abstract contract Ownable is Context {
_transferOwnership(_msgSender());
}

/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}

/**
* @dev Returns the address of the current owner.
*/
Expand All @@ -37,11 +45,10 @@ abstract contract Ownable is Context {
}

/**
* @dev Throws if called by any account other than the owner.
* @dev Throws if the sender is not the owner.
*/
modifier onlyOwner() {
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}

/**
Expand Down
32 changes: 23 additions & 9 deletions contracts/security/Pausable.sol
Expand Up @@ -34,13 +34,6 @@ abstract contract Pausable is Context {
_paused = false;
}

/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}

/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
Expand All @@ -49,7 +42,7 @@ abstract contract Pausable is Context {
* - The contract must not be paused.
*/
modifier whenNotPaused() {
require(!paused(), "Pausable: paused");
_requireNotPaused();
_;
}

Expand All @@ -61,10 +54,31 @@ abstract contract Pausable is Context {
* - The contract must be paused.
*/
modifier whenPaused() {
require(paused(), "Pausable: not paused");
_requirePaused();
_;
}

/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}

/**
* @dev Throws if the contract is paused.
*/
function _requireNotPaused() internal view virtual {
require(!paused(), "Pausable: paused");
}

/**
* @dev Throws if the contract is not paused.
*/
function _requirePaused() internal view virtual {
require(paused(), "Pausable: not paused");
}

/**
* @dev Triggers stopped state.
*
Expand Down

0 comments on commit 08d109d

Please sign in to comment.