Contract 0xd31695a1d35e489252ce57b129fd4b1b05e6acac

 

TxHash Block Age From To Value [TxFee]
0xb32029eb951a78b57dfd86bd0eb8569d1769d5d4dcf7d3fef5ec4381c467ad6d72111933 days 17 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0x44396fe7445d75f11bc6f89a422d6aed895e4ec3045a5d74e6607ea4df525d7f71887848 days 15 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0xd564568965d95f1e80f2b3b4b88b9214ab29ed04c2a0626724024c66e05ddd1d71827419 days 20 hrs ago0xaeaa72e4004cfb58c659ac4c535ab6f7ff63f449  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0xac2e5c9af903590f177bd727cebc2af0033e729378952859608e06916f385adb717556411 days 7 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148732
0x07cc2218c64e97c6cbde0fdd89c5f64d0653ea494c651eb63923c3b32b7628d7717374211 days 16 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148476
0x223fde6b5a3206968451774793af03c5342eaead47a88d1e49db891d541affa7717373811 days 16 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208476
0x4fd9dbee5bfbd6dac1057194fdd21f6dfcdac9c20b0b7e699cae395f5930a6c4717284711 days 21 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0xb69b163d3f9dc008c0d9ecc1e4e0946d4b3e17f838f879457040acc0521f1eef716533213 days 9 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0xb8d2b811664c5be50a621db3aa12d77e4eb7b3b1c25aecc2b3d1c7d1b931cd59715865914 days 18 hrs ago0x069dd930fb03904025674efe490a56f4aaacd55d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208732
0x5669e956f30caa8a44bc90bd647211928232be5c95fa8a0c71adf94780f3d017697476448 days 15 hrs ago0xde43f9bc0636cd5034be4da1fe79440767e8f5ce  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148476
0xd517da8762982eaac420a63fa890a3cc3936f1f989d91108ec1014d9672ca725697475748 days 15 hrs ago0xd48c41393b8aee904e2c7be661596d8c6f39a616  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148732
0x6b0490e8c391180ca9bf2f345ab97f611b7f81922e437965678c13d99fd2d1c4697470648 days 15 hrs ago0x4143e9fdc9b9be43199df0fcd8d792d4b78b36bb  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000088732
0xe1aa75e9fb536195e347242833f04da7f42e18baa93aba4ef5b1cd35dea5cce5697466548 days 15 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148732
0xb0475d5da4c44924ef94a71d6642a3da4b0155a60d4f4098e6d1bcbe17133005696493850 days 7 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208476
0xbe9e4cec03472c958f3941d21b9519db2f80a46310fe3f56da1a58a64a7bb7b8689958661 days 9 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148732
0xa885fc6aba3527ed008951bf6ee898bb60b8510b897f87ae6790c8e2e8226701686070267 days 19 hrs ago0x25a05906a347ad70429e68f548ddb48df436aa55  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000927975
0x102bc7309b6958f463cf9f7cdb67d1e2ce01191064f5f62f9a3a6afb08ddc64f6619671107 days 10 hrs ago0x996f23653e0f5a7f24150f63ac4b598590c958e2  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000185915
0x2cfb2dbeb4adee9489ec7c8f8978cdd8b3ec9b4eabeffb34cec5cf323697c87c6580849113 days 18 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000625428
0x65d3c62577ec0cddbd14044d4a1c40b0e6980ed5e184b5e685359efcd6ea7a3c6564097116 days 12 hrs ago0xe7818abc8e02c7bba75fd3b2c0b68ab489b3a908  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.002746806
0x4e12f71ff870db9c72e0ed8a9b18821f7c90182e5217a5f915eb2fd471f09a006478327130 days 11 hrs ago0x9a341e07771da686580d2efaa34034b8d52bd33c  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.001521879
0x55e16467226d828bbcaaa138df75bb605814d65006dab1863387b66ce0b8d0886441916136 days 9 hrs ago0xa44b9bde5ba983613b75b779ee1d9f9d49019fdd  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000223098
0xa7d3f8e0b7ba410a7d3ebe91575c4760e76ac612bea1830e567e88b00e774e606441916136 days 9 hrs ago0xa44b9bde5ba983613b75b779ee1d9f9d49019fdd  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000223098
0x302a2068a7a1308c223a1079f0586ad871295ae0fb9b1947dd2c158e74d438b16390826144 days 18 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148476
0xb1836aca7630967747ab425058275b14070c4fffaf40eb707d909f3ee9d4ce356390423144 days 20 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000208476
0x877be29146ef4c4506a34d883713dbe458e63eb8e2215d82083c683bd92783126349554151 days 13 hrs ago0x8ec23ba61c2a8700813f145b4498cbd3716a436d  IN   0xd31695a1d35e489252ce57b129fd4b1b05e6acac0 Ether0.000148476
[ 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: Token
Compiler Version: v0.4.20+commit.3155dd80
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.20;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(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 ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;

    function balanceOf(address who) public view returns (uint256);

    function transfer(address to, uint256 value) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);

    function transferFrom(address from, address to, uint256 value) public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ShortAddressProtection {

    modifier onlyPayloadSize(uint256 numwords) {
        assert(msg.data.length >= numwords * 32 + 4);
        _;
    }
}

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

    mapping(address => uint256) internal 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) onlyPayloadSize(2) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

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

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

}

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

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


    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

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

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

    /**
     * @dev Increase the amount of tokens that an owner allowed to a 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
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _addedValue) onlyPayloadSize(2) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) onlyPayloadSize(2) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

contract Token is StandardToken {
    string public constant name = "TOKPIE";
    string public constant symbol = "TKP";
    uint8 public constant decimals = 18;

    function Token(address _addr, uint256 value) public {
        require(value > 0);
        balances[_addr] = value;
        Transfer(address(0), _addr, value);
        totalSupply = value;
    }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_addr","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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
6060604052341561000f57600080fd5b60405160408061095e83398101604052808051919060200180519150506000811161003957600080fd5b600160a060020a0382166000818152600160205260408082208490557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3600055506108c38061009b6000396000f3006060604052600436106100ae5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100b3578063095ea7b31461013d57806318160ddd1461017357806323b872dd14610198578063313ce567146101c057806366188463146101e957806370a082311461020b57806395d89b411461022a578063a9059cbb1461023d578063d73dd6231461025f578063dd62ed3e14610281575b600080fd5b34156100be57600080fd5b6100c66102a6565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101025780820151838201526020016100ea565b50505050905090810190601f16801561012f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014857600080fd5b61015f600160a060020a03600435166024356102dd565b604051901515815260200160405180910390f35b341561017e57600080fd5b610186610391565b60405190815260200160405180910390f35b34156101a357600080fd5b61015f600160a060020a0360043581169060243516604435610397565b34156101cb57600080fd5b6101d3610527565b60405160ff909116815260200160405180910390f35b34156101f457600080fd5b61015f600160a060020a036004351660243561052c565b341561021657600080fd5b610186600160a060020a0360043516610637565b341561023557600080fd5b6100c6610652565b341561024857600080fd5b61015f600160a060020a0360043516602435610689565b341561026a57600080fd5b61015f600160a060020a0360043516602435610792565b341561028c57600080fd5b610186600160a060020a0360043581169060243516610844565b60408051908101604052600681527f544f4b5049450000000000000000000000000000000000000000000000000000602082015281565b6000600260443610156102ec57fe5b82158061031c5750600160a060020a03338116600090815260026020908152604080832093881683529290522054155b151561032757600080fd5b600160a060020a03338116600081815260026020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a35060019392505050565b60005481565b6000600360643610156103a657fe5b600160a060020a03841615156103bb57600080fd5b600160a060020a0385166000908152600160205260409020548311156103e057600080fd5b600160a060020a038086166000908152600260209081526040808320339094168352929052205483111561041357600080fd5b600160a060020a03851660009081526001602052604090205461043c908463ffffffff61086f16565b600160a060020a038087166000908152600160205260408082209390935590861681522054610471908463ffffffff61088116565b600160a060020a038086166000908152600160209081526040808320949094558883168252600281528382203390931682529190915220546104b9908463ffffffff61086f16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b601281565b6000806002604436101561053c57fe5b600160a060020a0333811660009081526002602090815260408083209389168352929052205491508184111561059957600160a060020a0333811660009081526002602090815260408083209389168352929052908120556105d0565b6105a9828563ffffffff61086f16565b600160a060020a033381166000908152600260209081526040808320938a16835292905220555b600160a060020a033381166000818152600260209081526040808320948a168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3506001949350505050565b600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f544b500000000000000000000000000000000000000000000000000000000000602082015281565b60006002604436101561069857fe5b600160a060020a03841615156106ad57600080fd5b600160a060020a0333166000908152600160205260409020548311156106d257600080fd5b600160a060020a0333166000908152600160205260409020546106fb908463ffffffff61086f16565b600160a060020a033381166000908152600160205260408082209390935590861681522054610730908463ffffffff61088116565b600160a060020a0380861660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b6000600260443610156107a157fe5b600160a060020a033381166000908152600260209081526040808320938816835292905220546107d7908463ffffffff61088116565b600160a060020a033381166000818152600260209081526040808320948a168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060019392505050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561087b57fe5b50900390565b60008282018381101561089057fe5b93925050505600a165627a7a72305820fb009616636f19c51af9dd5b5cd945085eb558693a5ccee1933369bd1aa0c1f8002900000000000000000000000091b48a7c716231ce325fdfcf4827355ddd56096c00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000


    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000091b48a7c716231ce325fdfcf4827355ddd56096c00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000091b48a7c716231ce325fdfcf4827355ddd56096c
Arg [1] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000


   Swarm Source:
bzzr://fb009616636f19c51af9dd5b5cd945085eb558693a5ccee1933369bd1aa0c1f8
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.