QNTU Token
ERC20
This contract is an ERC20 token.
Name
QNTU Token
Symbol
QNTU
Decimals
18
Total Supply
120,000,000,000 QNTU
About
Stats
Public Functions
17
Event Types
11
Code Size
17,110 bytes
Events (11) keyboard_arrow_up
State Variables (12) keyboard_arrow_up
Functions
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address _newOwner) public onlyOwner {
require(_newOwner != 0);
OwnershipTransferred(owner, _newOwner);
owner = _newOwner;
}
changeTokenInformation keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function changeTokenInformation(string _name, string _symbol) public onlyOwner {
name = _name;
symbol = _symbol;
ChangeTokenInformation(_name, _symbol);
}
transfer keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Source Code
function transfer(address _to, uint256 _value)
public
canTransfer
returns (bool)
{
return super.transfer(_to, _value);
}
transferFrom keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) public canTransfer returns (bool) {
return super.transferFrom(_from, _to, _value);
}
approve keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Source Code
function approve(address _spender, uint256 _value)
public
canTransfer
returns (bool)
{
return super.approve(_spender, _value);
}
increaseApproval keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Requirements help
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
public
canTransfer
returns (bool)
{
return super.increaseApproval(_spender, _addedValue);
}
decreaseApproval keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Requirements help
Source Code
function decreaseApproval(address _spender, uint256 _subtractedValue)
public
canTransfer
returns (bool)
{
return super.decreaseApproval(_spender, _subtractedValue);
}
allowance keyboard_arrow_up
freezeTransfer keyboard_arrow_up
unfreezeTransfer keyboard_arrow_up
changeUpgradeMaster keyboard_arrow_up
changeUpgradeAgent keyboard_arrow_up
freezeUpgrade keyboard_arrow_up
unfreezeUpgrade keyboard_arrow_up
upgrade keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
canUpgrade checks for the following:
isUpgradable must be true
Source Code
function upgrade() public canUpgrade {
uint256 amount = balanceOf[msg.sender];
require(amount > 0);
processUpgrade(msg.sender, amount);
}
forceUpgrade keyboard_arrow_up
Modifiers help
onlyUpgradeMaster checks for the following:
canUpgrade checks for the following:
isUpgradable must be true
Source Code
function forceUpgrade(address[] _holders) public onlyUpgradeMaster canUpgrade {
uint256 amount;
for (uint256 i = 0; i < _holders.length; i++) {
amount = balanceOf[_holders[i]];
if (amount == 0) {
continue;
}
processUpgrade(_holders[i], amount);
}
}
transferToContract keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
isTradable must be true
Source Code
function transferToContract(address _to, uint256 _value)
public
canTransfer
returns (bool)
{
require(_value > 0);
balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
balanceOf[_to] = balanceOf[_to].add(_value);
ReceivingContract receiver = ReceivingContract(_to);
receiver.tokenFallback(msg.sender, _value);
Transfer(msg.sender, _to, _value);
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.
internal UpgradableToken.processUpgrade keyboard_arrow_up
Source Code
function processUpgrade(address _holder, uint256 _amount) private {
balanceOf[_holder] = balanceOf[_holder].sub(_amount);
// Take tokens out from circulation
totalSupply = totalSupply.sub(_amount);
totalUpgraded = totalUpgraded.add(_amount);
// Upgrade agent reissues the tokens
upgradeAgent.upgradeFrom(_holder, _amount);
Upgrade(_holder, upgradeAgent, _amount);
}