Skip to content

Commit

Permalink
Simplify code using Parsec
Browse files Browse the repository at this point in the history
  • Loading branch information
cblp committed Jan 26, 2022
1 parent 75aa8a7 commit 158178f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 2 additions & 0 deletions cardano-api/src/Cardano/Api/TxBody.hs
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs
Expand Up @@ -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
Expand Down Expand Up @@ -1928,7 +1929,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
Expand Down Expand Up @@ -2741,7 +2742,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 =
Expand Down

0 comments on commit 158178f

Please sign in to comment.