ETH Price: $3,217.71 (-3.40%)
 
Transaction Hash
Method
Block
From
To
Transfer216040942025-01-11 22:01:5915 days ago1736632919IN
0x906b3f8b...8A787752f
0 ETH0.000221514.45927303
Approve216024372025-01-11 16:28:4715 days ago1736612927IN
0x906b3f8b...8A787752f
0 ETH0.000222954.80514127
Transfer215825952025-01-08 21:58:1118 days ago1736373491IN
0x906b3f8b...8A787752f
0 ETH0.000310896.25861921
Transfer215269652025-01-01 3:35:3525 days ago1735702535IN
0x906b3f8b...8A787752f
0 ETH0.000193633.89891426
Transfer203956702024-07-27 5:03:35183 days ago1722056615IN
0x906b3f8b...8A787752f
0 ETH0.000053361
Transfer198959002024-05-18 9:20:59253 days ago1716024059IN
0x906b3f8b...8A787752f
0 ETH0.000149964.63431312
Transfer194115622024-03-11 11:29:23321 days ago1710156563IN
0x906b3f8b...8A787752f
0 ETH0.0037983169.74122763
Transfer193695892024-03-05 14:33:47327 days ago1709649227IN
0x906b3f8b...8A787752f
0 ETH0.0027165691.27318504
Transfer189729662024-01-10 0:25:47383 days ago1704846347IN
0x906b3f8b...8A787752f
0 ETH0.0008025616.16411214
Transfer168871492023-03-23 2:01:23675 days ago1679536883IN
0x906b3f8b...8A787752f
0 ETH0.0006958312.77635778
Transfer167495762023-03-03 17:51:11695 days ago1677865871IN
0x906b3f8b...8A787752f
0 ETH0.0016714433.63956576
Approve167495422023-03-03 17:44:23695 days ago1677865463IN
0x906b3f8b...8A787752f
0 ETH0.0017601437.98398986
Transfer167483082023-03-03 13:34:59695 days ago1677850499IN
0x906b3f8b...8A787752f
0 ETH0.0012210624.57514367
Transfer166620722023-02-19 10:34:47707 days ago1676802887IN
0x906b3f8b...8A787752f
0 ETH0.0009123318.37486845
Transfer164909072023-01-26 12:11:35731 days ago1674735095IN
0x906b3f8b...8A787752f
0 ETH0.0006857813.802077
Transfer164755982023-01-24 8:52:47733 days ago1674550367IN
0x906b3f8b...8A787752f
0 ETH0.000676713.62601745
Transfer161916022022-12-15 17:31:35773 days ago1671125495IN
0x906b3f8b...8A787752f
0 ETH0.000999320.11681203
Transfer161242282022-12-06 7:22:11782 days ago1670311331IN
0x906b3f8b...8A787752f
0 ETH0.0006356812.8
Transfer157396052022-10-13 13:50:47836 days ago1665669047IN
0x906b3f8b...8A787752f
0 ETH0.0009705919.53895072
Transfer146712112022-04-28 6:14:311004 days ago1651126471IN
0x906b3f8b...8A787752f
0 ETH0.0016037232.3
Transfer146189672022-04-20 1:17:051012 days ago1650417425IN
0x906b3f8b...8A787752f
0 ETH0.0018151536.5493888
Approve144797992022-03-29 7:34:161034 days ago1648539256IN
0x906b3f8b...8A787752f
0 ETH0.0010356922.44917323
Transfer142798522022-02-26 5:37:031065 days ago1645853823IN
0x906b3f8b...8A787752f
0 ETH0.000993520
Approve142525752022-02-22 0:10:351070 days ago1645488635IN
0x906b3f8b...8A787752f
0 ETH0.0018345370.28045698
Approve136555652021-11-21 2:32:221162 days ago1637461942IN
0x906b3f8b...8A787752f
0 ETH0.003799882.38422492
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
58182552018-06-19 18:45:122413 days ago1529433912
0x906b3f8b...8A787752f
 Contract Creation0 ETH
