marlowe-runtime-0.0.5: Runtime system for running Marlowe financial contracts on the Cardano Computation Layer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Marlowe.Protocol.Sync.Types

Documentation

data MarloweSync where Source #

Constructors

StInit :: MarloweSync 
StFollow :: MarloweSync 
StDone :: MarloweSync 
StIdle :: MarloweVersionTag -> MarloweSync 
StNext :: MarloweVersionTag -> MarloweSync 
StWait :: MarloweVersionTag -> MarloweSync 
StIntersect :: MarloweVersionTag -> MarloweSync 

Instances

Instances details
BinaryMessage MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

putMessage :: forall (pr :: PeerRole) (st :: MarloweSync) (st' :: MarloweSync). PeerHasAgency pr st -> Message MarloweSync st st' -> Put

getMessage :: forall (pr :: PeerRole) (st :: MarloweSync). PeerHasAgency pr st -> Get (SomeMessage st)

MessageEq MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

messageEq :: AnyMessageAndAgency MarloweSync -> AnyMessageAndAgency MarloweSync -> Bool

MessageVariations MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

messageVariations :: forall (pr :: PeerRole) (st :: MarloweSync). PeerHasAgency pr st -> NonEmpty (SomeMessage st)

agencyVariations :: NonEmpty (SomePeerHasAgency MarloweSync)

ShowProtocol MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

showsPrecMessage :: forall (pr :: PeerRole) (st :: MarloweSync) (st' :: MarloweSync). Int -> PeerHasAgency pr st -> Message MarloweSync st st' -> ShowS

showsPrecServerHasAgency :: forall (st :: MarloweSync). Int -> ServerHasAgency st -> ShowS

showsPrecClientHasAgency :: forall (st :: MarloweSync). Int -> ClientHasAgency st -> ShowS

OTelProtocol MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

protocolName :: Proxy MarloweSync -> Text

messageAttributes :: forall (pr :: PeerRole) (st :: MarloweSync) (st' :: MarloweSync). PeerHasAgency pr st -> Message MarloweSync st st' -> MessageAttributes

MessageToJSON MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

messageToJSON :: forall (pr :: PeerRole) (st :: MarloweSync) (st' :: MarloweSync). PeerHasAgency pr st -> Message MarloweSync st st' -> Value

Protocol MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Associated Types

data Message MarloweSync st st'

data ClientHasAgency st

data ServerHasAgency st

data NobodyHasAgency st

Methods

exclusionLemma_ClientAndServerHaveAgency :: forall (st :: MarloweSync). ClientHasAgency st -> ServerHasAgency st -> Void

exclusionLemma_NobodyAndClientHaveAgency :: forall (st :: MarloweSync). NobodyHasAgency st -> ClientHasAgency st -> Void

exclusionLemma_NobodyAndServerHaveAgency :: forall (st :: MarloweSync). NobodyHasAgency st -> ServerHasAgency st -> Void

HasSignature MarloweSync Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

Methods

signature :: Proxy MarloweSync -> Text

data ClientHasAgency (st :: MarloweSync) Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

data ClientHasAgency (st :: MarloweSync) where
  • TokInit :: ClientHasAgency 'StInit
  • TokIdle :: forall (v :: MarloweVersionTag). MarloweVersion v -> ClientHasAgency ('StIdle v)
  • TokWait :: forall (v :: MarloweVersionTag). MarloweVersion v -> ClientHasAgency ('StWait v)
data Message MarloweSync (from :: MarloweSync) (to :: MarloweSync) Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

data Message MarloweSync (from :: MarloweSync) (to :: MarloweSync) where
data NobodyHasAgency (st :: MarloweSync) Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

data NobodyHasAgency (st :: MarloweSync) where
data ServerHasAgency (st :: MarloweSync) Source # 
Instance details

Defined in Language.Marlowe.Protocol.Sync.Types

data ServerHasAgency (st :: MarloweSync) where

msgObject :: ToJSON a => Key -> a -> Value Source #