Blockwell

Cryptoindex 100

ERC20

This contract is an ERC20 token.

Name Cryptoindex 100
Symbol CIX100
Decimals 18
Total Supply 300,000,000 CIX100

About link description

Cryptoindex.com 100 (CIX100) is a cryptocurrency and operates on the Ethereum platform. Cryptoindex.com 100 has a current supply of 300,000,000 with 0 in circulation. The last known price of Cryptoindex.com 100 is 0.15427817 USD and is up 0.04 over the last 24 hours. It is currently trading on 1 active market(s) with $17,727.82 traded over the last 24 hours. More information can be found at https://cryptoindex.com.

Stats

Public Functions 17
Event Types 7
Code Size 12,670 bytes

Library Use

Uses SafeMath for uint.

Events (7) keyboard_arrow_up

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint help

Burn Event

Parameters help
from
address help
value
uint help

MintingFinished Event

Parameters help
timestamp
uint help

MintingStarted Event

Parameters help
timestamp
uint help

OwnershipRenounced Event

Parameters help
previousOwner
address help

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint help

name Variable

string help

symbol Variable

string help

decimals Variable

uint help

totalSupply Variable

uint help

mintedAmount Variable

uint help

advisorsFundPercent Variable

uint help

teamFundPercent Variable

uint help

bonusFundValue Variable

uint help

forgetFundValue Variable

uint help

mintingIsStarted Variable

bool help

mintingIsFinished Variable

bool help

teamFund Variable

address help

advisorsFund Variable

address help

bonusFund Variable

address help

forgetFund Variable

address help

reserveFund Variable

address help

controllers Variable

mapping(address => bool) help

balances Variable

mapping(address => uint) help
Internal Variable

allowed Variable

mapping(address => mapping(address => uint)) help
Internal Variable

_owner Variable

address help
Internal Variable

Functions Expand All Collapse All

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function owner() public view returns (address) {
  return _owner;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function isOwner() public view returns (bool) {
  return msg.sender == _owner;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null
Source Code
function renounceOwnership() public onlyOwner {
  emit OwnershipRenounced(_owner);
  _owner = address(0);
}

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null

Requirements help

Source Code
function transferOwnership(address newOwner) public onlyOwner {
  _transferOwnership(newOwner);
}

Parameters help

Name Type
_holder
address help

Properties

Visibility help public
Mutability help view
Source Code
function balanceOf(address _holder) public view returns (uint256) {
  return balances[_holder];
}

Parameters help

Name Type
_to
address help
_amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function transfer(address _to, uint256 _amount) public returns (bool) {
  require(mintingIsFinished);
  require(_to != address(0) && _to != address(this));
  balances[msg.sender] = balances[msg.sender].sub(_amount);
  balances[_to] = balances[_to].add(_amount);
  emit Transfer(msg.sender, _to, _amount);
  return true;
}

Parameters help

Name Type
_from
address help
_to
address help
_amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _amount
) public returns (bool) {
  require(mintingIsFinished);

  require(_to != address(0) && _to != address(this));
  balances[_from] = balances[_from].sub(_amount);
  allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
  balances[_to] = balances[_to].add(_amount);
  emit Transfer(_from, _to, _amount);
  return true;
}

Parameters help

Name Type
_spender
address help
_amount
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

One or more of the following:
Source Code
function approve(address _spender, uint256 _amount) public returns (bool) {
  require((_amount == 0) || (allowed[msg.sender][_spender] == 0));
  allowed[msg.sender][_spender] = _amount;
  emit Approval(msg.sender, _spender, _amount);
  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help view
Source Code
function allowance(address _owner, address _spender)
  public
  view
  returns (uint256)
{
  return allowed[_owner][_spender];
}

Parameters help

Name Type
_forgetFundValue
uint help
_bonusFundValue
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null
Source Code
function startMinting(uint256 _forgetFundValue, uint256 _bonusFundValue)
  public
  onlyOwner
{
  forgetFundValue = _forgetFundValue;
  bonusFundValue = _bonusFundValue;
  mintingIsStarted = true;
  emit MintingStarted(now);
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null

Requirements help

null
null
null
null
null
Source Code
function finishMinting() public onlyOwner {
  require(mint(forgetFund, forgetFundValue));
  uint256 currentMintedAmount = mintedAmount;
  require(mint(teamFund, currentMintedAmount.mul(teamFundPercent).div(100)));
  require(
    mint(advisorsFund, currentMintedAmount.mul(advisorsFundPercent).div(100))
  );
  require(mint(bonusFund, bonusFundValue));
  require(mint(reserveFund, totalSupply.sub(mintedAmount)));
  mintingIsFinished = true;
  emit MintingFinished(now);
}

Parameters help

Name Type
_adresses
address[] help
_values
uint[] help

Properties

Visibility help public
Mutability help transaction
Source Code
function batchTransfer(address[] _adresses, uint256[] _values)
  public
  returns (bool)
{
  require(_adresses.length == _values.length);
  for (uint256 i = 0; i < _adresses.length; i++) {
    require(transfer(_adresses[i], _values[i]));
  }
  return true;
}

Parameters help

Name Type
_controller
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null

Requirements help

Source Code
function addController(address _controller) public onlyOwner {
  require(mintingIsStarted);
  controllers[_controller] = true;
}

Parameters help

Name Type
_controller
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyOwner checks for the following:
null
Source Code
function removeController(address _controller) public onlyOwner {
  controllers[_controller] = false;
}

Parameters help

Name Type
_adresses
address[] help
_values
uint[] help

Properties

Visibility help public
Mutability help transaction
Source Code
function batchMint(address[] _adresses, uint256[] _values)
  public
  onlyController
{
  require(_adresses.length == _values.length);
  for (uint256 i = 0; i < _adresses.length; i++) {
    require(mint(_adresses[i], _values[i]));
    emit Transfer(address(0), _adresses[i], _values[i]);
  }
}

Parameters help

Name Type
_from
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function burn(address _from, uint256 _value) public {
  if (msg.sender != _from) {
    require(!mintingIsFinished);
    // burn tokens from _from only if minting stage is not finished
    // allows owner to correct initial balance before finishing minting
    require(msg.sender == this.owner());
    mintedAmount = mintedAmount.sub(_value);
  } else {
    require(mintingIsFinished);
    totalSupply = totalSupply.sub(_value);
  }
  balances[_from] = balances[_from].sub(_value);
  emit Burn(_from, _value);
}

Parameters help

Name Type
_tokenAddress
address help
_amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferAnyTokens(address _tokenAddress, uint256 _amount)
  public
  returns (bool success)
{
  return ERC20(_tokenAddress).transfer(this.owner(), _amount);
}

Internal Functions Expand All Collapse All

Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.

internal CryptoIndexToken.mint keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help internal
Mutability help transaction
Source Code
function mint(address _to, uint256 _value) internal returns (bool) {
  // Mint tokens only if minting stage is not finished
  require(mintingIsStarted);
  require(!mintingIsFinished);
  require(mintedAmount.add(_value) <= totalSupply);
  balances[_to] = balances[_to].add(_value);
  mintedAmount = mintedAmount.add(_value);
  return true;
}

internal Ownable._transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transferOwnership(address newOwner) internal {
  require(newOwner != address(0));
  emit OwnershipTransferred(_owner, newOwner);
  _owner = newOwner;
}