56243342018-05-16 15:52:412447 days ago1526485961
0x906b3f8b...8A787752f
0.5 ETH
56243322018-05-16 15:52:162447 days ago1526485936
0x906b3f8b...8A787752f
0.19094226 ETH
56243092018-05-16 15:46:162447 days ago1526485576
0x906b3f8b...8A787752f
0.099998 ETH
56242562018-05-16 15:32:392447 days ago1526484759
0x906b3f8b...8A787752f
0.22 ETH
56242532018-05-16 15:31:092447 days ago1526484669
0x906b3f8b...8A787752f
0.049 ETH
56242262018-05-16 15:24:022447 days ago1526484242
0x906b3f8b...8A787752f
0.355 ETH
56241952018-05-16 15:16:522447 days ago1526483812
0x906b3f8b...8A787752f
0.2 ETH
56240162018-05-16 14:29:002447 days ago1526480940
0x906b3f8b...8A787752f
0.061 ETH
56239852018-05-16 14:20:462447 days ago1526480446
0x906b3f8b...8A787752f
0.1 ETH
56239802018-05-16 14:18:162447 days ago1526480296
0x906b3f8b...8A787752f
0.075 ETH
56237912018-05-16 13:27:302447 days ago1526477250
0x906b3f8b...8A787752f
1.03664425 ETH
56237362018-05-16 13:14:162447 days ago1526476456
0x906b3f8b...8A787752f
2 ETH
56235542018-05-16 12:28:022447 days ago1526473682
0x906b3f8b...8A787752f
0.09 ETH
56235472018-05-16 12:26:282447 days ago1526473588
0x906b3f8b...8A787752f
2.32 ETH
56232922018-05-16 11:20:312447 days ago1526469631
0x906b3f8b...8A787752f
1 ETH
56231982018-05-16 10:58:242447 days ago1526468304
0x906b3f8b...8A787752f
0.14 ETH
56230252018-05-16 10:17:292447 days ago1526465849
0x906b3f8b...8A787752f
0.4 ETH
56229662018-05-16 10:03:412447 days ago1526465021
0x906b3f8b...8A787752f
0.087 ETH
56228472018-05-16 9:32:462447 days ago1526463166
0x906b3f8b...8A787752f
1.1 ETH
56225732018-05-16 8:20:442447 days ago1526458844
0x906b3f8b...8A787752f
0.01 ETH
56223492018-05-16 7:25:422447 days ago1526455542
0x906b3f8b...8A787752f
0.28 ETH
56223342018-05-16 7:21:002447 days ago1526455260
0x906b3f8b...8A787752f
0.306 ETH
56222772018-05-16 7:04:132447 days ago1526454253
0x906b3f8b...8A787752f
0.175 ETH
56221672018-05-16 6:38:442447 days ago1526452724
0x906b3f8b...8A787752f
0.29 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DoradoToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

/**
 * The dorado token contract bases on the ERC20 standard token contracts from
 * open-zeppelin and is extended by functions to issue tokens as needed by the 
 * dorado ICO.
 * authors: Julia Altenried, Yuri Kashnikov
 * */

pragma solidity 0.4.19;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        require(a == 0 || c / a == b);
        return c;
    }

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

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

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) public balances;

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
        assert(token.transfer(to, value));
    }

    function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
        assert(token.transferFrom(from, to, value));
    }

    function safeApprove(ERC20 token, address spender, uint256 value) internal {
        assert(token.approve(spender, value));
    }
}

/**
 * @title TokenTimelock
 * @dev TokenTimelock is a token holder contract that will allow a
 * beneficiary to extract the tokens after a given release time
 */
