Skip to content

Instantly share code, notes, and snippets.

@vis-kid
Created February 4, 2022 20:07
Show Gist options
  • Save vis-kid/18129188e9dac1a4e2fdbc14dc1b56b5 to your computer and use it in GitHub Desktop.
Save vis-kid/18129188e9dac1a4e2fdbc14dc1b56b5 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.11+commit.22be8592.js&optimize=false&runs=200&gist=
pragma solidity 0.8.11;
contract Modifiers {
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
modifier onlyValidAddress(address _newAddress) {
require(_newAddress != address(0), "Not valid address");
_;
}
function changeOwner(address _newOwner) external onlyOwner onlyValidAddress(_newOwner) {
owner = _newOwner;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment