ETH Price: $1,959.48 (-1.08%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Safe Withdrawal65186782018-10-15 8:37:452695 days ago1539592665IN
0x27945afc...DFFD35fF7
0 ETH0.0004844215
Toggle Receive E...65181612018-10-15 6:33:372695 days ago1539585217IN
0x27945afc...DFFD35fF7
0 ETH0.0011025240
Otc Purchase65159892018-10-14 22:02:282695 days ago1539554548IN
0x27945afc...DFFD35fF7
0 ETH0.0005545815
Otc Purchase And...65159152018-10-14 21:42:492695 days ago1539553369IN
0x27945afc...DFFD35fF7
0 ETH0.0008612815
Otc Purchase And...65158582018-10-14 21:31:192695 days ago1539552679IN
0x27945afc...DFFD35fF7
0 ETH0.0006362815
Transfer65158372018-10-14 21:27:042695 days ago1539552424IN
0x27945afc...DFFD35fF7
0.1 ETH0.0025217715
Transfer65157782018-10-14 21:14:172695 days ago1539551657IN
0x27945afc...DFFD35fF7
0.1 ETH0.00029414

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer65186782018-10-15 8:37:452695 days ago1539592665
0x27945afc...DFFD35fF7
0.1 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UTU

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-14
*/

contract UTU {
    string public name = "Upgrade Token Utility";
    uint8 public decimals = 18;
    string public symbol = "UTU";

    address public owner;
    address public feesAddr;
    address trancheAdmin;

    uint256 public totalSupply = 50000000000000000000000000; // 50m e18
    uint public trancheLevel = 1;
    uint256 public circulatingSupply = 0;
    uint maxTranche = 4;
    uint loopCount = 0;
    uint256 feePercent = 1500;  // the calculation expects % * 100 (so 10% is 1000)
    uint256 public trancheOneSaleTime;
    bool public receiveEth = true;
    bool payFees = true;
    bool addTranches = true;
    bool trancheOne = true;

    // Storage
    mapping (address => uint256) public balances;
    mapping (address => uint256) public trancheOneBalances;
    mapping (address => mapping (address => uint256)) allowed;

    // mining schedule
    mapping(uint => uint256) public trancheTokens;
    mapping(uint => uint256) public trancheRate;

    // events (ERC20)
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    function UTU() {
        owner = msg.sender;
        feesAddr = msg.sender;
        trancheAdmin = msg.sender;
        trancheOneSaleTime = now + 182 days;    // 6 months
        populateTrancheTokens();
        populateTrancheRates();
    }

    function populateTrancheTokens() internal {
        trancheTokens[1] = 1E25;
        trancheTokens[2] = 2E25;
        trancheTokens[3] = 1E25;
        trancheTokens[4] = 1E25;
    }

    function populateTrancheRates() internal {
        trancheRate[1] = 3.457E20;
        trancheRate[2] = 8.643E19;
        trancheRate[3] = 4.321E19;
        trancheRate[4] = 2.161E19;
    }

    function () payable public {
        require((msg.value > 0) && (receiveEth));
        allocateTokens(msg.value,0);
    }

    function allocateTokens(uint256 _submitted, uint256 _tokenCount) internal {
        uint256 _tokensAfforded = 0;
        loopCount++;

        if((trancheLevel <= maxTranche) && (loopCount <= maxTranche)) {
            _tokensAfforded = div(mul(_submitted, trancheRate[trancheLevel]), 1 ether);
        }

        if((_tokensAfforded >= trancheTokens[trancheLevel]) && (loopCount <= maxTranche)) {
            _submitted = sub(_submitted, div(mul(trancheTokens[trancheLevel], 1 ether), trancheRate[trancheLevel]));
            _tokenCount = add(_tokenCount, trancheTokens[trancheLevel]);

            if(trancheLevel == 1) {
                // we need to record tranche1 purchases so we can stop sale/transfer of them during the first 6 mths
                trancheOneBalances[msg.sender] = add(trancheOneBalances[msg.sender], trancheTokens[trancheLevel]);
            }

            circulatingSupply = add(circulatingSupply, _tokensAfforded);
            trancheTokens[trancheLevel] = 0;

            trancheLevel++;

            if(trancheLevel == 2) {
                trancheOne = false;
            }

            allocateTokens(_submitted, _tokenCount);
        }
        else if((trancheTokens[trancheLevel] >= _tokensAfforded) && (_tokensAfforded > 0) && (loopCount <= maxTranche)) {
            trancheTokens[trancheLevel] = sub(trancheTokens[trancheLevel], _tokensAfforded);
            _tokenCount = add(_tokenCount, _tokensAfforded);
            circulatingSupply = add(circulatingSupply, _tokensAfforded);

            if(trancheLevel == 1) {
                // we need to record tranche1 purchases
                trancheOneBalances[msg.sender] = add(trancheOneBalances[msg.sender], _tokenCount);
            }

            // we've spent up - go around again and issue tokens to recipient
            allocateTokens(0, _tokenCount);
        }
        else {
            // 15% of the purchased tokens amount is fees
            uint256 fees = 0;
            if(payFees) {
                fees = add(fees, ((_tokenCount * feePercent) / 10000));
                circulatingSupply = add(circulatingSupply, fees);
            }

            balances[msg.sender] = add(balances[msg.sender], _tokenCount);
            trancheTokens[maxTranche] = sub(trancheTokens[maxTranche], fees);
            balances[feesAddr] = add(balances[feesAddr], fees);

            if(trancheOne) {
                trancheOneBalances[feesAddr] = add(trancheOneBalances[feesAddr], fees);
            }

            Transfer(this, msg.sender, _tokenCount);
            Transfer(this, feesAddr, fees);
            loopCount = 0;
        }
    }

    function transfer(address _to, uint256 _value) public {
        require(balances[msg.sender] >= _value);

        if(_to == address(this)) {
            // WARNING: if you transfer tokens back to the contract you will lose them
            balances[msg.sender] = sub(balances[msg.sender], _value);

            if(_value >= trancheOneBalances[msg.sender]) {
                trancheOneBalances[msg.sender] = 0;
            }
            else {
                trancheOneBalances[msg.sender] = sub(trancheOneBalances[msg.sender], _value);
            }

            circulatingSupply = sub(circulatingSupply, _value);
            Transfer(msg.sender, _to, _value);
        }
        else {
            if(now >= trancheOneSaleTime) {
                balances[msg.sender] = sub(balances[msg.sender], _value);
                balances[_to] = add(balances[_to], _value);
                Transfer(msg.sender, _to, _value);
            }
            else {
                if(_value <= sub(balances[msg.sender],trancheOneBalances[msg.sender])) {
                    balances[msg.sender] = sub(balances[msg.sender], _value);
                    balances[_to] = add(balances[_to], _value);
                    Transfer(msg.sender, _to, _value);
                }
                else revert();  // you can't transfer tranche1 tokens during the first 6 months
            }
        }
    }

    function balanceOf(address _receiver) public constant returns (uint256) {
        return balances[_receiver];
    }

    function trancheOneBalanceOf(address _receiver) public constant returns (uint256) {
        return trancheOneBalances[_receiver];
    }

    function balanceInTranche() public constant returns (uint256) {
        return trancheTokens[trancheLevel];
    }

    function balanceInSpecificTranche(uint256 _tranche) public constant returns (uint256) {
        return trancheTokens[_tranche];
    }

    function rateOfSpecificTranche(uint256 _tranche) public constant returns (uint256) {
        return trancheRate[_tranche];
    }

    function changeFeesAddress(address _fees) public {
        require(msg.sender == feesAddr);
        feesAddr = _fees;
    }

    function payFeesToggle() public {
        require(msg.sender == owner);
        if(payFees) {
            payFees = false;
        }
        else {
            payFees = true;
        }
    }

    // enables fee update - must be between 0 and 100 (%)
    function updateFeeAmount(uint _newFee) public {
        require(msg.sender == owner);
        require((_newFee >= 0) && (_newFee <= 100));
        feePercent = _newFee * 100;
    }

    function changeOwner(address _recipient) public {
        require(msg.sender == owner);
        owner = _recipient;
    }

    function changeTrancheAdmin(address _trancheAdmin) public {
        require((msg.sender == owner) || (msg.sender == trancheAdmin));
        trancheAdmin = _trancheAdmin;
    }

    function toggleReceiveEth() public {
        require(msg.sender == owner);
        if(receiveEth == true) {
            receiveEth = false;
        }
        else receiveEth = true;
    }

    function otcPurchase(uint256 _tokens, address _recipient) public {
        require(msg.sender == owner);
        balances[_recipient] = add(balances[_recipient], _tokens);
        circulatingSupply = add(circulatingSupply, _tokens);
        Transfer(this, _recipient, _tokens);
    }

    function otcPurchaseAndEscrow(uint256 _tokens, address _recipient) public {
        require(msg.sender == owner);
        balances[_recipient] = add(balances[_recipient], _tokens);
        trancheOneBalances[msg.sender] = add(trancheOneBalances[msg.sender], _tokens);
        circulatingSupply = add(circulatingSupply, _tokens);
        Transfer(this, _recipient, _tokens);
    }

    function safeWithdrawal(address _receiver, uint256 _value) public {
        require(msg.sender == owner);
        require(_value <= this.balance);
        _receiver.transfer(_value);
    }

    function addTrancheRateAndTokens(uint256 _tokens, uint256 _rate) public {
        require(((msg.sender == owner) || (msg.sender == trancheAdmin)) && (addTranches == true));
        require(add(_tokens, circulatingSupply) <= totalSupply);
        maxTranche++;
        trancheTokens[maxTranche] = _tokens;
        trancheRate[maxTranche] = _rate;
    }

    // enables adjustment based on ETH/EUR variation
    function updateTrancheRate(uint256 _level, uint256 _rate) {
        require(((msg.sender == owner) || (msg.sender == trancheAdmin)) && trancheRate[_level] > 0);
        trancheRate[_level] = _rate;
    }

    // when all tranches have been added to the contract trigger this to make adding more impossible
    function closeTrancheAddition() public {
        require(msg.sender == owner);
        addTranches = false;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint) {
        uint c = a * b;
        require(a == 0 || c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint) {
        require(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a);
        return c;
    }

    // ERC20 compliance
    function transferFrom(address _from, address _to, uint256 _tokens) public returns (bool success) {
        require(balances[_from] >= _tokens);
        balances[_from] = sub(balances[_from],_tokens);
        allowed[_from][msg.sender] = sub(allowed[_from][msg.sender],_tokens);
        balances[_to] = add(balances[_to],_tokens);
        Transfer(_from, _to, _tokens);
        return true;
    }

    function approve(address _spender, uint256 _tokens) public returns (bool success) {
        allowed[msg.sender][_spender] = _tokens;
        Approval(msg.sender, _spender, _tokens);
        return true;
    }

    function allowance(address _tokenOwner, address _spender) public constant returns (uint256 remaining) {
        return allowed[_tokenOwner][_spender];
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"trancheLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tranche","type":"uint256"}],"name":"balanceInSpecificTranche","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"addTrancheRateAndTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tranche","type":"uint256"}],"name":"rateOfSpecificTranche","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"receiveEth","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"trancheRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"trancheOneBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_level","type":"uint256"},{"name":"_rate","type":"uint256"}],"name":"updateTrancheRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_receiver","type":"address"}],"name":"trancheOneBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"toggleReceiveEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feesAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"trancheOneSaleTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_receiver","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceInTranche","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"closeTrancheAddition","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"circulatingSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newFee","type":"uint256"}],"name":"updateFeeAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"},{"name":"_recipient","type":"address"}],"name":"otcPurchaseAndEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"payFeesToggle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"},{"name":"_recipient","type":"address"}],"name":"otcPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_value","type":"uint256"}],"name":"safeWithdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenOwner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trancheAdmin","type":"address"}],"name":"changeTrancheAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"trancheTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fees","type":"address"}],"name":"changeFeesAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526040805190810160405280601581526020017f5570677261646520546f6b656e205574696c6974790000000000000000000000815250600090805190602001906200005192919062000382565b506012600160006101000a81548160ff021916908360ff1602179055506040805190810160405280600381526020017f555455000000000000000000000000000000000000000000000000000000000081525060029080519060200190620000bb92919062000382565b506a295be96e640669720000006006556001600755600060085560046009556000600a556105dc600b556001600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff0219169083151502179055506001600d60036101000a81548160ff0219169083151502179055503480156200015e57600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062eff1004201600c819055506200024762000266640100000000026401000000009004565b62000260620002f8640100000000026401000000009004565b62000431565b6a084595161401484a0000006011600060018152602001908152602001600020819055506a108b2a2c280290940000006011600060028152602001908152602001600020819055506a084595161401484a0000006011600060038152602001908152602001600020819055506a084595161401484a000000601160006004815260200190815260200160002081905550565b6812bd8d1e67248a00006012600060018152602001908152602001600020819055506804af750b1301030000601260006002815260200190815260200160002081905550680257a8c21048a1000060126000600381526020019081526020016000208190555068012be624815c310000601260006004815260200190815260200160002081905550565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003c557805160ff1916838001178555620003f6565b82800160010185558215620003f6579182015b82811115620003f5578251825591602001919060010190620003d8565b5b50905062000405919062000409565b5090565b6200042e91905b808211156200042a57600081600090555060010162000410565b5090565b90565b612c0480620004416000396000f3006080604052600436106101b6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062e58cac146101ea57806306fdde0314610215578063095ea7b3146102a55780630c18e1c91461030a57806318160ddd1461034b5780631982ef79146103765780631b4d18c1146103ad57806323b872dd146103ee57806327e235e314610473578063313ce567146104ca5780634185f8eb146104fb578063478fe6031461052a5780634b3db03f1461056b5780634bf768f3146105c25780634c46e52c146105f9578063626ebe391461065057806364ba7150146106675780636e3c99a3146106be57806370a08231146106e95780638b294960146107405780638da5cb5b1461076b5780638ed0ac8b146107c25780639358928b146107d957806395d89b41146108045780639ea55bb014610894578063a6f9dae1146108c1578063a9059cbb14610904578063b60b3c5914610951578063c42edd611461099e578063d0c32dd3146109b5578063d34dd1f014610a02578063dd62ed3e14610a4f578063e2df046314610ac6578063f9497eed14610b09578063feec768014610b4a575b6000341180156101d25750600d60009054906101000a900460ff165b15156101dd57600080fd5b6101e8346000610b8d565b005b3480156101f657600080fd5b506101ff6112ae565b6040518082815260200191505060405180910390f35b34801561022157600080fd5b5061022a6112b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026a57808201518184015260208101905061024f565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b157600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611352565b604051808215151515815260200191505060405180910390f35b34801561031657600080fd5b5061033560048036038101908080359060200190929190505050611444565b6040518082815260200191505060405180910390f35b34801561035757600080fd5b50610360611461565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b506103ab6004803603810190808035906020019092919080359060200190929190505050611467565b005b3480156103b957600080fd5b506103d8600480360381019080803590602001909291905050506115a0565b6040518082815260200191505060405180910390f35b3480156103fa57600080fd5b50610459600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115bd565b604051808215151515815260200191505060405180910390f35b34801561047f57600080fd5b506104b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189b565b6040518082815260200191505060405180910390f35b3480156104d657600080fd5b506104df6118b3565b604051808260ff1660ff16815260200191505060405180910390f35b34801561050757600080fd5b506105106118c6565b604051808215151515815260200191505060405180910390f35b34801561053657600080fd5b50610555600480360381019080803590602001909291905050506118d9565b6040518082815260200191505060405180910390f35b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f1565b6040518082815260200191505060405180910390f35b3480156105ce57600080fd5b506105f76004803603810190808035906020019092919080359060200190929190505050611909565b005b34801561060557600080fd5b5061063a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f8565b6040518082815260200191505060405180910390f35b34801561065c57600080fd5b50610665611a41565b005b34801561067357600080fd5b5061067c611af7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ca57600080fd5b506106d3611b1d565b6040518082815260200191505060405180910390f35b3480156106f557600080fd5b5061072a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b23565b6040518082815260200191505060405180910390f35b34801561074c57600080fd5b50610755611b6c565b6040518082815260200191505060405180910390f35b34801561077757600080fd5b50610780611b89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ce57600080fd5b506107d7611baf565b005b3480156107e557600080fd5b506107ee611c28565b6040518082815260200191505060405180910390f35b34801561081057600080fd5b50610819611c2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561085957808201518184015260208101905061083e565b50505050905090810190601f1680156108865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108a057600080fd5b506108bf60048036038101908080359060200190929190505050611ccc565b005b3480156108cd57600080fd5b50610902600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d52565b005b34801561091057600080fd5b5061094f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df2565b005b34801561095d57600080fd5b5061099c60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612445565b005b3480156109aa57600080fd5b506109b3612634565b005b3480156109c157600080fd5b50610a0060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126e3565b005b348015610a0e57600080fd5b50610a4d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612846565b005b348015610a5b57600080fd5b50610ab0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612913565b6040518082815260200191505060405180910390f35b348015610ad257600080fd5b50610b07600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061299a565b005b348015610b1557600080fd5b50610b3460048036038101908080359060200190929190505050612a92565b6040518082815260200191505060405180910390f35b348015610b5657600080fd5b50610b8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aaa565b005b60008060009150600a6000815480929190600101919050555060095460075411158015610bbe5750600954600a5411155b15610bf657610bf3610be58560126000600754815260200190815260200160002054612b4a565b670de0b6b3a7640000612b80565b91505b601160006007548152602001908152602001600020548210158015610c1f5750600954600a5411155b15610db757610c7284610c6d610c5260116000600754815260200190815260200160002054670de0b6b3a7640000612b4a565b60126000600754815260200190815260200160002054612b80565b612b9b565b9350610c938360116000600754815260200190815260200160002054612bb7565b925060016007541415610d4257610cfe600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460116000600754815260200190815260200160002054612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4e60085483612bb7565b60088190555060006011600060075481526020019081526020016000208190555060076000815480929190600101919050555060026007541415610da8576000600d60036101000a81548160ff0219169083151502179055505b610db28484610b8d565b6112a8565b816011600060075481526020019081526020016000205410158015610ddc5750600082115b8015610dec5750600954600a5411155b15610eef57610e106011600060075481526020019081526020016000205483612b9b565b60116000600754815260200190815260200160002081905550610e338383612bb7565b9250610e4160085483612bb7565b60088190555060016007541415610edf57610e9b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610eea600084610b8d565b6112a7565b60009050600d60019054906101000a900460ff1615610f3857610f2381612710600b548602811515610f1d57fe5b04612bb7565b9050610f3160085482612bb7565b6008819055505b610f81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bb7565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe36011600060095481526020019081526020016000205482612b9b565b60116000600954815260200190815260200160002081905550611067600e6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60039054906101000a900460ff16156111b25761114c600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000600a819055505b5b50505050565b60075481565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561134a5780601f1061131f5761010080835404028352916020019161134a565b820191906000526020600020905b81548152906001019060200180831161132d57829003601f168201915b505050505081565b600081601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600060116000838152602001908152602001600020549050919050565b60065481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115105750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b801561152f575060011515600d60029054906101000a900460ff161515145b151561153a57600080fd5b60065461154983600854612bb7565b1115151561155657600080fd5b600960008154809291906001019190505550816011600060095481526020019081526020016000208190555080601260006009548152602001908152602001600020819055505050565b600060126000838152602001908152602001600020549050919050565b600081600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561160d57600080fd5b611656600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612b9b565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061171f601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612b9b565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117e8600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600e6020528060005260406000206000915090505481565b600160009054906101000a900460ff1681565b600d60009054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b600f6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119b25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80156119d1575060006012600084815260200190815260200160002054115b15156119dc57600080fd5b8060126000848152602001908152602001600020819055505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9d57600080fd5b60011515600d60009054906101000a900460ff1615151415611ad9576000600d60006101000a81548160ff021916908315150217905550611af5565b6001600d60006101000a81548160ff0219169083151502179055505b565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060116000600754815260200190815260200160002054905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0b57600080fd5b6000600d60026101000a81548160ff021916908315150217905550565b60085481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cc45780601f10611c9957610100808354040283529160200191611cc4565b820191906000526020600020905b815481529060010190602001808311611ca757829003601f168201915b505050505081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2857600080fd5b60008110158015611d3a575060648111155b1515611d4557600080fd5b60648102600b8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dae57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e4057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561209b57611ebd600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101515611f92576000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201f565b611fdb600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61202b60085482612b9b565b6008819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612441565b600c5442101515612228576120ef600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061217b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612440565b6122b0600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9b565b8111151561243a57612301600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238d600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361243f565b600080fd5b5b5b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124a157600080fd5b6124ea600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612576600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125c560085483612bb7565b6008819055508073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561269057600080fd5b600d60019054906101000a900460ff16156126c5576000600d60016101000a81548160ff0219169083151502179055506126e1565b6001600d60016101000a81548160ff0219169083151502179055505b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273f57600080fd5b612788600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127d760085483612bb7565b6008819055508073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128a257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111515156128c857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561290e573d6000803e3d6000fd5b505050565b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a435750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612a4e57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60116020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0657600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840290506000841480612b6b5750828482811515612b6857fe5b04145b1515612b7657600080fd5b8091505092915050565b6000808284811515612b8e57fe5b0490508091505092915050565b6000828211151515612bac57600080fd5b818303905092915050565b6000808284019050838110151515612bce57600080fd5b80915050929150505600a165627a7a723058202001733ae11d480752a110192f2e7d2e90b72a5670b597a56e09a0d23eb4ea6c0029

