adriaparcerisasosmo participation 2.2
Updated 2023-05-10
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
with
proposals as (
select distinct proposal_id,
min(block_timestamp) as created_at
from osmosis.core.fact_governance_submit_proposal group by 1
),
validators as (
select distinct validator,
min(created_at) as first_participation
from osmosis.core.fact_governance_validator_votes group by 1
),
final as (
SELECT
distinct validator,
count(distinct proposal_id) as possible_proposals
from proposals x
join validators y on x.created_at>first_participation
group by 1
),
validator_proposals as (
SELECT y.VALIDATOR,
y.possible_proposals,
case when count(distinct proposal_id)>possible_proposals then possible_proposals else count(distinct proposal_id) end as proposals_participated
FROM osmosis.core.fact_governance_validator_votes x
join final y on x.validator=y.validator
GROUP BY 1,2
),
validator_votes as (
SELECT a.VALIDATOR AS validator_a, b.VALIDATOR AS validator_b, COUNT(*) AS votes_together
FROM osmosis.core.fact_governance_validator_votes a
JOIN osmosis.core.fact_governance_validator_votes b ON a.PROPOSAL_ID = b.PROPOSAL_ID AND a.VALIDATOR < b.VALIDATOR
WHERE a.VOTE = b.VOTE
GROUP BY a.VALIDATOR, b.VALIDATOR
)
SELECT
concat(vv.validator_a,'<->',vv.validator_b) as validator_pair,
Run a query to Download Data