ETH Price: $3,267.62 (+0.56%)
Gas: 2 Gwei

Contract

0x749dab228c71e650AdDBa8c9875b842aD460a3C2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
List Addresses42501122017-09-08 2:16:192515 days ago1504836979IN
0x749dab22...aD460a3C2
0 ETH0.001053384.0000001
List Addresses42500982017-09-08 2:08:202515 days ago1504836500IN
0x749dab22...aD460a3C2
0 ETH0.00045394.0000001
List Addresses42500982017-09-08 2:08:202515 days ago1504836500IN
0x749dab22...aD460a3C2
0 ETH0.001053384.0000001
List Addresses42500982017-09-08 2:08:202515 days ago1504836500IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500982017-09-08 2:08:202515 days ago1504836500IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
List Addresses42500972017-09-08 2:08:042515 days ago1504836484IN
0x749dab22...aD460a3C2
0 ETH0.000453384.0000001
List Addresses42500962017-09-08 2:07:302515 days ago1504836450IN
0x749dab22...aD460a3C2
0 ETH0.00045394.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.000453644.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.001053384.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500922017-09-08 2:05:442515 days ago1504836344IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
List Addresses42500912017-09-08 2:05:382515 days ago1504836338IN
0x749dab22...aD460a3C2
0 ETH0.001053384.0000001
List Addresses42500912017-09-08 2:05:382515 days ago1504836338IN
0x749dab22...aD460a3C2
0 ETH0.00045394.0000001
List Addresses42500902017-09-08 2:04:522515 days ago1504836292IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500852017-09-08 2:01:542515 days ago1504836114IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
List Addresses42500822017-09-08 1:59:502515 days ago1504835990IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
List Addresses42500822017-09-08 1:59:502515 days ago1504835990IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500822017-09-08 1:59:502515 days ago1504835990IN
0x749dab22...aD460a3C2
0 ETH0.000453644.0000001
List Addresses42500822017-09-08 1:59:502515 days ago1504835990IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500812017-09-08 1:59:442515 days ago1504835984IN
0x749dab22...aD460a3C2
0 ETH0.00045394.0000001
List Addresses42500812017-09-08 1:59:442515 days ago1504835984IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500812017-09-08 1:59:442515 days ago1504835984IN
0x749dab22...aD460a3C2
0 ETH0.001053644.0000001
List Addresses42500792017-09-08 1:59:012515 days ago1504835941IN
0x749dab22...aD460a3C2
0 ETH0.00105394.0000001
View all transactions

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KyberContributorWhitelist

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.13;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
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 KyberContributorWhitelist is Ownable {
    // 7 wei is a dummy cap. Will be set by owner to a real cap after registration ends.
    uint public slackUsersCap = 7;
    mapping(address=>uint) public addressCap;

    function KyberContributorWhitelist() {}

    event ListAddress( address _user, uint _cap, uint _time );

    // Owner can delist by setting cap = 0.
    // Onwer can also change it at any time
    function listAddress( address _user, uint _cap ) onlyOwner {
        addressCap[_user] = _cap;
        ListAddress( _user, _cap, now );
    }

    // an optimasition in case of network congestion
    function listAddresses( address[] _users, uint[] _cap ) onlyOwner {
        require(_users.length == _cap.length );
        for( uint i = 0 ; i < _users.length ; i++ ) {
            listAddress( _users[i], _cap[i] );
        }
    }

    function setSlackUsersCap( uint _cap ) onlyOwner {
        slackUsersCap = _cap;
    }

    function getCap( address _user ) constant returns(uint) {
        uint cap = addressCap[_user];

        if( cap == 1 ) return slackUsersCap;
        else return cap;
    }

    function destroy() onlyOwner {
        selfdestruct(owner);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_cap","type":"uint256"}],"name":"listAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"slackUsersCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_users","type":"address[]"},{"name":"_cap","type":"uint256[]"}],"name":"listAddresses","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"getCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_cap","type":"uint256"}],"name":"setSlackUsersCap","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"},{"indexed":false,"name":"_cap","type":"uint256"},{"indexed":false,"name":"_time","type":"uint256"}],"name":"ListAddress","type":"event"}]

