Contract 0x68ed06af5989e05bc4aa510b44dc6d003e225187

 

TxHash Block Age From To Value [TxFee]
0xb152a5e47e57e39aa2f6af135f702ecd7fa0139454d7295d2e0fec7c144b6a8f(pending)1 day 7 hrs ago0x7d193baead58cf5d693a606fac1cb5ce8608551b  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0x0584767e5b6339c747914fb312309c9138a7d04a063a1bf88286aa3ee0fce892(pending)1 day 7 hrs ago0x7d193baead58cf5d693a606fac1cb5ce8608551b  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0x0203aa43d034085cbce609aea32a6b138c6e142c873805fe8a13622053f7f3d6717129212 days 8 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.000466818
0x0d5bddaf4394333d63605dd6e9a2152036a98328df6b6eeb3fc393344fd30f12717129212 days 8 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.000227105
0x2147bf74db62b2a416bae2ed9f5d0797036cdacbf11dd3bb5e28c43dcb7b3a2c717128812 days 8 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.0005888608
0xcb19582dc66eebbfa08631aade463f4ead579f0e1a178cdd5ba5f512e2319b19716557413 days 12 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.001368298
0xddac7d8a2580be4e8ddc0668ca3a488bd7920fe166faea233ef1b81c9a65f156716553113 days 12 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.000700227
0x82a982d9936747d3c4f0e831d94eb292600b464692f9b8446b80dd07a64da71b716552913 days 12 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.0015076746
0x5206cc479526c8d309323040b1976e46eefb43cc68f52730c946d29ba242c210716551313 days 12 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.001430137
0xf26567fb79f0038de4d766818d171846cf5ff62cc70048eb5cf50bea7deb6c24716315914 days 2 mins ago0xea43e87071e7fc452bfc69948bb75ac4e02eeebd  IN   Dragonereum_MainBattle0 Ether0.01455431
0xaf07fcb4d8ba7ab37dafaa51af733d8d2f092d3f0e869fac1b8aa4a1f3792516716271914 days 2 hrs ago0xea43e87071e7fc452bfc69948bb75ac4e02eeebd  IN   Dragonereum_MainBattle0 Ether0.016633236
0xcffe30b6cd89002f132b3ebc898ed4ad5cedfbf7c5d0bf02a77d4f250e46bb16716271714 days 2 hrs ago0xea43e87071e7fc452bfc69948bb75ac4e02eeebd  IN   Dragonereum_MainBattle0 Ether0.01848294
0x383fd93651b42b8dcf763ee656cb242be16b00364f8d93d2e5a854d403f0468e714573517 days 13 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.004758702
0x950687b6f3d05158c1ba2e4cd8f89f485ef79552bd135ffe687047daf2e8f82b714568217 days 13 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.00396201
0xc91fd1f2a5f41768cc841b4fffb7b53f946c257ae7e2711dc962f3cc9615679a714565717 days 13 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.00297247
0x6b7aed880e63148d0c07386ce039a05e301164b3e3f3c740a8b8c6fb2792d2fb714563417 days 13 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.004521894
0x02caf48011cffab431491a341b086507d871d855f1765b4bcc6d3f094c189e37714379117 days 22 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.004419909
0x9a4ee63ff1c4ce03b90f44a2b3550932167705f3f12ebc7921439ab396275a34714372317 days 23 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.00420627
0xd5c0e2aa184f39cfad06c50058df205a4d498f0e23db29a0d0d2d2305d71b7e1714340818 days 41 mins ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.003043604
0xa4f0de862b9718e88e35a82df2890268d57482b6362433a2834bc4fe239366ef714335118 days 1 hr ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.005950724
0x360bd5823ec33a0fd349ea31a56223d7fa24871cfbb0567bbf30892c5c334db1714307818 days 2 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.004453641
0xdc24fc70cb3e6ac67d384d64f2c512b2f7150f9f301d31c5fa80b1ab17e413c5714307418 days 2 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.006005187
0x8d5a83c0314c61bcd72eed25a49a8000b67e68ee942c38dd149ce18f7a06c973714304818 days 2 hrs ago0x274e0c39175fab58d4f0d4de3f1ff86472325a3f  IN   Dragonereum_MainBattle0 Ether0.00421005
0x76638b90336303473b80f34ce1d4fe90ed0cf565de1f490acaed727729fec829714226518 days 6 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.001482181
0xe581983ebca631602b2ebdd5ffc1254ca76c5ec625481cd4f52fa6559b193e6d714225618 days 6 hrs ago0xd51334fc70d9d937ad207f927439d05578d7a4ff  IN   Dragonereum_MainBattle0 Ether0.001415226
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: MainBattle
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimizer):  200


