ETH Price: $2,569.65 (+0.62%)

Contract

0x317B8c7b9a879C22c78e4251FF00848039b4936B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add To White Lis...54212792018-04-11 12:23:502355 days ago1523449430IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212772018-04-11 12:23:252355 days ago1523449405IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212722018-04-11 12:22:242355 days ago1523449344IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212712018-04-11 12:22:192355 days ago1523449339IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212712018-04-11 12:22:192355 days ago1523449339IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212532018-04-11 12:18:332355 days ago1523449113IN
0x317B8c7b...039b4936B
0 ETH0.00020825
Add To White Lis...54212512018-04-11 12:18:202355 days ago1523449100IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212502018-04-11 12:18:122355 days ago1523449092IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212492018-04-11 12:17:052355 days ago1523449025IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212362018-04-11 12:14:132355 days ago1523448853IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212362018-04-11 12:14:132355 days ago1523448853IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212362018-04-11 12:14:132355 days ago1523448853IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212242018-04-11 12:11:102355 days ago1523448670IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212222018-04-11 12:10:062355 days ago1523448606IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212182018-04-11 12:09:402355 days ago1523448580IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212042018-04-11 12:05:582355 days ago1523448358IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212032018-04-11 12:05:542355 days ago1523448354IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54212012018-04-11 12:05:212355 days ago1523448321IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211872018-04-11 12:01:252355 days ago1523448085IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211862018-04-11 12:01:162355 days ago1523448076IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211862018-04-11 12:01:162355 days ago1523448076IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211822018-04-11 12:00:192355 days ago1523448019IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211662018-04-11 11:56:072355 days ago1523447767IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211662018-04-11 11:56:072355 days ago1523447767IN
0x317B8c7b...039b4936B
0 ETH0.00043325
Add To White Lis...54211662018-04-11 11:56:072355 days ago1523447767IN
0x317B8c7b...039b4936B
0 ETH0.00043325
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:
WhiteListRegistry

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.13;

library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure 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;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    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) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract WhiteListRegistry is Ownable {

    mapping (address => WhiteListInfo) public whitelist;
    using SafeMath for uint;

    struct WhiteListInfo {
        bool whiteListed;
        uint minCap;
        uint maxCap;
    }

    event AddedToWhiteList(
        address contributor,
        uint minCap,
        uint maxCap
    );

    event RemovedFromWhiteList(
        address _contributor
    );

    function addToWhiteList(address _contributor, uint _minCap, uint _maxCap) public onlyOwner {
        require(_contributor != address(0));
        whitelist[_contributor] = WhiteListInfo(true, _minCap, _maxCap);
        AddedToWhiteList(_contributor, _minCap, _maxCap);
    }

    function removeFromWhiteList(address _contributor) public onlyOwner {
        require(_contributor != address(0));
        delete whitelist[_contributor];
        RemovedFromWhiteList(_contributor);
    }

    function isWhiteListed(address _contributor) public view returns(bool) {
        return whitelist[_contributor].whiteListed;
    }

    function isAmountAllowed(address _contributor, uint _amount) public view returns(bool) {
       return whitelist[_contributor].maxCap >= _amount && whitelist[_contributor].minCap <= _amount && isWhiteListed(_contributor);
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_contributor","type":"address"}],"name":"removeFromWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_contributor","type":"address"},{"name":"_minCap","type":"uint256"},{"name":"_maxCap","type":"uint256"}],"name":"addToWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_contributor","type":"address"}],"name":"isWhiteListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"whiteListed","type":"bool"},{"name":"minCap","type":"uint256"},{"name":"maxCap","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_contributor","type":"address"},{"name":"_amount","type":"uint256"}],"name":"isAmountAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"contributor","type":"address"},{"indexed":false,"name":"minCap","type":"uint256"},{"indexed":false,"name":"maxCap","type":"uint256"}],"name":"AddedToWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_contributor","type":"address"}],"name":"RemovedFromWhiteList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405260008054600160a060020a033316600160a060020a03199091161790556104b6806100306000396000f3006060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301bf66488114610087578063391c44b2146100a85780636f9170f6146100cd5780638da5cb5b146101005780639b19251a1461012f578063cbc598c514610174578063f2fde38b14610196575b600080fd5b341561009257600080fd5b6100a6600160a060020a03600435166101b5565b005b34156100b357600080fd5b6100a6600160a060020a0360043516602435604435610257565b34156100d857600080fd5b6100ec600160a060020a036004351661033c565b604051901515815260200160405180910390f35b341561010b57600080fd5b61011361035a565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b61014e600160a060020a0360043516610369565b604051921515835260208301919091526040808301919091526060909101905180910390f35b341561017f57600080fd5b6100ec600160a060020a036004351660243561038f565b34156101a157600080fd5b6100a6600160a060020a03600435166103ef565b60005433600160a060020a039081169116146101d057600080fd5b600160a060020a03811615156101e557600080fd5b600160a060020a0381166000908152600160208190526040808320805460ff191681559182018390556002909101919091557f9354cd337eebad48c93d70f7321b188732c3061fa5c48fe32b8e6f9480c52fcc90829051600160a060020a03909116815260200160405180910390a150565b60005433600160a060020a0390811691161461027257600080fd5b600160a060020a038316151561028757600080fd5b6060604051908101604090815260018083526020808401869052828401859052600160a060020a0387166000908152919052208151815460ff1916901515178155602082015181600101556040820151600290910155507fa118609a9153ee369dff617db199092108dc6ff7866ba8ed45c84b5022895d9b8383836040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a1505050565b600160a060020a031660009081526001602052604090205460ff1690565b600054600160a060020a031681565b600160208190526000918252604090912080549181015460029091015460ff9092169183565b600160a060020a0382166000908152600160205260408120600201548290108015906103d85750600160a060020a03831660009081526001602081905260409091200154829011155b80156103e857506103e88361033c565b9392505050565b60005433600160a060020a0390811691161461040a57600080fd5b600160a060020a038116151561041f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058206b9314e2417a73ebb036ec25965087dc0945bc33b8bd5648ae45e5961df03fea0029

