From 34d6bb39f75a59aa53e50fd60617c895b6793dc1 Mon Sep 17 00:00:00 2001 From: six Date: Thu, 17 Aug 2023 10:44:03 +0000 Subject: [PATCH] Update Solidity/Easy.sol --- Solidity/Easy.sol | 58 ++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/Solidity/Easy.sol b/Solidity/Easy.sol index 00a062d..346d1cb 100644 --- a/Solidity/Easy.sol +++ b/Solidity/Easy.sol @@ -2,51 +2,49 @@ pragma solidity >=0.8.2 <0.9.0; -/** - * @title Storage - * @dev Store & retrieve value in a variable - * @custom:dev-run-script ./scripts/deploy_with_ethers.ts - */ -contract Storage { + +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 for EVM logging event OwnerSet(address indexed oldOwner, address indexed newOwner); - // modifier to check if caller is owner modifier isOwner() { - // If the first argument of 'require' evaluates to 'false', execution terminates and all - // changes to the state and to Ether balances are reverted. - // This used to consume all gas in old EVM versions, but not anymore. - // It is often a good idea to use 'require' to check if functions are called correctly. - // As a second argument, you can also provide an explanation about what went wrong. require(msg.sender == owner, "Caller is not owner"); _; } - /** - * @dev Set contract deployer as owner - */ + // SPoF constructor() { - console.log("Owner contract deployed by:", msg.sender); - owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor + owner = msg.sender; emit OwnerSet(address(0), owner); } - /** - * @dev Change owner - * @param newOwner address of new owner - */ function changeOwner(address newOwner) public isOwner { emit OwnerSet(owner, newOwner); owner = newOwner; } - /** - * @dev Return owner address - * @return address of owner - */ function getOwner() external view returns (address) { return owner; } @@ -54,18 +52,10 @@ contract Storage { uint256 number; - /** - * @dev Store value in variable - * @param num value to store - */ function store(uint256 num) public { number = num; } - /** - * @dev Return value - * @return value of 'number' - */ function retrieve() public view returns (uint256){ return number; }