ERC20
This contract is an ERC20 token.
Name
AION
Symbol
AION
Decimals
8
Total Supply
465,934,587 AION
About
Stats
Public Functions
26
Event Types
5
Code Size
20,744 bytes
Events (5) keyboard_arrow_up
Functions
changeOwner keyboard_arrow_up
acceptOwnership keyboard_arrow_up
pause keyboard_arrow_up
unpause keyboard_arrow_up
claimTokens keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function claimTokens(address _token, address _to) onlyOwner returns (bool) {
IToken token = IToken(_token);
return token.transfer(_to, token.balanceOf(this));
}
finalize keyboard_arrow_up
setMotd keyboard_arrow_up
setController keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
notFinalized checks for the following:
Source Code
function setController(address _c) onlyOwner notFinalized {
controller = Controller(_c);
}
balanceOf keyboard_arrow_up
totalSupply keyboard_arrow_up
allowance keyboard_arrow_up
transfer keyboard_arrow_up
Source Code
function transfer(address _to, uint256 _value)
notPaused
returns (bool success)
{
if (controller.transfer(msg.sender, _to, _value)) {
Transfer(msg.sender, _to, _value);
return true;
}
return false;
}
transferFrom keyboard_arrow_up
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) notPaused returns (bool success) {
if (controller.transferFrom(msg.sender, _from, _to, _value)) {
Transfer(_from, _to, _value);
return true;
}
return false;
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value)
notPaused
returns (bool success)
{
// promote safe user behavior
if (controller.approve(msg.sender, _spender, _value)) {
Approval(msg.sender, _spender, _value);
return true;
}
return false;
}
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
notPaused
returns (bool success)
{
if (controller.increaseApproval(msg.sender, _spender, _addedValue)) {
uint256 newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
return true;
}
return false;
}
decreaseApproval keyboard_arrow_up
Source Code
function decreaseApproval(address _spender, uint256 _subtractedValue)
notPaused
returns (bool success)
{
if (controller.decreaseApproval(msg.sender, _spender, _subtractedValue)) {
uint256 newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
return true;
}
return false;
}
controllerTransfer keyboard_arrow_up
Modifiers help
onlyController checks for the following:
Source Code
function controllerTransfer(
address _from,
address _to,
uint256 _value
) onlyController {
Transfer(_from, _to, _value);
}
controllerApprove keyboard_arrow_up
Modifiers help
onlyController checks for the following:
Source Code
function controllerApprove(
address _owner,
address _spender,
uint256 _value
) onlyController {
Approval(_owner, _spender, _value);
}
controllerBurn keyboard_arrow_up
Modifiers help
onlyController checks for the following:
Source Code
function controllerBurn(
address _from,
bytes32 _to,
uint256 _value
) onlyController {
Burn(_from, _to, _value);
}
controllerClaim keyboard_arrow_up
Modifiers help
onlyController checks for the following:
Source Code
function controllerClaim(address _claimer, uint256 _value) onlyController {
Claimed(_claimer, _value);
}
setBurnAddress keyboard_arrow_up
Modifiers help
onlyController checks for the following:
Source Code
function setBurnAddress(address _address) onlyController {
burnAddress = _address;
}
enableBurning keyboard_arrow_up
disableBurning keyboard_arrow_up
burn keyboard_arrow_up
Modifiers help
Source Code
function burn(bytes32 _to, uint256 _amount)
notPaused
burnEnabled
returns (bool success)
{
return controller.burn(msg.sender, _to, _amount);
}
claimByProof keyboard_arrow_up
Modifiers help
Source Code
function claimByProof(
bytes32[] data,
bytes32[] proofs,
uint256 number
) notPaused burnEnabled returns (bool success) {
return controller.claimByProof(msg.sender, data, proofs, number);
}
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 SafeMath.safeMul keyboard_arrow_up
Requirements help
Source Code
function safeMul(uint256 a, uint256 b) internal returns (uint256) {
uint256 c = a * b;
require(a == 0 || c / a == b);
return c;
}
internal SafeMath.safeSub keyboard_arrow_up
internal SafeMath.safeAdd keyboard_arrow_up
Source Code
function safeAdd(uint256 a, uint256 b) internal returns (uint256) {
uint256 c = a + b;
require(c >= a && c >= b);
return c;
}