Skip to content

Implement owners-vote governance structure #199

Description

@ilhanu

We want to owners (shareholders) to be able to vote on anything regarding governance of the asset. This is can be maintenance, proposals if a tenant should be allowed or selecting and appointing a representative. Utilising the democracy and treasury frame pallet with limited features. We want to use the following function proposal, voting, tallying and executing.

Implementation:

Share conversion and generic implementation:

  1. We need to convert the shares of the assets corresponding to the NftItemId to votingWeights. @kazu suggested something about converting the asset shares to weight. With conviction voting disabled for now.
  2. We need to re-use the same weights for tallying and processing the result.

Any proposal, vote, tallying and execution should be done with the above logic from shares to weights. this will be the basis of the governance structure for the asset.

Features:

  • proposeRepresentative allows one of the owners to select and appoint a representative. This is a one time action and you can't select multiple representatives. Runtime of max 3 epoch ( configurable)
  • Vote on appointing a representative / vote on removing a representative.
    • Vote approved, execute the call to appoint the representative.
  • Spend proposal Vote on maintenance of the asset / Spend proposal for maintenance.
  • Implement access to the virtual account funds for a spend proposal.
  • Generate a field in the NftItemId struct for the representative and tenant.

Features for the representative:

  • Implement Representative to accept the job
  • Implement Representative to propose a tenant, that needs to be on-chain approved by the owners.
  • Implement a spendProposal for the representative to propose, this goes immediately to the owners of the corresponding asset. The proposal is for maintenance of the asset or improvements and can only be created by the representative of the asset.

Note: A representative can represent multiple assets

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions