From 5ff588c952e776d929d53a35d99c7432d5e7e669 Mon Sep 17 00:00:00 2001 From: Samuel Evans-Powell Date: Wed, 13 Jan 2021 16:04:23 +0800 Subject: [PATCH] WIp --- src/Cardano/CLI/Query.hs | 17 +++++++++++------ src/Contribution/Efficient.hs | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Cardano/CLI/Query.hs b/src/Cardano/CLI/Query.hs index aa13b0c..f0efee7 100644 --- a/src/Cardano/CLI/Query.hs +++ b/src/Cardano/CLI/Query.hs @@ -122,8 +122,9 @@ queryVoteRegistrationInfo , AsMetadataRetrievalError e ) => Maybe SlotNo + -> Threshold -> m (Contributions VotingKeyPublic (Api.Hash Api.StakeKey) Integer) -queryVoteRegistrationInfo mSlotNo = do +queryVoteRegistrationInfo mSlotNo (Api.Lovelace threshold) = do regos <- queryVoteRegistration mSlotNo let @@ -140,8 +141,11 @@ queryVoteRegistrationInfo mSlotNo = do fmap mconcat $ forM (M.toList xs) (\(verKeyHash, votepub) -> do (Api.Lovelace stake) <- queryStake mSlotNo verKeyHash - -- To each votepub, a verKeyHash may contribute once - pure $ (contribute votepub verKeyHash stake mempty) + + pure $ + if stake > threshold + then contribute votepub verKeyHash stake mempty + else mempty ) queryVotingProportion @@ -157,7 +161,7 @@ queryVotingProportion -> Threshold -> m (Map (Api.Hash Api.StakeKey) Double) queryVotingProportion nw mSlotNo threshold = do - info <- queryVoteRegistrationInfo mSlotNo + info <- queryVoteRegistrationInfo mSlotNo threshold let proportions :: [((Api.Hash Api.StakeKey), Double)] @@ -181,9 +185,10 @@ queryVotingFunds ) => Api.NetworkId -> Maybe SlotNo + -> Threshold -> m VotingFunds -queryVotingFunds nw mSlotNo = do - info <- queryVoteRegistrationInfo mSlotNo +queryVotingFunds nw mSlotNo threshold = do + info <- queryVoteRegistrationInfo mSlotNo threshold pure $ VotingFunds diff --git a/src/Contribution/Efficient.hs b/src/Contribution/Efficient.hs index 53f1219..09ed5b1 100644 --- a/src/Contribution/Efficient.hs +++ b/src/Contribution/Efficient.hs @@ -148,7 +148,7 @@ causeSumAmounts = let sumAmts = getSum . foldMap (Sum . toRational . snd) in - foldMap (\(c, cs) -> (:[]) $ (c,) $ sumAmts cs) . contributions + fmap (fmap sumAmts) . contributions -- -- | Lift the contribution amounts into some monoid, and monoidally -- -- combine each contribution amount.