@> require(claimsCount >= MAX_TREASURES, "HUNT_NOT_OVER");
@> require(balance > 0, "NO_FUNDS_TO_WITHDRAW");
@> require(msg.sender == owner, "ONLY_OWNER_CAN_FUND");
@> require(msg.sender == owner, "ONLY_OWNER_CAN_PAUSE");
@> require(msg.sender == owner, "ONLY_OWNER_CAN_UNPAUSE");
@> require(paused, "THE_CONTRACT_MUST_BE_PAUSED");
@> require(msg.sender == owner, "ONLY_OWNER_CAN_UPDATE_VERIFIER");
@> require(paused, "THE_CONTRACT_MUST_BE_PAUSED");
@> require(msg.sender == owner, "ONLY_OWNER_CAN_EMERGENCY_WITHDRAW");
@> require(
@> amount > 0 && amount <= address(this).balance,
@> "INVALID_AMOUNT"
@> );
@@ -209,10 +209,10 @@
/// @notice Allow the owner to withdraw unclaimed funds after the hunt is over.
function withdraw() external {
- require(claimsCount >= MAX_TREASURES, "HUNT_NOT_OVER");
+ if (claimsCount < MAX_TREASURES) revert HuntNotOver();
uint256 balance = address(this).balance;
- require(balance > 0, "NO_FUNDS_TO_WITHDRAW");
+ if (balance == 0) revert NoFundsToWithdraw();
(bool sent, ) = owner.call{value: balance}("");
require(sent, "ETH_TRANSFER_FAILED");
@@ -221,7 +221,7 @@
/// @notice Allow the owner to add more funds if needed.
function fund() external payable {
- require(msg.sender == owner, "ONLY_OWNER_CAN_FUND");
+ if (msg.sender != owner) revert OnlyOwnerCanFund();
require(msg.value > 0, "NO_ETH_SENT");
emit Funded(msg.value, address(this).balance);
@@ -229,7 +229,7 @@
/// @notice Pause the contract.
function pause() external {
- require(msg.sender == owner, "ONLY_OWNER_CAN_PAUSE");
+ if (msg.sender != owner) revert OnlyOwnerCanPause();
paused = true;
emit Paused(msg.sender);
@@ -237,7 +237,7 @@
/// @notice Unpause the contract.
function unpause() external {
- require(msg.sender == owner, "ONLY_OWNER_CAN_UNPAUSE");
+ if (msg.sender != owner) revert OnlyOwnerCanUnpause();
paused = false;
emit Unpaused(msg.sender);
@@ -245,8 +245,8 @@
/// @notice In case of a bug, allow the owner to update the verifier address.
function updateVerifier(IVerifier newVerifier) external {
- require(paused, "THE_CONTRACT_MUST_BE_PAUSED");
- require(msg.sender == owner, "ONLY_OWNER_CAN_UPDATE_VERIFIER");
+ if (!paused) revert TheContractMustBePaused();
+ if (msg.sender != owner) revert OnlyOwnerCanUpdateVerifier();
if (
address(newVerifier) == address(0) ||
address(newVerifier) == address(verifier)
@@ -262,8 +262,8 @@
address payable recipient,
uint256 amount
) external {
- require(paused, "THE_CONTRACT_MUST_BE_PAUSED");
- require(msg.sender == owner, "ONLY_OWNER_CAN_EMERGENCY_WITHDRAW");
+ if (!paused) revert TheContractMustBePaused();
+ if (msg.sender != owner) revert OnlyOwnerCanEmergencyWithdraw();
require(
recipient != address(0) &&
recipient != address(this) &&
recipient != owner,
"INVALID_RECIPIENT"
);
- require(
- amount > 0 && amount <= address(this).balance,
- "INVALID_AMOUNT"
- );
+ if (amount == 0 || amount > address(this).balance) revert InvalidAmount();
(bool sent, ) = recipient.call{value: amount}("");
require(sent, "ETH_TRANSFER_FAILED");