Open JeffWScott opened 2 years ago
The main contract which controls the voting on policies. Policies are other smart contracts that have an "interface" and are registered on this contract.
contact: str
the name of the smart contract to registerUsed to register a policy contract.
Any contract that is to be registered must be OWNED by election_house.
If the policy passes the interface check then it is added to the policies hash with a value of True
.
policy: str
a name of a policy
Imports and returns the policy if it existspolicy: str
a name of a policyvalue: any
some value that will be passed to the registered policies vote methodonce determining that the policy exists it will import the policy supplied in the policy arg and then call vote on that policy, passing in the callers vk and the value arg.
1) The keys of the election_house.policies
hash are effectively a list of all current governance policies.
2) All voting runs through this contract. The value
arg for the vote method needs to be created differently depending on the name of the policy.
Node Admin Control Center
Task
Node owners need a page that allows them to view, create and act on governance motions.
Requirements:
Create a new menu item called "Node Admin" which has the following information: 1) Details on the current open motion (if one exists)
Type of motion (stamp, masternode addition, DAO, etc)
date/time started deadline for response
current votes, something like 8 ✅ / 2 ❌
status
A list of all nodes and their current response to the right of the node vk.
masternodes.S:members
smart contract value to the user's accounts storage and determine that a user owns one of the nodes in the network. 3) AnAdd New Node
button that lets the user add a node to their node list. This would happen if a user is prepping to add a new node to the network but isn't voted in yet. 4) Links to Node documentation (install instructions and architecture). 5) ACreate new motion
button that opens a "Create Motion" modalwhen a node is selected enable a dropdown of the available motion types
when a motion type is selected then show input boxes to allow the input of info specific to each motion type (check below for motion descriptions)
a "submit motion" button that when clicked shows the TxDetails screen that shows the tx to be sent with a "confirm button that sends the tx to the blockchain.
MORE TO COME