CudosToken
ERC20
This contract is an ERC20 token.
Name
CudosToken
Symbol
CUDOS
Decimals
18
Total Supply
10,000,000,000 CUDOS
About link
CUDOS (CUDOS) is a cryptocurrency and operates on the Ethereum platform. CUDOS has a current supply of 10,000,000,000 with 1,172,338,014.6667266 in circulation. The last known price of CUDOS is 0.02075541 USD and is down -10.85 over the last 24 hours. It is currently trading on 10 active market(s) with $483,372.89 traded over the last 24 hours. More information can be found at https://www.cudos.org/.
Stats
Public Functions
14
Event Types
2
Code Size
49,635 bytes
Constants (1) keyboard_arrow_up
State Variables (8) keyboard_arrow_up
Functions
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
One or more of the following:
-transfersEnabled must be true
Source Code
function transfer(address _recipient, uint256 _amount)
public
override
returns (bool)
{
require(
transfersEnabled || accessControls.hasWhitelistRole(_msgSender()),
"CudosToken.transfer: Caller can not currently transfer"
);
return super.transfer(_recipient, _amount);
}
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
One or more of the following:
-transfersEnabled must be true
Source Code
function transferFrom(
address _sender,
address _recipient,
uint256 _amount
) public override returns (bool) {
require(
transfersEnabled || accessControls.hasWhitelistRole(_msgSender()),
"CudosToken.transferFrom: Caller can not currently transfer"
);
return super.transferFrom(_sender, _recipient, _amount);
}
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;
}
toggleTransfers keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function toggleTransfers() external {
require(
accessControls.hasAdminRole(_msgSender()),
"CudosToken.toggleTransfers: Only admin"
);
require(
transfersEnabled == false,
"CudosToken.toggleTransfers: Only can be toggled on once"
);
transfersEnabled = true;
}
withdrawStuckEther keyboard_arrow_up
Requirements help
Source Code
function withdrawStuckEther(address payable _withdrawalAccount) external {
require(
accessControls.hasAdminRole(_msgSender()),
"CudosToken.withdrawStuckEther: Only admin"
);
require(
_withdrawalAccount != address(0),
"CudosToken.withdrawStuckEther: Invalid address provided"
);
_withdrawalAccount.transfer(address(this).balance);
}
updateAccessControls keyboard_arrow_up
Requirements help
UNKNOWN VALUE
must not be equal to
UNKNOWN VALUE
Source Code
function updateAccessControls(CudosAccessControls _accessControls) external {
require(
accessControls.hasAdminRole(_msgSender()),
"CudosToken.updateAccessControls: Only admin"
);
require(
address(_accessControls) != address(0),
"CudosToken.updateAccessControls: Invalid address provided"
);
accessControls = _accessControls;
}
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 ERC20._transfer keyboard_arrow_up
Requirements help
Source Code
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
_balances[sender] = _balances[sender].sub(
amount,
"ERC20: transfer amount exceeds balance"
);
_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 virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
internal ERC20._burn keyboard_arrow_up
Source Code
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
_balances[account] = _balances[account].sub(
amount,
"ERC20: burn amount exceeds balance"
);
_totalSupply = _totalSupply.sub(amount);
emit Transfer(account, address(0), amount);
}
internal ERC20._approve keyboard_arrow_up
Requirements help
Source Code
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
internal ERC20._setupDecimals keyboard_arrow_up
internal ERC20._beforeTokenTransfer keyboard_arrow_up
internal Context._msgSender keyboard_arrow_up
internal Context._msgData keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}