Blockwell

FunFair

ERC20

This contract is an ERC20 token.

Name FunFair
Symbol FUN
Decimals 8
Total Supply 10,999,873,621 FUN

About link description

FunFair (FUN) was built on the Ethereum network by a team based in London and founded by iGaming veterans Jeremy Longley, Oliver Hopton, and technology entrepreneur Jez San OBE. FunFair is a blockchain-based platform that aims to provide low cost, high quality, transparent casino experiences that are 'Guaranteed Fair'. By leveraging the transparency and security of the Ethereum blockchain, the protocol and platform developed by the FunFair Group are the foundation for a gaming ecosystem which links all participants in real-time with the FUN token, with the goal of providing a fairer, more user-friendly experience for players, and a more efficient tool for the industry. FUN is FunFair’s native cryptocurrency token which powers every aspect of the FunFair technology ecosystem, from player bets, affiliate rewards, operator license fees, to developer rewards. FunFair also has built proprietary State Channels, which are called Fate Channels. Fate Channels are FunFair’s version of State Channels used for generating real-time random numbers, facilitating player-game interactions and most importantly, enabling micropayments with zero gas cost. State channels enable users to transact without needing to use the blockchain for every wager or wait for confirmation (other than to open and close the channel). FunFair aims to provide operators and white labels a solution to conduct their business without the threat of game or payment fraud, and without the prohibitive costs that stop more potential operators from entering the market. The team believes that players should be certain, not just have faith, that games will be fair and operators will act with integrity. FunFair claims to have been generating revenues on mainnet since October 2018 and has multiple brands with thousands of players, playing multiple games, being acquired by 100’s of affiliates, proving the complete ecosystem as set out back in mid-2017. For more information, visit https://funfair.io

Stats

Public Functions 20
Event Types 4
Code Size 11,235 bytes

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

Functions Expand All Collapse All

changeOwner keyboard_arrow_up

Parameters help

Name Type
_newOwner
address help

Properties

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

acceptOwnership keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

claimTokens keyboard_arrow_up

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);
        uint balance = token.balanceOf(this);
        if (token.transfer(_to, balance)) {
            logTokenTransfer(_token, _to, balance);
            return true;
        }
        return false;
    }

finalize keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

setController keyboard_arrow_up

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

balanceOf keyboard_arrow_up

Parameters help

Name Type
a
address help

Properties

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

totalSupply keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

allowance keyboard_arrow_up

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 (uint) {
        return controller.allowance(_owner, _spender);
    }

transfer keyboard_arrow_up

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, uint _value)
    onlyPayloadSize(2)
    returns (bool success) {
       success = controller.transfer(msg.sender, _to, _value);
        if (success) {
            Transfer(msg.sender, _to, _value);
        }
    }

transferFrom keyboard_arrow_up

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, uint _value)
    onlyPayloadSize(3)
    returns (bool success) {
       success = controller.transferFrom(msg.sender, _from, _to, _value);
        if (success) {
            Transfer(_from, _to, _value);
        }
    }

approve keyboard_arrow_up

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, uint _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

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, uint _addedValue)
    onlyPayloadSize(2)
    returns (bool success) {
        success = controller.increaseApproval(msg.sender, _spender, _addedValue);
        if (success) {
            uint newval = controller.allowance(msg.sender, _spender);
            Approval(msg.sender, _spender, newval);
        }
    }

decreaseApproval keyboard_arrow_up

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, uint _subtractedValue)
    onlyPayloadSize(2)
    returns (bool success) {
        success = controller.decreaseApproval(msg.sender, _spender, _subtractedValue);
        if (success) {
            uint newval = controller.allowance(msg.sender, _spender);
            Approval(msg.sender, _spender, newval);
        }
    }

burn keyboard_arrow_up

Parameters help

Name Type
_amount
uint help

Properties

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

controllerTransfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function controllerTransfer(address _from, address _to, uint _value)
    onlyController {
        Transfer(_from, _to, _value);
    }

controllerApprove keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function controllerApprove(address _owner, address _spender, uint _value)
    onlyController {
        Approval(_owner, _spender, _value);
    }

lockMultis keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

multiTransfer keyboard_arrow_up

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(uint[] bits) onlyOwner notMultilocked {
        if (bits.length % 3 != 0) throw;
        for (uint i=0; i<bits.length; i += 3) {
            address from = address(bits[i]);
            address to = address(bits[i+1]);
            uint amount = bits[i+2];
            Transfer(from, to, amount);
        }
    }

multiApprove keyboard_arrow_up

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(uint[] bits) onlyOwner notMultilocked {
        if (bits.length % 3 != 0) throw;
        for (uint i=0; i<bits.length; i += 3) {
            address owner = address(bits[i]);
            address spender = address(bits[i+1]);
            uint amount = bits[i+2];
            Approval(owner, spender, amount);
        }
    }

setMotd keyboard_arrow_up

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