[ { "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "BUY_IN_AMOUNT", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "INITIAL_GELD", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "MANTISSA", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "addUnit", "inputs": [ { "name": "unit", "type": "uint8", "internalType": "uint8" }, { "name": "n_units", "type": "uint16", "internalType": "uint16" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [{ "name": "", "type": "uint8", "internalType": "uint8" }], "stateMutability": "view" }, { "type": "function", "name": "getArmy", "inputs": [ { "name": "addr", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct Army", "components": [ { "name": "moloch_denier", "type": "tuple", "internalType": "struct Raider", "components": [ { "name": "level", "type": "uint16", "internalType": "uint16" } ] }, { "name": "apprentice", "type": "tuple", "internalType": "struct Raider", "components": [ { "name": "level", "type": "uint16", "internalType": "uint16" } ] }, { "name": "anointed", "type": "tuple", "internalType": "struct Raider", "components": [ { "name": "level", "type": "uint16", "internalType": "uint16" } ] }, { "name": "champion", "type": "tuple", "internalType": "struct Raider", "components": [ { "name": "level", "type": "uint16", "internalType": "uint16" } ] }, { "name": "profit_per_second", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getPlayer", "inputs": [ { "name": "addr", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct Player", "components": [ { "name": "total_minted", "type": "uint256", "internalType": "uint256" }, { "name": "created_at", "type": "uint256", "internalType": "uint256" }, { "name": "last_raided_at", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "isRegistered", "inputs": [ { "name": "addr", "type": "address", "internalType": "address" } ], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "raid", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "register", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PlayerRegistered", "inputs": [ { "name": "player", "type": "address", "indexed": true, "internalType": "address" }, { "name": "initialGeld", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RaidPerformed", "inputs": [ { "name": "player", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalMinted", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "geldBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UnitAdded", "inputs": [ { "name": "player", "type": "address", "indexed": true, "internalType": "address" }, { "name": "unitType", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "nUnits", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "cost", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "geldBalance", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "molochDenierLevel", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "apprenticeLevel", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "anointedLevel", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "championLevel", "type": "uint16", "indexed": false, "internalType": "uint16" } ], "anonymous": false }, { "type": "error", "name": "ERC20InsufficientAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "allowance", "type": "uint256", "internalType": "uint256" }, { "name": "needed", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "ERC20InsufficientBalance", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "balance", "type": "uint256", "internalType": "uint256" }, { "name": "needed", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "ERC20InvalidApprover", "inputs": [ { "name": "approver", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "ERC20InvalidReceiver", "inputs": [ { "name": "receiver", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "ERC20InvalidSender", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "ERC20InvalidSpender", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "OwnableInvalidOwner", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "OwnableUnauthorizedAccount", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ] } ]