Blockwell

PlayChip

ERC20

This contract is an ERC20 token.

Name PlayChip
Symbol PLA
Decimals 18
Total Supply 50,000,000,000 PLA

About link description

PlayChip’s vision is to become the Universal Gaming Token. PlayChip is an ERC20 token at the centre of an existing online gaming ecosystem. PlayChip will serve as the payment and rewards system to an existing user base in the range of over one million in approximately 70 different countries. The PlayChip may be used to enter competitions and challenges, deliver instant payouts, incentivise new and existing users, and carry metadata to help the operational partners of the PlayChip determine whether users can enter certain challenges or bets on their platform based on the local jurisdiction after the KYC of each user.

Stats

Public Functions 15
Event Types 10
Code Size 26,251 bytes

Approval Event

Parameters help
owner
address help
spender
address help
quantity
uint help

OwnerChanged Event

Parameters help
oldOwner
address help
newOwner
address help

OwnerNominated Event

Parameters help
newOwner
address help

Paused Event

Parameters help

SelfDestructBeneficiaryUpdated Event

Parameters help
newBeneficiary
address help

SelfDestructInitiated Event

Parameters help
selfDestructDelay
uint help

SelfDestructTerminated Event

Parameters help

SelfDestructed Event

Parameters help
beneficiary
address help

Transfer Event

Parameters help
from
address help
to
address help
quantity
uint help

Unpaused Event

Parameters help

Functions Expand All Collapse All

nominateNewOwner keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function nominateNewOwner(address _owner)
        public
        onlyOwner
    {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }

acceptOwnership keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function acceptOwnership()
        external
    {
        require(msg.sender == nominatedOwner, "Not nominated.");
        emit OwnerChanged(owner, nominatedOwner);
        owner = nominatedOwner;
        nominatedOwner = address(0);
    }

setSelfDestructBeneficiary keyboard_arrow_up

Parameters help

Name Type
_beneficiary
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function setSelfDestructBeneficiary(address _beneficiary)
        external
        onlyOwner
    {
        require(_beneficiary != address(0), "Beneficiary must not be the zero address.");
        selfDestructBeneficiary = _beneficiary;
        emit SelfDestructBeneficiaryUpdated(_beneficiary);
    }

initiateSelfDestruct keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function initiateSelfDestruct()
        external
        onlyOwner
    {
        require(!selfDestructInitiated, "Self-destruct already initiated.");
        selfDestructInitiationTime = now;
        selfDestructInitiated = true;
        emit SelfDestructInitiated(SELFDESTRUCT_DELAY);
    }

terminateSelfDestruct keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function terminateSelfDestruct()
        external
        onlyOwner
    {
        require(selfDestructInitiated, "Self-destruct not yet initiated.");
        selfDestructInitiationTime = 0;
        selfDestructInitiated = false;
        emit SelfDestructTerminated();
    }

selfDestruct keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function selfDestruct()
        external
        onlyOwner
    {
        require(selfDestructInitiated, "Self-destruct not yet initiated.");
        require(selfDestructInitiationTime + SELFDESTRUCT_DELAY < now, "Self-destruct delay has not yet elapsed.");
        address beneficiary = selfDestructBeneficiary;
        emit SelfDestructed(beneficiary);
        selfdestruct(beneficiary);
    }

pause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function pause() 
        public
        onlyOwner
    {
        _pause();
    }

unpause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function unpause()
        public
        onlyOwner
    {
        _unpause();
    }

approve keyboard_arrow_up

Parameters help

Name Type
spender
address help
quantity
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
    function approve(address spender, uint quantity)
        public
        pausableIfNotSelfDestructing
        returns (bool)
    {
        require(spender != address(0), "Approvals for 0x0 disallowed.");
        allowance[msg.sender][spender] = quantity;
        emit Approval(msg.sender, spender, quantity);
        return true;
    }

transfer keyboard_arrow_up

Parameters help

Name Type
to
address help
quantity
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
    function transfer(address to, uint quantity)
        public
        pausableIfNotSelfDestructing
        returns (bool)
    {
        return _transfer(msg.sender, to, quantity);
    }

transferFrom keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
quantity
uint help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
    function transferFrom(address from, address to, uint quantity)
        public
        pausableIfNotSelfDestructing
        returns (bool)
    {
        // safeSub handles insufficient allowance.
        allowance[from][msg.sender] = safeSub(allowance[from][msg.sender], quantity);
        return _transfer(from, to, quantity);
    }

batchTransfer keyboard_arrow_up

Parameters help

Name Type
recipients
address[] help
quantities
uint[] help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
    function batchTransfer(address[] recipients, uint[] quantities)
        external
        pausableIfNotSelfDestructing
        returns (bool)
    {
        return _batchTransfer(msg.sender, recipients, quantities);
    }

batchApprove keyboard_arrow_up

Parameters help

Name Type
spenders
address[] help
quantities
uint[] help

Properties

Visibility help public
Mutability help transaction
Source Code
    function batchApprove(address[] spenders, uint[] quantities)
        external
        pausableIfNotSelfDestructing
        requireSameLength(spenders.length, quantities.length)
        returns (bool)
    {
        uint length = spenders.length;
        for (uint i = 0; i < length; i++) {
            approve(spenders[i], quantities[i]);
        }
        return true;
    }

batchTransferFrom keyboard_arrow_up

Parameters help

Name Type
spenders
address[] help
recipients
address[] help
quantities
uint[] help

Properties

Visibility help public
Mutability help transaction
Source Code
    function batchTransferFrom(address[] spenders, address[] recipients, uint[] quantities)
        external
        pausableIfNotSelfDestructing
        requireSameLength(spenders.length, recipients.length)
        requireSameLength(recipients.length, quantities.length)
        returns (bool)
    {
        uint length = spenders.length;
        for (uint i = 0; i < length; i++) {
            transferFrom(spenders[i], recipients[i], quantities[i]);
        }
        return true;
    }

contractBatchTransfer keyboard_arrow_up

Parameters help

Name Type
recipients
address[] help
quantities
uint[] help

Properties

Visibility help public
Mutability help transaction
Source Code
    function contractBatchTransfer(address[] recipients, uint[] quantities)
        external
        onlyOwner
        returns (bool)
    {
        return _batchTransfer(this, recipients, quantities);
    }