ETH Price: $2,154.06 (-1.80%)
Gas: 0.05 Gwei

Contract

0x9B2E81B42907e2BBd2BD76e36bA8cE1911db537E
 

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
Withdraw47422552017-12-16 10:53:313015 days ago1513421611IN
0x9B2E81B4...911db537E
0 ETH0.0017412321
Transfer46715002017-12-04 1:34:423028 days ago1512351282IN
0x9B2E81B4...911db537E
0.013 ETH0.001018914.56313446
Transfer45867132017-11-20 6:09:483041 days ago1511158188IN
0x9B2E81B4...911db537E
0.989559 ETH0.0014692621
Transfer45829722017-11-19 15:55:113042 days ago1511106911IN
0x9B2E81B4...911db537E
1.5 ETH0.0014692621
Transfer45829202017-11-19 15:43:043042 days ago1511106184IN
0x9B2E81B4...911db537E
1.5 ETH0.00044121
Transfer45819302017-11-19 11:54:453042 days ago1511092485IN
0x9B2E81B4...911db537E
0.8 ETH0.0014692621
Transfer45818822017-11-19 11:44:063042 days ago1511091846IN
0x9B2E81B4...911db537E
0.8 ETH0.00044121
Transfer45810492017-11-19 8:24:233042 days ago1511079863IN
0x9B2E81B4...911db537E
1.489118 ETH0.0014692621
Transfer45806832017-11-19 7:04:283042 days ago1511075068IN
0x9B2E81B4...911db537E
0.69 ETH0.0014692621
Transfer45806082017-11-19 6:46:233042 days ago1511073983IN
0x9B2E81B4...911db537E
0.26 ETH0.0014692621
Transfer45759582017-11-18 12:59:243043 days ago1511009964IN
0x9B2E81B4...911db537E
1 ETH0.0011542621
Transfer45758682017-11-18 12:38:513043 days ago1511008731IN
0x9B2E81B4...911db537E
1.589118 ETH0.0014692621
Transfer45757982017-11-18 12:20:523043 days ago1511007652IN
0x9B2E81B4...911db537E
0.5 ETH0.0014692621
Transfer45757272017-11-18 12:02:153043 days ago1511006535IN
0x9B2E81B4...911db537E
0.379559 ETH0.0014692621
Transfer45749232017-11-18 9:04:063043 days ago1510995846IN
0x9B2E81B4...911db537E
2 ETH0.0011542621
Transfer45745372017-11-18 7:32:213043 days ago1510990341IN
0x9B2E81B4...911db537E
2.9 ETH0.0014692621
Transfer45715232017-11-17 19:34:493044 days ago1510947289IN
0x9B2E81B4...911db537E
0.489118 ETH0.0014692621
Transfer45715092017-11-17 19:32:233044 days ago1510947143IN
0x9B2E81B4...911db537E
9.4 ETH0.0014692621
Transfer45714832017-11-17 19:26:583044 days ago1510946818IN
0x9B2E81B4...911db537E
0.489559 ETH0.00044121
Transfer45706102017-11-17 16:18:433044 days ago1510935523IN
0x9B2E81B4...911db537E
1 ETH0.00044121
Transfer45706082017-11-17 16:18:273044 days ago1510935507IN
0x9B2E81B4...911db537E
1 ETH0.0011542621
Transfer45706072017-11-17 16:18:073044 days ago1510935487IN
0x9B2E81B4...911db537E
1 ETH0.0014692621
Transfer45702152017-11-17 14:42:093044 days ago1510929729IN
0x9B2E81B4...911db537E
5.9 ETH0.0014692621
Transfer45687972017-11-17 9:13:453044 days ago1510910025IN
0x9B2E81B4...911db537E
0.29853073 ETH0.0014692621
Transfer45684752017-11-17 7:58:123044 days ago1510905492IN
0x9B2E81B4...911db537E
0.03 ETH0.0011542621
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer46715002017-12-04 1:34:423028 days ago1512351282
0x9B2E81B4...911db537E
0.013 ETH
Transfer45867132017-11-20 6:09:483041 days ago1511158188
0x9B2E81B4...911db537E
0.989559 ETH
Transfer45829722017-11-19 15:55:113042 days ago1511106911
0x9B2E81B4...911db537E
1.5 ETH
Transfer45819302017-11-19 11:54:453042 days ago1511092485
0x9B2E81B4...911db537E
0.8 ETH
Transfer45810492017-11-19 8:24:233042 days ago1511079863
0x9B2E81B4...911db537E
1.489118 ETH
Transfer45806832017-11-19 7:04:283042 days ago1511075068
0x9B2E81B4...911db537E
0.69 ETH
Transfer45806082017-11-19 6:46:233042 days ago1511073983
0x9B2E81B4...911db537E
0.26 ETH
Transfer45759582017-11-18 12:59:243043 days ago1511009964
0x9B2E81B4...911db537E
1 ETH
Transfer45758682017-11-18 12:38:513043 days ago1511008731
0x9B2E81B4...911db537E
1.589118 ETH
Transfer45757982017-11-18 12:20:523043 days ago1511007652
0x9B2E81B4...911db537E
0.5 ETH
Transfer45757272017-11-18 12:02:153043 days ago1511006535
0x9B2E81B4...911db537E
0.379559 ETH
Transfer45749232017-11-18 9:04:063043 days ago1510995846
0x9B2E81B4...911db537E
2 ETH
Transfer45745372017-11-18 7:32:213043 days ago1510990341
0x9B2E81B4...911db537E
2.9 ETH
Transfer45715232017-11-17 19:34:493044 days ago1510947289
0x9B2E81B4...911db537E
0.489118 ETH
Transfer45715092017-11-17 19:32:233044 days ago1510947143
0x9B2E81B4...911db537E
9.4 ETH
Transfer45706082017-11-17 16:18:273044 days ago1510935507
0x9B2E81B4...911db537E
1 ETH
Transfer45706072017-11-17 16:18:073044 days ago1510935487
0x9B2E81B4...911db537E
1 ETH
Transfer45702152017-11-17 14:42:093044 days ago1510929729
0x9B2E81B4...911db537E
5.9 ETH
Transfer45687972017-11-17 9:13:453044 days ago1510910025
0x9B2E81B4...911db537E
0.29853073 ETH
Transfer45684752017-11-17 7:58:123044 days ago1510905492
0x9B2E81B4...911db537E
0.03 ETH
Transfer45684702017-11-17 7:56:563044 days ago1510905416
0x9B2E81B4...911db537E
0.45 ETH
Transfer45433122017-11-13 6:26:483048 days ago1510554408
0x9B2E81B4...911db537E
0.01 ETH
Transfer45266462017-11-10 14:45:093051 days ago1510325109
0x9B2E81B4...911db537E
0.049559 ETH
Transfer44209122017-10-24 13:24:013068 days ago1508851441
0x9B2E81B4...911db537E
0.03 ETH
Transfer44192092017-10-24 6:57:093068 days ago1508828229
0x9B2E81B4...911db537E
0.189559 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Crowdsale

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-09-21
*/