60606040526007600155341561001457600080fd5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b5b61049b806100436000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166347d3def9811461009b5780637d8f94a0146100bf57806383197ef0146100e45780638da5cb5b146100f9578063af7b2eb714610128578063b3aefb75146101b9578063b7465a19146101ea578063f2fde38b14610202578063fc87c76614610223575b600080fd5b34156100a657600080fd5b6100bd600160a060020a0360043516602435610254565b005b34156100ca57600080fd5b6100d26102ed565b60405190815260200160405180910390f35b34156100ef57600080fd5b6100bd6102f3565b005b341561010457600080fd5b61010c61031f565b604051600160a060020a03909116815260200160405180910390f35b341561013357600080fd5b6100bd60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061032e95505050505050565b005b34156101c457600080fd5b6100d2600160a060020a03600435166103a9565b60405190815260200160405180910390f35b34156101f557600080fd5b6100bd6004356103e0565b005b341561020d57600080fd5b6100bd600160a060020a0360043516610405565b005b341561022e57600080fd5b6100d2600160a060020a036004351661045d565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461026f57600080fd5b600160a060020a038216600090815260026020526040908190208290557f050a17b796524934d80b5e8a2a3ed1462eb1964cfbd6ad62be43290b16a8023d90839083904290518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a15b5b5050565b60015481565b60005433600160a060020a0390811691161461030e57600080fd5b600054600160a060020a0316ff5b5b565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461034a57600080fd5b815183511461035857600080fd5b5060005b82518110156103a25761039983828151811061037457fe5b9060200190602002015183838151811061038a57fe5b90602001906020020151610254565b5b60010161035c565b5b5b505050565b600160a060020a03811660009081526002602052604081205460018114156103d55760015491506103d9565b8091505b5b50919050565b60005433600160a060020a039081169116146103fb57600080fd5b60018190555b5b50565b60005433600160a060020a0390811691161461042057600080fd5b600160a060020a03811615610401576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600260205260009081526040902054815600a165627a7a723058205fff71fbeccad707906912b9ef6d5c0a7e5f7c4979d7d825a3eb4b8f47fb73cc0029

Deployed Bytecode

0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166347d3def9811461009b5780637d8f94a0146100bf57806383197ef0146100e45780638da5cb5b146100f9578063af7b2eb714610128578063b3aefb75146101b9578063b7465a19146101ea578063f2fde38b14610202578063fc87c76614610223575b600080fd5b34156100a657600080fd5b6100bd600160a060020a0360043516602435610254565b005b34156100ca57600080fd5b6100d26102ed565b60405190815260200160405180910390f35b34156100ef57600080fd5b6100bd6102f3565b005b341561010457600080fd5b61010c61031f565b604051600160a060020a03909116815260200160405180910390f35b341561013357600080fd5b6100bd60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061032e95505050505050565b005b34156101c457600080fd5b6100d2600160a060020a03600435166103a9565b60405190815260200160405180910390f35b34156101f557600080fd5b6100bd6004356103e0565b005b341561020d57600080fd5b6100bd600160a060020a0360043516610405565b005b341561022e57600080fd5b6100d2600160a060020a036004351661045d565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461026f57600080fd5b600160a060020a038216600090815260026020526040908190208290557f050a17b796524934d80b5e8a2a3ed1462eb1964cfbd6ad62be43290b16a8023d90839083904290518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a15b5b5050565b60015481565b60005433600160a060020a0390811691161461030e57600080fd5b600054600160a060020a0316ff5b5b565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461034a57600080fd5b815183511461035857600080fd5b5060005b82518110156103a25761039983828151811061037457fe5b9060200190602002015183838151811061038a57fe5b90602001906020020151610254565b5b60010161035c565b5b5b505050565b600160a060020a03811660009081526002602052604081205460018114156103d55760015491506103d9565b8091505b5b50919050565b60005433600160a060020a039081169116146103fb57600080fd5b60018190555b5b50565b60005433600160a060020a0390811691161461042057600080fd5b600160a060020a03811615610401576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600260205260009081526040902054815600a165627a7a723058205fff71fbeccad707906912b9ef6d5c0a7e5f7c4979d7d825a3eb4b8f47fb73cc0029

Swarm Source

bzzr://5fff71fbeccad707906912b9ef6d5c0a7e5f7c4979d7d825a3eb4b8f47fb73cc

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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