28 lines
664 B
Solidity
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;
|
|
}
|
|
}
|