ERC20
This contract is an ERC20 token.
Name
FunFair
Symbol
FUN
Decimals
8
Total Supply
10,999,873,621 FUN
About link
FUNToken (FUN) is a cryptocurrency and operates on the Ethereum platform. FUNToken has a current supply of 10,999,873,621.398026 with 10,418,879,189.66342 in circulation. The last known price of FUNToken is 0.01519024 USD and is up 4.89 over the last 24 hours. It is currently trading on 25 active market(s) with $1,573,085.63 traded over the last 24 hours. More information can be found at https://funtoken.io/.
Stats
Public Functions
20
Event Types
4
Code Size
11,235 bytes
Events (4) keyboard_arrow_up
State Variables (10) keyboard_arrow_up
Functions
changeOwner keyboard_arrow_up
acceptOwnership 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);
uint256 balance = token.balanceOf(this);
if (token.transfer(_to, balance)) {
logTokenTransfer(_token, _to, balance);
return true;
}
return false;
}
finalize 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
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function transfer(address _to, uint256 _value)
onlyPayloadSize(2)
returns (bool success)
{
success = controller.transfer(msg.sender, _to, _value);
if (success) {
Transfer(msg.sender, _to, _value);
}
}
transferFrom keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) onlyPayloadSize(3) returns (bool success) {
success = controller.transferFrom(msg.sender, _from, _to, _value);
if (success) {
Transfer(_from, _to, _value);
}
}
approve keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Requirements help
UNKNOWN VALUE
must be less than or equal to
0
Source Code
function approve(address _spender, uint256 _value)
onlyPayloadSize(2)
returns (bool success)
{
//promote safe user behavior
if (controller.allowance(msg.sender, _spender) > 0) throw;
success = controller.approve(msg.sender, _spender, _value);
if (success) {
Approval(msg.sender, _spender, _value);
}
}
increaseApproval keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
onlyPayloadSize(2)
returns (bool success)
{
success = controller.increaseApproval(msg.sender, _spender, _addedValue);
if (success) {
uint256 newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
}
}
decreaseApproval keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function decreaseApproval(address _spender, uint256 _subtractedValue)
onlyPayloadSize(2)
returns (bool success)
{
success = controller.decreaseApproval(msg.sender, _spender, _subtractedValue);
if (success) {
uint256 newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
}
}
burn keyboard_arrow_up
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);
}
lockMultis keyboard_arrow_up
multiTransfer keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
notMultilocked checks for the following:
Requirements help
UNKNOWN VALUE
must be equal to
0
Source Code
function multiTransfer(uint256[] bits) onlyOwner notMultilocked {
if (bits.length % 3 != 0) throw;
for (uint256 i = 0; i < bits.length; i += 3) {
address from = address(bits[i]);
address to = address(bits[i + 1]);
uint256 amount = bits[i + 2];
Transfer(from, to, amount);
}
}
multiApprove keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
notMultilocked checks for the following:
Requirements help
UNKNOWN VALUE
must be equal to
0
Source Code
function multiApprove(uint256[] bits) onlyOwner notMultilocked {
if (bits.length % 3 != 0) throw;
for (uint256 i = 0; i < bits.length; i += 3) {
address owner = address(bits[i]);
address spender = address(bits[i + 1]);
uint256 amount = bits[i + 2];
Approval(owner, spender, amount);
}
}
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;
assert(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;
assert(c >= a && c >= b);
return c;
}