ETH Price: $2,982.42 (+1.24%)
Gas: 4 Gwei

Contract

0xdd974D5C2e2928deA5F71b9825b8b646686BD200
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

KyberNetwork (KNC) (@$0.5843)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
0x8246bde16f0079b04f0802c81174990b7a2333441fb4514eabbb10fbcd30f3b6Transfer(pending)2024-05-02 23:51:0146 mins ago1714693861IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xdd8bd356ff835437814f38567315a0a6b94c8edec98c7764a713da8cc5ee1981Transfer(pending)2024-05-02 23:41:1956 mins ago1714693279IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x7f30773d0ab6afb41ce733b26c14734deeb06a2cf8392e8dcab6a927e7ed77e0Transfer(pending)2024-05-02 23:38:301 hrs ago1714693110IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xe868cca64773caac5c5ebac5806b2a9d4a3c63b9a996e0838a10cd771c2e6982Transfer(pending)2024-05-02 23:34:291 hr ago1714692869IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x57706ab39075ea42f2027a6c9544bd19101034a0999730264aabc8f290d76122Transfer(pending)2024-05-02 23:31:161 hr ago1714692676IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x87aeb2daa12301e4dc43a2742c4105f60648d44eaae10ec8d41f284d35894ad7Approve(pending)2024-05-02 23:03:351 hr ago1714691015IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xa783fc1236f581a8016a31af307015b9b7fde79c224ba7a797cb1503f91d1217Transfer(pending)2024-05-02 22:57:531 hr ago1714690673IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x8a0e0a2b35743ad1e8e03a9973beb1632dbced687b51534a4fe4ccb1f73cd565Transfer(pending)2024-05-02 20:10:234 hrs ago1714680623IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xea3d0e06e4702b39d6c4513a35d7838285d2af117de6e262e78280f4c709ef67Transfer(pending)2024-05-02 18:24:586 hrs ago1714674298IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x7019a08b2d8beaa2d9cd44b80916ead0deb6649712a80f5b3db5f23de02e1c92Transfer(pending)2024-04-30 19:50:142 days ago1714506614IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x64e369b241b5c0a02d7ed43803bb45bc905a5eafafd523da794920c8d3c6d454Transfer(pending)2024-04-30 15:14:032 days ago1714490043IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xc6f8ff57235d776263ea6b37eb48c96217d2bbb2fa74028321bb8c08da6262a0Transfer(pending)2024-04-30 11:09:182 days ago1714475358IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x643b372124482119df29b5c92048f3ad2844eacba2bb2ae5c904420e17e5179cTransfer(pending)2024-04-29 12:50:553 days ago1714395055IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x1687aba1e5373ca42d075235f18be2c59e70035a73c1c180575e8f76db2f4969Approve(pending)2024-04-29 12:19:473 days ago1714393187IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x8f1dbafd430b258871258c4b739a5039afb268a79445b6ed80acc42f58938ddeTransfer(pending)2024-04-29 10:38:523 days ago1714387132IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0x1d20e9c1f43e3599a01c30fa526ebd39e246fb436500f5f3470eff47ff29c168Transfer(pending)2024-04-29 9:25:273 days ago1714382727IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
0xd3dac9a281a2c355d729c31990deba53faa8007016e310ef60b6e1da340a7e62Transfer(pending)2024-04-21 8:55:0611 days ago1713689706IN
Kyber: Old KNC Token
0 ETH(Pending)(Pending)
Approve197855872024-05-02 23:03:351 hr ago1714691015IN
Kyber: Old KNC Token
0 ETH0.000424559.15488315
Approve197847542024-05-02 20:15:234 hrs ago1714680923IN
Kyber: Old KNC Token
0 ETH0.00031676.78709296
Transfer197842772024-05-02 18:38:355 hrs ago1714675115IN
Kyber: Old KNC Token
0 ETH0.000389437.86397254
Approve197815662024-05-02 9:32:4715 hrs ago1714642367IN
Kyber: Old KNC Token
0 ETH0.000178597.39524975
Approve197815632024-05-02 9:32:1115 hrs ago1714642331IN
Kyber: Old KNC Token
0 ETH0.000188277.79619893
Approve197794412024-05-02 2:24:5922 hrs ago1714616699IN
Kyber: Old KNC Token
0 ETH0.000253485.46452085
Approve197785952024-05-01 23:33:5925 hrs ago1714606439IN
Kyber: Old KNC Token
0 ETH0.00045459.80075303
Transfer197778092024-05-01 20:56:1127 hrs ago1714596971IN
Kyber: Old KNC Token
0 ETH0.000330426.67413949
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
103173862020-06-22 19:12:371410 days ago1592853157
Kyber: Old KNC Token
1 ETH
42648982017-09-12 5:33:192424 days ago1505194399  Contract Creation0 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x3BE856c9...1a62ce385
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
KyberNetworkCrystal

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-09-12
*/

