Contract Overview |  DragonereumBattles
Balance: 0 Ether
Ether Value: $0
Transactions: 13214 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x87252e8f04f6c6bc4d2c690893addb7108aa8a5fat txn 0x1e16a4118481f195dbf99d7fef9cbe2441f73f2165377c94185cffc604f1b98c
 Latest 25 transactions from a total of 13214 transactions
(+7 PendingTxns)

TxHash Age From To Value [TxFee]
0x71850085ce1eaf2078f366809586fd98be666d597add49293875e6694114592b(pending)0x592a65d6a04180bb2a09d8824fb2289e02233d3b  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0xaa2116e7fb83051c729f0d4e4a43ae59a8564e4d7459bfaa629de0c74948cf8f(pending)0x0bd5852f4ae159ecdf371d6dbe652af005fe8be3  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0xbf2e18b4119d41c21d6b9e47d08205380bb5c27d9e8680d13f7920dffde5489b(pending)0xc98b5042cb95f242c42c09ad1e42b46f2b90e6b5  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0xe11929c857ba1e1b5aaf04159ba5efe485ca075257d7fa19ea66372afa82019e(pending)0xc98b5042cb95f242c42c09ad1e42b46f2b90e6b5  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0xc845628abe890d8676302f3f69584130a87f1543d006259d88bf769eaf1bab38(pending)0xc98b5042cb95f242c42c09ad1e42b46f2b90e6b5  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0x9f2dcfff36df5e1d7e9ff85eaca8bab3e2c3c6c6d129f5ce1828d8f8e7f37f83(pending)0xc98b5042cb95f242c42c09ad1e42b46f2b90e6b5  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0x2c7ee90866c8cec21aee951ab4c7d35bb7ca6f648d03c74aaded479daf593672(pending)0xc98b5042cb95f242c42c09ad1e42b46f2b90e6b5  IN  0x68ed06af5989e05bc4aa510b44dc6d003e2251870 Ether(Pending)
0x640fb64156ec6cc2a88725e22ffa308601b48703d44798d8347a17db5b193ca03 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.00413937
0x8ac8e326950576b89d06836df07055d8ef31164a027b4164c8c90ad4aa92370b3 mins ago0x60cc5d8a1cdb6b74ede60931a4bbbdb71c92a122  IN   DragonereumBattles0 Ether0.0046077024
0xa5166a6fc9d6813046af812e323be3c0db61ff79dba1367c2c393b02ee924a499 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.0033291
0x9b48e7b61ca8c47f18ea7ca48b5c57b5f0a586f8a9c2a62a82fc8d67e2425c9d10 mins ago0x2c69236cd355134352ca39ecf6f36c3951d50737  IN   DragonereumBattles0 Ether0.00365285
0xc6c5bef7015924237992bd5235a45d0e12077e35fe2512cc95f7aee62c45814f12 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.00498793125
0x48c74207aca43261c4946f6262dd39b37effda9b7f4405a960412b8244f13b3e20 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.0033279957
0x669e6ed2458ed05d5d604a83c6145f09018930bfc7d3aa2c6115a9045ecbb31e20 mins ago0xf5ff12b77601b7a4efd6b3b0c5dd8b3ec87c3b8f  IN   DragonereumBattles0 Ether0.004211544
0x8f5f694d7308c9e4ddc03ecb59f6a60d6e4750f44e84866cf3baa17200f438a226 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.003461615
0x31b12e838b6abd0176668c9d7e608c87a7444751b7e004cc3ee7c949de8f014431 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.0037211994
0xe446d3f87003d5dcd29c5ac5a7a89463369944fd6ba7148eb172a2b80d7b5d9633 mins ago0xf5ff12b77601b7a4efd6b3b0c5dd8b3ec87c3b8f  IN   DragonereumBattles0 Ether0.004587138
0x13d4ddab3f81d5cb291fdf02b5f4279b8dddce4af7771bb883dd9cdac021a0a143 mins ago0x0aa21e4d18eb06f7222a0429e30fdcf432a24dc4  IN   DragonereumBattles0 Ether0.004472643
0xde71cd15dea9105c351f9c522b004ec4432a88fb5f274f1c34f1a68d38a4ce7744 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.004071612
0xe7cd59d56b769d9c8c3869d67faa7e763122d5cd14de9633b4721c4b5777d78845 mins ago0xf5ff12b77601b7a4efd6b3b0c5dd8b3ec87c3b8f  IN   DragonereumBattles0 Ether0.004632051
0x4ec8e8fd28efbdf40190d0c36a80b45d024226e3bf8ec2818ffb90087caed3cb46 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.004137864
0x37bfbc92d1a74c0fd3350483019179ac86382414d42d474bd0c080e2fc26ead754 mins ago0x4071da52be208af9b5db9cb5041d1107b82ac505  IN   DragonereumBattles0 Ether0.00347461
0xee4fe22b6707ef767451054b7174f3b4b3d1221fc20d726c1bbe486748a7d05e55 mins ago0x2c69236cd355134352ca39ecf6f36c3951d50737  IN   DragonereumBattles0 Ether0.002036367
0x00284a2999ba27b45649db95e4159120d67e08b034191f2a12d6d22ac1d2a97555 mins ago0x2c69236cd355134352ca39ecf6f36c3951d50737  IN   DragonereumBattles0 Ether0.008972406
0x7b1b07b5c4046238148adc90e81fe5d9dca94bf416dd1969218a41cc82ed315857 mins ago0xf5ff12b77601b7a4efd6b3b0c5dd8b3ec87c3b8f  IN   DragonereumBattles0 Ether0.0036581247
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: MainBattle
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 Switch To Opcodes View
60806040526000600460006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614e118061006e6000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ae8508146101385780631c20361214610186578063278c2977146101c75780633721a6341461020c5780633f4ba83a146102395780635c975abb146102505780635cc53bc71461027f57806365fc1253146102e8578063690973b61461034e57806369c0ad931461038457806378517536146103ea5780637c45c98a1461041757806382b7fa4e146104445780638456cb591461047f57806384680fc2146104965780638da5cb5b146104d15780639e6b0faf14610528578063a510fd2b14610555578063b75c4f8014610582578063c26d7daa146105ee578063e6458f6e1461062f578063f2fde38b1461069b578063fec5f0d2146106de575b600080fd5b610184600480360381019080803590602001909291908060400190919291929080351515906020019092919080359060200190929190803561ffff169060200190929190505050610712565b005b34801561019257600080fd5b506101c56004803603810190808035906020019092919080359060200190929190806040019091929192905050506109e8565b005b3480156101d357600080fd5b5061020a60048036038101908080359060200190929190803590602001909291908035600019169060200190929190505050610e8d565b005b34801561021857600080fd5b50610237600480360381019080803590602001909291905050506110af565b005b34801561024557600080fd5b5061024e6112e5565b005b34801561025c57600080fd5b50610265611476565b604051808215151515815260200191505060405180910390f35b34801561028b57600080fd5b506102aa60048036038101908080359060200190929190505050611489565b6040518082600660200280838360005b838110156102d55780820151818401526020810190506102ba565b5050505090500191505060405180910390f35b3480156102f457600080fd5b5061034c6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061156a565b005b6103826004803603810190808035906020019092919080351515906020019092919080359060200190929190505050611651565b005b34801561039057600080fd5b506103e860048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611904565b005b3480156103f657600080fd5b5061041560048036038101908080359060200190929190505050611b91565b005b34801561042357600080fd5b5061044260048036038101908080359060200190929190505050611d89565b005b34801561045057600080fd5b5061047d600480360381019080803590602001909291908035600019169060200190929190505050611f91565b005b34801561048b57600080fd5b506104946121aa565b005b3480156104a257600080fd5b506104cf60048036038101908080359060200190929190803560001916906020019092919050505061233c565b005b3480156104dd57600080fd5b506104e6612545565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053457600080fd5b506105536004803603810190808035906020019092919050505061256a565b005b34801561056157600080fd5b5061058060048036038101908080359060200190929190505050612796565b005b34801561058e57600080fd5b5061059761299e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105da5780820151818401526020810190506105bf565b505050509050019250505060405180910390f35b3480156105fa57600080fd5b5061061960048036038101908080359060200190929190505050612a2c565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b50610644612dc0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561068757808201518184015260208101905061066c565b505050509050019250505060405180910390f35b3480156106a757600080fd5b506106dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e4e565b005b610710600480360381019080803590602001909291908035906020019092919080604001909192919290505050612fd9565b005b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff1615151561083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156108a2573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ad10f1d338787878787346040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001866002602002808284378201915050851515151581526020018481526020018361ffff1661ffff168152602001828152602001975050505050505050602060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050506040513d60208110156109cf57600080fd5b8101908080519060200190929190505050505050505050565b6000806000806000806109f9614c8e565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515610b21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8640dc78b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015610bb257600080fd5b505af1158015610bc6573d6000803e3d6000fd5b505050506040513d6080811015610bdc57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509050508097508198505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8640dc78a6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015610ca757600080fd5b505af1158015610cbb573d6000803e3d6000fd5b505050506040513d6080811015610cd157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509050508095508196505050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d71c9cf3338c8c8c6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001826002602002808284378201915050945050505050608060405180830381600087803b158015610de957600080fd5b505af1158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506080811015610e2257600080fd5b81019080805190602001909291908051906020019092919091905050809350819450829550505050610e818a8a8a600280602002604051908101604052809291908260026020028082843782019150505050508487878d8d8d8d61326d565b50505050505050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515610fb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333527bf5338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018260001916600019168152602001945050505050600060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b50505050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156111d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8f5ca3a33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561129b57600080fd5b505af11580156112af573d6000803e3d6000fd5b505050506040513d60408110156112c557600080fd5b810190808051906020019092919080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151561142d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f636f6e7472616374206973206e6f74207061757365640000000000000000000081525060200191505060405180910390fd5b6000600460006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600460009054906101000a900460ff1681565b611491614cb0565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cc53bc7836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060c081101561155b57600080fd5b81019080919050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b8060039080519060200190611644929190614cd3565b5061164e816132dc565b50565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156117e1573d6000803e3d6000fd5b50600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663519168c633858585346040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018415151515815260200183815260200182815260200195505050505050602060405180830381600087803b1580156118c357600080fd5b505af11580156118d7573d6000803e3d6000fd5b505050506040513d60208110156118ed57600080fd5b810190808051906020019092919050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b6119d18161338a565b8060008151811015156119e057fe5b90602001906020020151600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001815181101515611a3957fe5b90602001906020020151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806002815181101515611a9257fe5b90602001906020020151600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003815181101515611aeb57fe5b90602001906020020151600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004815181101515611b4457fe5b90602001906020020151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611cb9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fcab9e5c826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611d4a57600080fd5b505af1158015611d5e573d6000803e3d6000fd5b505050506040513d6020811015611d7457600080fd5b81019080805190602001909291905050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515611eb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb2138a533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611f7657600080fd5b505af1158015611f8a573d6000803e3d6000fd5b5050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156120b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f5cd8b13384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050600060405180830381600087803b15801561218e57600080fd5b505af11580156121a2573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561226e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156122f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b6001600460006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612464576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663afedc66083836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200192505050602060405180830381600087803b15801561250557600080fd5b505af1158015612519573d6000803e3d6000fd5b505050506040513d602081101561252f57600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612692576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663096fea9f33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b81019080805190602001909291905050505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff161515156128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632432d53533836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b5050505050565b60606002805480602002602001604051908101604052809291908181526020018280548015612a2257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116129d8575b5050505050905090565b60008060008060008060008060003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612add576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515612b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395805dad8b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015612bf357600080fd5b505af1158015612c07573d6000803e3d6000fd5b505050506040513d6080811015612c1d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050509750975097509750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663022dd1978b6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b158015612ce557600080fd5b505af1158015612cf9573d6000803e3d6000fd5b505050506040513d60c0811015612d0f57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505095509550509450509350612da58a88848773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d9c5786612d9e565b875b8a8a6134a6565b612db087898c6135db565b8098505050505050505050919050565b60606003805480602002602001604051908101604052809291908181526020018280548015612e4457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612dfa575b5050505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612f12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b612f1b81613921565b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561307c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f7420612068756d616e00000000000000000000000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900460ff16151515613101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f636f6e747261637420697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015613169573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf6fc06984338585346040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183600260200280828437820191505082815260200195505050505050600060405180830381600087803b15801561325057600080fd5b505af1158015613264573d6000803e3d6000fd5b50505050505050565b61327c868b8b878787876139c9565b6132d08a8a8a6040805190810160405280600060ff168152602001600060ff168152508b60006002811015156132ae57fe5b60200201518c60016002811015156132c257fe5b60200201518c8c6000613cdf565b50505050505050505050565b60008090505b81518110156133865761330b82828151811015156132fc57fe5b90602001906020020151613921565b6001806000848481518110151561331e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506132e2565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613450576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f74206120636f6e7472616374206f776e657200000000000000000000000081525060200191505060405180910390fd5b600090505b815181101561348b5761347e828281518110151561346f57fe5b90602001906020020151613921565b8080600101915050613455565b81600290805190602001906134a1929190614cd3565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663535d3c088787878787876040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019650505050505050600060405180830381600087803b1580156135bb57600080fd5b505af11580156135cf573d6000803e3d6000fd5b50505050505050505050565b60008060006135e8614d5d565b6135f0614d5d565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663022dd197876040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060c060405180830381600087803b15801561368157600080fd5b505af1158015613695573d6000803e3d6000fd5b505050506040513d60c08110156136ab57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939450909192509050809550819650829750505050613711888686613d69565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c97bf08866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b1580156137a257600080fd5b505af11580156137b6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060808110156137db57600080fd5b8101908080519060200190929190919082604001805190602001909291905050509091505080925050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c97bf08856040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561389557600080fd5b505af11580156138a9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060808110156138ce57600080fd5b810190808051906020019092919091908260400180519060200190929190505050909150508091505061391785858484878a89141561390d578961390f565b8a5b8e8e8e613cdf565b5050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156139c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f696e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b50565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613a5f57600080fd5b505af1158015613a73573d6000803e3d6000fd5b505050506040513d6040811015613a8957600080fd5b8101908080519060200190929190805190602001909291905050508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd8a6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613b3c57600080fd5b505af1158015613b50573d6000803e3d6000fd5b505050506040513d6040811015613b6657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663316c1d6e8c86868c8c88888e8e6040518a63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808a81526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019950505050505050505050600060405180830381600087803b158015613cba57600080fd5b505af1158015613cce573d6000803e3d6000fd5b505050505050505050505050505050565b613ced83838b888886613f41565b613cf8838a8a614031565b613d03838a8a6143a1565b613d5e838a8a8a6000600281101515613d1857fe5b60200201518b6001600281101515613d2c57fe5b60200201518b6000600281101515613d4057fe5b60200201518c6001600281101515613d5457fe5b6020020151614740565b505050505050505050565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613dff57600080fd5b505af1158015613e13573d6000803e3d6000fd5b505050506040513d6040811015613e2957600080fd5b8101908080519060200190929190805190602001909291905050508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397ab18bd866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b158015613edc57600080fd5b505af1158015613ef0573d6000803e3d6000fd5b505050506040513d6040811015613f0657600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050613f38878787878787876139c9565b50505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386f2840187428888888860008911896040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808981526020018881526020018781526020018681526020018581526020018481526020018315151515815260200182815260200198505050505050505050600060405180830381600087803b15801561401157600080fd5b505af1158015614025573d6000803e3d6000fd5b50505050505050505050565b600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e79ab76a876040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061010060405180830381600087803b1580156140c957600080fd5b505af11580156140dd573d6000803e3d6000fd5b505050506040513d6101008110156140f457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959650909192939495509091929394509091925090915090508094508195505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e79ab76a866040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061010060405180830381600087803b15801561420357600080fd5b505af1158015614217573d6000803e3d6000fd5b505050506040513d61010081101561422e57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959650909192939495509091929394509091925090915090508092508193505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632fe36c1388868686866040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808681526020018560ff1660ff1681526020018463ffffffff1663ffffffff1681526020018360ff1660ff1681526020018263ffffffff1663ffffffff16815260200195505050505050600060405180830381600087803b15801561438057600080fd5b505af1158015614394573d6000803e3d6000fd5b5050505050505050505050565b600080600080600080600080600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e18c7e2d8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561444157600080fd5b505af1158015614455573d6000803e3d6000fd5b505050506040513d60a081101561446b57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050809a50819b50829c50839d50849e505050505050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e18c7e2d8c6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561454957600080fd5b505af115801561455d573d6000803e3d6000fd5b505050506040513d60a081101561457357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508095508196508297508398508499505050505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663730859f68e8c8c8c8c8c8c8c8c8c8c6040518c63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808c81526020018b63ffffffff1663ffffffff1681526020018a63ffffffff1663ffffffff1681526020018963ffffffff1663ffffffff1681526020018863ffffffff1663ffffffff1681526020018763ffffffff1663ffffffff1681526020018663ffffffff1663ffffffff1681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff1681526020018363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019b505050505050505050505050600060405180830381600087803b15801561471957600080fd5b505af115801561472d573d6000803e3d6000fd5b5050505050505050505050505050505050565b614748614d7f565b614750614d7f565b60008460ff161480614765575060008360ff16145b1561484857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c076174886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506040805180830381600087803b1580156147fa57600080fd5b505af115801561480e573d6000803e3d6000fd5b505050506040513d604081101561482457600080fd5b81019080805190602001909291908051906020019092919050505080945081955050505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318c0aa9b896040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b1580156148d957600080fd5b505af11580156148ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060a081101561491257600080fd5b81019080919050509150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318c0aa9b886040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b1580156149ad57600080fd5b505af11580156149c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060a08110156149e657600080fd5b81019080919050509050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368662301896040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015614a8157600080fd5b505af1158015614a95573d6000803e3d6000fd5b50505050600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166368662301886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015614b2a57600080fd5b505af1158015614b3e573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a76e43e8a8888888888886040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808881526020018760ff1660ff1681526020018660ff1660ff1681526020018560ff1660ff1681526020018460ff1660ff16815260200183600560200280838360005b83811015614c13578082015181840152602081019050614bf8565b5050505090500182600560200280838360005b83811015614c41578082015181840152602081019050614c26565b50505050905001975050505050505050600060405180830381600087803b158015614c6b57600080fd5b505af1158015614c7f573d6000803e3d6000fd5b50505050505050505050505050565b6040805190810160405280600290602082028038833980820191505090505090565b60c060405190810160405280600690602082028038833980820191505090505090565b828054828255906000526020600020908101928215614d4c579160200282015b82811115614d4b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190614cf3565b5b509050614d599190614da2565b5090565b6040805190810160405280600290602082028038833980820191505090505090565b60a060405190810160405280600590602082028038833980820191505090505090565b614de291905b80821115614dde57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614da8565b5090565b905600a165627a7a723058208f600d30580e61b68d6acd571c2e061b8e6565aafaeda160cd18e003648ed5a80029

   Swarm Source:
bzzr://8f600d30580e61b68d6acd571c2e061b8e6565aafaeda160cd18e003648ed5a8

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.