OsiPad/evm/contracts/MessageBox.sol

28 lines
664 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract MessageBox {
address public immutable owner;
string public message;
event MessageSet(string oldMessage, string newMessage, uint changedAt);
modifier onlyOwner() {
require(msg.sender == owner, "Only the owner can do that.");
_;
}
constructor(string memory _initialMessage) {
owner = msg.sender;
message = _initialMessage;
}
function getMessage() external view returns (string memory) {
return message;
}
function setMessage(string calldata _newMessage) external onlyOwner {
message = _newMessage;
}
}