These contracts are deployed on 0G Galileo testnet (chain 16602) for the Agent Werewolf hackathon project. They are not deployed on mainnet and are not intended to hold value.
AgentRegistryis permissionless. Each wallet can register exactly one agent. AXL peer IDs are globally unique.ReputationOracleandGameArchiveare write-gated to a singlegameMasteraddress. The deploying account isownerand can rotategameMasterortransferOwnership.- The
gameMasterprivate key is held by the GameMaster server and signs every onchain write. Compromising the gameMaster key allows arbitrary writes to reputation and archive state.
- No multisig —
ownerandgameMasterare EOAs. For mainnet use, both should be multisigs. AgentRegistry.deactivateis one-way; there is no reactivation path. Intentional for the hackathon scope.ReputationOracleusesuncheckedarithmetic onuint64counters. A single agent would need to play2^64 ≈ 1.8e19games before overflow — not a realistic threat.GameArchive.recentArchivesreverse-iterates a dynamic array; gas grows linearly with the requestedlimit. Callers should caplimitto a reasonable page size (e.g. 50).
Report security issues by opening a GitHub issue on this repo or contacting the submission email in the project's SUBMISSION.md.