Contract Source Code
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 Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() {
        require(!paused, "contract is paused");
        _;
    }

    modifier whenPaused() {
        require(paused, "contract is not paused");
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

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 HumanOriented {
    modifier onlyHuman() {
        require(msg.sender == tx.origin, "not a human");
        _;
    }
}


contract Events {
    function emitBattleEnded(uint256, uint256, uint256, uint256, uint256, uint256, bool, uint256) external;
    function emitBattleDragonsDetails(uint256, uint8, uint32, uint8, uint32) external;
    function emitBattleHealthAndMana(uint256, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32) external;
    function emitBattleSkills(uint256, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32, uint32) external;
    function emitBattleTacticsAndBuffs(uint256, uint8, uint8, uint8, uint8, uint32[5], uint32[5]) external;
    function emitGladiatorBattleEnded(uint256, uint256, address, address, uint256, bool) external;
    function emitGladiatorBattleCreated(uint256, address, uint256, uint256, bool) external;
    function emitGladiatorBattleApplicantAdded(uint256, address, uint256) external;
    function emitGladiatorBattleOpponentSelected(uint256, uint256) external;
    function emitGladiatorBattleCancelled(uint256) external;
    function emitGladiatorBattleBetReturned(uint256, address) external;
    function emitGladiatorBattleOpponentSelectTimeUpdated(uint256, uint256) external;
    function emitGladiatorBattleBlockNumberUpdated(uint256, uint256) external;
    function emitGladiatorBattleSpectatorBetPlaced(uint256, address, bool, uint256, bool) external;
    function emitGladiatorBattleSpectatorBetRemoved(uint256, address) external;
    function emitGladiatorBattleSpectatorRewardPaidOut(uint256, address, uint256, bool) external;
}

contract BattleController {
    function startBattle(address, uint256, uint256, uint8[2]) external returns (uint256, uint256, uint256[2]);
    function matchOpponents(uint256) external view returns (uint256[6]);
    function resetDragonBuffs(uint256) external;
}

contract Getter {
    function getDragonProfile(uint256) external view returns (bytes32, uint16, uint256, uint8, uint8, uint16, bool, uint32);
    function getDragonTactics(uint256) external view returns (uint8, uint8);
    function getDragonSkills(uint256) external view returns (uint32, uint32, uint32, uint32, uint32);
    function getDragonCurrentHealthAndMana(uint256) external view returns (uint32, uint32, uint8, uint8);
    function getDragonMaxHealthAndMana(uint256) external view returns (uint32, uint32);
    function getDragonBuffs(uint256) external view returns (uint32[5]);
    function getDragonApplicationForGladiatorBattle(uint256) external view returns (uint256, uint8[2], address);
    function getGladiatorBattleParticipants(uint256) external view returns (address, uint256, address, uint256, address, uint256);
}

contract GladiatorBattle {
    function create(address, uint256, uint8[2], bool, uint256, uint16, uint256) external returns (uint256);
    function apply(uint256, address, uint256, uint8[2], uint256) external;
    function chooseOpponent(address, uint256, uint256, bytes32) external;
    function autoSelectOpponent(uint256, bytes32) external returns (uint256);
    function start(uint256) external returns (uint256, uint256, uint256, bool);
    function cancel(address, uint256, bytes32) external;
    function returnBet(address, uint256) external;
    function addTimeForOpponentSelect(address, uint256) external returns (uint256);
    function updateBattleBlockNumber(uint256) external returns (uint256);
}

contract GladiatorBattleSpectators {
    function placeBet(address, uint256, bool, uint256, uint256) external returns (bool);
    function removeBet(address, uint256) external;
    function requestReward(address, uint256) external returns (uint256, bool);
}



contract MainBattle is Upgradable, Pausable, HumanOriented {
    BattleController battleController;
    Getter getter;
    GladiatorBattle gladiatorBattle;
    GladiatorBattleSpectators gladiatorBattleSpectators;
    Events events;

    function matchOpponents(uint256 _id) external view returns (uint256[6]) {
        return battleController.matchOpponents(_id);
    }

    function battle(
        uint256 _id,
        uint256 _opponentId,
        uint8[2] _tactics
    ) external onlyHuman whenNotPaused {
        uint32 _attackerInitHealth;
        uint32 _attackerInitMana;
        uint32 _opponentInitHealth;
        uint32 _opponentInitMana;
        (_attackerInitHealth, _attackerInitMana, , ) = getter.getDragonCurrentHealthAndMana(_id);
        (_opponentInitHealth, _opponentInitMana, , ) = getter.getDragonCurrentHealthAndMana(_opponentId);

        uint256 _battleId;
        uint256 _seed;
        uint256[2] memory _winnerLooserIds;
        (
            _battleId,
            _seed,
            _winnerLooserIds
        ) = battleController.startBattle(msg.sender, _id, _opponentId, _tactics);

        _emitBattleEventsPure(
            _id,
            _opponentId,
            _tactics,
            _winnerLooserIds,
            _battleId,
            _seed,
            _attackerInitHealth,
            _attackerInitMana,
            _opponentInitHealth,
            _opponentInitMana
        );
    }

    function _emitBattleEventsPure(
        uint256 _id,
        uint256 _opponentId,
        uint8[2] _tactics,
        uint256[2] _winnerLooserIds,
        uint256 _battleId,
        uint256 _seed,
        uint32 _attackerInitHealth,
        uint32 _attackerInitMana,
        uint32 _opponentInitHealth,
        uint32 _opponentInitMana
    ) internal {
        _saveBattleHealthAndMana(
            _battleId,
            _id,
            _opponentId,
            _attackerInitHealth,
            _attackerInitMana,
            _opponentInitHealth,
            _opponentInitMana
        );
        _emitBattleEvents(
            _id,
            _opponentId,
            _tactics,
            [0, 0],
            _winnerLooserIds[0],
            _winnerLooserIds[1],
            _battleId,
            _seed,
            0
        );
    }

    function _emitBattleEventsForGladiatorBattle(
        uint256 _battleId,
        uint256 _seed,
        uint256 _gladiatorBattleId
    ) internal {
        uint256 _firstDragonId;
        uint256 _secondDragonId;
        uint256 _winnerDragonId;
        (
          , _firstDragonId,
          , _secondDragonId,
          , _winnerDragonId
        ) = getter.getGladiatorBattleParticipants(_gladiatorBattleId);

        _saveBattleHealthAndManaFull(
            _battleId,
            _firstDragonId,
            _secondDragonId
        );

        uint8[2] memory _tactics;
        uint8[2] memory _tactics2;

        ( , _tactics, ) = getter.getDragonApplicationForGladiatorBattle(_firstDragonId);
        ( , _tactics2, ) = getter.getDragonApplicationForGladiatorBattle(_secondDragonId);

        _emitBattleEvents(
            _firstDragonId,
            _secondDragonId,
            _tactics,
            _tactics2,
            _winnerDragonId,
            _winnerDragonId != _firstDragonId ? _firstDragonId : _secondDragonId,
            _battleId,
            _seed,
            _gladiatorBattleId
        );
    }

    function _emitBattleEvents(
        uint256 _id,
        uint256 _opponentId,
        uint8[2] _tactics,
        uint8[2] _tactics2,
        uint256 _winnerId,
        uint256 _looserId,
        uint256 _battleId,
        uint256 _seed,
        uint256 _gladiatorBattleId
    ) internal {
        _saveBattleData(
            _battleId,
            _seed,
            _id,
            _winnerId,
            _looserId,
            _gladiatorBattleId
        );

        _saveBattleDragonsDetails(
            _battleId,
            _id,
            _opponentId
        );

        _saveBattleSkills(
            _battleId,
            _id,
            _opponentId
        );
        _saveBattleTacticsAndBuffs(
            _battleId,
            _id,
            _opponentId,
            _tactics[0],
            _tactics[1],
            _tactics2[0],
            _tactics2[1]
        );
    }

    function _saveBattleData(
        uint256 _battleId,
        uint256 _seed,
        uint256 _attackerId,
        uint256 _winnerId,
        uint256 _looserId,
        uint256 _gladiatorBattleId
    ) internal {

        events.emitBattleEnded(
            _battleId,
            now,
            _seed,
            _attackerId,
            _winnerId,
            _looserId,
            _gladiatorBattleId > 0,
            _gladiatorBattleId
        );
    }

    function _saveBattleDragonsDetails(
        uint256 _battleId,
        uint256 _winnerId,
        uint256 _looserId
    ) internal {
        uint8 _winnerLevel;
        uint32 _winnerCoolness;
        uint8 _looserLevel;
        uint32 _looserCoolness;
        (, , , _winnerLevel, , , , _winnerCoolness) = getter.getDragonProfile(_winnerId);
        (, , , _looserLevel, , , , _looserCoolness) = getter.getDragonProfile(_looserId);

        events.emitBattleDragonsDetails(
            _battleId,
            _winnerLevel,
            _winnerCoolness,
            _looserLevel,
            _looserCoolness
        );
    }

    function _saveBattleHealthAndManaFull(
        uint256 _battleId,
        uint256 _firstId,
        uint256 _secondId
    ) internal {
        uint32 _firstInitHealth;
        uint32 _firstInitMana;
        uint32 _secondInitHealth;
        uint32 _secondInitMana;

        (_firstInitHealth, _firstInitMana) = getter.getDragonMaxHealthAndMana(_firstId);
        (_secondInitHealth, _secondInitMana) = getter.getDragonMaxHealthAndMana(_secondId);

        _saveBattleHealthAndMana(
            _battleId,
            _firstId,
            _secondId,
            _firstInitHealth,
            _firstInitMana,
            _secondInitHealth,
            _secondInitMana
        );
    }

    function _saveBattleHealthAndMana(
        uint256 _battleId,
        uint256 _attackerId,
        uint256 _opponentId,
        uint32 _attackerInitHealth,
        uint32 _attackerInitMana,
        uint32 _opponentInitHealth,
        uint32 _opponentInitMana
    ) internal {
        uint32 _attackerMaxHealth;
        uint32 _attackerMaxMana;
        uint32 _opponentMaxHealth;
        uint32 _opponentMaxMana;
        (_attackerMaxHealth, _attackerMaxMana) = getter.getDragonMaxHealthAndMana(_attackerId);
        (_opponentMaxHealth, _opponentMaxMana) = getter.getDragonMaxHealthAndMana(_opponentId);

        events.emitBattleHealthAndMana(
            _battleId,
            _attackerMaxHealth,
            _attackerMaxMana,
            _attackerInitHealth,
            _attackerInitMana,
            _opponentMaxHealth,
            _opponentMaxMana,
            _opponentInitHealth,
            _opponentInitMana
        );
    }

    function _saveBattleSkills(
        uint256 _battleId,
        uint256 _attackerId,
        uint256 _opponentId
    ) internal {
        uint32 _attackerAttack;
        uint32 _attackerDefense;
        uint32 _attackerStamina;
        uint32 _attackerSpeed;
        uint32 _attackerIntelligence;
        uint32 _opponentAttack;
        uint32 _opponentDefense;
        uint32 _opponentStamina;
        uint32 _opponentSpeed;
        uint32 _opponentIntelligence;

        (
            _attackerAttack,
            _attackerDefense,
            _attackerStamina,
            _attackerSpeed,
            _attackerIntelligence
        ) = getter.getDragonSkills(_attackerId);
        (
            _opponentAttack,
            _opponentDefense,
            _opponentStamina,
            _opponentSpeed,
            _opponentIntelligence
        ) = getter.getDragonSkills(_opponentId);

        events.emitBattleSkills(
            _battleId,
            _attackerAttack,
            _attackerDefense,
            _attackerStamina,
            _attackerSpeed,
            _attackerIntelligence,
            _opponentAttack,
            _opponentDefense,
            _opponentStamina,
            _opponentSpeed,
            _opponentIntelligence
        );
    }

    function _saveBattleTacticsAndBuffs(
        uint256 _battleId,
        uint256 _id,
        uint256 _opponentId,
        uint8 _attackerMeleeChance,
        uint8 _attackerAttackChance,
        uint8 _opponentMeleeChance,
        uint8 _opponentAttackChance
    ) internal {
        if (_opponentMeleeChance == 0 || _opponentAttackChance == 0) {
            (
                _opponentMeleeChance,
                _opponentAttackChance
            ) = getter.getDragonTactics(_opponentId);
        }

        uint32[5] memory _buffs = getter.getDragonBuffs(_id);
        uint32[5] memory _opponentBuffs = getter.getDragonBuffs(_opponentId);

        battleController.resetDragonBuffs(_id);
        battleController.resetDragonBuffs(_opponentId);

        events.emitBattleTacticsAndBuffs(
            _battleId,
            _attackerMeleeChance,
            _attackerAttackChance,
            _opponentMeleeChance,
            _opponentAttackChance,
            _buffs,
            _opponentBuffs
        );
    }

    // GLADIATOR BATTLES

    function createGladiatorBattle(
        uint256 _dragonId,
        uint8[2] _tactics,
        bool _isGold,
        uint256 _bet,
        uint16 _counter
    ) external payable onlyHuman whenNotPaused {
        address(gladiatorBattle).transfer(msg.value);
        gladiatorBattle.create(msg.sender, _dragonId, _tactics, _isGold, _bet, _counter, msg.value);
    }

    function applyForGladiatorBattle(
        uint256 _battleId,
        uint256 _dragonId,
        uint8[2] _tactics
    ) external payable onlyHuman whenNotPaused {
        address(gladiatorBattle).transfer(msg.value);
        gladiatorBattle.apply(_battleId, msg.sender, _dragonId, _tactics, msg.value);
    }

    function chooseOpponentForGladiatorBattle(
        uint256 _battleId,
        uint256 _opponentId,
        bytes32 _applicantsHash
    ) external onlyHuman whenNotPaused {
        gladiatorBattle.chooseOpponent(msg.sender, _battleId, _opponentId, _applicantsHash);
    }

    function autoSelectOpponentForGladiatorBattle(
        uint256 _battleId,
        bytes32 _applicantsHash
    ) external onlyHuman whenNotPaused {
        gladiatorBattle.autoSelectOpponent(_battleId, _applicantsHash);
    }

    function _emitGladiatorBattleEnded(
        uint256 _gladiatorBattleId,
        uint256 _battleId,
        address _winner,
        address _looser,
        uint256 _reward,
        bool _isGold
    ) internal {
        events.emitGladiatorBattleEnded(
            _gladiatorBattleId,
            _battleId,
            _winner,
            _looser,
            _reward,
            _isGold
        );
    }

    function startGladiatorBattle(
        uint256 _gladiatorBattleId
    ) external onlyHuman whenNotPaused returns (uint256) {
        (
            uint256 _seed,
            uint256 _battleId,
            uint256 _reward,
            bool _isGold
        ) = gladiatorBattle.start(_gladiatorBattleId);

        (
            address _firstUser, ,
            address _secondUser, ,
            address _winner,
            uint256 _winnerId
        ) = getter.getGladiatorBattleParticipants(_gladiatorBattleId);

        _emitGladiatorBattleEnded(
            _gladiatorBattleId,
            _battleId,
            _winner,
            _winner != _firstUser ? _firstUser : _secondUser,
            _reward,
            _isGold
        );

        _emitBattleEventsForGladiatorBattle(
            _battleId,
            _seed,
            _gladiatorBattleId
        );

        return _winnerId;
    }

    function cancelGladiatorBattle(
        uint256 _battleId,
        bytes32 _applicantsHash
    ) external onlyHuman whenNotPaused {
        gladiatorBattle.cancel(msg.sender, _battleId, _applicantsHash);
    }

    function returnBetFromGladiatorBattle(uint256 _battleId) external onlyHuman whenNotPaused {
        gladiatorBattle.returnBet(msg.sender, _battleId);
    }

    function addTimeForOpponentSelectForGladiatorBattle(uint256 _battleId) external onlyHuman whenNotPaused {
        gladiatorBattle.addTimeForOpponentSelect(msg.sender, _battleId);
    }

    function updateBlockNumberOfGladiatorBattle(uint256 _battleId) external onlyHuman whenNotPaused {
        gladiatorBattle.updateBattleBlockNumber(_battleId);
    }

    function placeSpectatorBetOnGladiatorBattle(
        uint256 _battleId,
        bool _willCreatorWin,
        uint256 _value
    ) external payable onlyHuman whenNotPaused {
        address(gladiatorBattleSpectators).transfer(msg.value);
        gladiatorBattleSpectators.placeBet(msg.sender, _battleId, _willCreatorWin, _value, msg.value);
    }

    function removeSpectatorBetFromGladiatorBattle(
        uint256 _battleId
    ) external onlyHuman whenNotPaused {
        gladiatorBattleSpectators.removeBet(msg.sender, _battleId);
    }

    function requestSpectatorRewardForGladiatorBattle(
        uint256 _battleId
    ) external onlyHuman whenNotPaused {
        gladiatorBattleSpectators.requestReward(msg.sender, _battleId);
    }

    // UPDATE CONTRACT

    function setInternalDependencies(address[] _newDependencies) public onlyOwner {
        super.setInternalDependencies(_newDependencies);

        battleController = BattleController(_newDependencies[0]);
        gladiatorBattle = GladiatorBattle(_newDependencies[1]);
        gladiatorBattleSpectators = GladiatorBattleSpectators(_newDependencies[2]);
        getter = Getter(_newDependencies[3]);
        events = Events(_newDependencies[4]);
    }
}

Contract ABI
[{"constant":false,"inputs":[{"name":"_dragonId","type":"uint256"},{"name":"_tactics","type":"uint8[2]"},{"name":"_isGold","type":"bool"},{"name":"_bet","type":"uint256"},{"name":"_counter","type":"uint16"}],"name":"createGladiatorBattle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_opponentId","type":"uint256"},{"name":"_tactics","type":"uint8[2]"}],"name":"battle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_opponentId","type":"uint256"},{"name":"_applicantsHash","type":"bytes32"}],"name":"chooseOpponentForGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"}],"name":"requestSpectatorRewardForGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"matchOpponents","outputs":[{"name":"","type":"uint256[6]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDependencies","type":"address[]"}],"name":"setExternalDependencies","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_willCreatorWin","type":"bool"},{"name":"_value","type":"uint256"}],"name":"placeSpectatorBetOnGladiatorBattle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newDependencies","type":"address[]"}],"name":"setInternalDependencies","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"}],"name":"updateBlockNumberOfGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"}],"name":"removeSpectatorBetFromGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_applicantsHash","type":"bytes32"}],"name":"cancelGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_applicantsHash","type":"bytes32"}],"name":"autoSelectOpponentForGladiatorBattle","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":"_battleId","type":"uint256"}],"name":"addTimeForOpponentSelectForGladiatorBattle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"}],"name":"returnBetFromGladiatorBattle","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":"_gladiatorBattleId","type":"uint256"}],"name":"startGladiatorBattle","outputs":[{"name":"","type":"uint256"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_battleId","type":"uint256"},{"name":"_dragonId","type":"uint256"},{"name":"_tactics","type":"uint8[2]"}],"name":"applyForGladiatorBattle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code
60806040526000600460006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614e118061006e6000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ae8508146101385780631c20361214610186578063278c2977146101c75780633721a6341461020c5780633f4ba83a146102395780635c975abb146102505780635cc53bc71461027f57806365fc1253146102e8578063690973b61461034e57806369c0ad931461038457806378517536146103ea5780637c45c98a1461041757806382b7fa4e146104445780638456cb591461047f57806384680fc2146104965780638da5cb5b146104d15780639e6b0faf14610528578063a510fd2b14610555578063b75c4f8014610582578063c26d7daa146105ee578063e6458f6e1461062f578063f2fde38b1461069b578063fec5f0d2146106de575b600080fd5b610184600480360381019080803590602001909291908060400190919291929080351515906020019092919080359060200190929190803561ffff169060200190929190505050610712565b005b34801561019257600080fd5b506101c56004803603810190808035906020019092919080359060200190929190806040019091929192905050506109e8565b005b3480156101d357600080fd5b5061020a60048036038101908080359060200190929190803590602001909291908035600019169060200190929190505050610e8d565b005b34801561021857600080fd5b50610237600480360381019080803590602001909291905050506110af565b005b34801561024557600080fd5b5061024e6112e5565b005b34801561025c57600080fd5b50610265611476565b604051808215151515815260200191505060405180910390f35b34801561028b57600080fd5b506102aa60048036038101908080359060200190929190505050611489565b6040518082600660200280838360005b838110156102d55780820151818401526020810190506102ba565b5050505090500191505060405180910390f35b3480156102f457600080fd5b5061034c6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061156a565b005b6103826004803603810190808035906020019092919080351515906020019092919080359060200190929190505050611651565b005b34801561039057600080fd5b506103e860048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611904565b005b3480156103f657600080fd5b5061041560048036038101908080359060200190929190505050611b91565b005b34801561042357600080fd5b5061044260048036038101908080359060200190929190505050611d89565b005b34801561045057600080fd5b5061047d600480360381019080803590602001909291908035600019169060200190929190505050611f91565b005b34801561048b57600080fd5b506104946121aa565b005b3480156104a257600080fd5b506104cf60048036038101908080359060200190929190803560001916906020019092919050505061233c565b005b3480156104dd57600080fd5b506104e6612545565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053457600080fd5b506105536004803603810190808035906020019092919050505061256a565b005b34801561056157600080fd5b5061058060048036038101908080359060200190929190505050612796565b005b34801561058e57600080fd5b5061059761299e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105da5780820151818401526020810190506105bf565b505050509050019250505060405180910390f35b3480156105fa57600080fd5b5061061960048036038101908080359060200190929190505050612a2c565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b50610644612dc0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561068757808201518184015260208101905061066c565b505050509050019250505060405180910390f35b3480156106a757600080fd5b506106dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e4e565b005b610710600480360381019080803590602001909291908035906020019092919080604001909192919290505050612fd9565b005b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff1615151561083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156108a2573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ad10f1d338787878787346040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001866002602002808284378201915050851515151581526020018481526020018361ffff1661ffff168152602001828152602001975050505050505050602060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050506040513d60208110156109cf57600080fd5b8101908080519060200190929190505050505050505050565b6000806000806000806109f9614c8e565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515610b21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8640dc78b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015610bb257600080fd5b505af1158015610bc6573d6000803e3d6000fd5b505050506040513d6080811015610bdc57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509050508097508198505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8640dc78a6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015610ca757600080fd5b505af1158015610cbb573d6000803e3d6000fd5b505050506040513d6080811015610cd157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509050508095508196505050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71c9cf3338c8c8c6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001826002602002808284378201915050945050505050608060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506080811015610e2257600080fd5b81019080805190602001909291908051906020019092919091905050809350819450829550505050610e818a8a8a600280602002604051908101604052809291908260026020028082843782019150505050508487878d8d8d8d61326d565b50505050505050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515610fb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333527bf5338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018260001916600019168152602001945050505050600060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b50505050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8f5ca3a33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561129b57600080fd5b505af11580156112af573d6000803e3d6000fd5b505050506040513d60408110156112c557600080fd5b810190808051906020019092919080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151561142d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f636f6e7472616374206973206e6f74207061757365640000000000000000000081525060200191505060405180910390fd5b6000600460006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460009054906101000a900460ff1681565b611491614cb0565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cc53bc7836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060c081101561155b57600080fd5b81019080919050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b8060039080519060200190611644929190614cd3565b5061164e816132dc565b50565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156117e1573d6000803e3d6000fd5b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663519168c633858585346040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018415151515815260200183815260200182815260200195505050505050602060405180830381600087803b1580156118c357600080fd5b505af11580156118d7573d6000803e3d6000fd5b505050506040513d60208110156118ed57600080fd5b810190808051906020019092919050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b6119d18161338a565b8060008151811015156119e057fe5b90602001906020020151600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001815181101515611a3957fe5b90602001906020020151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806002815181101515611a9257fe5b90602001906020020151600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003815181101515611aeb57fe5b90602001906020020151600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004815181101515611b4457fe5b90602001906020020151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611cb9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fcab9e5c826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611d4a57600080fd5b505af1158015611d5e573d6000803e3d6000fd5b505050506040513d6020811015611d7457600080fd5b81019080805190602001909291905050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611eb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb2138a533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611f7657600080fd5b505af1158015611f8a573d6000803e3d6000fd5b5050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156120b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f5cd8b13384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050600060405180830381600087803b15801561218e57600080fd5b505af11580156121a2573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561226e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b6001600460006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612464576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afedc66083836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200192505050602060405180830381600087803b15801561250557600080fd5b505af1158015612519573d6000803e3d6000fd5b505050506040513d602081101561252f57600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663096fea9f33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b81019080805190602001909291905050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632432d53533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505050565b60606002805480602002602001604051908101604052809291908181526020018280548015612a2257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116129d8575b5050505050905090565b60008060008060008060008060003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612add576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395805dad8b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015612bf357600080fd5b505af1158015612c07573d6000803e3d6000fd5b505050506040513d6080811015612c1d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509750975097509750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663022dd1978b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b158015612ce557600080fd5b505af1158015612cf9573d6000803e3d6000fd5b505050506040513d60c0811015612d0f57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505095509550509450509350612da58a88848773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d9c5786612d9e565b875b8a8a6134a6565b612db087898c6135db565b8098505050505050505050919050565b60606003805480602002602001604051908101604052809291908181526020018280548015612e4457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612dfa575b5050505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b612f1b81613921565b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561307c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515613101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015613169573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf6fc06984338585346040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183600260200280828437820191505082815260200195505050505050600060405180830381600087803b15801561325057600080fd5b505af1158015613264573d6000803e3d6000fd5b50505050505050565b61327c868b8b878787876139c9565b6132d08a8a8a6040805190810160405280600060ff168152602001600060ff168152508b60006002811015156132ae57fe5b60200201518c60016002811015156132c257fe5b60200201518c8c6000613cdf565b50505050505050505050565b60008090505b81518110156133865761330b82828151811015156132fc57fe5b90602001906020020151613921565b6001806000848481518110151561331e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506132e2565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600090505b815181101561348b5761347e828281518110151561346f57fe5b90602001906020020151613921565b8080600101915050613455565b81600290805190602001906134a1929190614cd3565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663535d3c088787878787876040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019650505050505050600060405180830381600087803b1580156135bb57600080fd5b505af11580156135cf573d6000803e3d6000fd5b50505050505050505050565b60008060006135e8614d5d565b6135f0614d5d565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663022dd197876040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b15801561368157600080fd5b505af1158015613695573d6000803e3d6000fd5b505050506040513d60c08110156136ab57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939450909192509050809550819650829750505050613711888686613d69565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c97bf08866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b1580156137a257600080fd5b505af11580156137b6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060808110156137db57600080fd5b8101908080519060200190929190919082604001805190602001909291905050509091505080925050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c97bf08856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561389557600080fd5b505af11580156138a9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060808110156138ce57600080fd5b810190808051906020019092919091908260400180519060200190929190505050909150508091505061391785858484878a89141561390d578961390f565b8a5b8e8e8e613cdf565b5050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156139c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b50565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613a5f57600080fd5b505af1158015613a73573d6000803e3d6000fd5b505050506040513d6040811015613a8957600080fd5b8101908080519060200190929190805190602001909291905050508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd8a6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613b3c57600080fd5b505af1158015613b50573d6000803e3d6000fd5b505050506040513d6040811015613b6657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663316c1d6e8c86868c8c88888e8e6040518a63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808a81526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019950505050505050505050600060405180830381600087803b158015613cba57600080fd5b505af1158015613cce573d6000803e3d6000fd5b505050505050505050505050505050565b613ced83838b888886613f41565b613cf8838a8a614031565b613d03838a8a6143a1565b613d5e838a8a8a6000600281101515613d1857fe5b60200201518b6001600281101515613d2c57fe5b60200201518b6000600281101515613d4057fe5b60200201518c6001600281101515613d5457fe5b6020020151614740565b505050505050505050565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613dff57600080fd5b505af1158015613e13573d6000803e3d6000fd5b505050506040513d6040811015613e2957600080fd5b8101908080519060200190929190805190602001909291905050508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613edc57600080fd5b505af1158015613ef0573d6000803e3d6000fd5b505050506040513d6040811015613f0657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050613f38878787878787876139c9565b50505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386f2840187428888888860008911896040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018881526020018781526020018681526020018581526020018481526020018315151515815260200182815260200198505050505050505050600060405180830381600087803b15801561401157600080fd5b505af1158015614025573d6000803e3d6000fd5b50505050505050505050565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e79ab76a876040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061010060405180830381600087803b1580156140c957600080fd5b505af11580156140dd573d6000803e3d6000fd5b505050506040513d6101008110156140f457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959650909192939495509091929394509091925090915090508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e79ab76a866040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061010060405180830381600087803b15801561420357600080fd5b505af1158015614217573d6000803e3d6000fd5b505050506040513d61010081101561422e57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959650909192939495509091929394509091925090915090508092508193505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632fe36c1388868686866040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018560ff1660ff1681526020018463ffffffff1663ffffffff1681526020018360ff1660ff1681526020018263ffffffff1663ffffffff16815260200195505050505050600060405180830381600087803b15801561438057600080fd5b505af1158015614394573d6000803e3d6000fd5b5050505050505050505050565b600080600080600080600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e18c7e2d8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561444157600080fd5b505af1158015614455573d6000803e3d6000fd5b505050506040513d60a081101561446b57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050809a50819b50829c50839d50849e505050505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e18c7e2d8c6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561454957600080fd5b505af115801561455d573d6000803e3d6000fd5b505050506040513d60a081101561457357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508095508196508297508398508499505050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663730859f68e8c8c8c8c8c8c8c8c8c8c6040518c63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808c81526020018b63ffffffff1663ffffffff1681526020018a63ffffffff1663ffffffff1681526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019b505050505050505050505050600060405180830381600087803b15801561471957600080fd5b505af115801561472d573d6000803e3d6000fd5b5050505050505050505050505050505050565b614748614d7f565b614750614d7f565b60008460ff161480614765575060008360ff16145b1561484857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c076174886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b1580156147fa57600080fd5b505af115801561480e573d6000803e3d6000fd5b505050506040513d604081101561482457600080fd5b81019080805190602001909291908051906020019092919050505080945081955050505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318c0aa9b896040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b1580156148d957600080fd5b505af11580156148ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060a081101561491257600080fd5b81019080919050509150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318c0aa9b886040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b1580156149ad57600080fd5b505af11580156149c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060a08110156149e657600080fd5b81019080919050509050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368662301896040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015614a8157600080fd5b505af1158015614a95573d6000803e3d6000fd5b50505050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368662301886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015614b2a57600080fd5b505af1158015614b3e573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a76e43e8a8888888888886040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808881526020018760ff1660ff1681526020018660ff1660ff1681526020018560ff1660ff1681526020018460ff1660ff16815260200183600560200280838360005b83811015614c13578082015181840152602081019050614bf8565b5050505090500182600560200280838360005b83811015614c41578082015181840152602081019050614c26565b50505050905001975050505050505050600060405180830381600087803b158015614c6b57600080fd5b505af1158015614c7f573d6000803e3d6000fd5b50505050505050505050505050565b6040805190810160405280600290602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b828054828255906000526020600020908101928215614d4c579160200282015b82811115614d4b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190614cf3565b5b509050614d599190614da2565b5090565b6040805190810160405280600290602082028038833980820191505090505090565b60a060405190810160405280600590602082028038833980820191505090505090565b614de291905b80821115614dde57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614da8565b5090565b905600a165627a7a723058208f600d30580e61b68d6acd571c2e061b8e6565aafaeda160cd18e003648ed5a80029


   Swarm Source:
bzzr://8f600d30580e61b68d6acd571c2e061b8e6565aafaeda160cd18e003648ed5a8
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.