pragma solidity ^0.4.13;

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

  function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}



contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) constant returns (uint256);
  function transfer(address to, uint256 value) returns (bool);
  
  // KYBER-NOTE! code changed to comply with ERC20 standard
  event Transfer(address indexed _from, address indexed _to, uint _value);
  //event Transfer(address indexed from, address indexed to, uint256 value);
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) 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) returns (bool) {
    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) constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  
  // KYBER-NOTE! code changed to comply with ERC20 standard
  event Approval(address indexed _owner, address indexed _spender, uint _value);
  //event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) 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 amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

    // KYBER-NOTE! code changed to comply with ERC20 standard
    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    //balances[_from] = balances[_from].sub(_value); // this was removed
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) returns (bool) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    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 specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

}

contract KyberNetworkCrystal is StandardToken, Ownable {
    string  public  constant name = "Kyber Network Crystal";
    string  public  constant symbol = "KNC";
    uint    public  constant decimals = 18;

    uint    public  saleStartTime;
    uint    public  saleEndTime;

    address public  tokenSaleContract;

    modifier onlyWhenTransferEnabled() {
        if( now <= saleEndTime && now >= saleStartTime ) {
            require( msg.sender == tokenSaleContract );
        }
        _;
    }

    modifier validDestination( address to ) {
        require(to != address(0x0));
        require(to != address(this) );
        _;
    }

    function KyberNetworkCrystal( uint tokenTotalAmount, uint startTime, uint endTime, address admin ) {
        // Mint all tokens. Then disable minting forever.
        balances[msg.sender] = tokenTotalAmount;
        totalSupply = tokenTotalAmount;
        Transfer(address(0x0), msg.sender, tokenTotalAmount);

        saleStartTime = startTime;
        saleEndTime = endTime;

        tokenSaleContract = msg.sender;
        transferOwnership(admin); // admin could drain tokens that were sent here by mistake
    }

    function transfer(address _to, uint _value)
        onlyWhenTransferEnabled
        validDestination(_to)
        returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint _value)
        onlyWhenTransferEnabled
        validDestination(_to)
        returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    event Burn(address indexed _burner, uint _value);

    function burn(uint _value) onlyWhenTransferEnabled
        returns (bool){
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(msg.sender, _value);
        Transfer(msg.sender, address(0x0), _value);
        return true;
    }

    // save some gas by making only one contract call
    function burnFrom(address _from, uint256 _value) onlyWhenTransferEnabled
        returns (bool) {
        assert( transferFrom( _from, msg.sender, _value ) );
        return burn(_value);
    }

    function emergencyERC20Drain( ERC20 token, uint amount ) onlyOwner {
        token.transfer( owner, amount );
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleStartTime","outputs":[{"name":"","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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenSaleContract","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"emergencyERC20Drain","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"tokenTotalAmount","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"admin","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_burner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","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"},{"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"}]

Deployed Bytecode

