@@ -140,15 +140,21 @@ delegationToResponse Types.Delegation {..} =
140140drepList :: App m => Maybe Text -> [DRepStatus ] -> Maybe DRepSortMode -> Maybe Natural -> Maybe Natural -> m ListDRepsResponse
141141drepList mSearchQuery statuses mSortMode mPage mPageSize = do
142142 CacheEnv {dRepListCache} <- asks vvaCache
143- dreps <- cacheRequest dRepListCache () (DRep. listDReps mSearchQuery)
143+ dreps <- cacheRequest dRepListCache (fromMaybe " " mSearchQuery ) (DRep. listDReps mSearchQuery)
144144
145145 let filterDRepsByQuery = case mSearchQuery of
146- Nothing -> filter $ \ Types. DRepRegistration {.. } -> dRepRegistrationType == Types. DRep
146+ Nothing -> filter $ \ Types. DRepRegistration {.. } ->
147+ dRepRegistrationType == Types. DRep
147148 Just query -> filter $ \ Types. DRepRegistration {.. } ->
148- case dRepRegistrationType of
149- Types. SoleVoter -> query == dRepRegistrationView || query == dRepRegistrationDRepHash
150- Types. DRep -> query `isInfixOf` dRepRegistrationView
151- || query `isInfixOf` dRepRegistrationDRepHash
149+ let searchLower = Text. toLower query
150+ viewLower = Text. toLower dRepRegistrationView
151+ hashLower = Text. toLower dRepRegistrationDRepHash
152+ nameLower = maybe " " Text. toLower dRepRegistrationGivenName
153+ in case dRepRegistrationType of
154+ Types. SoleVoter -> searchLower == viewLower || searchLower == hashLower
155+ Types. DRep -> searchLower `isInfixOf` viewLower
156+ || searchLower `isInfixOf` hashLower
157+ || searchLower `isInfixOf` nameLower
152158
153159 let filterDRepsByStatus = case statuses of
154160 [] -> id
0 commit comments