Skip to content

Commit a633c0e

Browse files
committed
Bring back parser support for plain UTxO
Signed-off-by: Sasha Bogicevic <[email protected]>
1 parent f33f64f commit a633c0e

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

hydra-node/src/Hydra/API/HTTPServer.hs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Cardano.Ledger.Core (PParams)
88
import Control.Concurrent.STM (TChan, dupTChan, readTChan)
99
import Data.Aeson (KeyValue ((.=)), object, withObject, (.:), (.:?))
1010
import Data.Aeson qualified as Aeson
11+
import Data.Aeson.Types (Parser)
1112
import Data.ByteString.Lazy qualified as LBS
1213
import Data.ByteString.Short ()
1314
import Data.Text (pack)
@@ -75,7 +76,7 @@ instance (ToJSON tx, ToJSON (UTxOType tx)) => ToJSON (DraftCommitTxRequest tx) w
7576
]
7677

7778
instance (FromJSON tx, FromJSON (UTxOType tx)) => FromJSON (DraftCommitTxRequest tx) where
78-
parseJSON v = fullVariant v <|> simpleVariant v
79+
parseJSON v = fullVariant v <|> simpleVariant v <|> simpleDirectVariant v
7980
where
8081
fullVariant = withObject "FullCommitRequest" $ \o -> do
8182
blueprintTx :: tx <- o .: "blueprintTx"
@@ -87,6 +88,9 @@ instance (FromJSON tx, FromJSON (UTxOType tx)) => FromJSON (DraftCommitTxRequest
8788
amount <- o .:? "amount"
8889
pure SimpleCommitRequest{utxoToCommit, amount}
8990

91+
simpleDirectVariant :: Aeson.Value -> Parser (DraftCommitTxRequest tx)
92+
simpleDirectVariant val = SimpleCommitRequest <$> parseJSON val <*> pure Nothing
93+
9094
instance (Arbitrary tx, Arbitrary (UTxOType tx)) => Arbitrary (DraftCommitTxRequest tx) where
9195
arbitrary = genericArbitrary
9296

0 commit comments

Comments
 (0)