0x606060405236156100ee5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f3578063095ea7b31461017e57806318160ddd146101b45780631cbaee2d146101d957806323b872dd146101fe578063313ce5671461023a57806342966c681461025f5780635d5aa2771461028957806370a08231146102b857806379cc6790146102e95780638da5cb5b1461031f57806395d89b411461034e578063a9059cbb146103d9578063db0e16f11461040f578063dd62ed3e14610433578063ed338ff11461046a578063f2fde38b1461048f575b600080fd5b34156100fe57600080fd5b6101066104b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018957600080fd5b6101a0600160a060020a03600435166024356104e7565b604051901515815260200160405180910390f35b34156101bf57600080fd5b6101c761058e565b60405190815260200160405180910390f35b34156101e457600080fd5b6101c7610594565b60405190815260200160405180910390f35b341561020957600080fd5b6101a0600160a060020a036004358116906024351660443561059a565b604051901515815260200160405180910390f35b341561024557600080fd5b6101c7610620565b60405190815260200160405180910390f35b341561026a57600080fd5b6101a0600435610625565b604051901515815260200160405180910390f35b341561029457600080fd5b61029c61073b565b604051600160a060020a03909116815260200160405180910390f35b34156102c357600080fd5b6101c7600160a060020a036004351661074a565b60405190815260200160405180910390f35b34156102f457600080fd5b6101a0600160a060020a0360043516602435610769565b604051901515815260200160405180910390f35b341561032a57600080fd5b61029c6107c6565b604051600160a060020a03909116815260200160405180910390f35b341561035957600080fd5b6101066107d5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e457600080fd5b6101a0600160a060020a036004351660243561080c565b604051901515815260200160405180910390f35b341561041a57600080fd5b610431600160a060020a0360043516602435610890565b005b341561043e57600080fd5b6101c7600160a060020a0360043581169060243516610948565b60405190815260200160405180910390f35b341561047557600080fd5b6101c7610975565b60405190815260200160405180910390f35b341561049a57600080fd5b610431600160a060020a036004351661097b565b005b60408051908101604052601581527f4b79626572204e6574776f726b204372797374616c0000000000000000000000602082015281565b60008115806105195750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b151561052457600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b60045481565b600060055442111580156105b057506004544210155b156105d05760065433600160a060020a039081169116146105d057600080fd5b5b82600160a060020a03811615156105e757600080fd5b30600160a060020a031681600160a060020a03161415151561060857600080fd5b6106138585856109d3565b91505b5b505b9392505050565b601281565b6000600554421115801561063b57506004544210155b1561065b5760065433600160a060020a0390811691161461065b57600080fd5b5b600160a060020a033316600090815260016020526040902054610685908363ffffffff610ae516565b600160a060020a033316600090815260016020526040812091909155546106b2908363ffffffff610ae516565b600055600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a2600033600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b5b919050565b600654600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b6000600554421115801561077f57506004544210155b1561079f5760065433600160a060020a0390811691161461079f57600080fd5b5b6107ab83338461059a565b15156107b357fe5b6107bc82610625565b90505b5b92915050565b600354600160a060020a031681565b60408051908101604052600381527f4b4e430000000000000000000000000000000000000000000000000000000000602082015281565b6000600554421115801561082257506004544210155b156108425760065433600160a060020a0390811691161461084257600080fd5b5b82600160a060020a038116151561085957600080fd5b30600160a060020a031681600160a060020a03161415151561087a57600080fd5b6108848484610afc565b91505b5b505b92915050565b60035433600160a060020a039081169116146108ab57600080fd5b600354600160a060020a038084169163a9059cbb9116836000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561092757600080fd5b6102c65a03f1151561093857600080fd5b505050604051805150505b5b5050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60055481565b60035433600160a060020a0390811691161461099657600080fd5b600160a060020a038116156109ce576003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600160a060020a038084166000818152600260209081526040808320339095168352938152838220549282526001905291822054610a17908463ffffffff610ae516565b600160a060020a038087166000908152600160205260408082209390935590861681522054610a4c908463ffffffff610bbc16565b600160a060020a038516600090815260016020526040902055610a75818463ffffffff610ae516565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082821115610af157fe5b508082035b92915050565b600160a060020a033316600090815260016020526040812054610b25908363ffffffff610ae516565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b5a908363ffffffff610bbc16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600082820183811015610bcb57fe5b8091505b50929150505600a165627a7a723058207caf63297f1744c81dc22b3fcc78ec19977d0bb4d5160ae1fd8cb6aca1957bcc0029

Swarm Source

bzzr://7caf63297f1744c81dc22b3fcc78ec19977d0bb4d5160ae1fd8cb6aca1957bcc

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

KNC token is migrating to new token contract 0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.