// Register a new agent (oracle)
function register(
address wallet,
string calldata handle,
string calldata agentType,
bytes32 metadataHash
) external onlyOracle returns (uint256 tokenId);
// Check if wallet is registered
function isRegistered(address wallet) external view returns (bool);
// Get agent data by wallet
function getAgent(address wallet) external view returns (
uint256 tokenId,
string memory handle,
uint8 tier,
uint256 fusedScore,
bool active
);
// Get agent by token ID
function getAgentById(uint256 tokenId) external view returns (
address wallet,
string memory handle,
uint8 tier,
uint256 fusedScore
);
// Update reputation (RepAdapter oracle)
function updateReputation(
address wallet,
uint256 fusedScore,
uint8 tier
) external onlyOracle;
// Deactivate agent
function deactivate(address wallet) external onlyOwner;