module Cardano.CLI.Type.Error.NodeNetworkIdMismatchError ( NodeNetworkIdMismatchError (..) ) where import Cardano.Api data NodeNetworkIdMismatchError = NodeNetworkIdMismatchError { NodeNetworkIdMismatchError -> NetworkId cliNetworkId :: !NetworkId , NodeNetworkIdMismatchError -> NetworkId nodeNetworkId :: !NetworkId } deriving Int -> NodeNetworkIdMismatchError -> ShowS [NodeNetworkIdMismatchError] -> ShowS NodeNetworkIdMismatchError -> String (Int -> NodeNetworkIdMismatchError -> ShowS) -> (NodeNetworkIdMismatchError -> String) -> ([NodeNetworkIdMismatchError] -> ShowS) -> Show NodeNetworkIdMismatchError forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> NodeNetworkIdMismatchError -> ShowS showsPrec :: Int -> NodeNetworkIdMismatchError -> ShowS $cshow :: NodeNetworkIdMismatchError -> String show :: NodeNetworkIdMismatchError -> String $cshowList :: [NodeNetworkIdMismatchError] -> ShowS showList :: [NodeNetworkIdMismatchError] -> ShowS Show instance Error NodeNetworkIdMismatchError where prettyError :: forall ann. NodeNetworkIdMismatchError -> Doc ann prettyError (NodeNetworkIdMismatchError NetworkId cli NetworkId node) = [Doc ann] -> Doc ann forall a. Monoid a => [a] -> a mconcat [ Doc ann "The network id given to the command does not match the network of the node: " , Doc ann "the command was given " , NetworkId -> Doc ann forall ann. NetworkId -> Doc ann renderNetworkId NetworkId cli , Doc ann ", but the node is on " , NetworkId -> Doc ann forall ann. NetworkId -> Doc ann renderNetworkId NetworkId node , Doc ann ".\n" , Doc ann "Specify " , NetworkId -> Doc ann forall ann. NetworkId -> Doc ann renderNetworkIdFlag NetworkId node , Doc ann " (or set the CARDANO_NODE_NETWORK_ID environment variable accordingly), " , Doc ann "or connect to a node on the expected network." ] where renderNetworkId :: NetworkId -> Doc ann renderNetworkId :: forall ann. NetworkId -> Doc ann renderNetworkId NetworkId Mainnet = Doc ann "mainnet" renderNetworkId (Testnet (NetworkMagic Word32 magic)) = Doc ann "a testnet with network magic " Doc ann -> Doc ann -> Doc ann forall a. Semigroup a => a -> a -> a <> Word32 -> Doc ann forall ann. Word32 -> Doc ann forall a ann. Pretty a => a -> Doc ann pretty Word32 magic renderNetworkIdFlag :: NetworkId -> Doc ann renderNetworkIdFlag :: forall ann. NetworkId -> Doc ann renderNetworkIdFlag NetworkId Mainnet = Doc ann "--mainnet" renderNetworkIdFlag (Testnet (NetworkMagic Word32 magic)) = Doc ann "--testnet-magic " Doc ann -> Doc ann -> Doc ann forall a. Semigroup a => a -> a -> a <> Word32 -> Doc ann forall ann. Word32 -> Doc ann forall a ann. Pretty a => a -> Doc ann pretty Word32 magic