Deployed Bytecode

0x6060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301bf66488114610087578063391c44b2146100a85780636f9170f6146100cd5780638da5cb5b146101005780639b19251a1461012f578063cbc598c514610174578063f2fde38b14610196575b600080fd5b341561009257600080fd5b6100a6600160a060020a03600435166101b5565b005b34156100b357600080fd5b6100a6600160a060020a0360043516602435604435610257565b34156100d857600080fd5b6100ec600160a060020a036004351661033c565b604051901515815260200160405180910390f35b341561010b57600080fd5b61011361035a565b604051600160a060020a03909116815260200160405180910390f35b341561013a57600080fd5b61014e600160a060020a0360043516610369565b604051921515835260208301919091526040808301919091526060909101905180910390f35b341561017f57600080fd5b6100ec600160a060020a036004351660243561038f565b34156101a157600080fd5b6100a6600160a060020a03600435166103ef565b60005433600160a060020a039081169116146101d057600080fd5b600160a060020a03811615156101e557600080fd5b600160a060020a0381166000908152600160208190526040808320805460ff191681559182018390556002909101919091557f9354cd337eebad48c93d70f7321b188732c3061fa5c48fe32b8e6f9480c52fcc90829051600160a060020a03909116815260200160405180910390a150565b60005433600160a060020a0390811691161461027257600080fd5b600160a060020a038316151561028757600080fd5b6060604051908101604090815260018083526020808401869052828401859052600160a060020a0387166000908152919052208151815460ff1916901515178155602082015181600101556040820151600290910155507fa118609a9153ee369dff617db199092108dc6ff7866ba8ed45c84b5022895d9b8383836040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a1505050565b600160a060020a031660009081526001602052604090205460ff1690565b600054600160a060020a031681565b600160208190526000918252604090912080549181015460029091015460ff9092169183565b600160a060020a0382166000908152600160205260408120600201548290108015906103d85750600160a060020a03831660009081526001602081905260409091200154829011155b80156103e857506103e88361033c565b9392505050565b60005433600160a060020a0390811691161461040a57600080fd5b600160a060020a038116151561041f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058206b9314e2417a73ebb036ec25965087dc0945bc33b8bd5648ae45e5961df03fea0029

Swarm Source

bzzr://6b9314e2417a73ebb036ec25965087dc0945bc33b8bd5648ae45e5961df03fea

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.