ETH Price: $2,149.88 (+4.07%)

Contract

0xcA636e298ceE7E452B8EC1A7Dc8A3d9503f2b618
 

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

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer59799542018-07-17 10:03:082796 days ago1531821788
0xcA636e29...503f2b618
 Contract Creation0 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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x36241c60...E6F0a2fB8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Crowdsale

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-07-17
*/

/*! cuto.sol | (c) 2018 Develop by BelovITLab LLC (smartcontract.ru), author @stupidlovejoy | License: MIT */

pragma solidity 0.4.24;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns(uint256 c) {
        if(a == 0) {
            return 0;
        }
        c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns(uint256) {
        return a / b;
    }

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

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

contract Ownable {
    address public owner;

    event OwnershipRenounced(address indexed previousOwner);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    constructor() public {
        owner = msg.sender;
    }

    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        _transferOwnership(_newOwner);
    }
}

contract ERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() public view returns(uint256);
    function balanceOf(address who) public view returns(uint256);
    function transfer(address to, uint256 value) public returns(bool);
    function transferFrom(address from, address to, uint256 value) public returns(bool);
    function allowance(address owner, address spender) public view returns(uint256);
    function approve(address spender, uint256 value) public returns(bool);
}

contract StandardToken is ERC20 {
    using SafeMath for uint256;

    uint256 totalSupply_;

    string public name;
    string public symbol;
    uint8 public decimals;

    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) internal allowed;

    constructor(string _name, string _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    function totalSupply() public view returns(uint256) {
        return totalSupply_;
    }

    function balanceOf(address _owner) public view returns(uint256) {
        return balances[_owner];
    }

    function transfer(address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function multiTransfer(address[] _to, uint256[] _value) public returns(bool) {
        require(_to.length == _value.length);

        for(uint i = 0; i < _to.length; i++) {
            transfer(_to[i], _value[i]);
        }

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

        emit Transfer(_from, _to, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns(uint256) {
        return allowed[_owner][_spender];
    }

    function approve(address _spender, uint256 _value) public returns(bool) {
        allowed[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addedValue) public returns(bool) {
        allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns(bool) {
        uint oldValue = allowed[msg.sender][_spender];

        if(_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        }
        else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

contract MintableToken is StandardToken, Ownable {
    bool public mintingFinished = false;

    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    modifier canMint() { require(!mintingFinished); _; }
    modifier hasMintPermission() { require(msg.sender == owner); _; }

    function mint(address _to, uint256 _amount) hasMintPermission canMint public returns(bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);

        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    function finishMinting() onlyOwner canMint public returns(bool) {
        mintingFinished = true;

        emit MintFinished();
        return true;
    }
}

contract CappedToken is MintableToken {
    uint256 public cap;

    constructor(uint256 _cap) public {
        require(_cap > 0);
        cap = _cap;
    }

    function mint(address _to, uint256 _amount) public returns(bool) {
        require(totalSupply_.add(_amount) <= cap);

        return super.mint(_to, _amount);
    }
}

contract BurnableToken is StandardToken {
    event Burn(address indexed burner, uint256 value);

    function _burn(address _who, uint256 _value) internal {
        require(_value <= balances[_who]);

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);

        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
    }

    function burn(uint256 _value) public {
        _burn(msg.sender, _value);
    }

    function burnFrom(address _from, uint256 _value) public {
        require(_value <= allowed[_from][msg.sender]);
        
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        _burn(_from, _value);
    }
}

contract Withdrawable is Ownable {
    function withdrawEther(address _to, uint _value) onlyOwner public {
        require(_to != address(0));
        require(address(this).balance >= _value);

        _to.transfer(_value);
    }

    function withdrawTokensTransfer(ERC20 _token, address _to, uint256 _value) onlyOwner public {
        require(_token.transfer(_to, _value));
    }

    function withdrawTokensTransferFrom(ERC20 _token, address _from, address _to, uint256 _value) onlyOwner public {
        require(_token.transferFrom(_from, _to, _value));
    }

    function withdrawTokensApprove(ERC20 _token, address _spender, uint256 _value) onlyOwner public {
        require(_token.approve(_spender, _value));
    }
}

contract Pausable is Ownable {
    bool public paused = false;

    event Pause();
    event Unpause();

    modifier whenNotPaused() { require(!paused); _; }
    modifier whenPaused() { require(paused); _; }

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

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

contract Manageable is Ownable {
    address[] public managers;

    event ManagerAdded(address indexed manager);
    event ManagerRemoved(address indexed manager);

    modifier onlyManager() { require(isManager(msg.sender)); _; }

    function countManagers() view public returns(uint) {
        return managers.length;
    }

    function getManagers() view public returns(address[]) {
        return managers;
    }

    function isManager(address _manager) view public returns(bool) {
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                return true;
            }
        }
        return false;
    }

    function addManager(address _manager) onlyOwner public {
        require(_manager != address(0));
        require(!isManager(_manager));

        managers.push(_manager);

        emit ManagerAdded(_manager);
    }

    function removeManager(address _manager) onlyOwner public {
        require(isManager(_manager));

        uint index = 0;
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                index = i;
            }
        }

        for(; index < managers.length - 1; index++) {
            managers[index] = managers[index + 1];
        }
        
        managers.length--;
        emit ManagerRemoved(_manager);
    }
}


contract Token is CappedToken, BurnableToken, Withdrawable {
    constructor() CappedToken(6000000 * 1e8) StandardToken("Cuprum Token", "CUPRUM", 8) public {
    }
}

contract Crowdsale is Manageable, Withdrawable, Pausable {
    using SafeMath for uint;

    Token public token;
    bool public crowdsaleClosed = false;

    event ExternalPurchase(address indexed holder, string tx, string currency, uint256 currencyAmount, uint256 rateToEther, uint256 tokenAmount);
    event CrowdsaleClose();
   
    constructor() public {
        token = new Token();
    }

    function externalPurchase(address _to, string _tx, string _currency, uint _value, uint256 _rate, uint256 _tokens) whenNotPaused onlyManager public {
        token.mint(_to, _tokens);
        emit ExternalPurchase(_to, _tx, _currency, _value, _rate, _tokens);
    }

    function closeCrowdsale(address _to) onlyOwner public {
        require(!crowdsaleClosed);

        token.transferOwnership(_to);
        crowdsaleClosed = true;

        emit CrowdsaleClose();
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"closeCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countManagers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tx","type":"string"},{"name":"_currency","type":"string"},{"name":"_value","type":"uint256"},{"name":"_rate","type":"uint256"},{"name":"_tokens","type":"uint256"}],"name":"externalPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"addManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"managers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensApprove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getManagers","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"removeManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_manager","type":"address"}],"name":"isManager","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"tx","type":"string"},{"indexed":false,"name":"currency","type":"string"},{"indexed":false,"name":"currencyAmount","type":"uint256"},{"indexed":false,"name":"rateToEther","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"ExternalPurchase","type":"event"},{"anonymous":false,"inputs":[],"name":"CrowdsaleClose","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"manager","type":"address"}],"name":"ManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"manager","type":"address"}],"name":"ManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

0x60806040526002805460ff60a860020a60ff02011916905534801561002357600080fd5b5060008054600160a060020a0319163317905561003e610086565b604051809103906000f08015801561005a573d6000803e3d6000fd5b50600260016101000a815481600160a060020a030219169083600160a060020a03160217905550610096565b60405161148b8061101483390190565b610f6f806100a56000396000f3006080604052600436106100f85763ffffffff60e060020a6000350416630b522abf81146100fd5780630f5bab7c146101205780631ba6e1bd146101475780632d06177a146101f95780633d39c2601461021a5780633f4ba83a1461024e578063522f6815146102635780635c975abb146102875780636cf7ccac146102b0578063715018a6146102e0578063757b8cf4146102f55780638456cb591461031f5780638da5cb5b14610334578063a8d088bb14610349578063ac18de43146103ae578063ccb07cef146103cf578063f0595dd1146103e4578063f2fde38b1461040e578063f3ae24151461042f578063fc0c546a14610450575b600080fd5b34801561010957600080fd5b5061011e600160a060020a0360043516610465565b005b34801561012c57600080fd5b5061013561058d565b60408051918252519081900360200190f35b34801561015357600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261011e958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750508435955050506020830135926040013591506105949050565b34801561020557600080fd5b5061011e600160a060020a036004351661078b565b34801561022657600080fd5b5061023260043561084e565b60408051600160a060020a039092168252519081900360200190f35b34801561025a57600080fd5b5061011e610876565b34801561026f57600080fd5b5061011e600160a060020a03600435166024356108d3565b34801561029357600080fd5b5061029c610948565b604080519115158252519081900360200190f35b3480156102bc57600080fd5b5061011e600160a060020a0360043581169060243581169060443516606435610951565b3480156102ec57600080fd5b5061011e610a19565b34801561030157600080fd5b5061011e600160a060020a0360043581169060243516604435610a85565b34801561032b57600080fd5b5061011e610b36565b34801561034057600080fd5b50610232610b95565b34801561035557600080fd5b5061035e610ba4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561039a578181015183820152602001610382565b505050509050019250505060405180910390f35b3480156103ba57600080fd5b5061011e600160a060020a0360043516610c06565b3480156103db57600080fd5b5061029c610d58565b3480156103f057600080fd5b5061011e600160a060020a0360043581169060243516604435610d7a565b34801561041a57600080fd5b5061011e600160a060020a0360043516610df4565b34801561043b57600080fd5b5061029c600160a060020a0360043516610e17565b34801561045c57600080fd5b50610232610e75565b600054600160a060020a0316331461047c57600080fd5b6002547501000000000000000000000000000000000000000000900460ff16156104a557600080fd5b600254604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291516101009093049091169163f2fde38b9160248082019260009290919082900301818387803b15801561051257600080fd5b505af1158015610526573d6000803e3d6000fd5b50506002805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905550506040517f587261db95996a4ec51ca62d662d1f046a5e62831eb4ae0b8cd974da5673fbf090600090a150565b6001545b90565b60025460ff16156105a457600080fd5b6105ad33610e17565b15156105b857600080fd5b600254604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018590529151610100909304909116916340c10f19916044808201926020929091908290030181600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b505060408051908101849052606081018390526080810182905260a08082528651908201528551600160a060020a038816917f4d0b080b5756debe53fca7630901397a436c3a15682817f1f44104b52824365a918891889188918891889190819060208281019160c08401918a019080838360005b838110156106e45781810151838201526020016106cc565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561074457818101518382015260200161072c565b50505050905090810190601f1680156107715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a2505050505050565b600054600160a060020a031633146107a257600080fd5b600160a060020a03811615156107b757600080fd5b6107c081610e17565b156107ca57600080fd5b60018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841690811790915560405190917f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a91a250565b600180548290811061085c57fe5b600091825260209091200154600160a060020a0316905081565b600054600160a060020a0316331461088d57600080fd5b60025460ff16151561089e57600080fd5b6002805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600054600160a060020a031633146108ea57600080fd5b600160a060020a03821615156108ff57600080fd5b303181111561090d57600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610943573d6000803e3d6000fd5b505050565b60025460ff1681565b600054600160a060020a0316331461096857600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b1580156109dc57600080fd5b505af11580156109f0573d6000803e3d6000fd5b505050506040513d6020811015610a0657600080fd5b50511515610a1357600080fd5b50505050565b600054600160a060020a03163314610a3057600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610a9c57600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b505050506040513d6020811015610b2957600080fd5b5051151561094357600080fd5b600054600160a060020a03163314610b4d57600080fd5b60025460ff1615610b5d57600080fd5b6002805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b60606001805480602002602001604051908101604052809291908181526020018280548015610bfc57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610bde575b5050505050905090565b600080548190600160a060020a03163314610c2057600080fd5b610c2983610e17565b1515610c3457600080fd5b5060009050805b600154811015610c855782600160a060020a0316600182815481101515610c5e57fe5b600091825260209091200154600160a060020a03161415610c7d578091505b600101610c3b565b60015460001901821015610d0b5760018054838201908110610ca357fe5b60009182526020909120015460018054600160a060020a039092169184908110610cc957fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560019190910190610c85565b6001805490610d1e906000198301610f06565b50604051600160a060020a038416907fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3190600090a2505050565b6002547501000000000000000000000000000000000000000000900460ff1681565b600054600160a060020a03163314610d9157600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610aff57600080fd5b600054600160a060020a03163314610e0b57600080fd5b610e1481610e89565b50565b6000805b600154811015610e6a5782600160a060020a0316600182815481101515610e3e57fe5b600091825260209091200154600160a060020a03161415610e625760019150610e6f565b600101610e1b565b600091505b50919050565b6002546101009004600160a060020a031681565b600160a060020a0381161515610e9e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156109435760008381526020902061094391810190830161059191905b80821115610f3f5760008155600101610f2b565b50905600a165627a7a72305820f6185a828c8c4826910128cfcb0508378fbea7c95d4fac2a56334e1802f6863d002960806040526006805460a060020a60ff02191690553480156200002157600080fd5b50604080518082018252600c81527f43757072756d20546f6b656e000000000000000000000000000000000000000060208083019182528351808501909452600684527f43555052554d0000000000000000000000000000000000000000000000000000908401528151660221b262dd80009391600891620000a691600191620000fd565b508151620000bc906002906020850190620000fd565b506003805460ff90921660ff19909216919091179055505060068054600160a060020a0319163317905560008111620000f457600080fd5b600755620001a2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014057805160ff191683800117855562000170565b8280016001018555821562000170579182015b828111156200017057825182559160200191906001019062000153565b506200017e92915062000182565b5090565b6200019f91905b808211156200017e576000815560010162000189565b90565b6112d980620001b26000396000f30060806040526004361061012f5763ffffffff60e060020a60003504166305d2035b811461013457806306fdde031461015d578063095ea7b3146101e757806318160ddd1461020b5780631e89d5451461023257806323b872dd146102c0578063313ce567146102ea578063355274ea1461031557806340c10f191461032a57806342966c681461034e578063522f681514610368578063661884631461038c5780636cf7ccac146103b057806370a08231146103e0578063715018a614610401578063757b8cf41461041657806379cc6790146104405780637d64bcb4146104645780638da5cb5b1461047957806395d89b41146104aa578063a9059cbb146104bf578063d73dd623146104e3578063dd62ed3e14610507578063f0595dd11461052e578063f2fde38b14610558575b600080fd5b34801561014057600080fd5b50610149610579565b604080519115158252519081900360200190f35b34801561016957600080fd5b5061017261059a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b50610149600160a060020a0360043516602435610627565b34801561021757600080fd5b5061022061068d565b60408051918252519081900360200190f35b34801561023e57600080fd5b506040805160206004803580820135838102808601850190965280855261014995369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506106939650505050505050565b3480156102cc57600080fd5b50610149600160a060020a03600435811690602435166044356106fe565b3480156102f657600080fd5b506102ff610865565b6040805160ff9092168252519081900360200190f35b34801561032157600080fd5b5061022061086e565b34801561033657600080fd5b50610149600160a060020a0360043516602435610874565b34801561035a57600080fd5b506103666004356108aa565b005b34801561037457600080fd5b50610366600160a060020a03600435166024356108b7565b34801561039857600080fd5b50610149600160a060020a036004351660243561092c565b3480156103bc57600080fd5b50610366600160a060020a0360043581169060243581169060443516606435610a1c565b3480156103ec57600080fd5b50610220600160a060020a0360043516610ae4565b34801561040d57600080fd5b50610366610aff565b34801561042257600080fd5b50610366600160a060020a0360043581169060243516604435610b6d565b34801561044c57600080fd5b50610366600160a060020a0360043516602435610c1e565b34801561047057600080fd5b50610149610cb4565b34801561048557600080fd5b5061048e610d5a565b60408051600160a060020a039092168252519081900360200190f35b3480156104b657600080fd5b50610172610d69565b3480156104cb57600080fd5b50610149600160a060020a0360043516602435610dc1565b3480156104ef57600080fd5b50610149600160a060020a0360043516602435610e92565b34801561051357600080fd5b50610220600160a060020a0360043581169060243516610f2b565b34801561053a57600080fd5b50610366600160a060020a0360043581169060243516604435610f56565b34801561056457600080fd5b50610366600160a060020a0360043516610fd0565b60065474010000000000000000000000000000000000000000900460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561061f5780601f106105f45761010080835404028352916020019161061f565b820191906000526020600020905b81548152906001019060200180831161060257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60005490565b600080825184511415156106a657600080fd5b5060005b83518110156106f4576106eb84828151811015156106c457fe5b9060200190602002015184838151811015156106dc57fe5b90602001906020020151610dc1565b506001016106aa565b5060019392505050565b6000600160a060020a038316151561071557600080fd5b600160a060020a03841660009081526004602052604090205482111561073a57600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561076a57600080fd5b600160a060020a038416600090815260046020526040902054610793908363ffffffff610ff016565b600160a060020a0380861660009081526004602052604080822093909355908516815220546107c8908363ffffffff61100216565b600160a060020a03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461080c908363ffffffff610ff016565b600160a060020a038086166000818152600560209081526040808320338452825291829020949094558051868152905192871693919260008051602061128e833981519152929181900390910190a35060019392505050565b60035460ff1681565b60075481565b600060075461088e8360005461100290919063ffffffff16565b111561089957600080fd5b6108a38383611015565b9392505050565b6108b4338261111f565b50565b600654600160a060020a031633146108ce57600080fd5b600160a060020a03821615156108e357600080fd5b30318111156108f157600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610927573d6000803e3d6000fd5b505050565b336000908152600560209081526040808320600160a060020a03861684529091528120548083111561098157336000908152600560209081526040808320600160a060020a03881684529091528120556109b6565b610991818463ffffffff610ff016565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600654600160a060020a03163314610a3357600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b505050506040513d6020811015610ad157600080fd5b50511515610ade57600080fd5b50505050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a03163314610b1657600080fd5b600654604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26006805473ffffffffffffffffffffffffffffffffffffffff19169055565b600654600160a060020a03163314610b8457600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d6020811015610c1157600080fd5b5051151561092757600080fd5b600160a060020a0382166000908152600560209081526040808320338452909152902054811115610c4e57600080fd5b600160a060020a0382166000908152600560209081526040808320338452909152902054610c82908263ffffffff610ff016565b600160a060020a0383166000908152600560209081526040808320338452909152902055610cb0828261111f565b5050565b600654600090600160a060020a03163314610cce57600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610cf657600080fd5b6006805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600654600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561061f5780601f106105f45761010080835404028352916020019161061f565b6000600160a060020a0383161515610dd857600080fd5b33600090815260046020526040902054821115610df457600080fd5b33600090815260046020526040902054610e14908363ffffffff610ff016565b3360009081526004602052604080822092909255600160a060020a03851681522054610e46908363ffffffff61100216565b600160a060020a03841660008181526004602090815260409182902093909355805185815290519192339260008051602061128e8339815191529281900390910190a350600192915050565b336000908152600560209081526040808320600160a060020a0386168452909152812054610ec6908363ffffffff61100216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600654600160a060020a03163314610f6d57600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610be757600080fd5b600654600160a060020a03163314610fe757600080fd5b6108b48161120f565b600082821115610ffc57fe5b50900390565b8181018281101561100f57fe5b92915050565b600654600090600160a060020a0316331461102f57600080fd5b60065474010000000000000000000000000000000000000000900460ff161561105757600080fd5b60005461106a908363ffffffff61100216565b6000908155600160a060020a038416815260046020526040902054611095908363ffffffff61100216565b600160a060020a038416600081815260046020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a0385169160009160008051602061128e8339815191529181900360200190a350600192915050565b600160a060020a03821660009081526004602052604090205481111561114457600080fd5b600160a060020a03821660009081526004602052604090205461116d908263ffffffff610ff016565b600160a060020a0383166000908152600460205260408120919091555461119a908263ffffffff610ff016565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a0385169160008051602061128e8339815191529181900360200190a35050565b600160a060020a038116151561122457600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058201727c1900422bcc4db59e40679420b2dd4638e015f486c6c09756216e25529c10029

Deployed Bytecode

0x6080604052600436106100f85763ffffffff60e060020a6000350416630b522abf81146100fd5780630f5bab7c146101205780631ba6e1bd146101475780632d06177a146101f95780633d39c2601461021a5780633f4ba83a1461024e578063522f6815146102635780635c975abb146102875780636cf7ccac146102b0578063715018a6146102e0578063757b8cf4146102f55780638456cb591461031f5780638da5cb5b14610334578063a8d088bb14610349578063ac18de43146103ae578063ccb07cef146103cf578063f0595dd1146103e4578063f2fde38b1461040e578063f3ae24151461042f578063fc0c546a14610450575b600080fd5b34801561010957600080fd5b5061011e600160a060020a0360043516610465565b005b34801561012c57600080fd5b5061013561058d565b60408051918252519081900360200190f35b34801561015357600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261011e958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750508435955050506020830135926040013591506105949050565b34801561020557600080fd5b5061011e600160a060020a036004351661078b565b34801561022657600080fd5b5061023260043561084e565b60408051600160a060020a039092168252519081900360200190f35b34801561025a57600080fd5b5061011e610876565b34801561026f57600080fd5b5061011e600160a060020a03600435166024356108d3565b34801561029357600080fd5b5061029c610948565b604080519115158252519081900360200190f35b3480156102bc57600080fd5b5061011e600160a060020a0360043581169060243581169060443516606435610951565b3480156102ec57600080fd5b5061011e610a19565b34801561030157600080fd5b5061011e600160a060020a0360043581169060243516604435610a85565b34801561032b57600080fd5b5061011e610b36565b34801561034057600080fd5b50610232610b95565b34801561035557600080fd5b5061035e610ba4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561039a578181015183820152602001610382565b505050509050019250505060405180910390f35b3480156103ba57600080fd5b5061011e600160a060020a0360043516610c06565b3480156103db57600080fd5b5061029c610d58565b3480156103f057600080fd5b5061011e600160a060020a0360043581169060243516604435610d7a565b34801561041a57600080fd5b5061011e600160a060020a0360043516610df4565b34801561043b57600080fd5b5061029c600160a060020a0360043516610e17565b34801561045c57600080fd5b50610232610e75565b600054600160a060020a0316331461047c57600080fd5b6002547501000000000000000000000000000000000000000000900460ff16156104a557600080fd5b600254604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291516101009093049091169163f2fde38b9160248082019260009290919082900301818387803b15801561051257600080fd5b505af1158015610526573d6000803e3d6000fd5b50506002805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905550506040517f587261db95996a4ec51ca62d662d1f046a5e62831eb4ae0b8cd974da5673fbf090600090a150565b6001545b90565b60025460ff16156105a457600080fd5b6105ad33610e17565b15156105b857600080fd5b600254604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018590529151610100909304909116916340c10f19916044808201926020929091908290030181600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b505060408051908101849052606081018390526080810182905260a08082528651908201528551600160a060020a038816917f4d0b080b5756debe53fca7630901397a436c3a15682817f1f44104b52824365a918891889188918891889190819060208281019160c08401918a019080838360005b838110156106e45781810151838201526020016106cc565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b8381101561074457818101518382015260200161072c565b50505050905090810190601f1680156107715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a2505050505050565b600054600160a060020a031633146107a257600080fd5b600160a060020a03811615156107b757600080fd5b6107c081610e17565b156107ca57600080fd5b60018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03841690811790915560405190917f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a91a250565b600180548290811061085c57fe5b600091825260209091200154600160a060020a0316905081565b600054600160a060020a0316331461088d57600080fd5b60025460ff16151561089e57600080fd5b6002805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600054600160a060020a031633146108ea57600080fd5b600160a060020a03821615156108ff57600080fd5b303181111561090d57600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610943573d6000803e3d6000fd5b505050565b60025460ff1681565b600054600160a060020a0316331461096857600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b1580156109dc57600080fd5b505af11580156109f0573d6000803e3d6000fd5b505050506040513d6020811015610a0657600080fd5b50511515610a1357600080fd5b50505050565b600054600160a060020a03163314610a3057600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610a9c57600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b505050506040513d6020811015610b2957600080fd5b5051151561094357600080fd5b600054600160a060020a03163314610b4d57600080fd5b60025460ff1615610b5d57600080fd5b6002805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b60606001805480602002602001604051908101604052809291908181526020018280548015610bfc57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610bde575b5050505050905090565b600080548190600160a060020a03163314610c2057600080fd5b610c2983610e17565b1515610c3457600080fd5b5060009050805b600154811015610c855782600160a060020a0316600182815481101515610c5e57fe5b600091825260209091200154600160a060020a03161415610c7d578091505b600101610c3b565b60015460001901821015610d0b5760018054838201908110610ca357fe5b60009182526020909120015460018054600160a060020a039092169184908110610cc957fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560019190910190610c85565b6001805490610d1e906000198301610f06565b50604051600160a060020a038416907fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3190600090a2505050565b6002547501000000000000000000000000000000000000000000900460ff1681565b600054600160a060020a03163314610d9157600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610aff57600080fd5b600054600160a060020a03163314610e0b57600080fd5b610e1481610e89565b50565b6000805b600154811015610e6a5782600160a060020a0316600182815481101515610e3e57fe5b600091825260209091200154600160a060020a03161415610e625760019150610e6f565b600101610e1b565b600091505b50919050565b6002546101009004600160a060020a031681565b600160a060020a0381161515610e9e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156109435760008381526020902061094391810190830161059191905b80821115610f3f5760008155600101610f2b565b50905600a165627a7a72305820f6185a828c8c4826910128cfcb0508378fbea7c95d4fac2a56334e1802f6863d0029

Swarm Source

bzzr://1727c1900422bcc4db59e40679420b2dd4638e015f486c6c09756216e25529c1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

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