ETH Price: $1,906.53 (+2.05%)
Gas: 25 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multi Chain

Transaction Hash
Method
Block
From
To
Value
0xc2e1d8e4937cc5378080766bec96877ec34a08cd30eb391963a05b991a7ab498Transfer(pending)2023-06-02 21:18:4158 mins ago1685740721IN
ICON: Old Token
0 ETH(Pending)(Pending)
0x99e508333041e35cbf8627d861bb10dca26df11578674f7a87dcd916ee0d929bTransfer(pending)2023-06-02 18:50:073 hrs 27 mins ago1685731807IN
ICON: Old Token
0 ETH(Pending)(Pending)
0xf18efb79e8b9d748f04178648759be0352d6534cded47ad56fd7f809e05e30d4Transfer(pending)2023-06-01 22:49:3023 hrs 27 mins ago1685659770IN
ICON: Old Token
0 ETH(Pending)(Pending)
0x02be52f456481441ca28a8476c79e045d1be2bc9de39f278548f9d6452a14b35Transfer(pending)2023-06-01 20:16:071 day 2 hrs ago1685650567IN
ICON: Old Token
0 ETH(Pending)(Pending)
Transfer171127292023-04-24 0:58:3539 days 21 hrs ago1682297915IN
ICON: Old Token
0 ETH0.0010941641.19606394
Transfer169796742023-04-05 2:34:1158 days 19 hrs ago1680662051IN
ICON: Old Token
0 ETH0.0010533339.67678752
Transfer169796572023-04-05 2:30:3558 days 19 hrs ago1680661835IN
ICON: Old Token
0 ETH0.0011477543.23315368
Transfer169796272023-04-05 2:24:3558 days 19 hrs ago1680661475IN
ICON: Old Token
0 ETH0.0010506739.57641261
Transfer168211572023-03-13 19:30:3581 days 2 hrs ago1678735835IN
ICON: Old Token
0 ETH0.000959536.12608094
Transfer168182972023-03-13 9:52:1181 days 12 hrs ago1678701131IN
ICON: Old Token
0 ETH0.0007360327.97766406
Transfer166756602023-02-21 8:23:11101 days 13 hrs ago1676967791IN
ICON: Old Token
0 ETH0.000598722.53129149
Transfer163551312023-01-07 13:13:59146 days 9 hrs ago1673097239IN
ICON: Old Token
0 ETH0.0004698917.7
Transfer163539722023-01-07 9:20:47146 days 12 hrs ago1673083247IN
ICON: Old Token
0 ETH0.0004353816.4
Transfer162501152022-12-23 21:28:23161 days 49 mins ago1671830903IN
ICON: Old Token
0 ETH0.0002893110.99209823
Transfer162439312022-12-23 0:48:11161 days 21 hrs ago1671756491IN
ICON: Old Token
0 ETH0.0003499213.18697368
Transfer162438682022-12-23 0:35:23161 days 21 hrs ago1671755723IN
ICON: Old Token
0 ETH0.0003332112.55725472
Transfer162385552022-12-22 6:49:35162 days 15 hrs ago1671691775IN
ICON: Old Token
0 ETH0.000306111.53024687
Transfer162385362022-12-22 6:45:47162 days 15 hrs ago1671691547IN
ICON: Old Token
0 ETH0.000319212.02386817
Transfer162385002022-12-22 6:38:35162 days 15 hrs ago1671691115IN
ICON: Old Token
0 ETH0.0002838810.69321983
Transfer161927942022-12-15 21:31:11169 days 46 mins ago1671139871IN
ICON: Old Token
0 ETH0.0005237719.72950765
Transfer161427112022-12-08 21:35:11176 days 42 mins ago1670535311IN
ICON: Old Token
0 ETH0.0003587713.50828117
Transfer160887882022-12-01 8:33:11183 days 13 hrs ago1669883591IN
ICON: Old Token
0 ETH0.0003074611.58138868
Transfer159864362022-11-17 1:23:59197 days 20 hrs ago1668648239IN
ICON: Old Token
0 ETH0.0003888614.64111577
Transfer159637702022-11-13 21:23:35201 days 53 mins ago1668374615IN
ICON: Old Token
0 ETH0.0004748517.89466941
Transfer159575302022-11-13 0:30:11201 days 21 hrs ago1668299411IN
ICON: Old Token
0 ETH0.0003079511.6
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IcxToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 0 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-09
*/

