Blockwell

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

Events (3) keyboard_arrow_up

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Burn Event

Parameters help
burner
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

name Constant

string help
Omnitude Token

symbol Constant

string help
ECOM

decimals Constant

uint8 help
18

HARD_CAP Constant

uint256 help
100000000 * UNKNOWN VALUE

TOKENS_SALE_HARD_CAP Constant

uint256 help
55000000 * UNKNOWN VALUE

date01Jan2019 Constant

uint64 help
1546300800

date01Jan2020 Constant

uint64 help
1577836800

date01Jan2021 Constant

uint64 help
1609459200

date01Jan2022 Constant

uint64 help
1640995200

date01Jan2023 Constant

uint64 help
1672531200

omniTeamAddress Variable

address help

foundationAddress Variable

address help

year1LockAddress Variable

address help

year2LockAddress Variable

address help

year3LockAddress Variable

address help

year4LockAddress Variable

address help

year5LockAddress Variable

address help

tokenSaleClosed Variable

bool help

totalSupply Variable

uint256 help

owner Variable

address help

balances Variable

mapping(address => uint256) help

allowed Variable

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

Functions Expand All Collapse All

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

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) {
  if (msg.sender != owner && !tokenSaleClosed) return false;
  return super.transfer(_to, _value);
}

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 remaining)
{
  return allowed[_owner][_spender];
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
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);
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

Name Type
_spender
address help
_addedValue
uint help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

Name Type
_spender
address help
_subtractedValue
uint help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
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.

Properties

Visibility help public
Mutability help transaction
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 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.