Contract 0x2ccbff3a042c68716ed2a2cb0c544a9f1d1935e1

 

TxHash Block Age From To Value [TxFee]
0xeb10736d6a8f354121dffb7ead9efbc7eebb7fa548cf84ffe0d83922d8f10f4472365744 hrs 58 mins ago0xe71048000a80c42ba02ca2be05fec3aa3d0ef79a  IN   DMarketToken0 Ether0.001116108
0x400006d5ef90045bb459593f8c7a39f44d7ec98fd5b9f573b16eff96b86135e672358489 hrs 7 mins ago0xe71048000a80c42ba02ca2be05fec3aa3d0ef79a  IN   DMarketToken0 Ether0.001116108
0xe8aa6f25478a21ac04f0ce440934dc244189a53e3cafc0872d3e1dfa34930d87723515613 hrs 1 min ago0xe71048000a80c42ba02ca2be05fec3aa3d0ef79a  IN   DMarketToken0 Ether0.001114764
0xd378f11a7a5a4454a28162353f8f56be6d14146909fcad39e9202c9f074657a1723510713 hrs 21 mins ago0x7c80d66d91e8e0c6f0844fa48a2ff347606f8cc5  IN   DMarketToken0 Ether0.00023084
0x65021685e9590009645d09e6edd61e404b42609bb07fd758d64088acf794fa2b723333423 hrs 40 mins ago0x78a37eefd78aba67e5bab9578421477789551245  IN   DMarketToken0 Ether0.00045419
0x7446e31a74c215f60e35a47a3ca475ee4cbda1f8c150f940f0e4b00299b99bd2723329623 hrs 51 mins ago0x53393d1fa3f9984e0373445bcac855fdd4387af5  IN   DMarketToken0 Ether0.00038084
0xc3858bd80f99eec566eecccfbdf554b88772a34092bf5f06968728be856b20c872326501 day 3 hrs ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   DMarketToken0 Ether0.00318888
0x064f575c4b77d707fb974c2d18d24e33a4867f2a4b6339dc9cd45f23ae8d43d672325621 day 3 hrs ago0x8a797345eac166a90d7b580bb742bea6c05d90b2  IN   DMarketToken0 Ether0.000181164
0x35532f89fbd528bb9e8321403b998dea489b95965541b4b8fc81ec686b96d20572310231 day 12 hrs ago0xfb45a861619e4eef1a1f2b8850ae215e85102036  IN   DMarketToken0 Ether0.001564068
0xe8f8ff778949b061c27063065eede8c571e7ac7c06386000a0a14c88fbffb79f72307551 day 14 hrs ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   DMarketToken0 Ether0.003082584
0x26b89826b3d05d6cf6b435312b6ac96551a3d4db04080f9720868af7e4d84bd872299181 day 19 hrs ago0xa0a545ca9ad8adacd26604d00c99e371da4d2267  IN   DMarketToken0 Ether0.000583924
0x525ac6ce6741af6c5253b83852706403eb9f47e05302739a5e6d20f6820f251372286512 days 2 hrs ago0xe09881cd05eca76d9e20c95b614479a63b099839  IN   DMarketToken0 Ether0.00038148
0x51140916bc4b2d62d379e54e63152be5736bfca6e2a77e63edd4208afa70331872282182 days 4 hrs agoBittrex_1  IN   DMarketToken0 Ether0.0019074
0x100a72c75bee73a64c2fd70f38563c8d61deda8563b1361cfb94a0865237243b72282062 days 4 hrs agoBittrex_1  IN   DMarketToken0 Ether0.002651
0x7c5ac7b0a89537039cd3aaef6fb088f174e8c39a92ba0689cc093f2760784d6b72272952 days 9 hrs ago0xc74dec40f125f97122a61c32e4ea4eb12f85bc18  IN   DMarketToken0 Ether0.00076168
0xcb618a92225946e739cab49fd9fec4c9c4a560618e4a852193b9d02a2dcf729472260812 days 17 hrs ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   DMarketToken0 Ether0.00307516
0xa78793ea87730d5192fb20376769b52ea20dc04b9e53b70aca43c31f6be0e4d672259562 days 17 hrs ago0x494956d68c4333967491ef98bb6c6e4be5de633f  IN   DMarketToken0 Ether0.0003951215
0x3f3fc49c3d5ed16d4e2c46772f71d1bd0a23681a4d88b103c9032b3880bb2d6f72236433 days 7 hrs ago0xc74dec40f125f97122a61c32e4ea4eb12f85bc18  IN   DMarketToken0 Ether0.00075656
0xd735e537ab5194ef4215d75a9bb85e736db37fe8e2f9da670db2d957b834ede472221073 days 15 hrs agoBittrex_1  IN   DMarketToken0 Ether0.0026542
0x190d5c8b0b3e966bd6b2ad61406cad25755e4178027837aa6f30845155ba328272208313 days 23 hrs ago0xf4db5aa532e3b85211fbe1986db8b16803a9985a  IN   DMarketToken0 Ether0.00038084
0x2a7c5c7dbc15a1a32b40f5008052bb39ce06fc63b4c3c08ecd010dcf4792890972197214 days 5 hrs ago0x979fff7f374779d27cfc32b1adad5f24a9100428  IN   DMarketToken0 Ether0.001564068
0xa3e01dbd8bbc21f21744aa7dd10dcc108713566375388adf83fa167479d04c9b72182124 days 14 hrs ago0xc74dec40f125f97122a61c32e4ea4eb12f85bc18  IN   DMarketToken0 Ether0.00005302
0x486c97dad05c92ec299e0317d55275427b99a2226c02dff5ea3c246e7032612d72176954 days 17 hrs agoBittrex_1  IN   DMarketToken0 Ether0.002651
0xcb8fa68da84ea541f23f97c8de1c829407e91076887bd5414c7f91f7922a58e872174944 days 18 hrs ago0x22bd3815d4a92b0008a44b20f2a8722585676733  IN   DMarketToken0 Ether0.00039813
0x8de14621cd9292fa85e504d7b575c08173911b8b5e4863f87901ba970ba49b9e72170844 days 20 hrs agoBittrex_1  IN   DMarketToken0 Ether0.0019074
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: DMToken
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity 0.4.18;