Deployed Bytecode

0x6080604052600436106101b6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062e58cac146101ea57806306fdde0314610215578063095ea7b3146102a55780630c18e1c91461030a57806318160ddd1461034b5780631982ef79146103765780631b4d18c1146103ad57806323b872dd146103ee57806327e235e314610473578063313ce567146104ca5780634185f8eb146104fb578063478fe6031461052a5780634b3db03f1461056b5780634bf768f3146105c25780634c46e52c146105f9578063626ebe391461065057806364ba7150146106675780636e3c99a3146106be57806370a08231146106e95780638b294960146107405780638da5cb5b1461076b5780638ed0ac8b146107c25780639358928b146107d957806395d89b41146108045780639ea55bb014610894578063a6f9dae1146108c1578063a9059cbb14610904578063b60b3c5914610951578063c42edd611461099e578063d0c32dd3146109b5578063d34dd1f014610a02578063dd62ed3e14610a4f578063e2df046314610ac6578063f9497eed14610b09578063feec768014610b4a575b6000341180156101d25750600d60009054906101000a900460ff165b15156101dd57600080fd5b6101e8346000610b8d565b005b3480156101f657600080fd5b506101ff6112ae565b6040518082815260200191505060405180910390f35b34801561022157600080fd5b5061022a6112b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026a57808201518184015260208101905061024f565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b157600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611352565b604051808215151515815260200191505060405180910390f35b34801561031657600080fd5b5061033560048036038101908080359060200190929190505050611444565b6040518082815260200191505060405180910390f35b34801561035757600080fd5b50610360611461565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b506103ab6004803603810190808035906020019092919080359060200190929190505050611467565b005b3480156103b957600080fd5b506103d8600480360381019080803590602001909291905050506115a0565b6040518082815260200191505060405180910390f35b3480156103fa57600080fd5b50610459600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115bd565b604051808215151515815260200191505060405180910390f35b34801561047f57600080fd5b506104b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189b565b6040518082815260200191505060405180910390f35b3480156104d657600080fd5b506104df6118b3565b604051808260ff1660ff16815260200191505060405180910390f35b34801561050757600080fd5b506105106118c6565b604051808215151515815260200191505060405180910390f35b34801561053657600080fd5b50610555600480360381019080803590602001909291905050506118d9565b6040518082815260200191505060405180910390f35b34801561057757600080fd5b506105ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f1565b6040518082815260200191505060405180910390f35b3480156105ce57600080fd5b506105f76004803603810190808035906020019092919080359060200190929190505050611909565b005b34801561060557600080fd5b5061063a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f8565b6040518082815260200191505060405180910390f35b34801561065c57600080fd5b50610665611a41565b005b34801561067357600080fd5b5061067c611af7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ca57600080fd5b506106d3611b1d565b6040518082815260200191505060405180910390f35b3480156106f557600080fd5b5061072a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b23565b6040518082815260200191505060405180910390f35b34801561074c57600080fd5b50610755611b6c565b6040518082815260200191505060405180910390f35b34801561077757600080fd5b50610780611b89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ce57600080fd5b506107d7611baf565b005b3480156107e557600080fd5b506107ee611c28565b6040518082815260200191505060405180910390f35b34801561081057600080fd5b50610819611c2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561085957808201518184015260208101905061083e565b50505050905090810190601f1680156108865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108a057600080fd5b506108bf60048036038101908080359060200190929190505050611ccc565b005b3480156108cd57600080fd5b50610902600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d52565b005b34801561091057600080fd5b5061094f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df2565b005b34801561095d57600080fd5b5061099c60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612445565b005b3480156109aa57600080fd5b506109b3612634565b005b3480156109c157600080fd5b50610a0060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126e3565b005b348015610a0e57600080fd5b50610a4d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612846565b005b348015610a5b57600080fd5b50610ab0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612913565b6040518082815260200191505060405180910390f35b348015610ad257600080fd5b50610b07600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061299a565b005b348015610b1557600080fd5b50610b3460048036038101908080359060200190929190505050612a92565b6040518082815260200191505060405180910390f35b348015610b5657600080fd5b50610b8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aaa565b005b60008060009150600a6000815480929190600101919050555060095460075411158015610bbe5750600954600a5411155b15610bf657610bf3610be58560126000600754815260200190815260200160002054612b4a565b670de0b6b3a7640000612b80565b91505b601160006007548152602001908152602001600020548210158015610c1f5750600954600a5411155b15610db757610c7284610c6d610c5260116000600754815260200190815260200160002054670de0b6b3a7640000612b4a565b60126000600754815260200190815260200160002054612b80565b612b9b565b9350610c938360116000600754815260200190815260200160002054612bb7565b925060016007541415610d4257610cfe600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460116000600754815260200190815260200160002054612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d4e60085483612bb7565b60088190555060006011600060075481526020019081526020016000208190555060076000815480929190600101919050555060026007541415610da8576000600d60036101000a81548160ff0219169083151502179055505b610db28484610b8d565b6112a8565b816011600060075481526020019081526020016000205410158015610ddc5750600082115b8015610dec5750600954600a5411155b15610eef57610e106011600060075481526020019081526020016000205483612b9b565b60116000600754815260200190815260200160002081905550610e338383612bb7565b9250610e4160085483612bb7565b60088190555060016007541415610edf57610e9b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610eea600084610b8d565b6112a7565b60009050600d60019054906101000a900460ff1615610f3857610f2381612710600b548602811515610f1d57fe5b04612bb7565b9050610f3160085482612bb7565b6008819055505b610f81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612bb7565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe36011600060095481526020019081526020016000205482612b9b565b60116000600954815260200190815260200160002081905550611067600e6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60039054906101000a900460ff16156111b25761114c600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000600a819055505b5b50505050565b60075481565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561134a5780601f1061131f5761010080835404028352916020019161134a565b820191906000526020600020905b81548152906001019060200180831161132d57829003601f168201915b505050505081565b600081601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600060116000838152602001908152602001600020549050919050565b60065481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115105750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b801561152f575060011515600d60029054906101000a900460ff161515145b151561153a57600080fd5b60065461154983600854612bb7565b1115151561155657600080fd5b600960008154809291906001019190505550816011600060095481526020019081526020016000208190555080601260006009548152602001908152602001600020819055505050565b600060126000838152602001908152602001600020549050919050565b600081600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561160d57600080fd5b611656600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612b9b565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061171f601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612b9b565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117e8600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600e6020528060005260406000206000915090505481565b600160009054906101000a900460ff1681565b600d60009054906101000a900460ff1681565b60126020528060005260406000206000915090505481565b600f6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119b25750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80156119d1575060006012600084815260200190815260200160002054115b15156119dc57600080fd5b8060126000848152602001908152602001600020819055505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9d57600080fd5b60011515600d60009054906101000a900460ff1615151415611ad9576000600d60006101000a81548160ff021916908315150217905550611af5565b6001600d60006101000a81548160ff0219169083151502179055505b565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060116000600754815260200190815260200160002054905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0b57600080fd5b6000600d60026101000a81548160ff021916908315150217905550565b60085481565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611cc45780601f10611c9957610100808354040283529160200191611cc4565b820191906000526020600020905b815481529060010190602001808311611ca757829003601f168201915b505050505081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2857600080fd5b60008110158015611d3a575060648111155b1515611d4557600080fd5b60648102600b8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dae57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e4057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561209b57611ebd600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481101515611f92576000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201f565b611fdb600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61202b60085482612b9b565b6008819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612441565b600c5442101515612228576120ef600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061217b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3612440565b6122b0600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9b565b8111151561243a57612301600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612b9b565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238d600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612bb7565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a361243f565b600080fd5b5b5b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124a157600080fd5b6124ea600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612576600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125c560085483612bb7565b6008819055508073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561269057600080fd5b600d60019054906101000a900460ff16156126c5576000600d60016101000a81548160ff0219169083151502179055506126e1565b6001600d60016101000a81548160ff0219169083151502179055505b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273f57600080fd5b612788600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612bb7565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127d760085483612bb7565b6008819055508073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128a257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111515156128c857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561290e573d6000803e3d6000fd5b505050565b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612a435750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612a4e57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60116020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0657600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840290506000841480612b6b5750828482811515612b6857fe5b04145b1515612b7657600080fd5b8091505092915050565b6000808284811515612b8e57fe5b0490508091505092915050565b6000828211151515612bac57600080fd5b818303905092915050565b6000808284019050838110151515612bce57600080fd5b80915050929150505600a165627a7a723058202001733ae11d480752a110192f2e7d2e90b72a5670b597a56e09a0d23eb4ea6c0029

Swarm Source

bzzr://2001733ae11d480752a110192f2e7d2e90b72a5670b597a56e09a0d23eb4ea6c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.