Blockwell

LAToken

ERC20

This contract is an ERC20 token.

Name LAToken
Symbol LAToken
Decimals 18
Total Supply 400,000,000 LAToken

About link description

LATOKEN (LA) is a cryptocurrency and operates on the Ethereum platform. LATOKEN has a current supply of 400,000,000 with 380,104,462 in circulation. The last known price of LATOKEN is 0.06887726 USD and is down -2.56 over the last 24 hours. It is currently trading on 5 active market(s) with $58,354.13 traded over the last 24 hours. More information can be found at https://latoken.com/.

Identical Contracts

The following contracts have identical source code.

Stats

Public Functions 12
Event Types 4
Code Size 15,789 bytes

Library Use

Uses SafeMath for uint256.

Events (4) keyboard_arrow_up

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint256 help

Burn Event

Parameters help
_from
address help
_value
uint256 help

Issuance Event

Parameters help
_to
address help
_value
uint256 help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help

founder Variable

address help

minter Variable

address help

exchanger Variable

address help

name Variable

string help

decimals Variable

uint8 help

symbol Variable

string help

version Variable

string help

totalSupply Variable

uint256 help

balances Variable

mapping(address => uint256) help
Internal Variable

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 constant
Source Code
function balanceOf(address _owner) constant 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) returns (bool success) {
  if (exchanger != 0x0 && _to == exchanger) {
    assert(ExchangeContract(exchanger).exchange(msg.sender, _value));
    return true;
  }

  if (
    balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]
  ) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);

    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
Source Code
function transferFrom(
  address _from,
  address _to,
  uint256 _value
) returns (bool success) {
  //same as above. Replace this line with the following if you want to protect against wrapping uints.
  //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
  if (
    balances[_from] >= _value &&
    allowed[_from][msg.sender] >= _value &&
    _value > 0
  ) {
    balances[_from] -= _value;
    balances[_to] += _value;
    allowed[_from][msg.sender] -= _value;
    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
Source Code
function approve(address _spender, uint256 _value) returns (bool success) {
  allowed[msg.sender][_spender] = _value;
  Approval(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
) returns (bool success) {
  allowed[msg.sender][_spender] = _value;
  Approval(msg.sender, _spender, _value);

  string memory signature = "receiveApproval(address,uint256,address,bytes)";

  if (
    !_spender.call(
      bytes4(bytes32(sha3(signature))),
      msg.sender,
      _value,
      this,
      _extraData
    )
  ) {
    revert();
  }

  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function allowance(address _owner, address _spender)
  constant
  returns (uint256 remaining)
{
  return allowed[_owner][_spender];
}

issueTokens keyboard_arrow_up

Parameters help

Name Type
_for
address help
tokenCount
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyMinterAndExchanger checks for the following:
Source Code
function issueTokens(address _for, uint256 tokenCount)
  external
  onlyMinterAndExchanger
  returns (bool)
{
  if (tokenCount == 0) {
    return false;
  }

  totalSupply = totalSupply.add(tokenCount);
  balances[_for] = balances[_for].add(tokenCount);
  Issuance(_for, tokenCount);
  return true;
}

burnTokens keyboard_arrow_up

Parameters help

Name Type
_for
address help
tokenCount
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyMinterAndExchanger checks for the following:
Source Code
function burnTokens(address _for, uint256 tokenCount)
  external
  onlyMinterAndExchanger
  returns (bool)
{
  if (tokenCount == 0) {
    return false;
  }

  if (totalSupply.sub(tokenCount) > totalSupply) {
    revert();
  }

  if (balances[_for].sub(tokenCount) > balances[_for]) {
    revert();
  }

  totalSupply = totalSupply.sub(tokenCount);
  balances[_for] = balances[_for].sub(tokenCount);
  Burn(_for, tokenCount);
  return true;
}

changeMinter keyboard_arrow_up

Parameters help

Name Type
newAddress
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyFounder checks for the following:
Source Code
function changeMinter(address newAddress) public onlyFounder returns (bool) {
  minter = newAddress;
  return true;
}

changeFounder keyboard_arrow_up

Parameters help

Name Type
newAddress
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyFounder checks for the following:
Source Code
function changeFounder(address newAddress) public onlyFounder returns (bool) {
  founder = newAddress;
  return true;
}

changeExchanger keyboard_arrow_up

Parameters help

Name Type
newAddress
address help

Properties

Visibility help public
Mutability help transaction

Modifiers help

onlyFounder checks for the following:
Source Code
function changeExchanger(address newAddress) public onlyFounder returns (bool) {
  exchanger = newAddress;
  return true;
}

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help payable
Source Code
function() payable {
  require(false);
}

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.