ETH Price: $2,627.17 (-4.26%)
Gas: 1.06 Gwei

Contract

0xc1759d97e0F1ca05FbFA4af0bbF55535C8A192dd
 

Overview

ETH Balance

0.53102946612976752 ETH

Eth Value

$1,395.10 (@ $2,627.17/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Contract Sales A...88041782019-10-24 17:09:431933 days ago1571936983IN
0xc1759d97...5C8A192dd
0 ETH0.000033271
Contract Buys At...88041772019-10-24 17:09:391933 days ago1571936979IN
0xc1759d97...5C8A192dd
0 ETH0.000033671
Update Curs ET H...88041772019-10-24 17:09:391933 days ago1571936979IN
0xc1759d97...5C8A192dd
0 ETH0.0000391
Contract Sales A...86428672019-09-29 9:26:391959 days ago1569749199IN
0xc1759d97...5C8A192dd
0 ETH0.0003993212
Contract Buys At...86428572019-09-29 9:24:041959 days ago1569749044IN
0xc1759d97...5C8A192dd
0 ETH0.0004040712
Update Curs ET H...86428512019-09-29 9:22:501959 days ago1569748970IN
0xc1759d97...5C8A192dd
0 ETH0.0004680912
Contract Sales A...86294602019-09-27 7:12:291961 days ago1569568349IN
0xc1759d97...5C8A192dd
0 ETH0.0006655420
Contract Buys At...86294602019-09-27 7:12:291961 days ago1569568349IN
0xc1759d97...5C8A192dd
0 ETH0.0006734620
Update Curs ET H...86294602019-09-27 7:12:291961 days ago1569568349IN
0xc1759d97...5C8A192dd
0 ETH0.0007801620
Contract Sales A...86260822019-09-26 18:27:181961 days ago1569522438IN
0xc1759d97...5C8A192dd
0 ETH0.0007986424
Contract Buys At...86260812019-09-26 18:26:471961 days ago1569522407IN
0xc1759d97...5C8A192dd
0 ETH0.0008081524
Update Curs ET H...86260502019-09-26 18:20:061961 days ago1569522006IN
0xc1759d97...5C8A192dd
0 ETH0.0009361924
Update Curs ET H...85899092019-09-21 2:26:311967 days ago1569032791IN
0xc1759d97...5C8A192dd
0 ETH0.000195045
Contract Sales A...85899062019-09-21 2:26:161967 days ago1569032776IN
0xc1759d97...5C8A192dd
0 ETH0.000099833
Contract Buys At...85898802019-09-21 2:20:591967 days ago1569032459IN
0xc1759d97...5C8A192dd
0 ETH0.000101013
Contract Sales A...84824722019-09-04 8:06:371984 days ago1567584397IN
0xc1759d97...5C8A192dd
0 ETH0.000166385
Contract Buys At...84824722019-09-04 8:06:371984 days ago1567584397IN
0xc1759d97...5C8A192dd
0 ETH0.000168365
Update Curs ET H...84824722019-09-04 8:06:371984 days ago1567584397IN
0xc1759d97...5C8A192dd
0 ETH0.000195045
Update Curs ET H...84823372019-09-04 7:38:431984 days ago1567582723IN
0xc1759d97...5C8A192dd
0 ETH0.000234046
Update Curs ET H...84823202019-09-04 7:35:381984 days ago1567582538IN
0xc1759d97...5C8A192dd
0 ETH0.000234046
Contract Sales A...84759742019-09-03 7:49:111985 days ago1567496951IN
0xc1759d97...5C8A192dd
0 ETH0.000199666
Contract Buys At...84759692019-09-03 7:48:071985 days ago1567496887IN
0xc1759d97...5C8A192dd
0 ETH0.000382426
Update Curs ET H...84759642019-09-03 7:46:591985 days ago1567496819IN
0xc1759d97...5C8A192dd
0 ETH0.000233656
Contract Sales A...84698032019-09-02 8:47:221986 days ago1567414042IN
0xc1759d97...5C8A192dd
0 ETH0.000199666
Contract Buys At...84698032019-09-02 8:47:221986 days ago1567414042IN
0xc1759d97...5C8A192dd
0 ETH0.000303056
View all transactions

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
73632912019-03-13 22:05:452158 days ago1552514745
0xc1759d97...5C8A192dd
0.02969913 ETH
71896312019-02-07 20:09:122192 days ago1549570152
0xc1759d97...5C8A192dd
0.2405007 ETH
71841832019-02-06 17:31:502193 days ago1549474310
0xc1759d97...5C8A192dd
0.0077022 ETH
71841752019-02-06 17:29:302193 days ago1549474170
0xc1759d97...5C8A192dd
0.029997 ETH
71841602019-02-06 17:23:242193 days ago1549473804
0xc1759d97...5C8A192dd
0.0108405 ETH
71841272019-02-06 17:13:532193 days ago1549473233
0xc1759d97...5C8A192dd
0.099 ETH
71841222019-02-06 17:12:002193 days ago1549473120
0xc1759d97...5C8A192dd
0.030591 ETH
71840742019-02-06 17:00:212193 days ago1549472421
0xc1759d97...5C8A192dd
0.04356 ETH
71840412019-02-06 16:51:142193 days ago1549471874
0xc1759d97...5C8A192dd
0.04158 ETH
71836802019-02-06 15:00:352193 days ago1549465235
0xc1759d97...5C8A192dd
0.099 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Trade

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-02-04
*/

pragma solidity 0.4.25;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function transferTrade(address from, address to, uint256 value) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

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

        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }
}

