From 16fa75e32e27aeb677b968850a0116d41831e351 Mon Sep 17 00:00:00 2001 From: sourabhxyz Date: Tue, 26 Aug 2025 16:37:31 +0530 Subject: [PATCH 1/2] feat(#471): allow utxos query on empty addresses list for Maestro provider --- src/GeniusYield/Providers/Maestro.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/GeniusYield/Providers/Maestro.hs b/src/GeniusYield/Providers/Maestro.hs index 9973eb28..24214581 100644 --- a/src/GeniusYield/Providers/Maestro.hs +++ b/src/GeniusYield/Providers/Maestro.hs @@ -313,7 +313,12 @@ maestroUtxosAtAddresses :: Maestro.MaestroEnv 'Maestro.V1 -> [GYAddress] -> IO G maestroUtxosAtAddresses env addrs = do let addrsInText = map addressToText addrs -- Here one would not get `MaestroNotFound` error. - addrUtxos <- handleMaestroError locationIdent <=< try $ Maestro.allPages (flip (Maestro.utxosAtMultiAddresses env (Just False) (Just False)) $ coerce addrsInText) + addrUtxos <- + if null addrs + then + pure [] + else + handleMaestroError locationIdent <=< try $ Maestro.allPages (flip (Maestro.utxosAtMultiAddresses env (Just False) (Just False)) $ coerce addrsInText) either (throwIO . MspvDeserializeFailure locationIdent) (pure . utxosFromList) (traverse utxoFromMaestro addrUtxos) where From 7342c092826625cf72fdabed3e8ce84957adfee6 Mon Sep 17 00:00:00 2001 From: sourabhxyz Date: Tue, 26 Aug 2025 16:39:19 +0530 Subject: [PATCH 2/2] chore(#471): update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b27996e8..cca37838 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## Next + +* `utxosAtAddresses` doesn't throw error when querying for empty addresses list against Maestro provider. + ## 0.14.1 * Added `utxosWithAsset` for efficiently querying of UTxOs containing a specified asset.