29 lines
753 B
Solidity
29 lines
753 B
Solidity
pragma solidity >=0.4.24;
|
|
|
|
contract NotSoSimpleStorage {
|
|
|
|
event ValueChanged(address indexed author, address indexed oldAuthor, string oldValue, string newValue);
|
|
|
|
address public lastSender;
|
|
string _value;
|
|
|
|
constructor(string memory value) public {
|
|
emit ValueChanged(msg.sender, address(0), _value, value);
|
|
_value = value;
|
|
}
|
|
|
|
function getValue() view public returns (string memory) {
|
|
return _value;
|
|
}
|
|
|
|
function getValues() view public returns (string memory, address) {
|
|
return (_value, lastSender);
|
|
}
|
|
|
|
function setValue(string memory value) public {
|
|
emit ValueChanged(msg.sender, lastSender, _value, value);
|
|
_value = value;
|
|
lastSender = msg.sender;
|
|
}
|
|
}
|