Contract Overview |  TrueDeck
Balance: 0 Ether
Ether Value: $0
Transactions: 929 txns
Token Tracker: TrueDeck (TDP)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x301df3ab354249b4179be4f4e4ab6e5a6a570738at txn 0x29cbfd71f53e4721f5c747fe2c4860d7ed7a3c622c632887374d76bf7bae4fa0
 Latest 25 transactions from a total of 929 transactions

TxHash Age From To Value [TxFee]
0x065abf9ee8e8e9bc02b258e02a78beeb99f0e25b8d189204f5a693c7cd69bde744 mins ago0xb9ae60a8fa4c6773d7d0c420486732e4f81cb101  IN   TrueDeck0 Ether0.001049306
0xd14c4de835d8cd14544d146bc0b3b51cd9b1827ff7214c38c52e7c6aeb98221757 mins ago0xb9ae60a8fa4c6773d7d0c420486732e4f81cb101  IN   TrueDeck0 Ether0.001094928
0x02427a87737ec468e4ff45576f11ecb01cc03554f8ef7968e061371cb88f7cc52 hrs 11 mins agoMercatox  IN   TrueDeck0 Ether0.00156408
0x4c8893be54e77acfe9e2d1911eb853b9dcf490ad3ee10894991089ef8cb374e94 hrs 42 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x62fddf2ce856ed15b1ccd18bcbf24685580101df61156827fc0ca322300766a55 hrs 12 mins agoHitBTC_2  IN   TrueDeck0 Ether0.0004176
0x47a3cf53c5df1dcb4918b424ac15a14131f5be9f7219d5989eafde59bd9b62536 hrs 6 mins agoMercatox  IN   TrueDeck0 Ether0.00156408
0xe66dbc1041cd09b6f9ed6443c73f86af1688a1ac5d35781db3fe7746e63e09526 hrs 52 mins agoMercatox  IN   TrueDeck0 Ether0.001566
0x9c7446b49958b0a522a187697991af67fefb11f388a7613be9e33ed2babbbe5a6 hrs 53 mins agoMercatox  IN   TrueDeck0 Ether0.00156216
0xb095f7f6f706783d1bea2c971625d1e867d09c58541c1955b0b7099d670cb7e56 hrs 53 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x72a6b4805d7aa6462468313898be237f548fca280091900ab394f732686b5e8b6 hrs 54 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x3a946f2aa5452c5a92e11383152d39ac4a2f9089777d438d5e28ef28fd77afb36 hrs 57 mins agoMercatox  IN   TrueDeck0 Ether0.001566
0x1818c52cdb13e239ac0705ade877affbac186e66e54fedc62e9126b17c4a3c026 hrs 59 mins agoMercatox  IN   TrueDeck0 Ether0.00156408
0x45e788cc25153e2de300dfb436ca83a2c71ba7e691605ed1b2974cdcc3477f876 hrs 59 mins agoMercatox  IN   TrueDeck0 Ether0.001566
0x13eb170aeb14e332e156d01790d00b03442e96a8a085c9ad790459eab4fa5de36 hrs 59 mins agoMercatox  IN   TrueDeck0 Ether0.001116
0x07490019a3303ab968d1b0aa8ca23c8fd5e98b592a698970abd0cb4106ea68187 hrs agoMercatox  IN   TrueDeck0 Ether0.00156408
0x2ca33c5122cd444f2dac6b64efdebcf8d1ba3610ace492db5eab5419c5e87f367 hrs 3 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x40bcbb028f973aaaaecd536f0579c3c084c7875ccfb711257f28f3d3b3ecdeb97 hrs 3 mins agoMercatox  IN   TrueDeck0 Ether0.001116
0x230487776e649dabccd4ac681f2ff91885016309f904284e01eba90a2967d0427 hrs 4 mins agoMercatox  IN   TrueDeck0 Ether0.00156408
0xb787fd855f9a9bafd6e89c6aa05de5d64b6c050de44cfaf3788690e67cd063f47 hrs 7 mins agoMercatox  IN   TrueDeck0 Ether0.001566
0x5a803c67f0a6f1912cfe96cee857565dadc0f3e108ae442dfae41346fb9c8c8d7 hrs 9 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x14270e425fa23cba1dbb5f1ce2ba057630bd6505714a7fc698ffd943286b2c127 hrs 10 mins agoMercatox  IN   TrueDeck0 Ether0.00111216
0x09b76b1d4639a673b5a674b1b828f5ea5baf5482e5e50774ac25e5fc271d32ee7 hrs 12 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
0x530f78e7b96a0482cc675582031207986f386344001e64c740cb66ddc24217197 hrs 14 mins agoMercatox  IN   TrueDeck0 Ether0.00111216
0xdc9f971ed937f32552b089104701bccec782c7bacd5b2f2e163b084a1961696c7 hrs 14 mins agoMercatox  IN   TrueDeck0 Ether0.00156216
0x60c2e4599e20eab164b499167b01d7e005c3e258cc2312c36c24ebb6b8a9ce047 hrs 16 mins agoMercatox  IN   TrueDeck0 Ether0.00111408
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: TrueDeckToken
Compiler Text: v0.4.23+commit.124ca40d
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.23;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {


    /**
    * @dev Multiplies two numbers, reverts on overflow.
    */
    function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
        if (_a == 0) {
            return 0;
        }
        uint256 c = _a * _b;
        require(c / _a == _b);

        return c;
    }

    /**
    * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
        require(_b > 0); // Solidity only automatically asserts 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;
    }

    /**
    * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
        require(_b <= _a);
        uint256 c = _a - _b;

        return c;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
        uint256 c = _a + _b;
        require(c >= _a);

        return c;
    }
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
    function totalSupply() public view returns (uint256);

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

    function allowance(address _owner, address _spender)
        public view returns (uint256);

    function transfer(address _to, uint256 _value) public returns (bool);

    function approve(address _spender, uint256 _value)
        public returns (bool);

    function transferFrom(address _from, address _to, uint256 _value)
        public returns (bool);

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

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

/**
 * @title TrueDeck TDP Token
 * @dev ERC20 Token for TrueDeck Platform
 */
