From d90d8ae2160643d126023439deb45abb92654506 Mon Sep 17 00:00:00 2001 From: jankun4 Date: Wed, 10 Jan 2024 17:31:43 +0100 Subject: [PATCH] [64] feat: add alwaysAbstain and noConfidence voting powers to the network/metrics endpoint Before there was no easy way to check current voting power of alwaysAbstain and noConfidence dreps. Now they are available in the network/metrics endpoint --- src/vva-be/src/VVA/API/Types.hs | 6 +++++- src/vva-be/src/VVA/Network.hs | 8 ++++++-- src/vva-be/src/VVA/Types.hs | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/vva-be/src/VVA/API/Types.hs b/src/vva-be/src/VVA/API/Types.hs index ce67a3240..208e2b4f4 100644 --- a/src/vva-be/src/VVA/API/Types.hs +++ b/src/vva-be/src/VVA/API/Types.hs @@ -536,6 +536,8 @@ data GetNetworkMetricsResponse = GetNetworkMetricsResponse , getNetworkMetricsResponseTotalGovernanceActions :: Integer , getNetworkMetricsResponseTotalDRepVotes :: Integer , getNetworkMetricsResponseTotalRegisteredDReps :: Integer + , getNetworkMetricsResponseAlwaysAbstainVotingPower :: Integer + , getNetworkMetricsResponseAlwaysNoConfidenceVotingPower :: Integer } deriveJSON (jsonOptions "getNetworkMetricsResponse") ''GetNetworkMetricsResponse @@ -549,7 +551,9 @@ exampleGetNetworkMetricsResponse = <> "\"totalDelegations\": 0," <> "\"totalGovernanceActions\": 0," <> "\"totalDRepVotes\": 0," - <> "\"totalRegisteredDReps\": 0}" + <> "\"totalRegisteredDReps\": 0," + <> "\"alwaysAbstainVotingPower\": 0," + <> "\"alwaysNoConfidenceVotingPower\": 0}" instance ToSchema GetNetworkMetricsResponse where declareNamedSchema _ = pure $ NamedSchema (Just "GetNetworkMetricsResponse") $ mempty diff --git a/src/vva-be/src/VVA/Network.hs b/src/vva-be/src/VVA/Network.hs index ec3935dd8..a76be9452 100644 --- a/src/vva-be/src/VVA/Network.hs +++ b/src/vva-be/src/VVA/Network.hs @@ -37,16 +37,20 @@ networkMetrics = withPool $ \conn -> do , block_no , unique_delegators , total_delegations - , total_governance_actions + , total_gov_action_proposals , total_drep_votes , total_registered_dreps + , always_abstain_voting_power + , always_no_confidence_voting_power )] -> return $ NetworkMetrics current_time epoch_no block_no unique_delegators total_delegations - total_governance_actions + total_gov_action_proposals total_drep_votes total_registered_dreps + always_abstain_voting_power + always_no_confidence_voting_power _ -> throwError $ CriticalError "Could not query the network metrics. This should never happen." diff --git a/src/vva-be/src/VVA/Types.hs b/src/vva-be/src/VVA/Types.hs index 4d0ff8dc3..dc4438d18 100644 --- a/src/vva-be/src/VVA/Types.hs +++ b/src/vva-be/src/VVA/Types.hs @@ -114,5 +114,7 @@ data NetworkMetrics = NetworkMetrics , networkMetricsTotalGovernanceActions :: Integer , networkMetricsTotalDRepVotes :: Integer , networkMetricsTotalRegisteredDReps :: Integer + , networkMetricsAlwaysAbstainVotingPower :: Integer + , networkMetricsAlwaysNoConfidenceVotingPower :: Integer }