Blockwell

Online.io

ERC20

This contract is an ERC20 token.

Name Online.io
Symbol OIO
Decimals 18
Total Supply 2,500,000,000 OIO

About

Stats

Public Functions 15
Event Types 4
Code Size 10,004 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Burn Event

Parameters help
burner
address help
value
uint256 help

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

Functions Expand All Collapse All

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

totalSupply keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

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

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(!frozen);
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    if (!isInvestor[_to]) {
      isInvestor[_to] = true;
      investors.push(_to);
    }
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

burn keyboard_arrow_up

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function burn(uint256 _value) public {
    _burn(msg.sender, _value);
  }

allowance keyboard_arrow_up

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];
  }

transferFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(!frozen);
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    if (!isInvestor[_to]) {
      isInvestor[_to] = true;
      investors.push(_to);
    }
    emit Transfer(_from, _to, _value);
    return true;
  }

approve keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function approve(address _spender, uint256 _value) public returns (bool) {
    require(!frozen);
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

increaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_addedValue
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    require(!frozen);
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

decreaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_subtractedValue
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    require(!frozen);
    uint 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;
  }

freeze keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
  function freeze() onlyOwner public {
    frozen = true;
  }

unFreeze keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
  function unFreeze() onlyOwner public {
    frozen = false;
  }

transferBack keyboard_arrow_up

Parameters help

Name Type
_from
address help
_tokenAmount
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transferBack(address _from, uint256 _tokenAmount) onlyOwner public {
    require(_from != address(0));
    require(_tokenAmount <= balances[_from]);
    
    balances[_from] = balances[_from].sub(_tokenAmount);
    balances[msg.sender] = balances[msg.sender].add(_tokenAmount);
    emit Transfer(_from, msg.sender, _tokenAmount);
  }

transferBulk keyboard_arrow_up

Parameters help

Name Type
_toAccounts
address[] help
_tokenAmount
uint256[] help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transferBulk(address[] _toAccounts, uint256[] _tokenAmount) onlyOwner public {
    require(_toAccounts.length == _tokenAmount.length);
    for(uint i=0; i<_toAccounts.length; i++) {
      balances[msg.sender] = balances[msg.sender].sub(_tokenAmount[i]); 
      balances[_toAccounts[i]] = balances[_toAccounts[i]].add(_tokenAmount[i]);
      if(!isInvestor[_toAccounts[i]]){
        isInvestor[_toAccounts[i]] = true;
        investors.push(_toAccounts[i]);
      }
    }
  }

getInvestorsAndTheirBalances keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
  function getInvestorsAndTheirBalances() public view returns (address[], uint[]) {
      uint[] memory tempBalances = new uint[](investors.length);
      for(uint i=0; i<investors.length; i++) {
        tempBalances[i] = balances[investors[i]];
      }
       return (investors, tempBalances);
  }