ERC20
This contract is an ERC20 token.
Name
PlayChip
Symbol
PLA
Decimals
18
Total Supply
50,000,000,000 PLA
About link description
PlayChip (PLA) is a cryptocurrency and operates on the Ethereum platform. PlayChip has a current supply of 49,999,999,999.999901 with 0 in circulation. The last known price of PlayChip is 0.01265042 USD and is down -5.64 over the last 24 hours. It is currently trading on 4 active market(s) with $45,540.88 traded over the last 24 hours. More information can be found at https://www.playchip.com.
Stats
Public Functions
15
Event Types
10
Code Size
26,251 bytes
Events (10) keyboard_arrow_up
Constants (1) keyboard_arrow_up
State Variables (12) keyboard_arrow_up
Functions
nominateNewOwner keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function nominateNewOwner(address _owner) public onlyOwner {
nominatedOwner = _owner;
emit OwnerNominated(_owner);
}
acceptOwnership keyboard_arrow_up
setSelfDestructBeneficiary keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
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.
Modifiers help
onlyOwner checks for the following:
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.
Modifiers help
onlyOwner checks for the following:
Requirements help
selfDestructInitiated must be true
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.
Modifiers help
onlyOwner checks for the following:
Requirements help
selfDestructInitiated must be true
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
unpause keyboard_arrow_up
approve keyboard_arrow_up
Modifiers help
pausableIfNotSelfDestructing checks for the following:
Source Code
function approve(address spender, uint256 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
Modifiers help
pausableIfNotSelfDestructing checks for the following:
Source Code
function transfer(address to, uint256 quantity)
public
pausableIfNotSelfDestructing
returns (bool)
{
return _transfer(msg.sender, to, quantity);
}
transferFrom keyboard_arrow_up
Modifiers help
pausableIfNotSelfDestructing checks for the following:
Source Code
function transferFrom(
address from,
address to,
uint256 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
Modifiers help
pausableIfNotSelfDestructing checks for the following:
Source Code
function batchTransfer(address[] recipients, uint256[] quantities)
external
pausableIfNotSelfDestructing
returns (bool)
{
return _batchTransfer(msg.sender, recipients, quantities);
}
batchApprove keyboard_arrow_up
Modifiers help
pausableIfNotSelfDestructing checks for the following:
requireSameLength checks for the following:
Source Code
function batchApprove(address[] spenders, uint256[] quantities)
external
pausableIfNotSelfDestructing
requireSameLength(spenders.length, quantities.length)
returns (bool)
{
uint256 length = spenders.length;
for (uint256 i = 0; i < length; i++) {
approve(spenders[i], quantities[i]);
}
return true;
}
batchTransferFrom keyboard_arrow_up
Modifiers help
pausableIfNotSelfDestructing checks for the following:
requireSameLength checks for the following:
requireSameLength checks for the following:
Source Code
function batchTransferFrom(
address[] spenders,
address[] recipients,
uint256[] quantities
)
external
pausableIfNotSelfDestructing
requireSameLength(spenders.length, recipients.length)
requireSameLength(recipients.length, quantities.length)
returns (bool)
{
uint256 length = spenders.length;
for (uint256 i = 0; i < length; i++) {
transferFrom(spenders[i], recipients[i], quantities[i]);
}
return true;
}
contractBatchTransfer keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function contractBatchTransfer(address[] recipients, uint256[] quantities)
external
onlyOwner
returns (bool)
{
return _batchTransfer(this, recipients, quantities);
}
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 PlayChip.safeSub keyboard_arrow_up
internal PlayChip._transfer keyboard_arrow_up
Source Code
function _transfer(
address from,
address to,
uint256 quantity
) internal returns (bool) {
require(to != address(0), "Transfers to 0x0 disallowed.");
balanceOf[from] = safeSub(balanceOf[from], quantity); // safeSub handles insufficient balance.
balanceOf[to] += quantity;
emit Transfer(from, to, quantity);
return true;
/* Since balances are only manipulated here, and the sum of all
* balances is preserved, no balance is greater than
* totalSupply; the safeSub implies that balanceOf[to] + quantity is
* no greater than totalSupply.
* Thus a safeAdd is unnecessary, since overflow is impossible. */
}
internal PlayChip._batchTransfer keyboard_arrow_up
Modifiers help
requireSameLength checks for the following:
Source Code
function _batchTransfer(
address sender,
address[] recipients,
uint256[] quantities
)
internal
requireSameLength(recipients.length, quantities.length)
returns (bool)
{
uint256 length = recipients.length;
for (uint256 i = 0; i < length; i++) {
_transfer(sender, recipients[i], quantities[i]);
}
return true;
}