-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: count rewards with drep voting power
- Loading branch information
1 parent
840e065
commit 65d7fbe
Showing
3 changed files
with
55 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,46 @@ | ||
SELECT COALESCE(SUM(utxo_view.value::numeric), 0), | ||
encode(stake_address.hash_raw, 'hex') | ||
FROM stake_address | ||
JOIN utxo_view ON utxo_view.stake_address_id = stake_address.id | ||
WHERE stake_address.hash_raw = decode(?, 'hex') | ||
GROUP BY stake_address.hash_raw; | ||
WITH RewardRest AS ( | ||
SELECT | ||
SUM(amount) AS amount, | ||
addr_id | ||
FROM | ||
reward_rest | ||
GROUP BY | ||
addr_id | ||
), | ||
Reward AS ( | ||
SELECT | ||
SUM(amount) AS amount, | ||
addr_id | ||
FROM | ||
reward | ||
GROUP BY | ||
addr_id | ||
), | ||
Balance AS ( | ||
SELECT | ||
COALESCE(SUM(uv.value), 0) AS amount, | ||
sa.id AS addr_id, | ||
encode(sa.hash_raw, 'hex') AS addr_raw | ||
FROM | ||
stake_address sa | ||
JOIN utxo_view uv ON uv.stake_address_id = sa.id | ||
GROUP BY | ||
addr_id, | ||
addr_raw | ||
) | ||
SELECT | ||
(COALESCE(rr.amount, 0) + COALESCE(r.amount, 0) + COALESCE(b.amount, 0)) AS total_balance, | ||
b.addr_raw | ||
FROM | ||
Balance b | ||
LEFT JOIN | ||
RewardRest rr ON rr.addr_id = b.addr_id | ||
LEFT JOIN | ||
Reward r ON r.addr_id = rr.addr_id | ||
WHERE | ||
b.addr_id = (SELECT id FROM stake_address WHERE hash_raw = decode(?, 'hex')) | ||
GROUP BY | ||
b.addr_raw, | ||
rr.amount, | ||
r.amount, | ||
b.amount |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,7 @@ | ||
WITH LatestDelegationVote AS ( | ||
SELECT | ||
addr_id, | ||
MAX(id) AS latest_vote_id | ||
FROM | ||
delegation_vote | ||
GROUP BY | ||
addr_id | ||
) | ||
SELECT | ||
SUM(uv.value) AS total_value | ||
FROM | ||
utxo_view uv | ||
JOIN | ||
stake_address sa ON sa.id = uv.stake_address_id | ||
JOIN | ||
LatestDelegationVote ldv ON uv.stake_address_id = ldv.addr_id | ||
JOIN | ||
delegation_vote dv ON dv.id = ldv.latest_vote_id | ||
WHERE | ||
dv.drep_hash_id = (SELECT id FROM drep_hash WHERE raw = decode(?,'hex')) | ||
SELECT | ||
amount | ||
FROM | ||
drep_distr | ||
WHERE | ||
hash_id = (SELECT id FROM drep_hash WHERE raw = decode(?,'hex')) | ||
ORDER BY epoch_no DESC LIMIT 1 |