@@ -87,35 +87,35 @@ min = UTxO . uncurry Map.singleton . Map.findMin . toMap
87
87
-- * Type Conversions
88
88
89
89
-- | Transforms a UTxO containing tx outs from any era into Babbage era.
90
- fromApi :: Cardano.Api. UTxO era -> UTxO
91
- fromApi (Cardano.Api. UTxO eraUTxO) =
90
+ fromApi :: forall era . ShelleyBasedEra era -> Cardano.Api. UTxO era -> UTxO
91
+ fromApi sbe (Cardano.Api. UTxO eraUTxO) =
92
92
let eraPairs = Map. toList eraUTxO
93
- babbagePairs = second coerceOutputToEra <$> eraPairs
93
+ babbagePairs = second ( coerceOutputToEra sbe) <$> eraPairs
94
94
in fromPairs babbagePairs
95
- where
96
- coerceOutputToEra :: TxOut CtxUTxO era -> TxOut CtxUTxO Era
97
- coerceOutputToEra (TxOut eraAddress eraValue eraDatum eraRefScript) =
98
- TxOut
99
- (coerceAddressToEra eraAddress)
100
- (coerceValueToEra eraValue)
101
- (coerceDatumToEra eraDatum)
102
- (coerceRefScriptToEra eraRefScript)
103
-
104
- coerceAddressToEra :: AddressInEra era -> AddressInEra Era
105
- coerceAddressToEra (AddressInEra _ eraAddress) = anyAddressInShelleyBasedEra ShelleyBasedEraBabbage (toAddressAny eraAddress)
106
-
107
- coerceValueToEra :: TxOutValue era -> TxOutValue Era
108
- coerceValueToEra ( TxOutAdaOnly _ eraLovelace) = lovelaceToTxOutValue BabbageEra eraLovelace
109
- coerceValueToEra ( TxOutValue _ value) = TxOutValue MaryEraOnwardsBabbage value
110
-
111
- coerceDatumToEra :: TxOutDatum CtxUTxO era -> TxOutDatum CtxUTxO Era
112
- coerceDatumToEra TxOutDatumNone = TxOutDatumNone
113
- coerceDatumToEra (TxOutDatumHash _ hashScriptData) = TxOutDatumHash AlonzoEraOnwardsBabbage hashScriptData
114
- coerceDatumToEra (TxOutDatumInline _ hashableScriptData) = TxOutDatumInline BabbageEraOnwardsBabbage hashableScriptData
115
-
116
- coerceRefScriptToEra :: ReferenceScript era -> ReferenceScript Era
117
- coerceRefScriptToEra ReferenceScriptNone = ReferenceScriptNone
118
- coerceRefScriptToEra (ReferenceScript _ scriptInAnyLang) = ReferenceScript BabbageEraOnwardsBabbage scriptInAnyLang
95
+
96
+ coerceOutputToEra :: forall era . ShelleyBasedEra era -> TxOut CtxUTxO era -> TxOut CtxUTxO Era
97
+ coerceOutputToEra sbe (TxOut eraAddress eraValue eraDatum eraRefScript) =
98
+ TxOut
99
+ (coerceAddressToEra eraAddress)
100
+ (coerceValueToEra sbe eraValue)
101
+ (coerceDatumToEra eraDatum)
102
+ (coerceRefScriptToEra eraRefScript)
103
+
104
+ coerceAddressToEra :: AddressInEra era -> AddressInEra Era
105
+ coerceAddressToEra (AddressInEra _ eraAddress) = anyAddressInShelleyBasedEra ShelleyBasedEraBabbage (toAddressAny eraAddress)
106
+
107
+ coerceValueToEra :: forall era . ShelleyBasedEra era -> TxOutValue era -> TxOutValue Era
108
+ coerceValueToEra _ ( TxOutValueByron eraLovelace) = lovelaceToTxOutValue shelleyBasedEra eraLovelace
109
+ coerceValueToEra sbe ( TxOutValueShelleyBased _ value) = TxOutValueShelleyBased ShelleyBasedEraBabbage (toLedgerValue MaryEraOnwardsBabbage $ fromLedgerValue sbe value)
110
+
111
+ coerceDatumToEra :: TxOutDatum CtxUTxO era -> TxOutDatum CtxUTxO Era
112
+ coerceDatumToEra TxOutDatumNone = TxOutDatumNone
113
+ coerceDatumToEra (TxOutDatumHash _ hashScriptData) = TxOutDatumHash AlonzoEraOnwardsBabbage hashScriptData
114
+ coerceDatumToEra (TxOutDatumInline _ hashableScriptData) = TxOutDatumInline BabbageEraOnwardsBabbage hashableScriptData
115
+
116
+ coerceRefScriptToEra :: ReferenceScript era -> ReferenceScript Era
117
+ coerceRefScriptToEra ReferenceScriptNone = ReferenceScriptNone
118
+ coerceRefScriptToEra (ReferenceScript _ scriptInAnyLang) = ReferenceScript BabbageEraOnwardsBabbage scriptInAnyLang
119
119
120
120
toApi :: UTxO -> Cardano.Api. UTxO Era
121
121
toApi = coerce
0 commit comments