Blockwell

FunFair

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

Approval Event

Parameters help
owner
address help
spender
address help
value
uint help

Motd Event

Parameters help
message
string help

Transfer Event

Parameters help
from
address help
to
address help
value
uint help

logTokenTransfer Event

Parameters help
token
address help
to
address help
amount
uint help

name Variable

string help

decimals Variable

uint8 help

symbol Variable

string help

multilocked Variable

bool help

motd Variable

string help

finalized Variable

bool help

owner Variable

address help

controller Variable

Controller help
Internal Variable

owner Variable

address help
Internal Variable

newOwner Variable

address help
Internal Variable

Functions Expand All Collapse All

Parameters help

Name Type
_newOwner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function changeOwner(address _newOwner) onlyOwner {
  newOwner = _newOwner;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function acceptOwnership() {
  if (msg.sender == newOwner) {
    owner = newOwner;
  }
}

Parameters help

Name Type
_token
address help
_to
address help

Properties

Visibility help public
Mutability help transaction
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;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function finalize() onlyOwner {
  finalized = true;
}

Parameters help

Name Type
_c
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setController(address _c) onlyOwner notFinalized {
  controller = Controller(_c);
}

Parameters help

Name Type
a
address help

Properties

Visibility help public
Mutability help constant
Source Code
function balanceOf(address a) constant returns (uint256) {
  return controller.balanceOf(a);
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function totalSupply() constant returns (uint256) {
  return controller.totalSupply();
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function allowance(address _owner, address _spender)
  constant
  returns (uint256)
{
  return controller.allowance(_owner, _spender);
}

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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);
  }
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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);
  }
}

Parameters help

Name Type
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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);
  }
}

Parameters help

Name Type
_spender
address help
_addedValue
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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);
  }
}

Parameters help

Name Type
_spender
address help
_subtractedValue
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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);
  }
}

Parameters help

Name Type
_amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function burn(uint256 _amount) {
  controller.burn(msg.sender, _amount);
  Transfer(msg.sender, 0x0, _amount);
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function controllerTransfer(
  address _from,
  address _to,
  uint256 _value
) onlyController {
  Transfer(_from, _to, _value);
}

Parameters help

Name Type
_owner
address help
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function controllerApprove(
  address _owner,
  address _spender,
  uint256 _value
) onlyController {
  Approval(_owner, _spender, _value);
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function lockMultis() onlyOwner {
  multilocked = true;
}

Parameters help

Name Type
bits
uint[] help

Properties

Visibility help public
Mutability help transaction

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);
  }
}

Parameters help

Name Type
bits
uint[] help

Properties

Visibility help public
Mutability help transaction

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);
  }
}

Parameters help

Name Type
_m
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function setMotd(string _m) onlyOwner {
  motd = _m;
  Motd(_m);
}

Internal Functions Expand All Collapse All

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

Parameters help

Name Type
a
uint help
b
uint help

Properties

Visibility help internal
Mutability help transaction
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

Parameters help

Name Type
a
uint help
b
uint help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function safeSub(uint256 a, uint256 b) internal returns (uint256) {
  assert(b <= a);
  return a - b;
}

internal SafeMath.safeAdd keyboard_arrow_up

Parameters help

Name Type
a
uint help
b
uint help

Properties

Visibility help internal
Mutability help transaction
Source Code
function safeAdd(uint256 a, uint256 b) internal returns (uint256) {
  uint256 c = a + b;
  assert(c >= a && c >= b);
  return c;
}

internal SafeMath.assert keyboard_arrow_up

Parameters help

Name Type
assertion
bool help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function assert(bool assertion) internal {
  if (!assertion) throw;
}