ethers-rs/ethers-contract/tests/solidity-contracts/NotSoSimpleStorage.sol

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;
}
}