// SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.7.0 <0.9.0; /** * @title SelfAuthorized - Authorizes current contract to perform actions to itself. * @author Richard Meissner - @rmeissner */ abstract contract SelfAuthorized { function requireSelfCall() private view { require(msg.sender == address(this), "GS031"); } modifier authorized() { // Modifiers are copied around during compilation. This is a function call as it minimized the bytecode size requireSelfCall(); _; } }