Omnitude Token
ERC20
This contract is an ERC20 token.
Name
Omnitude Token
Symbol
ECOM
Decimals
18
Total Supply
74,413,301 ECOM
About link
Omnitude (ECOM) is a cryptocurrency and operates on the Ethereum platform. Omnitude has a current supply of 74,413,301.337384 with 64,813,301.337384 in circulation. The last known price of Omnitude is 0.00835607 USD and is down -4.47 over the last 24 hours. It is currently trading on 1 active market(s) with $449,781.53 traded over the last 24 hours. More information can be found at https://omnitude.tech/.
Stats
Public Functions
9
Event Types
3
Code Size
14,865 bytes
Constants (10) keyboard_arrow_up
State Variables (12) keyboard_arrow_up
Functions
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address _to, uint256 _value) public returns (bool) {
if (msg.sender != owner && !tokenSaleClosed) return false;
return super.transfer(_to, _value);
}
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) public returns (bool) {
if (msg.sender != owner && !tokenSaleClosed) return false;
return super.transferFrom(_from, _to, _value);
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
public
returns (bool success)
{
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(
_addedValue
);
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 success)
{
uint256 oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
burn keyboard_arrow_up
Requirements help
Source Code
function burn(uint256 _value) public {
require(_value > 0);
require(_value <= balances[msg.sender]);
// no need to require value <= totalSupply, since that would imply the
// sender's balance is greater than the totalSupply, which *should* be an assertion failure
address burner = msg.sender;
balances[burner] = balances[burner].sub(_value);
totalSupply = totalSupply.sub(_value);
Burn(burner, _value);
}
close keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
onlyOwner checks for the following:
beforeEnd checks for the following:
Source Code
function close() public onlyOwner beforeEnd {
/// burn everything unsold
uint256 saleTokensToBurn = balances[owner];
balances[owner] = 0;
totalSupply = totalSupply.sub(saleTokensToBurn);
Burn(owner, saleTokensToBurn);
/// Foundation tokens - 33M
uint256 foundationTokens = 33000000 * 10**uint256(decimals);
totalSupply = totalSupply.add(foundationTokens);
balances[foundationAddress] = foundationTokens;
/// Lock team tokens - 12M
uint256 teamTokens = 12000000 * 10**uint256(decimals);
totalSupply = totalSupply.add(teamTokens);
/// YEAR 1 - 2.4M
uint256 teamTokensY1 = 2400000 * 10**uint256(decimals);
/// team tokens are locked until this date (01.01.2019)
TokenTimelock year1Lock = new TokenTimelock(
this,
omniTeamAddress,
date01Jan2019
);
year1LockAddress = address(year1Lock);
balances[year1LockAddress] = teamTokensY1;
/// YEAR 2 - 2.4M
uint256 teamTokensY2 = 2400000 * 10**uint256(decimals);
/// team tokens are locked until this date (01.01.2020)
TokenTimelock year2Lock = new TokenTimelock(
this,
omniTeamAddress,
date01Jan2020
);
year2LockAddress = address(year2Lock);
balances[year2LockAddress] = teamTokensY2;
/// YEAR 3 - 2.4M
uint256 teamTokensY3 = 2400000 * 10**uint256(decimals);
/// team tokens are locked until this date (01.01.2021)
TokenTimelock year3Lock = new TokenTimelock(
this,
omniTeamAddress,
date01Jan2021
);
year3LockAddress = address(year3Lock);
balances[year3LockAddress] = teamTokensY3;
/// YEAR 4 - 2.4M
uint256 teamTokensY4 = 2400000 * 10**uint256(decimals);
/// team tokens are locked until this date (01.01.2022)
TokenTimelock year4Lock = new TokenTimelock(
this,
omniTeamAddress,
date01Jan2022
);
year4LockAddress = address(year4Lock);
balances[year4LockAddress] = teamTokensY4;
/// YEAR 5 - 2.4M
uint256 teamTokensY5 = 2400000 * 10**uint256(decimals);
/// team tokens are locked until this date (01.01.2023)
TokenTimelock year5Lock = new TokenTimelock(
this,
omniTeamAddress,
date01Jan2023
);
year5LockAddress = address(year5Lock);
balances[year5LockAddress] = teamTokensY5;
tokenSaleClosed = true;
}
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.