ETH Price: $3,248.76 (-2.92%)

Contract

0xccb15D8B18031C027d6CC51751d77F008FaBb345
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Fight Agon60756802018-08-02 15:52:242294 days ago1533225144IN
0xccb15D8B...08FaBb345
0 ETH0.000096582.5
Cancel Agon60549392018-07-30 3:22:112297 days ago1532920931IN
0xccb15D8B...08FaBb345
0 ETH0.000030091
Fight Agon60547442018-07-30 2:36:182297 days ago1532918178IN
0xccb15D8B...08FaBb345
0 ETH0.000128672
Cancel Agon58517392018-06-25 12:26:302332 days ago1529929590IN
0xccb15D8B...08FaBb345
0 ETH0.000451368
Cancel Agon58517362018-06-25 12:25:182332 days ago1529929518IN
0xccb15D8B...08FaBb345
0 ETH0.000456888
Cancel Agon58045422018-06-17 11:00:592340 days ago1529233259IN
0xccb15D8B...08FaBb345
0 ETH0.0000541
Fight Agon57925902018-06-15 9:59:062342 days ago1529056746IN
0xccb15D8B...08FaBb345
0 ETH0.0004514411.6625
Fight Agon57865452018-06-14 8:53:222343 days ago1528966402IN
0xccb15D8B...08FaBb345
0 ETH0.0004249511
Fight Agon57864832018-06-14 8:37:452343 days ago1528965465IN
0xccb15D8B...08FaBb345
0 ETH0.0002138
Fight Agon57813322018-06-13 11:15:352344 days ago1528888535IN
0xccb15D8B...08FaBb345
0 ETH0.000268164
Fight Agon57765102018-06-12 15:03:352345 days ago1528815815IN
0xccb15D8B...08FaBb345
0 ETH0.000232256
Fight Agon57764962018-06-12 14:59:462345 days ago1528815586IN
0xccb15D8B...08FaBb345
0 ETH0.000321745
Fight Agon57764862018-06-12 14:56:352345 days ago1528815395IN
0xccb15D8B...08FaBb345
0 ETH0.000356395
Fight Agon57764722018-06-12 14:52:002345 days ago1528815120IN
0xccb15D8B...08FaBb345
0 ETH0.000359585
Fight Agon57659972018-06-10 18:31:572347 days ago1528655517IN
0xccb15D8B...08FaBb345
0 ETH0.000438237
Fight Agon57654062018-06-10 15:57:442347 days ago1528646264IN
0xccb15D8B...08FaBb345
0 ETH0.000193545
Fight Agon57654032018-06-10 15:56:242347 days ago1528646184IN
0xccb15D8B...08FaBb345
0 ETH0.000352695
Fight Agon57653942018-06-10 15:53:382347 days ago1528646018IN
0xccb15D8B...08FaBb345
0 ETH0.000355825
Fight Agon57647082018-06-10 12:56:132347 days ago1528635373IN
0xccb15D8B...08FaBb345
0 ETH0.000408826.22
Fight Agon57528862018-06-08 10:46:462349 days ago1528454806IN
0xccb15D8B...08FaBb345
0 ETH0.000338976.01
Fight Agon57465232018-06-07 7:32:472350 days ago1528356767IN
0xccb15D8B...08FaBb345
0 ETH0.0003869610
Fight Agon57274212018-06-03 22:14:042354 days ago1528064044IN
0xccb15D8B...08FaBb345
0 ETH0.000154524
Fight Agon56924462018-05-28 17:15:402360 days ago1527527740IN
0xccb15D8B...08FaBb345
0 ETH0.0005794815
Fight Agon56919702018-05-28 15:05:562360 days ago1527519956IN
0xccb15D8B...08FaBb345
0 ETH0.0005806315
Fight Agon56919632018-05-28 15:03:472360 days ago1527519827IN
0xccb15D8B...08FaBb345
0 ETH0.0010582815
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ActionAgonPlat

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-28
*/

/* ==================================================================== */
/* Copyright (c) 2018 The ether.online Project.  All rights reserved.
/* 
/* https://ether.online  The first RPG game of blockchain 
/*  
/* authors [email protected]   
/*         [email protected]            
/* ==================================================================== */

pragma solidity ^0.4.20;

contract AccessAdmin {
    bool public isPaused = false;
    address public addrAdmin;  

    event AdminTransferred(address indexed preAdmin, address indexed newAdmin);

    function AccessAdmin() public {
        addrAdmin = msg.sender;
    }  


    modifier onlyAdmin() {
        require(msg.sender == addrAdmin);
        _;
    }

    modifier whenNotPaused() {
        require(!isPaused);
        _;
    }

    modifier whenPaused {
        require(isPaused);
        _;
    }

    function setAdmin(address _newAdmin) external onlyAdmin {
        require(_newAdmin != address(0));
        AdminTransferred(addrAdmin, _newAdmin);
        addrAdmin = _newAdmin;
    }

    function doPause() external onlyAdmin whenNotPaused {
        isPaused = true;
    }

    function doUnpause() external onlyAdmin whenPaused {
        isPaused = false;
    }
}


contract AccessService is AccessAdmin {
    address public addrService;
    address public addrFinance;

    modifier onlyService() {
        require(msg.sender == addrService);
        _;
    }

    modifier onlyFinance() {
        require(msg.sender == addrFinance);
        _;
    }

    function setService(address _newService) external {
        require(msg.sender == addrService || msg.sender == addrAdmin);
        require(_newService != address(0));
        addrService = _newService;
    }

    function setFinance(address _newFinance) external {
        require(msg.sender == addrFinance || msg.sender == addrAdmin);
        require(_newFinance != address(0));
        addrFinance = _newFinance;
    }

    function withdraw(address _target, uint256 _amount) 
        external 
    {
        require(msg.sender == addrFinance || msg.sender == addrAdmin);
        require(_amount > 0);
        address receiver = _target == address(0) ? addrFinance : _target;
        uint256 balance = this.balance;
        if (_amount < balance) {
            receiver.transfer(_amount);
        } else {
            receiver.transfer(this.balance);
        }      
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

interface IBitGuildToken {
    function transfer(address _to, uint256 _value) external;
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool);
    function approve(address _spender, uint256 _value) external; 
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) external returns (bool);
    function balanceOf(address _from) external view returns(uint256);
}

interface IAgonFight {
    function calcFight(uint64 _mFlag, uint64 _cFlag, uint256 _aSeed, uint256 _fSeed) external pure returns(uint64);
}