pragma solidity ^0.4.11;

contract Migrations {
  address public owner;
  uint public last_completed_migration;

  modifier restricted() {
    if (msg.sender == owner) _;
  }

  function Migrations() {
    owner = msg.sender;
  }

  function setCompleted(uint completed) restricted {
    last_completed_migration = completed;
  }

  function upgrade(address new_address) restricted {
    Migrations upgraded = Migrations(new_address);
    upgraded.setCompleted(last_completed_migration);
  }
}

contract ERC20 {
    function totalSupply() constant returns (uint supply);
    function balanceOf( address who ) constant returns (uint value);
    function allowance( address owner, address spender ) constant returns (uint _allowance);

    function transfer( address to, uint value) returns (bool ok);
    function transferFrom( address from, address to, uint value) returns (bool ok);
    function approve( address spender, uint value ) returns (bool ok);

    event Transfer( address indexed from, address indexed to, uint value);
    event Approval( address indexed owner, address indexed spender, uint value);
}

contract Lockable {
    uint public creationTime;
    bool public lock;
    bool public tokenTransfer;
    address public owner;
    mapping( address => bool ) public unlockaddress;
    mapping( address => bool ) public lockaddress;

    event Locked(address lockaddress,bool status);
    event Unlocked(address unlockedaddress, bool status);


    // if Token transfer
    modifier isTokenTransfer {
        // if token transfer is not allow
        if(!tokenTransfer) {
            require(unlockaddress[msg.sender]);
        }
        _;
    }

    // This modifier check whether the contract should be in a locked
    // or unlocked state, then acts and updates accordingly if
    // necessary
    modifier checkLock {
        if (lockaddress[msg.sender]) {
            throw;
        }
        _;
    }

    modifier isOwner {
        require(owner == msg.sender);
        _;
    }

    function Lockable() {
        creationTime = now;
        tokenTransfer = false;
        owner = msg.sender;
    }

    // Lock Address
    function lockAddress(address target, bool status)
    external
    isOwner
    {
        require(owner != target);
        lockaddress[target] = status;
        Locked(target, status);
    }

    // UnLock Address
    function unlockAddress(address target, bool status)
    external
    isOwner
    {
        unlockaddress[target] = status;
        Unlocked(target, status);
    }
}

library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

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

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}

// ICON ICX Token
/// @author DongOk Ryu - <[email protected]>
contract IcxToken is ERC20, Lockable {
    using SafeMath for uint;

    mapping( address => uint ) _balances;
    mapping( address => mapping( address => uint ) ) _approvals;
    uint _supply;
    address public walletAddress;

    //event TokenMint(address newTokenHolder, uint amountOfTokens);
    event TokenBurned(address burnAddress, uint amountOfTokens);
    event TokenTransfer();

    modifier onlyFromWallet {
        require(msg.sender != walletAddress);
        _;
    }

    function IcxToken( uint initial_balance, address wallet) {
        require(wallet != 0);
        require(initial_balance != 0);
        _balances[msg.sender] = initial_balance;
        _supply = initial_balance;
        walletAddress = wallet;
    }

    function totalSupply() constant returns (uint supply) {
        return _supply;
    }

    function balanceOf( address who ) constant returns (uint value) {
        return _balances[who];
    }

    function allowance(address owner, address spender) constant returns (uint _allowance) {
        return _approvals[owner][spender];
    }

    function transfer( address to, uint value)
    isTokenTransfer
    checkLock
    returns (bool success) {

        require( _balances[msg.sender] >= value );

        _balances[msg.sender] = _balances[msg.sender].sub(value);
        _balances[to] = _balances[to].add(value);
        Transfer( msg.sender, to, value );
        return true;
    }

    function transferFrom( address from, address to, uint value)
    isTokenTransfer
    checkLock
    returns (bool success) {
        // if you don't have enough balance, throw
        require( _balances[from] >= value );
        // if you don't have approval, throw
        require( _approvals[from][msg.sender] >= value );
        // transfer and return true
        _approvals[from][msg.sender] = _approvals[from][msg.sender].sub(value);
        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(value);
        Transfer( from, to, value );
        return true;
    }

    function approve(address spender, uint value)
    isTokenTransfer
    checkLock
    returns (bool success) {
        _approvals[msg.sender][spender] = value;
        Approval( msg.sender, spender, value );
        return true;
    }

    // burnToken burn tokensAmount for sender balance
    function burnTokens(uint tokensAmount)
    isTokenTransfer
    external
    {
        require( _balances[msg.sender] >= tokensAmount );

        _balances[msg.sender] = _balances[msg.sender].sub(tokensAmount);
        _supply = _supply.sub(tokensAmount);
        TokenBurned(msg.sender, tokensAmount);

    }


    function enableTokenTransfer()
    external
    onlyFromWallet {
        tokenTransfer = true;
        TokenTransfer();
    }

    function disableTokenTransfer()
    external
    onlyFromWallet {
        tokenTransfer = false;
        TokenTransfer();
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[],"name":"enableTokenTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"status","type":"bool"}],"name":"unlockAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"walletAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokensAmount","type":"uint256"}],"name":"burnTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockaddress","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"creationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"_allowance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"disableTokenTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unlockaddress","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"status","type":"bool"}],"name":"lockAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"inputs":[{"name":"initial_balance","type":"uint256"},{"name":"wallet","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burnAddress","type":"address"},{"indexed":false,"name":"amountOfTokens","type":"uint256"}],"name":"TokenBurned","type":"event"},{"anonymous":false,"inputs":[],"name":"TokenTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lockaddress","type":"address"},{"indexed":false,"name":"status","type":"bool"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"unlockedaddress","type":"address"},{"indexed":false,"name":"status","type":"bool"}],"name":"Unlocked","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"},{"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"}]