/**
 * @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;
        assert(a == 0 || c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure 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 pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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

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

/**
* @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 constant returns (uint256);
    function transfer(address to, uint256 value) public 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) public constant 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);
}


contract ApprovalContract is ERC20 {
    using SafeMath for uint256;

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

    /**
     * @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 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) 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;
    }
}

/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */
contract MintableToken is ApprovalContract, Ownable {

    uint256 public hardCap;
    mapping(address => uint256) public balances;

    event Mint(address indexed to, uint256 amount);

    modifier canMint() {
        require(totalSupply == 0);
        _;
    }

    /**
     * @dev Function to mint tokens
     * @param _to The address that will receive the minted tokens.
     * @param _amount The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
    function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
        require(_amount < hardCap);
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        Mint(_to, _amount);
        Transfer(0x0, _to, _amount);
        return true;
    }
}

/**
 * @title Vesting token
 */
contract Vesting is MintableToken {

    event VestingMemberAdded(address indexed _address, uint256 _amount, uint _start, uint _end);

    struct _Vesting {
        uint256 totalSum;     //total amount
        uint256 start;        //start block
        uint256 end;          //end block
        uint256 usedAmount;   //the amount of paid payments
    }

    mapping (address => _Vesting ) public vestingMembers;

    function addVestingMember(
        address _address,
        uint256 _amount,
        uint256 _start,
        uint256 _end
    ) onlyOwner public returns (bool) {
        require(
            _address != address(0) &&
            _amount > 0 &&
            _start < _end &&
            vestingMembers[_address].totalSum == 0 &&
            balances[msg.sender] > _amount
        );

        balances[msg.sender] = balances[msg.sender].sub(_amount);

        vestingMembers[_address].totalSum = _amount;    //total amount
        vestingMembers[_address].start = _start;        //start block
        vestingMembers[_address].end = _end;            //end block
        vestingMembers[_address].usedAmount = 0;        //the amount of paid payments

        VestingMemberAdded(_address, _amount, _start, _end);

        return true;
    }

    function currentPart(address _address) private constant returns (uint256) {
        if (vestingMembers[_address].totalSum == 0 || block.number <= vestingMembers[_address].start) {
            return 0;
        }
        if (block.number >= vestingMembers[_address].end) {
            return vestingMembers[_address].totalSum.sub(vestingMembers[_address].usedAmount);
        }

        return vestingMembers[_address].totalSum
        .mul(block.number - vestingMembers[_address].start)
        .div(vestingMembers[_address].end - vestingMembers[_address].start)
        .sub(vestingMembers[_address].usedAmount);
    }

    function subFromBalance(address _address, uint256 _amount) private returns (uint256) {
        require(_address != address(0));

        if (vestingMembers[_address].totalSum == 0) {
            balances[_address] = balances[_address].sub(_amount);
            return balances[_address];
        }
        uint256 summary = balanceOf(_address);
        require(summary >= _amount);

        if (balances[_address] > _amount) {
            balances[_address] = balances[_address].sub(_amount);
        } else {
            uint256 part = currentPart(_address);
            if (block.number >= vestingMembers[_address].end) {
                vestingMembers[_address].totalSum = 0;          //total amount
                vestingMembers[_address].start = 0;             //start block
                vestingMembers[_address].end = 0;               //end block
                vestingMembers[_address].usedAmount = 0;        //the amount of paid payments
            } else {
                vestingMembers[_address].usedAmount = vestingMembers[_address].usedAmount.add(part);
            }
            balances[_address] = balances[_address].add(part).sub(_amount);
        }

        return balances[_address];
    }

    function balanceOf(address _owner) public constant returns (uint256 balance) {
        if (vestingMembers[_owner].totalSum == 0) {
            return balances[_owner];
        } else {
            return balances[_owner].add(currentPart(_owner));
        }
    }

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

        subFromBalance(msg.sender, _value);

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

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));

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

        subFromBalance(_from, _value);

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


