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
Events (4) keyboard_arrow_up
State Variables (10) keyboard_arrow_up
Functions
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
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
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
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
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
Source Code
function increaseApproval(address _spender, uint256 _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
Source Code
function decreaseApproval(address _spender, uint256 _subtractedValue)
public
returns (bool)
{
require(!frozen);
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;
}
freeze keyboard_arrow_up
unFreeze keyboard_arrow_up
transferBack keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function transferBack(address _from, uint256 _tokenAmount) public onlyOwner {
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
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function transferBulk(address[] _toAccounts, uint256[] _tokenAmount)
public
onlyOwner
{
require(_toAccounts.length == _tokenAmount.length);
for (uint256 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.
Source Code
function getInvestorsAndTheirBalances()
public
view
returns (address[], uint256[])
{
uint256[] memory tempBalances = new uint256[](investors.length);
for (uint256 i = 0; i < investors.length; i++) {
tempBalances[i] = balances[investors[i]];
}
return (investors, tempBalances);
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.
internal BurnableToken._burn keyboard_arrow_up
Requirements help
Source Code
function _burn(address _who, uint256 _value) internal {
require(_value <= balances[_who]);
balances[_who] = balances[_who].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
emit Burn(_who, _value);
emit Transfer(_who, address(0), _value);
}