More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 279 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Block Call Pause... | 12823324 | 1240 days ago | IN | 0 ETH | 0.00184212 | ||||
Block Call Pause... | 12823324 | 1240 days ago | IN | 0 ETH | 0.00138648 | ||||
Transfer | 10384793 | 1616 days ago | IN | 0.005 ETH | 0.00113813 | ||||
Transfer | 10384782 | 1616 days ago | IN | 0.005 ETH | 0.000756 | ||||
Transfer | 7962114 | 1999 days ago | IN | 0.0007 ETH | 0.00013151 | ||||
Finish Mint | 7457458 | 2078 days ago | IN | 0 ETH | 0.00018802 | ||||
Mint Limit | 7457445 | 2078 days ago | IN | 0 ETH | 0.00035694 | ||||
Transfer | 7438045 | 2081 days ago | IN | 0.005 ETH | 0.00056606 | ||||
Transfer | 7361610 | 2093 days ago | IN | 0.00978112 ETH | 0.00037737 | ||||
Transfer | 7310465 | 2101 days ago | IN | 0.01309943 ETH | 0.00062895 | ||||
Mint Limit | 7270268 | 2108 days ago | IN | 0 ETH | 0.00097843 | ||||
Transfer | 7206731 | 2123 days ago | IN | 0.01011965 ETH | 0.00052832 | ||||
Transfer | 7206269 | 2123 days ago | IN | 0.00975858 ETH | 0.00062895 | ||||
Transfer | 7184292 | 2128 days ago | IN | 0.11183 ETH | 0.00056606 | ||||
Mint Limit | 7164623 | 2132 days ago | IN | 0 ETH | 0.0058706 | ||||
Transfer | 7158488 | 2133 days ago | IN | 0.01125 ETH | 0.00062895 | ||||
Transfer | 7154021 | 2134 days ago | IN | 0.05908425 ETH | 0.00075474 | ||||
Transfer | 7153513 | 2134 days ago | IN | 0.05591293 ETH | 0.00062895 | ||||
Transfer | 7153436 | 2134 days ago | IN | 0.01186342 ETH | 0.00069884 | ||||
Transfer | 7153418 | 2134 days ago | IN | 0.01184539 ETH | 0.00069884 | ||||
Transfer | 7152971 | 2134 days ago | IN | 0.01169105 ETH | 0.00050316 | ||||
Unpause Tokens | 7152786 | 2134 days ago | IN | 0 ETH | 0.00306078 | ||||
Mint Limit | 7152722 | 2134 days ago | IN | 0 ETH | 0.00437926 | ||||
Mint Limit | 7152694 | 2134 days ago | IN | 0 ETH | 0.0058706 | ||||
Mint Limit | 7152688 | 2134 days ago | IN | 0 ETH | 0.00586426 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
7438045 | 2081 days ago | 0.005 ETH | ||||
7361610 | 2093 days ago | 0.00978112 ETH | ||||
7310465 | 2101 days ago | 0.01309943 ETH | ||||
7206731 | 2123 days ago | 0.01011965 ETH | ||||
7206269 | 2123 days ago | 0.00975858 ETH | ||||
7184292 | 2128 days ago | 0.11183 ETH | ||||
7158488 | 2133 days ago | 0.01125 ETH | ||||
7154021 | 2134 days ago | 0.05908425 ETH | ||||
7153513 | 2134 days ago | 0.05591293 ETH | ||||
7153436 | 2134 days ago | 0.01186342 ETH | ||||
7153418 | 2134 days ago | 0.01184539 ETH | ||||
7152971 | 2134 days ago | 0.01169105 ETH | ||||
7113611 | 2142 days ago | 0.10713319 ETH | ||||
7100514 | 2145 days ago | 0.0531685 ETH | ||||
7072748 | 2150 days ago | 0.52686617 ETH | ||||
7071053 | 2150 days ago | 0.81 ETH | ||||
7064810 | 2151 days ago | 0.01411706 ETH | ||||
7060677 | 2152 days ago | 0.59955972 ETH | ||||
7060657 | 2152 days ago | 5.9995441 ETH | ||||
7060574 | 2152 days ago | 0.99962262 ETH | ||||
7060530 | 2152 days ago | 0.99966949 ETH | ||||
7060239 | 2152 days ago | 0.00767825 ETH | ||||
7059992 | 2152 days ago | 0.02 ETH | ||||
7054508 | 2153 days ago | 0.01 ETH | ||||
7049586 | 2154 days ago | 0.99970046 ETH |
Loading...
Loading
Contract Name:
COTCrowdsale
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-01 */ pragma solidity ^0.4.24; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() 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 relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @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 { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address _owner, address _spender) public view 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 ); } /** * @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 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } 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 _a / _b; } /** * @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 c) { c = _a + _b; assert(c >= _a); return c; } } /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { function safeTransfer( ERC20Basic _token, address _to, uint256 _value ) internal { require(_token.transfer(_to, _value)); } function safeTransferFrom( ERC20 _token, address _from, address _to, uint256 _value ) internal { require(_token.transferFrom(_from, _to, _value)); } function safeApprove( ERC20 _token, address _spender, uint256 _value ) internal { require(_token.approve(_spender, _value)); } } /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale, * allowing investors to purchase tokens with ether. This contract implements * such functionality in its most fundamental form and can be extended to provide additional * functionality and/or custom behavior. * The external interface represents the basic interface for purchasing tokens, and conform * the base architecture for crowdsales. They are *not* intended to be modified / overridden. * The internal interface conforms the extensible and modifiable surface of crowdsales. Override * the methods to add functionality. Consider using 'super' where appropriate to concatenate * behavior. */ contract Crowdsale { using SafeMath for uint256; using SafeERC20 for ERC20; // The token being sold ERC20 public token; // Address where funds are collected address public wallet; // How many token units a buyer gets per wei. // The rate is the conversion between wei and the smallest and indivisible token unit. // So, if you are using a rate of 1 with a DetailedERC20 token with 3 decimals called TOK // 1 wei will give you 1 unit, or 0.001 TOK. uint256 public rate; // Amount of wei raised uint256 public weiRaised; /** * Event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase( address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount ); /** * @param _rate Number of token units a buyer gets per wei * @param _wallet Address where collected funds will be forwarded to * @param _token Address of the token being sold */ constructor(uint256 _rate, address _wallet, ERC20 _token) public { require(_rate > 0); require(_wallet != address(0)); require(_token != address(0)); rate = _rate; wallet = _wallet; token = _token; } // ----------------------------------------- // Crowdsale external interface // ----------------------------------------- /** * @dev fallback function ***DO NOT OVERRIDE*** */ function () external payable { buyTokens(msg.sender); } /** * @dev low level token purchase ***DO NOT OVERRIDE*** * @param _beneficiary Address performing the token purchase */ function buyTokens(address _beneficiary) public payable { uint256 weiAmount = msg.value; _preValidatePurchase(_beneficiary, weiAmount); // calculate token amount to be created uint256 tokens = _getTokenAmount(weiAmount); // update state weiRaised = weiRaised.add(weiAmount); _processPurchase(_beneficiary, tokens); emit TokenPurchase( msg.sender, _beneficiary, weiAmount, tokens ); _updatePurchasingState(_beneficiary, weiAmount); _forwardFunds(); _postValidatePurchase(_beneficiary, weiAmount); } // ----------------------------------------- // Internal interface (extensible) // ----------------------------------------- /** * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met. Use `super` in contracts that inherit from Crowdsale to extend their validations. * Example from CappedCrowdsale.sol's _preValidatePurchase method: * super._preValidatePurchase(_beneficiary, _weiAmount); * require(weiRaised.add(_weiAmount) <= cap); * @param _beneficiary Address performing the token purchase * @param _weiAmount Value in wei involved in the purchase */ function _preValidatePurchase( address _beneficiary, uint256 _weiAmount ) internal { require(_beneficiary != address(0)); require(_weiAmount != 0); } /** * @dev Validation of an executed purchase. Observe state and use revert statements to undo rollback when valid conditions are not met. * @param _beneficiary Address performing the token purchase * @param _weiAmount Value in wei involved in the purchase */ function _postValidatePurchase( address _beneficiary, uint256 _weiAmount ) internal { // optional override } /** * @dev Source of tokens. Override this method to modify the way in which the crowdsale ultimately gets and sends its tokens. * @param _beneficiary Address performing the token purchase * @param _tokenAmount Number of tokens to be emitted */ function _deliverTokens( address _beneficiary, uint256 _tokenAmount ) internal { token.safeTransfer(_beneficiary, _tokenAmount); } /** * @dev Executed when a purchase has been validated and is ready to be executed. Not necessarily emits/sends tokens. * @param _beneficiary Address receiving the tokens * @param _tokenAmount Number of tokens to be purchased */ function _processPurchase( address _beneficiary, uint256 _tokenAmount ) internal { _deliverTokens(_beneficiary, _tokenAmount); } /** * @dev Override for extensions that require an internal state to check for validity (current user contributions, etc.) * @param _beneficiary Address receiving the tokens * @param _weiAmount Value in wei involved in the purchase */ function _updatePurchasingState( address _beneficiary, uint256 _weiAmount ) internal { // optional override } /** * @dev Override to extend the way in which ether is converted to tokens. * @param _weiAmount Value in wei to be converted into tokens * @return Number of tokens that can be purchased with the specified _weiAmount */ function _getTokenAmount(uint256 _weiAmount) internal view returns (uint256) { return _weiAmount.mul(rate); } /** * @dev Determines how ETH is stored/forwarded on purchases. */ function _forwardFunds() internal { wallet.transfer(msg.value); } } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @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(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit 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 view returns (uint256) { return balances[_owner]; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/issues/20 * 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)) internal 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(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit 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; emit 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 view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a 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 * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } modifier hasMintPermission() { require(msg.sender == owner); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint( address _to, uint256 _amount ) public hasMintPermission canMint returns (bool) { totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() public onlyOwner canMint returns (bool) { mintingFinished = true; emit MintFinished(); return true; } } /** * @title MintedCrowdsale * @dev Extension of Crowdsale contract whose tokens are minted in each purchase. * Token ownership should be transferred to MintedCrowdsale for minting. */ contract MintedCrowdsale is Crowdsale { /** * @dev Overrides delivery by minting tokens upon purchase. * @param _beneficiary Token purchaser * @param _tokenAmount Number of tokens to be minted */ function _deliverTokens( address _beneficiary, uint256 _tokenAmount ) internal { // Potentially dangerous assumption about the type of the token. require(MintableToken(address(token)).mint(_beneficiary, _tokenAmount)); } } /** * @title CappedCrowdsale * @dev Crowdsale with a limit for total contributions. */ contract CappedCrowdsale is Crowdsale { using SafeMath for uint256; uint256 public cap; /** * @dev Constructor, takes maximum amount of wei accepted in the crowdsale. * @param _cap Max amount of wei to be contributed */ constructor(uint256 _cap) public { require(_cap > 0); cap = _cap; } /** * @dev Checks whether the cap has been reached. * @return Whether the cap was reached */ function capReached() public view returns (bool) { return weiRaised >= cap; } /** * @dev Extend parent behavior requiring purchase to respect the funding cap. * @param _beneficiary Token purchaser * @param _weiAmount Amount of wei contributed */ function _preValidatePurchase( address _beneficiary, uint256 _weiAmount ) internal { super._preValidatePurchase(_beneficiary, _weiAmount); require(weiRaised.add(_weiAmount) <= cap); } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } /** * @title Pausable token * @dev StandardToken modified with pausable transfers. **/ contract PausableToken is StandardToken, Pausable { function transfer( address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom( address _from, address _to, uint256 _value ) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve( address _spender, uint256 _value ) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } function increaseApproval( address _spender, uint _addedValue ) public whenNotPaused returns (bool success) { return super.increaseApproval(_spender, _addedValue); } function decreaseApproval( address _spender, uint _subtractedValue ) public whenNotPaused returns (bool success) { return super.decreaseApproval(_spender, _subtractedValue); } } contract COTCrowdsale is Crowdsale, MintedCrowdsale, CappedCrowdsale, Ownable{ using SafeMath for uint256; uint256 private limit; uint256 private maxLimit; uint256 private minLimit; uint256 private limitAmount; uint256 private percent; uint256 private ICOrate; uint256 private limitTime; bool private isSetTime = false; bool private isCallPauseTokens = false; bool private isSetLimitAmount = false; uint256 private timeForISL; bool private isSetISLTime = false; constructor( uint256 _rate, address _wallet, ERC20 _token, uint256 _limit, uint256 _cap, uint256 _percent, uint256 _ICOrate, uint256 _limitTime, uint256 _timeForISL ) Crowdsale(_rate, _wallet, _token) CappedCrowdsale(_cap) public { maxLimit = _limit; limit = _limit.div(5); minLimit = _limit.div(5); limitAmount = _limit.div(10).div(5); percent = _percent; ICOrate = _ICOrate; limitTime = _limitTime; timeForISL = _timeForISL; } /* @dev Owner can reduce bonus percent 25% by default each call reduces of 1% */ function ReduceRate() public onlyOwner() { require(rate > ICOrate); uint256 totalPercent = ICOrate.div(100).mul(percent); rate = ICOrate.add(totalPercent); if (percent != 0) { percent = percent.sub(1); } } /* @dev Owner can reduce limit After call this function owner can not set new limit more than value of parametr previous call */ function ReduceMaxLimit(uint256 newlLimit) public onlyOwner() { uint256 totalLimit = maxLimit; require(newlLimit >= minLimit); require(newlLimit <= totalLimit); maxLimit = newlLimit; } /* @dev Owner can change time limit for call ISL() @param Unix Date */ function SetMintTimeLimit(uint256 newTime) public onlyOwner() { require(!isSetTime); limitTime = newTime; } /* @dev Owner can block SetMintTimeLimit() FOREVER */ function blockSetMintTimeLimit() public onlyOwner() { isSetTime = true; } /* @dev View status about the possibility of calling of SetMintTimeLimit function */ function isblockSetMintTimeLimit() public view returns (bool) { return isSetTime; } /* @dev Owner can add 2B (by Default) to limit per 3 month, 100B maximum tokens limit (can be reduce via ReduceMaxLimit) */ function ISL() public onlyOwner() { require(now >= limitTime); require(limit < maxLimit); limit = limit.add(limitAmount); limitTime = now + timeForISL; } /* @dev Owner can change time ISL for next call @param time in seconds */ function SetISLTime(uint256 newTime) public onlyOwner() { require(!isSetISLTime); timeForISL = newTime; } /* @dev Owner can block SetISLTime */ function blockSetISLTime() public onlyOwner() { isSetISLTime = true; limitAmount = minLimit.div(10); } /* @dev View status about the possibility of calling of SetISLTime function */ function isblockSetISLTime() public view returns (bool) { return isSetISLTime; } /* @dev View value of timeForISL return time in secods */ function ReturnISLDays() public view returns (uint256) { return timeForISL; } /* @dev Owner can change Limit amount for ISL can NOT set more that 100B anyway */ function SetLimitAmount(uint256 amount) public onlyOwner() { require(!isSetLimitAmount); uint256 max = maxLimit; uint256 total = limit; require(max > amount); if(total.add(amount) > max){ amount = 0; } require(amount > 0); limitAmount = amount; } /* @dev Owner can block SetLimitAmount set 2B by default after block */ function blockSetLimitAmount() public onlyOwner() { isSetLimitAmount = true; limitAmount = minLimit.div(10); } /* @dev View status about the possibility of calling of SetLimitAmount function */ function isblockSetLimitAmount() public view returns (bool) { return isSetLimitAmount; } /* @dev Owner can mint new Tokens up to a certain limit @param _beneficiary - receiver @param _tokenAmount - amount */ function MintLimit( address _beneficiary, uint256 _tokenAmount ) public onlyOwner() { uint256 _limit = ReturnLimit(); uint256 total = token.totalSupply(); require(total < _limit); if(_tokenAmount.add(total) > _limit ){ _tokenAmount = 0; } require(_tokenAmount > 0); require(MintableToken(address(token)).mint(_beneficiary, _tokenAmount)); } /* @dev Get amount of total limit for MintLimit function */ function ReturnLimit() public view returns (uint256) { return limit; } /* @dev View amount of minLimit */ function ReturnMinLimit() public view returns (uint256) { return minLimit; } /* @dev View amount of maxLimit */ function ReturnMaxLimit() public view returns (uint256) { return maxLimit; } /* @dev return unix Date time when ISL can be call */ function iSLDate() public view returns (uint256) { return limitTime; } /* @dev owner sale can pause Token only through contract sale */ function pauseTokens() public onlyOwner() { require(!isCallPauseTokens); PausableToken(address(token)).pause(); } /* @dev owner sale can unpause Token only through contract sale */ function unpauseTokens() public onlyOwner() { PausableToken(address(token)).unpause(); } /* @dev Owner can block call pauseTokens FOREVER */ function blockCallPauseTokens() public onlyOwner() { isCallPauseTokens = true; } /* @dev view status about the possibility of calling pauseTokens() */ function isblockCallPauseTokens() public view returns (bool) { return isCallPauseTokens; } /* @dev owner sale can finish mint FOREVER */ function finishMint() public onlyOwner() { MintableToken(address(token)).finishMinting(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"ReturnMinLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"SetLimitAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newlLimit","type":"uint256"}],"name":"ReduceMaxLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTime","type":"uint256"}],"name":"SetMintTimeLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isblockSetISLTime","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTime","type":"uint256"}],"name":"SetISLTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"capReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"iSLDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"blockSetISLTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isblockSetMintTimeLimit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_tokenAmount","type":"uint256"}],"name":"MintLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"blockSetLimitAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isblockSetLimitAmount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ReturnMaxLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ReturnLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"blockSetMintTimeLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpauseTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ReturnISLDays","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isblockCallPauseTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"ReduceRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pauseTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"blockCallPauseTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ISL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_rate","type":"uint256"},{"name":"_wallet","type":"address"},{"name":"_token","type":"address"},{"name":"_limit","type":"uint256"},{"name":"_cap","type":"uint256"},{"name":"_percent","type":"uint256"},{"name":"_ICOrate","type":"uint256"},{"name":"_limitTime","type":"uint256"},{"name":"_timeForISL","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"}]
Contract Creation Code
6080604052600d805462ffffff19169055600f805460ff191690553480156200002757600080fd5b50604051610120806200107b83398101604090815281516020830151918301516060840151608085015160a086015160c087015160e08801516101009098015195979495939492939192909184898989600083116200008557600080fd5b600160a060020a03821615156200009b57600080fd5b600160a060020a0381161515620000b157600080fd5b60029290925560018054600160a060020a03928316600160a060020a031991821617909155600080549290931691161781558111620000ef57600080fd5b60045560058054600160a060020a0319163317815560078790556200012490879064010000000062000cf56200019c82021704565b6006556200014286600564010000000062000cf56200019c82021704565b6008556200017b60056200016688600a64010000000062000cf56200019c82021704565b9064010000000062000cf56200019c82021704565b600955600a93909355600b91909155600c55600e5550620001b29350505050565b60008183811515620001aa57fe5b049392505050565b610eb980620001c26000396000f3006080604052600436106101875763ffffffff60e060020a6000350416630f7da56a81146101925780631f7ea074146101b957806322fa7cdb146101d157806323466e06146101e95780632c4e722e14610201578063355274ea146102165780634042b66f1461022b57806345a3b588146102405780634ead4395146102695780634f93594514610281578063521eb2731461029657806361aab82a146102c75780636bd9290a146102dc57806370d1fbc1146102f1578063715018a614610306578063788d25561461031b5780637a34abfe1461033f5780638cb8a866146103545780638da5cb5b14610369578063991524461461037e5780639c49eefd14610393578063a1d8ab33146103a8578063a417357c146103bd578063abe7691e146103d2578063b646eeef146103e7578063dfb81a9c146103fc578063e4cc18be14610411578063e5e231dd14610426578063ec8ac4d81461043b578063ed0722801461044f578063f279c9e014610464578063f2fde38b14610479578063fc0c546a1461049a575b610190336104af565b005b34801561019e57600080fd5b506101a7610551565b60408051918252519081900360200190f35b3480156101c557600080fd5b50610190600435610557565b3480156101dd57600080fd5b506101906004356105cd565b3480156101f557600080fd5b5061019060043561060d565b34801561020d57600080fd5b506101a7610639565b34801561022257600080fd5b506101a761063f565b34801561023757600080fd5b506101a7610645565b34801561024c57600080fd5b5061025561064b565b604080519115158252519081900360200190f35b34801561027557600080fd5b50610190600435610654565b34801561028d57600080fd5b50610255610680565b3480156102a257600080fd5b506102ab61068b565b60408051600160a060020a039092168252519081900360200190f35b3480156102d357600080fd5b506101a761069a565b3480156102e857600080fd5b506101906106a0565b3480156102fd57600080fd5b506102556106dd565b34801561031257600080fd5b506101906106e6565b34801561032757600080fd5b50610190600160a060020a0360043516602435610754565b34801561034b57600080fd5b506101906108de565b34801561036057600080fd5b5061025561091a565b34801561037557600080fd5b506102ab610929565b34801561038a57600080fd5b506101a7610938565b34801561039f57600080fd5b506101a761093e565b3480156103b457600080fd5b50610190610944565b3480156103c957600080fd5b5061019061096a565b3480156103de57600080fd5b506101a76109ef565b3480156103f357600080fd5b506102556109f5565b34801561040857600080fd5b50610190610a03565b34801561041d57600080fd5b50610190610a91565b34801561043257600080fd5b50610190610b28565b610190600160a060020a03600435166104af565b34801561045b57600080fd5b50610190610bae565b34801561047057600080fd5b50610190610bd6565b34801561048557600080fd5b50610190600160a060020a0360043516610c2e565b3480156104a657600080fd5b506102ab610c4e565b3460006104bc8383610c5d565b6104c582610c88565b6003549091506104db908363ffffffff610ca516565b6003556104e88382610cb2565b60408051838152602081018390528151600160a060020a0386169233927f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18929081900390910190a361053a8383610b24565b610542610cbc565b61054c8383610b24565b505050565b60085490565b6005546000908190600160a060020a0316331461057357600080fd5b600d5462010000900460ff161561058957600080fd5b505060075460065482821161059d57600080fd5b816105ae828563ffffffff610ca516565b11156105b957600092505b600083116105c657600080fd5b5050600955565b600554600090600160a060020a031633146105e757600080fd5b506007546008548210156105fa57600080fd5b8082111561060757600080fd5b50600755565b600554600160a060020a0316331461062457600080fd5b600d5460ff161561063457600080fd5b600c55565b60025481565b60045481565b60035481565b600f5460ff1690565b600554600160a060020a0316331461066b57600080fd5b600f5460ff161561067b57600080fd5b600e55565b600454600354101590565b600154600160a060020a031681565b600c5490565b600554600160a060020a031633146106b757600080fd5b600f805460ff191660011790556008546106d890600a63ffffffff610cf516565b600955565b600d5460ff1690565b600554600160a060020a031633146106fd57600080fd5b600554604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26005805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005546000908190600160a060020a0316331461077057600080fd5b61077861093e565b91506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050506040513d60208110156107f657600080fd5b5051905081811061080657600080fd5b81610817848363ffffffff610ca516565b111561082257600092505b6000831161082f57600080fd5b60008054604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915191909216926340c10f1992604480820193602093909283900390910190829087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b505115156108d857600080fd5b50505050565b600554600160a060020a031633146108f557600080fd5b600d805462ff00001916620100001790556008546106d890600a63ffffffff610cf516565b600d5462010000900460ff1690565b600554600160a060020a031681565b60075490565b60065490565b600554600160a060020a0316331461095b57600080fd5b600d805460ff19166001179055565b600554600160a060020a0316331461098157600080fd5b60008054604080517f3f4ba83a0000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692633f4ba83a9260048084019382900301818387803b1580156109db57600080fd5b505af11580156108d8573d6000803e3d6000fd5b600e5490565b600d54610100900460ff1690565b600554600090600160a060020a03163314610a1d57600080fd5b600b5460025411610a2d57600080fd5b610a55600a54610a496064600b54610cf590919063ffffffff16565b9063ffffffff610d0a16565b600b54909150610a6b908263ffffffff610ca516565b600255600a5415610a8e57600a54610a8a90600163ffffffff610d3316565b600a555b50565b600554600160a060020a03163314610aa857600080fd5b6000809054906101000a9004600160a060020a0316600160a060020a0316637d64bcb46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610afa57600080fd5b505af1158015610b0e573d6000803e3d6000fd5b505050506040513d6020811015610b2457600080fd5b5050565b600554600160a060020a03163314610b3f57600080fd5b600d54610100900460ff1615610b5457600080fd5b60008054604080517f8456cb590000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692638456cb599260048084019382900301818387803b1580156109db57600080fd5b600554600160a060020a03163314610bc557600080fd5b600d805461ff001916610100179055565b600554600160a060020a03163314610bed57600080fd5b600c54421015610bfc57600080fd5b60075460065410610c0c57600080fd5b600954600654610c219163ffffffff610ca516565b600655600e544201600c55565b600554600160a060020a03163314610c4557600080fd5b610a8e81610d45565b600054600160a060020a031681565b610c678282610dc3565b600454600354610c7d908363ffffffff610ca516565b1115610b2457600080fd5b6000610c9f60025483610d0a90919063ffffffff16565b92915050565b81810182811015610c9f57fe5b610b248282610de4565b600154604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015610a8e573d6000803e3d6000fd5b60008183811515610d0257fe5b049392505050565b6000821515610d1b57506000610c9f565b50818102818382811515610d2b57fe5b0414610c9f57fe5b600082821115610d3f57fe5b50900390565b600160a060020a0381161515610d5a57600080fd5b600554604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a0382161515610dd857600080fd5b801515610b2457600080fd5b60008054604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052915191909216926340c10f1992604480820193602093909283900390910190829087803b158015610e5657600080fd5b505af1158015610e6a573d6000803e3d6000fd5b505050506040513d6020811015610e8057600080fd5b50511515610b2457600080fd00a165627a7a72305820859c8fb7ebb098320fa873aaa0ab72fdd5901278ff7de9b12c7268947e6dba0b002900000000000000000000000000000000000000000000000000000000001ab3f00000000000000000000000001081afed63e1e3b6251c9961feb83d82bc32a1cb0000000000000000000000005c872500c00565505f3624ab435c222e558e9ff80000000000000000000000000000000000000001431e0fae6d7217caa00000000000000000000000000000000000000000000000000000a2a15d09519be0000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000155cc0000000000000000000000000000000000000000000000000000000005c51edc2000000000000000000000000000000000000000000000000000000000076a700
Deployed Bytecode
0x6080604052600436106101875763ffffffff60e060020a6000350416630f7da56a81146101925780631f7ea074146101b957806322fa7cdb146101d157806323466e06146101e95780632c4e722e14610201578063355274ea146102165780634042b66f1461022b57806345a3b588146102405780634ead4395146102695780634f93594514610281578063521eb2731461029657806361aab82a146102c75780636bd9290a146102dc57806370d1fbc1146102f1578063715018a614610306578063788d25561461031b5780637a34abfe1461033f5780638cb8a866146103545780638da5cb5b14610369578063991524461461037e5780639c49eefd14610393578063a1d8ab33146103a8578063a417357c146103bd578063abe7691e146103d2578063b646eeef146103e7578063dfb81a9c146103fc578063e4cc18be14610411578063e5e231dd14610426578063ec8ac4d81461043b578063ed0722801461044f578063f279c9e014610464578063f2fde38b14610479578063fc0c546a1461049a575b610190336104af565b005b34801561019e57600080fd5b506101a7610551565b60408051918252519081900360200190f35b3480156101c557600080fd5b50610190600435610557565b3480156101dd57600080fd5b506101906004356105cd565b3480156101f557600080fd5b5061019060043561060d565b34801561020d57600080fd5b506101a7610639565b34801561022257600080fd5b506101a761063f565b34801561023757600080fd5b506101a7610645565b34801561024c57600080fd5b5061025561064b565b604080519115158252519081900360200190f35b34801561027557600080fd5b50610190600435610654565b34801561028d57600080fd5b50610255610680565b3480156102a257600080fd5b506102ab61068b565b60408051600160a060020a039092168252519081900360200190f35b3480156102d357600080fd5b506101a761069a565b3480156102e857600080fd5b506101906106a0565b3480156102fd57600080fd5b506102556106dd565b34801561031257600080fd5b506101906106e6565b34801561032757600080fd5b50610190600160a060020a0360043516602435610754565b34801561034b57600080fd5b506101906108de565b34801561036057600080fd5b5061025561091a565b34801561037557600080fd5b506102ab610929565b34801561038a57600080fd5b506101a7610938565b34801561039f57600080fd5b506101a761093e565b3480156103b457600080fd5b50610190610944565b3480156103c957600080fd5b5061019061096a565b3480156103de57600080fd5b506101a76109ef565b3480156103f357600080fd5b506102556109f5565b34801561040857600080fd5b50610190610a03565b34801561041d57600080fd5b50610190610a91565b34801561043257600080fd5b50610190610b28565b610190600160a060020a03600435166104af565b34801561045b57600080fd5b50610190610bae565b34801561047057600080fd5b50610190610bd6565b34801561048557600080fd5b50610190600160a060020a0360043516610c2e565b3480156104a657600080fd5b506102ab610c4e565b3460006104bc8383610c5d565b6104c582610c88565b6003549091506104db908363ffffffff610ca516565b6003556104e88382610cb2565b60408051838152602081018390528151600160a060020a0386169233927f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18929081900390910190a361053a8383610b24565b610542610cbc565b61054c8383610b24565b505050565b60085490565b6005546000908190600160a060020a0316331461057357600080fd5b600d5462010000900460ff161561058957600080fd5b505060075460065482821161059d57600080fd5b816105ae828563ffffffff610ca516565b11156105b957600092505b600083116105c657600080fd5b5050600955565b600554600090600160a060020a031633146105e757600080fd5b506007546008548210156105fa57600080fd5b8082111561060757600080fd5b50600755565b600554600160a060020a0316331461062457600080fd5b600d5460ff161561063457600080fd5b600c55565b60025481565b60045481565b60035481565b600f5460ff1690565b600554600160a060020a0316331461066b57600080fd5b600f5460ff161561067b57600080fd5b600e55565b600454600354101590565b600154600160a060020a031681565b600c5490565b600554600160a060020a031633146106b757600080fd5b600f805460ff191660011790556008546106d890600a63ffffffff610cf516565b600955565b600d5460ff1690565b600554600160a060020a031633146106fd57600080fd5b600554604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26005805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005546000908190600160a060020a0316331461077057600080fd5b61077861093e565b91506000809054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050506040513d60208110156107f657600080fd5b5051905081811061080657600080fd5b81610817848363ffffffff610ca516565b111561082257600092505b6000831161082f57600080fd5b60008054604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915191909216926340c10f1992604480820193602093909283900390910190829087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050506040513d60208110156108cb57600080fd5b505115156108d857600080fd5b50505050565b600554600160a060020a031633146108f557600080fd5b600d805462ff00001916620100001790556008546106d890600a63ffffffff610cf516565b600d5462010000900460ff1690565b600554600160a060020a031681565b60075490565b60065490565b600554600160a060020a0316331461095b57600080fd5b600d805460ff19166001179055565b600554600160a060020a0316331461098157600080fd5b60008054604080517f3f4ba83a0000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692633f4ba83a9260048084019382900301818387803b1580156109db57600080fd5b505af11580156108d8573d6000803e3d6000fd5b600e5490565b600d54610100900460ff1690565b600554600090600160a060020a03163314610a1d57600080fd5b600b5460025411610a2d57600080fd5b610a55600a54610a496064600b54610cf590919063ffffffff16565b9063ffffffff610d0a16565b600b54909150610a6b908263ffffffff610ca516565b600255600a5415610a8e57600a54610a8a90600163ffffffff610d3316565b600a555b50565b600554600160a060020a03163314610aa857600080fd5b6000809054906101000a9004600160a060020a0316600160a060020a0316637d64bcb46040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610afa57600080fd5b505af1158015610b0e573d6000803e3d6000fd5b505050506040513d6020811015610b2457600080fd5b5050565b600554600160a060020a03163314610b3f57600080fd5b600d54610100900460ff1615610b5457600080fd5b60008054604080517f8456cb590000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921692638456cb599260048084019382900301818387803b1580156109db57600080fd5b600554600160a060020a03163314610bc557600080fd5b600d805461ff001916610100179055565b600554600160a060020a03163314610bed57600080fd5b600c54421015610bfc57600080fd5b60075460065410610c0c57600080fd5b600954600654610c219163ffffffff610ca516565b600655600e544201600c55565b600554600160a060020a03163314610c4557600080fd5b610a8e81610d45565b600054600160a060020a031681565b610c678282610dc3565b600454600354610c7d908363ffffffff610ca516565b1115610b2457600080fd5b6000610c9f60025483610d0a90919063ffffffff16565b92915050565b81810182811015610c9f57fe5b610b248282610de4565b600154604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015610a8e573d6000803e3d6000fd5b60008183811515610d0257fe5b049392505050565b6000821515610d1b57506000610c9f565b50818102818382811515610d2b57fe5b0414610c9f57fe5b600082821115610d3f57fe5b50900390565b600160a060020a0381161515610d5a57600080fd5b600554604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a0382161515610dd857600080fd5b801515610b2457600080fd5b60008054604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015260248201869052915191909216926340c10f1992604480820193602093909283900390910190829087803b158015610e5657600080fd5b505af1158015610e6a573d6000803e3d6000fd5b505050506040513d6020811015610e8057600080fd5b50511515610b2457600080fd00a165627a7a72305820859c8fb7ebb098320fa873aaa0ab72fdd5901278ff7de9b12c7268947e6dba0b0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000001ab3f00000000000000000000000001081afed63e1e3b6251c9961feb83d82bc32a1cb0000000000000000000000005c872500c00565505f3624ab435c222e558e9ff80000000000000000000000000000000000000001431e0fae6d7217caa00000000000000000000000000000000000000000000000000000a2a15d09519be0000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000155cc0000000000000000000000000000000000000000000000000000000005c51edc2000000000000000000000000000000000000000000000000000000000076a700
-----Decoded View---------------
Arg [0] : _rate (uint256): 1750000
Arg [1] : _wallet (address): 0x1081afeD63e1E3b6251C9961FEb83d82Bc32A1Cb
Arg [2] : _token (address): 0x5c872500c00565505F3624AB435c222E558E9ff8
Arg [3] : _limit (uint256): 100000000000000000000000000000
Arg [4] : _cap (uint256): 3000000000000000000000
Arg [5] : _percent (uint256): 24
Arg [6] : _ICOrate (uint256): 1400000
Arg [7] : _limitTime (uint256): 1548873154
Arg [8] : _timeForISL (uint256): 7776000
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000001ab3f0
Arg [1] : 0000000000000000000000001081afed63e1e3b6251c9961feb83d82bc32a1cb
Arg [2] : 0000000000000000000000005c872500c00565505f3624ab435c222e558e9ff8
Arg [3] : 0000000000000000000000000000000000000001431e0fae6d7217caa0000000
Arg [4] : 0000000000000000000000000000000000000000000000a2a15d09519be00000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000018
Arg [6] : 0000000000000000000000000000000000000000000000000000000000155cc0
Arg [7] : 000000000000000000000000000000000000000000000000000000005c51edc2
Arg [8] : 000000000000000000000000000000000000000000000000000000000076a700
Swarm Source
bzzr://859c8fb7ebb098320fa873aaa0ab72fdd5901278ff7de9b12c7268947e6dba0b
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.