{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Mary.TxSeq () where import Cardano.Ledger.Core (EraSegWits (..)) import Cardano.Ledger.Mary.Era (MaryEra) import Cardano.Ledger.Mary.Tx () import Cardano.Ledger.Shelley.BlockChain (ShelleyTxSeq (..), bbHash, txSeqTxns) instance EraSegWits MaryEra where type TxSeq MaryEra = ShelleyTxSeq MaryEra fromTxSeq :: TxSeq MaryEra -> StrictSeq (Tx MaryEra) fromTxSeq = forall era. ShelleyTxSeq era -> StrictSeq (ShelleyTx era) txSeqTxns toTxSeq :: StrictSeq (Tx MaryEra) -> TxSeq MaryEra toTxSeq = forall era. (EraTx era, Tx era ~ ShelleyTx era, SafeToHash (TxWits era)) => StrictSeq (Tx era) -> ShelleyTxSeq era ShelleyTxSeq hashTxSeq :: TxSeq MaryEra -> Hash HASH EraIndependentBlockBody hashTxSeq = forall era. ShelleyTxSeq era -> Hash HASH EraIndependentBlockBody bbHash numSegComponents :: Word64 numSegComponents = Word64 3