contract Ownable {
    uint public ownersCount = 1;
    mapping(address => bool) public owner;
    mapping(uint => address) public ownerList;

    constructor () internal {
        owner[msg.sender] = true;
        ownerList[ownersCount] = msg.sender;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender));
        _;
    }

    function isOwner(address user) public view returns (bool) {
        return owner[user];
    }

    function addOwner(address _owner) public onlyOwner {
        require(!owner[_owner], "It's owner now");
        owner[_owner] = true;
        ownersCount++;
        ownerList[ownersCount] = _owner;
    }

    function removeOwner(address _owner) public onlyOwner {
        require(owner[_owner], "It's not owner now");
        require(ownersCount > 1);
        owner[_owner] = false;

        for (uint i = 1; i < ownersCount + 1; i++) {
            if (ownerList[i] == _owner) {
                delete ownerList[i];
                break;
            }
        }

        ownersCount--;
    }
}

contract Trade is Ownable {
    using SafeMath for uint;
    uint public cursETHtoUSD = 15000;
    uint public costClientBuyETH = 1 ether / 10000;
    uint public costClientSellETH = 1 ether / 100000;
    uint public costClientBuyUSD = costClientBuyETH * cursETHtoUSD / 100;
    uint public costClientSellUSD = costClientSellETH * cursETHtoUSD / 100;
    uint private DEC = 10 ** 18;
    bool public clientBuyOpen = true;
    bool public clientSellOpen = true;
    uint public clientBuyTimeWorkFrom = 1545264000;
    uint public clientBuyTimeWork = 24 hours;
    uint public clientSellTimeWorkFrom = 1545264000;
    uint public clientSellTimeWork = 24 hours;
    address public tokenAddress;

    event clientBuy(address user, uint valueETH, uint amount);
    event clientSell(address user, uint valueETH, uint amount);
    event Deposit(address user, uint value);
    event DepositToken(address user, uint value);
    event WithdrawEth(address user, uint value);
    event WithdrawTokens(address user, uint value);

    modifier buyIsOpen() {
        require(clientBuyOpen == true, "Buying are closed");
        require((now - clientBuyTimeWorkFrom) % 24 hours <= clientBuyTimeWork, "Now buying are closed");
        _;
    }

    modifier sellIsOpen() {
        require(clientSellOpen == true, "Selling are closed");
        require((now - clientSellTimeWorkFrom) % 24 hours <= clientSellTimeWork, "Now selling are closed");
        _;
    }

    function updateCursETHtoUSD(uint _value) onlyOwner public {
        cursETHtoUSD = _value;
        costClientBuyUSD = costClientBuyETH.mul(cursETHtoUSD).div(100);
        costClientSellUSD = costClientSellETH.mul(cursETHtoUSD).div(100);
    }

    function contractSalesAtUsd(uint _value) onlyOwner public {
        costClientBuyUSD = _value;
        costClientBuyETH = costClientBuyUSD.div(cursETHtoUSD).mul(100);
    }

    function contractBuysAtUsd(uint _value) onlyOwner public {
        costClientSellUSD = _value;
        costClientSellETH = costClientSellUSD.div(cursETHtoUSD).mul(100);
    }

    function contractSalesAtEth(uint _value) onlyOwner public {
        costClientBuyETH = _value;
        costClientBuyUSD = costClientBuyETH.mul(cursETHtoUSD).div(100);
    }

    function contractBuysAtEth(uint _value) onlyOwner public {
        costClientSellETH = _value;
        costClientSellUSD = costClientSellETH.mul(cursETHtoUSD).div(100);
    }

    function closeClientBuy() onlyOwner public {
        clientBuyOpen = false;
    }

    function openClientBuy() onlyOwner public {
        clientBuyOpen = true;
    }

    function closeClientSell() onlyOwner public {
        clientSellOpen = false;
    }

    function openClientSell() onlyOwner public {
        clientSellOpen = true;
    }

    function setClientBuyingTime(uint _from, uint _time) onlyOwner public {
        clientBuyTimeWorkFrom = _from;
        clientBuyTimeWork = _time;
    }

    function setClientSellingTime(uint _from, uint _time) onlyOwner public {
        clientSellTimeWorkFrom = _from;
        clientSellTimeWork = _time;
    }

    function contractSellTokens() buyIsOpen payable public {
        require(msg.value > 0, "ETH amount must be greater than 0");

        uint amount = msg.value.mul(DEC).div(costClientBuyETH);

        require(IERC20(tokenAddress).balanceOf(this) >= amount, "Not enough tokens");

        IERC20(tokenAddress).transfer(msg.sender, amount);

        emit clientBuy(msg.sender, msg.value, amount);
    }

    function() external payable {
        contractSellTokens();
    }

    function contractBuyTokens(uint amount) sellIsOpen public {
        require(amount > 0, "Tokens amount must be greater than 0");
        require(IERC20(tokenAddress).balanceOf(msg.sender) >= amount, "Not enough tokens on balance");

        uint valueETH = amount.mul(costClientSellETH).div(DEC);
        require(valueETH <= address(this).balance, "Not enough balance on the contract");

        IERC20(tokenAddress).transferTrade(msg.sender, this, amount);
        msg.sender.transfer(valueETH);

        emit clientSell(msg.sender, valueETH, amount);
    }

    function contractBuyTokensFrom(address from, uint amount) sellIsOpen public {
        require(keccak256(msg.sender) == keccak256(tokenAddress), "Only for token");
        require(amount > 0, "Tokens amount must be greater than 0");
        require(IERC20(tokenAddress).balanceOf(from) >= amount, "Not enough tokens on balance");

        uint valueETH = amount.mul(costClientSellETH).div(DEC);
        require(valueETH <= address(this).balance, "Not enough balance on the contract");

        IERC20(tokenAddress).transferTrade(from, this, amount);
        from.transfer(valueETH);

        emit clientSell(from, valueETH, amount);
    }

    function withdrawEth(address to, uint256 value) onlyOwner public {
        require(address(this).balance >= value, "Not enough balance on the contract");
        to.transfer(value);

        emit WithdrawEth(to, value);
    }

    function withdrawTokens(address to, uint256 value) onlyOwner public {
        require(IERC20(tokenAddress).balanceOf(this) >= value, "Not enough token balance on the contract");

        IERC20(tokenAddress).transferTrade(this, to, value);

        emit WithdrawTokens(to, value);
    }

    function depositEther() onlyOwner payable public {
        emit Deposit(msg.sender, msg.value);
    }

    function depositToken(uint _value) onlyOwner public {
        IERC20(tokenAddress).transferTrade(msg.sender, this, _value);
    }

    function changeTokenAddress(address newTokenAddress) onlyOwner public {
        tokenAddress = newTokenAddress;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"clientBuyOpen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"contractBuysAtEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"clientSellOpen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"withdrawEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"clientSellTimeWork","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"contractSalesAtUsd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeClientBuy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"depositToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"costClientSellUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"owner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"amount","type":"uint256"}],"name":"contractBuyTokensFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"clientBuyTimeWork","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"setClientBuyingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"contractSellTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"costClientBuyETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"openClientBuy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"depositEther","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"openClientSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"updateCursETHtoUSD","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"setClientSellingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"contractBuysAtUsd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"costClientSellETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTokenAddress","type":"address"}],"name":"changeTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cursETHtoUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"closeClientSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"ownerList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"clientBuyTimeWorkFrom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"contractSalesAtEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"costClientBuyUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"clientSellTimeWorkFrom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"contractBuyTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"valueETH","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"clientBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"valueETH","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"clientSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"DepositToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"WithdrawEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"WithdrawTokens","type":"event"}]