6060604052341561000c57fe5b604051604080610c5c8339810160405280516020909101515b5b426000556001805461010060b060020a0319166201000033600160a060020a0316021790555b600160a060020a03811615156100625760006000fd5b81151561006f5760006000fd5b33600160a060020a039081166000908152600460205260409020839055600683905560078054600160a060020a0319169183169190911790555b50505b610ba1806100bb6000396000f300606060405236156100e05763ffffffff60e060020a600035041663095ea7b381146100e257806318160ddd1461011557806323b872dd146101375780633a7644621461017057806360805e5a146101825780636ad5b3ea146101a55780636c4eca27146101d15780636d1b229d146101f557806370a082311461020a5780638da5cb5b14610238578063a9059cbb14610264578063cb7bba3914610297578063d8270dce146102c7578063dd62ed3e146102e9578063e2a9ca4c1461031d578063ec4a79cf1461032f578063f22600311461035f578063f83d08ba14610382575bfe5b34156100ea57fe5b610101600160a060020a03600435166024356103a6565b604080519115158252519081900360200190f35b341561011d57fe5b610125610473565b60408051918252519081900360200190f35b341561013f57fe5b610101600160a060020a036004358116906024351660443561047a565b604080519115158252519081900360200190f35b341561017857fe5b61018061063f565b005b341561018a57fe5b610180600160a060020a03600435166024351515610686565b005b34156101ad57fe5b6101b561070e565b60408051600160a060020a039092168252519081900360200190f35b34156101d957fe5b61010161071d565b604080519115158252519081900360200190f35b34156101fd57fe5b61018060043561072b565b005b341561021257fe5b610125600160a060020a036004351661082d565b60408051918252519081900360200190f35b341561024057fe5b6101b561084c565b60408051600160a060020a039092168252519081900360200190f35b341561026c57fe5b610101600160a060020a0360043516602435610861565b604080519115158252519081900360200190f35b341561029f57fe5b610101600160a060020a036004351661099c565b604080519115158252519081900360200190f35b34156102cf57fe5b6101256109b1565b60408051918252519081900360200190f35b34156102f157fe5b610125600160a060020a03600435811690602435166109b7565b60408051918252519081900360200190f35b341561032557fe5b6101806109e4565b005b341561033757fe5b610101600160a060020a0360043516610a27565b604080519115158252519081900360200190f35b341561036757fe5b610180600160a060020a03600435166024351515610a3c565b005b341561038a57fe5b610101610ae6565b604080519115158252519081900360200190f35b600154600090610100900460ff1615156103e257600160a060020a03331660009081526002602052604090205460ff1615156103e25760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff161561040a5760006000fd5b600160a060020a03338116600081815260056020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b5b5b92915050565b6006545b90565b600154600090610100900460ff1615156104b657600160a060020a03331660009081526002602052604090205460ff1615156104b65760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156104de5760006000fd5b600160a060020a038416600090815260046020526040902054829010156105055760006000fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220548290101561053a5760006000fd5b600160a060020a0380851660009081526005602090815260408083203390941683529290522054610571908363ffffffff610aef16565b600160a060020a0380861660008181526005602090815260408083203390951683529381528382209490945590815260049092529020546105b8908363ffffffff610aef16565b600160a060020a0380861660009081526004602052604080822093909355908516815220546105ed908363ffffffff610b0816565b600160a060020a038085166000818152600460209081526040918290209490945580518681529051919392881692600080516020610b3683398151915292918290030190a35060015b5b5b9392505050565b60075433600160a060020a039081169116141561065c5760006000fd5b6001805461ff001916610100179055604051600080516020610b5683398151915290600090a15b5b565b60015433600160a060020a039081166201000090920416146106a85760006000fd5b600160a060020a038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517f5c42a6eb70f030b267ab6ddbc362cfe8dbe7cc3b42c590692fa695c58aeaca2b9281900390910190a15b5b5050565b600754600160a060020a031681565b600154610100900460ff1681565b600154610100900460ff16151561076457600160a060020a03331660009081526002602052604090205460ff1615156107645760006000fd5b5b600160a060020a0333166000908152600460205260409020548190101561078c5760006000fd5b600160a060020a0333166000908152600460205260409020546107b5908263ffffffff610aef16565b600160a060020a0333166000908152600460205260409020556006546107e1908263ffffffff610aef16565b60065560408051600160a060020a03331681526020810183905281517f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa2929181900390910190a15b5b50565b600160a060020a0381166000908152600460205260409020545b919050565b600154620100009004600160a060020a031681565b600154600090610100900460ff16151561089d57600160a060020a03331660009081526002602052604090205460ff16151561089d5760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156108c55760006000fd5b600160a060020a033316600090815260046020526040902054829010156108ec5760006000fd5b600160a060020a033316600090815260046020526040902054610915908363ffffffff610aef16565b600160a060020a03338116600090815260046020526040808220939093559085168152205461094a908363ffffffff610b0816565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191933390931692600080516020610b3683398151915292918290030190a35060015b5b5b92915050565b60036020526000908152604090205460ff1681565b60005481565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60075433600160a060020a0390811691161415610a015760006000fd5b6001805461ff0019169055604051600080516020610b5683398151915290600090a15b5b565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116620100009092041614610a5e5760006000fd5b600154600160a060020a0383811662010000909204161415610a805760006000fd5b600160a060020a038216600081815260036020908152604091829020805460ff191685151590811790915582519384529083015280517fcaf46096bdd957e9271a7e46a00ff61870b80644805049e7ea814162a2b606bc9281900390910190a15b5b5050565b60015460ff1681565b6000610afd83831115610b24565b508082035b92915050565b6000828201610b1984821015610b24565b8091505b5092915050565b8015156108295760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efeb2cf4fc9168a2d848de8c48d73f2b6e32ef3b25eb1e730b673209b002bca01da165627a7a72305820868c14944dfb8f2c55988dcb67fcf0355510dbc94bcf64009ae8027afc09e5c900290000000000000000000000000000000000000000014b0fffc652531193c000000000000000000000000000007eca82d239c3b1513d6368e2ff21763e469f1298

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

0000000000000000000000000000000000000000014b0fffc652531193c000000000000000000000000000007eca82d239c3b1513d6368e2ff21763e469f1298

-----Decoded View---------------
Arg [0] : initial_balance (uint256): 400230000000000000000000000
Arg [1] : wallet (address): 0x7ECA82D239c3B1513D6368E2Ff21763e469F1298

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000014b0fffc652531193c00000
Arg [1] : 0000000000000000000000007eca82d239c3b1513d6368e2ff21763e469f1298


Swarm Source

bzzr://868c14944dfb8f2c55988dcb67fcf0355510dbc94bcf64009ae8027afc09e5c9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.