{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NoFieldSelectors #-}
module Haskoin.Network.Data
( Network (..),
)
where
import Control.DeepSeq
import Data.Binary (Binary (..))
import Data.ByteString (ByteString)
import Data.Serialize (Serialize (..))
import Data.Text (Text)
import Data.Word (Word32, Word64, Word8)
import GHC.Generics (Generic)
import Haskoin.Block.Common
data Network = Network
{
Network -> String
name :: !String,
Network -> Word8
addrPrefix :: !Word8,
Network -> Word8
scriptPrefix :: !Word8,
Network -> Word8
secretPrefix :: !Word8,
Network -> Word32
xPubPrefix :: !Word32,
Network -> Word32
xPrvPrefix :: !Word32,
Network -> Word32
magic :: !Word32,
:: !BlockHeader,
Network -> Int
maxBlockSize :: !Int,
Network -> Word64
maxSatoshi :: !Word64,
Network -> ByteString
userAgent :: !ByteString,
Network -> Int
defaultPort :: !Int,
Network -> Bool
minDiffBlocks :: !Bool,
Network -> Bool
powNoRetarget :: !Bool,
Network -> Integer
powLimit :: !Integer,
Network -> (Word32, BlockHash)
bip34Block :: !(BlockHeight, BlockHash),
Network -> Word32
bip65Height :: !BlockHeight,
Network -> Word32
bip66Height :: !BlockHeight,
Network -> Word32
targetTimespan :: !Word32,
Network -> Word32
targetSpacing :: !Word32,
Network -> [(Word32, BlockHash)]
checkpoints :: ![(BlockHeight, BlockHash)],
Network -> Word32
bip44Coin :: !Word32,
Network -> [String]
seeds :: ![String],
Network -> Maybe Word32
sigHashForkId :: !(Maybe Word32),
Network -> Maybe Word32
edaHeight :: !(Maybe Word32),
Network -> Maybe Word32
daaHeight :: !(Maybe Word32),
Network -> Maybe Word32
asertActivationTime :: !(Maybe Word32),
Network -> Integer
asertHalfLife :: !Integer,
Network -> Bool
segWit :: !Bool,
Network -> Maybe Text
cashAddrPrefix :: !(Maybe Text),
Network -> Maybe Text
bech32Prefix :: !(Maybe Text),
Network -> Bool
replaceByFee :: !Bool,
Network -> Word32
halvingInterval :: !Word32
}
deriving (Network -> Network -> Bool
(Network -> Network -> Bool)
-> (Network -> Network -> Bool) -> Eq Network
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Network -> Network -> Bool
== :: Network -> Network -> Bool
$c/= :: Network -> Network -> Bool
/= :: Network -> Network -> Bool
Eq, Int -> Network -> ShowS
[Network] -> ShowS
Network -> String
(Int -> Network -> ShowS)
-> (Network -> String) -> ([Network] -> ShowS) -> Show Network
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Network -> ShowS
showsPrec :: Int -> Network -> ShowS
$cshow :: Network -> String
show :: Network -> String
$cshowList :: [Network] -> ShowS
showList :: [Network] -> ShowS
Show, ReadPrec [Network]
ReadPrec Network
Int -> ReadS Network
ReadS [Network]
(Int -> ReadS Network)
-> ReadS [Network]
-> ReadPrec Network
-> ReadPrec [Network]
-> Read Network
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Network
readsPrec :: Int -> ReadS Network
$creadList :: ReadS [Network]
readList :: ReadS [Network]
$creadPrec :: ReadPrec Network
readPrec :: ReadPrec Network
$creadListPrec :: ReadPrec [Network]
readListPrec :: ReadPrec [Network]
Read, (forall x. Network -> Rep Network x)
-> (forall x. Rep Network x -> Network) -> Generic Network
forall x. Rep Network x -> Network
forall x. Network -> Rep Network x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Network -> Rep Network x
from :: forall x. Network -> Rep Network x
$cto :: forall x. Rep Network x -> Network
to :: forall x. Rep Network x -> Network
Generic, Network -> ()
(Network -> ()) -> NFData Network
forall a. (a -> ()) -> NFData a
$crnf :: Network -> ()
rnf :: Network -> ()
NFData)