From 3911a12a6eac36157d967b0855a5ea12cd74e6ba Mon Sep 17 00:00:00 2001 From: Yuriy Syrovetskiy Date: Wed, 20 Oct 2021 17:35:29 +0300 Subject: [PATCH] Simplify code using Parsec --- cardano-api/src/Cardano/Api/TxBody.hs | 2 ++ cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cardano-api/src/Cardano/Api/TxBody.hs b/cardano-api/src/Cardano/Api/TxBody.hs index 93ae5daffd5..8d48d608997 100644 --- a/cardano-api/src/Cardano/Api/TxBody.hs +++ b/cardano-api/src/Cardano/Api/TxBody.hs @@ -139,6 +139,7 @@ module Cardano.Api.TxBody ( import Prelude +import Control.Applicative (some) import Control.Monad (guard) import Data.Aeson (object, withObject, withText, (.:), (.:?), (.=)) import qualified Data.Aeson as Aeson @@ -166,6 +167,7 @@ import qualified Data.Text as Text import Data.Type.Equality (TestEquality (..), (:~:) (Refl)) import Data.Word (Word32, Word64) import GHC.Generics +import Text.Parsec (()) import qualified Text.Parsec as Parsec import qualified Text.Parsec.Language as Parsec import qualified Text.Parsec.String as Parsec diff --git a/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs b/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs index 96da1aa9db4..6db2197e08e 100644 --- a/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs +++ b/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs @@ -35,6 +35,7 @@ import Options.Applicative hiding (help, str) import qualified Options.Applicative as Opt import qualified Options.Applicative.Help as H import Prettyprinter (line, pretty) +import Text.Parsec (()) import qualified Text.Parsec as Parsec import qualified Text.Parsec.Error as Parsec import qualified Text.Parsec.Language as Parsec @@ -1940,7 +1941,7 @@ parseTxIn = TxIn <$> parseTxId <*> (Parsec.char '#' *> parseTxIx) parseTxId :: Parsec.Parser TxId parseTxId = do - str <- Parsec.many1 Parsec.hexDigit Parsec. "transaction id (hexadecimal)" + str <- some Parsec.hexDigit "transaction id (hexadecimal)" case deserialiseFromRawBytesHex AsTxId (BSC.pack str) of Right addr -> return addr Left e -> fail $ "Incorrect transaction id format: " ++ displayError e @@ -2753,7 +2754,7 @@ pExtraEntropy = parseEntropyBytes :: Parsec.Parser ByteString parseEntropyBytes = either fail return . B16.decode . BSC.pack - =<< Parsec.many1 Parsec.hexDigit + =<< some Parsec.hexDigit pUTxOCostPerWord :: Parser Lovelace pUTxOCostPerWord =