Blockwell

SENTinel

ERC20

This contract is an ERC20 token.

Name SENTinel
Symbol SENT
Decimals 8
Total Supply 1,999,970,000 SENT

About link description

Sentinel (DVPN) is a cryptocurrency and operates on the Ethereum platform. Sentinel has a current supply of 11,120,325,909 with 3,368,945,513 in circulation. The last known price of Sentinel is 0.02031883 USD and is up 13.17 over the last 24 hours. It is currently trading on 5 active market(s) with $325,462.54 traded over the last 24 hours. More information can be found at https://sentinel.co/.

Stats

Public Functions 9
Event Types 2
Code Size 4,716 bytes

Events (2) keyboard_arrow_up

Burn Event

Parameters help
from
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

owner Variable

address help

name Variable

string help

symbol Variable

string help

decimals Variable

uint8 help

totalSupply Variable

uint256 help

services Variable

mapping(bytes32 => address) help

balanceOf Variable

mapping(address => uint256) help

allowance Variable

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

Functions Expand All Collapse All

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transfer(address _to, uint256 _value) public {
  _transfer(msg.sender, _to, _value);
}

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 success) {
  require(_value <= allowance[_from][msg.sender]);

  allowance[_from][msg.sender] -= _value;

  _transfer(_from, _to, _value);

  return true;
}

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 success)
{
  allowance[msg.sender][_spender] = _value;

  return true;
}

approveAndCall keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_value
uint256 help
_extraData
bytes help

Properties

Visibility help public
Mutability help transaction
Source Code
function approveAndCall(
  address _spender,
  uint256 _value,
  bytes _extraData
) public returns (bool success) {
  tokenRecipient spender = tokenRecipient(_spender);

  if (approve(_spender, _value)) {
    spender.receiveApproval(msg.sender, _value, this, _extraData);

    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 returns (bool success) {
  require(balanceOf[msg.sender] >= _value);

  balanceOf[msg.sender] -= _value;
  totalSupply -= _value;

  Burn(msg.sender, _value);

  return true;
}

burnFrom keyboard_arrow_up

Parameters help

Name Type
_from
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function burnFrom(address _from, uint256 _value) public returns (bool success) {
  require(balanceOf[_from] >= _value);
  require(_value <= allowance[_from][msg.sender]);

  balanceOf[_from] -= _value;
  allowance[_from][msg.sender] -= _value;
  totalSupply -= _value;

  Burn(_from, _value);

  return true;
}

transferOwnership keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transferOwnership(address _owner) public onlyOwner {
  require(_owner != 0x0);

  owner = _owner;
}

deployService keyboard_arrow_up

Parameters help

Name Type
_serviceName
bytes32 help
_serviceAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function deployService(bytes32 _serviceName, address _serviceAddress)
  public
  onlyOwner
{
  services[_serviceName] = _serviceAddress;
}

payService keyboard_arrow_up

Parameters help

Name Type
_serviceName
bytes32 help
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function payService(
  bytes32 _serviceName,
  address _from,
  address _to,
  uint256 _value
) public {
  require(msg.sender != 0x0);
  require(services[_serviceName] != 0x0);
  require(msg.sender == services[_serviceName]);
  require(_from != 0x0);
  require(_to != 0x0);
  require(balanceOf[_from] >= _value);
  require(balanceOf[_to] + _value > balanceOf[_to]);

  uint256 previousBalances = balanceOf[_from] + balanceOf[_to];

  balanceOf[_from] -= _value;
  balanceOf[_to] += _value;

  Transfer(_from, _to, _value);

  assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}

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 ERC20Token._transfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transfer(
  address _from,
  address _to,
  uint256 _value
) internal {
  require(_to != 0x0);
  require(_from != 0x0);
  require(_from != _to);
  require(balanceOf[_from] >= _value);
  require(balanceOf[_to] + _value > balanceOf[_to]);

  uint256 previousBalances = balanceOf[_from] + balanceOf[_to];

  balanceOf[_from] -= _value;
  balanceOf[_to] += _value;

  Transfer(_from, _to, _value);

  assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}