pragma solidity ^0.6.0;
interface ListInterface {
function accountID(address) external view returns (uint64);
}
contract InstaEvent {
address public constant instaList = 0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb;
event LogEvent(uint64 connectorType, uint64 indexed connectorID, uint64 indexed accountID, bytes32 indexed eventCode, bytes eventData);
function emitEvent(uint _connectorType, uint _connectorID, bytes32 _eventCode, bytes calldata _eventData) external {
uint64 _ID = ListInterface(instaList).accountID(msg.sender);
require(_ID != 0, "not-SA");
emit LogEvent(uint64(_connectorType), uint64(_connectorID), _ID, _eventCode, _eventData);
}
}
{
"compilationTarget": {
"InstaEvent.sol": "InstaEvent"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"connectorType","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"connectorID","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"accountID","type":"uint64"},{"indexed":true,"internalType":"bytes32","name":"eventCode","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"eventData","type":"bytes"}],"name":"LogEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"_connectorType","type":"uint256"},{"internalType":"uint256","name":"_connectorID","type":"uint256"},{"internalType":"bytes32","name":"_eventCode","type":"bytes32"},{"internalType":"bytes","name":"_eventData","type":"bytes"}],"name":"emitEvent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"instaList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]