contract DMToken is Vesting {

    string public name = "DMarket Token";
    string public symbol = "DMT";
    uint256 public decimals = 8;

    function DMToken() public {
        hardCap = 15644283100000000;
    }

    function multiTransfer(address[] recipients, uint256[] amounts) public {
        require(recipients.length == amounts.length);
        for (uint i = 0; i < recipients.length; i++) {
            transfer(recipients[i], amounts[i]);
        }
    }

    function multiVesting(
        address[] _address,
        uint256[] _amount,
        uint256[] _start,
        uint256[] _end
    ) public onlyOwner {
        require(
            _address.length == _amount.length &&
            _address.length == _start.length &&
            _address.length == _end.length
        );
        for (uint i = 0; i < _address.length; i++) {
            addVestingMember(_address[i], _amount[i], _start[i], _end[i]);
        }
    }
}

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":false,"inputs":[{"name":"_address","type":"address[]"},{"name":"_amount","type":"uint256[]"},{"name":"_start","type":"uint256[]"},{"name":"_end","type":"uint256[]"}],"name":"multiVesting","outputs":[],"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":"recipients","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"addVestingMember","outputs":[{"name":"","type":"bool"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"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":"_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":"","type":"address"}],"name":"vestingMembers","outputs":[{"name":"totalSum","type":"uint256"},{"name":"start","type":"uint256"},{"name":"end","type":"uint256"},{"name":"usedAmount","type":"uint256"}],"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":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_start","type":"uint256"},{"indexed":false,"name":"_end","type":"uint256"}],"name":"VestingMemberAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"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"}]

