账户
0xd3...8894
0xD3...8894

0xD3...8894

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.4.25+commit.59dbf8f1
语言
Solidity
合同源代码
文件 1 的 1:Events.sol
pragma solidity 0.4.25;

contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function _validateAddress(address _addr) internal pure {
        require(_addr != address(0), "invalid address");
    }

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "not a contract owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _validateAddress(newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}

contract Controllable is Ownable {
    mapping(address => bool) controllers;

    modifier onlyController {
        require(_isController(msg.sender), "no controller rights");
        _;
    }

    function _isController(address _controller) internal view returns (bool) {
        return controllers[_controller];
    }

    function _setControllers(address[] _controllers) internal {
        for (uint256 i = 0; i < _controllers.length; i++) {
            _validateAddress(_controllers[i]);
            controllers[_controllers[i]] = true;
        }
    }
}

contract Upgradable is Controllable {
    address[] internalDependencies;
    address[] externalDependencies;

    function getInternalDependencies() public view returns(address[]) {
        return internalDependencies;
    }

    function getExternalDependencies() public view returns(address[]) {
        return externalDependencies;
    }

    function setInternalDependencies(address[] _newDependencies) public onlyOwner {
        for (uint256 i = 0; i < _newDependencies.length; i++) {
            _validateAddress(_newDependencies[i]);
        }
        internalDependencies = _newDependencies;
    }

    function setExternalDependencies(address[] _newDependencies) public onlyOwner {
        externalDependencies = _newDependencies;
        _setControllers(_newDependencies);
    }
}




//////////////CONTRACT//////////////




