Overview
ETH Balance
31.497416153614773578 ETH
Eth Value
$93,899.05 (@ $2,981.17/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,013 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Request Refund | 19770455 | 66 days ago | IN | 0 ETH | 0.00050664 | ||||
Request Refund | 18760899 | 207 days ago | IN | 0 ETH | 0.00097325 | ||||
Request Refund | 17763868 | 347 days ago | IN | 0 ETH | 0.00213536 | ||||
Request Refund | 13093374 | 1045 days ago | IN | 0 ETH | 0.00252488 | ||||
Request Refund | 11788320 | 1247 days ago | IN | 0 ETH | 0.00298716 | ||||
Request Refund | 11679055 | 1264 days ago | IN | 0 ETH | 0.00095928 | ||||
Request Refund | 11101468 | 1353 days ago | IN | 0 ETH | 0.00080794 | ||||
Request Refund | 8534280 | 1758 days ago | IN | 0 ETH | 0.00085489 | ||||
Request Refund | 7976507 | 1845 days ago | IN | 0 ETH | 0.00006255 | ||||
Transfer | 7394254 | 1936 days ago | IN | 0 ETH | 0.00012347 | ||||
Transfer | 7394227 | 1936 days ago | IN | 0 ETH | 0.00009877 | ||||
Request Refund | 7392906 | 1936 days ago | IN | 0 ETH | 0.00085489 | ||||
Request Refund | 7291284 | 1952 days ago | IN | 0 ETH | 0.00006255 | ||||
Transfer | 7291245 | 1952 days ago | IN | 0 ETH | 0.00025492 | ||||
Request Refund | 7289855 | 1952 days ago | IN | 0 ETH | 0.00006255 | ||||
Request Refund | 7286068 | 1953 days ago | IN | 0 ETH | 0.00006897 | ||||
Request Refund | 7286066 | 1953 days ago | IN | 0 ETH | 0.00006255 | ||||
Request Refund | 7284124 | 1953 days ago | IN | 0 ETH | 0.00011495 | ||||
Request Refund | 7284122 | 1953 days ago | IN | 0 ETH | 0.00011495 | ||||
Request Refund | 7284120 | 1953 days ago | IN | 0 ETH | 0.00010425 | ||||
Request Refund | 6775712 | 2048 days ago | IN | 0 ETH | 0.0001251 | ||||
Abort | 6775703 | 2048 days ago | IN | 0 ETH | 0.01962169 | ||||
Pause | 6332506 | 2121 days ago | IN | 0 ETH | 0.00024876 | ||||
Add To Whitelist | 6332125 | 2121 days ago | IN | 0 ETH | 0.00026032 | ||||
Transfer | 6332034 | 2121 days ago | IN | 0.20137531 ETH | 0.00323408 |
Latest 15 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
19770455 | 66 days ago | 1 ETH | ||||
18760899 | 207 days ago | 0.04 ETH | ||||
17763868 | 347 days ago | 0.2308 ETH | ||||
13093374 | 1045 days ago | 59.9 ETH | ||||
11788320 | 1247 days ago | 24.83966586 ETH | ||||
11101468 | 1353 days ago | 0.1 ETH | ||||
8534280 | 1758 days ago | 0.2 ETH | ||||
7976507 | 1845 days ago | 2.00611933 ETH | ||||
7392906 | 1936 days ago | 0.75 ETH | ||||
7291284 | 1952 days ago | 1.6 ETH | ||||
7289855 | 1952 days ago | 1.2598 ETH | ||||
7286066 | 1953 days ago | 0.35 ETH | ||||
7284120 | 1953 days ago | 1.5386 ETH | ||||
6775712 | 2048 days ago | 1,000.97982581 ETH | ||||
6162846 | 2149 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
QCOToken
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 2018-08-17 */ pragma solidity ^0.4.11; // File: zeppelin/token/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: zeppelin/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // File: zeppelin/token/BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } } // File: zeppelin/token/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: zeppelin/token/StandardToken.sol /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); uint256 _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); 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; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval (address _spender, uint _addedValue) returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // File: contracts/QravityTeamTimelock.sol contract QravityTeamTimelock { using SafeMath for uint256; uint16 constant ORIGIN_YEAR = 1970; // Account that can release tokens address public controller; uint256 public releasedAmount; ERC20Basic token; function QravityTeamTimelock(ERC20Basic _token, address _controller) public { require(address(_token) != 0x0); require(_controller != 0x0); token = _token; controller = _controller; } /** * @notice Transfers tokens held by timelock to beneficiary. */ function release(address _beneficiary, uint256 _amount) public { require(msg.sender == controller); require(_amount > 0); require(_amount <= availableAmount(now)); token.transfer(_beneficiary, _amount); releasedAmount = releasedAmount.add(_amount); } function availableAmount(uint256 timestamp) public view returns (uint256 amount) { uint256 totalWalletAmount = releasedAmount.add(token.balanceOf(this)); uint256 canBeReleasedAmount = totalWalletAmount.mul(availablePercent(timestamp)).div(100); return canBeReleasedAmount.sub(releasedAmount); } function availablePercent(uint256 timestamp) public view returns (uint256 factor) { uint256[10] memory releasePercent = [uint256(0), 20, 30, 40, 50, 60, 70, 80, 90, 100]; uint[10] memory releaseTimes = [ toTimestamp(2020, 4, 1), toTimestamp(2020, 7, 1), toTimestamp(2020, 10, 1), toTimestamp(2021, 1, 1), toTimestamp(2021, 4, 1), toTimestamp(2021, 7, 1), toTimestamp(2021, 10, 1), toTimestamp(2022, 1, 1), toTimestamp(2022, 4, 1), 0 ]; // Set default to the 0% bonus. uint256 timeIndex = 0; for (uint256 i = 0; i < releaseTimes.length; i++) { if (timestamp < releaseTimes[i] || releaseTimes[i] == 0) { timeIndex = i; break; } } return releasePercent[timeIndex]; } // Timestamp functions based on // https://github.com/pipermerriam/ethereum-datetime/blob/master/contracts/DateTime.sol function toTimestamp(uint16 year, uint8 month, uint8 day) internal pure returns (uint timestamp) { uint16 i; // Year timestamp += (year - ORIGIN_YEAR) * 1 years; timestamp += (leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR)) * 1 days; // Month uint8[12] memory monthDayCounts; monthDayCounts[0] = 31; if (isLeapYear(year)) { monthDayCounts[1] = 29; } else { monthDayCounts[1] = 28; } monthDayCounts[2] = 31; monthDayCounts[3] = 30; monthDayCounts[4] = 31; monthDayCounts[5] = 30; monthDayCounts[6] = 31; monthDayCounts[7] = 31; monthDayCounts[8] = 30; monthDayCounts[9] = 31; monthDayCounts[10] = 30; monthDayCounts[11] = 31; for (i = 1; i < month; i++) { timestamp += monthDayCounts[i - 1] * 1 days; } // Day timestamp += (day - 1) * 1 days; // Hour, Minute, and Second are assumed as 0 (we calculate in GMT) return timestamp; } function leapYearsBefore(uint year) internal pure returns (uint) { year -= 1; return year / 4 - year / 100 + year / 400; } function isLeapYear(uint16 year) internal pure returns (bool) { if (year % 4 != 0) { return false; } if (year % 100 != 0) { return true; } if (year % 400 != 0) { return false; } return true; } } // File: contracts/Bonus.sol library Bonus { uint16 constant ORIGIN_YEAR = 1970; struct BonusData { uint[7] factors; // aditional entry for 0% bonus uint[6] cutofftimes; } // Use storage keyword so that we write this to persistent storage. function initBonus(BonusData storage data) internal { data.factors = [uint256(300), 250, 200, 150, 100, 50, 0]; data.cutofftimes = [toTimestamp(2018, 9, 1), toTimestamp(2018, 9, 8), toTimestamp(2018, 9, 15), toTimestamp(2018, 9, 22), toTimestamp(2018, 9, 29), toTimestamp(2018, 10, 8)]; } function getBonusFactor(uint timestamp, BonusData storage data) internal view returns (uint256 factor) { uint256 countcutoffs = data.cutofftimes.length; // Set default to the 0% bonus. uint256 timeIndex = countcutoffs; for (uint256 i = 0; i < countcutoffs; i++) { if (timestamp < data.cutofftimes[i]) { timeIndex = i; break; } } return data.factors[timeIndex]; } function getFollowingCutoffTime(uint timestamp, BonusData storage data) internal view returns (uint nextTime) { uint256 countcutoffs = data.cutofftimes.length; // Set default to 0 meaning "no cutoff any more". nextTime = 0; for (uint256 i = 0; i < countcutoffs; i++) { if (timestamp < data.cutofftimes[i]) { nextTime = data.cutofftimes[i]; break; } } return nextTime; } // Timestamp functions based on // https://github.com/pipermerriam/ethereum-datetime/blob/master/contracts/DateTime.sol function toTimestamp(uint16 year, uint8 month, uint8 day) internal pure returns (uint timestamp) { uint16 i; // Year timestamp += (year - ORIGIN_YEAR) * 1 years; timestamp += (leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR)) * 1 days; // Month uint8[12] memory monthDayCounts; monthDayCounts[0] = 31; if (isLeapYear(year)) { monthDayCounts[1] = 29; } else { monthDayCounts[1] = 28; } monthDayCounts[2] = 31; monthDayCounts[3] = 30; monthDayCounts[4] = 31; monthDayCounts[5] = 30; monthDayCounts[6] = 31; monthDayCounts[7] = 31; monthDayCounts[8] = 30; monthDayCounts[9] = 31; monthDayCounts[10] = 30; monthDayCounts[11] = 31; for (i = 1; i < month; i++) { timestamp += monthDayCounts[i - 1] * 1 days; } // Day timestamp += (day - 1) * 1 days; // Hour, Minute, and Second are assumed as 0 (we calculate in GMT) return timestamp; } function leapYearsBefore(uint year) internal pure returns (uint) { year -= 1; return year / 4 - year / 100 + year / 400; } function isLeapYear(uint16 year) internal pure returns (bool) { if (year % 4 != 0) { return false; } if (year % 100 != 0) { return true; } if (year % 400 != 0) { return false; } return true; } } // File: contracts/QCOToken.sol /* Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20. */ pragma solidity ^0.4.11; contract QCOToken is StandardToken { // data structures enum States { Initial, // deployment time ValuationSet, Ico, // whitelist addresses, accept funds, update balances Aborted, // ICO aborted Operational, // production phase Paused // for contract upgrades } mapping(address => uint256) public ethPossibleRefunds; uint256 public soldTokens; string public constant name = "Qravity Coin Token"; string public constant symbol = "QCO"; uint8 public constant decimals = 18; mapping(address => bool) public whitelist; address public stateControl; address public whitelistControl; address public withdrawControl; address public tokenAssignmentControl; address public teamWallet; address public reserves; States public state; uint256 public endBlock; uint256 public ETH_QCO; //number of tokens per ETH uint256 constant pointMultiplier = 1e18; //100% = 1*10^18 points uint256 public constant maxTotalSupply = 1000000000 * pointMultiplier; //1B tokens uint256 public constant percentForSale = 50; Bonus.BonusData bonusData; event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; //pausing the contract should extend the ico dates into the future. uint256 public pauseOffset = 0; uint256 public pauseLastStart = 0; //this creates the contract and stores the owner. it also passes in 3 addresses to be used later during the lifetime of the contract. function QCOToken( address _stateControl , address _whitelistControl , address _withdrawControl , address _tokenAssignmentControl , address _teamControl , address _reserves) public { stateControl = _stateControl; whitelistControl = _whitelistControl; withdrawControl = _withdrawControl; tokenAssignmentControl = _tokenAssignmentControl; moveToState(States.Initial); endBlock = 0; ETH_QCO = 0; totalSupply = maxTotalSupply; soldTokens = 0; Bonus.initBonus(bonusData); teamWallet = address(new QravityTeamTimelock(this, _teamControl)); reserves = _reserves; balances[reserves] = totalSupply; Mint(reserves, totalSupply); Transfer(0x0, reserves, totalSupply); } event Whitelisted(address addr); event StateTransition(States oldState, States newState); modifier onlyWhitelist() { require(msg.sender == whitelistControl); _; } modifier onlyStateControl() { require(msg.sender == stateControl); _; } modifier onlyTokenAssignmentControl() { require(msg.sender == tokenAssignmentControl); _; } modifier onlyWithdraw() { require(msg.sender == withdrawControl); _; } modifier requireState(States _requiredState) { require(state == _requiredState); _; } /** BEGIN ICO functions */ //this is the main funding function, it updates the balances of tokens during the ICO. //no particular incentive schemes have been implemented here //it is only accessible during the "ICO" phase. function() payable public requireState(States.Ico) { require(whitelist[msg.sender] == true); require(msg.value > 0); // We have reports that some wallet contracts may end up sending a single null-byte. // Still reject calls of unknown functions, which are always at least 4 bytes of data. require(msg.data.length < 4); require(block.number < endBlock); uint256 soldToTuserWithBonus = calcBonus(msg.value); issueTokensToUser(msg.sender, soldToTuserWithBonus); ethPossibleRefunds[msg.sender] = ethPossibleRefunds[msg.sender].add(msg.value); } function issueTokensToUser(address beneficiary, uint256 amount) internal { uint256 soldTokensAfterInvestment = soldTokens.add(amount); require(soldTokensAfterInvestment <= maxTotalSupply.mul(percentForSale).div(100)); balances[beneficiary] = balances[beneficiary].add(amount); balances[reserves] = balances[reserves].sub(amount); soldTokens = soldTokensAfterInvestment; Transfer(reserves, beneficiary, amount); } function getCurrentBonusFactor() public view returns (uint256 factor) { //we pass in now-pauseOffset as the "now time" for purposes of calculating the bonus factor return Bonus.getBonusFactor(now - pauseOffset, bonusData); } function getNextCutoffTime() public view returns (uint timestamp) { return Bonus.getFollowingCutoffTime(now - pauseOffset, bonusData); } function calcBonus(uint256 weiAmount) constant public returns (uint256 resultingTokens) { uint256 basisTokens = weiAmount.mul(ETH_QCO); //percentages are integer numbers as per mill (promille) so we can accurately calculate 0.5% = 5. 100% = 1000 uint256 perMillBonus = getCurrentBonusFactor(); //100% + bonus % times original amount divided by 100%. return basisTokens.mul(per_mill + perMillBonus).div(per_mill); } uint256 constant per_mill = 1000; function moveToState(States _newState) internal { StateTransition(state, _newState); state = _newState; } // ICO contract configuration function // new_ETH_QCO is the new rate of ETH in QCO to use when no bonus applies // newEndBlock is the absolute block number at which the ICO must stop. It must be set after now + silence period. function updateEthICOVariables(uint256 _new_ETH_QCO, uint256 _newEndBlock) public onlyStateControl { require(state == States.Initial || state == States.ValuationSet); require(_new_ETH_QCO > 0); require(block.number < _newEndBlock); endBlock = _newEndBlock; // initial conversion rate of ETH_QCO set now, this is used during the Ico phase. ETH_QCO = _new_ETH_QCO; moveToState(States.ValuationSet); } function startICO() public onlyStateControl requireState(States.ValuationSet) { require(block.number < endBlock); moveToState(States.Ico); } function addPresaleAmount(address beneficiary, uint256 amount) public onlyTokenAssignmentControl { require(state == States.ValuationSet || state == States.Ico); issueTokensToUser(beneficiary, amount); } function endICO() public onlyStateControl requireState(States.Ico) { burnAndFinish(); moveToState(States.Operational); } function anyoneEndICO() public requireState(States.Ico) { require(block.number > endBlock); burnAndFinish(); moveToState(States.Operational); } function burnAndFinish() internal { totalSupply = soldTokens.mul(100).div(percentForSale); uint256 teamAmount = totalSupply.mul(22).div(100); balances[teamWallet] = teamAmount; Transfer(reserves, teamWallet, teamAmount); uint256 reservesAmount = totalSupply.sub(soldTokens).sub(teamAmount); // Burn all tokens over the target amount. Transfer(reserves, 0x0, balances[reserves].sub(reservesAmount).sub(teamAmount)); balances[reserves] = reservesAmount; mintingFinished = true; MintFinished(); } function addToWhitelist(address _whitelisted) public onlyWhitelist // requireState(States.Ico) { whitelist[_whitelisted] = true; Whitelisted(_whitelisted); } //emergency pause for the ICO function pause() public onlyStateControl requireState(States.Ico) { moveToState(States.Paused); pauseLastStart = now; } //in case we want to completely abort function abort() public onlyStateControl requireState(States.Paused) { moveToState(States.Aborted); } //un-pause function resumeICO() public onlyStateControl requireState(States.Paused) { moveToState(States.Ico); //increase pauseOffset by the time it was paused pauseOffset = pauseOffset + (now - pauseLastStart); } //in case of a failed/aborted ICO every investor can get back their money function requestRefund() public requireState(States.Aborted) { require(ethPossibleRefunds[msg.sender] > 0); //there is no need for updateAccount(msg.sender) since the token never became active. uint256 payout = ethPossibleRefunds[msg.sender]; //reverse calculate the amount to pay out ethPossibleRefunds[msg.sender] = 0; msg.sender.transfer(payout); } //after the ICO has run its course, the withdraw account can drain funds bit-by-bit as needed. function requestPayout(uint _amount) public onlyWithdraw //very important! requireState(States.Operational) { msg.sender.transfer(_amount); } //if this contract gets a balance in some other ERC20 contract - or even iself - then we can rescue it. function rescueToken(ERC20Basic _foreignToken, address _to) public onlyTokenAssignmentControl { _foreignToken.transfer(_to, _foreignToken.balanceOf(this)); } /** END ICO functions */ /** BEGIN ERC20 functions */ function transfer(address _to, uint256 _value) public requireState(States.Operational) returns (bool success) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public requireState(States.Operational) returns (bool success) { return super.transferFrom(_from, _to, _value); } /** END ERC20 functions */ }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"stateControl","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"calcBonus","outputs":[{"name":"resultingTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauseOffset","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"ETH_QCO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"anyoneEndICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_new_ETH_QCO","type":"uint256"},{"name":"_newEndBlock","type":"uint256"}],"name":"updateEthICOVariables","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"abort","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelistControl","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_foreignToken","type":"address"},{"name":"_to","type":"address"}],"name":"rescueToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getNextCutoffTime","outputs":[{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"withdrawControl","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserves","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentBonusFactor","outputs":[{"name":"factor","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"requestPayout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeICO","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":"percentForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauseLastStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAssignmentControl","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"amount","type":"uint256"}],"name":"addPresaleAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"requestRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_whitelisted","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ethPossibleRefunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_stateControl","type":"address"},{"name":"_whitelistControl","type":"address"},{"name":"_withdrawControl","type":"address"},{"name":"_tokenAssignmentControl","type":"address"},{"name":"_teamControl","type":"address"},{"name":"_reserves","type":"address"}],"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":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"}],"name":"Whitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldState","type":"uint8"},{"indexed":false,"name":"newState","type":"uint8"}],"name":"StateTransition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
6060604052601b805460ff191690556000601c819055601d5534156200002457600080fd5b60405160c080620028cc83398101604052808051919060200180519190602001805191906020018051919060200180519190602001805160068054600160a060020a03808b16600160a060020a031992831617909255600780548a84169083161790556008805489841690831617905560098054928816929091169190911790559150620000c390506000640100000000620015686200020382021704565b6000600c819055600d8190556b033b2e3c9fd0803ce80000008155600455620000fb600e64010000000062001769620002ba82021704565b308262000107620005c9565b600160a060020a0392831681529116602082015260409081019051809103906000f08015156200013657600080fd5b600a8054600160a060020a0319908116600160a060020a0393841617909155600b80549091168383161780825560008054918416815260016020526040908190208290559154909216917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885915190815260200160405180910390a2600b5460008054600160a060020a03909216917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060405190815260200160405180910390a350505050505062000697565b600b547f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f79074010000000000000000000000000000000000000000900460ff1682604051808360058111156200025557fe5b60ff1681526020018260058111156200026a57fe5b60ff1681526020019250505060405180910390a1600b805482919060a060020a60ff02191674010000000000000000000000000000000000000000836005811115620002b257fe5b021790555050565b60e0604051908101604090815261012c825260fa602083015260c8908201526096606082015260646080820152603260a0820152600060c0820152620003049082906007620005da565b5060c060405190810160405280620003306107e26009600164010000000062001843620003fc82021704565b8152602001620003546107e26009600864010000000062001843620003fc82021704565b8152602001620003786107e26009600f64010000000062001843620003fc82021704565b81526020016200039c6107e26009601664010000000062001843620003fc82021704565b8152602001620003c06107e26009601d64010000000062001843620003fc82021704565b8152602001620003e46107e2600a600864010000000062001843620003fc82021704565b9052620003f890600783019060066200061d565b5050565b600080620004096200064d565b63ffffffff6301e1338061ffff6107b119890116021692909201916200043f6107b2640100000000620019646200055482021704565b6200045c61ffff8816640100000000620019646200055482021704565b601f8352036201518002929092019162000484866401000000006200197f6200056d82021704565b156200049757601d60208201526200049f565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff16101562000537578061ffff600019840116600c81106200051357fe5b602002015160ff16620151800262ffffff16830192508180600101925050620004ee565b50506000199190910160ff16620151800262ffffff160192915050565b600019016064810460048204036101908204015b919050565b6000600461ffff83160661ffff16156200058a5750600062000568565b606461ffff83160661ffff1615620005a55750600162000568565b61019061ffff83160661ffff1615620005c15750600062000568565b506001919050565b604051610756806200217683390190565b82600781019282156200060b579160200282015b828111156200060b578251825591602001919060010190620005ee565b506200061992915062000677565b5090565b82600681019282156200060b57916020028201828111156200060b578251825591602001919060010190620005ee565b610180604051908101604052600c815b6000815260001990910190602001816200065d5790505090565b6200069491905b808211156200061957600081556001016200067e565b90565b611acf80620006a76000396000f3006060604052600436106101f55763ffffffff60e060020a60003504166304b2bf9981146102c957806305d2035b146102f857806306fdde031461031f578063083c6323146103a9578063095ea7b3146103ce57806309f3ad26146103f057806318160ddd146104065780632344acdf1461041957806323b872dd1461042c57806328250d43146104545780632ab4d05214610467578063313ce5671461047a57806332b3c323146104a357806334bb3ee1146104b857806335a063b4146104d157806341f1d4dd146104e45780634707d000146104f757806347f8b8631461051c5780634f2484091461052f57806359927044146105425780635ed9ebfc1461055557806366188463146105685780636aa9c82b1461058a57806370a082311461059d57806375172a8b146105bc5780637d363720146105cf5780637fa8c158146105e25780638456cb59146105f55780638f97e3a01461060857806395d89b411461061e5780639b19251a146106315780639cbd7da514610650578063a9059cbb14610663578063b21ed44e14610685578063c19d93fb14610698578063c4bebd69146106cf578063c8c2ed54146106e2578063cc577f38146106f5578063d5cef13314610717578063d73dd6231461072a578063dd62ed3e1461074c578063e43252d714610771578063f8b1fb1214610790575b6000600280600b5460a060020a900460ff16600581111561021257fe5b1461021c57600080fd5b600160a060020a03331660009081526005602052604090205460ff16151560011461024657600080fd5b6000341161025357600080fd5b6004361061026057600080fd5b600c54431061026e57600080fd5b610277346107af565b91506102833383610801565b600160a060020a0333166000908152600360205260409020546102ac903463ffffffff6108ff16565b600160a060020a0333166000908152600360205260409020555050005b34156102d457600080fd5b6102dc610915565b604051600160a060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610924565b604051901515815260200160405180910390f35b341561032a57600080fd5b61033261092d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561036e578082015183820152602001610356565b50505050905090810190601f16801561039b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103b457600080fd5b6103bc610964565b60405190815260200160405180910390f35b34156103d957600080fd5b61030b600160a060020a036004351660243561096a565b34156103fb57600080fd5b6103bc6004356107af565b341561041157600080fd5b6103bc6109d6565b341561042457600080fd5b6103bc6109dc565b341561043757600080fd5b61030b600160a060020a03600435811690602435166044356109e2565b341561045f57600080fd5b6103bc610a1d565b341561047257600080fd5b6103bc610a23565b341561048557600080fd5b61048d610a33565b60405160ff909116815260200160405180910390f35b34156104ae57600080fd5b6104b6610a38565b005b34156104c357600080fd5b6104b6600435602435610a80565b34156104dc57600080fd5b6104b6610b15565b34156104ef57600080fd5b6102dc610b5f565b341561050257600080fd5b6104b6600160a060020a0360043581169060243516610b6e565b341561052757600080fd5b6103bc610c6d565b341561053a57600080fd5b6104b6610c84565b341561054d57600080fd5b6102dc610cc4565b341561056057600080fd5b6103bc610cd3565b341561057357600080fd5b61030b600160a060020a0360043516602435610cd9565b341561059557600080fd5b6102dc610dd3565b34156105a857600080fd5b6103bc600160a060020a0360043516610de2565b34156105c757600080fd5b6102dc610e01565b34156105da57600080fd5b6103bc610e10565b34156105ed57600080fd5b6104b6610e21565b341561060057600080fd5b6104b6610e79565b341561061357600080fd5b6104b6600435610eca565b341561062957600080fd5b610332610f3b565b341561063c57600080fd5b61030b600160a060020a0360043516610f72565b341561065b57600080fd5b6104b6610f87565b341561066e57600080fd5b61030b600160a060020a0360043516602435610fe3565b341561069057600080fd5b6103bc611014565b34156106a357600080fd5b6106ab611019565b604051808260058111156106bb57fe5b60ff16815260200191505060405180910390f35b34156106da57600080fd5b6103bc611029565b34156106ed57600080fd5b6102dc61102f565b341561070057600080fd5b6104b6600160a060020a036004351660243561103e565b341561072257600080fd5b6104b66110ab565b341561073557600080fd5b61030b600160a060020a036004351660243561113d565b341561075757600080fd5b6103bc600160a060020a03600435811690602435166111e1565b341561077c57600080fd5b6104b6600160a060020a036004351661120c565b341561079b57600080fd5b6103bc600160a060020a036004351661128c565b60008060006107c9600d548561129e90919063ffffffff16565b91506107d3610e10565b90506107f96103e86107ed8482850163ffffffff61129e16565b9063ffffffff6112c216565b949350505050565b600454600090610817908363ffffffff6108ff16565b905061083b60646107ed6b033b2e3c9fd0803ce8000000603263ffffffff61129e16565b81111561084757600080fd5b600160a060020a038316600090815260016020526040902054610870908363ffffffff6108ff16565b600160a060020a0380851660009081526001602052604080822093909355600b54909116815220546108a8908363ffffffff6112d916565b600b8054600160a060020a0390811660009081526001602052604090819020939093556004849055905485821692911690600080516020611a848339815191529085905190815260200160405180910390a3505050565b60008282018381101561090e57fe5b9392505050565b600654600160a060020a031681565b601b5460ff1681565b60408051908101604052601281527f5172617669747920436f696e20546f6b656e0000000000000000000000000000602082015281565b600c5481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b601c5481565b6000600480600b5460a060020a900460ff1660058111156109ff57fe5b14610a0957600080fd5b610a148585856112eb565b95945050505050565b600d5481565b6b033b2e3c9fd0803ce800000081565b601281565b600280600b5460a060020a900460ff166005811115610a5357fe5b14610a5d57600080fd5b600c544311610a6b57600080fd5b610a73611403565b610a7d6004611568565b50565b60065433600160a060020a03908116911614610a9b57600080fd5b6000600b5460a060020a900460ff166005811115610ab557fe5b1480610ad857506001600b5460a060020a900460ff166005811115610ad657fe5b145b1515610ae357600080fd5b60008211610af057600080fd5b43819010610afd57600080fd5b600c819055600d829055610b116001611568565b5050565b60065433600160a060020a03908116911614610b3057600080fd5b600580600b5460a060020a900460ff166005811115610b4b57fe5b14610b5557600080fd5b610a7d6003611568565b600754600160a060020a031681565b60095433600160a060020a03908116911614610b8957600080fd5b600160a060020a03821663a9059cbb82826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610c4e57600080fd5b6102c65a03f11515610c5f57600080fd5b505050604051805150505050565b6000610c7e601c544203600e611608565b90505b90565b60065433600160a060020a03908116911614610c9f57600080fd5b600280600b5460a060020a900460ff166005811115610cba57fe5b14610a6b57600080fd5b600a54600160a060020a031681565b60045481565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115610d3657600160a060020a033381166000908152600260209081526040808320938816835292905290812055610d6d565b610d46818463ffffffff6112d916565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600854600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600b54600160a060020a031681565b6000610c7e601c544203600e611656565b60065433600160a060020a03908116911614610e3c57600080fd5b600180600b5460a060020a900460ff166005811115610e5757fe5b14610e6157600080fd5b600c544310610e6f57600080fd5b610a7d6002611568565b60065433600160a060020a03908116911614610e9457600080fd5b600280600b5460a060020a900460ff166005811115610eaf57fe5b14610eb957600080fd5b610ec36005611568565b5042601d55565b60085433600160a060020a03908116911614610ee557600080fd5b600480600b5460a060020a900460ff166005811115610f0057fe5b14610f0a57600080fd5b600160a060020a03331682156108fc0283604051600060405180830381858888f193505050501515610b1157600080fd5b60408051908101604052600381527f51434f0000000000000000000000000000000000000000000000000000000000602082015281565b60056020526000908152604090205460ff1681565b60065433600160a060020a03908116911614610fa257600080fd5b600580600b5460a060020a900460ff166005811115610fbd57fe5b14610fc757600080fd5b610fd16002611568565b601d544203601c5401601c8190555050565b6000600480600b5460a060020a900460ff16600581111561100057fe5b1461100a57600080fd5b6107f984846116a5565b603281565b600b5460a060020a900460ff1681565b601d5481565b600954600160a060020a031681565b60095433600160a060020a0390811691161461105957600080fd5b6001600b5460a060020a900460ff16600581111561107357fe5b148061109657506002600b5460a060020a900460ff16600581111561109457fe5b145b15156110a157600080fd5b610b118282610801565b6000600380600b5460a060020a900460ff1660058111156110c857fe5b146110d257600080fd5b600160a060020a033316600090815260036020526040812054116110f557600080fd5b600160a060020a033316600081815260036020526040808220805492905590935083156108fc0290849051600060405180830381858888f193505050501515610b1157600080fd5b600160a060020a033381166000908152600260209081526040808320938616835292905290812054611175908363ffffffff6108ff16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60075433600160a060020a0390811691161461122757600080fd5b600160a060020a03811660009081526005602052604090819020805460ff191660011790557faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5490829051600160a060020a03909116815260200160405180910390a150565b60036020526000908152604090205481565b60008282028315806112ba57508284828115156112b757fe5b04145b151561090e57fe5b60008082848115156112d057fe5b04949350505050565b6000828211156112e557fe5b50900390565b600080600160a060020a038416151561130357600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054611349908463ffffffff6112d916565b600160a060020a03808716600090815260016020526040808220939093559086168152205461137e908463ffffffff6108ff16565b600160a060020a0385166000908152600160205260409020556113a7818463ffffffff6112d916565b600160a060020a0380871660008181526002602090815260408083203386168452909152908190209390935590861691600080516020611a848339815191529086905190815260200160405180910390a3506001949350505050565b60008061142160326107ed606460045461129e90919063ffffffff16565b600081905561143e906064906107ed90601663ffffffff61129e16565b600a8054600160a060020a03908116600090815260016020526040908190208490559154600b549395508116921690600080516020611a848339815191529085905190815260200160405180910390a36114b5826114a96004546000546112d990919063ffffffff16565b9063ffffffff6112d916565b600b54600160a060020a031660008181526001602052604081205492935091600080516020611a84833981519152906114fa9086906114a9908763ffffffff6112d916565b60405190815260200160405180910390a3600b54600160a060020a0316600090815260016020819052604091829020839055601b805460ff191690911790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08905160405180910390a15050565b600b547f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f79060a060020a900460ff1682604051808360058111156115a857fe5b60ff1681526020018260058111156115bc57fe5b60ff1681526020019250505060405180910390a1600b805482919074ff0000000000000000000000000000000000000000191660a060020a83600581111561160057fe5b021790555050565b60006006815b8181101561164e5760078401816006811061162557fe5b01548510156116465760078401816006811061163d57fe5b0154925061164e565b60010161160e565b505092915050565b6000600680825b8281101561168d5760078501816006811061167457fe5b01548610156116855780915061168d565b60010161165d565b84826007811061169957fe5b01549695505050505050565b6000600160a060020a03831615156116bc57600080fd5b600160a060020a0333166000908152600160205260409020546116e5908363ffffffff6112d916565b600160a060020a03338116600090815260016020526040808220939093559085168152205461171a908363ffffffff6108ff16565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020611a848339815191529085905190815260200160405180910390a350600192915050565b60e0604051908101604090815261012c825260fa602083015260c8908201526096606082015260646080820152603260a0820152600060c08201526117b190829060076119d5565b5060c0604051908101604052806117cd6107e260096001611843565b81526020016117e16107e260096008611843565b81526020016117f56107e26009600f611843565b81526020016118096107e260096016611843565b815260200161181d6107e26009601d611843565b81526020016118316107e2600a6008611843565b9052610b119060078301906006611a13565b60008061184e611a40565b63ffffffff6301e1338061ffff6107b119890116021692909201916118746107b2611964565b6118818761ffff16611964565b601f835203620151800292909201916118998661197f565b156118aa57601d60208201526118b2565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff161015611947578061ffff600019840116600c811061192457fe5b602002015160ff16620151800262ffffff16830192508180600101925050611901565b50506000199190910160ff16620151800262ffffff160192915050565b60001901600061019082046064830460048404030192915050565b6000600461ffff83160661ffff161561199a57506000610dfc565b606461ffff83160661ffff16156119b357506001610dfc565b61019061ffff83160661ffff16156119cd57506000610dfc565b506001919050565b8260078101928215611a03579160200282015b82811115611a035782518255916020019190600101906119e8565b50611a0f929150611a69565b5090565b8260068101928215611a035791602002820182811115611a035782518255916020019190600101906119e8565b610180604051908101604052600c815b600081526000199091019060200181611a505790505090565b610c8191905b80821115611a0f5760008155600101611a6f5600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d11ff8b522b140874d01a0b04226c1959f98931994e09d5b6b53094913a8904600296060604052341561000f57600080fd5b6040516040806107568339810160405280805191906020018051915050600160a060020a038216151561004157600080fd5b600160a060020a038116151561005657600080fd5b60028054600160a060020a03938416600160a060020a031991821617909155600080549290931691161790556106c5806100916000396000f3006060604052600436106100535763ffffffff60e060020a6000350416630357371d811461005857806317df74f91461007c57806345d30a17146100a4578063b5c150d4146100b7578063f77c4791146100cd575b600080fd5b341561006357600080fd5b61007a600160a060020a03600435166024356100fc565b005b341561008757600080fd5b6100926004356101cd565b60405190815260200160405180910390f35b34156100af57600080fd5b610092610369565b34156100c257600080fd5b61009260043561036f565b34156100d857600080fd5b6100e0610446565b604051600160a060020a03909116815260200160405180910390f35b60005433600160a060020a0390811691161461011757600080fd5b6000811161012457600080fd5b61012d4261036f565b81111561013957600080fd5b600254600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561019857600080fd5b6102c65a03f115156101a957600080fd5b505050604051805150506001546101c6908263ffffffff61045516565b6001555050565b60006101d7610648565b6101df610648565b600080610140604051908101604052806000815260200160148152602001601e81526020016028815260200160328152602001603c81526020016046815260200160508152602001605a815260200160648152509350610140604051908101604052806102516107e46004600161046b565b81526020016102656107e46007600161046b565b81526020016102796107e4600a600161046b565b815260200161028c6107e560018061046b565b81526020016102a06107e56004600161046b565b81526020016102b46107e56007600161046b565b81526020016102c86107e5600a600161046b565b81526020016102db6107e660018061046b565b81526020016102ef6107e66004600161046b565b81526020016000815250925060009150600090505b600a81101561034e578281600a811061031957fe5b602002015186108061033957508281600a811061033257fe5b6020020151155b156103465780915061034e565b600101610304565b8382600a811061035a57fe5b60200201519695505050505050565b60015481565b600254600090819081906103fb90600160a060020a03166370a0823130846040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156103d257600080fd5b6102c65a03f115156103e357600080fd5b5050506040518051600154915063ffffffff61045516565b9150610427606461041b61040e876101cd565b859063ffffffff61058c16565b9063ffffffff6105b016565b905061043e600154826105c790919063ffffffff16565b949350505050565b600054600160a060020a031681565b60008282018381101561046457fe5b9392505050565b600080610476610670565b63ffffffff6301e1338061ffff6107b1198901160216929092019161049c6107b26105d9565b6104a98761ffff166105d9565b601f835203620151800292909201916104c1866105f2565b156104d257601d60208201526104da565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff16101561056f578061ffff600019840116600c811061054c57fe5b602002015160ff16620151800262ffffff16830192508180600101925050610529565b50506000199190910160ff16620151800262ffffff160192915050565b60008282028315806105a857508284828115156105a557fe5b04145b151561046457fe5b60008082848115156105be57fe5b04949350505050565b6000828211156105d357fe5b50900390565b600019016064810460048204036101908204015b919050565b6000600461ffff83160661ffff161561060d575060006105ed565b606461ffff83160661ffff1615610626575060016105ed565b61019061ffff83160661ffff1615610640575060006105ed565b506001919050565b610140604051908101604052600a815b60008152602001906001900390816106585790505090565b610180604051908101604052600c815b60008152600019909101906020018161068057905050905600a165627a7a72305820a64107b873852fa68f373aba8ece0a73b3566920de55da095f2759d81657cfc60029000000000000000000000000ff89c17b57cb419a3836db9aa03df1141f71210e00000000000000000000000042d8483f7b26ca1832edccbc89c5f6d3f6a9a95e0000000000000000000000006591c31af3026133d6a98991dcb2583f5d0f336c00000000000000000000000002ac4f727fca7ba22c896b858e109f6323bcb3e9000000000000000000000000edaad6c55337355bd4a939db1d705748f8d5d18400000000000000000000000076bccab7e540bafc3aa2a4cb6ca697f136b1e6ae
Deployed Bytecode
0x6060604052600436106101f55763ffffffff60e060020a60003504166304b2bf9981146102c957806305d2035b146102f857806306fdde031461031f578063083c6323146103a9578063095ea7b3146103ce57806309f3ad26146103f057806318160ddd146104065780632344acdf1461041957806323b872dd1461042c57806328250d43146104545780632ab4d05214610467578063313ce5671461047a57806332b3c323146104a357806334bb3ee1146104b857806335a063b4146104d157806341f1d4dd146104e45780634707d000146104f757806347f8b8631461051c5780634f2484091461052f57806359927044146105425780635ed9ebfc1461055557806366188463146105685780636aa9c82b1461058a57806370a082311461059d57806375172a8b146105bc5780637d363720146105cf5780637fa8c158146105e25780638456cb59146105f55780638f97e3a01461060857806395d89b411461061e5780639b19251a146106315780639cbd7da514610650578063a9059cbb14610663578063b21ed44e14610685578063c19d93fb14610698578063c4bebd69146106cf578063c8c2ed54146106e2578063cc577f38146106f5578063d5cef13314610717578063d73dd6231461072a578063dd62ed3e1461074c578063e43252d714610771578063f8b1fb1214610790575b6000600280600b5460a060020a900460ff16600581111561021257fe5b1461021c57600080fd5b600160a060020a03331660009081526005602052604090205460ff16151560011461024657600080fd5b6000341161025357600080fd5b6004361061026057600080fd5b600c54431061026e57600080fd5b610277346107af565b91506102833383610801565b600160a060020a0333166000908152600360205260409020546102ac903463ffffffff6108ff16565b600160a060020a0333166000908152600360205260409020555050005b34156102d457600080fd5b6102dc610915565b604051600160a060020a03909116815260200160405180910390f35b341561030357600080fd5b61030b610924565b604051901515815260200160405180910390f35b341561032a57600080fd5b61033261092d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561036e578082015183820152602001610356565b50505050905090810190601f16801561039b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103b457600080fd5b6103bc610964565b60405190815260200160405180910390f35b34156103d957600080fd5b61030b600160a060020a036004351660243561096a565b34156103fb57600080fd5b6103bc6004356107af565b341561041157600080fd5b6103bc6109d6565b341561042457600080fd5b6103bc6109dc565b341561043757600080fd5b61030b600160a060020a03600435811690602435166044356109e2565b341561045f57600080fd5b6103bc610a1d565b341561047257600080fd5b6103bc610a23565b341561048557600080fd5b61048d610a33565b60405160ff909116815260200160405180910390f35b34156104ae57600080fd5b6104b6610a38565b005b34156104c357600080fd5b6104b6600435602435610a80565b34156104dc57600080fd5b6104b6610b15565b34156104ef57600080fd5b6102dc610b5f565b341561050257600080fd5b6104b6600160a060020a0360043581169060243516610b6e565b341561052757600080fd5b6103bc610c6d565b341561053a57600080fd5b6104b6610c84565b341561054d57600080fd5b6102dc610cc4565b341561056057600080fd5b6103bc610cd3565b341561057357600080fd5b61030b600160a060020a0360043516602435610cd9565b341561059557600080fd5b6102dc610dd3565b34156105a857600080fd5b6103bc600160a060020a0360043516610de2565b34156105c757600080fd5b6102dc610e01565b34156105da57600080fd5b6103bc610e10565b34156105ed57600080fd5b6104b6610e21565b341561060057600080fd5b6104b6610e79565b341561061357600080fd5b6104b6600435610eca565b341561062957600080fd5b610332610f3b565b341561063c57600080fd5b61030b600160a060020a0360043516610f72565b341561065b57600080fd5b6104b6610f87565b341561066e57600080fd5b61030b600160a060020a0360043516602435610fe3565b341561069057600080fd5b6103bc611014565b34156106a357600080fd5b6106ab611019565b604051808260058111156106bb57fe5b60ff16815260200191505060405180910390f35b34156106da57600080fd5b6103bc611029565b34156106ed57600080fd5b6102dc61102f565b341561070057600080fd5b6104b6600160a060020a036004351660243561103e565b341561072257600080fd5b6104b66110ab565b341561073557600080fd5b61030b600160a060020a036004351660243561113d565b341561075757600080fd5b6103bc600160a060020a03600435811690602435166111e1565b341561077c57600080fd5b6104b6600160a060020a036004351661120c565b341561079b57600080fd5b6103bc600160a060020a036004351661128c565b60008060006107c9600d548561129e90919063ffffffff16565b91506107d3610e10565b90506107f96103e86107ed8482850163ffffffff61129e16565b9063ffffffff6112c216565b949350505050565b600454600090610817908363ffffffff6108ff16565b905061083b60646107ed6b033b2e3c9fd0803ce8000000603263ffffffff61129e16565b81111561084757600080fd5b600160a060020a038316600090815260016020526040902054610870908363ffffffff6108ff16565b600160a060020a0380851660009081526001602052604080822093909355600b54909116815220546108a8908363ffffffff6112d916565b600b8054600160a060020a0390811660009081526001602052604090819020939093556004849055905485821692911690600080516020611a848339815191529085905190815260200160405180910390a3505050565b60008282018381101561090e57fe5b9392505050565b600654600160a060020a031681565b601b5460ff1681565b60408051908101604052601281527f5172617669747920436f696e20546f6b656e0000000000000000000000000000602082015281565b600c5481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b601c5481565b6000600480600b5460a060020a900460ff1660058111156109ff57fe5b14610a0957600080fd5b610a148585856112eb565b95945050505050565b600d5481565b6b033b2e3c9fd0803ce800000081565b601281565b600280600b5460a060020a900460ff166005811115610a5357fe5b14610a5d57600080fd5b600c544311610a6b57600080fd5b610a73611403565b610a7d6004611568565b50565b60065433600160a060020a03908116911614610a9b57600080fd5b6000600b5460a060020a900460ff166005811115610ab557fe5b1480610ad857506001600b5460a060020a900460ff166005811115610ad657fe5b145b1515610ae357600080fd5b60008211610af057600080fd5b43819010610afd57600080fd5b600c819055600d829055610b116001611568565b5050565b60065433600160a060020a03908116911614610b3057600080fd5b600580600b5460a060020a900460ff166005811115610b4b57fe5b14610b5557600080fd5b610a7d6003611568565b600754600160a060020a031681565b60095433600160a060020a03908116911614610b8957600080fd5b600160a060020a03821663a9059cbb82826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610c4e57600080fd5b6102c65a03f11515610c5f57600080fd5b505050604051805150505050565b6000610c7e601c544203600e611608565b90505b90565b60065433600160a060020a03908116911614610c9f57600080fd5b600280600b5460a060020a900460ff166005811115610cba57fe5b14610a6b57600080fd5b600a54600160a060020a031681565b60045481565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115610d3657600160a060020a033381166000908152600260209081526040808320938816835292905290812055610d6d565b610d46818463ffffffff6112d916565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600854600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600b54600160a060020a031681565b6000610c7e601c544203600e611656565b60065433600160a060020a03908116911614610e3c57600080fd5b600180600b5460a060020a900460ff166005811115610e5757fe5b14610e6157600080fd5b600c544310610e6f57600080fd5b610a7d6002611568565b60065433600160a060020a03908116911614610e9457600080fd5b600280600b5460a060020a900460ff166005811115610eaf57fe5b14610eb957600080fd5b610ec36005611568565b5042601d55565b60085433600160a060020a03908116911614610ee557600080fd5b600480600b5460a060020a900460ff166005811115610f0057fe5b14610f0a57600080fd5b600160a060020a03331682156108fc0283604051600060405180830381858888f193505050501515610b1157600080fd5b60408051908101604052600381527f51434f0000000000000000000000000000000000000000000000000000000000602082015281565b60056020526000908152604090205460ff1681565b60065433600160a060020a03908116911614610fa257600080fd5b600580600b5460a060020a900460ff166005811115610fbd57fe5b14610fc757600080fd5b610fd16002611568565b601d544203601c5401601c8190555050565b6000600480600b5460a060020a900460ff16600581111561100057fe5b1461100a57600080fd5b6107f984846116a5565b603281565b600b5460a060020a900460ff1681565b601d5481565b600954600160a060020a031681565b60095433600160a060020a0390811691161461105957600080fd5b6001600b5460a060020a900460ff16600581111561107357fe5b148061109657506002600b5460a060020a900460ff16600581111561109457fe5b145b15156110a157600080fd5b610b118282610801565b6000600380600b5460a060020a900460ff1660058111156110c857fe5b146110d257600080fd5b600160a060020a033316600090815260036020526040812054116110f557600080fd5b600160a060020a033316600081815260036020526040808220805492905590935083156108fc0290849051600060405180830381858888f193505050501515610b1157600080fd5b600160a060020a033381166000908152600260209081526040808320938616835292905290812054611175908363ffffffff6108ff16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60075433600160a060020a0390811691161461122757600080fd5b600160a060020a03811660009081526005602052604090819020805460ff191660011790557faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5490829051600160a060020a03909116815260200160405180910390a150565b60036020526000908152604090205481565b60008282028315806112ba57508284828115156112b757fe5b04145b151561090e57fe5b60008082848115156112d057fe5b04949350505050565b6000828211156112e557fe5b50900390565b600080600160a060020a038416151561130357600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054611349908463ffffffff6112d916565b600160a060020a03808716600090815260016020526040808220939093559086168152205461137e908463ffffffff6108ff16565b600160a060020a0385166000908152600160205260409020556113a7818463ffffffff6112d916565b600160a060020a0380871660008181526002602090815260408083203386168452909152908190209390935590861691600080516020611a848339815191529086905190815260200160405180910390a3506001949350505050565b60008061142160326107ed606460045461129e90919063ffffffff16565b600081905561143e906064906107ed90601663ffffffff61129e16565b600a8054600160a060020a03908116600090815260016020526040908190208490559154600b549395508116921690600080516020611a848339815191529085905190815260200160405180910390a36114b5826114a96004546000546112d990919063ffffffff16565b9063ffffffff6112d916565b600b54600160a060020a031660008181526001602052604081205492935091600080516020611a84833981519152906114fa9086906114a9908763ffffffff6112d916565b60405190815260200160405180910390a3600b54600160a060020a0316600090815260016020819052604091829020839055601b805460ff191690911790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa08905160405180910390a15050565b600b547f3a779de46631dd65116ae538600f1bc3c338200c6aef638429b5de43301c28f79060a060020a900460ff1682604051808360058111156115a857fe5b60ff1681526020018260058111156115bc57fe5b60ff1681526020019250505060405180910390a1600b805482919074ff0000000000000000000000000000000000000000191660a060020a83600581111561160057fe5b021790555050565b60006006815b8181101561164e5760078401816006811061162557fe5b01548510156116465760078401816006811061163d57fe5b0154925061164e565b60010161160e565b505092915050565b6000600680825b8281101561168d5760078501816006811061167457fe5b01548610156116855780915061168d565b60010161165d565b84826007811061169957fe5b01549695505050505050565b6000600160a060020a03831615156116bc57600080fd5b600160a060020a0333166000908152600160205260409020546116e5908363ffffffff6112d916565b600160a060020a03338116600090815260016020526040808220939093559085168152205461171a908363ffffffff6108ff16565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020611a848339815191529085905190815260200160405180910390a350600192915050565b60e0604051908101604090815261012c825260fa602083015260c8908201526096606082015260646080820152603260a0820152600060c08201526117b190829060076119d5565b5060c0604051908101604052806117cd6107e260096001611843565b81526020016117e16107e260096008611843565b81526020016117f56107e26009600f611843565b81526020016118096107e260096016611843565b815260200161181d6107e26009601d611843565b81526020016118316107e2600a6008611843565b9052610b119060078301906006611a13565b60008061184e611a40565b63ffffffff6301e1338061ffff6107b119890116021692909201916118746107b2611964565b6118818761ffff16611964565b601f835203620151800292909201916118998661197f565b156118aa57601d60208201526118b2565b601c60208201525b601f60408201819052601e606083018190526080830182905260a0830181905260c0830182905260e0830182905261010083018190526101208301829052610140830152610160820152600191505b8460ff168261ffff161015611947578061ffff600019840116600c811061192457fe5b602002015160ff16620151800262ffffff16830192508180600101925050611901565b50506000199190910160ff16620151800262ffffff160192915050565b60001901600061019082046064830460048404030192915050565b6000600461ffff83160661ffff161561199a57506000610dfc565b606461ffff83160661ffff16156119b357506001610dfc565b61019061ffff83160661ffff16156119cd57506000610dfc565b506001919050565b8260078101928215611a03579160200282015b82811115611a035782518255916020019190600101906119e8565b50611a0f929150611a69565b5090565b8260068101928215611a035791602002820182811115611a035782518255916020019190600101906119e8565b610180604051908101604052600c815b600081526000199091019060200181611a505790505090565b610c8191905b80821115611a0f5760008155600101611a6f5600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d11ff8b522b140874d01a0b04226c1959f98931994e09d5b6b53094913a890460029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ff89c17b57cb419a3836db9aa03df1141f71210e00000000000000000000000042d8483f7b26ca1832edccbc89c5f6d3f6a9a95e0000000000000000000000006591c31af3026133d6a98991dcb2583f5d0f336c00000000000000000000000002ac4f727fca7ba22c896b858e109f6323bcb3e9000000000000000000000000edaad6c55337355bd4a939db1d705748f8d5d18400000000000000000000000076bccab7e540bafc3aa2a4cb6ca697f136b1e6ae
-----Decoded View---------------
Arg [0] : _stateControl (address): 0xff89C17B57Cb419a3836Db9aa03df1141f71210e
Arg [1] : _whitelistControl (address): 0x42D8483f7B26Ca1832eDcCbc89C5F6d3f6A9a95E
Arg [2] : _withdrawControl (address): 0x6591C31Af3026133D6a98991DcB2583f5D0F336c
Arg [3] : _tokenAssignmentControl (address): 0x02aC4f727FcA7bA22C896B858e109F6323BcB3E9
Arg [4] : _teamControl (address): 0xEDAAD6C55337355Bd4a939db1D705748F8d5D184
Arg [5] : _reserves (address): 0x76BCCAb7E540BAFC3aa2A4Cb6ca697F136b1e6AE
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000ff89c17b57cb419a3836db9aa03df1141f71210e
Arg [1] : 00000000000000000000000042d8483f7b26ca1832edccbc89c5f6d3f6a9a95e
Arg [2] : 0000000000000000000000006591c31af3026133d6a98991dcb2583f5d0f336c
Arg [3] : 00000000000000000000000002ac4f727fca7ba22c896b858e109f6323bcb3e9
Arg [4] : 000000000000000000000000edaad6c55337355bd4a939db1d705748f8d5d184
Arg [5] : 00000000000000000000000076bccab7e540bafc3aa2a4cb6ca697f136b1e6ae
Swarm Source
bzzr://a64107b873852fa68f373aba8ece0a73b3566920de55da095f2759d81657cfc6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $2,978.52 | 31.4974 | $93,815.61 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.