Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,532 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5881253 | 2412 days ago | IN | 0.49 ETH | 0.00287698 | ||||
Finalize Sale | 5773959 | 2430 days ago | IN | 0 ETH | 0.00040746 | ||||
Transfer | 5718836 | 2440 days ago | IN | 0.8 ETH | 0.00968063 | ||||
Transfer | 5707894 | 2442 days ago | IN | 1 ETH | 0.01955883 | ||||
Transfer | 5707891 | 2442 days ago | IN | 1 ETH | 0.01209231 | ||||
Transfer | 5703920 | 2443 days ago | IN | 3.7 ETH | 0.01674608 | ||||
Transfer | 5703895 | 2443 days ago | IN | 5 ETH | 0.01576102 | ||||
Transfer | 5703411 | 2443 days ago | IN | 0.1 ETH | 0.01185384 | ||||
Transfer | 5703336 | 2443 days ago | IN | 1.9 ETH | 0.01139014 | ||||
Transfer | 5703328 | 2443 days ago | IN | 1.9 ETH | 0.01157836 | ||||
Transfer | 5703323 | 2443 days ago | IN | 2 ETH | 0.02336156 | ||||
Transfer | 5703319 | 2443 days ago | IN | 2.05 ETH | 0.00358506 | ||||
Transfer | 5703097 | 2443 days ago | IN | 0.95 ETH | 0.01185384 | ||||
Transfer | 5703083 | 2443 days ago | IN | 0.95 ETH | 0.01185384 | ||||
Transfer | 5702856 | 2443 days ago | IN | 0.2 ETH | 0.0148173 | ||||
Transfer | 5702805 | 2443 days ago | IN | 0.218 ETH | 0.01185384 | ||||
Transfer | 5702636 | 2443 days ago | IN | 10 ETH | 0.01382948 | ||||
Transfer | 5702620 | 2443 days ago | IN | 10 ETH | 0.00810012 | ||||
Transfer | 5702278 | 2443 days ago | IN | 0.3 ETH | 0.0004032 | ||||
Transfer | 5702198 | 2443 days ago | IN | 10 ETH | 0.00810012 | ||||
Transfer | 5702180 | 2443 days ago | IN | 0.5 ETH | 0.01955883 | ||||
Transfer | 5702163 | 2443 days ago | IN | 10 ETH | 0.00810012 | ||||
Transfer | 5702116 | 2443 days ago | IN | 3.04 ETH | 0.01382948 | ||||
Transfer | 5702111 | 2443 days ago | IN | 0.73 ETH | 0.00266899 | ||||
Transfer | 5702093 | 2443 days ago | IN | 7 ETH | 0.02221038 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5718836 | 2440 days ago | 0.8 ETH | ||||
5707894 | 2442 days ago | 1 ETH | ||||
5707891 | 2442 days ago | 1 ETH | ||||
5703920 | 2443 days ago | 3.7 ETH | ||||
5703895 | 2443 days ago | 5 ETH | ||||
5703411 | 2443 days ago | 0.1 ETH | ||||
5703336 | 2443 days ago | 1.9 ETH | ||||
5703328 | 2443 days ago | 1.9 ETH | ||||
5703323 | 2443 days ago | 2 ETH | ||||
5703319 | 2443 days ago | 2.05 ETH | ||||
5703097 | 2443 days ago | 0.95 ETH | ||||
5703083 | 2443 days ago | 0.95 ETH | ||||
5702856 | 2443 days ago | 0.2 ETH | ||||
5702805 | 2443 days ago | 0.218 ETH | ||||
5702636 | 2443 days ago | 10 ETH | ||||
5702620 | 2443 days ago | 10 ETH | ||||
5702198 | 2443 days ago | 10 ETH | ||||
5702180 | 2443 days ago | 0.5 ETH | ||||
5702163 | 2443 days ago | 10 ETH | ||||
5702116 | 2443 days ago | 3.04 ETH | ||||
5702111 | 2443 days ago | 0.73 ETH | ||||
5702093 | 2443 days ago | 7 ETH | ||||
5702073 | 2443 days ago | 56 ETH | ||||
5702061 | 2443 days ago | 60 ETH | ||||
5702053 | 2443 days ago | 7 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BigbomCrowdSale
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-22 */ pragma solidity ^0.4.19; /** * @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, uint _value); //event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @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) { 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]; } } /** * @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, uint _value); //event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @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 amout of tokens to be transfered */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { var _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); //balances[_from] = balances[_from].sub(_value); // this was removed allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender. * @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) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender, 0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 require((_value == 0) || (allowed[msg.sender][_spender] == 0)); 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 specifing the amount of tokens still avaible for the spender. */ function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() 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 { if (newOwner != address(0)) { owner = newOwner; } } } contract BigbomPrivateSaleList is Ownable { mapping(address=>uint) public addressCap; function BigbomPrivateSaleList() public {} event ListAddress( address _user, uint _amount, uint _time ); // Owner can delist by setting amount = 0. // Onwer can also change it at any time function listAddress( address _user, uint _amount ) public onlyOwner { require(_user != address(0x0)); addressCap[_user] = _amount; ListAddress( _user, _amount, now ); } // an optimization in case of network congestion function listAddresses( address[] _users, uint[] _amount ) public onlyOwner { require(_users.length == _amount.length ); for( uint i = 0 ; i < _users.length ; i++ ) { listAddress( _users[i], _amount[i] ); } } function getCap( address _user ) public constant returns(uint) { return addressCap[_user]; } } contract BigbomToken is StandardToken, Ownable { string public constant name = "Bigbom"; string public constant symbol = "BBO"; uint public constant decimals = 18; uint public totalSupply = 2000000000 * 1e18; //2,000,000,000 uint public constant founderAmount = 200000000 * 1e18; // 200,000,000 uint public constant coreStaffAmount = 60000000 * 1e18; // 60,000,000 uint public constant advisorAmount = 140000000 * 1e18; // 140,000,000 uint public constant networkGrowthAmount = 600000000 * 1e18; //600,000,000 uint public constant reserveAmount = 635000000 * 1e18; // 635,000,000 uint public constant bountyAmount = 40000000 * 1e18; // 40,000,000 uint public constant publicSaleAmount = 275000000 * 1e18; // 275,000,000 address public bbFounderCoreStaffWallet ; address public bbAdvisorWallet; address public bbAirdropWallet; address public bbNetworkGrowthWallet; address public bbReserveWallet; address public bbPublicSaleWallet; uint public saleStartTime; uint public saleEndTime; address public tokenSaleContract; BigbomPrivateSaleList public privateSaleList; mapping (address => bool) public frozenAccount; mapping (address => uint) public frozenTime; mapping (address => uint) public maxAllowedAmount; /* This generates a public event on the blockchain that will notify clients */ event FrozenFunds(address target, bool frozen, uint _seconds); function checkMaxAllowed(address target) public constant returns (uint) { var maxAmount = balances[target]; if(target == bbFounderCoreStaffWallet){ maxAmount = 10000000 * 1e18; } if(target == bbAdvisorWallet){ maxAmount = 10000000 * 1e18; } if(target == bbAirdropWallet){ maxAmount = 40000000 * 1e18; } if(target == bbNetworkGrowthWallet){ maxAmount = 20000000 * 1e18; } if(target == bbReserveWallet){ maxAmount = 6350000 * 1e18; } return maxAmount; } function selfFreeze(bool freeze, uint _seconds) public { // selfFreeze cannot more than 7 days require(_seconds <= 7 * 24 * 3600); // if unfreeze if(!freeze){ // get End time of frozenAccount var frozenEndTime = frozenTime[msg.sender]; // if now > frozenEndTime require (now >= frozenEndTime); // unfreeze account frozenAccount[msg.sender] = freeze; // set time to 0 _seconds = 0; }else{ frozenAccount[msg.sender] = freeze; } // set endTime = now + _seconds to freeze frozenTime[msg.sender] = now + _seconds; FrozenFunds(msg.sender, freeze, _seconds); } function freezeAccount(address target, bool freeze, uint _seconds) onlyOwner public { // if unfreeze if(!freeze){ // get End time of frozenAccount var frozenEndTime = frozenTime[target]; // if now > frozenEndTime require (now >= frozenEndTime); // unfreeze account frozenAccount[target] = freeze; // set time to 0 _seconds = 0; }else{ frozenAccount[target] = freeze; } // set endTime = now + _seconds to freeze frozenTime[target] = now + _seconds; FrozenFunds(target, freeze, _seconds); } modifier validDestination( address to ) { require(to != address(0x0)); require(to != address(this) ); require(!frozenAccount[to]); // Check if recipient is frozen _; } modifier validFrom(address from){ require(!frozenAccount[from]); // Check if sender is frozen _; } modifier onlyWhenTransferEnabled() { if( now <= saleEndTime && now >= saleStartTime ) { require( msg.sender == tokenSaleContract ); } _; } modifier onlyPrivateListEnabled(address _to){ require(now <= saleStartTime); uint allowcap = privateSaleList.getCap(_to); require (allowcap > 0); _; } function setPrivateList(BigbomPrivateSaleList _privateSaleList) onlyOwner public { require(_privateSaleList != address(0x0)); privateSaleList = _privateSaleList; } function BigbomToken(uint startTime, uint endTime, address admin, address _bbFounderCoreStaffWallet, address _bbAdvisorWallet, address _bbAirdropWallet, address _bbNetworkGrowthWallet, address _bbReserveWallet, address _bbPublicSaleWallet ) public { require(admin!=address(0x0)); require(_bbAirdropWallet!=address(0x0)); require(_bbAdvisorWallet!=address(0x0)); require(_bbReserveWallet!=address(0x0)); require(_bbNetworkGrowthWallet!=address(0x0)); require(_bbFounderCoreStaffWallet!=address(0x0)); require(_bbPublicSaleWallet!=address(0x0)); // Mint all tokens. Then disable minting forever. balances[msg.sender] = totalSupply; Transfer(address(0x0), msg.sender, totalSupply); // init internal amount limit // set address when deploy bbAirdropWallet = _bbAirdropWallet; bbAdvisorWallet = _bbAdvisorWallet; bbReserveWallet = _bbReserveWallet; bbNetworkGrowthWallet = _bbNetworkGrowthWallet; bbFounderCoreStaffWallet = _bbFounderCoreStaffWallet; bbPublicSaleWallet = _bbPublicSaleWallet; saleStartTime = startTime; saleEndTime = endTime; transferOwnership(admin); // admin could drain tokens that were sent here by mistake } function setTimeSale(uint startTime, uint endTime) onlyOwner public { require (now < saleStartTime || now > saleEndTime); require (now < startTime); require ( startTime < endTime); saleStartTime = startTime; saleEndTime = endTime; } function setTokenSaleContract(address _tokenSaleContract) onlyOwner public { // check address ! 0 require(_tokenSaleContract != address(0x0)); // do not allow run when saleStartTime <= now <= saleEndTime require (now < saleStartTime || now > saleEndTime); tokenSaleContract = _tokenSaleContract; } function transfer(address _to, uint _value) onlyWhenTransferEnabled validDestination(_to) validFrom(msg.sender) public returns (bool) { if (msg.sender == bbFounderCoreStaffWallet || msg.sender == bbAdvisorWallet|| msg.sender == bbAirdropWallet|| msg.sender == bbNetworkGrowthWallet|| msg.sender == bbReserveWallet){ // check maxAllowedAmount var withdrawAmount = maxAllowedAmount[msg.sender]; var defaultAllowAmount = checkMaxAllowed(msg.sender); var maxAmount = defaultAllowAmount - withdrawAmount; // _value transfer must <= maxAmount require(maxAmount >= _value); // // if maxAmount = 0, need to block this msg.sender if(maxAmount==_value){ var isTransfer = super.transfer(_to, _value); // freeze account selfFreeze(true, 24 * 3600); // temp freeze account 24h maxAllowedAmount[msg.sender] = 0; return isTransfer; }else{ // set max withdrawAmount maxAllowedAmount[msg.sender] = maxAllowedAmount[msg.sender].add(_value); // } } return super.transfer(_to, _value); } function transferPrivateSale(address _to, uint _value) onlyOwner onlyPrivateListEnabled(_to) public returns (bool) { return transfer( _to, _value); } function transferFrom(address _from, address _to, uint _value) onlyWhenTransferEnabled validDestination(_to) validFrom(_from) public returns (bool) { if (_from == bbFounderCoreStaffWallet || _from == bbAdvisorWallet|| _from == bbAirdropWallet|| _from == bbNetworkGrowthWallet|| _from == bbReserveWallet){ // check maxAllowedAmount var withdrawAmount = maxAllowedAmount[_from]; var defaultAllowAmount = checkMaxAllowed(_from); var maxAmount = defaultAllowAmount - withdrawAmount; // _value transfer must <= maxAmount require(maxAmount >= _value); // if maxAmount = 0, need to block this _from if(maxAmount==_value){ var isTransfer = super.transfer(_to, _value); // freeze account selfFreeze(true, 24 * 3600); maxAllowedAmount[_from] = 0; return isTransfer; }else{ // set max withdrawAmount maxAllowedAmount[_from] = maxAllowedAmount[_from].add(_value); } } return super.transferFrom(_from, _to, _value); } event Burn(address indexed _burner, uint _value); function burn(uint _value) onlyWhenTransferEnabled public returns (bool){ balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply = totalSupply.sub(_value); Burn(msg.sender, _value); Transfer(msg.sender, address(0x0), _value); return true; } // save some gas by making only one contract call function burnFrom(address _from, uint256 _value) onlyWhenTransferEnabled public returns (bool) { assert( transferFrom( _from, msg.sender, _value ) ); return burn(_value); } function emergencyERC20Drain( ERC20 token, uint amount ) onlyOwner public { token.transfer( owner, amount ); } } contract BigbomTokenExtended is BigbomToken { BigbomToken public bigbomToken; function BigbomTokenExtended(uint startTime, uint endTime, address admin, address _bbFounderCoreStaffWallet, address _bbAdvisorWallet, address _bbAirdropWallet, address _bbNetworkGrowthWallet, address _bbReserveWallet, address _bbPublicSaleWallet, BigbomToken _bigbomToken ) public BigbomToken(startTime, endTime, admin, _bbFounderCoreStaffWallet, _bbAdvisorWallet, _bbAirdropWallet, _bbNetworkGrowthWallet, _bbReserveWallet, _bbPublicSaleWallet ){ bigbomToken = _bigbomToken; } event TokenDrop( address receiver, uint amount ); function airDrop(address[] recipients) public onlyOwner { for(uint i = 0 ; i < recipients.length ; i++){ uint amount = bigbomToken.balanceOf(recipients[i]); if (amount > 0){ // transfer(recipients[i], amount); TokenDrop( recipients[i], amount ); } } } modifier validFrozenAccount(address target) { if(frozenAccount[target]){ require(now >= frozenTime[target]); } _; } function selfFreeze(bool freeze, uint _seconds) validFrozenAccount(msg.sender) public { // selfFreeze cannot more than 7 days require(_seconds <= 7 * 24 * 3600); // if unfreeze if(!freeze){ // get End time of frozenAccount var frozenEndTime = frozenTime[msg.sender]; // if now > frozenEndTime require (now >= frozenEndTime); // unfreeze account frozenAccount[msg.sender] = freeze; // set time to 0 _seconds = 0; }else{ frozenAccount[msg.sender] = freeze; } // set endTime = now + _seconds to freeze frozenTime[msg.sender] = now + _seconds; FrozenFunds(msg.sender, freeze, _seconds); } function freezeAccount(address target, bool freeze, uint _seconds) onlyOwner validFrozenAccount(target) public { // if unfreeze if(!freeze){ // get End time of frozenAccount var frozenEndTime = frozenTime[target]; // if now > frozenEndTime require (now >= frozenEndTime); // unfreeze account frozenAccount[target] = freeze; // set time to 0 _seconds = 0; }else{ frozenAccount[target] = freeze; } // set endTime = now + _seconds to freeze frozenTime[target] = now + _seconds; FrozenFunds(target, freeze, _seconds); } } contract BigbomContributorWhiteList is Ownable { mapping(address=>uint) public addressMinCap; mapping(address=>uint) public addressMaxCap; function BigbomContributorWhiteList() public {} event ListAddress( address _user, uint _mincap, uint _maxcap, uint _time ); // Owner can delist by setting cap = 0. // Onwer can also change it at any time function listAddress( address _user, uint _mincap, uint _maxcap ) public onlyOwner { require(_mincap <= _maxcap); require(_user != address(0x0)); addressMinCap[_user] = _mincap; addressMaxCap[_user] = _maxcap; ListAddress( _user, _mincap, _maxcap, now ); } // an optimization in case of network congestion function listAddresses( address[] _users, uint[] _mincap, uint[] _maxcap ) public onlyOwner { require(_users.length == _mincap.length ); require(_users.length == _maxcap.length ); for( uint i = 0 ; i < _users.length ; i++ ) { listAddress( _users[i], _mincap[i], _maxcap[i] ); } } function getMinCap( address _user ) public constant returns(uint) { return addressMinCap[_user]; } function getMaxCap( address _user ) public constant returns(uint) { return addressMaxCap[_user]; } } contract BigbomCrowdSale{ address public admin; address public bigbomMultiSigWallet; BigbomTokenExtended public token; uint public raisedWei; bool public haltSale; uint public openSaleStartTime; uint public openSaleEndTime; uint public minGasPrice; uint public maxGasPrice; BigbomContributorWhiteList public list; mapping(address=>uint) public participated; mapping(string=>uint) depositTxMap; mapping(string=>uint) erc20Rate; using SafeMath for uint; function BigbomCrowdSale( address _admin, address _bigbomMultiSigWallet, BigbomContributorWhiteList _whilteListContract, uint _publicSaleStartTime, uint _publicSaleEndTime, BigbomTokenExtended _token) public { require (_publicSaleStartTime < _publicSaleEndTime); require (_admin != address(0x0)); require (_bigbomMultiSigWallet != address(0x0)); require (_whilteListContract != address(0x0)); require (_token != address(0x0)); admin = _admin; bigbomMultiSigWallet = _bigbomMultiSigWallet; list = _whilteListContract; openSaleStartTime = _publicSaleStartTime; openSaleEndTime = _publicSaleEndTime; token = _token; } function saleEnded() public constant returns(bool) { return now > openSaleEndTime; } function setMinGasPrice(uint price) public { require (msg.sender == admin); minGasPrice = price; } function setMaxGasPrice(uint price) public { require (msg.sender == admin); maxGasPrice = price; } function saleStarted() public constant returns(bool) { return now >= openSaleStartTime; } function setHaltSale( bool halt ) public { require( msg.sender == admin ); haltSale = halt; } // this is a seperate function so user could query it before crowdsale starts function contributorMinCap( address contributor ) public constant returns(uint) { return list.getMinCap( contributor ); } function contributorMaxCap( address contributor, uint amountInWei ) public constant returns(uint) { uint cap = list.getMaxCap( contributor ); if( cap == 0 ) return 0; uint remainedCap = cap.sub( participated[ contributor ] ); if( remainedCap > amountInWei ) return amountInWei; else return remainedCap; } function checkMaxCap( address contributor, uint amountInWei ) internal returns(uint) { if( now > ( openSaleStartTime + 2 * 24 * 3600)) return 100e18; else{ uint result = contributorMaxCap( contributor, amountInWei ); participated[contributor] = participated[contributor].add( result ); return result; } } function() payable public { buy( msg.sender ); } function getBonus(uint _tokens) public pure returns (uint){ return _tokens.mul(10).div(100); } event Buy( address _buyer, uint _tokens, uint _payedWei, uint _bonus ); function buy( address recipient ) payable public returns(uint){ require( tx.gasprice <= maxGasPrice ); require( tx.gasprice >= minGasPrice ); require( ! haltSale ); require( saleStarted() ); require( ! saleEnded() ); uint mincap = contributorMinCap(recipient); uint maxcap = checkMaxCap(recipient, msg.value ); uint allowValue = msg.value; require( mincap > 0 ); require( maxcap > 0 ); // fail if msg.value < mincap require (msg.value >= mincap); // send to msg.sender, not to recipient if value > maxcap if(now <= openSaleStartTime + 2 * 24 * 3600) { if( msg.value > maxcap ) { allowValue = maxcap; //require (allowValue >= mincap); msg.sender.transfer( msg.value.sub( maxcap ) ); } } // send payment to wallet sendETHToMultiSig(allowValue); raisedWei = raisedWei.add( allowValue ); // 1ETH = 20000 BBO uint recievedTokens = allowValue.mul( 20000 ); // TODO bounce uint bonus = getBonus(recievedTokens); recievedTokens = recievedTokens.add(bonus); assert( token.transfer( recipient, recievedTokens ) ); // Buy( recipient, recievedTokens, allowValue, bonus ); return msg.value; } function sendETHToMultiSig( uint value ) internal { bigbomMultiSigWallet.transfer( value ); } event FinalizeSale(); // function is callable by everyone function finalizeSale() public { require( saleEnded() ); //require( msg.sender == admin ); // burn remaining tokens token.burn(token.balanceOf(this)); FinalizeSale(); } // ETH balance is always expected to be 0. // but in case something went wrong, we use this function to extract the eth. function emergencyDrain(ERC20 anyToken) public returns(bool){ require( msg.sender == admin ); require( saleEnded() ); if( this.balance > 0 ) { sendETHToMultiSig( this.balance ); } if( anyToken != address(0x0) ) { assert( anyToken.transfer(bigbomMultiSigWallet, anyToken.balanceOf(this)) ); } return true; } // just to check that funds goes to the right place // tokens are not given in return function debugBuy() payable public { require( msg.value > 0 ); sendETHToMultiSig( msg.value ); } function getErc20Rate(string erc20Name) public constant returns(uint){ return erc20Rate[erc20Name]; } function setErc20Rate(string erc20Name, uint rate) public{ require (msg.sender == admin); erc20Rate[erc20Name] = rate; } function getDepositTxMap(string _tx) public constant returns(uint){ return depositTxMap[_tx]; } event Erc20Buy( address _buyer, uint _tokens, uint _payedWei, uint _bonus, string depositTx ); event Erc20Refund( address _buyer, uint _erc20RefundAmount, string _erc20Name ); function erc20Buy( address recipient, uint erc20Amount, string erc20Name, string depositTx ) public returns(uint){ require (msg.sender == admin); //require( tx.gasprice <= 50000000000 wei ); require( ! haltSale ); require( saleStarted() ); require( ! saleEnded() ); uint ethAmount = getErc20Rate(erc20Name) * erc20Amount / 1e18; uint mincap = contributorMinCap(recipient); uint maxcap = checkMaxCap(recipient, ethAmount ); require (getDepositTxMap(depositTx) == 0); require (ethAmount > 0); uint allowValue = ethAmount; require( mincap > 0 ); require( maxcap > 0 ); // fail if msg.value < mincap require (ethAmount >= mincap); // send to msg.sender, not to recipient if value > maxcap if(now <= openSaleStartTime + 2 * 24 * 3600) { if( ethAmount > maxcap ) { allowValue = maxcap; //require (allowValue >= mincap); // send event refund // msg.sender.transfer( ethAmount.sub( maxcap ) ); uint erc20RefundAmount = ethAmount.sub( maxcap ).mul(1e18).div(getErc20Rate(erc20Name)); Erc20Refund(recipient, erc20RefundAmount, erc20Name); } } raisedWei = raisedWei.add( allowValue ); // 1ETH = 20000 BBO uint recievedTokens = allowValue.mul( 20000 ); // TODO bounce uint bonus = getBonus(recievedTokens); recievedTokens = recievedTokens.add(bonus); assert( token.transfer( recipient, recievedTokens ) ); // set tx depositTxMap[depositTx] = ethAmount; // Erc20Buy( recipient, recievedTokens, allowValue, bonus, depositTx); return allowValue; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"openSaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"contributor","type":"address"},{"name":"amountInWei","type":"uint256"}],"name":"contributorMaxCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"list","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"contributor","type":"address"}],"name":"contributorMinCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxGasPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"getBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"finalizeSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"haltSale","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"erc20Name","type":"string"},{"name":"rate","type":"uint256"}],"name":"setErc20Rate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"halt","type":"bool"}],"name":"setHaltSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"anyToken","type":"address"}],"name":"emergencyDrain","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"price","type":"uint256"}],"name":"setMinGasPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tx","type":"string"}],"name":"getDepositTxMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bigbomMultiSigWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"debugBuy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"participated","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"raisedWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"price","type":"uint256"}],"name":"setMaxGasPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minGasPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"erc20Name","type":"string"}],"name":"getErc20Rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"openSaleEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"erc20Amount","type":"uint256"},{"name":"erc20Name","type":"string"},{"name":"depositTx","type":"string"}],"name":"erc20Buy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_admin","type":"address"},{"name":"_bigbomMultiSigWallet","type":"address"},{"name":"_whilteListContract","type":"address"},{"name":"_publicSaleStartTime","type":"uint256"},{"name":"_publicSaleEndTime","type":"uint256"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_payedWei","type":"uint256"},{"indexed":false,"name":"_bonus","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[],"name":"FinalizeSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_payedWei","type":"uint256"},{"indexed":false,"name":"_bonus","type":"uint256"},{"indexed":false,"name":"depositTx","type":"string"}],"name":"Erc20Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_erc20RefundAmount","type":"uint256"},{"indexed":false,"name":"_erc20Name","type":"string"}],"name":"Erc20Refund","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60405160c080611fff83398101604052808051906020019091908051906020019091908051906020019091908051906020019091908051906020019091908051906020019091905050818310151561006657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515156100a257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156100de57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561011a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561015657600080fd5b856000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826005819055508160068190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050611d838061027c6000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e31691461016b5780630992e4c3146101945780630f560cd7146101ea578063361b94be1461023f5780633de39c111461028c5780634aa66b28146102b557806358a687ec146102ec5780635c474f9e146103015780635fbaa3901461032e57806361ef8d911461035b57806362aac84d146103c157806371a18bfb146103e657806390ac1866146104375780639b8906ae1461045a5780639d119a7b14610487578063a6f07a5c146104f8578063b1f561871461054d578063b3bd870a14610557578063bc59d45a146105a4578063d2fa635e146105cd578063d96ed505146105f0578063e00be2a914610619578063e58018c51461068a578063f088d547146106b3578063f851a440146106f5578063faa5ca931461074a578063fc0c546a14610826575b6101683361087b565b50005b341561017657600080fd5b61017e610b72565b6040518082815260200191505060405180910390f35b341561019f57600080fd5b6101d4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b78565b6040518082815260200191505060405180910390f35b34156101f557600080fd5b6101fd610ce1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024a57600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d07565b6040518082815260200191505060405180910390f35b341561029757600080fd5b61029f610df0565b6040518082815260200191505060405180910390f35b34156102c057600080fd5b6102d66004808035906020019091905050610df6565b6040518082815260200191505060405180910390f35b34156102f757600080fd5b6102ff610e26565b005b341561030c57600080fd5b610314610ffb565b604051808215151515815260200191505060405180910390f35b341561033957600080fd5b610341611008565b604051808215151515815260200191505060405180910390f35b341561036657600080fd5b6103bf600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061101b565b005b34156103cc57600080fd5b6103e4600480803515159060200190919050506110ea565b005b34156103f157600080fd5b61041d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611162565b604051808215151515815260200191505060405180910390f35b341561044257600080fd5b6104586004808035906020019091905050611400565b005b341561046557600080fd5b61046d611465565b604051808215151515815260200191505060405180910390f35b341561049257600080fd5b6104e2600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611471565b6040518082815260200191505060405180910390f35b341561050357600080fd5b61050b6114e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61055561150c565b005b341561056257600080fd5b61058e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611526565b6040518082815260200191505060405180910390f35b34156105af57600080fd5b6105b761153e565b6040518082815260200191505060405180910390f35b34156105d857600080fd5b6105ee6004808035906020019091905050611544565b005b34156105fb57600080fd5b6106036115a9565b6040518082815260200191505060405180910390f35b341561062457600080fd5b610674600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506115af565b6040518082815260200191505060405180910390f35b341561069557600080fd5b61069d611624565b6040518082815260200191505060405180910390f35b6106df600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061087b565b6040518082815260200191505060405180910390f35b341561070057600080fd5b61070861162a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561075557600080fd5b610810600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061164f565b6040518082815260200191505060405180910390f35b341561083157600080fd5b610839611b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000806008543a1115151561089557600080fd5b6007543a101515156108a657600080fd5b600460009054906101000a900460ff161515156108c257600080fd5b6108ca610ffb565b15156108d557600080fd5b6108dd611465565b1515156108e957600080fd5b6108f287610d07565b94506108fe8734611b96565b935034925060008511151561091257600080fd5b60008411151561092157600080fd5b84341015151561093057600080fd5b6202a300600554014211151561099f578334111561099e578392503373ffffffffffffffffffffffffffffffffffffffff166108fc6109788634611c6590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050151561099d57600080fd5b5b5b6109a883611c7e565b6109bd83600354611ce390919063ffffffff16565b6003819055506109d8614e2084611d0190919063ffffffff16565b91506109e382610df6565b90506109f88183611ce390919063ffffffff16565b9150600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ac757600080fd5b6102c65a03f11515610ad857600080fd5b505050604051805190501515610aea57fe5b7fbeae048c6d270d9469f86cf6e8fedda3c60ad770f16c24c9fc131c8e9a09101d87838584604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a13495505050505050919050565b60055481565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394a5601a866000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c4257600080fd5b6102c65a03f11515610c5357600080fd5b5050506040518051905091506000821415610c715760009250610cd9565b610cc3600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611c6590919063ffffffff16565b905083811115610cd557839250610cd9565b8092505b505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330184635836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610dce57600080fd5b6102c65a03f11515610ddf57600080fd5b505050604051805190509050919050565b60085481565b6000610e1f6064610e11600a85611d0190919063ffffffff16565b611d3c90919063ffffffff16565b9050919050565b610e2e611465565b1515610e3957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610f3c57600080fd5b6102c65a03f11515610f4d57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610fb157600080fd5b6102c65a03f11515610fc257600080fd5b50505060405180519050507f49943394d1d9872d58364da1ca74d2b7af3f9be1146ac3c37513b0b1cb97ae2b60405160405180910390a1565b6000600554421015905090565b600460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561107657600080fd5b80600c836040518082805190602001908083835b6020831015156110af578051825260208201915060208101905060208303925061108a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114557600080fd5b80600460006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111bf57600080fd5b6111c7611465565b15156111d257600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311115611213576112123073ffffffffffffffffffffffffffffffffffffffff1631611c7e565b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415156113f7578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561132b57600080fd5b6102c65a03f1151561133c57600080fd5b505050604051805190506000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156113d357600080fd5b6102c65a03f115156113e457600080fd5b5050506040518051905015156113f657fe5b5b60019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145b57600080fd5b8060078190555050565b60006006544211905090565b6000600b826040518082805190602001908083835b6020831015156114ab5780518252602082019150602081019050602083039250611486565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003411151561151b57600080fd5b61152434611c7e565b565b600a6020528060005260406000206000915090505481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b8060088190555050565b60075481565b6000600c826040518082805190602001908083835b6020831015156115e957805182526020820191506020810190506020830392506115c4565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b657600080fd5b600460009054906101000a900460ff161515156116d257600080fd5b6116da610ffb565b15156116e557600080fd5b6116ed611465565b1515156116f957600080fd5b670de0b6b3a76400008b61170c8c6115af565b0281151561171657fe5b0496506117228c610d07565b955061172e8c88611b96565b9450600061173b8a611471565b14151561174757600080fd5b60008711151561175657600080fd5b86935060008611151561176857600080fd5b60008511151561177757600080fd5b85871015151561178657600080fd5b6202a30060055401421115156118c457848711156118c3578493506117e86117ad8b6115af565b6117da670de0b6b3a76400006117cc898c611c6590919063ffffffff16565b611d0190919063ffffffff16565b611d3c90919063ffffffff16565b92507ffe0a8f4e854dce6fd77c228c356fca4c780240591431bf89efd9b49fae21c6878c848c604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561188657808201518184015260208101905061186b565b50505050905090810190601f1680156118b35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b5b6118d984600354611ce390919063ffffffff16565b6003819055506118f4614e2085611d0190919063ffffffff16565b91506118ff82610df6565b90506119148183611ce390919063ffffffff16565b9150600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8d846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119e357600080fd5b6102c65a03f115156119f457600080fd5b505050604051805190501515611a0657fe5b86600b8a6040518082805190602001908083835b602083101515611a3f5780518252602082019150602081019050602083039250611a1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055507ff25d3860625e04323372db6e6d9c615084035d7493695cb9571d947e5d3ebcb88c8386848d604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b20578082015181840152602081019050611b05565b50505050905090810190601f168015611b4d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a183975050505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806202a30060055401421115611bb95768056bc75e2d631000009150611c5e565b611bc38484610b78565b9050611c1781600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce390919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508091505b5092915050565b6000828211151515611c7357fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611ce057600080fd5b50565b6000808284019050838110151515611cf757fe5b8091505092915050565b6000806000841415611d165760009150611d35565b8284029050828482811515611d2757fe5b04141515611d3157fe5b8091505b5092915050565b6000808284811515611d4a57fe5b04905080915050929150505600a165627a7a723058208d005959bce1f9386f51b7f72fc2fb3c7ba7bd6526912fd56f10ac0ac3056b3d002900000000000000000000000089c2d4d6208b089b31007152f85f233743e127e7000000000000000000000000d55f05640f758b27c5cf33523c3ad41b3d725c8000000000000000000000000035b59527647cff6be6dfca8c9519feb77dc575ea000000000000000000000000000000000000000000000000000000005b0bd320000000000000000000000000000000000000000000000000000000005b1cf6a000000000000000000000000084f7c44b6fed1080f647e354d552595be2cc602f
Deployed Bytecode
0x60606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e31691461016b5780630992e4c3146101945780630f560cd7146101ea578063361b94be1461023f5780633de39c111461028c5780634aa66b28146102b557806358a687ec146102ec5780635c474f9e146103015780635fbaa3901461032e57806361ef8d911461035b57806362aac84d146103c157806371a18bfb146103e657806390ac1866146104375780639b8906ae1461045a5780639d119a7b14610487578063a6f07a5c146104f8578063b1f561871461054d578063b3bd870a14610557578063bc59d45a146105a4578063d2fa635e146105cd578063d96ed505146105f0578063e00be2a914610619578063e58018c51461068a578063f088d547146106b3578063f851a440146106f5578063faa5ca931461074a578063fc0c546a14610826575b6101683361087b565b50005b341561017657600080fd5b61017e610b72565b6040518082815260200191505060405180910390f35b341561019f57600080fd5b6101d4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b78565b6040518082815260200191505060405180910390f35b34156101f557600080fd5b6101fd610ce1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024a57600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d07565b6040518082815260200191505060405180910390f35b341561029757600080fd5b61029f610df0565b6040518082815260200191505060405180910390f35b34156102c057600080fd5b6102d66004808035906020019091905050610df6565b6040518082815260200191505060405180910390f35b34156102f757600080fd5b6102ff610e26565b005b341561030c57600080fd5b610314610ffb565b604051808215151515815260200191505060405180910390f35b341561033957600080fd5b610341611008565b604051808215151515815260200191505060405180910390f35b341561036657600080fd5b6103bf600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061101b565b005b34156103cc57600080fd5b6103e4600480803515159060200190919050506110ea565b005b34156103f157600080fd5b61041d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611162565b604051808215151515815260200191505060405180910390f35b341561044257600080fd5b6104586004808035906020019091905050611400565b005b341561046557600080fd5b61046d611465565b604051808215151515815260200191505060405180910390f35b341561049257600080fd5b6104e2600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611471565b6040518082815260200191505060405180910390f35b341561050357600080fd5b61050b6114e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61055561150c565b005b341561056257600080fd5b61058e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611526565b6040518082815260200191505060405180910390f35b34156105af57600080fd5b6105b761153e565b6040518082815260200191505060405180910390f35b34156105d857600080fd5b6105ee6004808035906020019091905050611544565b005b34156105fb57600080fd5b6106036115a9565b6040518082815260200191505060405180910390f35b341561062457600080fd5b610674600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506115af565b6040518082815260200191505060405180910390f35b341561069557600080fd5b61069d611624565b6040518082815260200191505060405180910390f35b6106df600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061087b565b6040518082815260200191505060405180910390f35b341561070057600080fd5b61070861162a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561075557600080fd5b610810600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061164f565b6040518082815260200191505060405180910390f35b341561083157600080fd5b610839611b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000806000806000806008543a1115151561089557600080fd5b6007543a101515156108a657600080fd5b600460009054906101000a900460ff161515156108c257600080fd5b6108ca610ffb565b15156108d557600080fd5b6108dd611465565b1515156108e957600080fd5b6108f287610d07565b94506108fe8734611b96565b935034925060008511151561091257600080fd5b60008411151561092157600080fd5b84341015151561093057600080fd5b6202a300600554014211151561099f578334111561099e578392503373ffffffffffffffffffffffffffffffffffffffff166108fc6109788634611c6590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050151561099d57600080fd5b5b5b6109a883611c7e565b6109bd83600354611ce390919063ffffffff16565b6003819055506109d8614e2084611d0190919063ffffffff16565b91506109e382610df6565b90506109f88183611ce390919063ffffffff16565b9150600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610ac757600080fd5b6102c65a03f11515610ad857600080fd5b505050604051805190501515610aea57fe5b7fbeae048c6d270d9469f86cf6e8fedda3c60ad770f16c24c9fc131c8e9a09101d87838584604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a13495505050505050919050565b60055481565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394a5601a866000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c4257600080fd5b6102c65a03f11515610c5357600080fd5b5050506040518051905091506000821415610c715760009250610cd9565b610cc3600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611c6590919063ffffffff16565b905083811115610cd557839250610cd9565b8092505b505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330184635836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610dce57600080fd5b6102c65a03f11515610ddf57600080fd5b505050604051805190509050919050565b60085481565b6000610e1f6064610e11600a85611d0190919063ffffffff16565b611d3c90919063ffffffff16565b9050919050565b610e2e611465565b1515610e3957600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610f3c57600080fd5b6102c65a03f11515610f4d57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610fb157600080fd5b6102c65a03f11515610fc257600080fd5b50505060405180519050507f49943394d1d9872d58364da1ca74d2b7af3f9be1146ac3c37513b0b1cb97ae2b60405160405180910390a1565b6000600554421015905090565b600460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561107657600080fd5b80600c836040518082805190602001908083835b6020831015156110af578051825260208201915060208101905060208303925061108a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114557600080fd5b80600460006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111bf57600080fd5b6111c7611465565b15156111d257600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff16311115611213576112123073ffffffffffffffffffffffffffffffffffffffff1631611c7e565b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415156113f7578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561132b57600080fd5b6102c65a03f1151561133c57600080fd5b505050604051805190506000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156113d357600080fd5b6102c65a03f115156113e457600080fd5b5050506040518051905015156113f657fe5b5b60019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145b57600080fd5b8060078190555050565b60006006544211905090565b6000600b826040518082805190602001908083835b6020831015156114ab5780518252602082019150602081019050602083039250611486565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003411151561151b57600080fd5b61152434611c7e565b565b600a6020528060005260406000206000915090505481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b8060088190555050565b60075481565b6000600c826040518082805190602001908083835b6020831015156115e957805182526020820191506020810190506020830392506115c4565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050919050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b657600080fd5b600460009054906101000a900460ff161515156116d257600080fd5b6116da610ffb565b15156116e557600080fd5b6116ed611465565b1515156116f957600080fd5b670de0b6b3a76400008b61170c8c6115af565b0281151561171657fe5b0496506117228c610d07565b955061172e8c88611b96565b9450600061173b8a611471565b14151561174757600080fd5b60008711151561175657600080fd5b86935060008611151561176857600080fd5b60008511151561177757600080fd5b85871015151561178657600080fd5b6202a30060055401421115156118c457848711156118c3578493506117e86117ad8b6115af565b6117da670de0b6b3a76400006117cc898c611c6590919063ffffffff16565b611d0190919063ffffffff16565b611d3c90919063ffffffff16565b92507ffe0a8f4e854dce6fd77c228c356fca4c780240591431bf89efd9b49fae21c6878c848c604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561188657808201518184015260208101905061186b565b50505050905090810190601f1680156118b35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b5b6118d984600354611ce390919063ffffffff16565b6003819055506118f4614e2085611d0190919063ffffffff16565b91506118ff82610df6565b90506119148183611ce390919063ffffffff16565b9150600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8d846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119e357600080fd5b6102c65a03f115156119f457600080fd5b505050604051805190501515611a0657fe5b86600b8a6040518082805190602001908083835b602083101515611a3f5780518252602082019150602081019050602083039250611a1a565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055507ff25d3860625e04323372db6e6d9c615084035d7493695cb9571d947e5d3ebcb88c8386848d604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b20578082015181840152602081019050611b05565b50505050905090810190601f168015611b4d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a183975050505050505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806202a30060055401421115611bb95768056bc75e2d631000009150611c5e565b611bc38484610b78565b9050611c1781600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ce390919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508091505b5092915050565b6000828211151515611c7357fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611ce057600080fd5b50565b6000808284019050838110151515611cf757fe5b8091505092915050565b6000806000841415611d165760009150611d35565b8284029050828482811515611d2757fe5b04141515611d3157fe5b8091505b5092915050565b6000808284811515611d4a57fe5b04905080915050929150505600a165627a7a723058208d005959bce1f9386f51b7f72fc2fb3c7ba7bd6526912fd56f10ac0ac3056b3d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000089c2d4d6208b089b31007152f85f233743e127e7000000000000000000000000d55f05640f758b27c5cf33523c3ad41b3d725c8000000000000000000000000035b59527647cff6be6dfca8c9519feb77dc575ea000000000000000000000000000000000000000000000000000000005b0bd320000000000000000000000000000000000000000000000000000000005b1cf6a000000000000000000000000084f7c44b6fed1080f647e354d552595be2cc602f
-----Decoded View---------------
Arg [0] : _admin (address): 0x89c2d4D6208b089B31007152f85F233743e127e7
Arg [1] : _bigbomMultiSigWallet (address): 0xD55F05640F758b27C5Cf33523c3AD41B3D725c80
Arg [2] : _whilteListContract (address): 0x35B59527647cFF6Be6dFCA8C9519FeB77DC575eA
Arg [3] : _publicSaleStartTime (uint256): 1527501600
Arg [4] : _publicSaleEndTime (uint256): 1528624800
Arg [5] : _token (address): 0x84F7c44B6Fed1080f647E354D552595be2Cc602F
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000089c2d4d6208b089b31007152f85f233743e127e7
Arg [1] : 000000000000000000000000d55f05640f758b27c5cf33523c3ad41b3d725c80
Arg [2] : 00000000000000000000000035b59527647cff6be6dfca8c9519feb77dc575ea
Arg [3] : 000000000000000000000000000000000000000000000000000000005b0bd320
Arg [4] : 000000000000000000000000000000000000000000000000000000005b1cf6a0
Arg [5] : 00000000000000000000000084f7c44b6fed1080f647e354d552595be2cc602f
Swarm Source
bzzr://8d005959bce1f9386f51b7f72fc2fb3c7ba7bd6526912fd56f10ac0ac3056b3d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.