Files
aitbc/contracts/contracts/AgentCommunication.sol

27 lines
777 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/access/Ownable.sol";
contract AgentCommunication is Ownable {
struct Message {
address sender;
address recipient;
string encryptedContent;
uint256 timestamp;
}
mapping(address => Message[]) public inbox;
event MessageSent(address indexed sender, address indexed recipient);
function sendMessage(address _recipient, string calldata _encryptedContent) external {
inbox[_recipient].push(Message(msg.sender, _recipient, _encryptedContent, block.timestamp));
emit MessageSent(msg.sender, _recipient);
}
function getMessages() external view returns (Message[] memory) {
return inbox[msg.sender];
}
}