File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ changes.
1717### Fixed
1818
1919- Fix calculating votes counting for governance actions
20+ - Fix crashing backend on unhandled missing proposal from vote [ Issue 2920] ( https://github.com/IntersectMBO/govtool/issues/2920 )
2021
2122### Changed
2223
Original file line number Diff line number Diff line change @@ -278,14 +278,19 @@ getVotes :: App m => HexText -> [GovernanceActionType] -> Maybe GovernanceAction
278278getVotes (unHexText -> dRepId) selectedTypes sortMode mSearch = do
279279 CacheEnv {dRepGetVotesCache} <- asks vvaCache
280280 (votes, proposals) <- cacheRequest dRepGetVotesCache dRepId $ DRep. getVotes dRepId []
281+
281282 let voteMap = Map. fromList $ map (\ vote@ Types. Vote {.. } -> (voteProposalId, vote)) votes
283+
282284 processedProposals <- filter (isProposalSearchedFor mSearch) <$> mapSortAndFilterProposals selectedTypes sortMode proposals
285+
283286 return $
284287 [ VoteResponse
285- { voteResponseVote = voteToResponse (voteMap Map. ! read (unpack proposalResponseId))
288+ { voteResponseVote = voteToResponse vote
286289 , voteResponseProposal = proposalResponse
287290 }
288291 | proposalResponse@ ProposalResponse {proposalResponseId} <- processedProposals
292+ , let proposalIdInt = read (unpack proposalResponseId) :: Int
293+ , Just vote <- [Map. lookup (toInteger proposalIdInt) voteMap] -- Ensure we only include proposals with a corresponding vote
289294 ]
290295
291296drepInfo :: App m => HexText -> m DRepInfoResponse
You can’t perform that action at this time.
0 commit comments