Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/makerdao/mkr-authority
Custom authority for allowing MKR to govern MKR.
https://github.com/makerdao/mkr-authority
Last synced: 3 months ago
JSON representation
Custom authority for allowing MKR to govern MKR.
- Host: GitHub
- URL: https://github.com/makerdao/mkr-authority
- Owner: makerdao
- License: agpl-3.0
- Created: 2019-07-15T17:53:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T04:28:41.000Z (almost 2 years ago)
- Last Synced: 2023-04-05T23:40:53.943Z (almost 2 years ago)
- Language: Solidity
- Size: 44.9 KB
- Stars: 3
- Watchers: 11
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mkr-authority
![Build Status](https://github.com/makerdao/mkr-authority/actions/workflows/.github/workflows/tests.yaml/badge.svg?branch=master)Custom authority for allowing MKR to govern MKR.
Intentionally simple. Once set as the MKR token's authority, if the MKR token's `owner` field is subsequently set to
zero, the following properties obtain:
* any user may call MKR's `burn` function
* only authorized users (according to the MkrAuthority's `ward`s) can call MKR's `mint()` function
* only the `root` user set in the authority can call other `auth`-protected functions of the MKR contract
* only the `root` user can modify the MkrAuthority's `ward`s or change the `root`Though this contract could be used in different ways, it was designed in the context of an overall design for control
of the MKR token via MKR governance as illustrated below.```
<~~~ : points to source's authority
<=== : points to source's root or owner------- ------- ------------ -------------- -----
|Chief|<~~~|Pause|<===|PauseProxy|<===|MkrAuthority|<~~~|MKR|===>0
------- ------- ------------ -------------- -----
```Such a structure allows governance proposals voted in on the Chief to make arbtirary changes to the MKR token
and its permissions subject to a delay. (See DappHub contracts
[DSChief](https://github.com/dapphub/ds-chief) and [DSPause](https://github.com/dapphub/ds-pause)
for implementations of the voting contract and the delay contract, respectively.)Note that the MkrAuthority allows for upgrading of the MKR token's `authority` or `owner` by the `root`.
K specifications of the contract's functionality can be found in: https://github.com/makerdao/k-mkr-authority/