Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 5 txns
Token Contract: ELink (ELink)
 Latest 5 txns


TxHash Age From To Value [TxFee]
0x4e39f22dbd35398fa4f575cd657866064bdbe30bbbd0309f6810e7686ae74d6197 days 13 hrs ago0x99110608600442f9fd3c6c710d52efeef4d44d7a  IN   0x559cd4c08afca638b5ef6397804874f688d69cbb0 Ether0.000273072
0x7aaf5516761d0da7714722cf1fe18bfe006d5be4c7a90eccec6638d470e162c497 days 13 hrs ago0x99110608600442f9fd3c6c710d52efeef4d44d7a  IN   0x559cd4c08afca638b5ef6397804874f688d69cbb0 Ether0.000273072
0xa155e749961aebb78c8594a922de7a7b070d4c246b918633c3ffabd406c7bb0997 days 14 hrs ago0x99110608600442f9fd3c6c710d52efeef4d44d7a  IN   0x559cd4c08afca638b5ef6397804874f688d69cbb0 Ether0.000091024
0x64e394e5ffa866f38a2878823122c0e82fe8e006d8a9bbd999aa7dcb11898ab997 days 15 hrs ago0xbdb9615461beb68426384183872cda3421dc65fd  IN   0x559cd4c08afca638b5ef6397804874f688d69cbb0 Ether0.000300608
0x3949aa942c43cb12228dc3bef887b76227bad3fb35b9a757d7f37f99231210ee98 days 4 hrs ago0xbdb9615461beb68426384183872cda3421dc65fd  IN    Contract Creation0 Ether0.000688069
[ 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 OneOfTwoConstructorsSkipped (very low-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: ELink
Compiler Version: v0.4.22-nightly.2018.3.13+commit.f2614be9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.17;

library SafeMathMod {// Partial SafeMath Library

    function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {
        require((c = a - b) < a);
    }

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

contract ELink {//is inherently ERC20
    using SafeMathMod for uint256;

    /**
    * @constant name The name of the token
    * @constant symbol  The symbol used to display the currency
    * @constant decimals  The number of decimals used to dispay a balance
    * @constant totalSupply The total number of tokens times 10^ of the number of decimals
    * @constant MAX_UINT256 Magic number for unlimited allowance
    * @storage balanceOf Holds the balances of all token holders
    * @storage allowed Holds the allowable balance to be transferable by another address.
    */

    string constant public name = "ELink";

    string constant public symbol = "ELink";

    uint8 constant public decimals = 8;

    uint256 constant public totalSupply = 2500000e8;

    uint256 constant private MAX_UINT256 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

    mapping (address => uint256) public balanceOf;

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

    event Transfer(address indexed _from, address indexed _to, uint256 _value);

    event TransferFrom(address indexed _spender, address indexed _from, address indexed _to, uint256 _value);

    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function ELink() public {balanceOf[msg.sender] = totalSupply;}

    /**
    * @notice send `_value` token to `_to` from `msg.sender`
    *
    * @param _to The address of the recipient
    * @param _value The amount of token to be transferred
    * @return Whether the transfer was successful or not
    */
    function transfer(address _to, uint256 _value) public returns (bool success) {
        /* Ensures that tokens are not sent to address "0x0" */
        require(_to != address(0));
        /* Prevents sending tokens directly to contracts. */
        require(isNotContract(_to));

        /* SafeMathMOd.sub will throw if there is not enough balance and if the transfer value is 0. */
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    *
    * @param _from The address of the sender
    * @param _to The address of the recipient
    * @param _value The amount of token to be transferred
    * @return Whether the transfer was successful or not
    */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        /* Ensures that tokens are not sent to address "0x0" */
        require(_to != address(0));
        /* Ensures tokens are not sent to this contract */
        require(_to != address(this));
        
        uint256 allowance = allowed[_from][msg.sender];
        /* Ensures sender has enough available allowance OR sender is balance holder allowing single transsaction send to contracts*/
        require(_value <= allowance || _from == msg.sender);

        /* Use SafeMathMod to add and subtract from the _to and _from addresses respectively. Prevents under/overflow and 0 transfers */
        balanceOf[_to] = balanceOf[_to].add(_value);
        balanceOf[_from] = balanceOf[_from].sub(_value);

        /* Only reduce allowance if not MAX_UINT256 in order to save gas on unlimited allowance */
        /* Balance holder does not need allowance to send from self. */
        if (allowed[_from][msg.sender] != MAX_UINT256 && _from != msg.sender) {
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        }
        Transfer(_from, _to, _value);
        return true;
    }

    /**
    * @dev Transfer the specified amounts of tokens to the specified addresses.
    * @dev Be aware that there is no check for duplicate recipients.
    *
    * @param _toAddresses Receiver addresses.
    * @param _amounts Amounts of tokens that will be transferred.
    */
    function multiPartyTransfer(address[] _toAddresses, uint256[] _amounts) public {
        /* Ensures _toAddresses array is less than or equal to 255 */
        require(_toAddresses.length <= 255);
        /* Ensures _toAddress and _amounts have the same number of entries. */
        require(_toAddresses.length == _amounts.length);

        for (uint8 i = 0; i < _toAddresses.length; i++) {
            transfer(_toAddresses[i], _amounts[i]);
        }
    }

    /**
    * @dev Transfer the specified amounts of tokens to the specified addresses from authorized balance of sender.
    * @dev Be aware that there is no check for duplicate recipients.
    *
    * @param _from The address of the sender
    * @param _toAddresses The addresses of the recipients (MAX 255)
    * @param _amounts The amounts of tokens to be transferred
    */
    function multiPartyTransferFrom(address _from, address[] _toAddresses, uint256[] _amounts) public {
        /* Ensures _toAddresses array is less than or equal to 255 */
        require(_toAddresses.length <= 255);
        /* Ensures _toAddress and _amounts have the same number of entries. */
        require(_toAddresses.length == _amounts.length);

        for (uint8 i = 0; i < _toAddresses.length; i++) {
            transferFrom(_from, _toAddresses[i], _amounts[i]);
        }
    }

    /**
    * @notice `msg.sender` approves `_spender` to spend `_value` tokens
    *
    * @param _spender The address of the account able to transfer the tokens
    * @param _value The amount of tokens to be approved for transfer
    * @return Whether the approval was successful or not
    */
    function approve(address _spender, uint256 _value) public returns (bool success) {
        /* Ensures address "0x0" is not assigned allowance. */
        require(_spender != address(0));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
    * @param _owner The address of the account owning tokens
    * @param _spender The address of the account able to transfer the tokens
    * @return Amount of remaining tokens allowed to spent
    */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        remaining = allowed[_owner][_spender];
    }

    function isNotContract(address _addr) private view returns (bool) {
        uint length;
        assembly {
        /* retrieve the size of the code on target address, this needs assembly */
        length := extcodesize(_addr)
        }
        return (length == 0);
    }

    // revert on eth transfers to this contract
    function() public payable {revert();}
}

    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":"success","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","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":"_from","type":"address"},{"name":"_toAddresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"multiPartyTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"multiPartyTransfer","outputs":[],"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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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":"_spender","type":"address"},{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"TransferFrom","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
6060604052341561000f57600080fd5b600160a060020a033316600090815260208190526040902065e35fa931a00090556109028061003f6000396000f3006060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461017e57806323b872dd146101a3578063313ce567146101cb5780635c658165146101f45780636e96433f1461021957806370a08231146102b857806395d89b41146100be578063a9059cbb146102d7578063b22c14c7146102f9578063dd62ed3e14610388575b600080fd5b34156100c957600080fd5b6100d16103ad565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010d5780820151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015357600080fd5b61016a600160a060020a03600435166024356103e4565b604051901515815260200160405180910390f35b341561018957600080fd5b610191610465565b60405190815260200160405180910390f35b34156101ae57600080fd5b61016a600160a060020a036004358116906024351660443561046f565b34156101d657600080fd5b6101de610663565b60405160ff909116815260200160405180910390f35b34156101ff57600080fd5b610191600160a060020a0360043581169060243516610668565b341561022457600080fd5b6102b660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061068595505050505050565b005b34156102c357600080fd5b610191600160a060020a03600435166106fe565b34156102e257600080fd5b61016a600160a060020a0360043516602435610710565b341561030457600080fd5b6102b660046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061081195505050505050565b341561039357600080fd5b610191600160a060020a0360043581169060243516610888565b60408051908101604052600581527f454c696e6b000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a03831615156103fb57600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b65e35fa931a00081565b600080600160a060020a038416151561048757600080fd5b30600160a060020a031684600160a060020a0316141515156104a857600080fd5b50600160a060020a038085166000908152600160209081526040808320339094168352929052205480831115806104f0575033600160a060020a031685600160a060020a0316145b15156104fb57600080fd5b600160a060020a038416600090815260208190526040902054610524908463ffffffff6108b316565b600160a060020a038086166000908152602081905260408082209390935590871681522054610559908463ffffffff6108c216565b600160a060020a038087166000908152602081815260408083209490945560018152838220339093168252919091522054600019148015906105ad575033600160a060020a031685600160a060020a031614155b1561061157600160a060020a03808616600090815260016020908152604080832033909416835292905220546105e9908463ffffffff6108c216565b600160a060020a03808716600090815260016020908152604080832033909416835292905220555b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3506001949350505050565b600881565b600160209081526000928352604080842090915290825290205481565b600060ff8351111561069657600080fd5b81518351146106a457600080fd5b5060005b82518160ff1610156106f8576106ef84848360ff16815181106106c757fe5b90602001906020020151848460ff16815181106106e057fe5b9060200190602002015161046f565b506001016106a8565b50505050565b60006020819052908152604090205481565b6000600160a060020a038316151561072757600080fd5b610730836108d1565b151561073b57600080fd5b600160a060020a033316600090815260208190526040902054610764908363ffffffff6108c216565b600160a060020a033381166000908152602081905260408082209390935590851681522054610799908363ffffffff6108b316565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600060ff8351111561082257600080fd5b815183511461083057600080fd5b5060005b82518160ff1610156108835761087a838260ff168151811061085257fe5b90602001906020020151838360ff168151811061086b57fe5b90602001906020020151610710565b50600101610834565b505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b80820182811161045f57600080fd5b80820382811061045f57600080fd5b3b15905600a165627a7a723058204ab309bdd49c9014648966b2ae47b8157ed79a3870563b3ff538bc0a009c592a0029

   Swarm Source:
bzzr://4ab309bdd49c9014648966b2ae47b8157ed79a3870563b3ff538bc0a009c592a

 

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.