Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
 Latest 25 txns from a total Of 7675 transactions
View All

TxHash Age From To Value [TxFee]
0x15f02e40b27c7ea02faa721735900a59305caa989ca4901e9c9d55d8a432bb756 hrs 14 mins ago0xf3795ed5df9ab7d15632a6ddd369c9030c86fd64  IN   DMarketToken0 Ether0.00038148
0x0f7941e442ca4b9740724389e07d3f3edddc1376c92de4604836f0809d7a5ce87 hrs 38 mins ago0xec6f5a6e9f6ccf1ba2ef7d2b94b97eb506044f58  IN   DMarketToken0 Ether0.000457776
0x1423478072d9f1b74286072fac643616118f67b6e712b21a6656a3529f9d9eb97 hrs 43 mins ago0xec6f5a6e9f6ccf1ba2ef7d2b94b97eb506044f58  IN   DMarketToken0 Ether0.000637008
0x2129ef5b61583bd84d7f091c7e6b50e9a5b3351bd2b21eb4d33f885b2aae36a17 hrs 57 mins agoBittrex  IN   DMarketToken0 Ether0.0026574
0xb140536d7646f690702ff59baf3aab879277f9bc44a13a109104b948a134522715 hrs 35 mins agoBittrex  IN   DMarketToken0 Ether0.0026542
0x407fd4091578dfeb6e6b0c1e4704d1b764df3626a63133f361c813d5bb5cfceb20 hrs 48 mins ago0x946fcce8d4a8b8d128ebbe3311bae6a056cdb2d5  IN   DMarketToken0 Ether0.0026542
0x20eb1e8cecfea5f2bec4fc0008f7956053e218a9d4a3fc7360630e5aa724acb521 hrs 26 mins agoBittrex  IN   DMarketToken0 Ether0.0019106
0x005f51a1e344f882d18c1044eff3c83143b35f31217ddc9c75de0c5d51e6e42b1 day 3 mins ago0x938ad1560409a5263bec8635fd91ea6bdbcabd38  IN   DMarketToken0 Ether0.0013324084
0x1f3ad9c1577f9a1e295024a4b2828edb10cefb26eb5df2350c7eef44aed114021 day 10 hrs agoBittrex  IN   DMarketToken0 Ether0.0019074
0x0f51f6cf29776504c7f89911abfb032c215b9a701d1f7b078f34d12bb66879a21 day 11 hrs agoBittrex  IN   DMarketToken0 Ether0.001901
0xd15358a866978979256b198acbbdc6d6ab94d47c21e45833990853cb544598271 day 11 hrs ago0x207bb2da249e852dabbb546321cbd1fda3058cf1  IN   DMarketToken0 Ether0.00045355
0x0e09302b02bd0ccb95f0ba7424408c02ef955cc432878a3c55ae146f055671931 day 13 hrs ago0x8bedc30ae65db4894bdc5d78fa4b02bfc2488089  IN   DMarketToken0 Ether0.000076296
0x07885cb6c545a0b7f7a504241d9a415158237bd73cfed9880642957b6a0742aa1 day 16 hrs ago0x680fa1cb18a595c736bba84cfdeaac5ea4c419e1  IN   DMarketToken0 Ether0.00038148
0x0d6ee92cd1557e9a8f605bd9c9968828c2c19f841c93645ef78ea78a8ba3e0541 day 17 hrs ago0x03747f06215b44e498831da019b27f53e483599f  IN   DMarketToken0 Ether0.006271464
0xad9e7d0ed03b954e81906da1bd0e1a85f56dfcf1f69bdf4a82ac2b7d8443678a1 day 18 hrs agoBittrex  IN   DMarketToken0 Ether0.0026574
0x5348cbd6b2fe8c2d16ab87ad80f1a8b62a7bd2c7580de9cfef60e7e32c6362aa2 days 3 hrs agoBittrex  IN   DMarketToken0 Ether0.0019042
0x08b13bfbac23f4024e811e1c7035186e0185aa347ee73a7f6e07ac07fa7d98ab2 days 4 hrs ago0x03747f06215b44e498831da019b27f53e483599f  IN   DMarketToken0 Ether0.005959744
0xe5572c13a7c0d5dcc360cbecfc3219576a2ccf24decf38313ad74287796cf5032 days 4 hrs ago0x29c39f9b68182740fc9d2b47abe8d7226346e9b7  IN   DMarketToken0 Ether0.001564068
0x63bf445b6811f5b4b9d94efe3141a6df15e8ca121efc867810cb6ecb99e37b9d2 days 4 hrs agoBittrex  IN   DMarketToken0 Ether0.0019042
0xfcc726fc9925e273132cde4957c247fd65aebf594ec2c16737856f8aa60aa0c22 days 8 hrs ago0x22bd3815d4a92b0008a44b20f2a8722585676733  IN   DMarketToken0 Ether0.000106296
0x1c28857a909f28f38a0855b4fe8993570e8ffb89cdbd6e0521d8e7390a52151b2 days 12 hrs agoBittrex  IN   DMarketToken0 Ether0.0026574
0x613f23f77e274f24a546af1274f2bb35a00224e8d1a1583161642f56527b2eba2 days 12 hrs ago0x5360bdfb0886b8c9dcdb8d9818a9948eb99f42fb  IN   DMarketToken0 Ether0.001025
0xf656169f7840250ef76eb35611fcf174e6401bac99615e8549723724cdce28712 days 13 hrs ago0xe28c5e4c6891afb0df739910c733766305cde69a  IN   DMarketToken0 Ether0.000799764
0x7183ff17b004b19fabdb4c3e9ba94b97ffa114966fa288558d6c9e7264d11d8b2 days 16 hrs ago0xc86cb6194613980a9cc03e0776d1400de5943c8c  IN   DMarketToken0 Ether0.001564068
0xd784cfad21d99bb9836c6dc9a376a409e68ccd1a809788b7b3c0dbb9b6e8ae8d2 days 17 hrs ago0x2412ef4c454a297200676dd47d686da80115f209  IN   DMarketToken0 Ether0.00038148
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact match)
Contract Name: DMToken
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 Switch To Opcodes View
606060405260408051908101604052600d81527f444d61726b657420546f6b656e00000000000000000000000000000000000000602082015260069080516200004d929160200190620000d4565b5060408051908101604052600381527f444d5400000000000000000000000000000000000000000000000000000000006020820152600790805162000097929160200190620000d4565b50600880553415620000a857600080fd5b60028054600160a060020a03191633600160a060020a03161790556637946480f0ef0060035562000179565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200011757805160ff191683800117855562000147565b8280016001018555821562000147579182015b82811115620001475782518255916020019190600101906200012a565b506200015592915062000159565b5090565b6200017691905b8082111562000155576000815560010162000160565b90565b61139680620001896000396000f30060606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610121578063095ea7b3146101ab5780631534e8d2146101e157806318160ddd146102f25780631e89d5451461031757806323b872dd146103a657806327e235e3146103ce578063313ce567146103ed57806340c10f19146104005780635c65816514610422578063661884631461044757806370a08231146104695780638a88c349146104885780638da5cb5b146104b057806395d89b41146104df578063a9059cbb146104f2578063d73dd62314610514578063dd62ed3e14610536578063e7377ccb1461055b578063f2fde38b146105a5578063fb86a404146105c4575b600080fd5b341561012c57600080fd5b6101346105d7565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610170578082015183820152602001610158565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b657600080fd5b6101cd600160a060020a0360043516602435610675565b604051901515815260200160405180910390f35b34156101ec57600080fd5b6102f060046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506106e195505050505050565b005b34156102fd57600080fd5b6103056107a6565b60405190815260200160405180910390f35b341561032257600080fd5b6102f06004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506107ac95505050505050565b34156103b157600080fd5b6101cd600160a060020a036004358116906024351660443561080b565b34156103d957600080fd5b610305600160a060020a0360043516610916565b34156103f857600080fd5b610305610928565b341561040b57600080fd5b6101cd600160a060020a036004351660243561092e565b341561042d57600080fd5b610305600160a060020a0360043581169060243516610a3f565b341561045257600080fd5b6101cd600160a060020a0360043516602435610a5c565b341561047457600080fd5b610305600160a060020a0360043516610b56565b341561049357600080fd5b6101cd600160a060020a0360043516602435604435606435610bcd565b34156104bb57600080fd5b6104c3610d20565b604051600160a060020a03909116815260200160405180910390f35b34156104ea57600080fd5b610134610d2f565b34156104fd57600080fd5b6101cd600160a060020a0360043516602435610d9a565b341561051f57600080fd5b6101cd600160a060020a0360043516602435610e5b565b341561054157600080fd5b610305600160a060020a0360043581169060243516610eff565b341561056657600080fd5b61057a600160a060020a0360043516610f2a565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156105b057600080fd5b6102f0600160a060020a0360043516610f51565b34156105cf57600080fd5b610305610fec565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066d5780601f106106425761010080835404028352916020019161066d565b820191906000526020600020905b81548152906001019060200180831161065057829003601f168201915b505050505081565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025460009033600160a060020a039081169116146106ff57600080fd5b83518551148015610711575082518551145b801561071e575081518551145b151561072957600080fd5b5060005b845181101561079f5761079685828151811061074557fe5b9060200190602002015185838151811061075b57fe5b9060200190602002015185848151811061077157fe5b9060200190602002015185858151811061078757fe5b90602001906020020151610bcd565b5060010161072d565b5050505050565b60005481565b600081518351146107bc57600080fd5b5060005b8251811015610806576107fd8382815181106107d857fe5b906020019060200201518383815181106107ee57fe5b90602001906020020151610d9a565b506001016107c0565b505050565b600080600160a060020a038416151561082357600080fd5b50600160a060020a03808516600090815260016020908152604080832033909416835292905220546108558584610ff2565b50600160a060020a03841660009081526004602052604090205461087f908463ffffffff61121716565b600160a060020a0385166000908152600460205260409020556108a8818463ffffffff61122d16565b600160a060020a03808716600081815260016020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60046020526000908152604090205481565b60085481565b60025460009033600160a060020a0390811691161461094c57600080fd5b6000541561095957600080fd5b600354821061096757600080fd5b60005461097a908363ffffffff61121716565b6000908155600160a060020a0384168152600460205260409020546109a5908363ffffffff61121716565b600160a060020a0384166000818152600460205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160209081526000928352604080842090915290825290205481565b600160a060020a03338116600090815260016020908152604080832093861683529290529081205480831115610ab957600160a060020a033381166000908152600160209081526040808320938816835292905290812055610af0565b610ac9818463ffffffff61122d16565b600160a060020a033381166000908152600160209081526040808320938916835292905220555b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a0381166000908152600560205260408120541515610b945750600160a060020a038116600090815260046020526040902054610bc8565b610bc5610ba08361123f565b600160a060020a0384166000908152600460205260409020549063ffffffff61121716565b90505b919050565b60025460009033600160a060020a03908116911614610beb57600080fd5b600160a060020a03851615801590610c035750600084115b8015610c0e57508183105b8015610c305750600160a060020a038516600090815260056020526040902054155b8015610c545750600160a060020a0333166000908152600460205260409020548490115b1515610c5f57600080fd5b600160a060020a033316600090815260046020526040902054610c88908563ffffffff61122d16565b600160a060020a033381166000908152600460209081526040808320949094559188168082526005909252828120878155600181018790556002810186905560030155907f9ea28b5c79c887f8af8cb7d5f9265c95099f56af698c890365d79b0ab25cf7bf908690869086905180848152602001838152602001828152602001935050505060405180910390a2506001949350505050565b600254600160a060020a031681565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066d5780601f106106425761010080835404028352916020019161066d565b6000600160a060020a0383161515610db157600080fd5b610dba33610b56565b821115610dc657600080fd5b610dd03383610ff2565b50600160a060020a038316600090815260046020526040902054610dfa908363ffffffff61121716565b600160a060020a0380851660008181526004602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600160209081526040808320938616835292905290812054610e93908363ffffffff61121716565b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60056020526000908152604090208054600182015460028301546003909301549192909184565b60025433600160a060020a03908116911614610f6c57600080fd5b600160a060020a0381161515610f8157600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60008080600160a060020a038516151561100b57600080fd5b600160a060020a038516600090815260056020526040902054151561107557600160a060020a038516600090815260046020526040902054611053908563ffffffff61122d16565b600160a060020a0386166000908152600460205260409020819055925061120f565b61107e85610b56565b91508382101561108d57600080fd5b600160a060020a038516600090815260046020526040902054849011156110f557600160a060020a0385166000908152600460205260409020546110d7908563ffffffff61122d16565b600160a060020a0386166000908152600460205260409020556111f3565b6110fe8561123f565b600160a060020a038616600090815260056020526040902060020154909150431061115557600160a060020a038516600090815260056020526040812081815560018101829055600281018290556003015561119e565b600160a060020a038516600090815260056020526040902060030154611181908263ffffffff61121716565b600160a060020a0386166000908152600560205260409020600301555b600160a060020a0385166000908152600460205260409020546111d99085906111cd908463ffffffff61121716565b9063ffffffff61122d16565b600160a060020a0386166000908152600460205260409020555b600160a060020a03851660009081526004602052604090205492505b505092915050565b60008282018381101561122657fe5b9392505050565b60008282111561123957fe5b50900390565b600160a060020a038116600090815260056020526040812054158061127f5750600160a060020a0382166000908152600560205260409020600101544311155b1561128c57506000610bc8565b600160a060020a03821660009081526005602052604090206002015443106112dc57600160a060020a038216600090815260056020526040902060038101549054610bc59163ffffffff61122d16565b600160a060020a03821660009081526005602052604090206003810154600182015460028301549254610bc5936111cd92908190039161132391430363ffffffff61132f16565b9063ffffffff61135316565b600082820283158061134b575082848281151561134857fe5b04145b151561122657fe5b600080828481151561136157fe5b049493505050505600a165627a7a7230582011e4cda0b00b4de9dc7fcc28525987db198d7a5d1bc4c530aed773322926d6ec0029

   Swarm Source:
bzzr://11e4cda0b00b4de9dc7fcc28525987db198d7a5d1bc4c530aed773322926d6ec

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.