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:
- 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.
- 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
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:
NftItemIdto votingWeights. @kazu suggested something about converting the asset shares to weight. With conviction voting disabled for now.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:
proposeRepresentativeallows 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)NftItemIdstruct for therepresentativeandtenant.Features for the representative:
spendProposalfor 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