Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion govtool/backend/sql/get-network-total-stake.sql
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,16 @@ TotalStakeControlledByActiveDReps AS (
AND COALESCE(rd.deposit, 0) >= 0
AND ((DRepActivity.epoch_no - GREATEST(COALESCE(lve.epoch_no, 0), COALESCE(rd.epoch_no, 0))) <= DRepActivity.drep_activity)
),
-- it's a fix for duplication issue https://github.com/IntersectMBO/cardano-db-sync/issues/1986
LatestPoolStat AS (
SELECT DISTINCT ON (pool_hash_id) *
FROM
pool_stat
WHERE
epoch_no = (SELECT MAX(no) FROM epoch)
),
TotalStakeControlledBySPOs AS (
SELECT SUM(ps.stake)::bigint AS total FROM pool_stat ps WHERE ps.epoch_no = (SELECT no FROM CurrentEpoch)
SELECT SUM(ps.stake)::bigint AS total FROM LatestPoolStat ps WHERE ps.epoch_no = (SELECT no FROM CurrentEpoch)
),
AlwaysAbstainVotingPower AS (
SELECT COALESCE((SELECT amount FROM drep_hash
Expand Down
14 changes: 11 additions & 3 deletions govtool/backend/sql/list-proposals.sql
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,14 @@ RankedPoolVotes AS (
vp.tx_id DESC,
vp.id DESC
),
-- it's a fix for duplication issue https://github.com/IntersectMBO/cardano-db-sync/issues/1986
LatestPoolStat AS (
SELECT DISTINCT ON (pool_hash_id) *
FROM
pool_stat
WHERE
epoch_no = (SELECT MAX(no) FROM epoch)
),
PoolVotes AS (
SELECT
rpv.gov_action_proposal_id,
Expand All @@ -132,10 +140,10 @@ PoolVotes AS (
SUM(CASE WHEN rpv.vote = 'Yes' THEN ps.voting_power ELSE 0 END) AS poolYesVotes,
SUM(CASE WHEN rpv.vote = 'No' THEN ps.voting_power ELSE 0 END) AS poolNoVotes,
SUM(CASE WHEN rpv.vote = 'Abstain' THEN ps.voting_power ELSE 0 END) AS poolAbstainVotes
FROM
FROM
RankedPoolVotes rpv
JOIN
pool_stat ps
JOIN
LatestPoolStat ps
ON rpv.pool_voter = ps.pool_hash_id
WHERE
ps.epoch_no = (SELECT MAX(no) FROM epoch)
Expand Down