Mallcoin Token
ERC20
This contract is an ERC20 token.
Name
Mallcoin Token
Symbol
MLC
Decimals
18
Total Supply
231,228,611 MLC
About
Stats
Public Functions
22
Event Types
9
Code Size
10,726 bytes
Events (9) keyboard_arrow_up
State Variables (8) keyboard_arrow_up
Functions
isAuthorized keyboard_arrow_up
Source Code
function isAuthorized(address _addr) public constant returns (bool) {
require(_addr != address(0));
bool result = bool(authorizers[_addr]);
return result;
}
addAuthorized keyboard_arrow_up
Modifiers help
onlyAuthorized checks for the following:
null
Source Code
function addAuthorized(address _addr) external onlyAuthorized {
require(_addr != address(0));
authorizers[_addr] = true;
}
delAuthorized keyboard_arrow_up
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Modifiers help
isNotFrozen checks for the following:
Requirements help
Source Code
function transfer(address _to, uint256 _value)
public
isNotFrozen()
returns (bool)
{
require(_to != address(0));
require(_value <= balances[msg.sender]);
uint256 balance = balances[msg.sender];
uint256 frozen = frozenTokens[msg.sender];
uint256 availableBalance = balance.sub(frozen);
require(availableBalance >= _value);
return super.transfer(_to, _value);
}
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
Modifiers help
isNotFrozen checks for the following:
Requirements help
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) public isNotFrozen() returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
uint256 balance = balances[_from];
uint256 frozen = frozenTokens[_from];
uint256 availableBalance = balance.sub(frozen);
require(availableBalance >= _value);
return super.transferFrom(_from, _to, _value);
}
approve keyboard_arrow_up
Requirements help
One or more of the following:
Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
require((_value == 0) || (allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
public
returns (bool)
{
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(
_addedValue
);
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];
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;
}
approveAndCall keyboard_arrow_up
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;
}
}
frozenAddress keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function frozenAddress(address _addr) public onlyOwner returns (bool) {
require(_addr != address(0));
frozens[_addr] = true;
FrozenAddress(_addr);
return frozens[_addr];
}
unFrozenAddress keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function unFrozenAddress(address _addr) public onlyOwner returns (bool) {
require(_addr != address(0));
delete frozens[_addr];
//frozens[_addr] = false;
UnFrozenAddress(_addr);
return frozens[_addr];
}
isFrozenByAddress keyboard_arrow_up
Source Code
function isFrozenByAddress(address _addr) public constant returns (bool) {
require(_addr != address(0));
bool result = bool(frozens[_addr]);
return result;
}
balanceFrozenTokens keyboard_arrow_up
Source Code
function balanceFrozenTokens(address _addr) public constant returns (uint256) {
require(_addr != address(0));
uint256 result = uint256(frozenTokens[_addr]);
return result;
}
balanceAvailableTokens keyboard_arrow_up
Requirements help
Source Code
function balanceAvailableTokens(address _addr)
public
constant
returns (uint256)
{
require(_addr != address(0));
uint256 frozen = uint256(frozenTokens[_addr]);
uint256 balance = uint256(balances[_addr]);
require(balance >= frozen);
uint256 result = balance.sub(frozen);
return result;
}
frozenToken keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function frozenToken(address _addr, uint256 _amount)
public
onlyOwner
returns (bool)
{
require(_addr != address(0));
require(_amount > 0);
uint256 balance = uint256(balances[_addr]);
require(balance >= _amount);
frozenTokens[_addr] = frozenTokens[_addr].add(_amount);
FrozenTokenEvent(_addr, _amount);
return true;
}
unFrozenToken keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function unFrozenToken(address _addr, uint256 _amount)
public
onlyOwner
returns (bool)
{
require(_addr != address(0));
require(_amount > 0);
require(frozenTokens[_addr] >= _amount);
frozenTokens[_addr] = frozenTokens[_addr].sub(_amount);
UnFrozenTokenEvent(_addr, _amount);
return true;
}
createToken keyboard_arrow_up
Modifiers help
onlyOwnerOrAuthorized checks for the following:
Requirements help
Source Code
function createToken(address _to, uint256 _amount)
public
onlyOwnerOrAuthorized
returns (bool)
{
require(_to != address(0));
require(_amount > 0);
require(MAX_TOKEN_SUPPLY >= totalSupply_ + _amount);
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
// KYC
frozens[_to] = true;
FrozenAddress(_to);
CreateToken(_to, _amount);
Transfer(address(0), _to, _amount);
return true;
}
createTokenByAtes keyboard_arrow_up
Modifiers help
onlyOwnerOrAuthorized checks for the following:
Requirements help
Source Code
function createTokenByAtes(
address _to,
uint256 _amount,
string _data
) public onlyOwnerOrAuthorized returns (bool) {
require(_to != address(0));
require(_amount > 0);
require(bytes(_data).length > 0);
require(MAX_TOKEN_SUPPLY >= totalSupply_ + _amount);
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
// KYC
frozens[_to] = true;
FrozenAddress(_to);
CreateTokenByAtes(_to, _amount, _data);
Transfer(address(0), _to, _amount);
return true;
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.