contract Events is Upgradable {
    event EggClaimed(address indexed user, uint256 indexed id);
    event EggSentToNest(address indexed user, uint256 indexed id);
    event EggHatched(address indexed user, uint256 indexed dragonId, uint256 indexed eggId);
    event DragonUpgraded(uint256 indexed id);
    event EggCreated(address indexed user, uint256 indexed id);
    event DragonOnSale(address indexed seller, uint256 indexed id);
    event DragonRemovedFromSale(address indexed seller, uint256 indexed id);
    event DragonRemovedFromBreeding(address indexed seller, uint256 indexed id);
    event DragonOnBreeding(address indexed seller, uint256 indexed id);
    event DragonBought(address indexed buyer, address indexed seller, uint256 indexed id, uint256 price);
    event DragonBreedingBought(address indexed buyer, address indexed seller, uint256 indexed id, uint256 price);
    event DistributionUpdated(uint256 restAmount, uint256 lastBlock, uint256 interval);
    event EggOnSale(address indexed seller, uint256 indexed id);
    event EggRemovedFromSale(address indexed seller, uint256 indexed id);
    event EggBought(address indexed buyer, address indexed seller, uint256 indexed id, uint256 price);
    event GoldSellOrderCreated(address indexed seller, uint256 price, uint256 amount);
    event GoldSellOrderCancelled(address indexed seller);
    event GoldSold(address indexed buyer, address indexed seller, uint256 amount, uint256 price);
    event GoldBuyOrderCreated(address indexed buyer, uint256 price, uint256 amount);
    event GoldBuyOrderCancelled(address indexed buyer);
    event GoldBought(address indexed seller, address indexed buyer, uint256 amount, uint256 price);
    event SkillOnSale(address indexed seller, uint256 indexed id);
    event SkillRemovedFromSale(address indexed seller, uint256 indexed id);
    event SkillBought(address indexed buyer, address indexed seller, uint256 id, uint256 indexed target, uint256 price);
    event SkillSet(uint256 indexed id);
    event SkillUsed(uint256 indexed id, uint256 indexed target);
    event DragonNameSet(uint256 indexed id, bytes32 name);
    event DragonTacticsSet(uint256 indexed id, uint8 melee, uint8 attack);
    event UserNameSet(address indexed user, bytes32 name);
    event BattleEnded(
        uint256 indexed battleId,
        uint256 date,
        uint256 seed,
        uint256 attackerId,
        uint256 indexed winnerId,
        uint256 indexed looserId,
        bool isGladiator,
        uint256 gladiatorBattleId
    );
    event BattleDragonsDetails(
        uint256 indexed battleId,
        uint8 winnerLevel,
        uint32 winnerCoolness,
        uint8 looserLevel,
        uint32 looserCoolness
    );
    event BattleHealthAndMana(
        uint256 indexed battleId,
        uint32 attackerMaxHealth,
        uint32 attackerMaxMana,
        uint32 attackerInitHealth,
        uint32 attackerInitMana,
        uint32 opponentMaxHealth,
        uint32 opponentMaxMana,
        uint32 opponentInitHealth,
        uint32 opponentInitMana
    );
    event BattleSkills(
        uint256 indexed battleId,
        uint32 attackerAttack,
        uint32 attackerDefense,
        uint32 attackerStamina,
        uint32 attackerSpeed,
        uint32 attackerIntelligence,
        uint32 opponentAttack,
        uint32 opponentDefense,
        uint32 opponentStamina,
        uint32 opponentSpeed,
        uint32 opponentIntelligence
    );
    event BattleTacticsAndBuffs(
        uint256 indexed battleId,
        uint8 attackerMeleeChance,
        uint8 attackerAttackChance,
        uint8 opponentMeleeChance,
        uint8 opponentAttackChance,
        uint32[5] attackerBuffs,
        uint32[5] opponentBuffs
    );
    event GladiatorBattleEnded(
        uint256 indexed id,
        uint256 battleId,
        address indexed winner,
        address indexed looser,
        uint256 reward,
        bool isGold
    );
    event GladiatorBattleCreated(
        uint256 indexed id,
        address indexed user,
        uint256 indexed dragonId,
        uint256 bet,
        bool isGold
    );
    event GladiatorBattleApplicantAdded(
        uint256 indexed id,
        address indexed user,
        uint256 indexed dragonId
    );
    event GladiatorBattleOpponentSelected(
        uint256 indexed id,
        uint256 indexed dragonId
    );
    event GladiatorBattleCancelled(uint256 indexed id);
    event GladiatorBattleBetReturned(uint256 indexed id, address indexed user);
    event GladiatorBattleOpponentSelectTimeUpdated(uint256 indexed id, uint256 blockNumber);
    event GladiatorBattleBlockNumberUpdated(uint256 indexed id, uint256 blockNumber);
    event GladiatorBattleSpectatorBetPlaced(
        uint256 indexed id,
        address indexed user,
        bool indexed willCreatorWin,
        uint256 bet,
        bool isGold
    );
    event GladiatorBattleSpectatorBetRemoved(uint256 indexed id, address indexed user);
    event GladiatorBattleSpectatorRewardPaidOut(
        uint256 indexed id,
        address indexed user,
        uint256 reward,
        bool isGold
    );
    event LeaderboardRewardsDistributed(uint256[10] dragons, address[10] users);

    function emitEggClaimed(
        address _user,
        uint256 _id
    ) external onlyController {
        emit EggClaimed(_user, _id);
    }

    function emitEggSentToNest(
        address _user,
        uint256 _id
    ) external onlyController {
        emit EggSentToNest(_user, _id);
    }

    function emitDragonUpgraded(
        uint256 _id
    ) external onlyController {
        emit DragonUpgraded(_id);
    }

    function emitEggHatched(
        address _user,
        uint256 _dragonId,
        uint256 _eggId
    ) external onlyController {
        emit EggHatched(_user, _dragonId, _eggId);
    }

    function emitEggCreated(
        address _user,
        uint256 _id
    ) external onlyController {
        emit EggCreated(_user, _id);
    }

    function emitDragonOnSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit DragonOnSale(_user, _id);
    }

    function emitDragonRemovedFromSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit DragonRemovedFromSale(_user, _id);
    }

    function emitDragonRemovedFromBreeding(
        address _user,
        uint256 _id
    ) external onlyController {
        emit DragonRemovedFromBreeding(_user, _id);
    }

    function emitDragonOnBreeding(
        address _user,
        uint256 _id
    ) external onlyController {
        emit DragonOnBreeding(_user, _id);
    }

    function emitDragonBought(
        address _buyer,
        address _seller,
        uint256 _id,
        uint256 _price
    ) external onlyController {
        emit DragonBought(_buyer, _seller, _id, _price);
    }

    function emitDragonBreedingBought(
        address _buyer,
        address _seller,
        uint256 _id,
        uint256 _price
    ) external onlyController {
        emit DragonBreedingBought(_buyer, _seller, _id, _price);
    }

    function emitDistributionUpdated(
        uint256 _restAmount,
        uint256 _lastBlock,
        uint256 _interval
    ) external onlyController {
        emit DistributionUpdated(_restAmount, _lastBlock, _interval);
    }

    function emitEggOnSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit EggOnSale(_user, _id);
    }

    function emitEggRemovedFromSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit EggRemovedFromSale(_user, _id);
    }

    function emitEggBought(
        address _buyer,
        address _seller,
        uint256 _id,
        uint256 _price
    ) external onlyController {
        emit EggBought(_buyer, _seller, _id, _price);
    }

    function emitGoldSellOrderCreated(
        address _user,
        uint256 _price,
        uint256 _amount
    ) external onlyController {
        emit GoldSellOrderCreated(_user, _price, _amount);
    }

    function emitGoldSellOrderCancelled(
        address _user
    ) external onlyController {
        emit GoldSellOrderCancelled(_user);
    }

    function emitGoldSold(
        address _buyer,
        address _seller,
        uint256 _amount,
        uint256 _price
    ) external onlyController {
        emit GoldSold(_buyer, _seller, _amount, _price);
    }

    function emitGoldBuyOrderCreated(
        address _user,
        uint256 _price,
        uint256 _amount
    ) external onlyController {
        emit GoldBuyOrderCreated(_user, _price, _amount);
    }

    function emitGoldBuyOrderCancelled(
        address _user
    ) external onlyController {
        emit GoldBuyOrderCancelled(_user);
    }

    function emitGoldBought(
        address _buyer,
        address _seller,
        uint256 _amount,
        uint256 _price
    ) external onlyController {
        emit GoldBought(_buyer, _seller, _amount, _price);
    }

    function emitSkillOnSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit SkillOnSale(_user, _id);
    }

    function emitSkillRemovedFromSale(
        address _user,
        uint256 _id
    ) external onlyController {
        emit SkillRemovedFromSale(_user, _id);
    }

    function emitSkillBought(
        address _buyer,
        address _seller,
        uint256 _id,
        uint256 _target,
        uint256 _price
    ) external onlyController {
        emit SkillBought(_buyer, _seller, _id, _target, _price);
    }

    function emitSkillSet(
        uint256 _id
    ) external onlyController {
        emit SkillSet(_id);
    }

    function emitSkillUsed(
        uint256 _id,
        uint256 _target
    ) external onlyController {
        emit SkillUsed(_id, _target);
    }

    function emitDragonNameSet(
        uint256 _id,
        bytes32 _name
    ) external onlyController {
        emit DragonNameSet(_id, _name);
    }

    function emitDragonTacticsSet(
        uint256 _id,
        uint8 _melee,
        uint8 _attack
    ) external onlyController {
        emit DragonTacticsSet(_id, _melee, _attack);
    }

    function emitUserNameSet(
        address _user,
        bytes32 _name
    ) external onlyController {
        emit UserNameSet(_user, _name);
    }

    function emitBattleEnded(
        uint256 _battleId,
        uint256 _date,
        uint256 _seed,
        uint256 _attackerId,
        uint256 _winnerId,
        uint256 _looserId,
        bool _isGladiator,
        uint256 _gladiatorBattleId
    ) external onlyController {
        emit BattleEnded(
            _battleId,
            _date,
            _seed,
            _attackerId,
            _winnerId,
            _looserId,
            _isGladiator,
            _gladiatorBattleId
        );
    }

    function emitBattleDragonsDetails(
        uint256 _battleId,
        uint8 _winnerLevel,
        uint32 _winnerCoolness,
        uint8 _looserLevel,
        uint32 _looserCoolness
    ) external onlyController {
        emit BattleDragonsDetails(
            _battleId,
            _winnerLevel,
            _winnerCoolness,
            _looserLevel,
            _looserCoolness
        );
    }

    function emitBattleHealthAndMana(
        uint256 _battleId,
        uint32 _attackerMaxHealth,
        uint32 _attackerMaxMana,
        uint32 _attackerInitHealth,
        uint32 _attackerInitMana,
        uint32 _opponentMaxHealth,
        uint32 _opponentMaxMana,
        uint32 _opponentInitHealth,
        uint32 _opponentInitMana
    ) external onlyController {
        emit BattleHealthAndMana(
            _battleId,
            _attackerMaxHealth,
            _attackerMaxMana,
            _attackerInitHealth,
            _attackerInitMana,
            _opponentMaxHealth,
            _opponentMaxMana,
            _opponentInitHealth,
            _opponentInitMana
        );
    }

    function emitBattleSkills(
        uint256 _battleId,
        uint32 _attackerAttack,
        uint32 _attackerDefense,
        uint32 _attackerStamina,
        uint32 _attackerSpeed,
        uint32 _attackerIntelligence,
        uint32 _opponentAttack,
        uint32 _opponentDefense,
        uint32 _opponentStamina,
        uint32 _opponentSpeed,
        uint32 _opponentIntelligence
    ) external onlyController {
        emit BattleSkills(
            _battleId,
            _attackerAttack,
            _attackerDefense,
            _attackerStamina,
            _attackerSpeed,
            _attackerIntelligence,
            _opponentAttack,
            _opponentDefense,
            _opponentStamina,
            _opponentSpeed,
            _opponentIntelligence
        );
    }

    function emitBattleTacticsAndBuffs(
        uint256 _battleId,
        uint8 _attackerMeleeChance,
        uint8 _attackerAttackChance,
        uint8 _opponentMeleeChance,
        uint8 _opponentAttackChance,
        uint32[5] _attackerBuffs,
        uint32[5] _opponentBuffs
    ) external onlyController {
        emit BattleTacticsAndBuffs(
            _battleId,
            _attackerMeleeChance,
            _attackerAttackChance,
            _opponentMeleeChance,
            _opponentAttackChance,
            _attackerBuffs,
            _opponentBuffs
        );
    }

    function emitGladiatorBattleEnded(
        uint256 _id,
        uint256 _battleId,
        address _winner,
        address _looser,
        uint256 _reward,
        bool _isGold
    ) external onlyController {
        emit GladiatorBattleEnded(
            _id,
            _battleId,
            _winner,
            _looser,
            _reward,
            _isGold
        );
    }

    function emitGladiatorBattleCreated(
        uint256 _id,
        address _user,
        uint256 _dragonId,
        uint256 _bet,
        bool _isGold
    ) external onlyController {
        emit GladiatorBattleCreated(
            _id,
            _user,
            _dragonId,
            _bet,
            _isGold
        );
    }

    function emitGladiatorBattleApplicantAdded(
        uint256 _id,
        address _user,
        uint256 _dragonId
    ) external onlyController {
        emit GladiatorBattleApplicantAdded(
            _id,
            _user,
            _dragonId
        );
    }

    function emitGladiatorBattleOpponentSelected(
        uint256 _id,
        uint256 _dragonId
    ) external onlyController {
        emit GladiatorBattleOpponentSelected(
            _id,
            _dragonId
        );
    }

    function emitGladiatorBattleCancelled(
        uint256 _id
    ) external onlyController {
        emit GladiatorBattleCancelled(
            _id
        );
    }

    function emitGladiatorBattleBetReturned(
        uint256 _id,
        address _user
    ) external onlyController {
        emit GladiatorBattleBetReturned(
            _id,
            _user
        );
    }

    function emitGladiatorBattleOpponentSelectTimeUpdated(
        uint256 _id,
        uint256 _blockNumber
    ) external onlyController {
        emit GladiatorBattleOpponentSelectTimeUpdated(
            _id,
            _blockNumber
        );
    }

    function emitGladiatorBattleBlockNumberUpdated(
        uint256 _id,
        uint256 _blockNumber
    ) external onlyController {
        emit GladiatorBattleBlockNumberUpdated(
            _id,
            _blockNumber
        );
    }

    function emitGladiatorBattleSpectatorBetPlaced(
        uint256 _id,
        address _user,
        bool _willCreatorWin,
        uint256 _value,
        bool _isGold
    ) external onlyController {
        emit GladiatorBattleSpectatorBetPlaced(
            _id,
            _user,
            _willCreatorWin,
            _value,
            _isGold
        );
    }

    function emitGladiatorBattleSpectatorBetRemoved(
        uint256 _id,
        address _user
    ) external onlyController {
        emit GladiatorBattleSpectatorBetRemoved(
            _id,
            _user
        );
    }

    function emitGladiatorBattleSpectatorRewardPaidOut(
        uint256 _id,
        address _user,
        uint256 _value,
        bool _isGold
    ) external onlyController {
        emit GladiatorBattleSpectatorRewardPaidOut(
            _id,
            _user,
            _value,
            _isGold
        );
    }

    function emitLeaderboardRewardsDistributed(
        uint256[10] _dragons,
        address[10] _users
    ) external onlyController {
        emit LeaderboardRewardsDistributed(
            _dragons,
            _users
        );
    }
}
设置
{
  "compilationTarget": {
    "Events.sol": "Events"
  },
  "evmVersion": "byzantium",
  "libraries": {},
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"constant":false,"inputs":[{"name":"_user","type":"address"}],"name":"emitGoldSellOrderCancelled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_dragonId","type":"uint256"}],"name":"emitGladiatorBattleOpponentSelected","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_attackerMeleeChance","type":"uint8"},{"name":"_attackerAttackChance","type":"uint8"},{"name":"_opponentMeleeChance","type":"uint8"},{"name":"_opponentAttackChance","type":"uint8"},{"name":"_attackerBuffs","type":"uint32[5]"},{"name":"_opponentBuffs","type":"uint32[5]"}],"name":"emitBattleTacticsAndBuffs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_blockNumber","type":"uint256"}],"name":"emitGladiatorBattleBlockNumberUpdated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitEggSentToNest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"}],"name":"emitGladiatorBattleBetReturned","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitDragonOnSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_price","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"emitGoldSellOrderCreated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitEggRemovedFromSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_winnerLevel","type":"uint8"},{"name":"_winnerCoolness","type":"uint32"},{"name":"_looserLevel","type":"uint8"},{"name":"_looserCoolness","type":"uint32"}],"name":"emitBattleDragonsDetails","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_attackerMaxHealth","type":"uint32"},{"name":"_attackerMaxMana","type":"uint32"},{"name":"_attackerInitHealth","type":"uint32"},{"name":"_attackerInitMana","type":"uint32"},{"name":"_opponentMaxHealth","type":"uint32"},{"name":"_opponentMaxMana","type":"uint32"},{"name":"_opponentInitHealth","type":"uint32"},{"name":"_opponentInitMana","type":"uint32"}],"name":"emitBattleHealthAndMana","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitDragonRemovedFromBreeding","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_target","type":"uint256"}],"name":"emitSkillUsed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"emitDragonUpgraded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_battleId","type":"uint256"},{"name":"_winner","type":"address"},{"name":"_looser","type":"address"},{"name":"_reward","type":"uint256"},{"name":"_isGold","type":"bool"}],"name":"emitGladiatorBattleEnded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"},{"name":"_value","type":"uint256"},{"name":"_isGold","type":"bool"}],"name":"emitGladiatorBattleSpectatorRewardPaidOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_dragonId","type":"uint256"},{"name":"_eggId","type":"uint256"}],"name":"emitEggHatched","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"},{"name":"_dragonId","type":"uint256"},{"name":"_bet","type":"uint256"},{"name":"_isGold","type":"bool"}],"name":"emitGladiatorBattleCreated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newDependencies","type":"address[]"}],"name":"setExternalDependencies","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newDependencies","type":"address[]"}],"name":"setInternalDependencies","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"emitSkillSet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitGoldBought","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_attackerAttack","type":"uint32"},{"name":"_attackerDefense","type":"uint32"},{"name":"_attackerStamina","type":"uint32"},{"name":"_attackerSpeed","type":"uint32"},{"name":"_attackerIntelligence","type":"uint32"},{"name":"_opponentAttack","type":"uint32"},{"name":"_opponentDefense","type":"uint32"},{"name":"_opponentStamina","type":"uint32"},{"name":"_opponentSpeed","type":"uint32"},{"name":"_opponentIntelligence","type":"uint32"}],"name":"emitBattleSkills","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_blockNumber","type":"uint256"}],"name":"emitGladiatorBattleOpponentSelectTimeUpdated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"},{"name":"_willCreatorWin","type":"bool"},{"name":"_value","type":"uint256"},{"name":"_isGold","type":"bool"}],"name":"emitGladiatorBattleSpectatorBetPlaced","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_price","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"emitGoldBuyOrderCreated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitDragonRemovedFromSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_restAmount","type":"uint256"},{"name":"_lastBlock","type":"uint256"},{"name":"_interval","type":"uint256"}],"name":"emitDistributionUpdated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"}],"name":"emitGladiatorBattleSpectatorBetRemoved","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_date","type":"uint256"},{"name":"_seed","type":"uint256"},{"name":"_attackerId","type":"uint256"},{"name":"_winnerId","type":"uint256"},{"name":"_looserId","type":"uint256"},{"name":"_isGladiator","type":"bool"},{"name":"_gladiatorBattleId","type":"uint256"}],"name":"emitBattleEnded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_id","type":"uint256"},{"name":"_target","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitSkillBought","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_melee","type":"uint8"},{"name":"_attack","type":"uint8"}],"name":"emitDragonTacticsSet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dragons","type":"uint256[10]"},{"name":"_users","type":"address[10]"}],"name":"emitLeaderboardRewardsDistributed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"emitGladiatorBattleCancelled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitSkillOnSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitEggOnSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitGoldSold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getInternalDependencies","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"}],"name":"emitGoldBuyOrderCancelled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_name","type":"bytes32"}],"name":"emitUserNameSet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitEggClaimed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_id","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitDragonBreedingBought","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_id","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitEggBought","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_name","type":"bytes32"}],"name":"emitDragonNameSet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getExternalDependencies","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_seller","type":"address"},{"name":"_id","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"emitDragonBought","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitDragonOnBreeding","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_user","type":"address"},{"name":"_dragonId","type":"uint256"}],"name":"emitGladiatorBattleApplicantAdded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitSkillRemovedFromSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"emitEggCreated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"EggClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"EggSentToNest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"dragonId","type":"uint256"},{"indexed":true,"name":"eggId","type":"uint256"}],"name":"EggHatched","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"}],"name":"DragonUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"EggCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"DragonOnSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"DragonRemovedFromSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"DragonRemovedFromBreeding","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"DragonOnBreeding","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"DragonBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"DragonBreedingBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"restAmount","type":"uint256"},{"indexed":false,"name":"lastBlock","type":"uint256"},{"indexed":false,"name":"interval","type":"uint256"}],"name":"DistributionUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"EggOnSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"EggRemovedFromSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"EggBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"GoldSellOrderCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"}],"name":"GoldSellOrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"seller","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"GoldSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"GoldBuyOrderCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"}],"name":"GoldBuyOrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"GoldBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"SkillOnSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":true,"name":"id","type":"uint256"}],"name":"SkillRemovedFromSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"seller","type":"address"},{"indexed":false,"name":"id","type":"uint256"},{"indexed":true,"name":"target","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"SkillBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"}],"name":"SkillSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"target","type":"uint256"}],"name":"SkillUsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"name","type":"bytes32"}],"name":"DragonNameSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"melee","type":"uint8"},{"indexed":false,"name":"attack","type":"uint8"}],"name":"DragonTacticsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"name","type":"bytes32"}],"name":"UserNameSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"battleId","type":"uint256"},{"indexed":false,"name":"date","type":"uint256"},{"indexed":false,"name":"seed","type":"uint256"},{"indexed":false,"name":"attackerId","type":"uint256"},{"indexed":true,"name":"winnerId","type":"uint256"},{"indexed":true,"name":"looserId","type":"uint256"},{"indexed":false,"name":"isGladiator","type":"bool"},{"indexed":false,"name":"gladiatorBattleId","type":"uint256"}],"name":"BattleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"battleId","type":"uint256"},{"indexed":false,"name":"winnerLevel","type":"uint8"},{"indexed":false,"name":"winnerCoolness","type":"uint32"},{"indexed":false,"name":"looserLevel","type":"uint8"},{"indexed":false,"name":"looserCoolness","type":"uint32"}],"name":"BattleDragonsDetails","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"battleId","type":"uint256"},{"indexed":false,"name":"attackerMaxHealth","type":"uint32"},{"indexed":false,"name":"attackerMaxMana","type":"uint32"},{"indexed":false,"name":"attackerInitHealth","type":"uint32"},{"indexed":false,"name":"attackerInitMana","type":"uint32"},{"indexed":false,"name":"opponentMaxHealth","type":"uint32"},{"indexed":false,"name":"opponentMaxMana","type":"uint32"},{"indexed":false,"name":"opponentInitHealth","type":"uint32"},{"indexed":false,"name":"opponentInitMana","type":"uint32"}],"name":"BattleHealthAndMana","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"battleId","type":"uint256"},{"indexed":false,"name":"attackerAttack","type":"uint32"},{"indexed":false,"name":"attackerDefense","type":"uint32"},{"indexed":false,"name":"attackerStamina","type":"uint32"},{"indexed":false,"name":"attackerSpeed","type":"uint32"},{"indexed":false,"name":"attackerIntelligence","type":"uint32"},{"indexed":false,"name":"opponentAttack","type":"uint32"},{"indexed":false,"name":"opponentDefense","type":"uint32"},{"indexed":false,"name":"opponentStamina","type":"uint32"},{"indexed":false,"name":"opponentSpeed","type":"uint32"},{"indexed":false,"name":"opponentIntelligence","type":"uint32"}],"name":"BattleSkills","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"battleId","type":"uint256"},{"indexed":false,"name":"attackerMeleeChance","type":"uint8"},{"indexed":false,"name":"attackerAttackChance","type":"uint8"},{"indexed":false,"name":"opponentMeleeChance","type":"uint8"},{"indexed":false,"name":"opponentAttackChance","type":"uint8"},{"indexed":false,"name":"attackerBuffs","type":"uint32[5]"},{"indexed":false,"name":"opponentBuffs","type":"uint32[5]"}],"name":"BattleTacticsAndBuffs","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"battleId","type":"uint256"},{"indexed":true,"name":"winner","type":"address"},{"indexed":true,"name":"looser","type":"address"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":false,"name":"isGold","type":"bool"}],"name":"GladiatorBattleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"dragonId","type":"uint256"},{"indexed":false,"name":"bet","type":"uint256"},{"indexed":false,"name":"isGold","type":"bool"}],"name":"GladiatorBattleCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"dragonId","type":"uint256"}],"name":"GladiatorBattleApplicantAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"dragonId","type":"uint256"}],"name":"GladiatorBattleOpponentSelected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"}],"name":"GladiatorBattleCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"}],"name":"GladiatorBattleBetReturned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"GladiatorBattleOpponentSelectTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":false,"name":"blockNumber","type":"uint256"}],"name":"GladiatorBattleBlockNumberUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"willCreatorWin","type":"bool"},{"indexed":false,"name":"bet","type":"uint256"},{"indexed":false,"name":"isGold","type":"bool"}],"name":"GladiatorBattleSpectatorBetPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"}],"name":"GladiatorBattleSpectatorBetRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"uint256"},{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":false,"name":"isGold","type":"bool"}],"name":"GladiatorBattleSpectatorRewardPaidOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dragons","type":"uint256[10]"},{"indexed":false,"name":"users","type":"address[10]"}],"name":"LeaderboardRewardsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]