{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TypeFamilies #-}
module Marconi.Types
(
TargetAddresses,
CurrentEra,
pattern AsCurrentEra,
pattern CurrentEra,
TxOut,
TxOutRef,
txOutRef
) where
import Cardano.Api qualified as C
import Data.List.NonEmpty (NonEmpty)
type TargetAddresses = NonEmpty (C.Address C.ShelleyAddr)
type CurrentEra = C.BabbageEra
pattern CurrentEra :: C.CardanoEra CurrentEra
pattern $bCurrentEra :: CardanoEra CurrentEra
$mCurrentEra :: forall r.
CardanoEra CurrentEra -> (Void# -> r) -> (Void# -> r) -> r
CurrentEra = C.BabbageEra
pattern AsCurrentEra :: C.AsType CurrentEra
pattern $bAsCurrentEra :: AsType CurrentEra
$mAsCurrentEra :: forall r. AsType CurrentEra -> (Void# -> r) -> (Void# -> r) -> r
AsCurrentEra = C.AsBabbageEra
type TxOut = C.TxOut C.CtxTx CurrentEra
type TxOutRef = C.TxIn
txOutRef :: C.TxId -> C.TxIx -> C.TxIn
txOutRef :: TxId -> TxIx -> TxIn
txOutRef = TxId -> TxIx -> TxIn
C.TxIn