Skip to content

Instantly share code, notes, and snippets.

@krsnnik
Created July 8, 2019 23:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krsnnik/0f28269368ba5331fc1b7322d8a32e84 to your computer and use it in GitHub Desktop.
Save krsnnik/0f28269368ba5331fc1b7322d8a32e84 to your computer and use it in GitHub Desktop.
/**
* @dev See `IERC777.authorizeOperator`.
*/
function authorizeOperator(address operator) external {
require(msg.sender != operator, "ERC777: authorizing self as operator");
if (_defaultOperators[operator]) {
delete _revokedDefaultOperators[msg.sender][operator];
} else {
_operators[msg.sender][operator] = true;
}
emit AuthorizedOperator(operator, msg.sender);
}
/**
* @dev See `IERC777.revokeOperator`.
*/
function revokeOperator(address operator) external {
require(operator != msg.sender, "ERC777: revoking self as operator");
if (_defaultOperators[operator]) {
_revokedDefaultOperators[msg.sender][operator] = true;
} else {
delete _operators[msg.sender][operator];
}
emit RevokedOperator(operator, msg.sender);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment