Erc20 ICON: ICX Tokens have been officially swapped to ICON MainNet. The Token Swap has Ended.
Overview
Max Total Supply
400,228,041.799999999999999929 ICX
Holders
22,651 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
6060604052341561000c57fe5b604051604080610c5c8339810160405280516020909101515b5b426000556001805461010060b060020a0319166201000033600160a060020a0316021790555b600160a060020a03811615156100625760006000fd5b81151561006f5760006000fd5b33600160a060020a039081166000908152600460205260409020839055600683905560078054600160a060020a0319169183169190911790555b50505b610ba1806100bb6000396000f300606060405236156100e05763ffffffff60e060020a600035041663095ea7b381146100e257806318160ddd1461011557806323b872dd146101375780633a7644621461017057806360805e5a146101825780636ad5b3ea146101a55780636c4eca27146101d15780636d1b229d146101f557806370a082311461020a5780638da5cb5b14610238578063a9059cbb14610264578063cb7bba3914610297578063d8270dce146102c7578063dd62ed3e146102e9578063e2a9ca4c1461031d578063ec4a79cf1461032f578063f22600311461035f578063f83d08ba14610382575bfe5b34156100ea57fe5b610101600160a060020a03600435166024356103a6565b604080519115158252519081900360200190f35b341561011d57fe5b610125610473565b60408051918252519081900360200190f35b341561013f57fe5b610101600160a060020a036004358116906024351660443561047a565b604080519115158252519081900360200190f35b341561017857fe5b61018061063f565b005b341561018a57fe5b610180600160a060020a03600435166024351515610686565b005b34156101ad57fe5b6101b561070e565b60408051600160a060020a039092168252519081900360200190f35b34156101d957fe5b61010161071d565b604080519115158252519081900360200190f35b34156101fd57fe5b61018060043561072b565b005b341561021257fe5b610125600160a060020a036004351661082d565b60408051918252519081900360200190f35b341561024057fe5b6101b561084c565b60408051600160a060020a039092168252519081900360200190f35b341561026c57fe5b610101600160a060020a0360043516602435610861565b604080519115158252519081900360200190f35b341561029f57fe5b610101600160a060020a036004351661099c565b604080519115158252519081900360200190f35b34156102cf57fe5b6101256109b1565b60408051918252519081900360200190f35b34156102f157fe5b610125600160a060020a03600435811690602435166109b7565b60408051918252519081900360200190f35b341561032557fe5b6101806109e4565b005b341561033757fe5b610101600160a060020a0360043516610a27565b604080519115158252519081900360200190f35b341561036757fe5b610180600160a060020a03600435166024351515610a3c565b005b341561038a57fe5b610101610ae6565b604080519115158252519081900360200190f35b600154600090610100900460ff1615156103e257600160a060020a03331660009081526002602052604090205460ff1615156103e25760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff161561040a5760006000fd5b600160a060020a03338116600081815260056020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b5b5b92915050565b6006545b90565b600154600090610100900460ff1615156104b657600160a060020a03331660009081526002602052604090205460ff1615156104b65760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156104de5760006000fd5b600160a060020a038416600090815260046020526040902054829010156105055760006000fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220548290101561053a5760006000fd5b600160a060020a0380851660009081526005602090815260408083203390941683529290522054610571908363ffffffff610aef16565b600160a060020a0380861660008181526005602090815260408083203390951683529381528382209490945590815260049092529020546105b8908363ffffffff610aef16565b600160a060020a0380861660009081526004602052604080822093909355908516815220546105ed908363ffffffff610b0816565b600160a060020a038085166000818152600460209081526040918290209490945580518681529051919392881692600080516020610b3683398151915292918290030190a35060015b5b5b9392505050565b60075433600160a060020a039081169116141561065c5760006000fd5b6001805461ff001916610100179055604051600080516020610b5683398151915290600090a15b5b565b60015433600160a060020a039081166201000090920416146106a85760006000fd5b600160a060020a038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517f5c42a6eb70f030b267ab6ddbc362cfe8dbe7cc3b42c590692fa695c58aeaca2b9281900390910190a15b5b5050565b600754600160a060020a031681565b600154610100900460ff1681565b600154610100900460ff16151561076457600160a060020a03331660009081526002602052604090205460ff1615156107645760006000fd5b5b600160a060020a0333166000908152600460205260409020548190101561078c5760006000fd5b600160a060020a0333166000908152600460205260409020546107b5908263ffffffff610aef16565b600160a060020a0333166000908152600460205260409020556006546107e1908263ffffffff610aef16565b60065560408051600160a060020a03331681526020810183905281517f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa2929181900390910190a15b5b50565b600160a060020a0381166000908152600460205260409020545b919050565b600154620100009004600160a060020a031681565b600154600090610100900460ff16151561089d57600160a060020a03331660009081526002602052604090205460ff16151561089d5760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156108c55760006000fd5b600160a060020a033316600090815260046020526040902054829010156108ec5760006000fd5b600160a060020a033316600090815260046020526040902054610915908363ffffffff610aef16565b600160a060020a03338116600090815260046020526040808220939093559085168152205461094a908363ffffffff610b0816565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191933390931692600080516020610b3683398151915292918290030190a35060015b5b5b92915050565b60036020526000908152604090205460ff1681565b60005481565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60075433600160a060020a0390811691161415610a015760006000fd5b6001805461ff0019169055604051600080516020610b5683398151915290600090a15b5b565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116620100009092041614610a5e5760006000fd5b600154600160a060020a0383811662010000909204161415610a805760006000fd5b600160a060020a038216600081815260036020908152604091829020805460ff191685151590811790915582519384529083015280517fcaf46096bdd957e9271a7e46a00ff61870b80644805049e7ea814162a2b606bc9281900390910190a15b5b5050565b60015460ff1681565b6000610afd83831115610b24565b508082035b92915050565b6000828201610b1984821015610b24565b8091505b5092915050565b8015156108295760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efeb2cf4fc9168a2d848de8c48d73f2b6e32ef3b25eb1e730b673209b002bca01da165627a7a72305820868c14944dfb8f2c55988dcb67fcf0355510dbc94bcf64009ae8027afc09e5c900290000000000000000000000000000000000000000014b0fffc652531193c000000000000000000000000000007eca82d239c3b1513d6368e2ff21763e469f1298
Deployed Bytecode
0x606060405236156100e05763ffffffff60e060020a600035041663095ea7b381146100e257806318160ddd1461011557806323b872dd146101375780633a7644621461017057806360805e5a146101825780636ad5b3ea146101a55780636c4eca27146101d15780636d1b229d146101f557806370a082311461020a5780638da5cb5b14610238578063a9059cbb14610264578063cb7bba3914610297578063d8270dce146102c7578063dd62ed3e146102e9578063e2a9ca4c1461031d578063ec4a79cf1461032f578063f22600311461035f578063f83d08ba14610382575bfe5b34156100ea57fe5b610101600160a060020a03600435166024356103a6565b604080519115158252519081900360200190f35b341561011d57fe5b610125610473565b60408051918252519081900360200190f35b341561013f57fe5b610101600160a060020a036004358116906024351660443561047a565b604080519115158252519081900360200190f35b341561017857fe5b61018061063f565b005b341561018a57fe5b610180600160a060020a03600435166024351515610686565b005b34156101ad57fe5b6101b561070e565b60408051600160a060020a039092168252519081900360200190f35b34156101d957fe5b61010161071d565b604080519115158252519081900360200190f35b34156101fd57fe5b61018060043561072b565b005b341561021257fe5b610125600160a060020a036004351661082d565b60408051918252519081900360200190f35b341561024057fe5b6101b561084c565b60408051600160a060020a039092168252519081900360200190f35b341561026c57fe5b610101600160a060020a0360043516602435610861565b604080519115158252519081900360200190f35b341561029f57fe5b610101600160a060020a036004351661099c565b604080519115158252519081900360200190f35b34156102cf57fe5b6101256109b1565b60408051918252519081900360200190f35b34156102f157fe5b610125600160a060020a03600435811690602435166109b7565b60408051918252519081900360200190f35b341561032557fe5b6101806109e4565b005b341561033757fe5b610101600160a060020a0360043516610a27565b604080519115158252519081900360200190f35b341561036757fe5b610180600160a060020a03600435166024351515610a3c565b005b341561038a57fe5b610101610ae6565b604080519115158252519081900360200190f35b600154600090610100900460ff1615156103e257600160a060020a03331660009081526002602052604090205460ff1615156103e25760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff161561040a5760006000fd5b600160a060020a03338116600081815260056020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b5b5b92915050565b6006545b90565b600154600090610100900460ff1615156104b657600160a060020a03331660009081526002602052604090205460ff1615156104b65760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156104de5760006000fd5b600160a060020a038416600090815260046020526040902054829010156105055760006000fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220548290101561053a5760006000fd5b600160a060020a0380851660009081526005602090815260408083203390941683529290522054610571908363ffffffff610aef16565b600160a060020a0380861660008181526005602090815260408083203390951683529381528382209490945590815260049092529020546105b8908363ffffffff610aef16565b600160a060020a0380861660009081526004602052604080822093909355908516815220546105ed908363ffffffff610b0816565b600160a060020a038085166000818152600460209081526040918290209490945580518681529051919392881692600080516020610b3683398151915292918290030190a35060015b5b5b9392505050565b60075433600160a060020a039081169116141561065c5760006000fd5b6001805461ff001916610100179055604051600080516020610b5683398151915290600090a15b5b565b60015433600160a060020a039081166201000090920416146106a85760006000fd5b600160a060020a038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015280517f5c42a6eb70f030b267ab6ddbc362cfe8dbe7cc3b42c590692fa695c58aeaca2b9281900390910190a15b5b5050565b600754600160a060020a031681565b600154610100900460ff1681565b600154610100900460ff16151561076457600160a060020a03331660009081526002602052604090205460ff1615156107645760006000fd5b5b600160a060020a0333166000908152600460205260409020548190101561078c5760006000fd5b600160a060020a0333166000908152600460205260409020546107b5908263ffffffff610aef16565b600160a060020a0333166000908152600460205260409020556006546107e1908263ffffffff610aef16565b60065560408051600160a060020a03331681526020810183905281517f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa2929181900390910190a15b5b50565b600160a060020a0381166000908152600460205260409020545b919050565b600154620100009004600160a060020a031681565b600154600090610100900460ff16151561089d57600160a060020a03331660009081526002602052604090205460ff16151561089d5760006000fd5b5b600160a060020a03331660009081526003602052604090205460ff16156108c55760006000fd5b600160a060020a033316600090815260046020526040902054829010156108ec5760006000fd5b600160a060020a033316600090815260046020526040902054610915908363ffffffff610aef16565b600160a060020a03338116600090815260046020526040808220939093559085168152205461094a908363ffffffff610b0816565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191933390931692600080516020610b3683398151915292918290030190a35060015b5b5b92915050565b60036020526000908152604090205460ff1681565b60005481565b600160a060020a038083166000908152600560209081526040808320938516835292905220545b92915050565b60075433600160a060020a0390811691161415610a015760006000fd5b6001805461ff0019169055604051600080516020610b5683398151915290600090a15b5b565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116620100009092041614610a5e5760006000fd5b600154600160a060020a0383811662010000909204161415610a805760006000fd5b600160a060020a038216600081815260036020908152604091829020805460ff191685151590811790915582519384529083015280517fcaf46096bdd957e9271a7e46a00ff61870b80644805049e7ea814162a2b606bc9281900390910190a15b5b5050565b60015460ff1681565b6000610afd83831115610b24565b508082035b92915050565b6000828201610b1984821015610b24565b8091505b5092915050565b8015156108295760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efeb2cf4fc9168a2d848de8c48d73f2b6e32ef3b25eb1e730b673209b002bca01da165627a7a72305820868c14944dfb8f2c55988dcb67fcf0355510dbc94bcf64009ae8027afc09e5c90029
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
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.