module Hydra.Cardano.Api.CtxUTxO where
import Hydra.Cardano.Api.Prelude
class ToUTxOContext f where
toUTxOContext :: f CtxTx era -> f CtxUTxO era
instance ToUTxOContext TxOutDatum where
toUTxOContext :: forall era. TxOutDatum CtxTx era -> TxOutDatum CtxUTxO era
toUTxOContext = \case
TxOutDatum CtxTx era
TxOutDatumNone -> TxOutDatum CtxUTxO era
forall ctx era. TxOutDatum ctx era
TxOutDatumNone
TxOutDatumHash AlonzoEraOnwards era
s Hash ScriptData
h -> AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum CtxUTxO era
forall era ctx.
AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum ctx era
TxOutDatumHash AlonzoEraOnwards era
s Hash ScriptData
h
TxOutDatumInTx AlonzoEraOnwards era
s HashableScriptData
d -> AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum CtxUTxO era
forall era ctx.
AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum ctx era
TxOutDatumHash AlonzoEraOnwards era
s (HashableScriptData -> Hash ScriptData
hashScriptDataBytes HashableScriptData
d)
TxOutDatumInline BabbageEraOnwards era
s HashableScriptData
sd -> BabbageEraOnwards era
-> HashableScriptData -> TxOutDatum CtxUTxO era
forall era ctx.
BabbageEraOnwards era -> HashableScriptData -> TxOutDatum ctx era
TxOutDatumInline BabbageEraOnwards era
s HashableScriptData
sd
instance ToUTxOContext TxOut where
toUTxOContext :: forall era. TxOut CtxTx era -> TxOut CtxUTxO era
toUTxOContext (TxOut AddressInEra era
addr TxOutValue era
value TxOutDatum CtxTx era
dat ReferenceScript era
ref) =
AddressInEra era
-> TxOutValue era
-> TxOutDatum CtxUTxO era
-> ReferenceScript era
-> TxOut CtxUTxO era
forall ctx era.
AddressInEra era
-> TxOutValue era
-> TxOutDatum ctx era
-> ReferenceScript era
-> TxOut ctx era
TxOut AddressInEra era
addr TxOutValue era
value (TxOutDatum CtxTx era -> TxOutDatum CtxUTxO era
forall era. TxOutDatum CtxTx era -> TxOutDatum CtxUTxO era
forall {k} (f :: * -> k -> *) (era :: k).
ToUTxOContext f =>
f CtxTx era -> f CtxUTxO era
toUTxOContext TxOutDatum CtxTx era
dat) ReferenceScript era
ref