contract ActionAgonPlat is AccessService {
    using SafeMath for uint256; 

    event CreateAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag);
    event CancelAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag);
    event ChallengeAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag, address challenger);
    event ResolveAgonPlat(uint64 indexed agonId, address indexed master, uint64 indexed outFlag, address challenger);

    struct Agon {
        address master;
        address challenger;
        uint64 agonPrice;
        uint64 outFlag;
        uint64 agonFlag;    
        uint64 result;      // 1-win, 2-lose, 99-cancel
    }

    Agon[] agonArray;
    IAgonFight fightContract;
    IBitGuildToken public bitGuildContract;

    mapping (address => uint64[]) public ownerToAgonIdArray;
    uint256 public maxAgonCount = 6;
    uint256 public maxResolvedAgonId = 0; 
    uint256[5] public agonValues;

    function ActionAgonPlat(address _platAddr) public {
        addrAdmin = msg.sender;
        addrService = msg.sender;
        addrFinance = msg.sender;

        bitGuildContract = IBitGuildToken(_platAddr);

        Agon memory order = Agon(0, 0, 0, 0, 1, 1);
        agonArray.push(order);
        agonValues[0] = 3000000000000000000000;
        agonValues[1] = 12000000000000000000000;
        agonValues[2] = 30000000000000000000000;
        agonValues[3] = 60000000000000000000000;
        agonValues[4] = 120000000000000000000000;
    }

    function() external {}

    function setMaxAgonCount(uint256 _count) external onlyAdmin {
        require(_count > 0 && _count < 20);
        require(_count != maxAgonCount);
        maxAgonCount = _count;
    }

    function setAgonFight(address _addr) external onlyAdmin {
        fightContract = IAgonFight(_addr);
    }

    function setMaxResolvedAgonId() external {
        uint256 length = agonArray.length;
        for (uint256 i = maxResolvedAgonId; i < length; ++i) {
            if (agonArray[i].result == 0) {
                maxResolvedAgonId = i - 1;
                break;
            }
        }
    }

    function setAgonValues(uint256[5] values) external onlyAdmin {
        require(values[0] >= 100);
        require(values[1] >= values[0]);
        require(values[2] >= values[1]);
        require(values[3] >= values[2]);
        require(values[4] >= values[3]);
        require(values[4] <= 600000); 
        require(values[0] % 100 == 0);
        require(values[1] % 100 == 0);
        require(values[2] % 100 == 0);
        require(values[3] % 100 == 0);
        require(values[4] % 100 == 0);
        agonValues[0] = values[0].mul(1000000000000000000);
        agonValues[1] = values[1].mul(1000000000000000000);
        agonValues[2] = values[2].mul(1000000000000000000);
        agonValues[3] = values[3].mul(1000000000000000000);
        agonValues[4] = values[4].mul(1000000000000000000);
    }

    function _getExtraParam(bytes _extraData) internal pure returns(uint64 p1, uint64 p2, uint64 p3) {
        p1 = uint64(_extraData[0]);
        p2 = uint64(_extraData[1]);
        uint64 index = 2;
        uint256 val = 0;
        uint256 length = _extraData.length;
        while (index < length) {
            val += (uint256(_extraData[index]) * (256 ** (length - index - 1)));
            index += 1;
        }
        p3 = uint64(val);
    }

    function receiveApproval(address _sender, uint256 _value, address _tokenContract, bytes _extraData) 
        external 
        whenNotPaused 
    {
        require(msg.sender == address(bitGuildContract));
        require(_extraData.length > 2 && _extraData.length <= 10);
        var (p1, p2, p3) = _getExtraParam(_extraData);
        if (p1 == 0) {
            _newAgon(p3, p2, _sender, _value);
        } else if (p1 == 1) {
            _newChallenge(p3, p2, _sender, _value);
        } else {
            require(false);
        }
    }

    function _newAgon(uint64 _outFlag, uint64 _valId, address _sender, uint256 _value) internal {
        require(ownerToAgonIdArray[_sender].length < maxAgonCount);
        require(_valId >= 0 && _valId <= 4);
        require(_value == agonValues[_valId]);
        
        require(bitGuildContract.transferFrom(_sender, address(this), _value));

        uint64 newAgonId = uint64(agonArray.length);
        agonArray.length += 1;
        Agon storage agon = agonArray[newAgonId];
        agon.master = _sender;
        agon.agonPrice = uint64(_value.div(1000000000000000000)); 
        agon.outFlag = _outFlag;

        ownerToAgonIdArray[_sender].push(newAgonId);

        CreateAgonPlat(uint64(newAgonId), _sender, _outFlag);
    } 

    function _removeAgonIdByOwner(address _owner, uint64 _agonId) internal {
        uint64[] storage agonIdArray = ownerToAgonIdArray[_owner];
        uint256 length = agonIdArray.length;
        require(length > 0);
        uint256 findIndex = 99;
        for (uint256 i = 0; i < length; ++i) {
            if (_agonId == agonIdArray[i]) {
                findIndex = i;
            }
        }
        require(findIndex != 99);
        if (findIndex != (length - 1)) {
            agonIdArray[findIndex] = agonIdArray[length - 1];
        } 
        agonIdArray.length -= 1;
    }

    function cancelAgon(uint64 _agonId) external {
        require(_agonId < agonArray.length);
        Agon storage agon = agonArray[_agonId];
        require(agon.result == 0);
        require(agon.challenger == address(0));
        require(agon.master == msg.sender);

        agon.result = 99;
        _removeAgonIdByOwner(msg.sender, _agonId);
        bitGuildContract.transfer(msg.sender, uint256(agon.agonPrice).mul(1000000000000000000));

        CancelAgonPlat(_agonId, msg.sender, agon.outFlag);
    }

    function cancelAgonForce(uint64 _agonId) external onlyService {
        require(_agonId < agonArray.length);
        Agon storage agon = agonArray[_agonId];
        require(agon.result == 0);
        require(agon.challenger == address(0));

        agon.result = 99;
        _removeAgonIdByOwner(agon.master, _agonId);
        bitGuildContract.transfer(agon.master, uint256(agon.agonPrice).mul(1000000000000000000));

        CancelAgonPlat(_agonId, agon.master, agon.outFlag);
    }

    function _newChallenge(uint64 _agonId, uint64 _flag, address _sender, uint256 _value) internal {
        require(_agonId < agonArray.length);
        Agon storage agon = agonArray[_agonId];
        require(agon.result == 0);
        require(agon.master != _sender);
        require(uint256(agon.agonPrice).mul(1000000000000000000) == _value);
        require(agon.challenger == address(0));

        require(bitGuildContract.transferFrom(_sender, address(this), _value));

        agon.challenger = _sender;
        agon.agonFlag = _flag;
        ChallengeAgonPlat(_agonId, agon.master, agon.outFlag, _sender);
    }

    function fightAgon(uint64 _agonId, uint64 _mFlag, uint256 _aSeed, uint256 _fSeed) external onlyService {
        require(_agonId < agonArray.length);
        Agon storage agon = agonArray[_agonId];
        require(agon.result == 0 && agon.challenger != address(0));
        require(fightContract != address(0));
        uint64 fRet = fightContract.calcFight(_mFlag, agon.agonFlag, _aSeed, _fSeed);
        require(fRet == 1 || fRet == 2);
        agon.result = fRet;
        _removeAgonIdByOwner(agon.master, _agonId);
        uint256 devCut = uint256(agon.agonPrice).div(10);
        uint256 winVal = uint256(agon.agonPrice).mul(2).sub(devCut);
        if (fRet == 1) {
            bitGuildContract.transfer(agon.master, winVal.mul(1000000000000000000));
        } else {
            bitGuildContract.transfer(agon.challenger, winVal.mul(1000000000000000000));
        }

        ResolveAgonPlat(_agonId, agon.master, agon.outFlag, agon.challenger);
    }

    function getPlatBalance() external view returns(uint256) {
        return bitGuildContract.balanceOf(this);
    }

    function withdrawPlat() external {
        require(msg.sender == addrFinance || msg.sender == addrAdmin);
        uint256 balance = bitGuildContract.balanceOf(this);
        require(balance > 0);
        bitGuildContract.transfer(addrFinance, balance);
    }

    function getAgon(uint256 _agonId) external view
        returns(
            address master,
            address challenger,
            uint64 agonPrice,
            uint64 outFlag,
            uint64 agonFlag,
            uint64 result
        )
    {
        require(_agonId < agonArray.length);
        Agon memory agon = agonArray[_agonId];
        master = agon.master;
        challenger = agon.challenger;
        agonPrice = agon.agonPrice;
        outFlag = agon.outFlag;
        agonFlag = agon.agonFlag;
        result = agon.result;
    }

    function getAgonArray(uint64 _startAgonId, uint64 _count) external view
        returns(
            uint64[] agonIds,
            address[] masters,
            address[] challengers,
            uint64[] agonPrices,           
            uint64[] agonOutFlags,
            uint64[] agonFlags,
            uint64[] results
        ) 
    {
        uint64 length = uint64(agonArray.length);
        require(_startAgonId < length);
        require(_startAgonId > 0);
        uint256 maxLen;
        if (_count == 0) {
            maxLen = length - _startAgonId;
        } else {
            maxLen = (length - _startAgonId) >= _count ? _count : (length - _startAgonId);
        }
        agonIds = new uint64[](maxLen);
        masters = new address[](maxLen);
        challengers = new address[](maxLen);
        agonPrices = new uint64[](maxLen);
        agonOutFlags = new uint64[](maxLen);
        agonFlags = new uint64[](maxLen);
        results = new uint64[](maxLen);
        uint256 counter = 0;
        for (uint64 i = _startAgonId; i < length; ++i) {
            Agon storage tmpAgon = agonArray[i];
            agonIds[counter] = i;
            masters[counter] = tmpAgon.master;
            challengers[counter] = tmpAgon.challenger;
            agonPrices[counter] = tmpAgon.agonPrice;
            agonOutFlags[counter] = tmpAgon.outFlag;
            agonFlags[counter] = tmpAgon.agonFlag;
            results[counter] = tmpAgon.result;
            counter += 1;
            if (counter >= maxLen) {
                break;
            }
        }
    }

    function getMaxAgonId() external view returns(uint256) {
        return agonArray.length - 1;
    }

    function getAgonIdArray(address _owner) external view returns(uint64[]) {
        return ownerToAgonIdArray[_owner];
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_startAgonId","type":"uint64"},{"name":"_count","type":"uint64"}],"name":"getAgonArray","outputs":[{"name":"agonIds","type":"uint64[]"},{"name":"masters","type":"address[]"},{"name":"challengers","type":"address[]"},{"name":"agonPrices","type":"uint64[]"},{"name":"agonOutFlags","type":"uint64[]"},{"name":"agonFlags","type":"uint64[]"},{"name":"results","type":"uint64[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"values","type":"uint256[5]"}],"name":"setAgonValues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getPlatBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setAgonFight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxAgonCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doUnpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"ownerToAgonIdArray","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPlat","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_agonId","type":"uint256"}],"name":"getAgon","outputs":[{"name":"master","type":"address"},{"name":"challenger","type":"address"},{"name":"agonPrice","type":"uint64"},{"name":"outFlag","type":"uint64"},{"name":"agonFlag","type":"uint64"},{"name":"result","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"}],"name":"cancelAgonForce","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"doPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getAgonIdArray","outputs":[{"name":"","type":"uint64[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"agonValues","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setMaxResolvedAgonId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_count","type":"uint256"}],"name":"setMaxAgonCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrFinance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxResolvedAgonId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_tokenContract","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newFinance","type":"address"}],"name":"setFinance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bitGuildContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMaxAgonId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newService","type":"address"}],"name":"setService","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addrService","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"}],"name":"cancelAgon","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_agonId","type":"uint64"},{"name":"_mFlag","type":"uint64"},{"name":"_aSeed","type":"uint256"},{"name":"_fSeed","type":"uint256"}],"name":"fightAgon","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_platAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"}],"name":"CreateAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"}],"name":"CancelAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"},{"indexed":false,"name":"challenger","type":"address"}],"name":"ChallengeAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agonId","type":"uint64"},{"indexed":true,"name":"master","type":"address"},{"indexed":true,"name":"outFlag","type":"uint64"},{"indexed":false,"name":"challenger","type":"address"}],"name":"ResolveAgonPlat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"preAdmin","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"AdminTransferred","type":"event"}]

60606040526000805460ff19168155600660075560085534156200002257600080fd5b6040516020806200281583398101604052808051915062000044905062000251565b6000805461010060a860020a031990811661010033600160a060020a0390811691820292831790931690911790925560018054600160a060020a031990811684179091556002805482169093179092556005805490921690841617905560c06040519081016040908152600080835260208301819052908201819052606082015260016080820181905260a082018190526003805492935091908101620000ec838262000286565b6000928352602090922083916003020181518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a039290921691909117905560408201518160010160146101000a8154816001604060020a0302191690836001604060020a03160217905550606082015160028201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160020160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a082015160029190910180546001604060020a0390921670010000000000000000000000000000000002608060020a60c060020a0319909216919091179055505068a2a15d09519be00000600955505069028a857425466f800000600a5569065a4da25d3016c00000600b55690cb49b44ba602d800000600c55691969368974c05b000000600d5562000324565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b815481835581811511620002b557600302816003028360005260206000209182019101620002b59190620002ba565b505050565b6200032191905b808211156200031d578054600160a060020a03191681556001810180547fffffffff00000000000000000000000000000000000000000000000000000000169055600281018054600160c060020a0319169055600301620002c1565b5090565b90565b6124e180620003346000396000f30060606040526004361061015b5763ffffffff60e060020a6000350416631531076c811461016857806316512624146103805780631a3ae67a14610395578063271a50db146103ba57806328b6c658146103d957806330efb8d3146103ec5780633407dd24146103ff57806351784a751461043e578063549c7b58146104515780636044ce6e146104b657806367d0661d146104d65780636d57e2a9146104e9578063704b6c021461055b578063748c350b1461057a578063750240a21461059057806379859a78146105a357806382cb9df9146105b957806388753343146105e85780638f4ffcb1146105fb5780639b8d306414610631578063b0d997d914610650578063b187bd2614610663578063b9aa82361461068a578063bf8bdac11461069d578063bfae2f0e146106bc578063cdd977e0146106cf578063f0af7e65146106e2578063f3fef3a314610702578063f696c4ed14610724575b341561016657600080fd5b005b341561017357600080fd5b61018e67ffffffffffffffff60043581169060243516610750565b604051808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019060200280838360005b838110156101e65780820151838201526020016101ce565b5050505090500188810387528e818151815260200191508051906020019060200280838360005b8381101561022557808201518382015260200161020d565b5050505090500188810386528d818151815260200191508051906020019060200280838360005b8381101561026457808201518382015260200161024c565b5050505090500188810385528c818151815260200191508051906020019060200280838360005b838110156102a357808201518382015260200161028b565b5050505090500188810384528b818151815260200191508051906020019060200280838360005b838110156102e25780820151838201526020016102ca565b5050505090500188810383528a818151815260200191508051906020019060200280838360005b83811015610321578082015183820152602001610309565b50505050905001888103825289818151815260200191508051906020019060200280838360005b83811015610360578082015183820152602001610348565b505050509050019e50505050505050505050505050505060405180910390f35b341561038b57600080fd5b6101666004610abc565b34156103a057600080fd5b6103a8610c2a565b60405190815260200160405180910390f35b34156103c557600080fd5b610166600160a060020a0360043516610c99565b34156103e457600080fd5b6103a8610ce8565b34156103f757600080fd5b610166610cee565b341561040a57600080fd5b610421600160a060020a0360043516602435610d2b565b60405167ffffffffffffffff909116815260200160405180910390f35b341561044957600080fd5b610166610d77565b341561045c57600080fd5b610467600435610e9a565b604051600160a060020a03968716815294909516602085015267ffffffffffffffff928316604080860191909152918316606085015282166080840152921660a082015260c001905180910390f35b34156104c157600080fd5b61016667ffffffffffffffff60043516610f7b565b34156104e157600080fd5b610166611145565b34156104f457600080fd5b610508600160a060020a0360043516611184565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561054757808201518382015260200161052f565b505050509050019250505060405180910390f35b341561056657600080fd5b610166600160a060020a036004351661123b565b341561058557600080fd5b6103a86004356112e6565b341561059b57600080fd5b6101666112fa565b34156105ae57600080fd5b61016660043561135b565b34156105c457600080fd5b6105cc6113aa565b604051600160a060020a03909116815260200160405180910390f35b34156105f357600080fd5b6103a86113b9565b341561060657600080fd5b61016660048035600160a060020a0390811691602480359260443516916064359182019101356113bf565b341561063c57600080fd5b610166600160a060020a036004351661149b565b341561065b57600080fd5b6105cc61151a565b341561066e57600080fd5b610676611529565b604051901515815260200160405180910390f35b341561069557600080fd5b6103a8611532565b34156106a857600080fd5b610166600160a060020a036004351661153c565b34156106c757600080fd5b6105cc6115bb565b34156106da57600080fd5b6105cc6115cf565b34156106ed57600080fd5b61016667ffffffffffffffff600435166115de565b341561070d57600080fd5b610166600160a060020a0360043516602435611797565b341561072f57600080fd5b61016667ffffffffffffffff6004358116906024351660443560643561188f565b61075861236d565b61076061236d565b61076861236d565b61077061236d565b61077861236d565b61078061236d565b61078861236d565b600354600080808067ffffffffffffffff808616908f16106107a957600080fd5b600067ffffffffffffffff8f16116107c057600080fd5b67ffffffffffffffff8d1615156107e5578d850367ffffffffffffffff16935061081a565b8c67ffffffffffffffff168e860367ffffffffffffffff16101561080b578d850361080d565b8c5b67ffffffffffffffff1693505b836040518059106108285750595b90808252806020026020018201604052509b50836040518059106108495750595b90808252806020026020018201604052509a508360405180591061086a5750595b908082528060200260200182016040525099508360405180591061088b5750595b90808252806020026020018201604052509850836040518059106108ac5750595b90808252806020026020018201604052509750836040518059106108cd5750595b90808252806020026020018201604052509650836040518059106108ee5750595b90808252806020026020018201604052509550600092508d91505b8467ffffffffffffffff168267ffffffffffffffff161015610aab576003805467ffffffffffffffff841690811061093d57fe5b90600052602060002090600302019050818c848151811061095a57fe5b67ffffffffffffffff9092166020928302909101909101528054600160a060020a03168b848151811061098957fe5b600160a060020a03928316602091820290920101526001820154168a84815181106109b057fe5b600160a060020a03909216602092830290910190910152600181015467ffffffffffffffff60a060020a909104168984815181106109ea57fe5b67ffffffffffffffff92831660209182029092010152600282015416888481518110610a1257fe5b67ffffffffffffffff92831660209182029092010152600282015468010000000000000000900416878481518110610a4657fe5b67ffffffffffffffff928316602091820290920101526002820154608060020a900416868481518110610a7557fe5b67ffffffffffffffff90921660209283029091019091015260019290920191838310610aa057610aab565b816001019150610909565b505050505092959891949750929550565b60005433600160a060020a039081166101009092041614610adc57600080fd5b606481351015610aeb57600080fd5b803560208201351015610afd57600080fd5b602081013560408201351015610b1257600080fd5b604081013560608201351015610b2757600080fd5b606081013560808201351015610b3c57600080fd5b620927c060808201351115610b5057600080fd5b606481350615610b5f57600080fd5b606460208201350615610b7157600080fd5b606460408201350615610b8357600080fd5b606460608201350615610b9557600080fd5b606460808201350615610ba757600080fd5b610bc8670de0b6b3a76400008260005b60200201359063ffffffff611c4c16565b600955610bdf670de0b6b3a7640000826001610bb7565b600a55610bf6670de0b6b3a7640000826002610bb7565b600b55610c0d670de0b6b3a7640000826003610bb7565b600c55610c24670de0b6b3a7640000826004610bb7565b600d5550565b600554600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c7d57600080fd5b5af11515610c8a57600080fd5b50505060405180519150505b90565b60005433600160a060020a039081166101009092041614610cb957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b60005433600160a060020a039081166101009092041614610d0e57600080fd5b60005460ff161515610d1f57600080fd5b6000805460ff19169055565b600660205281600052604060002081815481101515610d4657fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b60025460009033600160a060020a0390811691161480610daa575060005433600160a060020a0390811661010090920416145b1515610db557600080fd5b600554600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e0557600080fd5b5af11515610e1257600080fd5b505050604051805191505060008111610e2a57600080fd5b600554600254600160a060020a039182169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610e8757600080fd5b5af11515610e9457600080fd5b50505050565b600080600080600080610eab61237f565b6003548810610eb957600080fd5b6003805489908110610ec757fe5b906000526020600020906003020160c060405190810160409081528254600160a060020a0390811683526001840154908116602084015267ffffffffffffffff60a060020a909104811691830191909152600290920154808316606083015268010000000000000000810483166080830152608060020a900490911660a0820152905080519650806020015195508060400151945080606001519350806080015192508060a0015191505091939550919395565b60015460009033600160a060020a03908116911614610f9957600080fd5b60035467ffffffffffffffff831610610fb157600080fd5b6003805467ffffffffffffffff8416908110610fc957fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff1615610ffc57600080fd5b6001810154600160a060020a03161561101457600080fd5b60028101805477ffffffffffffffff000000000000000000000000000000001916706300000000000000000000000000000000179055805461105f90600160a060020a031683611c82565b60055481546001830154600160a060020a039283169263a9059cbb9216906110a09060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156110e357600080fd5b5af115156110f057600080fd5b5050506002810154815467ffffffffffffffff91821691600160a060020a039091169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b60005433600160a060020a03908116610100909204161461116557600080fd5b60005460ff161561117557600080fd5b6000805460ff19166001179055565b61118c61236d565b6006600083600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561122f57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116111ea5790505b50505050509050919050565b60005433600160a060020a03908116610100909204161461125b57600080fd5b600160a060020a038116151561127057600080fd5b600054600160a060020a03808316916101009004167ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec660405160405180910390a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600981600581106112f357fe5b0154905081565b6003546008545b8181101561135757600380548290811061131757fe5b6000918252602090912060039091020160020154608060020a900467ffffffffffffffff16151561134f576000198101600855611357565b600101611301565b5050565b60005433600160a060020a03908116610100909204161461137b57600080fd5b60008111801561138b5750601481105b151561139657600080fd5b6007548114156113a557600080fd5b600755565b600254600160a060020a031681565b60085481565b600080548190819060ff16156113d457600080fd5b60055433600160a060020a039081169116146113ef57600080fd5b6002841180156114005750600a8411155b151561140b57600080fd5b61144385858080601f016020809104026020016040519081016040528181529291906020840183838082843750611dd1945050505050565b9250925092508267ffffffffffffffff166000141561146d5761146881838a8a611ea6565b611491565b8267ffffffffffffffff166001141561148c5761146881838a8a612138565b600080fd5b5050505050505050565b60025433600160a060020a03908116911614806114cb575060005433600160a060020a0390811661010090920416145b15156114d657600080fd5b600160a060020a03811615156114eb57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a031681565b60005460ff1681565b6003546000190190565b60015433600160a060020a039081169116148061156c575060005433600160a060020a0390811661010090920416145b151561157757600080fd5b600160a060020a038116151561158c57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b60035460009067ffffffffffffffff8316106115f957600080fd5b6003805467ffffffffffffffff841690811061161157fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561164457600080fd5b6001810154600160a060020a03161561165c57600080fd5b805433600160a060020a0390811691161461167657600080fd5b60028101805477ffffffffffffffff0000000000000000000000000000000019167063000000000000000000000000000000001790556116b63383611c82565b6005546001820154600160a060020a039091169063a9059cbb9033906116f59060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561173857600080fd5b5af1151561174557600080fd5b505050600281015467ffffffffffffffff90811690600160a060020a0333169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b600254600090819033600160a060020a03908116911614806117cc575060005433600160a060020a0390811661010090920416145b15156117d757600080fd5b600083116117e457600080fd5b600160a060020a038416156117f95783611806565b600254600160a060020a03165b915050600160a060020a033016318083101561185257600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561184d57600080fd5b610e94565b81600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610e9457600080fd5b60015460009081908190819033600160a060020a039081169116146118b357600080fd5b60035467ffffffffffffffff8916106118cb57600080fd5b6003805467ffffffffffffffff8a169081106118e357fe5b600091825260209091206003909102016002810154909450608060020a900467ffffffffffffffff1615801561192557506001840154600160a060020a031615155b151561193057600080fd5b600454600160a060020a0316151561194757600080fd5b6004546002850154600160a060020a039091169063c63c1a2790899068010000000000000000900467ffffffffffffffff16898960405160e060020a63ffffffff871602815267ffffffffffffffff948516600482015292909316602483015260448201526064810191909152608401602060405180830381600087803b15156119d057600080fd5b5af115156119dd57600080fd5b5050506040518051935050600167ffffffffffffffff84161480611a0b57508267ffffffffffffffff166002145b1515611a1657600080fd5b60028401805477ffffffffffffffff000000000000000000000000000000001916608060020a67ffffffffffffffff8616021790558354611a6090600160a060020a031689611c82565b6001840154611a819060a060020a900467ffffffffffffffff16600a612344565b6001850154909250611ab7908390611aab9060a060020a900467ffffffffffffffff166002611c4c565b9063ffffffff61235b16565b90508267ffffffffffffffff1660011415611b54576005548454600160a060020a039182169163a9059cbb9116611afc84670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611b3f57600080fd5b5af11515611b4c57600080fd5b505050611bdb565b6005546001850154600160a060020a039182169163a9059cbb9116611b8784670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bca57600080fd5b5af11515611bd757600080fd5b5050505b60028401548454600186015467ffffffffffffffff92831692600160a060020a0392831692908c16917f38557edda3a2b5a2845b77064681d10e029c186fdbb7503b7435288e3f2a6aae9116604051600160a060020a03909116815260200160405180910390a45050505050505050565b600080831515611c5f5760009150611c7b565b50828202828482811515611c6f57fe5b0414611c7757fe5b8091505b5092915050565b600160a060020a03821660009081526006602052604081208054909180808311611cab57600080fd5b506063905060005b82811015611d1a578381815481101515611cc957fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff168567ffffffffffffffff161415611d12578091505b600101611cb3565b6063821415611d2857600080fd5b60001983018214611db8578360018403815481101515611d4457fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff168483815481101515611d7c57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b835460001901611dc885826123b4565b50505050505050565b60008060008060008086600081518110611de757fe5b016020015160f860020a900460f860020a0260f860020a9004955086600181518110611e0f57fe5b016020015160f860020a900460f860020a0260f860020a900494506002925060009150865190505b808367ffffffffffffffff161015611e9c5760018367ffffffffffffffff168203036101000a878467ffffffffffffffff1681518110611e7357fe5b016020015160f860020a900460f860020a0260f860020a90040282019150600183019250611e37565b5093959294505050565b600754600160a060020a0383166000908152600660205260408120549091829110611ed057600080fd5b60008567ffffffffffffffff1610158015611ef6575060048567ffffffffffffffff1611155b1515611f0157600080fd5b600967ffffffffffffffff861660058110611f1857fe5b01548314611f2557600080fd5b600554600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611f8857600080fd5b5af11515611f9557600080fd5b505050604051805190501515611faa57600080fd5b6003805492506001830190611fbf90826123ed565b506003805467ffffffffffffffff8416908110611fd857fe5b60009182526020909120600390910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616178155905061202283670de0b6b3a7640000612344565b600182810180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1660a060020a67ffffffffffffffff9485160217905560028301805467ffffffffffffffff191692891692909217909155600160a060020a03851660009081526006602052604090208054909181016120a383826123b4565b916000526020600020906004918282040191900660080284909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550508567ffffffffffffffff1684600160a060020a03168367ffffffffffffffff167ff1fddf9e8812213c247590b0a0f3bf5457dada11d75e708e8454396df345b52760405160405180910390a4505050505050565b60035460009067ffffffffffffffff86161061215357600080fd5b6003805467ffffffffffffffff871690811061216b57fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561219e57600080fd5b8054600160a060020a03848116911614156121b857600080fd5b600181015482906121e29060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b146121ec57600080fd5b6001810154600160a060020a03161561220457600080fd5b600554600160a060020a03166323b872dd84308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561226757600080fd5b5af1151561227457600080fd5b50505060405180519050151561228957600080fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556002820180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff888116919091029190911791829055835491811692919091169087167f5f08d451ca35d6b71901ead5258ae70bb467cdca427b19c3653a77c961919ecc86604051600160a060020a03909116815260200160405180910390a45050505050565b600080828481151561235257fe5b04949350505050565b60008282111561236757fe5b50900390565b60206040519081016040526000815290565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116123e85760030160049004816003016004900483600052602060002091820191016123e89190612419565b505050565b8154818355818115116123e8576003028160030283600052602060002091820191016123e89190612437565b610c9691905b80821115612433576000815560010161241f565b5090565b610c9691905b8082111561243357805473ffffffffffffffffffffffffffffffffffffffff191681556001810180547fffffffff0000000000000000000000000000000000000000000000000000000016905560028101805477ffffffffffffffffffffffffffffffffffffffffffffffff1916905560030161243d5600a165627a7a72305820a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc300290000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de

Deployed Bytecode

0x60606040526004361061015b5763ffffffff60e060020a6000350416631531076c811461016857806316512624146103805780631a3ae67a14610395578063271a50db146103ba57806328b6c658146103d957806330efb8d3146103ec5780633407dd24146103ff57806351784a751461043e578063549c7b58146104515780636044ce6e146104b657806367d0661d146104d65780636d57e2a9146104e9578063704b6c021461055b578063748c350b1461057a578063750240a21461059057806379859a78146105a357806382cb9df9146105b957806388753343146105e85780638f4ffcb1146105fb5780639b8d306414610631578063b0d997d914610650578063b187bd2614610663578063b9aa82361461068a578063bf8bdac11461069d578063bfae2f0e146106bc578063cdd977e0146106cf578063f0af7e65146106e2578063f3fef3a314610702578063f696c4ed14610724575b341561016657600080fd5b005b341561017357600080fd5b61018e67ffffffffffffffff60043581169060243516610750565b604051808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019060200280838360005b838110156101e65780820151838201526020016101ce565b5050505090500188810387528e818151815260200191508051906020019060200280838360005b8381101561022557808201518382015260200161020d565b5050505090500188810386528d818151815260200191508051906020019060200280838360005b8381101561026457808201518382015260200161024c565b5050505090500188810385528c818151815260200191508051906020019060200280838360005b838110156102a357808201518382015260200161028b565b5050505090500188810384528b818151815260200191508051906020019060200280838360005b838110156102e25780820151838201526020016102ca565b5050505090500188810383528a818151815260200191508051906020019060200280838360005b83811015610321578082015183820152602001610309565b50505050905001888103825289818151815260200191508051906020019060200280838360005b83811015610360578082015183820152602001610348565b505050509050019e50505050505050505050505050505060405180910390f35b341561038b57600080fd5b6101666004610abc565b34156103a057600080fd5b6103a8610c2a565b60405190815260200160405180910390f35b34156103c557600080fd5b610166600160a060020a0360043516610c99565b34156103e457600080fd5b6103a8610ce8565b34156103f757600080fd5b610166610cee565b341561040a57600080fd5b610421600160a060020a0360043516602435610d2b565b60405167ffffffffffffffff909116815260200160405180910390f35b341561044957600080fd5b610166610d77565b341561045c57600080fd5b610467600435610e9a565b604051600160a060020a03968716815294909516602085015267ffffffffffffffff928316604080860191909152918316606085015282166080840152921660a082015260c001905180910390f35b34156104c157600080fd5b61016667ffffffffffffffff60043516610f7b565b34156104e157600080fd5b610166611145565b34156104f457600080fd5b610508600160a060020a0360043516611184565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561054757808201518382015260200161052f565b505050509050019250505060405180910390f35b341561056657600080fd5b610166600160a060020a036004351661123b565b341561058557600080fd5b6103a86004356112e6565b341561059b57600080fd5b6101666112fa565b34156105ae57600080fd5b61016660043561135b565b34156105c457600080fd5b6105cc6113aa565b604051600160a060020a03909116815260200160405180910390f35b34156105f357600080fd5b6103a86113b9565b341561060657600080fd5b61016660048035600160a060020a0390811691602480359260443516916064359182019101356113bf565b341561063c57600080fd5b610166600160a060020a036004351661149b565b341561065b57600080fd5b6105cc61151a565b341561066e57600080fd5b610676611529565b604051901515815260200160405180910390f35b341561069557600080fd5b6103a8611532565b34156106a857600080fd5b610166600160a060020a036004351661153c565b34156106c757600080fd5b6105cc6115bb565b34156106da57600080fd5b6105cc6115cf565b34156106ed57600080fd5b61016667ffffffffffffffff600435166115de565b341561070d57600080fd5b610166600160a060020a0360043516602435611797565b341561072f57600080fd5b61016667ffffffffffffffff6004358116906024351660443560643561188f565b61075861236d565b61076061236d565b61076861236d565b61077061236d565b61077861236d565b61078061236d565b61078861236d565b600354600080808067ffffffffffffffff808616908f16106107a957600080fd5b600067ffffffffffffffff8f16116107c057600080fd5b67ffffffffffffffff8d1615156107e5578d850367ffffffffffffffff16935061081a565b8c67ffffffffffffffff168e860367ffffffffffffffff16101561080b578d850361080d565b8c5b67ffffffffffffffff1693505b836040518059106108285750595b90808252806020026020018201604052509b50836040518059106108495750595b90808252806020026020018201604052509a508360405180591061086a5750595b908082528060200260200182016040525099508360405180591061088b5750595b90808252806020026020018201604052509850836040518059106108ac5750595b90808252806020026020018201604052509750836040518059106108cd5750595b90808252806020026020018201604052509650836040518059106108ee5750595b90808252806020026020018201604052509550600092508d91505b8467ffffffffffffffff168267ffffffffffffffff161015610aab576003805467ffffffffffffffff841690811061093d57fe5b90600052602060002090600302019050818c848151811061095a57fe5b67ffffffffffffffff9092166020928302909101909101528054600160a060020a03168b848151811061098957fe5b600160a060020a03928316602091820290920101526001820154168a84815181106109b057fe5b600160a060020a03909216602092830290910190910152600181015467ffffffffffffffff60a060020a909104168984815181106109ea57fe5b67ffffffffffffffff92831660209182029092010152600282015416888481518110610a1257fe5b67ffffffffffffffff92831660209182029092010152600282015468010000000000000000900416878481518110610a4657fe5b67ffffffffffffffff928316602091820290920101526002820154608060020a900416868481518110610a7557fe5b67ffffffffffffffff90921660209283029091019091015260019290920191838310610aa057610aab565b816001019150610909565b505050505092959891949750929550565b60005433600160a060020a039081166101009092041614610adc57600080fd5b606481351015610aeb57600080fd5b803560208201351015610afd57600080fd5b602081013560408201351015610b1257600080fd5b604081013560608201351015610b2757600080fd5b606081013560808201351015610b3c57600080fd5b620927c060808201351115610b5057600080fd5b606481350615610b5f57600080fd5b606460208201350615610b7157600080fd5b606460408201350615610b8357600080fd5b606460608201350615610b9557600080fd5b606460808201350615610ba757600080fd5b610bc8670de0b6b3a76400008260005b60200201359063ffffffff611c4c16565b600955610bdf670de0b6b3a7640000826001610bb7565b600a55610bf6670de0b6b3a7640000826002610bb7565b600b55610c0d670de0b6b3a7640000826003610bb7565b600c55610c24670de0b6b3a7640000826004610bb7565b600d5550565b600554600090600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c7d57600080fd5b5af11515610c8a57600080fd5b50505060405180519150505b90565b60005433600160a060020a039081166101009092041614610cb957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b60005433600160a060020a039081166101009092041614610d0e57600080fd5b60005460ff161515610d1f57600080fd5b6000805460ff19169055565b600660205281600052604060002081815481101515610d4657fe5b9060005260206000209060049182820401919006600802915091509054906101000a900467ffffffffffffffff1681565b60025460009033600160a060020a0390811691161480610daa575060005433600160a060020a0390811661010090920416145b1515610db557600080fd5b600554600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e0557600080fd5b5af11515610e1257600080fd5b505050604051805191505060008111610e2a57600080fd5b600554600254600160a060020a039182169163a9059cbb91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610e8757600080fd5b5af11515610e9457600080fd5b50505050565b600080600080600080610eab61237f565b6003548810610eb957600080fd5b6003805489908110610ec757fe5b906000526020600020906003020160c060405190810160409081528254600160a060020a0390811683526001840154908116602084015267ffffffffffffffff60a060020a909104811691830191909152600290920154808316606083015268010000000000000000810483166080830152608060020a900490911660a0820152905080519650806020015195508060400151945080606001519350806080015192508060a0015191505091939550919395565b60015460009033600160a060020a03908116911614610f9957600080fd5b60035467ffffffffffffffff831610610fb157600080fd5b6003805467ffffffffffffffff8416908110610fc957fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff1615610ffc57600080fd5b6001810154600160a060020a03161561101457600080fd5b60028101805477ffffffffffffffff000000000000000000000000000000001916706300000000000000000000000000000000179055805461105f90600160a060020a031683611c82565b60055481546001830154600160a060020a039283169263a9059cbb9216906110a09060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156110e357600080fd5b5af115156110f057600080fd5b5050506002810154815467ffffffffffffffff91821691600160a060020a039091169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b60005433600160a060020a03908116610100909204161461116557600080fd5b60005460ff161561117557600080fd5b6000805460ff19166001179055565b61118c61236d565b6006600083600160a060020a0316600160a060020a0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561122f57602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116111ea5790505b50505050509050919050565b60005433600160a060020a03908116610100909204161461125b57600080fd5b600160a060020a038116151561127057600080fd5b600054600160a060020a03808316916101009004167ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec660405160405180910390a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b600981600581106112f357fe5b0154905081565b6003546008545b8181101561135757600380548290811061131757fe5b6000918252602090912060039091020160020154608060020a900467ffffffffffffffff16151561134f576000198101600855611357565b600101611301565b5050565b60005433600160a060020a03908116610100909204161461137b57600080fd5b60008111801561138b5750601481105b151561139657600080fd5b6007548114156113a557600080fd5b600755565b600254600160a060020a031681565b60085481565b600080548190819060ff16156113d457600080fd5b60055433600160a060020a039081169116146113ef57600080fd5b6002841180156114005750600a8411155b151561140b57600080fd5b61144385858080601f016020809104026020016040519081016040528181529291906020840183838082843750611dd1945050505050565b9250925092508267ffffffffffffffff166000141561146d5761146881838a8a611ea6565b611491565b8267ffffffffffffffff166001141561148c5761146881838a8a612138565b600080fd5b5050505050505050565b60025433600160a060020a03908116911614806114cb575060005433600160a060020a0390811661010090920416145b15156114d657600080fd5b600160a060020a03811615156114eb57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600160a060020a031681565b60005460ff1681565b6003546000190190565b60015433600160a060020a039081169116148061156c575060005433600160a060020a0390811661010090920416145b151561157757600080fd5b600160a060020a038116151561158c57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b60035460009067ffffffffffffffff8316106115f957600080fd5b6003805467ffffffffffffffff841690811061161157fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561164457600080fd5b6001810154600160a060020a03161561165c57600080fd5b805433600160a060020a0390811691161461167657600080fd5b60028101805477ffffffffffffffff0000000000000000000000000000000019167063000000000000000000000000000000001790556116b63383611c82565b6005546001820154600160a060020a039091169063a9059cbb9033906116f59060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561173857600080fd5b5af1151561174557600080fd5b505050600281015467ffffffffffffffff90811690600160a060020a0333169084167f422bafa18c1c6cd5d69e480eb4624f3a7521c1513c3a2dea955614144583c52a60405160405180910390a45050565b600254600090819033600160a060020a03908116911614806117cc575060005433600160a060020a0390811661010090920416145b15156117d757600080fd5b600083116117e457600080fd5b600160a060020a038416156117f95783611806565b600254600160a060020a03165b915050600160a060020a033016318083101561185257600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561184d57600080fd5b610e94565b81600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610e9457600080fd5b60015460009081908190819033600160a060020a039081169116146118b357600080fd5b60035467ffffffffffffffff8916106118cb57600080fd5b6003805467ffffffffffffffff8a169081106118e357fe5b600091825260209091206003909102016002810154909450608060020a900467ffffffffffffffff1615801561192557506001840154600160a060020a031615155b151561193057600080fd5b600454600160a060020a0316151561194757600080fd5b6004546002850154600160a060020a039091169063c63c1a2790899068010000000000000000900467ffffffffffffffff16898960405160e060020a63ffffffff871602815267ffffffffffffffff948516600482015292909316602483015260448201526064810191909152608401602060405180830381600087803b15156119d057600080fd5b5af115156119dd57600080fd5b5050506040518051935050600167ffffffffffffffff84161480611a0b57508267ffffffffffffffff166002145b1515611a1657600080fd5b60028401805477ffffffffffffffff000000000000000000000000000000001916608060020a67ffffffffffffffff8616021790558354611a6090600160a060020a031689611c82565b6001840154611a819060a060020a900467ffffffffffffffff16600a612344565b6001850154909250611ab7908390611aab9060a060020a900467ffffffffffffffff166002611c4c565b9063ffffffff61235b16565b90508267ffffffffffffffff1660011415611b54576005548454600160a060020a039182169163a9059cbb9116611afc84670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611b3f57600080fd5b5af11515611b4c57600080fd5b505050611bdb565b6005546001850154600160a060020a039182169163a9059cbb9116611b8784670de0b6b3a764000063ffffffff611c4c16565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515611bca57600080fd5b5af11515611bd757600080fd5b5050505b60028401548454600186015467ffffffffffffffff92831692600160a060020a0392831692908c16917f38557edda3a2b5a2845b77064681d10e029c186fdbb7503b7435288e3f2a6aae9116604051600160a060020a03909116815260200160405180910390a45050505050505050565b600080831515611c5f5760009150611c7b565b50828202828482811515611c6f57fe5b0414611c7757fe5b8091505b5092915050565b600160a060020a03821660009081526006602052604081208054909180808311611cab57600080fd5b506063905060005b82811015611d1a578381815481101515611cc957fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff1667ffffffffffffffff168567ffffffffffffffff161415611d12578091505b600101611cb3565b6063821415611d2857600080fd5b60001983018214611db8578360018403815481101515611d4457fe5b90600052602060002090600491828204019190066008029054906101000a900467ffffffffffffffff168483815481101515611d7c57fe5b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b835460001901611dc885826123b4565b50505050505050565b60008060008060008086600081518110611de757fe5b016020015160f860020a900460f860020a0260f860020a9004955086600181518110611e0f57fe5b016020015160f860020a900460f860020a0260f860020a900494506002925060009150865190505b808367ffffffffffffffff161015611e9c5760018367ffffffffffffffff168203036101000a878467ffffffffffffffff1681518110611e7357fe5b016020015160f860020a900460f860020a0260f860020a90040282019150600183019250611e37565b5093959294505050565b600754600160a060020a0383166000908152600660205260408120549091829110611ed057600080fd5b60008567ffffffffffffffff1610158015611ef6575060048567ffffffffffffffff1611155b1515611f0157600080fd5b600967ffffffffffffffff861660058110611f1857fe5b01548314611f2557600080fd5b600554600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611f8857600080fd5b5af11515611f9557600080fd5b505050604051805190501515611faa57600080fd5b6003805492506001830190611fbf90826123ed565b506003805467ffffffffffffffff8416908110611fd857fe5b60009182526020909120600390910201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616178155905061202283670de0b6b3a7640000612344565b600182810180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1660a060020a67ffffffffffffffff9485160217905560028301805467ffffffffffffffff191692891692909217909155600160a060020a03851660009081526006602052604090208054909181016120a383826123b4565b916000526020600020906004918282040191900660080284909190916101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550508567ffffffffffffffff1684600160a060020a03168367ffffffffffffffff167ff1fddf9e8812213c247590b0a0f3bf5457dada11d75e708e8454396df345b52760405160405180910390a4505050505050565b60035460009067ffffffffffffffff86161061215357600080fd5b6003805467ffffffffffffffff871690811061216b57fe5b600091825260209091206003909102016002810154909150608060020a900467ffffffffffffffff161561219e57600080fd5b8054600160a060020a03848116911614156121b857600080fd5b600181015482906121e29060a060020a900467ffffffffffffffff16670de0b6b3a7640000611c4c565b146121ec57600080fd5b6001810154600160a060020a03161561220457600080fd5b600554600160a060020a03166323b872dd84308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561226757600080fd5b5af1151561227457600080fd5b50505060405180519050151561228957600080fd5b60018101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091556002820180546fffffffffffffffff000000000000000019166801000000000000000067ffffffffffffffff888116919091029190911791829055835491811692919091169087167f5f08d451ca35d6b71901ead5258ae70bb467cdca427b19c3653a77c961919ecc86604051600160a060020a03909116815260200160405180910390a45050505050565b600080828481151561235257fe5b04949350505050565b60008282111561236757fe5b50900390565b60206040519081016040526000815290565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116123e85760030160049004816003016004900483600052602060002091820191016123e89190612419565b505050565b8154818355818115116123e8576003028160030283600052602060002091820191016123e89190612437565b610c9691905b80821115612433576000815560010161241f565b5090565b610c9691905b8082111561243357805473ffffffffffffffffffffffffffffffffffffffff191681556001810180547fffffffff0000000000000000000000000000000000000000000000000000000016905560028101805477ffffffffffffffffffffffffffffffffffffffffffffffff1916905560030161243d5600a165627a7a72305820a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc30029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de

-----Decoded View---------------
Arg [0] : _platAddr (address): 0x7E43581b19ab509BCF9397a2eFd1ab10233f27dE

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007e43581b19ab509bcf9397a2efd1ab10233f27de


Swarm Source

bzzr://a9c2d8a2dec3fca122e23cd07c28211524e90d1fad564ba9728db3003e5b6cc3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.