PlatonCoin
ERC20
This contract is an ERC20 token.
Name
PlatonCoin
Symbol
PLTC
Decimals
18
Total Supply
21,000,000 PLTC
About
Stats
Public Functions
16
Event Types
5
Code Size
12,605 bytes
Library Use
Uses SafeMath for uint256.
Events (5) keyboard_arrow_up
Functions
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address _address, uint256 _tokens) public returns(bool)
{
require(!stopped);
if (_tokens == 0)
{
emit Transfer(msg.sender, _address, _tokens); // Follow the spec to launch the event when tokens are equal to 0
return true;
}
require(_address != address(0x0));
require(balances[msg.sender] >= _tokens);
balances[msg.sender] = (balances[msg.sender]).sub(_tokens);
balances[_address] = (balances[_address]).add(_tokens);
emit Transfer(msg.sender, _address, _tokens);
return true;
}
allowance keyboard_arrow_up
Requirements help
Source Code
function allowance(address _owner, address _spender) public view returns(uint256)
{
require(!stopped);
require(_owner != address(0x0) && _spender != address(0x0));
return allowed[_owner][_spender];
}
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(address _from, address _to, uint256 _value) public returns (bool)
{
require(!stopped);
if (_value == 0)
{
emit Transfer(_from, _to, _value); // Follow the spec to launch the event when value is equal to 0
return true;
}
require(_to != address(0x0));
require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value >= 0);
balances[_from] = balances[_from].sub(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(_from, _to, _value);
return true;
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _tokens) public returns(bool)
{
require(!stopped);
require(_spender != address(0x0));
allowed[msg.sender][_spender] = _tokens;
emit Approval(msg.sender, _spender, _tokens);
return true;
}
pauseCrowdSale keyboard_arrow_up
resumeCrowdSale keyboard_arrow_up
initWallets keyboard_arrow_up
Parameters help
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function initWallets(address _teamWallet, address _advisorWallet, address _bountyWallet, address _earlyInvWallet) public onlyOwner
{
require(!stopped);
require( _teamWallet != address(0x0) && _advisorWallet != address(0x0) && _bountyWallet != address(0x0) && _earlyInvWallet != address(0x0));
balances[_teamWallet] = totalTeamSupply;
balances[_advisorWallet] = totalAdvisorsSupply;
balances[_bountyWallet] = totalBountySupply;
balances[_earlyInvWallet] = totalEarlyInvSupply;
emit Transfer(address(0x0), _teamWallet, balances[_teamWallet]);
emit Transfer(address(0x0), _advisorWallet, balances[_advisorWallet]);
emit Transfer(address(0x0), _bountyWallet, balances[_bountyWallet]);
emit Transfer(address(0x0), _earlyInvWallet, balances[_earlyInvWallet]);
}
burn keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function burn(uint256 _value) onlyOwner public returns (bool)
{
require(!stopped);
require(_value <= balances[msg.sender]);
address burner = msg.sender;
balances[burner] = balances[burner].sub(_value);
totalTokenSupply = totalTokenSupply.sub(_value);
totalBurned = totalBurned.add(_value);
emit Burn(burner, _value);
emit Transfer(burner, address(0x0), _value);
return true;
}
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address _newOwner)public onlyOwner
{
require(!stopped);
require( _newOwner != address(0x0));
balances[_newOwner] = (balances[_newOwner]).add(balances[owner]);
balances[owner] = 0;
owner = _newOwner;
emit Transfer(msg.sender, _newOwner, balances[_newOwner]);
}
renounceOwnership keyboard_arrow_up
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue) public returns (bool)
{
require(!stopped);
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit 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)
{
uint256 oldValue = allowed[msg.sender][_spender];
require(!stopped);
if (_subtractedValue > oldValue)
{
allowed[msg.sender][_spender] = 0;
}
else
{
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
transferAnyERC20Token keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferAnyERC20Token(address _tokenAddress, uint256 _tokens) onlyOwner public returns (bool)
{
require(!stopped);
return ERC20Interface(_tokenAddress).transfer(owner, _tokens);
}