60806040526001600055613a98600355655af3107a40006004556509184e72a00060055560646003546004540281151561003557fe5b0460065560646003546005540281151561004b57fe5b04600755670de0b6b3a76400006008556001600960006101000a81548160ff0219169083151502179055506001600960016101000a81548160ff021916908315150217905550635c1adb80600a5562015180600b55635c1adb80600c5562015180600d5560018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600260008054815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612a48806101686000396000f3006080604052600436106101cc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680624c6f82146101d657806303df9e061461020557806306b091f9146102325780630b7d49061461027f578063173825d9146102ae5780631b9a91a4146102f157806326ba53ab1461033e5780632f54bf6e146103695780635c6fb85f146103c45780635f1eb186146103f15780636215be771461040857806364b0ae5d14610435578063666e1b39146104605780636bfb8d11146104bb5780636d1ca37e146105085780637065cb481461053357806374d149141461057657806375973166146105ad5780637c704f67146105b757806387dc0a1c146105e257806398ea5fca146105f95780639cafd8ba146106035780639d76ea581461061a5780639eb59e0014610671578063b1e56bd41461069e578063b9488546146106d5578063bc6d721114610700578063c6088b831461072d578063c9cda91f14610758578063d81cc2491461079b578063dcd1d465146107c6578063def79ab5146107dd578063e8c00d2e1461084a578063f64542be14610875578063fba018d6146108a2578063fecb4bed146108cd578063ffe91345146108f8575b6101d4610925565b005b3480156101e257600080fd5b506101eb610ded565b604051808215151515815260200191505060405180910390f35b34801561021157600080fd5b5061023060048036038101908080359060200190929190505050610e00565b005b34801561023e57600080fd5b5061027d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e4e565b005b34801561028b57600080fd5b5061029461119b565b604051808215151515815260200191505060405180910390f35b3480156102ba57600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156102fd57600080fd5b5061033c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c5565b005b34801561034a57600080fd5b50610353611544565b6040518082815260200191505060405180910390f35b34801561037557600080fd5b506103aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154a565b604051808215151515815260200191505060405180910390f35b3480156103d057600080fd5b506103ef600480360381019080803590602001909291905050506115a0565b005b3480156103fd57600080fd5b506104066115ee565b005b34801561041457600080fd5b506104336004803603810190808035906020019092919050505061161f565b005b34801561044157600080fd5b5061044a61176b565b6040518082815260200191505060405180910390f35b34801561046c57600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611771565b604051808215151515815260200191505060405180910390f35b3480156104c757600080fd5b50610506600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611791565b005b34801561051457600080fd5b5061051d611ecc565b6040518082815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed2565b005b34801561058257600080fd5b506105ab6004803603810190808035906020019092919080359060200190929190505050612066565b005b6105b5610925565b005b3480156105c357600080fd5b506105cc61208c565b6040518082815260200191505060405180910390f35b3480156105ee57600080fd5b506105f7612092565b005b6106016120c3565b005b34801561060f57600080fd5b50610618612144565b005b34801561062657600080fd5b5061062f612175565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067d57600080fd5b5061069c6004803603810190808035906020019092919050505061219b565b005b3480156106aa57600080fd5b506106d36004803603810190808035906020019092919080359060200190929190505050612219565b005b3480156106e157600080fd5b506106ea61223f565b6040518082815260200191505060405180910390f35b34801561070c57600080fd5b5061072b60048036038101908080359060200190929190505050612245565b005b34801561073957600080fd5b50610742612293565b6040518082815260200191505060405180910390f35b34801561076457600080fd5b50610799600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612299565b005b3480156107a757600080fd5b506107b06122f1565b6040518082815260200191505060405180910390f35b3480156107d257600080fd5b506107db6122f7565b005b3480156107e957600080fd5b5061080860048036038101908080359060200190929190505050612328565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085657600080fd5b5061085f61235b565b6040518082815260200191505060405180910390f35b34801561088157600080fd5b506108a060048036038101908080359060200190929190505050612361565b005b3480156108ae57600080fd5b506108b76123af565b6040518082815260200191505060405180910390f35b3480156108d957600080fd5b506108e26123b5565b6040518082815260200191505060405180910390f35b34801561090457600080fd5b50610923600480360381019080803590602001909291905050506123bb565b005b600060011515600960009054906101000a900460ff1615151415156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f427579696e672061726520636c6f73656400000000000000000000000000000081525060200191505060405180910390fd5b600b5462015180600a5442038115156109c757fe5b0611151515610a3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f7720627579696e672061726520636c6f736564000000000000000000000081525060200191505060405180910390fd5b600034111515610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45544820616d6f756e74206d7573742062652067726561746572207468616e2081526020017f300000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b610b05600454610af7600854346129b490919063ffffffff16565b6129f290919063ffffffff16565b905080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bc557600080fd5b505af1158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b810190808051906020019092919050505010151515610c76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505050506040513d6020811015610d6557600080fd5b8101908080519060200190929190505050507fa954f73ac180f6e827e2c9972c500460550694f3d6baa71f2baeff50a9129482333483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150565b600960009054906101000a900460ff1681565b610e093361154a565b1515610e1457600080fd5b80600581905550610e456064610e376003546005546129b490919063ffffffff16565b6129f290919063ffffffff16565b60078190555050565b610e573361154a565b1515610e6257600080fd5b80600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f2057600080fd5b505af1158015610f34573d6000803e3d6000fd5b505050506040513d6020811015610f4a57600080fd5b810190808051906020019092919050505010151515610ff7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f4e6f7420656e6f75676820746f6b656e2062616c616e6365206f6e207468652081526020017f636f6e747261637400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453084846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050506040513d602081101561111a57600080fd5b8101908080519060200190929190505050507f680f2e4f4032ebf1774e8cdbaddcb1b617a5a606411c8ca96257ada338d3833c8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600960019054906101000a900460ff1681565b60006111b93361154a565b15156111c457600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611285576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49742773206e6f74206f776e6572206e6f77000000000000000000000000000081525060200191505060405180910390fd5b600160005411151561129657600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600190505b6001600054018110156113af578173ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113a2576002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556113af565b80806001019150506112f3565b6000808154809291906001900391905055505050565b6113ce3361154a565b15156113d957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561148e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114d4573d6000803e3d6000fd5b507fccbd99ba6da8f29b2a4f65e474e3c3973564d356c162c08d45f3dc7f0cb5b3aa8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600d5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6115a93361154a565b15156115b457600080fd5b806006819055506115e560646115d76003546006546129f290919063ffffffff16565b6129b490919063ffffffff16565b60048190555050565b6115f73361154a565b151561160257600080fd5b6000600960006101000a81548160ff021916908315150217905550565b6116283361154a565b151561163357600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561172c57600080fd5b505af1158015611740573d6000803e3d6000fd5b505050506040513d602081101561175657600080fd5b81019080805190602001909291905050505050565b60075481565b60016020528060005260406000206000915054906101000a900460ff1681565b600060011515600960019054906101000a900460ff16151514151561181e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f53656c6c696e672061726520636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b600d5462015180600c54420381151561183357fe5b06111515156118aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f772073656c6c696e672061726520636c6f7365640000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019150506040518091039020600019161415156119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c7920666f7220746f6b656e00000000000000000000000000000000000081525060200191505060405180910390fd5b600082111515611a89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f546f6b656e7320616d6f756e74206d757374206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b4757600080fd5b505af1158015611b5b573d6000803e3d6000fd5b505050506040513d6020811015611b7157600080fd5b810190808051906020019092919050505010151515611bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e2062616c616e63650000000081525060200191505060405180910390fd5b611c21600854611c13600554856129b490919063ffffffff16565b6129f290919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff16318111151515611cd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7458430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dd157600080fd5b505af1158015611de5573d6000803e3d6000fd5b505050506040513d6020811015611dfb57600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e53573d6000803e3d6000fd5b507fcc36802f62aef3d3819500e4c3084caede001d976bbe3b840a5ccd19122337f7838284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b600b5481565b611edb3361154a565b1515611ee657600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f49742773206f776e6572206e6f7700000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080815480929190600101919050555080600260008054815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61206f3361154a565b151561207a57600080fd5b81600a8190555080600b819055505050565b60045481565b61209b3361154a565b15156120a657600080fd5b6001600960006101000a81548160ff021916908315150217905550565b6120cc3361154a565b15156120d757600080fd5b7fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1565b61214d3361154a565b151561215857600080fd5b6001600960016101000a81548160ff021916908315150217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121a43361154a565b15156121af57600080fd5b806003819055506121e060646121d26003546004546129b490919063ffffffff16565b6129f290919063ffffffff16565b60068190555061221060646122026003546005546129b490919063ffffffff16565b6129f290919063ffffffff16565b60078190555050565b6122223361154a565b151561222d57600080fd5b81600c8190555080600d819055505050565b60005481565b61224e3361154a565b151561225957600080fd5b8060078190555061228a606461227c6003546007546129f290919063ffffffff16565b6129b490919063ffffffff16565b60058190555050565b60055481565b6122a23361154a565b15156122ad57600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b6123003361154a565b151561230b57600080fd5b6000600960016101000a81548160ff021916908315150217905550565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b61236a3361154a565b151561237557600080fd5b806004819055506123a660646123986003546004546129b490919063ffffffff16565b6129f290919063ffffffff16565b60068190555050565b60065481565b600c5481565b600060011515600960019054906101000a900460ff161515141515612448576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f53656c6c696e672061726520636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b600d5462015180600c54420381151561245d57fe5b06111515156124d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f772073656c6c696e672061726520636c6f7365640000000000000000000081525060200191505060405180910390fd5b600082111515612572576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f546f6b656e7320616d6f756e74206d757374206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561263057600080fd5b505af1158015612644573d6000803e3d6000fd5b505050506040513d602081101561265a57600080fd5b8101908080519060200190929190505050101515156126e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e2062616c616e63650000000081525060200191505060405180910390fd5b61270a6008546126fc600554856129b490919063ffffffff16565b6129f290919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff163181111515156127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156128ba57600080fd5b505af11580156128ce573d6000803e3d6000fd5b505050506040513d60208110156128e457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561293c573d6000803e3d6000fd5b507fcc36802f62aef3d3819500e4c3084caede001d976bbe3b840a5ccd19122337f7338284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b60008060008414156129c957600091506129eb565b82840290508284828115156129da57fe5b041415156129e757600080fd5b8091505b5092915050565b600080600083111515612a0457600080fd5b8284811515612a0f57fe5b04905080915050929150505600a165627a7a723058205f93ac7bb71df679bfc819b1b9a0cf4d89fb994ae31e7aed45ad68da4a29ec0b0029

