ERC20
This contract is an ERC20 token.
Name
yOUcash
Symbol
YOUC
Decimals
10
Total Supply
11,000,000,000 YOUC
About link description
yOUcash (YOUC) is a cryptocurrency and operates on the Ethereum platform. yOUcash has a current supply of 11,000,000,000 with 5,566,155,628.541632 in circulation. The last known price of yOUcash is 0.06486308 USD and is down -4.85 over the last 24 hours. It is currently trading on 5 active market(s) with $99,521.96 traded over the last 24 hours. More information can be found at https://youengine.io.
Identical Contracts
The following contracts have identical source code.
Stats
Public Functions
39
Event Types
9
Code Size
51,670 bytes
Events (9) keyboard_arrow_up
Constants (5) keyboard_arrow_up
State Variables (14) keyboard_arrow_up
Functions
supportsInterface keyboard_arrow_up
transferAndCall keyboard_arrow_up
transferAndCall keyboard_arrow_up
Requirements help
null
null
Source Code
function transferAndCall(
address to,
uint256 value,
bytes memory data
) public returns (bool) {
require(transfer(to, value));
require(_checkAndCallTransfer(msg.sender, to, value, data));
return true;
}
transferFromAndCall keyboard_arrow_up
Requirements help
null
null
Source Code
function transferFromAndCall(
address from,
address to,
uint256 value
) public returns (bool) {
return transferFromAndCall(from, to, value, "");
}
transferFromAndCall keyboard_arrow_up
Requirements help
null
null
Source Code
function transferFromAndCall(
address from,
address to,
uint256 value,
bytes memory data
) public returns (bool) {
require(transferFrom(from, to, value));
require(_checkAndCallTransfer(from, to, value, data));
return true;
}
approveAndCall keyboard_arrow_up
Requirements help
null
Source Code
function approveAndCall(address spender, uint256 value) public returns (bool) {
return approveAndCall(spender, value, "");
}
approveAndCall keyboard_arrow_up
Requirements help
null
Source Code
function approveAndCall(
address spender,
uint256 value,
bytes memory data
) public returns (bool) {
approve(spender, value);
require(_checkAndCallApprove(spender, value, data));
return true;
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
One or more of the following:
-null - OR_transferEnabled must be true
Requirements help
Source Code
function transfer(address to, uint256 value)
public
canTransfer(msg.sender)
returns (bool)
{
return super.transfer(to, value);
}
allowance keyboard_arrow_up
approve keyboard_arrow_up
Requirements help
Source Code
function approve(address spender, uint256 value) public returns (bool) {
_approve(msg.sender, spender, value);
return true;
}
transferFrom keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
One or more of the following:
-null - OR_transferEnabled must be true
Requirements help
Source Code
function transferFrom(
address from,
address to,
uint256 value
) public canTransfer(from) returns (bool) {
return super.transferFrom(from, to, value);
}
increaseAllowance keyboard_arrow_up
Requirements help
Source Code
function increaseAllowance(address spender, uint256 addedValue)
public
returns (bool)
{
_approve(
msg.sender,
spender,
_allowances[msg.sender][spender].add(addedValue)
);
return true;
}
decreaseAllowance keyboard_arrow_up
Requirements help
Source Code
function decreaseAllowance(address spender, uint256 subtractedValue)
public
returns (bool)
{
_approve(
msg.sender,
spender,
_allowances[msg.sender][spender].sub(subtractedValue)
);
return true;
}
owner keyboard_arrow_up
isOwner keyboard_arrow_up
renounceOwnership keyboard_arrow_up
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
null
Source Code
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
recoverERC20 keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
null
Source Code
function recoverERC20(address tokenAddress, uint256 tokenAmount)
public
onlyOwner
{
IERC20(tokenAddress).transfer(owner(), tokenAmount);
}
isOperator keyboard_arrow_up
addOperator keyboard_arrow_up
renounceOperator keyboard_arrow_up
burn keyboard_arrow_up
burnFrom keyboard_arrow_up
Requirements help
Source Code
function burnFrom(address account, uint256 amount) public {
_burnFrom(account, amount);
}
isMinter keyboard_arrow_up
addMinter keyboard_arrow_up
renounceMinter keyboard_arrow_up
mint keyboard_arrow_up
cap keyboard_arrow_up
name keyboard_arrow_up
symbol keyboard_arrow_up
decimals keyboard_arrow_up
mintingFinished keyboard_arrow_up
transferEnabled keyboard_arrow_up
finishMinting keyboard_arrow_up
enableTransfer keyboard_arrow_up
removeOperator keyboard_arrow_up
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 ERC20Capped._mint keyboard_arrow_up
Requirements help
Source Code
function _mint(address account, uint256 value) internal {
require(totalSupply().add(value) <= _cap, "ERC20Capped: cap exceeded");
super._mint(account, value);
}
internal ERC20._transfer keyboard_arrow_up
Requirements help
Source Code
function _transfer(
address sender,
address recipient,
uint256 amount
) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_balances[sender] = _balances[sender].sub(amount);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
internal ERC20._mint keyboard_arrow_up
Source Code
function _mint(address account, uint256 amount) internal {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
internal ERC20._burn keyboard_arrow_up
Requirements help
Source Code
function _burn(address account, uint256 value) internal {
require(account != address(0), "ERC20: burn from the zero address");
_totalSupply = _totalSupply.sub(value);
_balances[account] = _balances[account].sub(value);
emit Transfer(account, address(0), value);
}
internal ERC20._approve keyboard_arrow_up
Requirements help
Source Code
function _approve(
address owner,
address spender,
uint256 value
) internal {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = value;
emit Approval(owner, spender, value);
}
internal ERC20._burnFrom keyboard_arrow_up
Requirements help
Source Code
function _burnFrom(address account, uint256 amount) internal {
_burn(account, amount);
_approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
}
internal MinterRole.constructor keyboard_arrow_up
internal MinterRole._addMinter keyboard_arrow_up
internal MinterRole._removeMinter keyboard_arrow_up
internal ERC20._transfer keyboard_arrow_up
Requirements help
Source Code
function _transfer(
address sender,
address recipient,
uint256 amount
) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_balances[sender] = _balances[sender].sub(amount);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
internal ERC20._mint keyboard_arrow_up
Source Code
function _mint(address account, uint256 amount) internal {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
internal ERC20._burn keyboard_arrow_up
Requirements help
Source Code
function _burn(address account, uint256 value) internal {
require(account != address(0), "ERC20: burn from the zero address");
_totalSupply = _totalSupply.sub(value);
_balances[account] = _balances[account].sub(value);
emit Transfer(account, address(0), value);
}
internal ERC20._approve keyboard_arrow_up
Requirements help
Source Code
function _approve(
address owner,
address spender,
uint256 value
) internal {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = value;
emit Approval(owner, spender, value);
}
internal ERC20._burnFrom keyboard_arrow_up
Requirements help
Source Code
function _burnFrom(address account, uint256 amount) internal {
_burn(account, amount);
_approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
}
internal OperatorRole.constructor keyboard_arrow_up
internal OperatorRole._addOperator keyboard_arrow_up
internal OperatorRole._removeOperator keyboard_arrow_up
internal Ownable.constructor keyboard_arrow_up
internal Ownable._transferOwnership keyboard_arrow_up
Source Code
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
internal ERC1363._checkAndCallTransfer keyboard_arrow_up
Source Code
function _checkAndCallTransfer(
address from,
address to,
uint256 value,
bytes memory data
) internal returns (bool) {
if (!to.isContract()) {
return false;
}
bytes4 retval = IERC1363Receiver(to).onTransferReceived(
msg.sender,
from,
value,
data
);
return (retval == _ERC1363_RECEIVED);
}
internal ERC1363._checkAndCallApprove keyboard_arrow_up
Source Code
function _checkAndCallApprove(
address spender,
uint256 value,
bytes memory data
) internal returns (bool) {
if (!spender.isContract()) {
return false;
}
bytes4 retval = IERC1363Spender(spender).onApprovalReceived(
msg.sender,
value,
data
);
return (retval == _ERC1363_APPROVED);
}
internal ERC20._transfer keyboard_arrow_up
Requirements help
Source Code
function _transfer(
address sender,
address recipient,
uint256 amount
) internal {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_balances[sender] = _balances[sender].sub(amount);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
internal ERC20._mint keyboard_arrow_up
Source Code
function _mint(address account, uint256 amount) internal {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
internal ERC20._burn keyboard_arrow_up
Requirements help
Source Code
function _burn(address account, uint256 value) internal {
require(account != address(0), "ERC20: burn from the zero address");
_totalSupply = _totalSupply.sub(value);
_balances[account] = _balances[account].sub(value);
emit Transfer(account, address(0), value);
}
internal ERC20._approve keyboard_arrow_up
Requirements help
Source Code
function _approve(
address owner,
address spender,
uint256 value
) internal {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = value;
emit Approval(owner, spender, value);
}
internal ERC20._burnFrom keyboard_arrow_up
Requirements help
Source Code
function _burnFrom(address account, uint256 amount) internal {
_burn(account, amount);
_approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
}
internal ERC165.constructor keyboard_arrow_up
internal ERC165._registerInterface keyboard_arrow_up
Requirements help
Source Code
function _registerInterface(bytes4 interfaceId) internal {
require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
_supportedInterfaces[interfaceId] = true;
}