// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.8.2 <0.9.0; contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } function get_private() public view returns (uint) { return not_get(); } function not_get() private view returns (uint) { return storedData; } } contract StorageExtended { address private owner; event OwnerSet(address indexed oldOwner, address indexed newOwner); modifier isOwner() { require(msg.sender == owner, "Caller is not owner"); _; } // SPoF constructor() { owner = msg.sender; emit OwnerSet(address(0), owner); } function changeOwner(address newOwner) public isOwner { emit OwnerSet(owner, newOwner); owner = newOwner; } function getOwner() external view returns (address) { return owner; } uint256 number; function store(uint256 num) public { number = num; } function retrieve() public view returns (uint256){ return number; } }