Blockwell

CEN

ERC20

This contract is an ERC20 token.

Name CEN
Symbol CEN
Decimals 18
Total Supply 912,473,583 CEN

About link

Coinsuper Ecosystem Network (CEN) is a cryptocurrency and operates on the Ethereum platform. Coinsuper Ecosystem Network has a current supply of 898,614,083.223577 with 358,497,292.593577 in circulation. The last known price of Coinsuper Ecosystem Network is 0.00116839 USD and is down -12.30 over the last 24 hours. It is currently trading on 1 active market(s) with $557.17 traded over the last 24 hours. More information can be found at https://www.coinsuper.com/#/home.

Stats

Public Functions 12
Event Types 4
Code Size 7,330 bytes

Events (4) keyboard_arrow_up

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint256 help

Burn Event

Parameters help
_owner
address help
_value
uint256 help

LogOwnerChanged Event

Parameters help
msgSender
address help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help

name Variable

string help

decimals Variable

uint256 help

symbol Variable

string help

totalSupply Variable

uint256 help

owner Variable

address help

balances Variable

mapping(address => uint256) help
Internal Variable

allowed Variable

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

frozenAccount Variable

mapping(address => bool) help
Internal Variable

stopped Variable

bool help
Internal Variable

Functions Expand All Collapse All

setOwner keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setOwner(address newOwner) public onlyOwner returns (bool) {
  if (owner == msg.sender) {
    owner = newOwner;
    emit LogOwnerChanged(msg.sender);
    return true;
  } else {
    return false;
  }
}

_status keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function _status() public view returns (bool) {
  return stopped;
}

stop keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

start keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

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

Modifiers help

Requirements help

Source Code
function transfer(address _to, uint256 _value)
  public
  stoppable
  returns (bool ind)
{
  //Default assumes totalSupply can't be over max (2^256 - 1).
  //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
  //Replace the if with this one instead.
  //if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
  require(_to != address(0));
  require(frozenCheck(msg.sender, _to));
  if (balances[msg.sender] >= _value && _value > 0) {
    balances[msg.sender] = safeSub(balances[msg.sender], _value);
    balances[_to] = safeAdd(balances[_to], _value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  } else {
    return false;
  }
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) public stoppable returns (bool success) {
  //same as above. Replace this line with the following if you want to protect against wrapping uints.
  require(frozenCheck(_from, _to));
  require(_to != address(0));
  if (
    balances[_from] >= _value &&
    allowed[_from][msg.sender] >= _value &&
    _value > 0
  ) {
    balances[_to] = safeAdd(balances[_to], _value);
    balances[_from] = safeSub(balances[_from], _value);
    allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender], _value);
    emit Transfer(_from, _to, _value);
    return true;
  } else {
    return false;
  }
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function approve(address _spender, uint256 _value)
  public
  stoppable
  returns (bool success)
{
  require(frozenCheck(_spender, msg.sender));
  require(_spender != address(0));
  require(_value > 0);
  require(allowed[msg.sender][_spender] == 0);
  allowed[msg.sender][_spender] = _value;
  emit Approval(msg.sender, _spender, _value);
  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 remaining)
{
  return allowed[_owner][_spender];
}

burn keyboard_arrow_up

Parameters help

Name Type
amount
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function burn(uint256 amount) public stoppable onlyOwner returns (bool) {
  if (balances[msg.sender] > amount) {
    balances[msg.sender] = safeSub(balances[msg.sender], amount);
    totalSupply = safeSub(totalSupply, amount);
    emit Burn(msg.sender, amount);
    return true;
  } else {
    return false;
  }
}

freezeAccount keyboard_arrow_up

Parameters help

Name Type
target
address help
freeze
bool help

Properties

Visibility help public
Mutability help transaction
Source Code
function freezeAccount(address target, bool freeze) public onlyOwner {
  frozenAccount[target] = freeze;
}

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function() public stoppable {
  revert();
}

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 StandardToken.frozenCheck keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help

Properties

Visibility help private
Mutability help view
Source Code
function frozenCheck(address _from, address _to) private view returns (bool) {
  require(!frozenAccount[_from]);
  require(!frozenAccount[_to]);
  return true;
}

internal Token.frozenCheck keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help

Properties

Visibility help private
Mutability help view
Source Code
function frozenCheck(address _from, address _to) private view returns (bool);

internal SafeMath.safeMul keyboard_arrow_up

Parameters help

Name Type
a
uint256 help
b
uint256 help

Properties

Visibility help internal
Mutability help pure
Source Code
function safeMul(uint256 a, uint256 b) internal pure returns (uint256) {
  uint256 c = a * b;
  judgement(a == 0 || c / a == b);
  return c;
}

internal SafeMath.safeDiv keyboard_arrow_up

Parameters help

Name Type
a
uint256 help
b
uint256 help

Properties

Visibility help internal
Mutability help pure
Source Code
function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) {
  judgement(b > 0);
  uint256 c = a / b;
  judgement(a == b * c + (a % b));
  return c;
}

internal SafeMath.safeSub keyboard_arrow_up

Parameters help

Name Type
a
uint256 help
b
uint256 help

Properties

Visibility help internal
Mutability help pure
Source Code
function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
  judgement(b <= a);
  return a - b;
}

internal SafeMath.safeAdd keyboard_arrow_up

Parameters help

Name Type
a
uint256 help
b
uint256 help

Properties

Visibility help internal
Mutability help pure
Source Code
function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
  uint256 c = a + b;
  judgement(c >= a && c >= b);
  return c;
}

internal SafeMath.safeMulWithPresent keyboard_arrow_up

Parameters help

Name Type
a
uint256 help
b
uint256 help

Properties

Visibility help internal
Mutability help pure
Source Code
function safeMulWithPresent(uint256 a, uint256 b)
  internal
  pure
  returns (uint256)
{
  uint256 c = safeDiv(safeMul(a, b), 1000);
  judgement(b == (c * 1000) / a);
  return c;
}

internal SafeMath.judgement keyboard_arrow_up

Parameters help

Name Type
assertion
bool help

Properties

Visibility help internal
Mutability help pure
Source Code
function judgement(bool assertion) internal pure {
  if (!assertion) {
    revert();
  }
}