Deployed Bytecode

0x6080604052600436106101cc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680624c6f82146101d657806303df9e061461020557806306b091f9146102325780630b7d49061461027f578063173825d9146102ae5780631b9a91a4146102f157806326ba53ab1461033e5780632f54bf6e146103695780635c6fb85f146103c45780635f1eb186146103f15780636215be771461040857806364b0ae5d14610435578063666e1b39146104605780636bfb8d11146104bb5780636d1ca37e146105085780637065cb481461053357806374d149141461057657806375973166146105ad5780637c704f67146105b757806387dc0a1c146105e257806398ea5fca146105f95780639cafd8ba146106035780639d76ea581461061a5780639eb59e0014610671578063b1e56bd41461069e578063b9488546146106d5578063bc6d721114610700578063c6088b831461072d578063c9cda91f14610758578063d81cc2491461079b578063dcd1d465146107c6578063def79ab5146107dd578063e8c00d2e1461084a578063f64542be14610875578063fba018d6146108a2578063fecb4bed146108cd578063ffe91345146108f8575b6101d4610925565b005b3480156101e257600080fd5b506101eb610ded565b604051808215151515815260200191505060405180910390f35b34801561021157600080fd5b5061023060048036038101908080359060200190929190505050610e00565b005b34801561023e57600080fd5b5061027d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e4e565b005b34801561028b57600080fd5b5061029461119b565b604051808215151515815260200191505060405180910390f35b3480156102ba57600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ae565b005b3480156102fd57600080fd5b5061033c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c5565b005b34801561034a57600080fd5b50610353611544565b6040518082815260200191505060405180910390f35b34801561037557600080fd5b506103aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061154a565b604051808215151515815260200191505060405180910390f35b3480156103d057600080fd5b506103ef600480360381019080803590602001909291905050506115a0565b005b3480156103fd57600080fd5b506104066115ee565b005b34801561041457600080fd5b506104336004803603810190808035906020019092919050505061161f565b005b34801561044157600080fd5b5061044a61176b565b6040518082815260200191505060405180910390f35b34801561046c57600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611771565b604051808215151515815260200191505060405180910390f35b3480156104c757600080fd5b50610506600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611791565b005b34801561051457600080fd5b5061051d611ecc565b6040518082815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ed2565b005b34801561058257600080fd5b506105ab6004803603810190808035906020019092919080359060200190929190505050612066565b005b6105b5610925565b005b3480156105c357600080fd5b506105cc61208c565b6040518082815260200191505060405180910390f35b3480156105ee57600080fd5b506105f7612092565b005b6106016120c3565b005b34801561060f57600080fd5b50610618612144565b005b34801561062657600080fd5b5061062f612175565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067d57600080fd5b5061069c6004803603810190808035906020019092919050505061219b565b005b3480156106aa57600080fd5b506106d36004803603810190808035906020019092919080359060200190929190505050612219565b005b3480156106e157600080fd5b506106ea61223f565b6040518082815260200191505060405180910390f35b34801561070c57600080fd5b5061072b60048036038101908080359060200190929190505050612245565b005b34801561073957600080fd5b50610742612293565b6040518082815260200191505060405180910390f35b34801561076457600080fd5b50610799600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612299565b005b3480156107a757600080fd5b506107b06122f1565b6040518082815260200191505060405180910390f35b3480156107d257600080fd5b506107db6122f7565b005b3480156107e957600080fd5b5061080860048036038101908080359060200190929190505050612328565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561085657600080fd5b5061085f61235b565b6040518082815260200191505060405180910390f35b34801561088157600080fd5b506108a060048036038101908080359060200190929190505050612361565b005b3480156108ae57600080fd5b506108b76123af565b6040518082815260200191505060405180910390f35b3480156108d957600080fd5b506108e26123b5565b6040518082815260200191505060405180910390f35b34801561090457600080fd5b50610923600480360381019080803590602001909291905050506123bb565b005b600060011515600960009054906101000a900460ff1615151415156109b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f427579696e672061726520636c6f73656400000000000000000000000000000081525060200191505060405180910390fd5b600b5462015180600a5442038115156109c757fe5b0611151515610a3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f7720627579696e672061726520636c6f736564000000000000000000000081525060200191505060405180910390fd5b600034111515610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45544820616d6f756e74206d7573742062652067726561746572207468616e2081526020017f300000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b610b05600454610af7600854346129b490919063ffffffff16565b6129f290919063ffffffff16565b905080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bc557600080fd5b505af1158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b810190808051906020019092919050505010151515610c76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505050506040513d6020811015610d6557600080fd5b8101908080519060200190929190505050507fa954f73ac180f6e827e2c9972c500460550694f3d6baa71f2baeff50a9129482333483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150565b600960009054906101000a900460ff1681565b610e093361154a565b1515610e1457600080fd5b80600581905550610e456064610e376003546005546129b490919063ffffffff16565b6129f290919063ffffffff16565b60078190555050565b610e573361154a565b1515610e6257600080fd5b80600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f2057600080fd5b505af1158015610f34573d6000803e3d6000fd5b505050506040513d6020811015610f4a57600080fd5b810190808051906020019092919050505010151515610ff7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f4e6f7420656e6f75676820746f6b656e2062616c616e6365206f6e207468652081526020017f636f6e747261637400000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453084846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050506040513d602081101561111a57600080fd5b8101908080519060200190929190505050507f680f2e4f4032ebf1774e8cdbaddcb1b617a5a606411c8ca96257ada338d3833c8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600960019054906101000a900460ff1681565b60006111b93361154a565b15156111c457600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611285576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49742773206e6f74206f776e6572206e6f77000000000000000000000000000081525060200191505060405180910390fd5b600160005411151561129657600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600190505b6001600054018110156113af578173ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113a2576002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556113af565b80806001019150506112f3565b6000808154809291906001900391905055505050565b6113ce3361154a565b15156113d957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561148e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114d4573d6000803e3d6000fd5b507fccbd99ba6da8f29b2a4f65e474e3c3973564d356c162c08d45f3dc7f0cb5b3aa8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600d5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6115a93361154a565b15156115b457600080fd5b806006819055506115e560646115d76003546006546129f290919063ffffffff16565b6129b490919063ffffffff16565b60048190555050565b6115f73361154a565b151561160257600080fd5b6000600960006101000a81548160ff021916908315150217905550565b6116283361154a565b151561163357600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561172c57600080fd5b505af1158015611740573d6000803e3d6000fd5b505050506040513d602081101561175657600080fd5b81019080805190602001909291905050505050565b60075481565b60016020528060005260406000206000915054906101000a900460ff1681565b600060011515600960019054906101000a900460ff16151514151561181e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f53656c6c696e672061726520636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b600d5462015180600c54420381151561183357fe5b06111515156118aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f772073656c6c696e672061726520636c6f7365640000000000000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019150506040518091039020600019161415156119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f6e6c7920666f7220746f6b656e00000000000000000000000000000000000081525060200191505060405180910390fd5b600082111515611a89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f546f6b656e7320616d6f756e74206d757374206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b4757600080fd5b505af1158015611b5b573d6000803e3d6000fd5b505050506040513d6020811015611b7157600080fd5b810190808051906020019092919050505010151515611bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e2062616c616e63650000000081525060200191505060405180910390fd5b611c21600854611c13600554856129b490919063ffffffff16565b6129f290919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff16318111151515611cd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7458430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dd157600080fd5b505af1158015611de5573d6000803e3d6000fd5b505050506040513d6020811015611dfb57600080fd5b8101908080519060200190929190505050508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e53573d6000803e3d6000fd5b507fcc36802f62aef3d3819500e4c3084caede001d976bbe3b840a5ccd19122337f7838284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b600b5481565b611edb3361154a565b1515611ee657600080fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f49742773206f776e6572206e6f7700000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080815480929190600101919050555080600260008054815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61206f3361154a565b151561207a57600080fd5b81600a8190555080600b819055505050565b60045481565b61209b3361154a565b15156120a657600080fd5b6001600960006101000a81548160ff021916908315150217905550565b6120cc3361154a565b15156120d757600080fd5b7fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1565b61214d3361154a565b151561215857600080fd5b6001600960016101000a81548160ff021916908315150217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121a43361154a565b15156121af57600080fd5b806003819055506121e060646121d26003546004546129b490919063ffffffff16565b6129f290919063ffffffff16565b60068190555061221060646122026003546005546129b490919063ffffffff16565b6129f290919063ffffffff16565b60078190555050565b6122223361154a565b151561222d57600080fd5b81600c8190555080600d819055505050565b60005481565b61224e3361154a565b151561225957600080fd5b8060078190555061228a606461227c6003546007546129f290919063ffffffff16565b6129b490919063ffffffff16565b60058190555050565b60055481565b6122a23361154a565b15156122ad57600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b6123003361154a565b151561230b57600080fd5b6000600960016101000a81548160ff021916908315150217905550565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b61236a3361154a565b151561237557600080fd5b806004819055506123a660646123986003546004546129b490919063ffffffff16565b6129f290919063ffffffff16565b60068190555050565b60065481565b600c5481565b600060011515600960019054906101000a900460ff161515141515612448576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f53656c6c696e672061726520636c6f736564000000000000000000000000000081525060200191505060405180910390fd5b600d5462015180600c54420381151561245d57fe5b06111515156124d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f772073656c6c696e672061726520636c6f7365640000000000000000000081525060200191505060405180910390fd5b600082111515612572576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f546f6b656e7320616d6f756e74206d757374206265206772656174657220746881526020017f616e20300000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561263057600080fd5b505af1158015612644573d6000803e3d6000fd5b505050506040513d602081101561265a57600080fd5b8101908080519060200190929190505050101515156126e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e2062616c616e63650000000081525060200191505060405180910390fd5b61270a6008546126fc600554856129b490919063ffffffff16565b6129f290919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff163181111515156127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f4e6f7420656e6f7567682062616c616e6365206f6e2074686520636f6e74726181526020017f637400000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9fde7453330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156128ba57600080fd5b505af11580156128ce573d6000803e3d6000fd5b505050506040513d60208110156128e457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561293c573d6000803e3d6000fd5b507fcc36802f62aef3d3819500e4c3084caede001d976bbe3b840a5ccd19122337f7338284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b60008060008414156129c957600091506129eb565b82840290508284828115156129da57fe5b041415156129e757600080fd5b8091505b5092915050565b600080600083111515612a0457600080fd5b8284811515612a0f57fe5b04905080915050929150505600a165627a7a723058205f93ac7bb71df679bfc819b1b9a0cf4d89fb994ae31e7aed45ad68da4a29ec0b0029

Swarm Source

bzzr://5f93ac7bb71df679bfc819b1b9a0cf4d89fb994ae31e7aed45ad68da4a29ec0b

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  ]
[ 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.