DOS Network Token
ERC20
This contract is an ERC20 token.
Name
DOS Network Token
Symbol
DOS
Decimals
18
Total Supply
950,000,000 DOS
About
Stats
Public Functions
17
Event Types
5
Code Size
12,079 bytes
Events (5) keyboard_arrow_up
Functions
changeManager keyboard_arrow_up
Modifiers help
onlyManager checks for the following:
Source Code
function changeManager(address _newManager) public onlyManager {
manager = _newManager;
}
setOwner keyboard_arrow_up
setAuthority keyboard_arrow_up
Modifiers help
auth checks for the following:
null
Source Code
function setAuthority(DSAuthority authority_)
public
auth
{
authority = authority_;
emit LogSetAuthority(address(authority));
}
stop keyboard_arrow_up
start keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
allowance keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address dst, uint wad) public returns (bool) {
return transferFrom(msg.sender, dst, wad);
}
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(address src, address dst, uint wad) public stoppable returns (bool) {
require(_balances[src] >= wad, "token-insufficient-balance");
// Adjust token transfer amount if necessary.
if (isContract(manager)) {
wad = ControllerManager(manager).onTransfer(src, _balances[src], wad);
require(wad > 0, "transfer-disabled-by-ControllerManager");
}
if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) {
require(_approvals[src][msg.sender] >= wad, "token-insufficient-approval");
_approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
}
_balances[src] = sub(_balances[src], wad);
_balances[dst] = add(_balances[dst], wad);
emit Transfer(src, dst, wad);
return true;
}
approve keyboard_arrow_up
Requirements help
One or more of the following:
Source Code
function approve(address guy, uint wad) public stoppable returns (bool) {
// To change the approve amount you first have to reduce the addresses`
// allowance to zero by calling `approve(_guy, 0)` if it is not
// already 0 to mitigate the race condition described here:
// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
require((wad == 0) || (_approvals[msg.sender][guy] == 0));
_approvals[msg.sender][guy] = wad;
emit Approval(msg.sender, guy, wad);
return true;
}
approve keyboard_arrow_up
Requirements help
One or more of the following:
Source Code
function approve(address guy) public stoppable returns (bool) {
return approve(guy, uint(-1));
}
burn keyboard_arrow_up
mint keyboard_arrow_up
Modifiers help
auth checks for the following:
null
stoppable checks for the following:
Requirements help
Source Code
function mint(address guy, uint wad) public auth stoppable {
_balances[guy] = add(_balances[guy], wad);
_supply = add(_supply, wad);
require(_supply <= MAX_SUPPLY, "Total supply overflow");
emit Transfer(address(0), guy, wad);
}
burn keyboard_arrow_up
Modifiers help
auth checks for the following:
null
stoppable checks for the following:
Requirements help
Source Code
function burn(address guy, uint wad) public auth stoppable {
if (guy != msg.sender && _approvals[guy][msg.sender] != uint(-1)) {
require(_approvals[guy][msg.sender] >= wad, "token-insufficient-approval");
_approvals[guy][msg.sender] = sub(_approvals[guy][msg.sender], wad);
}
require(_balances[guy] >= wad, "token-insufficient-balance");
_balances[guy] = sub(_balances[guy], wad);
_supply = sub(_supply, wad);
emit Transfer(guy, address(0), wad);
}
constructor keyboard_arrow_up
claimTokens keyboard_arrow_up
Modifiers help
auth checks for the following:
null
Source Code
function claimTokens(address _token, address payable _dst) public auth {
if (_token == address(0)) {
_dst.transfer(address(this).balance);
return;
}
ERC20 token = ERC20(_token);
uint balance = token.balanceOf(address(this));
token.transfer(_dst, balance);
}