pragma solidity ^0.4.11;

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

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

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

      function add(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a + b;
        assert(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) constant returns (uint256);
      function transfer(address to, uint256 value) returns (bool);
      event Transfer(address indexed from, address indexed to, uint256 value);
    }

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

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

      mapping(address => uint256) 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) returns (bool) {
        require(_to != address(0));

        // 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) constant returns (uint256 balance) {
        return balances[_owner];
      }

    }

    /**
     * @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)) 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) returns (bool) {
        require(_to != address(0));

        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.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.
       * @param _spender The address which will spend the funds.
       * @param _value The amount of tokens to be spent.
       */
      function approve(address _spender, uint256 _value) returns (bool) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        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) constant 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) 
        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) 
        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;
      }

    }

    /**
     * @title Ownable
     * @dev The Ownable contract has an owner address, and provides basic authorization control
     * functions, this simplifies the implementation of "user permissions".
     */
    contract Ownable {
      address public owner;


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


      /**
       * @dev The Ownable constructor sets the original `owner` of the contract to the sender
       * account.
       */
      function Ownable() {
        owner = msg.sender;
      }


      /**
       * @dev Throws if called by any account other than the owner.
       */
      modifier onlyOwner() {
        require(msg.sender == owner);
        _;
      }


      /**
       * @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) onlyOwner {
        require(newOwner != address(0));      
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
      }

    }
//#endImportRegion

contract RewardToken is StandardToken, Ownable {
    bool public payments = false;
    mapping(address => uint256) public rewards;
    uint public payment_time = 0;
    uint public payment_amount = 0;

    event Reward(address indexed to, uint256 value);

    function payment() payable onlyOwner {
        require(payments);
        require(msg.value >= 0.01 * 1 ether);

        payment_time = now;
        payment_amount = this.balance;
    }

    function _reward(address _to) private returns (bool) {
        require(payments);
        require(rewards[_to] < payment_time);

        if(balances[_to] > 0) {
			uint amount = payment_amount * balances[_to] / totalSupply;

			require(_to.send(amount));

			Reward(_to, amount);
		}

        rewards[_to] = payment_time;

        return true;
    }

    function reward() returns (bool) {
        return _reward(msg.sender);
    }

    function transfer(address _to, uint256 _value) returns (bool) {
		if(payments) {
			if(rewards[msg.sender] < payment_time) require(_reward(msg.sender));
			if(rewards[_to] < payment_time) require(_reward(_to));
		}

        return super.transfer(_to, _value);
    }

	function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
		if(payments) {
			if(rewards[_from] < payment_time) require(_reward(_from));
			if(rewards[_to] < payment_time) require(_reward(_to));
		}

        return super.transferFrom(_from, _to, _value);
    }
}

contract LoriToken is RewardToken {
    using SafeMath for uint;

    string public name = "LORI Invest Token";
    string public symbol = "LORI";
    uint256 public decimals = 18;

    bool public mintingFinished = false;
    bool public commandGetBonus = false;
    uint public commandGetBonusTime = 1543932000;       // 04.12.2018 14:00 +0

    event Mint(address indexed holder, uint256 tokenAmount);
    event MintFinished();
    event MintCommandBonus();

    function _mint(address _to, uint256 _amount) onlyOwner private returns(bool) {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);

        Mint(_to, _amount);
        Transfer(address(0), _to, _amount);

        return true;
    }

    function mint(address _to, uint256 _amount) onlyOwner returns(bool) {
        require(!mintingFinished);
        return _mint(_to, _amount);
    }

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

        MintFinished();

        return true;
    }

    function commandMintBonus(address _to) onlyOwner {
        require(mintingFinished && !commandGetBonus);
        require(now > commandGetBonusTime);

        commandGetBonus = true;

        require(_mint(_to, totalSupply * 5 / 100));

        MintCommandBonus();
    }
}

contract Crowdsale is Ownable {
    using SafeMath for uint;

    LoriToken public token;
    address public beneficiary = 0xdA6273CBF8DFB22f4A55A6F87bb1A91C57e578db;

    uint public collected;

    uint public preICOstartTime = 1507644000;     // 10.10.2017 14:00 +0
    uint public preICOendTime = 1508853600;     // 24.10.2017 14:00 +0
    uint public ICOstartTime = 1510322400;    // 10.11.2017 14:00 +0
    uint public ICOendTime = 1512396000;       // 04.12.2017 14:00 +0
    bool public crowdsaleFinished = false;

    event NewContribution(address indexed holder, uint256 tokenAmount, uint256 etherAmount);

    function Crowdsale() {
        token = new LoriToken();
    }

    function() payable {
        doPurchase();
    }

    function doPurchase() payable {
        assert((now > preICOstartTime && now < preICOendTime) || (now > ICOstartTime && now < ICOendTime));
        require(msg.value >= 0.01 * 1 ether);
        require(!crowdsaleFinished);

        uint tokens = msg.value * (now >= ICOstartTime ? 100 : 120);

        require(token.mint(msg.sender, tokens));
        require(beneficiary.send(msg.value));

        collected = collected.add(msg.value);

        NewContribution(msg.sender, tokens, msg.value);
    }

    function withdraw() onlyOwner {
        require(token.finishMinting());
        require(beneficiary.send(this.balance));
        token.transferOwnership(beneficiary);

        crowdsaleFinished = true;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"preICOstartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doPurchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ICOendTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preICOendTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICOstartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleFinished","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":"token","outputs":[{"name":"","type":"address"}],"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":"holder","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"NewContribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405260028054600160a060020a03191673da6273cbf8dfb22f4a55a6f87bb1a91c57e578db1790556359dcd2606004556359ef4760600555635a05b0e0600655635a2554e06007556008805460ff19169055341561005f57600080fd5b5b5b60008054600160a060020a03191633600160a060020a03161790555b6100856100c1565b604051809103906000f080151561009b57600080fd5b60018054600160a060020a031916600160a060020a03929092169190911790555b6100d1565b60405161143e8061073683390190565b610656806100e06000396000f3006060604052361561009e5763ffffffff60e060020a60003504166338af3eed81146100aa5780633ccfd60b146100d95780634e0a0f21146100ee57806384bcefd4146101135780638da5cb5b146101385780639f856de51461009e5780639ff4125a14610171578063a7760d7914610196578063c1da3923146101bb578063ece84fd5146101e0578063f2fde38b14610207578063fc0c546a14610228575b5b6100a7610257565b5b005b34156100b557600080fd5b6100bd6103e5565b604051600160a060020a03909116815260200160405180910390f35b34156100e457600080fd5b6100a76103f4565b005b34156100f957600080fd5b610101610532565b60405190815260200160405180910390f35b341561011e57600080fd5b610101610538565b60405190815260200160405180910390f35b341561014357600080fd5b6100bd61053e565b604051600160a060020a03909116815260200160405180910390f35b6100a7610257565b005b341561017c57600080fd5b61010161054d565b60405190815260200160405180910390f35b34156101a157600080fd5b610101610553565b60405190815260200160405180910390f35b34156101c657600080fd5b610101610559565b60405190815260200160405180910390f35b34156101eb57600080fd5b6101f361055f565b604051901515815260200160405180910390f35b341561021257600080fd5b6100a7600160a060020a0360043516610568565b005b341561023357600080fd5b6100bd610601565b604051600160a060020a03909116815260200160405180910390f35b60006004544211801561026b575060055442105b80610283575060065442118015610283575060075442105b5b151561028c57fe5b662386f26fc100003410156102a057600080fd5b60085460ff16156102b057600080fd5b6006544210156102c15760786102c4565b60645b60015460ff9190911634029150600160a060020a03166340c10f19338360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561032d57600080fd5b6102c65a03f1151561033e57600080fd5b50505060405180519050151561035357600080fd5b600254600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561038757600080fd5b60035461039a903463ffffffff61061016565b600355600160a060020a0333167f16d99cb06fd9528f88184dd0483174a09cfd8312c28639858734b0c449cc05b8823460405191825260208201526040908101905180910390a25b50565b600254600160a060020a031681565b60005433600160a060020a0390811691161461040f57600080fd5b600154600160a060020a0316637d64bcb46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045757600080fd5b6102c65a03f1151561046857600080fd5b50505060405180519050151561047d57600080fd5b600254600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156104b657600080fd5b600154600254600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561050d57600080fd5b6102c65a03f1151561051e57600080fd5b50506008805460ff19166001179055505b5b565b60045481565b60035481565b600054600160a060020a031681565b60075481565b60055481565b60065481565b60085460ff1681565b60005433600160a060020a0390811691161461058357600080fd5b600160a060020a038116151561059857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600154600160a060020a031681565b60008282018381101561061f57fe5b8091505b50929150505600a165627a7a723058200b57366f5d71a28c6396089eacdbf31cc4fd3de6c97198d68cad2c01b305a4820029606060409081526003805460a060020a60ff0219169055600060058190556006558051908101604052601181527f4c4f524920496e7665737420546f6b656e0000000000000000000000000000006020820152600790805162000067929160200190620000ed565b5060408051908101604052600481527f4c4f52490000000000000000000000000000000000000000000000000000000060208201526008908051620000b1929160200190620000ed565b506012600955600a805461ffff19169055635c068860600b555b60038054600160a060020a03191633600160a060020a03161790555b62000197565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013057805160ff191683800117855562000160565b8280016001018555821562000160579182015b828111156200016057825182559160200191906001019062000143565b5b506200016f92915062000173565b5090565b6200019491905b808211156200016f57600081556001016200017a565b5090565b90565b61129780620001a76000396000f300606060405236156101465763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014b57806306fdde03146101725780630700037d146101fd578063095ea7b31461022e57806311a1b31e1461026457806318160ddd14610289578063228cb733146102ae57806323b872dd146102d5578063313ce5671461031157806340c10f191461033657806342f6487a1461036c578063661884631461037657806370a08231146103ac5780637d64bcb4146103dd578063806615551461040457806387161e59146104255780638da5cb5b1461044c57806395d89b411461047b578063a606652314610506578063a6d23e101461052b578063a9059cbb14610552578063d73dd62314610588578063dd62ed3e146105be578063eb357e99146105f5578063f2fde38b1461061a575b600080fd5b341561015657600080fd5b61015e61063b565b604051901515815260200160405180910390f35b341561017d57600080fd5b610185610644565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101c25780820151818401525b6020016101a9565b50505050905090810190601f1680156101ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020857600080fd5b61021c600160a060020a03600435166106e2565b60405190815260200160405180910390f35b341561023957600080fd5b61015e600160a060020a03600435166024356106f4565b604051901515815260200160405180910390f35b341561026f57600080fd5b61021c61079b565b60405190815260200160405180910390f35b341561029457600080fd5b61021c6107a1565b60405190815260200160405180910390f35b34156102b957600080fd5b61015e6107a7565b604051901515815260200160405180910390f35b34156102e057600080fd5b61015e600160a060020a03600435811690602435166044356107b8565b604051901515815260200160405180910390f35b341561031c57600080fd5b61021c610851565b60405190815260200160405180910390f35b341561034157600080fd5b61015e600160a060020a0360043516602435610857565b604051901515815260200160405180910390f35b610374610899565b005b341561038157600080fd5b61015e600160a060020a03600435166024356108f6565b604051901515815260200160405180910390f35b34156103b757600080fd5b61021c600160a060020a03600435166109f2565b60405190815260200160405180910390f35b34156103e857600080fd5b61015e610a11565b604051901515815260200160405180910390f35b341561040f57600080fd5b610374600160a060020a0360043516610a94565b005b341561043057600080fd5b61015e610b43565b604051901515815260200160405180910390f35b341561045757600080fd5b61045f610b51565b604051600160a060020a03909116815260200160405180910390f35b341561048657600080fd5b610185610b60565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101c25780820151818401525b6020016101a9565b50505050905090810190601f1680156101ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561051157600080fd5b61021c610bfe565b60405190815260200160405180910390f35b341561053657600080fd5b61015e610c04565b604051901515815260200160405180910390f35b341561055d57600080fd5b61015e600160a060020a0360043516602435610c14565b604051901515815260200160405180910390f35b341561059357600080fd5b61015e600160a060020a0360043516602435610cab565b604051901515815260200160405180910390f35b34156105c957600080fd5b61021c600160a060020a0360043581169060243516610d50565b60405190815260200160405180910390f35b341561060057600080fd5b61021c610d7d565b60405190815260200160405180910390f35b341561062557600080fd5b610374600160a060020a0360043516610d83565b005b600a5460ff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106da5780601f106106af576101008083540402835291602001916106da565b820191906000526020600020905b8154815290600101906020018083116106bd57829003601f168201915b505050505081565b60046020526000908152604090205481565b60008115806107265750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b151561073157600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600b5481565b60005481565b60006107b233610e1c565b90505b90565b60035460009060a060020a900460ff161561083a57600554600160a060020a0385166000908152600460205260409020541015610803576107f884610e1c565b151561080357600080fd5b5b600554600160a060020a038416600090815260046020526040902054101561083a5761082f83610e1c565b151561083a57600080fd5b5b5b610847848484610f3f565b90505b9392505050565b60095481565b60035460009033600160a060020a0390811691161461087557600080fd5b600a5460ff161561088557600080fd5b61088f838361106b565b90505b5b92915050565b60035433600160a060020a039081169116146108b457600080fd5b60035460a060020a900460ff1615156108cc57600080fd5b662386f26fc100003410156108e057600080fd5b42600555600160a060020a033016316006555b5b565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561095357600160a060020a03338116600090815260026020908152604080832093881683529290529081205561098a565b610963818463ffffffff61116316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a03908116911614610a2f57600080fd5b600a805460ff191660011790556003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15060015b5b90565b60035433600160a060020a03908116911614610aaf57600080fd5b600a5460ff168015610ac95750600a54610100900460ff16155b1515610ad457600080fd5b600b544211610ae257600080fd5b600a805461ff001916610100179055600054610b079082906064906005025b0461106b565b1515610b1257600080fd5b7f4edbe9f7804a72817435fa05a06185c4a029d3d1545ef12958626de411d16b8560405160405180910390a15b5b50565b600a54610100900460ff1681565b600354600160a060020a031681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106da5780601f106106af576101008083540402835291602001916106da565b820191906000526020600020905b8154815290600101906020018083116106bd57829003601f168201915b505050505081565b60065481565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff1615610c9657600554600160a060020a0333166000908152600460205260409020541015610c5f57610c5433610e1c565b1515610c5f57600080fd5b5b600554600160a060020a0384166000908152600460205260409020541015610c9657610c8b83610e1c565b1515610c9657600080fd5b5b5b61088f838361117a565b90505b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610ce3908363ffffffff61125116565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60055481565b60035433600160a060020a03908116911614610d9e57600080fd5b600160a060020a0381161515610db357600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600354600090819060a060020a900460ff161515610e3957600080fd5b600554600160a060020a03841660009081526004602052604090205410610e5f57600080fd5b600160a060020a0383166000908152600160205260408120541115610f185760008054600160a060020a0385168252600160205260409091205460065402811515610ea657fe5b049050600160a060020a03831681156108fc0282604051600060405180830381858888f193505050501515610eda57600080fd5b82600160a060020a03167f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc98260405190815260200160405180910390a25b600554600160a060020a038416600090815260046020526040902055600191505b50919050565b600080600160a060020a0384161515610f5757600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610f9d908463ffffffff61116316565b600160a060020a038087166000908152600160205260408082209390935590861681522054610fd2908463ffffffff61125116565b600160a060020a038516600090815260016020526040902055610ffb818463ffffffff61116316565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b60035460009033600160a060020a0390811691161461108957600080fd5b60005461109c908363ffffffff61125116565b6000908155600160a060020a0384168152600160205260409020546110c7908363ffffffff61125116565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b5b92915050565b60008282111561116f57fe5b508082035b92915050565b6000600160a060020a038316151561119157600080fd5b600160a060020a0333166000908152600160205260409020546111ba908363ffffffff61116316565b600160a060020a0333811660009081526001602052604080822093909355908516815220546111ef908363ffffffff61125116565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60008282018381101561126057fe5b8091505b50929150505600a165627a7a72305820560d1b2c1d5e69a3fe40bfea535eae5f4d75732d8ad5f6cc5e01a3d6c02b550c0029

Deployed Bytecode

0x6060604052361561009e5763ffffffff60e060020a60003504166338af3eed81146100aa5780633ccfd60b146100d95780634e0a0f21146100ee57806384bcefd4146101135780638da5cb5b146101385780639f856de51461009e5780639ff4125a14610171578063a7760d7914610196578063c1da3923146101bb578063ece84fd5146101e0578063f2fde38b14610207578063fc0c546a14610228575b5b6100a7610257565b5b005b34156100b557600080fd5b6100bd6103e5565b604051600160a060020a03909116815260200160405180910390f35b34156100e457600080fd5b6100a76103f4565b005b34156100f957600080fd5b610101610532565b60405190815260200160405180910390f35b341561011e57600080fd5b610101610538565b60405190815260200160405180910390f35b341561014357600080fd5b6100bd61053e565b604051600160a060020a03909116815260200160405180910390f35b6100a7610257565b005b341561017c57600080fd5b61010161054d565b60405190815260200160405180910390f35b34156101a157600080fd5b610101610553565b60405190815260200160405180910390f35b34156101c657600080fd5b610101610559565b60405190815260200160405180910390f35b34156101eb57600080fd5b6101f361055f565b604051901515815260200160405180910390f35b341561021257600080fd5b6100a7600160a060020a0360043516610568565b005b341561023357600080fd5b6100bd610601565b604051600160a060020a03909116815260200160405180910390f35b60006004544211801561026b575060055442105b80610283575060065442118015610283575060075442105b5b151561028c57fe5b662386f26fc100003410156102a057600080fd5b60085460ff16156102b057600080fd5b6006544210156102c15760786102c4565b60645b60015460ff9190911634029150600160a060020a03166340c10f19338360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561032d57600080fd5b6102c65a03f1151561033e57600080fd5b50505060405180519050151561035357600080fd5b600254600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561038757600080fd5b60035461039a903463ffffffff61061016565b600355600160a060020a0333167f16d99cb06fd9528f88184dd0483174a09cfd8312c28639858734b0c449cc05b8823460405191825260208201526040908101905180910390a25b50565b600254600160a060020a031681565b60005433600160a060020a0390811691161461040f57600080fd5b600154600160a060020a0316637d64bcb46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045757600080fd5b6102c65a03f1151561046857600080fd5b50505060405180519050151561047d57600080fd5b600254600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156104b657600080fd5b600154600254600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561050d57600080fd5b6102c65a03f1151561051e57600080fd5b50506008805460ff19166001179055505b5b565b60045481565b60035481565b600054600160a060020a031681565b60075481565b60055481565b60065481565b60085460ff1681565b60005433600160a060020a0390811691161461058357600080fd5b600160a060020a038116151561059857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600154600160a060020a031681565b60008282018381101561061f57fe5b8091505b50929150505600a165627a7a723058200b57366f5d71a28c6396089eacdbf31cc4fd3de6c97198d68cad2c01b305a4820029

Swarm Source

bzzr://560d1b2c1d5e69a3fe40bfea535eae5f4d75732d8ad5f6cc5e01a3d6c02b550c

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

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