Contract Creation Code
606060405260408051908101604052600d81527f444d61726b657420546f6b656e00000000000000000000000000000000000000602082015260069080516200004d929160200190620000d4565b5060408051908101604052600381527f444d5400000000000000000000000000000000000000000000000000000000006020820152600790805162000097929160200190620000d4565b50600880553415620000a857600080fd5b60028054600160a060020a03191633600160a060020a03161790556637946480f0ef0060035562000179565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200011757805160ff191683800117855562000147565b8280016001018555821562000147579182015b82811115620001475782518255916020019190600101906200012a565b506200015592915062000159565b5090565b6200017691905b8082111562000155576000815560010162000160565b90565b61139680620001896000396000f30060606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610121578063095ea7b3146101ab5780631534e8d2146101e157806318160ddd146102f25780631e89d5451461031757806323b872dd146103a657806327e235e3146103ce578063313ce567146103ed57806340c10f19146104005780635c65816514610422578063661884631461044757806370a08231146104695780638a88c349146104885780638da5cb5b146104b057806395d89b41146104df578063a9059cbb146104f2578063d73dd62314610514578063dd62ed3e14610536578063e7377ccb1461055b578063f2fde38b146105a5578063fb86a404146105c4575b600080fd5b341561012c57600080fd5b6101346105d7565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610170578082015183820152602001610158565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101cd600160a060020a0360043516602435610675565b604051901515815260200160405180910390f35b34156101ec57600080fd5b6102f060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506106e195505050505050565b005b34156102fd57600080fd5b6103056107a6565b60405190815260200160405180910390f35b341561032257600080fd5b6102f06004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506107ac95505050505050565b34156103b157600080fd5b6101cd600160a060020a036004358116906024351660443561080b565b34156103d957600080fd5b610305600160a060020a0360043516610916565b34156103f857600080fd5b610305610928565b341561040b57600080fd5b6101cd600160a060020a036004351660243561092e565b341561042d57600080fd5b610305600160a060020a0360043581169060243516610a3f565b341561045257600080fd5b6101cd600160a060020a0360043516602435610a5c565b341561047457600080fd5b610305600160a060020a0360043516610b56565b341561049357600080fd5b6101cd600160a060020a0360043516602435604435606435610bcd565b34156104bb57600080fd5b6104c3610d20565b604051600160a060020a03909116815260200160405180910390f35b34156104ea57600080fd5b610134610d2f565b34156104fd57600080fd5b6101cd600160a060020a0360043516602435610d9a565b341561051f57600080fd5b6101cd600160a060020a0360043516602435610e5b565b341561054157600080fd5b610305600160a060020a0360043581169060243516610eff565b341561056657600080fd5b61057a600160a060020a0360043516610f2a565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156105b057600080fd5b6102f0600160a060020a0360043516610f51565b34156105cf57600080fd5b610305610fec565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066d5780601f106106425761010080835404028352916020019161066d565b820191906000526020600020905b81548152906001019060200180831161065057829003601f168201915b505050505081565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025460009033600160a060020a039081169116146106ff57600080fd5b83518551148015610711575082518551145b801561071e575081518551145b151561072957600080fd5b5060005b845181101561079f5761079685828151811061074557fe5b9060200190602002015185838151811061075b57fe5b9060200190602002015185848151811061077157fe5b9060200190602002015185858151811061078757fe5b90602001906020020151610bcd565b5060010161072d565b5050505050565b60005481565b600081518351146107bc57600080fd5b5060005b8251811015610806576107fd8382815181106107d857fe5b906020019060200201518383815181106107ee57fe5b90602001906020020151610d9a565b506001016107c0565b505050565b600080600160a060020a038416151561082357600080fd5b50600160a060020a03808516600090815260016020908152604080832033909416835292905220546108558584610ff2565b50600160a060020a03841660009081526004602052604090205461087f908463ffffffff61121716565b600160a060020a0385166000908152600460205260409020556108a8818463ffffffff61122d16565b600160a060020a03808716600081815260016020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60046020526000908152604090205481565b60085481565b60025460009033600160a060020a0390811691161461094c57600080fd5b6000541561095957600080fd5b600354821061096757600080fd5b60005461097a908363ffffffff61121716565b6000908155600160a060020a0384168152600460205260409020546109a5908363ffffffff61121716565b600160a060020a0384166000818152600460205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160209081526000928352604080842090915290825290205481565b600160a060020a03338116600090815260016020908152604080832093861683529290529081205480831115610ab957600160a060020a033381166000908152600160209081526040808320938816835292905290812055610af0565b610ac9818463ffffffff61122d16565b600160a060020a033381166000908152600160209081526040808320938916835292905220555b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a0381166000908152600560205260408120541515610b945750600160a060020a038116600090815260046020526040902054610bc8565b610bc5610ba08361123f565b600160a060020a0384166000908152600460205260409020549063ffffffff61121716565b90505b919050565b60025460009033600160a060020a03908116911614610beb57600080fd5b600160a060020a03851615801590610c035750600084115b8015610c0e57508183105b8015610c305750600160a060020a038516600090815260056020526040902054155b8015610c545750600160a060020a0333166000908152600460205260409020548490115b1515610c5f57600080fd5b600160a060020a033316600090815260046020526040902054610c88908563ffffffff61122d16565b600160a060020a033381166000908152600460209081526040808320949094559188168082526005909252828120878155600181018790556002810186905560030155907f9ea28b5c79c887f8af8cb7d5f9265c95099f56af698c890365d79b0ab25cf7bf908690869086905180848152602001838152602001828152602001935050505060405180910390a2506001949350505050565b600254600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066d5780601f106106425761010080835404028352916020019161066d565b6000600160a060020a0383161515610db157600080fd5b610dba33610b56565b821115610dc657600080fd5b610dd03383610ff2565b50600160a060020a038316600090815260046020526040902054610dfa908363ffffffff61121716565b600160a060020a0380851660008181526004602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600160209081526040808320938616835292905290812054610e93908363ffffffff61121716565b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60056020526000908152604090208054600182015460028301546003909301549192909184565b60025433600160a060020a03908116911614610f6c57600080fd5b600160a060020a0381161515610f8157600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60008080600160a060020a038516151561100b57600080fd5b600160a060020a038516600090815260056020526040902054151561107557600160a060020a038516600090815260046020526040902054611053908563ffffffff61122d16565b600160a060020a0386166000908152600460205260409020819055925061120f565b61107e85610b56565b91508382101561108d57600080fd5b600160a060020a038516600090815260046020526040902054849011156110f557600160a060020a0385166000908152600460205260409020546110d7908563ffffffff61122d16565b600160a060020a0386166000908152600460205260409020556111f3565b6110fe8561123f565b600160a060020a038616600090815260056020526040902060020154909150431061115557600160a060020a038516600090815260056020526040812081815560018101829055600281018290556003015561119e565b600160a060020a038516600090815260056020526040902060030154611181908263ffffffff61121716565b600160a060020a0386166000908152600560205260409020600301555b600160a060020a0385166000908152600460205260409020546111d99085906111cd908463ffffffff61121716565b9063ffffffff61122d16565b600160a060020a0386166000908152600460205260409020555b600160a060020a03851660009081526004602052604090205492505b505092915050565b60008282018381101561122657fe5b9392505050565b60008282111561123957fe5b50900390565b600160a060020a038116600090815260056020526040812054158061127f5750600160a060020a0382166000908152600560205260409020600101544311155b1561128c57506000610bc8565b600160a060020a03821660009081526005602052604090206002015443106112dc57600160a060020a038216600090815260056020526040902060038101549054610bc59163ffffffff61122d16565b600160a060020a03821660009081526005602052604090206003810154600182015460028301549254610bc5936111cd92908190039161132391430363ffffffff61132f16565b9063ffffffff61135316565b600082820283158061134b575082848281151561134857fe5b04145b151561122657fe5b600080828481151561136157fe5b049493505050505600a165627a7a7230582011e4cda0b00b4de9dc7fcc28525987db198d7a5d1bc4c530aed773322926d6ec0029


   Swarm Source:
bzzr://11e4cda0b00b4de9dc7fcc28525987db198d7a5d1bc4c530aed773322926d6ec
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.