- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore) - Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md) - Remove executable permissions from web assets (HTML, CSS, JS files) - Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt) - Remove executable permissions from source code files across all apps - Add executable permissions to Python
27 lines
777 B
Solidity
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];
|
|
}
|
|
}
|