module arch.node.engines.transport_protocol_environment;
import arch.node.types.basics open;
import arch.node.types.engine open;
import arch.node.types.messages open;
import arch.node.types.identities open;
import arch.node.types.anoma_message as Anoma open;
syntax alias TransportProtocolMailboxState := Unit;
type TransportProtocolLocalState := mk;
TransportProtocolTimerHandle : Type := Unit;
TransportProtocolTimestampedTrigger : Type :=
  TimestampedTrigger TransportProtocolTimerHandle Anoma.Msg;
TransportProtocolEnv : Type :=
  EngineEnv
    TransportProtocolLocalState
    TransportProtocolMailboxState
    TransportProtocolTimerHandle
    Anoma.Msg;
module transport_protocol_environment_example;
   : TransportProtocolEnv :=
    EngineEnv.mk@{
      localState := TransportProtocolLocalState.mk;
      mailboxCluster := Map.empty;
      acquaintances := Set.empty;
      timers := [];
    };
end;