More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,959 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register | 5014658 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014642 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014628 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014619 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014598 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014591 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014562 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014540 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014524 | 2433 days ago | IN | 0 ETH | 0.00074796 | ||||
Register | 5014524 | 2433 days ago | IN | 0 ETH | 0.00074796 | ||||
Register | 5014523 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014520 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014517 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014511 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014511 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014502 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014499 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014498 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014496 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014496 | 2433 days ago | IN | 0 ETH | 0.00074796 | ||||
Register | 5014495 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014486 | 2433 days ago | IN | 0 ETH | 0.00074598 | ||||
Register | 5014484 | 2433 days ago | IN | 0 ETH | 0.00141604 | ||||
Register | 5014462 | 2433 days ago | IN | 0 ETH | 0.00141803 | ||||
Register | 5014434 | 2433 days ago | IN | 0 ETH | 0.00141803 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
KYC
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-14 */ pragma solidity ^0.4.18; /** * @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; 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; } } /** * @title KYC * @dev KYC contract handles the white list for ASTCrowdsale contract * Only accounts registered in KYC contract can buy AST token. * Admins can register account, and the reason why */ contract KYC is Ownable { // check the address is registered for token sale // first boolean is true if presale else false // second boolean is true if registered else false mapping (address => mapping (bool => bool)) public registeredAddress; // check the address is admin of kyc contract mapping (address => bool) public admin; event Registered(address indexed _addr); event Unregistered(address indexed _addr); event SetAdmin(address indexed _addr); /** * @dev check whether the address is registered for token sale or not. * @param _addr address * @param _isPresale bool Whether the address is registered to presale or mainsale */ modifier onlyRegistered(address _addr, bool _isPresale) { require(registeredAddress[_addr][_isPresale]); _; } /** * @dev check whether the msg.sender is admin or not */ modifier onlyAdmin() { require(admin[msg.sender]); _; } function KYC() public { admin[msg.sender] = true; } /** * @dev set new admin as admin of KYC contract * @param _addr address The address to set as admin of KYC contract */ function setAdmin(address _addr, bool _value) public onlyOwner returns (bool) { require(_addr != address(0)); require(admin[_addr] == !_value); admin[_addr] = _value; SetAdmin(_addr); return true; } /** * @dev check the address is register * @param _addr address The address to check * @param _isPresale bool Whether the address is registered to presale or mainsale */ function isRegistered(address _addr, bool _isPresale) public view returns (bool) { return registeredAddress[_addr][_isPresale]; } /** * @dev register the address for token sale * @param _addr address The address to register for token sale * @param _isPresale bool Whether register to presale or mainsale */ function register(address _addr, bool _isPresale) public onlyAdmin { require(_addr != address(0) && registeredAddress[_addr][_isPresale] == false); registeredAddress[_addr][_isPresale] = true; Registered(_addr); } /** * @dev register the addresses for token sale * @param _addrs address[] The addresses to register for token sale * @param _isPresale bool Whether register to presale or mainsale */ function registerByList(address[] _addrs, bool _isPresale) public onlyAdmin { for(uint256 i = 0; i < _addrs.length; i++) { register(_addrs[i], _isPresale); } } /** * @dev unregister the registered address * @param _addr address The address to unregister for token sale * @param _isPresale bool Whether unregister to presale or mainsale */ function unregister(address _addr, bool _isPresale) public onlyAdmin onlyRegistered(_addr, _isPresale) { registeredAddress[_addr][_isPresale] = false; Unregistered(_addr); } /** * @dev unregister the registered addresses * @param _addrs address[] The addresses to unregister for token sale * @param _isPresale bool Whether unregister to presale or mainsale */ function unregisterByList(address[] _addrs, bool _isPresale) public onlyAdmin { for(uint256 i = 0; i < _addrs.length; i++) { unregister(_addrs[i], _isPresale); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_isPresale","type":"bool"}],"name":"registerByList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_isPresale","type":"bool"}],"name":"unregisterByList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admin","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":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_isPresale","type":"bool"}],"name":"register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"},{"name":"_isPresale","type":"bool"}],"name":"isRegistered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_isPresale","type":"bool"}],"name":"unregister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bool"}],"name":"registeredAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"}],"name":"Unregistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"}],"name":"SetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600260205260409020805460ff191660011790556106bd806100526000396000f3006060604052600436106100a35763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ce6826981146100a85780634b0bddd2146100fd578063502be15e1461013557806363a846f8146101885780638da5cb5b146101a7578063ab01b469146101d6578063d5ce91fd146101fa578063d897db241461021e578063f2fde38b14610242578063fa6ec54714610261575b600080fd5b34156100b357600080fd5b6100fb60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506102859050565b005b341561010857600080fd5b610121600160a060020a036004351660243515156102e5565b604051901515815260200160405180910390f35b341561014057600080fd5b6100fb600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061039a9050565b341561019357600080fd5b610121600160a060020a03600435166103f5565b34156101b257600080fd5b6101ba61040a565b604051600160a060020a03909116815260200160405180910390f35b34156101e157600080fd5b6100fb600160a060020a03600435166024351515610419565b341561020557600080fd5b610121600160a060020a036004351660243515156104ea565b341561022957600080fd5b6100fb600160a060020a03600435166024351515610517565b341561024d57600080fd5b6100fb600160a060020a03600435166105d6565b341561026c57600080fd5b610121600160a060020a03600435166024351515610671565b600160a060020a03331660009081526002602052604081205460ff1615156102ac57600080fd5b5060005b82518110156102e0576102d88382815181106102c857fe5b9060200190602002015183610419565b6001016102b0565b505050565b6000805433600160a060020a0390811691161461030157600080fd5b600160a060020a038316151561031657600080fd5b600160a060020a03831660009081526002602052604090205460ff16151582151461034057600080fd5b600160a060020a03831660008181526002602052604090819020805460ff19168515151790557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1905160405180910390a250600192915050565b600160a060020a03331660009081526002602052604081205460ff1615156103c157600080fd5b5060005b82518110156102e0576103ed8382815181106103dd57fe5b9060200190602002015183610517565b6001016103c5565b60026020526000908152604090205460ff1681565b600054600160a060020a031681565b600160a060020a03331660009081526002602052604090205460ff16151561044057600080fd5b600160a060020a0382161580159061047e5750600160a060020a0382166000908152600160209081526040808320841515845290915290205460ff16155b151561048957600080fd5b600160a060020a0382166000818152600160208181526040808420861515855290915291829020805460ff191690911790557f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e9905160405180910390a25050565b600160a060020a039190911660009081526001602090815260408083209315158352929052205460ff1690565b600160a060020a03331660009081526002602052604090205460ff16151561053e57600080fd5b600160a060020a038216600090815260016020908152604080832084151584529091529020548290829060ff16151561057657600080fd5b600160a060020a0384166000818152600160209081526040808320871515845290915290819020805460ff191690557f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc905160405180910390a250505050565b60005433600160a060020a039081169116146105f157600080fd5b600160a060020a038116151561060657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160209081526000928352604080842090915290825290205460ff16815600a165627a7a72305820612017060cde5871981bc346dc0b240b03fae7945f72c308b5e4820d698b22d70029
Deployed Bytecode
0x6060604052600436106100a35763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632ce6826981146100a85780634b0bddd2146100fd578063502be15e1461013557806363a846f8146101885780638da5cb5b146101a7578063ab01b469146101d6578063d5ce91fd146101fa578063d897db241461021e578063f2fde38b14610242578063fa6ec54714610261575b600080fd5b34156100b357600080fd5b6100fb60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506102859050565b005b341561010857600080fd5b610121600160a060020a036004351660243515156102e5565b604051901515815260200160405180910390f35b341561014057600080fd5b6100fb600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050505091351515915061039a9050565b341561019357600080fd5b610121600160a060020a03600435166103f5565b34156101b257600080fd5b6101ba61040a565b604051600160a060020a03909116815260200160405180910390f35b34156101e157600080fd5b6100fb600160a060020a03600435166024351515610419565b341561020557600080fd5b610121600160a060020a036004351660243515156104ea565b341561022957600080fd5b6100fb600160a060020a03600435166024351515610517565b341561024d57600080fd5b6100fb600160a060020a03600435166105d6565b341561026c57600080fd5b610121600160a060020a03600435166024351515610671565b600160a060020a03331660009081526002602052604081205460ff1615156102ac57600080fd5b5060005b82518110156102e0576102d88382815181106102c857fe5b9060200190602002015183610419565b6001016102b0565b505050565b6000805433600160a060020a0390811691161461030157600080fd5b600160a060020a038316151561031657600080fd5b600160a060020a03831660009081526002602052604090205460ff16151582151461034057600080fd5b600160a060020a03831660008181526002602052604090819020805460ff19168515151790557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1905160405180910390a250600192915050565b600160a060020a03331660009081526002602052604081205460ff1615156103c157600080fd5b5060005b82518110156102e0576103ed8382815181106103dd57fe5b9060200190602002015183610517565b6001016103c5565b60026020526000908152604090205460ff1681565b600054600160a060020a031681565b600160a060020a03331660009081526002602052604090205460ff16151561044057600080fd5b600160a060020a0382161580159061047e5750600160a060020a0382166000908152600160209081526040808320841515845290915290205460ff16155b151561048957600080fd5b600160a060020a0382166000818152600160208181526040808420861515855290915291829020805460ff191690911790557f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e9905160405180910390a25050565b600160a060020a039190911660009081526001602090815260408083209315158352929052205460ff1690565b600160a060020a03331660009081526002602052604090205460ff16151561053e57600080fd5b600160a060020a038216600090815260016020908152604080832084151584529091529020548290829060ff16151561057657600080fd5b600160a060020a0384166000818152600160209081526040808320871515845290915290819020805460ff191690557f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc905160405180910390a250505050565b60005433600160a060020a039081169116146105f157600080fd5b600160a060020a038116151561060657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160209081526000928352604080842090915290825290205460ff16815600a165627a7a72305820612017060cde5871981bc346dc0b240b03fae7945f72c308b5e4820d698b22d70029
Swarm Source
bzzr://612017060cde5871981bc346dc0b240b03fae7945f72c308b5e4820d698b22d7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.