{-# LANGUAGE DataKinds #-}
module DMQ.Protocol.LocalMsgSubmission.Client
  ( 
    LocalMsgSubmissionClient
  , LocalMsgClientStIdle
    
  , localMsgSubmissionClientPeer
  ) where
import DMQ.Protocol.LocalMsgSubmission.Type
import Network.TypedProtocol.Peer.Client
import Ouroboros.Network.Protocol.LocalTxSubmission.Client
type LocalMsgSubmissionClient sig = LocalTxSubmissionClient sig SigMempoolFail
type LocalMsgClientStIdle     = LocalTxClientStIdle
localMsgSubmissionClientPeer
  :: forall msg m a. Monad m
  => LocalMsgSubmissionClient msg m a
  -> Client (LocalMsgSubmission msg) NonPipelined StIdle m a
localMsgSubmissionClientPeer :: forall msg (m :: * -> *) a.
Monad m =>
LocalMsgSubmissionClient msg m a
-> Client (LocalMsgSubmission msg) 'NonPipelined 'StIdle m a
localMsgSubmissionClientPeer = LocalTxSubmissionClient msg SigMempoolFail m a
-> Client
     (LocalTxSubmission msg SigMempoolFail) 'NonPipelined 'StIdle m a
forall tx reject (m :: * -> *) a.
Monad m =>
LocalTxSubmissionClient tx reject m a
-> Client (LocalTxSubmission tx reject) 'NonPipelined 'StIdle m a
localTxSubmissionClientPeer