contract TokenTimelock {
    using SafeERC20 for ERC20Basic;

    // ERC20 basic token contract being held
    ERC20Basic public token;

    // beneficiary of tokens after they are released
    address public beneficiary;

    // timestamp when token release is enabled
    uint64 public releaseTime;

    function TokenTimelock(ERC20Basic _token, address _beneficiary, uint64 _releaseTime) public {
        require(_releaseTime > uint64(block.timestamp));
        token = _token;
        beneficiary = _beneficiary;
        releaseTime = _releaseTime;
    }

    /**
     * @notice Transfers tokens held by timelock to beneficiary.
     */
    function release() public {
        require(uint64(block.timestamp) >= releaseTime);

        uint256 amount = token.balanceOf(this);
        require(amount > 0);

        token.safeTransfer(beneficiary, amount);
    }
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

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

    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    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);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /**
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     */
    function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract Owned {
    address public owner;
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function Owned() public {
        owner = msg.sender;
    }
    
    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

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

contract DoradoToken is StandardToken, Owned {
    string public constant name = "DoradoToken";
    string public constant symbol = "DOR";
    uint8 public constant decimals = 15;

    /// Maximum tokens to be allocated on the sale (51% of the hard cap)
    uint256 public constant TOKENS_SALE_HARD_CAP = 510000000000000000000000; // 510000000 * 10**15

    /// Base exchange rate is set to 1 ETH = 6667 DOR.
    uint256 public constant BASE_RATE = 6667;

    /// seconds since 01.01.1970 to 07.02.2018 (16:00:00 o'clock UTC)
    /// HOT sale start time
    uint64 private constant dateHOTSale = 1517961600 + 16 hours;

    /// HOT sale end time; Sale A start time 21.02.2018
    uint64 private constant dateSaleA = 1519171200 + 16 hours;

    /// Sale A end time; Sale B start time 07.03.2018
    uint64 private constant dateSaleB = 1520380800 + 16 hours;

    /// Sale B end time; Sale C start time 21.03.2018
    uint64 private constant dateSaleC = 1521590400 + 16 hours;

    /// Sale C end time; Sale D start time 04.04.2018
    uint64 private constant dateSaleD = 1522800000 + 16 hours;

    /// Sale D end time; Sale E start time 18.04.2018
    uint64 private constant dateSaleE = 1524009600 + 16 hours;

    /// Sale E end time;  Sale F start time 02.05.2018
    uint64 private constant dateSaleF = 1525219200 + 16 hours;

    /// Sale F end time; 16.05.2018 
    uint64 private constant date16May2018 = 1526428800 + 16 hours;
    
    /// token caps for each round
    uint256[7] private roundCaps = [
        70000000000000000000000, // HOT sale  70000000 * 10**15 
        140000000000000000000000, // Sale A   140000000 * 10**15
        210000000000000000000000, // Sale B   210000000 * 10**15
        285000000000000000000000, // Sale C   285000000 * 10**15
        360000000000000000000000, // Sale D   360000000 * 10**15
        435000000000000000000000, // Sale E   435000000 * 10**15
        510000000000000000000000  // Sale F   510000000 * 10**15
    ];
    uint8[7] private roundDiscountPercentages = [33, 30, 27, 22, 17, 12, 7];

    
    /// team tokens are locked until this date (01.01.2021) 00:00:00
    uint64 private constant dateTeamTokensLockedTill = 1609459200;
   

    /// no tokens can be ever issued when this is set to "true"
    bool public tokenSaleClosed = false;

    /// contract to be called to release the Dorado team tokens
    address public timelockContractAddress;

    modifier inProgress {
        require(totalSupply < TOKENS_SALE_HARD_CAP
            && !tokenSaleClosed && now >= dateHOTSale);
        _;
    }

    /// Allow the closing to happen only once
    modifier beforeEnd {
        require(!tokenSaleClosed);
        _;
    }

    /// Require that the token sale has been closed
    modifier tradingOpen {
        require(tokenSaleClosed);
        _;
    }

    function DoradoToken() public {
    }

    /// @dev This default function allows token to be purchased by directly
    /// sending ether to this smart contract.
    function () public payable {
        purchaseTokens(msg.sender);
    }

    /// @dev Issue token based on Ether received.
    /// @param _beneficiary Address that newly issued token will be sent to.
    function purchaseTokens(address _beneficiary) public payable inProgress {
        // only accept a minimum amount of ETH?
        require(msg.value >= 0.01 ether);

        uint256 tokens = computeTokenAmount(msg.value);
        
        // roll back if hard cap reached
        require(totalSupply.add(tokens) <= TOKENS_SALE_HARD_CAP);
        
        doIssueTokens(_beneficiary, tokens);

        /// forward the raised funds to the contract creator
        owner.transfer(this.balance);
    }

    /// @dev Batch issue tokens on the presale
    /// @param _addresses addresses that the presale tokens will be sent to.
    /// @param _addresses the amounts of tokens, with decimals expanded (full).
    function issueTokensMulti(address[] _addresses, uint256[] _tokens) public onlyOwner beforeEnd {
        require(_addresses.length == _tokens.length);
        require(_addresses.length <= 100);

        for (uint256 i = 0; i < _tokens.length; i = i.add(1)) {
            doIssueTokens(_addresses[i], _tokens[i]);
        }
    }

    /// @dev Issue tokens for a single buyer on the presale
    /// @param _beneficiary addresses that the presale tokens will be sent to.
    /// @param _tokens the amount of tokens, with decimals expanded (full).
    function issueTokens(address _beneficiary, uint256 _tokens) public onlyOwner beforeEnd {
        doIssueTokens(_beneficiary, _tokens);
    }

    /// @dev issue tokens for a single buyer
    /// @param _beneficiary addresses that the tokens will be sent to.
    /// @param _tokens the amount of tokens, with decimals expanded (full).
    function doIssueTokens(address _beneficiary, uint256 _tokens) internal {
        require(_beneficiary != address(0));

        // increase token total supply
        totalSupply = totalSupply.add(_tokens);
        // update the beneficiary balance to number of tokens sent
        balances[_beneficiary] = balances[_beneficiary].add(_tokens);

        // event is fired when tokens issued
        Transfer(address(0), _beneficiary, _tokens);
    }

    /// @dev Returns the current price.
    function price() public view returns (uint256 tokens) {
        return computeTokenAmount(1 ether);
    }

    /// @dev Compute the amount of DOR token that can be purchased.
    /// @param ethAmount Amount of Ether in WEI to purchase DOR.
    /// @return Amount of DOR token to purchase
    function computeTokenAmount(uint256 ethAmount) internal view returns (uint256 tokens) {
        uint256 tokenBase = (ethAmount.mul(BASE_RATE)/10000000000000)*10000000000;//18 decimals to 15 decimals, set precision to 5 decimals
        uint8 roundNum = currentRoundIndex();
        tokens = tokenBase.mul(100)/(100 - (roundDiscountPercentages[roundNum]));
        while(tokens.add(totalSupply) > roundCaps[roundNum] && roundNum < 6){
           roundNum++;
           tokens = tokenBase.mul(100)/(100 - (roundDiscountPercentages[roundNum])); 
        }
    }

    /// @dev Determine the current sale round
    /// @return integer representing the index of the current sale round
    function currentRoundIndex() internal view returns (uint8 roundNum) {
        roundNum = currentRoundIndexByDate();

        /// round determined by conjunction of both time and total sold tokens
        while(roundNum < 6 && totalSupply > roundCaps[roundNum]) {
            roundNum++;
        }
    }

    /// @dev Determine the current sale tier.
    /// @return the index of the current sale tier by date.
    function currentRoundIndexByDate() internal view returns (uint8 roundNum) {
        require(now <= date16May2018); 
        if(now > dateSaleF) return 6;
        if(now > dateSaleE) return 5;
        if(now > dateSaleD) return 4;
        if(now > dateSaleC) return 3;
        if(now > dateSaleB) return 2;
        if(now > dateSaleA) return 1;
        else return 0;
    }

    /// @dev Closes the sale, issues the team tokens and burns the unsold
    function close() public onlyOwner beforeEnd {
        /// team tokens are equal to 15% of the sold tokens
        /// 8% foodout group tokens are added to the locked tokens
        uint256 lockedTokens = 230000000000000000000000;
        //partner tokens are available from the beginning
        uint256 partnerTokens = 260000000000000000000000;
        
        issueLockedTokens(lockedTokens);
        issuePartnerTokens(partnerTokens);
        
        /// increase token total supply
        totalSupply = totalSupply.add(lockedTokens+partnerTokens);
        
        /// burn the unallocated tokens - no more tokens can be issued after this line
        tokenSaleClosed = true;

        /// forward the raised funds to the contract creator
        owner.transfer(this.balance);
    }
    
    /**
     * issue the tokens for the team and the foodout group.
     * tokens are locked for 3 years.
     * @param lockedTokens the amount of tokens to the issued and locked
     * */
    function issueLockedTokens( uint lockedTokens) internal{
        /// team tokens are locked until this date (01.01.2021)
        TokenTimelock lockedTeamTokens = new TokenTimelock(this, owner, dateTeamTokensLockedTill);
        timelockContractAddress = address(lockedTeamTokens);
        balances[timelockContractAddress] = balances[timelockContractAddress].add(lockedTokens);
        /// fire event when tokens issued
        Transfer(address(0), timelockContractAddress, lockedTokens);
        
    }
    
    /**
     * issue the tokens for partners and advisors
     * @param partnerTokens the amount of tokens to be issued
     * */
    function issuePartnerTokens(uint partnerTokens) internal{
        balances[owner] = partnerTokens;
        Transfer(address(0), owner, partnerTokens);
    }

    /// Transfer limited by the tradingOpen modifier
    function transferFrom(address _from, address _to, uint256 _value) public tradingOpen returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    /// Transfer limited by the tradingOpen modifier
    function transfer(address _to, uint256 _value) public tradingOpen returns (bool) {
        return super.transfer(_to, _value);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","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":"BASE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"issueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelockContractAddress","outputs":[{"name":"","type":"address"}],"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":"_addresses","type":"address[]"},{"name":"_tokens","type":"uint256[]"}],"name":"issueTokensMulti","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"purchaseTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenSaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_SALE_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"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"}]

