We developed doTreasury with the fund of 2 proposals from Kusama and 1 proposal from polkadot. doTreasury is more than just a treasury explorer, while we hope it provide a way to retrospect how the treasury money spent. Please check kusama post 352 for the original discussions.
Roles credit building is the main work of milestone 3. But it's a relatively big topic, hard to reach agreement. We'd like to start the discussion from a small topic: treasury the proposal grade.
Generally we proposal a way that councilors and token holders sign their grade to the proposal final delivery. Some statements:
We define the grade from councilor as Council Score.
Examples:
council_score = (1 + 2 + 3 + 4 + 5) / 5 = 3
.council_score = undefined
, since 3 doesn't reach the taking effect threshold.We define the grade from token holders as Holder Score.
Generally we define coin age = balance * block_length
. For the coin age of a address, we define:
settled_age = old_settled_age + old_balance * (balance_change_block_height - last_settled_block_height + 1)
dynamic_age = new_balance * (target_block_height - last_balance_change_height + 1)
coin_age_at_target_block = settled_age + dynamic_age
We know normally there will be times of balance change for an address. So maybe times of new settled age will be calculated with the block grows.
Examples:
1 * 100 = 100
.2 * 100 + 3 * 100 = 500
.At block 100, Alice's coin age is 100 and Bob's coin age is 200. We assume holder score taking effect threshold is 0.
100 * 1 = 100
200 * 2 = 400
Holder Score = (100 * 1 + 200 * 2) / 300 = 1.67
.At block 200, Alice has no balance change, but Bob receive 1KSM at block 101. So at block 200, Alice's coin age is 200, while Bob's is 500. Either Alice or Bob will grade at this block. Remember they have 2 options: 1, Cover the 1st grade; 2, Accumulate the 2nd to the 1st one. Then at block 200:
200 * 2 = 400
.300 * 1 = 300
. The another one is that Bob grade 1st 200 * 2 = 400
.Holder Score = (200 * 2 + 200 * 2 + 300 * 1) / 700 = 1.57
.Proposal score is decided by Council Score and Holder Score. Weight between Council Score and Holder Score is 2 : 1. So if Council Score is 3, while Holder Score is 2, thenproposal_score = (2 * council_score + 1 * holder_score) / 3 = (2 * 3 + 1 * 2) / 3 = 8 / 3 = 2.67
If either the (I need rethink about this)council_score
or holder_score
is undefined
, then the proposal_score
is undefined
.
We are OpenSquare team, dedicated to facilitate the collaboration between projects and developers.