Chancellor
"A tyrant can make anything seem to be 'the will of the people'"
Out goes the Governor, here comes the Chancellor
The Chancellor is built upon the Governor Contract with some differences.
One difference is that the Chancellor can implement the ChancellorSenateControl extension that allows him to work with the Senate pattern.
The Chancellor handles all the proposals, voting and execution, calling the Senate to get voting power, member and senator status, proposal settings (voting delay, period etc).
The external call to Senate is make in a bulk to avoid unnecessary multiple external calls.
Threshold, Proposal and Voting
With the senate pattern, no matter which member token the senator owns, if the quantity of tokens reaches the threshold, the senator can participate proposing.
When a senator propose or vote, the Chancellor contract will check with the Senate books, that consults his own books with voting power and, in the case of a ERC721Votes implementer, makes one external call to the member (token) contract to check the senator voting weight.
Chancellor Extensions
A few extensions exists to work with the Chancellor pattern, and you can choose only the ones that you want to use.
ChancellorCountingSimple
ChancellorPreventLateQuorum
ChancellorTimelockControl
ChancellorCompatibilityBravo
ChancellorSenateControl
Last updated