606060405260e06040519081016040908152690ed2b525841adfc000008252691da56a4b0835bf8000006020830152692c781f708c509f40000090820152693c59e1867548d82000006060820152694c3ba39c5e41110000006080820152695c1d65b2473949e0000060a0820152696bff27c8303182c0000060c08201526200008d90600490600762000110565b5060e0604051908101604090815260218252601e6020830152601b908201526016606082015260116080820152600c60a0820152600760c08201819052620000d891600b916200015e565b50600c805460ff191690553415620000ef57600080fd5b60038054600160a060020a03191633600160a060020a031617905562000235565b82600781019282156200014c579160200282015b828111156200014c57825182906001605060020a031690559160200191906001019062000124565b506200015a929150620001f4565b5090565b600183019183908215620001e65791602002820160005b83821115620001b557835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000175565b8015620001e45782816101000a81549060ff0219169055600101602081600001049283019260010302620001b5565b505b506200015a92915062000214565b6200021191905b808211156200015a5760008155600101620001fb565b90565b6200021191905b808211156200015a57805460ff191681556001016200021b565b61159f80620002456000396000f3006060604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013d578063095ea7b3146101c757806318160ddd146101fd57806323b872dd1461022257806327e235e31461024a578063313ce5671461026957806341910f901461029257806343d726d6146102a5578063475a9fa9146102b857806366188463146102da57806370a08231146102fc5780637fc88fe21461031b5780638da5cb5b1461034a57806392e8438c1461035d57806395d89b41146103ec578063a035b1fe146103ff578063a9059cbb14610412578063ce55703114610434578063d73dd62314610448578063dd62ed3e1461046a578063e55a07c21461048f578063f2fde38b146104a2578063f946372c146104c1575b61013b336104d4565b005b341561014857600080fd5b6101506105a0565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b6101e9600160a060020a03600435166024356105d7565b604051901515815260200160405180910390f35b341561020857600080fd5b610210610643565b60405190815260200160405180910390f35b341561022d57600080fd5b6101e9600160a060020a0360043581169060243516604435610649565b341561025557600080fd5b610210600160a060020a0360043516610670565b341561027457600080fd5b61027c610682565b60405160ff909116815260200160405180910390f35b341561029d57600080fd5b610210610687565b34156102b057600080fd5b61013b61068d565b34156102c357600080fd5b61013b600160a060020a0360043516602435610746565b34156102e557600080fd5b6101e9600160a060020a036004351660243561077b565b341561030757600080fd5b610210600160a060020a0360043516610875565b341561032657600080fd5b61032e610890565b604051600160a060020a03909116815260200160405180910390f35b341561035557600080fd5b61032e6108a4565b341561036857600080fd5b61013b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506108b395505050505050565b34156103f757600080fd5b61015061095c565b341561040a57600080fd5b610210610993565b341561041d57600080fd5b6101e9600160a060020a03600435166024356109ac565b61013b600160a060020a03600435166104d4565b341561045357600080fd5b6101e9600160a060020a03600435166024356109d1565b341561047557600080fd5b610210600160a060020a0360043581169060243516610a75565b341561049a57600080fd5b6101e9610aa0565b34156104ad57600080fd5b61013b600160a060020a0360043516610aa9565b34156104cc57600080fd5b610210610b44565b6000696bff27c8303182c000006000541080156104f45750600c5460ff16155b80156105045750635a7b22804210155b151561050f57600080fd5b662386f26fc1000034101561052357600080fd5b61052c34610b52565b9050696bff27c8303182c0000061054e82600054610c6f90919063ffffffff16565b111561055957600080fd5b6105638282610c81565b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b5050565b60408051908101604052600b81527f446f7261646f546f6b656e000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b600c5460009060ff16151561065d57600080fd5b610668848484610d18565b949350505050565b60016020526000908152604090205481565b600f81565b611a0b81565b600354600090819033600160a060020a039081169116146106ad57600080fd5b600c5460ff16156106bd57600080fd5b506930b453321fc603c00000905069370ea0d47cf61a8000006106df82610e88565b6106e881610f94565b6000546106fd9083830163ffffffff610c6f16565b600055600c805460ff19166001179055600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b60035433600160a060020a0390811691161461076157600080fd5b600c5460ff161561077157600080fd5b61059c8282610c81565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d857600160a060020a03338116600090815260026020908152604080832093881683529290529081205561080f565b6107e8818463ffffffff610fdf16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b600c546101009004600160a060020a031681565b600354600160a060020a031681565b60035460009033600160a060020a039081169116146108d157600080fd5b600c5460ff16156108e157600080fd5b81518351146108ef57600080fd5b6064835111156108fe57600080fd5b5060005b81518110156109575761093f83828151811061091a57fe5b9060200190602002015183838151811061093057fe5b90602001906020020151610c81565b61095081600163ffffffff610c6f16565b9050610902565b505050565b60408051908101604052600381527f444f520000000000000000000000000000000000000000000000000000000000602082015281565b60006109a6670de0b6b3a7640000610b52565b90505b90565b600c5460009060ff1615156109c057600080fd5b6109ca8383610ff4565b9392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a09908363ffffffff610c6f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600c5460ff1681565b60035433600160a060020a03908116911614610ac457600080fd5b600160a060020a0381161515610ad957600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b696bff27c8303182c0000081565b600080806509184e72a000610b6f85611a0b63ffffffff6110dd16565b811515610b7857fe5b046402540be400029150610b8a611104565b9050600b60ff821660078110610b9c57fe5b602091828204019190069054906101000a900460ff1660640360ff16610bcc6064846110dd90919063ffffffff16565b811515610bd557fe5b0492505b600460ff821660078110610be957fe5b0154600054610bff90859063ffffffff610c6f16565b118015610c0f575060068160ff16105b15610c6857600101600b60ff821660078110610c2757fe5b602091828204019190069054906101000a900460ff1660640360ff16610c576064846110dd90919063ffffffff16565b811515610c6057fe5b049250610bd9565b5050919050565b6000828201838110156109ca57600080fd5b600160a060020a0382161515610c9657600080fd5b600054610ca9908263ffffffff610c6f16565b6000908155600160a060020a038316815260016020526040902054610cd4908263ffffffff610c6f16565b600160a060020a0383166000818152600160205260408082209390935590916000805160206115548339815191529084905190815260200160405180910390a35050565b6000600160a060020a0383161515610d2f57600080fd5b600160a060020a038416600090815260016020526040902054821115610d5457600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610d8757600080fd5b600160a060020a038416600090815260016020526040902054610db0908363ffffffff610fdf16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610de5908363ffffffff610c6f16565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610e2d908363ffffffff610fdf16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516916000805160206115548339815191529085905190815260200160405180910390a35060019392505050565b6003546000903090600160a060020a0316635fee6600610ea66111d6565b600160a060020a03938416815291909216602082015267ffffffffffffffff90911660408083019190915260609091019051809103906000f0801515610eeb57600080fd5b600c805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038481168202929092179283905590910416600090815260016020526040902054909150610f3f9083610c6f565b600c8054600160a060020a036101009182900481166000908152600160205260408082209590955592549190910416916000805160206115548339815191529085905190815260200160405180910390a35050565b60038054600160a060020a039081166000908152600160205260408082208590559254909116916000805160206115548339815191529084905190815260200160405180910390a350565b600082821115610fee57600080fd5b50900390565b6000600160a060020a038316151561100b57600080fd5b600160a060020a03331660009081526001602052604090205482111561103057600080fd5b600160a060020a033316600090815260016020526040902054611059908363ffffffff610fdf16565b600160a060020a03338116600090815260016020526040808220939093559085168152205461108e908363ffffffff610c6f16565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206115548339815191529085905190815260200160405180910390a350600192915050565b60008282028315806110f957508284828115156110f657fe5b04145b15156109ca57600080fd5b600061110e611143565b90505b60068160ff161080156111365750600460ff82166007811061112f57fe5b0154600054115b156109a957600101611111565b6000635afc558042111561115657600080fd5b635ae9e08042111561116a575060066109a9565b635ad76b8042111561117e575060056109a9565b635ac4f680421115611192575060046109a9565b635ab281804211156111a6575060036109a9565b635aa00c804211156111ba575060026109a9565b635a8d97804211156111ce575060016109a9565b5060006109a9565b60405161036d806111e78339019056006060604052341561000f57600080fd5b60405160608061036d8339810160405280805191906020018051919060200180519150506001604060020a034281169082161161004b57600080fd5b60008054600160a060020a0319908116600160a060020a0395861617825560018054909116939094169290921760a060020a60e060020a031916740100000000000000000000000000000000000000006001604060020a039290921691909102179091556102ae9081906100bf90396000f3006060604052600436106100485763ffffffff60e060020a60003504166338af3eed811461004d57806386d1a69f1461007c578063b91d400114610091578063fc0c546a146100c1575b600080fd5b341561005857600080fd5b6100606100d4565b604051600160a060020a03909116815260200160405180910390f35b341561008757600080fd5b61008f6100e3565b005b341561009c57600080fd5b6100a46101c6565b60405167ffffffffffffffff909116815260200160405180910390f35b34156100cc57600080fd5b6100606101ee565b600154600160a060020a031681565b60015460009067ffffffffffffffff74010000000000000000000000000000000000000000909104811642909116101561011c57600080fd5b60008054600160a060020a0316906370a082319030906040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561017757600080fd5b6102c65a03f1151561018857600080fd5b5050506040518051915050600081116101a057600080fd5b6001546000546101c391600160a060020a0391821691168363ffffffff6101fd16565b50565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b600054600160a060020a031681565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561025a57600080fd5b6102c65a03f1151561026b57600080fd5b50505060405180519050151561027d57fe5b5050505600a165627a7a723058205a1fdd9d750a8f1788c842c091210356e341e5e4fba386728d5595efc4ad28680029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b07a2e65cd57474afc38ab7b1ce5a7e7effe644697c932919f4d62ed5059b2130029

