BCdiploma was rebranded and is now known as EvidenZ.
ERC-20
Data
Overview
Max Total Supply
40,835,044.388861920562640652 BCDT
Holders
1,123 (0.00%)
Market
Price
$0.05 @ 0.000014 ETH (+17.47%)
Onchain Market Cap
$2,021,154.21
Circulating Supply Market Cap
$1,719,488.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
294.254436827328448744 BCDTValue
$14.56 ( ~0.00405587381109588 Eth) [0.0007%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BCDToken
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-20 */ pragma solidity ^0.4.19; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { 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; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @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 VestedToken * @dev The VestedToken contract implements ERC20 standard basics function and * - vesting for an address * - token tradability delay */ contract VestedToken { using SafeMath for uint256; // Vested wallet address address public vestedAddress; // Vesting time uint private constant VESTING_DELAY = 1 years; // Token will be tradable TOKEN_TRADABLE_DELAY after uint private constant TOKEN_TRADABLE_DELAY = 12 days; // True if aside tokens have already been minted after second round bool public asideTokensHaveBeenMinted = false; // When aside tokens have been minted ? uint public asideTokensMintDate; mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; modifier transferAllowed { require(asideTokensHaveBeenMinted && now > asideTokensMintDate + TOKEN_TRADABLE_DELAY); _; } // Get the balance from an address function balanceOf(address _owner) public constant returns (uint256) { return balances[_owner]; } // transfer ERC20 function function transfer(address _to, uint256 _value) transferAllowed public returns (bool success) { require(_to != 0x0); // founders wallets is blocked 1 year if (msg.sender == vestedAddress && (now < (asideTokensMintDate + VESTING_DELAY))) { revert(); } return privateTransfer(_to, _value); } // transferFrom ERC20 function function transferFrom(address _from, address _to, uint256 _value) transferAllowed public returns (bool success) { require(_from != 0x0); require(_to != 0x0); // founders wallet is blocked 1 year if (_from == vestedAddress && (now < (asideTokensMintDate + VESTING_DELAY))) { revert(); } uint256 _allowance = allowed[_from][msg.sender]; balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } // approve ERC20 function function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } // allowance ERC20 function function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } function privateTransfer (address _to, uint256 _value) private returns (bool success) { balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } // Events ERC20 event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } /** * @title WhitelistsRegistration * @dev This is an extension to add 2 levels whitelists to the crowdsale */ contract WhitelistsRegistration is Ownable { // List of whitelisted addresses for KYC under 10 ETH mapping(address => bool) silverWhiteList; // List of whitelisted addresses for KYC over 10 ETH mapping(address => bool) goldWhiteList; // Different stage from the ICO enum WhiteListState { // This address is not whitelisted None, // this address is on the silver whitelist Silver, // this address is on the gold whitelist Gold } address public whiteLister; event SilverWhitelist(address indexed _address, bool _isRegistered); event GoldWhitelist(address indexed _address, bool _isRegistered); event SetWhitelister(address indexed newWhiteLister); /** * @dev Throws if called by any account other than the owner or the whitelister. */ modifier onlyOwnerOrWhiteLister() { require((msg.sender == owner) || (msg.sender == whiteLister)); _; } // Return registration status of an specified address function checkRegistrationStatus(address _address) public constant returns (WhiteListState) { if (goldWhiteList[_address]) { return WhiteListState.Gold; } if (silverWhiteList[_address]) { return WhiteListState.Silver; } return WhiteListState.None; } // Change registration status for an address in the whitelist for KYC under 10 ETH function changeRegistrationStatusForSilverWhiteList(address _address, bool _isRegistered) public onlyOwnerOrWhiteLister { silverWhiteList[_address] = _isRegistered; SilverWhitelist(_address, _isRegistered); } // Change registration status for an address in the whitelist for KYC over 10 ETH function changeRegistrationStatusForGoldWhiteList(address _address, bool _isRegistered) public onlyOwnerOrWhiteLister { goldWhiteList[_address] = _isRegistered; GoldWhitelist(_address, _isRegistered); } // Change registration status for several addresses in the whitelist for KYC under 10 ETH function massChangeRegistrationStatusForSilverWhiteList(address[] _targets, bool _isRegistered) public onlyOwnerOrWhiteLister { for (uint i = 0; i < _targets.length; i++) { changeRegistrationStatusForSilverWhiteList(_targets[i], _isRegistered); } } // Change registration status for several addresses in the whitelist for KYC over 10 ETH function massChangeRegistrationStatusForGoldWhiteList(address[] _targets, bool _isRegistered) public onlyOwnerOrWhiteLister { for (uint i = 0; i < _targets.length; i++) { changeRegistrationStatusForGoldWhiteList(_targets[i], _isRegistered); } } /** * @dev Allows the current owner or whiteLister to transfer control of the whitelist to a newWhitelister. * @param _newWhiteLister The address to transfer whitelist to. */ function setWhitelister(address _newWhiteLister) public onlyOwnerOrWhiteLister { require(_newWhiteLister != address(0)); SetWhitelister(_newWhiteLister); whiteLister = _newWhiteLister; } } /** * @title BCDToken * @dev The BCDT crowdsale */ contract BCDToken is VestedToken, WhitelistsRegistration { string public constant name = "Blockchain Certified Data Token"; string public constant symbol = "BCDT"; uint public constant decimals = 18; // Maximum contribution in ETH for silver whitelist uint private constant MAX_ETHER_FOR_SILVER_WHITELIST = 10 ether; // ETH/BCDT rate uint public rateETH_BCDT = 13000; // Soft cap, if not reached contributors can withdraw their ethers uint public softCap = 1800 ether; // Cap in ether of presale uint public presaleCap = 1800 ether; // Cap in ether of Round 1 (presale cap + 1800 ETH) uint public round1Cap = 3600 ether; // BCD Reserve/Community Wallets address public reserveAddress; address public communityAddress; // Different stage from the ICO enum State { // ICO isn't started yet, initial state Init, // Presale has started PresaleRunning, // Presale has ended PresaleFinished, // Round 1 has started Round1Running, // Round 1 has ended Round1Finished, // Round 2 has started Round2Running, // Round 2 has ended Round2Finished } // Initial state is Init State public currentState = State.Init; // BCDT total supply uint256 public totalSupply = MAX_TOTAL_BCDT_TO_SELL; // How much tokens have been sold uint256 public tokensSold; // Amount of ETH raised during ICO uint256 private etherRaisedDuringICO; // Maximum total of BCDT Token sold during ITS uint private constant MAX_TOTAL_BCDT_TO_SELL = 100000000 * 1 ether; // Token allocation per mille for reserve/community/founders uint private constant RESERVE_ALLOCATION_PER_MILLE_RATIO = 200; uint private constant COMMUNITY_ALLOCATION_PER_MILLE_RATIO = 103; uint private constant FOUNDERS_ALLOCATION_PER_MILLE_RATIO = 30; // List of contributors/contribution in ETH mapping(address => uint256) contributors; // Use to allow function call only if currentState is the one specified modifier inStateInit() { require(currentState == State.Init); _; } modifier inStateRound2Finished() { require(currentState == State.Round2Finished); _; } // Event call when aside tokens are minted event AsideTokensHaveBeenAllocated(address indexed to, uint256 amount); // Event call when a contributor withdraw his ethers event Withdraw(address indexed to, uint256 amount); // Event call when ICO state change event StateChanged(uint256 timestamp, State currentState); // Constructor function BCDToken() public { } function() public payable { require(currentState == State.PresaleRunning || currentState == State.Round1Running || currentState == State.Round2Running); // min transaction is 0.1 ETH if (msg.value < 100 finney) { revert(); } // If you're not in any whitelist, you cannot continue if (!silverWhiteList[msg.sender] && !goldWhiteList[msg.sender]) { revert(); } // ETH sent by contributor uint256 ethSent = msg.value; // how much ETH will be used for contribution uint256 ethToUse = ethSent; // Address is only in the silver whitelist: contribution is capped if (!goldWhiteList[msg.sender]) { // Check if address has already contributed for maximum allowance if (contributors[msg.sender] >= MAX_ETHER_FOR_SILVER_WHITELIST) { revert(); } // limit the total contribution to MAX_ETHER_FOR_SILVER_WHITELIST if (contributors[msg.sender].add(ethToUse) > MAX_ETHER_FOR_SILVER_WHITELIST) { ethToUse = MAX_ETHER_FOR_SILVER_WHITELIST.sub(contributors[msg.sender]); } } // Calculate how much ETH are available for this stage uint256 ethAvailable = getRemainingEthersForCurrentRound(); uint rate = getBCDTRateForCurrentRound(); // If cap of the round has been reached if (ethAvailable <= ethToUse) { // End the round privateSetState(getEndedStateForCurrentRound()); // Only available ethers will be used to reach the cap ethToUse = ethAvailable; } // Calculate token amount to send in accordance to rate uint256 tokenToSend = ethToUse.mul(rate); // Amount of tokens sold to the current contributors is added to total sold tokensSold = tokensSold.add(tokenToSend); // Amount of ethers used for the current contribution is added the total raised etherRaisedDuringICO = etherRaisedDuringICO.add(ethToUse); // Token balance updated for current contributor balances[msg.sender] = balances[msg.sender].add(tokenToSend); // Contribution is stored for an potential withdraw contributors[msg.sender] = contributors[msg.sender].add(ethToUse); // Send back the unused ethers if (ethToUse < ethSent) { msg.sender.transfer(ethSent.sub(ethToUse)); } // Log token transfer operation Transfer(0x0, msg.sender, tokenToSend); } // Allow contributors to withdraw after the end of the ICO if the softcap hasn't been reached function withdraw() public inStateRound2Finished { // Only contributors with positive ETH balance could Withdraw if(contributors[msg.sender] == 0) { revert(); } // Withdraw is possible only if softcap has not been reached require(etherRaisedDuringICO < softCap); // Get how much ethers sender has contribute uint256 ethToSendBack = contributors[msg.sender]; // Set contribution to 0 for the contributor contributors[msg.sender] = 0; // Send back ethers msg.sender.transfer(ethToSendBack); // Log withdraw operation Withdraw(msg.sender, ethToSendBack); } // At the end of the sale, mint the aside tokens for the reserve, community and founders function mintAsideTokens() public onlyOwner inStateRound2Finished { // Reserve, community and founders address have to be set before mint aside tokens require((reserveAddress != 0x0) && (communityAddress != 0x0) && (vestedAddress != 0x0)); // Aside tokens can be minted only if softcap is reached require(this.balance >= softCap); // Revert if aside tokens have already been minted if (asideTokensHaveBeenMinted) { revert(); } // Set minted flag and date asideTokensHaveBeenMinted = true; asideTokensMintDate = now; // If 100M sold, 50M more have to be mint (15 / 10 = * 1.5 = +50%) totalSupply = tokensSold.mul(15).div(10); // 20% of total supply is allocated to reserve uint256 _amountMinted = setAllocation(reserveAddress, RESERVE_ALLOCATION_PER_MILLE_RATIO); // 10.3% of total supply is allocated to community _amountMinted = _amountMinted.add(setAllocation(communityAddress, COMMUNITY_ALLOCATION_PER_MILLE_RATIO)); // 3% of total supply is allocated to founders _amountMinted = _amountMinted.add(setAllocation(vestedAddress, FOUNDERS_ALLOCATION_PER_MILLE_RATIO)); // the allocation is only 33.3%*150/100 = 49.95% of the token solds. It is therefore slightly higher than it should. // to avoid that, we correct the real total number of tokens totalSupply = tokensSold.add(_amountMinted); // Send the eth to the owner of the contract owner.transfer(this.balance); } function setTokenAsideAddresses(address _reserveAddress, address _communityAddress, address _founderAddress) public onlyOwner { require(_reserveAddress != 0x0 && _communityAddress != 0x0 && _founderAddress != 0x0); // Revert when aside tokens have already been minted if (asideTokensHaveBeenMinted) { revert(); } reserveAddress = _reserveAddress; communityAddress = _communityAddress; vestedAddress = _founderAddress; } function updateCapsAndRate(uint _presaleCapInETH, uint _round1CapInETH, uint _softCapInETH, uint _rateETH_BCDT) public onlyOwner inStateInit { // Caps and rate are updatable until ICO starts require(_round1CapInETH > _presaleCapInETH); require(_rateETH_BCDT != 0); presaleCap = _presaleCapInETH * 1 ether; round1Cap = _round1CapInETH * 1 ether; softCap = _softCapInETH * 1 ether; rateETH_BCDT = _rateETH_BCDT; } function getRemainingEthersForCurrentRound() public constant returns (uint) { require(currentState != State.Init); require(!asideTokensHaveBeenMinted); if((currentState == State.PresaleRunning) || (currentState == State.PresaleFinished)) { // Presale cap is fixed in ETH return presaleCap.sub(etherRaisedDuringICO); } if((currentState == State.Round1Running) || (currentState == State.Round1Finished)) { // Round 1 cap is fixed in ETH return round1Cap.sub(etherRaisedDuringICO); } if((currentState == State.Round2Running) || (currentState == State.Round2Finished)) { // Round 2 cap is limited in tokens, uint256 remainingTokens = totalSupply.sub(tokensSold); // ETH available is calculated from the number of remaining tokens regarding the rate return remainingTokens.div(rateETH_BCDT); } } function getBCDTRateForCurrentRound() public constant returns (uint) { require(currentState == State.PresaleRunning || currentState == State.Round1Running || currentState == State.Round2Running); // ETH/BCDT rate during presale: 20% bonus if(currentState == State.PresaleRunning) { return rateETH_BCDT + rateETH_BCDT * 20 / 100; } // ETH/BCDT rate during presale: 10% bonus if(currentState == State.Round1Running) { return rateETH_BCDT + rateETH_BCDT * 10 / 100; } if(currentState == State.Round2Running) { return rateETH_BCDT; } } function setState(State _newState) public onlyOwner { privateSetState(_newState); } function privateSetState(State _newState) private { // no way to go back if(_newState <= currentState) { revert(); } currentState = _newState; StateChanged(now, currentState); } function getEndedStateForCurrentRound() private constant returns (State) { require(currentState == State.PresaleRunning || currentState == State.Round1Running || currentState == State.Round2Running); if(currentState == State.PresaleRunning) { return State.PresaleFinished; } if(currentState == State.Round1Running) { return State.Round1Finished; } if(currentState == State.Round2Running) { return State.Round2Finished; } } function setAllocation(address _to, uint _ratio) private onlyOwner returns (uint256) { // Aside token is a percentage of totalSupply uint256 tokenAmountToTransfert = totalSupply.mul(_ratio).div(1000); balances[_to] = balances[_to].add(tokenAmountToTransfert); AsideTokensHaveBeenAllocated(_to, tokenAmountToTransfert); Transfer(0x0, _to, tokenAmountToTransfert); return tokenAmountToTransfert; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"mintAsideTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRemainingEthersForCurrentRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateETH_BCDT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_presaleCapInETH","type":"uint256"},{"name":"_round1CapInETH","type":"uint256"},{"name":"_softCapInETH","type":"uint256"},{"name":"_rateETH_BCDT","type":"uint256"}],"name":"updateCapsAndRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newState","type":"uint8"}],"name":"setState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presaleCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"checkRegistrationStatus","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"asideTokensHaveBeenMinted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"communityAddress","outputs":[{"name":"","type":"address"}],"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":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_reserveAddress","type":"address"},{"name":"_communityAddress","type":"address"},{"name":"_founderAddress","type":"address"}],"name":"setTokenAsideAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"asideTokensMintDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_isRegistered","type":"bool"}],"name":"changeRegistrationStatusForGoldWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_targets","type":"address[]"},{"name":"_isRegistered","type":"bool"}],"name":"massChangeRegistrationStatusForGoldWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"round1Cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whiteLister","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_targets","type":"address[]"},{"name":"_isRegistered","type":"bool"}],"name":"massChangeRegistrationStatusForSilverWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reserveAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_isRegistered","type":"bool"}],"name":"changeRegistrationStatusForSilverWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newWhiteLister","type":"address"}],"name":"setWhitelister","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getBCDTRateForCurrentRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"AsideTokensHaveBeenAllocated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"currentState","type":"uint8"}],"name":"StateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_isRegistered","type":"bool"}],"name":"SilverWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_isRegistered","type":"bool"}],"name":"GoldWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newWhiteLister","type":"address"}],"name":"SetWhitelister","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
60606040526000805460a060020a60ff02199081169091556132c8600855686194049f30f72000006009819055600a5568c328093e61ee400000600b55600d805490911690556a52b7d2dcc80cd2e4000000600e55341561005f57600080fd5b60048054600160a060020a03191633600160a060020a0316179055611b50806100896000396000f3006060604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146104b8578063095ea7b3146105425780630c3f6acf1461057857806318160ddd146105af578063197ea97e146105d457806323b872dd146105e9578063285c51c314610611578063313ce567146106245780633ccfd60b146106375780633ecf965f1461064a57806348509d2c1461065d578063518ab2a81461067c57806356de96db1461068f57806363d5502f146106a85780636a739c44146106bb57806370a08231146106ea5780638343e4161461070957806386e476dd1461071c5780638da5cb5b1461074b578063906a26e01461075e57806395d89b411461077157806396ff448314610784578063a9059cbb146107af578063b412a4b7146107d1578063c0c77b71146107e4578063ceaae25d14610808578063d87ce0371461085b578063db1717541461086e578063dd62ed3e14610881578063ef26e41d146108a6578063f2fde38b146108b9578063f6f82ecb146108d8578063f79ed94b1461092b578063f8f9271c1461093e578063f98f5b9214610962578063ffe48c7614610981575b6000808080806001600d5460a060020a900460ff1660068111156101e157fe5b148061020457506003600d5460a060020a900460ff16600681111561020257fe5b145b8061022657506005600d5460a060020a900460ff16600681111561022457fe5b145b151561023157600080fd5b67016345785d8a000034101561024657600080fd5b600160a060020a03331660009081526005602052604090205460ff161580156102885750600160a060020a03331660009081526006602052604090205460ff16155b1561029257600080fd5b600160a060020a03331660009081526006602052604090205434955085945060ff16151561035557600160a060020a033316600090815260116020526040902054678ac7230489e8000090106102e757600080fd5b600160a060020a033316600090815260116020526040902054678ac7230489e800009061031a908663ffffffff61099416565b111561035557600160a060020a03331660009081526011602052604090205461035290678ac7230489e800009063ffffffff6109ae16565b93505b61035d6109c0565b9250610367610b25565b91508383116103845761038061037b610c1d565b610d01565b8293505b610394848363ffffffff610dc216565b600f549091506103aa908263ffffffff61099416565b600f556010546103c0908563ffffffff61099416565b601055600160a060020a0333166000908152600260205260409020546103ec908263ffffffff61099416565b600160a060020a033316600090815260026020908152604080832093909355601190522054610421908563ffffffff61099416565b600160a060020a0333166000908152601160205260409020558484101561048457600160a060020a0333166108fc61045f878763ffffffff6109ae16565b9081150290604051600060405180830381858888f19350505050151561048457600080fd5b33600160a060020a03166000600080516020611b058339815191528360405190815260200160405180910390a35050505050005b34156104c357600080fd5b6104cb610ded565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156105075780820151838201526020016104ef565b50505050905090810190601f1680156105345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561054d57600080fd5b610564600160a060020a0360043516602435610e24565b604051901515815260200160405180910390f35b341561058357600080fd5b61058b610e90565b6040518082600681111561059b57fe5b60ff16815260200191505060405180910390f35b34156105ba57600080fd5b6105c2610ea0565b60405190815260200160405180910390f35b34156105df57600080fd5b6105e7610ea6565b005b34156105f457600080fd5b610564600160a060020a0360043581169060243516604435611063565b341561061c57600080fd5b6105c26109c0565b341561062f57600080fd5b6105c26111e8565b341561064257600080fd5b6105e76111ed565b341561065557600080fd5b6105c26112d0565b341561066857600080fd5b6105e76004356024356044356064356112d6565b341561068757600080fd5b6105c261134d565b341561069a57600080fd5b6105e760ff60043516611353565b34156106b357600080fd5b6105c2611377565b34156106c657600080fd5b6106da600160a060020a036004351661137d565b6040518082600281111561059b57fe5b34156106f557600080fd5b6105c2600160a060020a03600435166113d8565b341561071457600080fd5b6105646113f3565b341561072757600080fd5b61072f611403565b604051600160a060020a03909116815260200160405180910390f35b341561075657600080fd5b61072f611412565b341561076957600080fd5b6105c2611421565b341561077c57600080fd5b6104cb611427565b341561078f57600080fd5b6105e7600160a060020a036004358116906024358116906044351661145e565b34156107ba57600080fd5b610564600160a060020a036004351660243561151b565b34156107dc57600080fd5b6105c261159b565b34156107ef57600080fd5b6105e7600160a060020a036004351660243515156115a1565b341561081357600080fd5b6105e760046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506116369050565b341561086657600080fd5b6105c26116a8565b341561087957600080fd5b61072f6116ae565b341561088c57600080fd5b6105c2600160a060020a03600435811690602435166116bd565b34156108b157600080fd5b61072f6116e8565b34156108c457600080fd5b6105e7600160a060020a03600435166116f7565b34156108e357600080fd5b6105e760046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506117929050565b341561093657600080fd5b61072f6117ff565b341561094957600080fd5b6105e7600160a060020a0360043516602435151561180e565b341561096d57600080fd5b6105e7600160a060020a03600435166118a3565b341561098c57600080fd5b6105c2610b25565b6000828201838110156109a357fe5b8091505b5092915050565b6000828211156109ba57fe5b50900390565b60008080600d5460a060020a900460ff1660068111156109dc57fe5b14156109e757600080fd5b60005460a060020a900460ff16156109fe57600080fd5b6001600d5460a060020a900460ff166006811115610a1857fe5b1480610a3b57506002600d5460a060020a900460ff166006811115610a3957fe5b145b15610a5c57601054600a54610a559163ffffffff6109ae16565b9150610b21565b6003600d5460a060020a900460ff166006811115610a7657fe5b1480610a9957506004600d5460a060020a900460ff166006811115610a9757fe5b145b15610ab357601054600b54610a559163ffffffff6109ae16565b6005600d5460a060020a900460ff166006811115610acd57fe5b1480610af057506006600d5460a060020a900460ff166006811115610aee57fe5b145b15610b2157600f54600e54610b0a9163ffffffff6109ae16565b9050610a556008548261195390919063ffffffff16565b5090565b60006001600d5460a060020a900460ff166006811115610b4157fe5b1480610b6457506003600d5460a060020a900460ff166006811115610b6257fe5b145b80610b8657506005600d5460a060020a900460ff166006811115610b8457fe5b145b1515610b9157600080fd5b6001600d5460a060020a900460ff166006811115610bab57fe5b1415610bc7576008546064906014025b04600854019050610c1a565b6003600d5460a060020a900460ff166006811115610be157fe5b1415610bf557600854606490600a02610bbb565b6005600d5460a060020a900460ff166006811115610c0f57fe5b1415610c1a57506008545b90565b60006001600d5460a060020a900460ff166006811115610c3957fe5b1480610c5c57506003600d5460a060020a900460ff166006811115610c5a57fe5b145b80610c7e57506005600d5460a060020a900460ff166006811115610c7c57fe5b145b1515610c8957600080fd5b6001600d5460a060020a900460ff166006811115610ca357fe5b1415610cb157506002610c1a565b6003600d5460a060020a900460ff166006811115610ccb57fe5b1415610cd957506004610c1a565b6005600d5460a060020a900460ff166006811115610cf357fe5b1415610c1a57506006610c1a565b600d5460a060020a900460ff166006811115610d1957fe5b816006811115610d2557fe5b11610d2f57600080fd5b600d805482919074ff0000000000000000000000000000000000000000191660a060020a836006811115610d5f57fe5b0217905550600d547ffafe884515ca1fa5e0bf815ce87ef00b2cdaa0eee590d20376604937937a10bf90429060a060020a900460ff1660405180838152602001826006811115610dab57fe5b60ff1681526020019250505060405180910390a150565b600080831515610dd557600091506109a7565b50828202828482811515610de557fe5b04146109a357fe5b60408051908101604052601f81527f426c6f636b636861696e20436572746966696564204461746120546f6b656e00602082015281565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600d5460a060020a900460ff1681565b600e5481565b60045460009033600160a060020a03908116911614610ec457600080fd5b6006600d5460a060020a900460ff166006811115610ede57fe5b14610ee857600080fd5b600c54600160a060020a031615801590610f0c5750600d54600160a060020a031615155b8015610f225750600054600160a060020a031615155b1515610f2d57600080fd5b600954600160a060020a033016311015610f4657600080fd5b60005460a060020a900460ff1615610f5d57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a17905542600155600f8054610fab91600a91610f9f9163ffffffff610dc216565b9063ffffffff61195316565b600e55600c54610fc590600160a060020a031660c861196a565b600d54909150610ff090610fe390600160a060020a0316606761196a565b829063ffffffff61099416565b60005490915061100e90610fe390600160a060020a0316601e61196a565b600f54909150611024908263ffffffff61099416565b600e55600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561106057600080fd5b50565b60008054819060a060020a900460ff1680156110855750620fd2006001540142115b151561109057600080fd5b600160a060020a03851615156110a557600080fd5b600160a060020a03841615156110ba57600080fd5b600054600160a060020a0386811691161480156110de57506301e133806001540142105b156110e857600080fd5b50600160a060020a0380851660008181526003602090815260408083203390951683529381528382205492825260029052919091205461112e908463ffffffff6109ae16565b600160a060020a038087166000908152600260205260408082209390935590861681522054611163908463ffffffff61099416565b600160a060020a03851660009081526002602052604090205561118c818463ffffffff6109ae16565b600160a060020a0380871660008181526003602090815260408083203386168452909152908190209390935590861691600080516020611b058339815191529086905190815260200160405180910390a3506001949350505050565b601281565b60006006600d5460a060020a900460ff16600681111561120957fe5b1461121357600080fd5b600160a060020a033316600090815260116020526040902054151561123757600080fd5b6009546010541061124757600080fd5b50600160a060020a033316600081815260116020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561129057600080fd5b33600160a060020a03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243648260405190815260200160405180910390a250565b60085481565b60045433600160a060020a039081169116146112f157600080fd5b6000600d5460a060020a900460ff16600681111561130b57fe5b1461131557600080fd5b83831161132157600080fd5b80151561132d57600080fd5b670de0b6b3a7640000938402600a55918302600b55909102600955600855565b600f5481565b60045433600160a060020a0390811691161461136e57600080fd5b61106081610d01565b600a5481565b600160a060020a03811660009081526006602052604081205460ff16156113a6575060026113d3565b600160a060020a03821660009081526005602052604090205460ff16156113cf575060016113d3565b5060005b919050565b600160a060020a031660009081526002602052604090205490565b60005460a060020a900460ff1681565b600d54600160a060020a031681565b600454600160a060020a031681565b60095481565b60408051908101604052600481527f4243445400000000000000000000000000000000000000000000000000000000602082015281565b60045433600160a060020a0390811691161461147957600080fd5b600160a060020a038316158015906114995750600160a060020a03821615155b80156114ad5750600160a060020a03811615155b15156114b857600080fd5b60005460a060020a900460ff16156114cf57600080fd5b600c8054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600d80549385169382169390931790925560008054919093169116179055565b6000805460a060020a900460ff16801561153b5750620fd2006001540142115b151561154657600080fd5b600160a060020a038316151561155b57600080fd5b60005433600160a060020a03908116911614801561158057506301e133806001540142105b1561158a57600080fd5b6115948383611a57565b9392505050565b60015481565b60045433600160a060020a03908116911614806115cc575060075433600160a060020a039081169116145b15156115d757600080fd5b600160a060020a03821660008181526006602052604090819020805460ff19168415151790557f5ec4eb956a9d026183b9d8f62cd6f4cecaec5a15263829771f1d207006cf203990839051901515815260200160405180910390a25050565b60045460009033600160a060020a0390811691161480611664575060075433600160a060020a039081169116145b151561166f57600080fd5b5060005b82518110156116a35761169b83828151811061168b57fe5b90602001906020020151836115a1565b600101611673565b505050565b600b5481565b600054600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600754600160a060020a031681565b60045433600160a060020a0390811691161461171257600080fd5b600160a060020a038116151561172757600080fd5b600454600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045460009033600160a060020a03908116911614806117c0575060075433600160a060020a039081169116145b15156117cb57600080fd5b5060005b82518110156116a3576117f78382815181106117e757fe5b906020019060200201518361180e565b6001016117cf565b600c54600160a060020a031681565b60045433600160a060020a0390811691161480611839575060075433600160a060020a039081169116145b151561184457600080fd5b600160a060020a03821660008181526005602052604090819020805460ff19168415151790557f08447c9fc1b08eadda3c6e0ec44794ed0e4dbdcc4df5b5588a2a2768ac458b2290839051901515815260200160405180910390a25050565b60045433600160a060020a03908116911614806118ce575060075433600160a060020a039081169116145b15156118d957600080fd5b600160a060020a03811615156118ee57600080fd5b80600160a060020a03167f0ca44eaf19ec8e07aaa42c7f82892b8ff7de9faf7b420a750585730a0b0b387860405160405180910390a26007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080828481151561196157fe5b04949350505050565b600454600090819033600160a060020a0390811691161461198a57600080fd5b6119a56103e8610f9f85600e54610dc290919063ffffffff16565b600160a060020a0385166000908152600260205260409020549091506119d1908263ffffffff61099416565b600160a060020a0385166000818152600260205260409081902092909255907fd2b5c2272580d3b01d5cf4d851350bba9cd8483bbdebbeef50c647c11d8f08939083905190815260200160405180910390a283600160a060020a03166000600080516020611b058339815191528360405190815260200160405180910390a39392505050565b600160a060020a033316600090815260026020526040812054611a80908363ffffffff6109ae16565b600160a060020a033381166000908152600260205260408082209390935590851681522054611ab5908363ffffffff61099416565b600160a060020a038085166000818152600260205260409081902093909355913390911690600080516020611b058339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206084ab8464bccc3e3b2a5a94680df1aa89bb0c7328342ab3a10f136df3b92dff0029
Deployed Bytecode
0x6060604052600436106101c15763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146104b8578063095ea7b3146105425780630c3f6acf1461057857806318160ddd146105af578063197ea97e146105d457806323b872dd146105e9578063285c51c314610611578063313ce567146106245780633ccfd60b146106375780633ecf965f1461064a57806348509d2c1461065d578063518ab2a81461067c57806356de96db1461068f57806363d5502f146106a85780636a739c44146106bb57806370a08231146106ea5780638343e4161461070957806386e476dd1461071c5780638da5cb5b1461074b578063906a26e01461075e57806395d89b411461077157806396ff448314610784578063a9059cbb146107af578063b412a4b7146107d1578063c0c77b71146107e4578063ceaae25d14610808578063d87ce0371461085b578063db1717541461086e578063dd62ed3e14610881578063ef26e41d146108a6578063f2fde38b146108b9578063f6f82ecb146108d8578063f79ed94b1461092b578063f8f9271c1461093e578063f98f5b9214610962578063ffe48c7614610981575b6000808080806001600d5460a060020a900460ff1660068111156101e157fe5b148061020457506003600d5460a060020a900460ff16600681111561020257fe5b145b8061022657506005600d5460a060020a900460ff16600681111561022457fe5b145b151561023157600080fd5b67016345785d8a000034101561024657600080fd5b600160a060020a03331660009081526005602052604090205460ff161580156102885750600160a060020a03331660009081526006602052604090205460ff16155b1561029257600080fd5b600160a060020a03331660009081526006602052604090205434955085945060ff16151561035557600160a060020a033316600090815260116020526040902054678ac7230489e8000090106102e757600080fd5b600160a060020a033316600090815260116020526040902054678ac7230489e800009061031a908663ffffffff61099416565b111561035557600160a060020a03331660009081526011602052604090205461035290678ac7230489e800009063ffffffff6109ae16565b93505b61035d6109c0565b9250610367610b25565b91508383116103845761038061037b610c1d565b610d01565b8293505b610394848363ffffffff610dc216565b600f549091506103aa908263ffffffff61099416565b600f556010546103c0908563ffffffff61099416565b601055600160a060020a0333166000908152600260205260409020546103ec908263ffffffff61099416565b600160a060020a033316600090815260026020908152604080832093909355601190522054610421908563ffffffff61099416565b600160a060020a0333166000908152601160205260409020558484101561048457600160a060020a0333166108fc61045f878763ffffffff6109ae16565b9081150290604051600060405180830381858888f19350505050151561048457600080fd5b33600160a060020a03166000600080516020611b058339815191528360405190815260200160405180910390a35050505050005b34156104c357600080fd5b6104cb610ded565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156105075780820151838201526020016104ef565b50505050905090810190601f1680156105345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561054d57600080fd5b610564600160a060020a0360043516602435610e24565b604051901515815260200160405180910390f35b341561058357600080fd5b61058b610e90565b6040518082600681111561059b57fe5b60ff16815260200191505060405180910390f35b34156105ba57600080fd5b6105c2610ea0565b60405190815260200160405180910390f35b34156105df57600080fd5b6105e7610ea6565b005b34156105f457600080fd5b610564600160a060020a0360043581169060243516604435611063565b341561061c57600080fd5b6105c26109c0565b341561062f57600080fd5b6105c26111e8565b341561064257600080fd5b6105e76111ed565b341561065557600080fd5b6105c26112d0565b341561066857600080fd5b6105e76004356024356044356064356112d6565b341561068757600080fd5b6105c261134d565b341561069a57600080fd5b6105e760ff60043516611353565b34156106b357600080fd5b6105c2611377565b34156106c657600080fd5b6106da600160a060020a036004351661137d565b6040518082600281111561059b57fe5b34156106f557600080fd5b6105c2600160a060020a03600435166113d8565b341561071457600080fd5b6105646113f3565b341561072757600080fd5b61072f611403565b604051600160a060020a03909116815260200160405180910390f35b341561075657600080fd5b61072f611412565b341561076957600080fd5b6105c2611421565b341561077c57600080fd5b6104cb611427565b341561078f57600080fd5b6105e7600160a060020a036004358116906024358116906044351661145e565b34156107ba57600080fd5b610564600160a060020a036004351660243561151b565b34156107dc57600080fd5b6105c261159b565b34156107ef57600080fd5b6105e7600160a060020a036004351660243515156115a1565b341561081357600080fd5b6105e760046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506116369050565b341561086657600080fd5b6105c26116a8565b341561087957600080fd5b61072f6116ae565b341561088c57600080fd5b6105c2600160a060020a03600435811690602435166116bd565b34156108b157600080fd5b61072f6116e8565b34156108c457600080fd5b6105e7600160a060020a03600435166116f7565b34156108e357600080fd5b6105e760046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506117929050565b341561093657600080fd5b61072f6117ff565b341561094957600080fd5b6105e7600160a060020a0360043516602435151561180e565b341561096d57600080fd5b6105e7600160a060020a03600435166118a3565b341561098c57600080fd5b6105c2610b25565b6000828201838110156109a357fe5b8091505b5092915050565b6000828211156109ba57fe5b50900390565b60008080600d5460a060020a900460ff1660068111156109dc57fe5b14156109e757600080fd5b60005460a060020a900460ff16156109fe57600080fd5b6001600d5460a060020a900460ff166006811115610a1857fe5b1480610a3b57506002600d5460a060020a900460ff166006811115610a3957fe5b145b15610a5c57601054600a54610a559163ffffffff6109ae16565b9150610b21565b6003600d5460a060020a900460ff166006811115610a7657fe5b1480610a9957506004600d5460a060020a900460ff166006811115610a9757fe5b145b15610ab357601054600b54610a559163ffffffff6109ae16565b6005600d5460a060020a900460ff166006811115610acd57fe5b1480610af057506006600d5460a060020a900460ff166006811115610aee57fe5b145b15610b2157600f54600e54610b0a9163ffffffff6109ae16565b9050610a556008548261195390919063ffffffff16565b5090565b60006001600d5460a060020a900460ff166006811115610b4157fe5b1480610b6457506003600d5460a060020a900460ff166006811115610b6257fe5b145b80610b8657506005600d5460a060020a900460ff166006811115610b8457fe5b145b1515610b9157600080fd5b6001600d5460a060020a900460ff166006811115610bab57fe5b1415610bc7576008546064906014025b04600854019050610c1a565b6003600d5460a060020a900460ff166006811115610be157fe5b1415610bf557600854606490600a02610bbb565b6005600d5460a060020a900460ff166006811115610c0f57fe5b1415610c1a57506008545b90565b60006001600d5460a060020a900460ff166006811115610c3957fe5b1480610c5c57506003600d5460a060020a900460ff166006811115610c5a57fe5b145b80610c7e57506005600d5460a060020a900460ff166006811115610c7c57fe5b145b1515610c8957600080fd5b6001600d5460a060020a900460ff166006811115610ca357fe5b1415610cb157506002610c1a565b6003600d5460a060020a900460ff166006811115610ccb57fe5b1415610cd957506004610c1a565b6005600d5460a060020a900460ff166006811115610cf357fe5b1415610c1a57506006610c1a565b600d5460a060020a900460ff166006811115610d1957fe5b816006811115610d2557fe5b11610d2f57600080fd5b600d805482919074ff0000000000000000000000000000000000000000191660a060020a836006811115610d5f57fe5b0217905550600d547ffafe884515ca1fa5e0bf815ce87ef00b2cdaa0eee590d20376604937937a10bf90429060a060020a900460ff1660405180838152602001826006811115610dab57fe5b60ff1681526020019250505060405180910390a150565b600080831515610dd557600091506109a7565b50828202828482811515610de557fe5b04146109a357fe5b60408051908101604052601f81527f426c6f636b636861696e20436572746966696564204461746120546f6b656e00602082015281565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600d5460a060020a900460ff1681565b600e5481565b60045460009033600160a060020a03908116911614610ec457600080fd5b6006600d5460a060020a900460ff166006811115610ede57fe5b14610ee857600080fd5b600c54600160a060020a031615801590610f0c5750600d54600160a060020a031615155b8015610f225750600054600160a060020a031615155b1515610f2d57600080fd5b600954600160a060020a033016311015610f4657600080fd5b60005460a060020a900460ff1615610f5d57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a17905542600155600f8054610fab91600a91610f9f9163ffffffff610dc216565b9063ffffffff61195316565b600e55600c54610fc590600160a060020a031660c861196a565b600d54909150610ff090610fe390600160a060020a0316606761196a565b829063ffffffff61099416565b60005490915061100e90610fe390600160a060020a0316601e61196a565b600f54909150611024908263ffffffff61099416565b600e55600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561106057600080fd5b50565b60008054819060a060020a900460ff1680156110855750620fd2006001540142115b151561109057600080fd5b600160a060020a03851615156110a557600080fd5b600160a060020a03841615156110ba57600080fd5b600054600160a060020a0386811691161480156110de57506301e133806001540142105b156110e857600080fd5b50600160a060020a0380851660008181526003602090815260408083203390951683529381528382205492825260029052919091205461112e908463ffffffff6109ae16565b600160a060020a038087166000908152600260205260408082209390935590861681522054611163908463ffffffff61099416565b600160a060020a03851660009081526002602052604090205561118c818463ffffffff6109ae16565b600160a060020a0380871660008181526003602090815260408083203386168452909152908190209390935590861691600080516020611b058339815191529086905190815260200160405180910390a3506001949350505050565b601281565b60006006600d5460a060020a900460ff16600681111561120957fe5b1461121357600080fd5b600160a060020a033316600090815260116020526040902054151561123757600080fd5b6009546010541061124757600080fd5b50600160a060020a033316600081815260116020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561129057600080fd5b33600160a060020a03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243648260405190815260200160405180910390a250565b60085481565b60045433600160a060020a039081169116146112f157600080fd5b6000600d5460a060020a900460ff16600681111561130b57fe5b1461131557600080fd5b83831161132157600080fd5b80151561132d57600080fd5b670de0b6b3a7640000938402600a55918302600b55909102600955600855565b600f5481565b60045433600160a060020a0390811691161461136e57600080fd5b61106081610d01565b600a5481565b600160a060020a03811660009081526006602052604081205460ff16156113a6575060026113d3565b600160a060020a03821660009081526005602052604090205460ff16156113cf575060016113d3565b5060005b919050565b600160a060020a031660009081526002602052604090205490565b60005460a060020a900460ff1681565b600d54600160a060020a031681565b600454600160a060020a031681565b60095481565b60408051908101604052600481527f4243445400000000000000000000000000000000000000000000000000000000602082015281565b60045433600160a060020a0390811691161461147957600080fd5b600160a060020a038316158015906114995750600160a060020a03821615155b80156114ad5750600160a060020a03811615155b15156114b857600080fd5b60005460a060020a900460ff16156114cf57600080fd5b600c8054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600d80549385169382169390931790925560008054919093169116179055565b6000805460a060020a900460ff16801561153b5750620fd2006001540142115b151561154657600080fd5b600160a060020a038316151561155b57600080fd5b60005433600160a060020a03908116911614801561158057506301e133806001540142105b1561158a57600080fd5b6115948383611a57565b9392505050565b60015481565b60045433600160a060020a03908116911614806115cc575060075433600160a060020a039081169116145b15156115d757600080fd5b600160a060020a03821660008181526006602052604090819020805460ff19168415151790557f5ec4eb956a9d026183b9d8f62cd6f4cecaec5a15263829771f1d207006cf203990839051901515815260200160405180910390a25050565b60045460009033600160a060020a0390811691161480611664575060075433600160a060020a039081169116145b151561166f57600080fd5b5060005b82518110156116a35761169b83828151811061168b57fe5b90602001906020020151836115a1565b600101611673565b505050565b600b5481565b600054600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600754600160a060020a031681565b60045433600160a060020a0390811691161461171257600080fd5b600160a060020a038116151561172757600080fd5b600454600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045460009033600160a060020a03908116911614806117c0575060075433600160a060020a039081169116145b15156117cb57600080fd5b5060005b82518110156116a3576117f78382815181106117e757fe5b906020019060200201518361180e565b6001016117cf565b600c54600160a060020a031681565b60045433600160a060020a0390811691161480611839575060075433600160a060020a039081169116145b151561184457600080fd5b600160a060020a03821660008181526005602052604090819020805460ff19168415151790557f08447c9fc1b08eadda3c6e0ec44794ed0e4dbdcc4df5b5588a2a2768ac458b2290839051901515815260200160405180910390a25050565b60045433600160a060020a03908116911614806118ce575060075433600160a060020a039081169116145b15156118d957600080fd5b600160a060020a03811615156118ee57600080fd5b80600160a060020a03167f0ca44eaf19ec8e07aaa42c7f82892b8ff7de9faf7b420a750585730a0b0b387860405160405180910390a26007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080828481151561196157fe5b04949350505050565b600454600090819033600160a060020a0390811691161461198a57600080fd5b6119a56103e8610f9f85600e54610dc290919063ffffffff16565b600160a060020a0385166000908152600260205260409020549091506119d1908263ffffffff61099416565b600160a060020a0385166000818152600260205260409081902092909255907fd2b5c2272580d3b01d5cf4d851350bba9cd8483bbdebbeef50c647c11d8f08939083905190815260200160405180910390a283600160a060020a03166000600080516020611b058339815191528360405190815260200160405180910390a39392505050565b600160a060020a033316600090815260026020526040812054611a80908363ffffffff6109ae16565b600160a060020a033381166000908152600260205260408082209390935590851681522054611ab5908363ffffffff61099416565b600160a060020a038085166000818152600260205260409081902093909355913390911690600080516020611b058339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206084ab8464bccc3e3b2a5a94680df1aa89bb0c7328342ab3a10f136df3b92dff0029
Swarm Source
bzzr://6084ab8464bccc3e3b2a5a94680df1aa89bb0c7328342ab3a10f136df3b92dff
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.