{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE NoFieldSelectors #-}
module Cardano.Rpc.Server.Internal.Env
( RpcEnv (..)
, mkLocalNodeConnectInfo
)
where
import Cardano.Api
import Cardano.Rpc.Server.Config
import Control.Tracer (Tracer)
data RpcEnv = RpcEnv
{ RpcEnv -> RpcConfig
config :: !RpcConfig
, RpcEnv -> forall (m :: * -> *). MonadIO m => Tracer m String
tracer :: forall m. MonadIO m => Tracer m String
,
RpcEnv -> LocalNodeConnectInfo
rpcLocalNodeConnectInfo :: !LocalNodeConnectInfo
}
mkLocalNodeConnectInfo :: SocketPath -> NetworkMagic -> LocalNodeConnectInfo
mkLocalNodeConnectInfo :: SocketPath -> NetworkMagic -> LocalNodeConnectInfo
mkLocalNodeConnectInfo SocketPath
nodeSocketPath NetworkMagic
networkMagic =
LocalNodeConnectInfo
{ localConsensusModeParams :: ConsensusModeParams
localConsensusModeParams = EpochSlots -> ConsensusModeParams
CardanoModeParams (Word64 -> EpochSlots
EpochSlots Word64
21600)
, localNodeNetworkId :: NetworkId
localNodeNetworkId = NetworkMagic -> NetworkId
fromNetworkMagic NetworkMagic
networkMagic
, localNodeSocketPath :: SocketPath
localNodeSocketPath = SocketPath
nodeSocketPath
}