-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Governance System UI #60
Comments
Test implementation of the governance contract deployed at CLO MAINNET: https://explorer2.callisto.network/addr/0x590396425fc45f69568ac02fda01fdd3ff09efea |
ABI
|
Query |
New governance system contract is deployed here: 0xcd184d60e04389416ecf09d2cb2cd39d5cf19b19 ABI:
|
Hello @Dexaran ! I see that in EOS you can delegate your votes to someone else (proxys). Is this something that is considered for the CLO governance? What are you thoughts around this ? Also! After what we just saw happen with steem where exchanges totally took over the chain. |
The following describes a graphical interface to simplify the interaction with the Governance System smart-contract of Callisto Network.
Definition
The UI must represent a modification of wallet.callisto.network service.
It must contain two new tabs as it is shown at the image below:
Vote Proposal
Submit Proposal
Vote Proposal tab
Vote tab represents a list of submitted proposals. Proposals can have one of the three status types:
votable (a user can submit a vote for/against this proposal)
active (proposal is already accepted or rejected. A user can not submit a vote anymore)
pending (proposal is submitted but it is not yet available for voting. It will become votable in the next Treasury Epoch)
Once a user has clicked the "Vote Proposal" tab button the interface must search blockchain for the ProposalSubmitted event entry and retrieve a
name
of each submitted proposal. Name of a proposal is a unique identifier of proposal entity (or a keccak256 hash of the proposal name).Once a list of proposal names (or name hashes) is obtained, the UI must retrieve the information for each proposal using the proposals mapping of the contract.
NOTE: Retrieving the content of each proposal works the same as querying the hash of the name of a proposal using contract ABI at the Interact With Contracts tab. The image below is an illustration of the contract invocation form which implements the same logic for retrieving values:
Proposals should be displayed on the page one below the other.
Each proposal should be displayed in concise form and only the most necessary information should be displayed by default. There should be a
+ show more details
button at the bottom of each proposal. The purpose of the+
button is to display a dropdown menu with more info for a certain proposal.Proposal content
Once a user has clicked the
+ show details
button a dropdown content of the selected proposal must be displayed as it is shown at the image below:Broadcasting a user's vote
If a user clicked the "Vote FOR" / "Vote AGAINST" / "Vote ABSTAIN" button then the vote_cast transaction must be generated. This transaction will be sent to the contract if a user will confirm it at the popup confirmation form.
The UI must provide two vatiables for the cast_vote() function:
proposal name (name of the corresponding proposal)
vote code (depends on the clicked button:
0
= FOR /1
= AGAINST /2
= ABSTAIN)Submit Proposal tab
The text was updated successfully, but these errors were encountered: