ERC20
This contract is an ERC20 token.
Name
Async Art
Symbol
ASYNC-V2
Decimals
Total Supply
NaN ASYNC-V2
About
Stats
Public Functions
39
Event Types
10
Code Size
68,271 bytes
Library Use
Uses SafeERC20 for ERC20UpgradeBase.
Events (10) keyboard_arrow_up
Functions
owner keyboard_arrow_up
renounceOwnership keyboard_arrow_up
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
name keyboard_arrow_up
symbol keyboard_arrow_up
decimals keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address recipient, uint256 amount)
public
virtual
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
allowance keyboard_arrow_up
approve keyboard_arrow_up
Requirements help
Source Code
function approve(address spender, uint256 amount)
public
virtual
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
increaseAllowance keyboard_arrow_up
Requirements help
Source Code
function increaseAllowance(address spender, uint256 addedValue)
public
virtual
returns (bool)
{
_approve(
_msgSender(),
spender,
_allowances[_msgSender()][spender].add(addedValue)
);
return true;
}
decreaseAllowance keyboard_arrow_up
Requirements help
Source Code
function decreaseAllowance(address spender, uint256 subtractedValue)
public
virtual
returns (bool)
{
_approve(
_msgSender(),
spender,
_allowances[_msgSender()][spender].sub(
subtractedValue,
"ERC20: decreased allowance below zero"
)
);
return true;
}
registerLockableAccount keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function registerLockableAccount(address newMemberAddress, uint _lockedUntilDate) external onlyOwner{
require(newMemberAddress != address(0), "ERC20Lockable: Registered account cannot be from address(0)");
_lockableAccounts[newMemberAddress] = Account(_lockedUntilDate,true);
emit RegisteredNewLockableAccount(newMemberAddress);
}
registerUnlockableAccount keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function registerUnlockableAccount(address newUnlockableAddress) external onlyOwner {
require(newUnlockableAddress != address(0), "ERC20Lockable: Registered account cannot be from address(0)");
_unlockableAddresses[newUnlockableAddress] = true;
emit RegisteredNewUnlockableAccount(newUnlockableAddress);
}
getLockDateForAccount keyboard_arrow_up
Source Code
function getLockDateForAccount(address lockedAccountAddress) external view returns (uint) {
require(_lockableAccounts[lockedAccountAddress].exists, "ERC20Lockable: This address does not exist.");
return _lockableAccounts[lockedAccountAddress].lockedUntilDate;
}
disableUnlockableAccount keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function disableUnlockableAccount(address unlockableAddress) external onlyOwner {
require(_unlockableAddresses[unlockableAddress], "ERC20Lockable: This address does not exists or it is already disabled.");
_unlockableAddresses[unlockableAddress] = false;
emit DisabledUnlockableAccount(unlockableAddress);
}
token keyboard_arrow_up
beneficiary keyboard_arrow_up
releaseTime keyboard_arrow_up
release keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function release() public virtual {
// solhint-disable-next-line not-rely-on-time
require(
block.timestamp >= _releaseTime,
"TokenTimelock: current time is before release time"
);
uint256 amount = _token.balanceOf(address(this));
require(amount > 0, "TokenTimelock: no tokens to release");
_token.safeTransfer(_beneficiary, amount);
}
cap keyboard_arrow_up
paused keyboard_arrow_up
burn keyboard_arrow_up
burnFrom keyboard_arrow_up
Requirements help
Source Code
function burnFrom(address account, uint256 amount) public virtual {
uint256 decreasedAllowance = allowance(account, _msgSender()).sub(
amount,
"ERC20: burn amount exceeds allowance"
);
_approve(account, _msgSender(), decreasedAllowance);
_burn(account, amount);
}
hasRole keyboard_arrow_up
getRoleMemberCount keyboard_arrow_up
getRoleMember keyboard_arrow_up
getRoleAdmin keyboard_arrow_up
grantRole keyboard_arrow_up
Requirements help
null
Source Code
function grantRole(bytes32 role, address account) public virtual {
require(
hasRole(_roles[role].adminRole, _msgSender()),
"AccessControl: sender must be an admin to grant"
);
_grantRole(role, account);
}
revokeRole keyboard_arrow_up
Requirements help
null
Source Code
function revokeRole(bytes32 role, address account) public virtual {
require(
hasRole(_roles[role].adminRole, _msgSender()),
"AccessControl: sender must be an admin to revoke"
);
_revokeRole(role, account);
}
renounceRole keyboard_arrow_up
Requirements help
Source Code
function renounceRole(bytes32 role, address account) public virtual {
require(
account == _msgSender(),
"AccessControl: can only renounce roles for self"
);
_revokeRole(role, account);
}
initialize keyboard_arrow_up
Source Code
function initialize(string memory name, string memory symbol, uint cap) public override {
super.initialize(name, symbol, cap);
__ERC20UpgradeBase_init();
}
mint keyboard_arrow_up
Source Code
function mint(address to, uint256 amount) public {
require(
hasRole(MINTER_ROLE, _msgSender()),
"ERC20PresetMinterPauser: must have minter role to mint"
);
_mint(to, amount);
}
pause keyboard_arrow_up
unpause keyboard_arrow_up
__ERC20UpgradeBase_init keyboard_arrow_up
initialize keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
initializer checks for the following:
Source Code
function initialize() public initializer {
ERC20UpgradeBase.initialize("Next Innovation", "NIN", 1000000000 * (10**uint256(decimals())));
_setupDecimals(6);
mint(msg.sender, 1000000000 * (10**uint256(decimals())));
}