@@ -296,20 +296,20 @@ getVotes (unHexText -> dRepId) selectedTypes sortMode mSearch = do
296296 CacheEnv {dRepGetVotesCache} <- asks vvaCache
297297 (votes, proposals) <- cacheRequest dRepGetVotesCache dRepId $ DRep. getVotes dRepId []
298298
299- let voteMapById = Map. fromList $
300- map (\ vote -> (Types. voteGovActionId vote, vote)) votes
299+ let voteMapByTxHash = Map. fromList $
300+ map (\ vote -> (pack $ Prelude. takeWhile ( /= ' # ' ) (unpack $ Types. voteGovActionId vote) , vote)) votes
301301
302302 processedProposals <- filter (isProposalSearchedFor mSearch) <$>
303303 mapSortAndFilterProposals selectedTypes sortMode proposals
304304
305- return
305+ return $
306306 [ VoteResponse
307307 { voteResponseVote = voteToResponse vote
308308 , voteResponseProposal = proposalResponse
309309 }
310310 | proposalResponse <- processedProposals
311- , let govActionId = unHexText (proposalResponseTxHash proposalResponse) <> " # " <> pack ( show $ proposalResponseIndex proposalResponse)
312- , Just vote <- [Map. lookup govActionId voteMapById ]
311+ , let txHash = unHexText (proposalResponseTxHash proposalResponse)
312+ , Just vote <- [Map. lookup txHash voteMapByTxHash ]
313313 ]
314314
315315drepInfo :: App m => HexText -> m DRepInfoResponse
@@ -401,9 +401,12 @@ listProposals selectedTypes sortMode mPage mPageSize mDrepRaw mSearchQuery = do
401401 -- proposals that the provided Drep has already voted on should be filtered out
402402 proposalsToRemove <- case mDrepRaw of
403403 Nothing -> return []
404- Just drepId ->
405- map (voteParamsProposalId . voteResponseVote)
406- <$> getVotes drepId [] Nothing Nothing
404+ Just drepId -> do
405+ votes <- getVotes drepId [] Nothing Nothing
406+ return
407+ [ (proposalResponseTxHash p, proposalResponseIndex p)
408+ | VoteResponse {voteResponseProposal = p} <- votes
409+ ]
407410
408411 CacheEnv {proposalListCache} <- asks vvaCache
409412
@@ -412,9 +415,9 @@ listProposals selectedTypes sortMode mPage mPageSize mDrepRaw mSearchQuery = do
412415
413416 mappedSortedAndFilteredProposals <- mapSortAndFilterProposals selectedTypes sortMode proposals
414417 let filteredProposals = filter
415- ( \ p@ ProposalResponse {proposalResponseId } ->
416- proposalResponseId `notElem` proposalsToRemove
417- && isProposalSearchedFor mSearchQuery p
418+ (\ p@ ProposalResponse {proposalResponseTxHash, proposalResponseIndex } ->
419+ (proposalResponseTxHash, proposalResponseIndex) `notElem` proposalsToRemove
420+ && isProposalSearchedFor mSearchQuery p
418421 ) mappedSortedAndFilteredProposals
419422
420423 let total = length filteredProposals :: Int
0 commit comments