Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MkrAuthority
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-01-10
*/
/// MkrAuthority -- custom authority for MKR token access control
// Copyright (C) 2019 Maker Ecosystem Growth Holdings, INC.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
pragma solidity ^0.5.12;
contract MkrAuthority {
address public root;
modifier sudo { require(msg.sender == root); _; }
event LogSetRoot(address indexed newRoot);
function setRoot(address usr) public sudo {
root = usr;
emit LogSetRoot(usr);
}
mapping (address => uint) public wards;
event LogRely(address indexed usr);
function rely(address usr) public sudo { wards[usr] = 1; emit LogRely(usr); }
event LogDeny(address indexed usr);
function deny(address usr) public sudo { wards[usr] = 0; emit LogDeny(usr); }
constructor() public {
root = msg.sender;
}
// bytes4(keccak256(abi.encodePacked('burn(uint256)')))
bytes4 constant burn = bytes4(0x42966c68);
// bytes4(keccak256(abi.encodePacked('burn(address,uint256)')))
bytes4 constant burnFrom = bytes4(0x9dc29fac);
// bytes4(keccak256(abi.encodePacked('mint(address,uint256)')))
bytes4 constant mint = bytes4(0x40c10f19);
function canCall(address src, address, bytes4 sig)
public view returns (bool)
{
if (sig == burn || sig == burnFrom || src == root) {
return true;
} else if (sig == mint) {
return (wards[src] == 1);
} else {
return false;
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"LogDeny","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"}],"name":"LogRely","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newRoot","type":"address"}],"name":"LogSetRoot","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"sig","type":"bytes4"}],"name":"canCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"root","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"}],"name":"setRoot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610731806100606000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c80623ba1ed1461006657806365fae35e146100aa5780639c52a7f1146100ee578063b700961314610132578063bf353dbb146101d7578063ebf0c7171461022f575b600080fd5b6100a86004803603602081101561007c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610279565b005b6100ec600480360360208110156100c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610358565b005b6101306004803603602081101561010457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061043b565b005b6101bd6004803603606081101561014857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061051f565b604051808215151515815260200191505060405180910390f35b610219600480360360208110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106bf565b6040518082815260200191505060405180910390f35b6102376106d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102d257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f590b975c6c0ad07291052d35e354944ebed986091d40026a932b3b6d122e753c60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b157600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fbcea0e0a8da02ca32f79ec827797ef9d9b799f0f530a7015479294f8605f26dc60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461049457600080fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f2569dba00999b9a749665fecc99518b00d82fa6179a90d094a04f4c50b952ba160405160405180910390a250565b60006342966c6860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b85750639dc29fac60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061060f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561061d57600190506106b8565b6340c10f1960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156106b35760018060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541490506106b8565b600090505b9392505050565b60016020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea265627a7a7231582061124948b0428630348ffa52dd3034f60a18071d8d0e96d44fbe674c8e8625a164736f6c634300050c0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100615760003560e01c80623ba1ed1461006657806365fae35e146100aa5780639c52a7f1146100ee578063b700961314610132578063bf353dbb146101d7578063ebf0c7171461022f575b600080fd5b6100a86004803603602081101561007c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610279565b005b6100ec600480360360208110156100c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610358565b005b6101306004803603602081101561010457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061043b565b005b6101bd6004803603606081101561014857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061051f565b604051808215151515815260200191505060405180910390f35b610219600480360360208110156101ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106bf565b6040518082815260200191505060405180910390f35b6102376106d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102d257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f590b975c6c0ad07291052d35e354944ebed986091d40026a932b3b6d122e753c60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b157600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fbcea0e0a8da02ca32f79ec827797ef9d9b799f0f530a7015479294f8605f26dc60405160405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461049457600080fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167f2569dba00999b9a749665fecc99518b00d82fa6179a90d094a04f4c50b952ba160405160405180910390a250565b60006342966c6860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105b85750639dc29fac60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061060f57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561061d57600190506106b8565b6340c10f1960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156106b35760018060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541490506106b8565b600090505b9392505050565b60016020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea265627a7a7231582061124948b0428630348ffa52dd3034f60a18071d8d0e96d44fbe674c8e8625a164736f6c634300050c0032
Deployed Bytecode Sourcemap
844:1208:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;844:1208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;994:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;994:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1174:77;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1174:77:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1294;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1294:77:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1771:278;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1771:278:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1092:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1092:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;871:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;994:92;933:4;;;;;;;;;;;919:18;;:10;:18;;;911:27;;;;;;1050:3;1043:4;;:10;;;;;;;;;;;;;;;;;;1076:3;1065:15;;;;;;;;;;;;994:92;:::o;1174:77::-;933:4;;;;;;;;;;;919:18;;:10;:18;;;911:27;;;;;;1228:1;1215:5;:10;1221:3;1215:10;;;;;;;;;;;;;;;:14;;;;1244:3;1236:12;;;;;;;;;;;;1174:77;:::o;1294:::-;933:4;;;;;;;;;;;919:18;;:10;:18;;;911:27;;;;;;1348:1;1335:5;:10;1341:3;1335:10;;;;;;;;;;;;;;;:14;;;;1364:3;1356:12;;;;;;;;;;;;1294:77;:::o;1771:278::-;1850:4;1523:10;1516:18;;1870:11;;;:3;:11;;;;:30;;;;1640:10;1633:18;;1885:15;;;:3;:15;;;;1870:30;:45;;;;1911:4;;;;;;;;;;;1904:11;;:3;:11;;;1870:45;1866:178;;;1933:4;1926:11;;;;1866:178;1753:10;1746:18;;1955:11;;;:3;:11;;;;1951:93;;;1999:1;1985:5;:10;1991:3;1985:10;;;;;;;;;;;;;;;;:15;1977:24;;;;1951:93;2031:5;2024:12;;1771:278;;;;;;:::o;1092:38::-;;;;;;;;;;;;;;;;;:::o;871:19::-;;;;;;;;;;;;;:::o
Swarm Source
bzzr://61124948b0428630348ffa52dd3034f60a18071d8d0e96d44fbe674c8e8625a1
Loading...
Loading
Loading...
Loading
OVERVIEW
Sky (formerly Maker) enables users to get rewarded for non-custodial savings.Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.