contract TrueDeckToken is ERC20 {
    using SafeMath for uint256;

    string public constant name = "TrueDeck";
    string public constant symbol = "TDP";
    uint8 public constant decimals = 18;

    mapping (address => uint256) private balances_;

    mapping (address => mapping (address => uint256)) private allowed_;

    uint256 private totalSupply_;

    /**
    * @dev Initial supply of TDP tokens.
    *      200M TDP Tokens
    */
    uint256 public INITIAL_SUPPLY = 200000000 * 10 ** uint256(decimals);

    constructor() public {
        balances_[msg.sender] = INITIAL_SUPPLY;
        totalSupply_ = INITIAL_SUPPLY;
    }

    /**
    * @dev total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    /**
    * @dev Transfer the specified amount of tokens to the specified address.
    *      This function works the same with the previous one
    *      but doesn't contain `_data` param.
    *      Added due to backwards compatibility reasons.
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_value <= balances_[msg.sender]);
        require(_to != address(0));

        balances_[msg.sender] = balances_[msg.sender].sub(_value);
        balances_[_to] = balances_[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);

        return true;
    }


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

        balances_[_from] = balances_[_from].sub(_value);
        balances_[_to] = balances_[_to].add(_value);
        allowed_[_from][msg.sender] = allowed_[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);

        return true;
    }

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

    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":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":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":"","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":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"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"}]

  Contract Creation Code Switch To Opcodes View
60806040526aa56fa5b99019a5c800000060035534801561001f57600080fd5b50600354600160a060020a0333166000908152602081905260409020819055600255610874806100506000396000f3006080604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461018057806323b872dd146101a75780632ff2e9dc146101d1578063313ce567146101e6578063661884631461021157806370a082311461023557806395d89b4114610256578063a9059cbb1461026b578063d73dd6231461028f578063dd62ed3e146102b3575b600080fd5b3480156100ca57600080fd5b506100d36102da565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561010d5781810151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015457600080fd5b5061016c600160a060020a0360043516602435610311565b604080519115158252519081900360200190f35b34801561018c57600080fd5b5061019561037b565b60408051918252519081900360200190f35b3480156101b357600080fd5b5061016c600160a060020a0360043581169060243516604435610381565b3480156101dd57600080fd5b506101956104ff565b3480156101f257600080fd5b506101fb610505565b6040805160ff9092168252519081900360200190f35b34801561021d57600080fd5b5061016c600160a060020a036004351660243561050a565b34801561024157600080fd5b50610195600160a060020a0360043516610602565b34801561026257600080fd5b506100d361061d565b34801561027757600080fd5b5061016c600160a060020a0360043516602435610654565b34801561029b57600080fd5b5061016c600160a060020a036004351660243561074b565b3480156102bf57600080fd5b50610195600160a060020a03600435811690602435166107ed565b60408051808201909152600881527f547275654465636b000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a0383166000908152602081905260408120548211156103a657600080fd5b600160a060020a03808516600090815260016020908152604080832033909416835292905220548211156103d957600080fd5b600160a060020a03831615156103ee57600080fd5b600160a060020a038416600090815260208190526040902054610417908363ffffffff61081816565b600160a060020a03808616600090815260208190526040808220939093559085168152205461044c908363ffffffff61082f16565b600160a060020a0380851660009081526020818152604080832094909455878316825260018152838220339093168252919091522054610492908363ffffffff61081816565b600160a060020a038086166000818152600160209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60035481565b601281565b600160a060020a03338116600090815260016020908152604080832093861683529290529081205480831061056657600160a060020a03338116600090815260016020908152604080832093881683529290529081205561059d565b610576818463ffffffff61081816565b600160a060020a033381166000908152600160209081526040808320938916835292905220555b600160a060020a0333811660008181526001602090815260408083209489168084529482529182902054825190815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b60408051808201909152600381527f5444500000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03331660009081526020819052604081205482111561067957600080fd5b600160a060020a038316151561068e57600080fd5b600160a060020a0333166000908152602081905260409020546106b7908363ffffffff61081816565b600160a060020a0333811660009081526020819052604080822093909355908516815220546106ec908363ffffffff61082f16565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600192915050565b600160a060020a033381166000908152600160209081526040808320938616835292905290812054610783908363ffffffff61082f16565b600160a060020a0333811660008181526001602090815260408083209489168084529482529182902085905581519485529051929391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000808383111561082857600080fd5b5050900390565b60008282018381101561084157600080fd5b93925050505600a165627a7a72305820b7bda2c17bde120610d8756414d5e5ff698ab33fd555b18576ba4cdf45ac80bb0029

   Swarm Source:
bzzr://b7bda2c17bde120610d8756414d5e5ff698ab33fd555b18576ba4cdf45ac80bb

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.