Deployed Bytecode

0x6060604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013d578063095ea7b3146101c757806318160ddd146101fd57806323b872dd1461022257806327e235e31461024a578063313ce5671461026957806341910f901461029257806343d726d6146102a5578063475a9fa9146102b857806366188463146102da57806370a08231146102fc5780637fc88fe21461031b5780638da5cb5b1461034a57806392e8438c1461035d57806395d89b41146103ec578063a035b1fe146103ff578063a9059cbb14610412578063ce55703114610434578063d73dd62314610448578063dd62ed3e1461046a578063e55a07c21461048f578063f2fde38b146104a2578063f946372c146104c1575b61013b336104d4565b005b341561014857600080fd5b6101506105a0565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b6101e9600160a060020a03600435166024356105d7565b604051901515815260200160405180910390f35b341561020857600080fd5b610210610643565b60405190815260200160405180910390f35b341561022d57600080fd5b6101e9600160a060020a0360043581169060243516604435610649565b341561025557600080fd5b610210600160a060020a0360043516610670565b341561027457600080fd5b61027c610682565b60405160ff909116815260200160405180910390f35b341561029d57600080fd5b610210610687565b34156102b057600080fd5b61013b61068d565b34156102c357600080fd5b61013b600160a060020a0360043516602435610746565b34156102e557600080fd5b6101e9600160a060020a036004351660243561077b565b341561030757600080fd5b610210600160a060020a0360043516610875565b341561032657600080fd5b61032e610890565b604051600160a060020a03909116815260200160405180910390f35b341561035557600080fd5b61032e6108a4565b341561036857600080fd5b61013b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506108b395505050505050565b34156103f757600080fd5b61015061095c565b341561040a57600080fd5b610210610993565b341561041d57600080fd5b6101e9600160a060020a03600435166024356109ac565b61013b600160a060020a03600435166104d4565b341561045357600080fd5b6101e9600160a060020a03600435166024356109d1565b341561047557600080fd5b610210600160a060020a0360043581169060243516610a75565b341561049a57600080fd5b6101e9610aa0565b34156104ad57600080fd5b61013b600160a060020a0360043516610aa9565b34156104cc57600080fd5b610210610b44565b6000696bff27c8303182c000006000541080156104f45750600c5460ff16155b80156105045750635a7b22804210155b151561050f57600080fd5b662386f26fc1000034101561052357600080fd5b61052c34610b52565b9050696bff27c8303182c0000061054e82600054610c6f90919063ffffffff16565b111561055957600080fd5b6105638282610c81565b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b5050565b60408051908101604052600b81527f446f7261646f546f6b656e000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b600c5460009060ff16151561065d57600080fd5b610668848484610d18565b949350505050565b60016020526000908152604090205481565b600f81565b611a0b81565b600354600090819033600160a060020a039081169116146106ad57600080fd5b600c5460ff16156106bd57600080fd5b506930b453321fc603c00000905069370ea0d47cf61a8000006106df82610e88565b6106e881610f94565b6000546106fd9083830163ffffffff610c6f16565b600055600c805460ff19166001179055600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b60035433600160a060020a0390811691161461076157600080fd5b600c5460ff161561077157600080fd5b61059c8282610c81565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d857600160a060020a03338116600090815260026020908152604080832093881683529290529081205561080f565b6107e8818463ffffffff610fdf16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b600c546101009004600160a060020a031681565b600354600160a060020a031681565b60035460009033600160a060020a039081169116146108d157600080fd5b600c5460ff16156108e157600080fd5b81518351146108ef57600080fd5b6064835111156108fe57600080fd5b5060005b81518110156109575761093f83828151811061091a57fe5b9060200190602002015183838151811061093057fe5b90602001906020020151610c81565b61095081600163ffffffff610c6f16565b9050610902565b505050565b60408051908101604052600381527f444f520000000000000000000000000000000000000000000000000000000000602082015281565b60006109a6670de0b6b3a7640000610b52565b90505b90565b600c5460009060ff1615156109c057600080fd5b6109ca8383610ff4565b9392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a09908363ffffffff610c6f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600c5460ff1681565b60035433600160a060020a03908116911614610ac457600080fd5b600160a060020a0381161515610ad957600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b696bff27c8303182c0000081565b600080806509184e72a000610b6f85611a0b63ffffffff6110dd16565b811515610b7857fe5b046402540be400029150610b8a611104565b9050600b60ff821660078110610b9c57fe5b602091828204019190069054906101000a900460ff1660640360ff16610bcc6064846110dd90919063ffffffff16565b811515610bd557fe5b0492505b600460ff821660078110610be957fe5b0154600054610bff90859063ffffffff610c6f16565b118015610c0f575060068160ff16105b15610c6857600101600b60ff821660078110610c2757fe5b602091828204019190069054906101000a900460ff1660640360ff16610c576064846110dd90919063ffffffff16565b811515610c6057fe5b049250610bd9565b5050919050565b6000828201838110156109ca57600080fd5b600160a060020a0382161515610c9657600080fd5b600054610ca9908263ffffffff610c6f16565b6000908155600160a060020a038316815260016020526040902054610cd4908263ffffffff610c6f16565b600160a060020a0383166000818152600160205260408082209390935590916000805160206115548339815191529084905190815260200160405180910390a35050565b6000600160a060020a0383161515610d2f57600080fd5b600160a060020a038416600090815260016020526040902054821115610d5457600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610d8757600080fd5b600160a060020a038416600090815260016020526040902054610db0908363ffffffff610fdf16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610de5908363ffffffff610c6f16565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610e2d908363ffffffff610fdf16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516916000805160206115548339815191529085905190815260200160405180910390a35060019392505050565b6003546000903090600160a060020a0316635fee6600610ea66111d6565b600160a060020a03938416815291909216602082015267ffffffffffffffff90911660408083019190915260609091019051809103906000f0801515610eeb57600080fd5b600c805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038481168202929092179283905590910416600090815260016020526040902054909150610f3f9083610c6f565b600c8054600160a060020a036101009182900481166000908152600160205260408082209590955592549190910416916000805160206115548339815191529085905190815260200160405180910390a35050565b60038054600160a060020a039081166000908152600160205260408082208590559254909116916000805160206115548339815191529084905190815260200160405180910390a350565b600082821115610fee57600080fd5b50900390565b6000600160a060020a038316151561100b57600080fd5b600160a060020a03331660009081526001602052604090205482111561103057600080fd5b600160a060020a033316600090815260016020526040902054611059908363ffffffff610fdf16565b600160a060020a03338116600090815260016020526040808220939093559085168152205461108e908363ffffffff610c6f16565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206115548339815191529085905190815260200160405180910390a350600192915050565b60008282028315806110f957508284828115156110f657fe5b04145b15156109ca57600080fd5b600061110e611143565b90505b60068160ff161080156111365750600460ff82166007811061112f57fe5b0154600054115b156109a957600101611111565b6000635afc558042111561115657600080fd5b635ae9e08042111561116a575060066109a9565b635ad76b8042111561117e575060056109a9565b635ac4f680421115611192575060046109a9565b635ab281804211156111a6575060036109a9565b635aa00c804211156111ba575060026109a9565b635a8d97804211156111ce575060016109a9565b5060006109a9565b60405161036d806111e78339019056006060604052341561000f57600080fd5b60405160608061036d8339810160405280805191906020018051919060200180519150506001604060020a034281169082161161004b57600080fd5b60008054600160a060020a0319908116600160a060020a0395861617825560018054909116939094169290921760a060020a60e060020a031916740100000000000000000000000000000000000000006001604060020a039290921691909102179091556102ae9081906100bf90396000f3006060604052600436106100485763ffffffff60e060020a60003504166338af3eed811461004d57806386d1a69f1461007c578063b91d400114610091578063fc0c546a146100c1575b600080fd5b341561005857600080fd5b6100606100d4565b604051600160a060020a03909116815260200160405180910390f35b341561008757600080fd5b61008f6100e3565b005b341561009c57600080fd5b6100a46101c6565b60405167ffffffffffffffff909116815260200160405180910390f35b34156100cc57600080fd5b6100606101ee565b600154600160a060020a031681565b60015460009067ffffffffffffffff74010000000000000000000000000000000000000000909104811642909116101561011c57600080fd5b60008054600160a060020a0316906370a082319030906040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561017757600080fd5b6102c65a03f1151561018857600080fd5b5050506040518051915050600081116101a057600080fd5b6001546000546101c391600160a060020a0391821691168363ffffffff6101fd16565b50565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b600054600160a060020a031681565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561025a57600080fd5b6102c65a03f1151561026b57600080fd5b50505060405180519050151561027d57fe5b5050505600a165627a7a723058205a1fdd9d750a8f1788c842c091210356e341e5e4fba386728d5595efc4ad28680029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b07a2e65cd57474afc38ab7b1ce5a7e7effe644697c932919f4d62ed5059b2130029

Swarm Source

bzzr://b07a2e65cd57474afc38ab7b1ce5a7e7effe644697c932919f4d62ed5059b213

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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