ERC20
This contract is an ERC20 token.
Name
DSToken
Symbol
MKR
Decimals
18
Total Supply
1,005,577 MKR
About link description
Maker (MKR) is a cryptocurrency and operates on the Ethereum platform. Maker has a current supply of 991,328.38195493. The last known price of Maker is 2,474.87137393 USD and is down -1.99 over the last 24 hours. It is currently trading on 217 active market(s) with $118,268,031.48 traded over the last 24 hours. More information can be found at https://makerdao.com/.
Stats
Public Functions
19
Event Types
7
Code Size
15,513 bytes
Events (7) keyboard_arrow_up
State Variables (9) keyboard_arrow_up
Functions
setOwner keyboard_arrow_up
setAuthority keyboard_arrow_up
stop keyboard_arrow_up
start keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
allowance keyboard_arrow_up
transfer keyboard_arrow_up
transferFrom keyboard_arrow_up
Source Code
function transferFrom(
address src,
address dst,
uint256 wad
) public stoppable returns (bool) {
if (src != msg.sender && _approvals[src][msg.sender] != uint256(-1)) {
_approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
}
_balances[src] = sub(_balances[src], wad);
_balances[dst] = add(_balances[dst], wad);
Transfer(src, dst, wad);
return true;
}
approve keyboard_arrow_up
Source Code
function approve(address guy, uint256 wad) public stoppable returns (bool) {
return super.approve(guy, wad);
}
approve keyboard_arrow_up
push keyboard_arrow_up
pull keyboard_arrow_up
move keyboard_arrow_up
mint keyboard_arrow_up
burn keyboard_arrow_up
mint keyboard_arrow_up
Modifiers help
auth checks for the following:
null
stoppable checks for the following:
Source Code
function mint(address guy, uint256 wad) public auth stoppable {
_balances[guy] = add(_balances[guy], wad);
_supply = add(_supply, wad);
Mint(guy, wad);
}
burn keyboard_arrow_up
Modifiers help
auth checks for the following:
null
stoppable checks for the following:
Source Code
function burn(address guy, uint256 wad) public auth stoppable {
if (guy != msg.sender && _approvals[guy][msg.sender] != uint256(-1)) {
_approvals[guy][msg.sender] = sub(_approvals[guy][msg.sender], wad);
}
_balances[guy] = sub(_balances[guy], wad);
_supply = sub(_supply, wad);
Burn(guy, wad);
}
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 DSMath.add keyboard_arrow_up
internal DSMath.sub keyboard_arrow_up
internal DSMath.mul keyboard_arrow_up
Requirements help
Source Code
function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {
require(y == 0 || (z = x * y) / y == x);
}
internal DSMath.min keyboard_arrow_up
internal DSMath.max keyboard_arrow_up
internal DSMath.imin keyboard_arrow_up
internal DSMath.imax keyboard_arrow_up
internal DSMath.wmul keyboard_arrow_up
internal DSMath.rmul keyboard_arrow_up
internal DSMath.wdiv keyboard_arrow_up
internal DSMath.rdiv keyboard_arrow_up
internal DSMath.rpow keyboard_arrow_up
Source Code
function rpow(uint256 x, uint256 n) internal pure returns (uint256 z) {
z = n % 2 != 0 ? x : RAY;
for (n /= 2; n != 0; n /= 2) {
x = rmul(x, x);
if (n % 2 != 0) {
z = rmul(z, x);
}
}
}
internal DSAuth.isAuthorized keyboard_arrow_up
Source Code
function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
if (src == address(this)) {
return true;
} else if (src == owner) {
return true;
} else if (authority == DSAuthority(0)) {
return false;
} else {
return authority.canCall(src, this, sig);
}
}