chief-keeper
monitors and interacts with DSChief and DSSSpells, which is the executive voting contract and a type of proposal object of the Maker Protocol.hat
in DSChief as well as streamline executive actions.lift
a spell, that spell must have more approvals than the current hat
. The approvals of this spell can fluctuate and be surpassed by other spells, some of which could be malicious. This keeper "guards" the hat
by ensuring the spell with the most approval is always the hat
. The chief-keeper
does this in order to maximize the barrier of entry (approval) to lift
a spell to the hat, thus acting as a "guard" against malicious governance actions.chief-keeper
:lift
s the hat for the spell (yay
) most favored (approvals[yay]
)DSSSpell.schedule()
eta
has elapsed in the GSM by calling DSSSpell.cast()
chief-keeper
interacts directly with the DS-Chief
and DSSSpell
s.yays
(spell addresses) and an yay:eta
dictionary to reduce chain state reads. If you'd like to create your own database from scratch, first delete src/database/db_mainnet.json
before running bin/chief-keeper
; the initial query could take up to 15 minutes.tinydb
isn't visible/installed through ./install.sh
, simply run pip3 install tinydb
after the commands above.tests\config
.