byron-spec-ledger-0.1.0.0: Executable specification of Cardano ledger
Safe HaskellNone
LanguageHaskell2010

Byron.Spec.Ledger.Core

Synopsis

Documentation

newtype Hash Source #

An encoded hash of part of the system.

Nothing is used to signal to the elaborators (i.e. the algorithms that translate abstract data into data concrete) that they should produce an invalid concrete hash.

Constructors

Hash 

Fields

Instances

Instances details
Eq Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Hash -> Hash -> Bool #

(/=) :: Hash -> Hash -> Bool #

Data Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Hash -> c Hash #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Hash #

toConstr :: Hash -> Constr #

dataTypeOf :: Hash -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Hash) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Hash) #

gmapT :: (forall b. Data b => b -> b) -> Hash -> Hash #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hash -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hash -> r #

gmapQ :: (forall d. Data d => d -> u) -> Hash -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Hash -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Hash -> m Hash #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Hash -> m Hash #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Hash -> m Hash #

Ord Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Hash -> Hash -> Ordering #

(<) :: Hash -> Hash -> Bool #

(<=) :: Hash -> Hash -> Bool #

(>) :: Hash -> Hash -> Bool #

(>=) :: Hash -> Hash -> Bool #

max :: Hash -> Hash -> Hash #

min :: Hash -> Hash -> Hash #

Show Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Hash -> ShowS #

show :: Hash -> String #

showList :: [Hash] -> ShowS #

Generic Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Hash :: Type -> Type #

Methods

from :: Hash -> Rep Hash x #

to :: Rep Hash x -> Hash #

Hashable Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Hash -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Hash -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Hash] -> Size Source #

AddShrinks Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Hash -> TinkerM g () Source #

NoThunks Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps g => Goblin g Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Hash Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Hash = D1 ('MetaData "Hash" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Hash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))))

class HasHash a where Source #

Hash part of the ledger payload

Methods

hash :: a -> Hash Source #

Instances

Instances details
HasHash Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

hash :: Addr -> Hash Source #

HasHash VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasHash VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

hash :: VKey -> Hash Source #

HasHash TxBody Source # 
Instance details

Defined in Byron.Spec.Ledger.UTxO

Methods

hash :: TxBody -> Hash Source #

HasHash [Tx] Source # 
Instance details

Defined in Byron.Spec.Ledger.UTxO

Methods

hash :: [Tx] -> Hash Source #

HasHash [DCert] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

Methods

hash :: [DCert] -> Hash Source #

HasHash (Maybe UProp, [Vote]) Source # 
Instance details

Defined in Byron.Spec.Ledger.Update

Methods

hash :: (Maybe UProp, [Vote]) -> Hash Source #

newtype Owner Source #

Representation of the owner of key pair.

Constructors

Owner 

Fields

Instances

Instances details
Eq Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Owner -> Owner -> Bool #

(/=) :: Owner -> Owner -> Bool #

Data Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Owner -> c Owner #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Owner #

toConstr :: Owner -> Constr #

dataTypeOf :: Owner -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Owner) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Owner) #

gmapT :: (forall b. Data b => b -> b) -> Owner -> Owner #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Owner -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Owner -> r #

gmapQ :: (forall d. Data d => d -> u) -> Owner -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Owner -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Owner -> m Owner #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Owner -> m Owner #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Owner -> m Owner #

Ord Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Owner -> Owner -> Ordering #

(<) :: Owner -> Owner -> Bool #

(<=) :: Owner -> Owner -> Bool #

(>) :: Owner -> Owner -> Bool #

(>=) :: Owner -> Owner -> Bool #

max :: Owner -> Owner -> Owner #

min :: Owner -> Owner -> Owner #

Show Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Owner -> ShowS #

show :: Owner -> String #

showList :: [Owner] -> ShowS #

Generic Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Owner :: Type -> Type #

Methods

from :: Owner -> Rep Owner x #

to :: Rep Owner x -> Owner #

Hashable Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Owner -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Owner -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Owner] -> Size Source #

AddShrinks Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Owner -> TinkerM g () Source #

NoThunks Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen Owner -> TinkerM genome (Gen Owner) Source #

conjure :: TinkerM genome Owner Source #

type Rep Owner Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Owner = D1 ('MetaData "Owner" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Owner" 'PrefixI 'True) (S1 ('MetaSel ('Just "unOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural)))

class HasOwner a where Source #

Methods

owner :: a -> Owner Source #

Instances

Instances details
HasOwner Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: Addr -> Owner Source #

HasOwner VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasOwner VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: VKey -> Owner Source #

HasOwner SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: SKey -> Owner Source #

newtype SKey Source #

Signing Key.

Constructors

SKey Owner 

Instances

Instances details
Eq SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: SKey -> SKey -> Bool #

(/=) :: SKey -> SKey -> Bool #

Data SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SKey -> c SKey #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SKey #

toConstr :: SKey -> Constr #

dataTypeOf :: SKey -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SKey) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SKey) #

gmapT :: (forall b. Data b => b -> b) -> SKey -> SKey #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SKey -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SKey -> r #

gmapQ :: (forall d. Data d => d -> u) -> SKey -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SKey -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SKey -> m SKey #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SKey -> m SKey #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SKey -> m SKey #

Ord SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: SKey -> SKey -> Ordering #

(<) :: SKey -> SKey -> Bool #

(<=) :: SKey -> SKey -> Bool #

(>) :: SKey -> SKey -> Bool #

(>=) :: SKey -> SKey -> Bool #

max :: SKey -> SKey -> SKey #

min :: SKey -> SKey -> SKey #

Show SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> SKey -> ShowS #

show :: SKey -> String #

showList :: [SKey] -> ShowS #

Generic SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep SKey :: Type -> Type #

Methods

from :: SKey -> Rep SKey x #

to :: Rep SKey x -> SKey #

ToCBOR SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: SKey -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy SKey -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [SKey] -> Size Source #

NoThunks SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasOwner SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: SKey -> Owner Source #

type Rep SKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep SKey = D1 ('MetaData "SKey" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "SKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Owner)))

newtype VKey Source #

Verification Key.

Constructors

VKey Owner 

Instances

Instances details
Eq VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: VKey -> VKey -> Bool #

(/=) :: VKey -> VKey -> Bool #

Data VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VKey -> c VKey #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VKey #

toConstr :: VKey -> Constr #

dataTypeOf :: VKey -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VKey) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VKey) #

gmapT :: (forall b. Data b => b -> b) -> VKey -> VKey #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VKey -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VKey -> r #

gmapQ :: (forall d. Data d => d -> u) -> VKey -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> VKey -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VKey -> m VKey #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VKey -> m VKey #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VKey -> m VKey #

Ord VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: VKey -> VKey -> Ordering #

(<) :: VKey -> VKey -> Bool #

(<=) :: VKey -> VKey -> Bool #

(>) :: VKey -> VKey -> Bool #

(>=) :: VKey -> VKey -> Bool #

max :: VKey -> VKey -> VKey #

min :: VKey -> VKey -> VKey #

Show VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> VKey -> ShowS #

show :: VKey -> String #

showList :: [VKey] -> ShowS #

Generic VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep VKey :: Type -> Type #

Methods

from :: VKey -> Rep VKey x #

to :: Rep VKey x -> VKey #

Hashable VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: VKey -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy VKey -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [VKey] -> Size Source #

AddShrinks VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: VKey -> TinkerM g () Source #

NoThunks VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasOwner VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: VKey -> Owner Source #

HasHash VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

hash :: VKey -> Hash Source #

GeneOps genome => Goblin genome VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen VKey -> TinkerM genome (Gen VKey) Source #

conjure :: TinkerM genome VKey Source #

HasScheduledDelegations DSState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

HasScheduledDelegations DIState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

type Rep VKey Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep VKey = D1 ('MetaData "VKey" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "VKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Owner)))

newtype VKeyGenesis Source #

A genesis key is a specialisation of a generic VKey.

Constructors

VKeyGenesis 

Fields

Instances

Instances details
Eq VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Data VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VKeyGenesis -> c VKeyGenesis #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VKeyGenesis #

toConstr :: VKeyGenesis -> Constr #

dataTypeOf :: VKeyGenesis -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VKeyGenesis) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VKeyGenesis) #

gmapT :: (forall b. Data b => b -> b) -> VKeyGenesis -> VKeyGenesis #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VKeyGenesis -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VKeyGenesis -> r #

gmapQ :: (forall d. Data d => d -> u) -> VKeyGenesis -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> VKeyGenesis -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VKeyGenesis -> m VKeyGenesis #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VKeyGenesis -> m VKeyGenesis #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VKeyGenesis -> m VKeyGenesis #

Ord VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Show VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Generic VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep VKeyGenesis :: Type -> Type #

Hashable VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

AddShrinks VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: VKeyGenesis -> TinkerM g () Source #

NoThunks VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasOwner VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasHash VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasScheduledDelegations DSState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

HasScheduledDelegations DIState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

type Rep VKeyGenesis Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep VKeyGenesis = D1 ('MetaData "VKeyGenesis" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "VKeyGenesis" 'PrefixI 'True) (S1 ('MetaSel ('Just "unVKeyGenesis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VKey)))

mkVkGenesisSet Source #

Arguments

:: Word8

Number of genesis keys

-> Set VKeyGenesis 

Make a set of genesis keys. The genesis keys are continuously numbered from 0 to the given number of genesis keys minus 1.

data KeyPair Source #

Key Pair.

Constructors

KeyPair 

Fields

Instances

Instances details
Eq KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: KeyPair -> KeyPair -> Bool #

(/=) :: KeyPair -> KeyPair -> Bool #

Ord KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Show KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Generic KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep KeyPair :: Type -> Type #

Methods

from :: KeyPair -> Rep KeyPair x #

to :: Rep KeyPair x -> KeyPair #

NoThunks KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep KeyPair Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep KeyPair = D1 ('MetaData "KeyPair" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'False) (C1 ('MetaCons "KeyPair" 'PrefixI 'True) (S1 ('MetaSel ('Just "sKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SKey) :*: S1 ('MetaSel ('Just "vKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VKey)))

keyPair :: Owner -> KeyPair Source #

Return a key pair for a given owner.

data Sig a Source #

A digital signature.

Constructors

Sig a Owner 

Instances

Instances details
(Goblin genome arg, AddShrinks arg) => Goblin genome (Sig arg) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen (Sig arg) -> TinkerM genome (Gen (Sig arg)) Source #

conjure :: TinkerM genome (Sig arg) Source #

Eq a => Eq (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Sig a -> Sig a -> Bool #

(/=) :: Sig a -> Sig a -> Bool #

Data a => Data (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sig a -> c (Sig a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sig a) #

toConstr :: Sig a -> Constr #

dataTypeOf :: Sig a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sig a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sig a)) #

gmapT :: (forall b. Data b => b -> b) -> Sig a -> Sig a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sig a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sig a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Sig a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Sig a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sig a -> m (Sig a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sig a -> m (Sig a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sig a -> m (Sig a) #

Ord a => Ord (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Sig a -> Sig a -> Ordering #

(<) :: Sig a -> Sig a -> Bool #

(<=) :: Sig a -> Sig a -> Bool #

(>) :: Sig a -> Sig a -> Bool #

(>=) :: Sig a -> Sig a -> Bool #

max :: Sig a -> Sig a -> Sig a #

min :: Sig a -> Sig a -> Sig a #

Show a => Show (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Sig a -> ShowS #

show :: Sig a -> String #

showList :: [Sig a] -> ShowS #

Generic (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep (Sig a) :: Type -> Type #

Methods

from :: Sig a -> Rep (Sig a) x #

to :: Rep (Sig a) x -> Sig a #

Hashable a => Hashable (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

hashWithSalt :: Int -> Sig a -> Int Source #

hash :: Sig a -> Int Source #

AddShrinks arg => AddShrinks (Sig arg) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

addShrinks :: Sig arg -> Gen (Sig arg) Source #

NoThunks a => NoThunks (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Typeable a => HasTypeReps (Sig a) Source #

We need a custom instance here that returns only the top level type. A generic instance would have recursed into type a and since we use typeReps to compute abstractSize, this would mean the size of 'Sig a' would include the size of a (e.g. Tx). This would create an artificial coupling between the size of a type and it's "signature".

Instance details

Defined in Byron.Spec.Ledger.Core

Methods

typeReps :: Sig a -> Seq TypeRep Source #

type Rep (Sig a) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep (Sig a) = D1 ('MetaData "Sig" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'False) (C1 ('MetaCons "Sig" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Owner)))

sign :: SKey -> a -> Sig a Source #

Produce a digital signature

verify :: Eq a => VKey -> a -> Sig a -> Bool Source #

Verify a digital signature

newtype Epoch Source #

Constructors

Epoch 

Fields

Instances

Instances details
Eq Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Epoch -> Epoch -> Bool #

(/=) :: Epoch -> Epoch -> Bool #

Data Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Epoch -> c Epoch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Epoch #

toConstr :: Epoch -> Constr #

dataTypeOf :: Epoch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Epoch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Epoch) #

gmapT :: (forall b. Data b => b -> b) -> Epoch -> Epoch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Epoch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Epoch -> r #

gmapQ :: (forall d. Data d => d -> u) -> Epoch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Epoch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Epoch -> m Epoch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Epoch -> m Epoch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Epoch -> m Epoch #

Num Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Ord Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Epoch -> Epoch -> Ordering #

(<) :: Epoch -> Epoch -> Bool #

(<=) :: Epoch -> Epoch -> Bool #

(>) :: Epoch -> Epoch -> Bool #

(>=) :: Epoch -> Epoch -> Bool #

max :: Epoch -> Epoch -> Epoch #

min :: Epoch -> Epoch -> Epoch #

Show Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Epoch -> ShowS #

show :: Epoch -> String #

showList :: [Epoch] -> ShowS #

Generic Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Epoch :: Type -> Type #

Methods

from :: Epoch -> Rep Epoch x #

to :: Rep Epoch x -> Epoch #

Hashable Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Epoch -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Epoch -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Epoch] -> Size Source #

AddShrinks Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Epoch -> TinkerM g () Source #

NoThunks Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen Epoch -> TinkerM genome (Gen Epoch) Source #

conjure :: TinkerM genome Epoch Source #

type Rep Epoch Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Epoch = D1 ('MetaData "Epoch" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Epoch" 'PrefixI 'True) (S1 ('MetaSel ('Just "unEpoch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype Slot Source #

Constructors

Slot 

Fields

Instances

Instances details
Eq Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Slot -> Slot -> Bool #

(/=) :: Slot -> Slot -> Bool #

Data Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Slot -> c Slot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Slot #

toConstr :: Slot -> Constr #

dataTypeOf :: Slot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Slot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot) #

gmapT :: (forall b. Data b => b -> b) -> Slot -> Slot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r #

gmapQ :: (forall d. Data d => d -> u) -> Slot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Slot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

Ord Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Slot -> Slot -> Ordering #

(<) :: Slot -> Slot -> Bool #

(<=) :: Slot -> Slot -> Bool #

(>) :: Slot -> Slot -> Bool #

(>=) :: Slot -> Slot -> Bool #

max :: Slot -> Slot -> Slot #

min :: Slot -> Slot -> Slot #

Show Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Slot -> ShowS #

show :: Slot -> String #

showList :: [Slot] -> ShowS #

Generic Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Slot :: Type -> Type #

Methods

from :: Slot -> Rep Slot x #

to :: Rep Slot x -> Slot #

Hashable Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Slot -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Slot -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Slot] -> Size Source #

AddShrinks Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Slot -> TinkerM g () Source #

NoThunks Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen Slot -> TinkerM genome (Gen Slot) Source #

conjure :: TinkerM genome Slot Source #

HasScheduledDelegations DSState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

HasScheduledDelegations DIState [(Slot, (VKeyGenesis, VKey))] Source # 
Instance details

Defined in Byron.Spec.Ledger.Delegation

type Rep Slot Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Slot = D1 ('MetaData "Slot" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Slot" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype SlotCount Source #

A number of slots.

We use this newtype to distinguish between a cardinal slot and a relative period of slots, and also to distinguish between number of slots and number of blocks.

Constructors

SlotCount 

Fields

Instances

Instances details
Eq SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Data SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SlotCount -> c SlotCount #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SlotCount #

toConstr :: SlotCount -> Constr #

dataTypeOf :: SlotCount -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SlotCount) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SlotCount) #

gmapT :: (forall b. Data b => b -> b) -> SlotCount -> SlotCount #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SlotCount -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SlotCount -> r #

gmapQ :: (forall d. Data d => d -> u) -> SlotCount -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SlotCount -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SlotCount -> m SlotCount #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SlotCount -> m SlotCount #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SlotCount -> m SlotCount #

Num SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Ord SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Show SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Generic SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep SlotCount :: Type -> Type #

Hashable SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: SlotCount -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy SlotCount -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [SlotCount] -> Size Source #

AddShrinks SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: SlotCount -> TinkerM g () Source #

NoThunks SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep SlotCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep SlotCount = D1 ('MetaData "SlotCount" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "SlotCount" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSlotCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

addSlot :: Slot -> SlotCount -> Slot Source #

Add a slot count to a slot.

(+.) :: Slot -> SlotCount -> Slot infixl 6 Source #

An alias for addSlot

minusSlot :: Slot -> SlotCount -> Slot Source #

Subtract a slot count from a slot.

This is bounded below by 0.

(-.) :: Slot -> SlotCount -> Slot infixl 6 Source #

An alias for minusSlot

(*.) :: Word64 -> BlockCount -> SlotCount infixl 7 Source #

Multiply the block count by the given constant. This function does not check for overflow.

minusSlotMaybe :: Slot -> SlotCount -> Maybe Slot Source #

Subtract a slot count from a slot.

In case the slot count is greater than the slot's index, it returns Nothing.

newtype BlockCount Source #

Constructors

BlockCount 

Fields

Instances

Instances details
Eq BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Num BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Ord BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Show BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Generic BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep BlockCount :: Type -> Type #

Hashable BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

AddShrinks BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: BlockCount -> TinkerM g () Source #

NoThunks BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps genome => Goblin genome BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep BlockCount Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep BlockCount = D1 ('MetaData "BlockCount" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "BlockCount" 'PrefixI 'True) (S1 ('MetaSel ('Just "unBlockCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype Addr Source #

The address of a transaction output, used to identify the owner.

Constructors

Addr VKey 

Instances

Instances details
Eq Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

(==) :: Addr -> Addr -> Bool #

(/=) :: Addr -> Addr -> Bool #

Data Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Addr -> c Addr #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Addr #

toConstr :: Addr -> Constr #

dataTypeOf :: Addr -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Addr) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Addr) #

gmapT :: (forall b. Data b => b -> b) -> Addr -> Addr #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Addr -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Addr -> r #

gmapQ :: (forall d. Data d => d -> u) -> Addr -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Addr -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Addr -> m Addr #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Addr -> m Addr #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Addr -> m Addr #

Ord Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

compare :: Addr -> Addr -> Ordering #

(<) :: Addr -> Addr -> Bool #

(<=) :: Addr -> Addr -> Bool #

(>) :: Addr -> Addr -> Bool #

(>=) :: Addr -> Addr -> Bool #

max :: Addr -> Addr -> Addr #

min :: Addr -> Addr -> Addr #

Show Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

showsPrec :: Int -> Addr -> ShowS #

show :: Addr -> String #

showList :: [Addr] -> ShowS #

Generic Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Addr :: Type -> Type #

Methods

from :: Addr -> Rep Addr x #

to :: Rep Addr x -> Addr #

Hashable Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Addr -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Addr -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Addr] -> Size Source #

AddShrinks Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Addr -> TinkerM g () Source #

NoThunks Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasOwner Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

owner :: Addr -> Owner Source #

HasHash Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

hash :: Addr -> Hash Source #

GeneOps genome => Goblin genome Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

tinker :: Gen Addr -> TinkerM genome (Gen Addr) Source #

conjure :: TinkerM genome Addr Source #

type Rep Addr Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Addr = D1 ('MetaData "Addr" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Addr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VKey)))

mkAddr :: Natural -> Addr Source #

Create an address from a number.

newtype Lovelace Source #

A unit of value held by a UTxO.

Constructors

Lovelace 

Fields

Instances

Instances details
Enum Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Eq Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Integral Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Data Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Lovelace -> c Lovelace #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Lovelace #

toConstr :: Lovelace -> Constr #

dataTypeOf :: Lovelace -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Lovelace) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Lovelace) #

gmapT :: (forall b. Data b => b -> b) -> Lovelace -> Lovelace #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Lovelace -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Lovelace -> r #

gmapQ :: (forall d. Data d => d -> u) -> Lovelace -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Lovelace -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Lovelace -> m Lovelace #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Lovelace -> m Lovelace #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Lovelace -> m Lovelace #

Num Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Ord Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Real Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Show Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Generic Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Rep Lovelace :: Type -> Type #

Methods

from :: Lovelace -> Rep Lovelace x #

to :: Rep Lovelace x -> Lovelace #

Semigroup Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Monoid Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Hashable Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

ToCBOR Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

toCBOR :: Lovelace -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Lovelace -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Lovelace] -> Size Source #

AddShrinks Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

SeedGoblin Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Methods

seeder :: Lovelace -> TinkerM g () Source #

NoThunks Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

HasTypeReps Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

GeneOps g => Goblin g Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Lovelace Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

type Rep Lovelace = D1 ('MetaData "Lovelace" "Byron.Spec.Ledger.Core" "byron-spec-ledger-0.1.0.0-AWpYh6fpW7YLETcmEzrAvm" 'True) (C1 ('MetaCons "Lovelace" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLovelace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

lovelaceCap :: Lovelace Source #

Constant amount of Lovelace in the system.

class Relation m where Source #

Minimal complete definition

singleton, dom, range, (◁), (⋪), (▷), (⋫), (∪), (⨃), (<=◁), (▷<=), (▷>=), size

Associated Types

type Domain m :: Type Source #

type Range m :: Type Source #

Methods

singleton :: Domain m -> Range m -> m Source #

dom :: Ord (Domain m) => m -> Set (Domain m) Source #

Domain

range :: Ord (Range m) => m -> Set (Range m) Source #

Range

(◁) :: (Ord (Domain m), Foldable f) => f (Domain m) -> m -> m Source #

Domain restriction

Unicode: 25c1

(<|) :: (Ord (Domain m), Foldable f) => f (Domain m) -> m -> m Source #

Domain restriction

Unicode: 25c1

(⋪) :: (Ord (Domain m), Foldable f) => f (Domain m) -> m -> m Source #

Domain exclusion

Unicode: 22ea

(</|) :: (Ord (Domain m), Foldable f) => f (Domain m) -> m -> m Source #

Domain exclusion

Unicode: 22ea

(▷) :: Ord (Range m) => m -> Set (Range m) -> m Source #

Range restriction

Unicode: 25b7

(|>) :: Ord (Range m) => m -> Set (Range m) -> m Source #

Range restriction

Unicode: 25b7

(⋫) :: Ord (Range m) => m -> Set (Range m) -> m Source #

Range exclusion

Unicode: 22eb

(|/>) :: Ord (Range m) => m -> Set (Range m) -> m Source #

Range exclusion

Unicode: 22eb

(∪) :: (Ord (Domain m), Ord (Range m)) => m -> m -> m Source #

Union

(⨃) :: (Ord (Domain m), Ord (Range m), Foldable f) => m -> f (Domain m, Range m) -> m Source #

Union Override Right

(<=◁) :: Ord (Domain m) => Domain m -> m -> m infixl 5 Source #

Restrict domain to values less or equal than the given value.

Unicode: 25c1

(▷<=) :: Ord (Range m) => m -> Range m -> m infixl 5 Source #

Restrict range to values less or equal than the given value

Unicode: 25b7

(▷>=) :: Ord (Range m) => m -> Range m -> m infixl 5 Source #

Restrict range to values greater or equal than the given value

Unicode: 25b7

size :: Integral n => m -> n Source #

Size of the relation

Instances

Instances details
Relation UTxO Source # 
Instance details

Defined in Byron.Spec.Ledger.UTxO

Associated Types

type Domain UTxO Source #

type Range UTxO Source #

Relation [(a, b)] Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Domain [(a, b)] Source #

type Range [(a, b)] Source #

Methods

singleton :: Domain [(a, b)] -> Range [(a, b)] -> [(a, b)] Source #

dom :: [(a, b)] -> Set (Domain [(a, b)]) Source #

range :: [(a, b)] -> Set (Range [(a, b)]) Source #

(◁) :: (Ord (Domain [(a, b)]), Foldable f) => f (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source #

(<|) :: (Ord (Domain [(a, b)]), Foldable f) => f (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source #

(⋪) :: (Ord (Domain [(a, b)]), Foldable f) => f (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source #

(</|) :: (Ord (Domain [(a, b)]), Foldable f) => f (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source #

(▷) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source #

(|>) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source #

(⋫) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source #

(|/>) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source #

(∪) :: [(a, b)] -> [(a, b)] -> [(a, b)] Source #

(⨃) :: (Ord (Domain [(a, b)]), Ord (Range [(a, b)]), Foldable f) => [(a, b)] -> f (Domain [(a, b)], Range [(a, b)]) -> [(a, b)] Source #

(<=◁) :: Domain [(a, b)] -> [(a, b)] -> [(a, b)] Source #

(▷<=) :: [(a, b)] -> Range [(a, b)] -> [(a, b)] Source #

(▷>=) :: [(a, b)] -> Range [(a, b)] -> [(a, b)] Source #

size :: Integral n => [(a, b)] -> n Source #

Relation (Set (a, b)) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Domain (Set (a, b)) Source #

type Range (Set (a, b)) Source #

Methods

singleton :: Domain (Set (a, b)) -> Range (Set (a, b)) -> Set (a, b) Source #

dom :: Set (a, b) -> Set (Domain (Set (a, b))) Source #

range :: Set (a, b) -> Set (Range (Set (a, b))) Source #

(◁) :: (Ord (Domain (Set (a, b))), Foldable f) => f (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source #

(<|) :: (Ord (Domain (Set (a, b))), Foldable f) => f (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source #

(⋪) :: (Ord (Domain (Set (a, b))), Foldable f) => f (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source #

(</|) :: (Ord (Domain (Set (a, b))), Foldable f) => f (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source #

(▷) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source #

(|>) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source #

(⋫) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source #

(|/>) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source #

(∪) :: Set (a, b) -> Set (a, b) -> Set (a, b) Source #

(⨃) :: (Ord (Domain (Set (a, b))), Ord (Range (Set (a, b))), Foldable f) => Set (a, b) -> f (Domain (Set (a, b)), Range (Set (a, b))) -> Set (a, b) Source #

(<=◁) :: Domain (Set (a, b)) -> Set (a, b) -> Set (a, b) Source #

(▷<=) :: Set (a, b) -> Range (Set (a, b)) -> Set (a, b) Source #

(▷>=) :: Set (a, b) -> Range (Set (a, b)) -> Set (a, b) Source #

size :: Integral n => Set (a, b) -> n Source #

Relation (Map k v) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Domain (Map k v) Source #

type Range (Map k v) Source #

Methods

singleton :: Domain (Map k v) -> Range (Map k v) -> Map k v Source #

dom :: Map k v -> Set (Domain (Map k v)) Source #

range :: Map k v -> Set (Range (Map k v)) Source #

(◁) :: (Ord (Domain (Map k v)), Foldable f) => f (Domain (Map k v)) -> Map k v -> Map k v Source #

(<|) :: (Ord (Domain (Map k v)), Foldable f) => f (Domain (Map k v)) -> Map k v -> Map k v Source #

(⋪) :: (Ord (Domain (Map k v)), Foldable f) => f (Domain (Map k v)) -> Map k v -> Map k v Source #

(</|) :: (Ord (Domain (Map k v)), Foldable f) => f (Domain (Map k v)) -> Map k v -> Map k v Source #

(▷) :: Map k v -> Set (Range (Map k v)) -> Map k v Source #

(|>) :: Map k v -> Set (Range (Map k v)) -> Map k v Source #

(⋫) :: Map k v -> Set (Range (Map k v)) -> Map k v Source #

(|/>) :: Map k v -> Set (Range (Map k v)) -> Map k v Source #

(∪) :: Map k v -> Map k v -> Map k v Source #

(⨃) :: (Ord (Domain (Map k v)), Ord (Range (Map k v)), Foldable f) => Map k v -> f (Domain (Map k v), Range (Map k v)) -> Map k v Source #

(<=◁) :: Domain (Map k v) -> Map k v -> Map k v Source #

(▷<=) :: Map k v -> Range (Map k v) -> Map k v Source #

(▷>=) :: Map k v -> Range (Map k v) -> Map k v Source #

size :: Integral n => Map k v -> n Source #

(Ord k, Ord v) => Relation (Bimap k v) Source # 
Instance details

Defined in Byron.Spec.Ledger.Core

Associated Types

type Domain (Bimap k v) Source #

type Range (Bimap k v) Source #

Methods

singleton :: Domain (Bimap k v) -> Range (Bimap k v) -> Bimap k v Source #

dom :: Bimap k v -> Set (Domain (Bimap k v)) Source #

range :: Bimap k v -> Set (Range (Bimap k v)) Source #

(◁) :: (Ord (Domain (Bimap k v)), Foldable f) => f (Domain (Bimap k v)) -> Bimap k v -> Bimap k v Source #

(<|) :: (Ord (Domain (Bimap k v)), Foldable f) => f (Domain (Bimap k v)) -> Bimap k v -> Bimap k v Source #

(⋪) :: (Ord (Domain (Bimap k v)), Foldable f) => f (Domain (Bimap k v)) -> Bimap k v -> Bimap k v Source #

(</|) :: (Ord (Domain (Bimap k v)), Foldable f) => f (Domain (Bimap k v)) -> Bimap k v -> Bimap k v Source #

(▷) :: Bimap k v -> Set (Range (Bimap k v)) -> Bimap k v Source #

(|>) :: Bimap k v -> Set (Range (Bimap k v)) -> Bimap k v Source #

(⋫) :: Bimap k v -> Set (Range (Bimap k v)) -> Bimap k v Source #

(|/>) :: Bimap k v -> Set (Range (Bimap k v)) -> Bimap k v Source #

(∪) :: Bimap k v -> Bimap k v -> Bimap k v Source #

(⨃) :: (Ord (Domain (Bimap k v)), Ord (Range (Bimap k v)), Foldable f) => Bimap k v -> f (Domain (Bimap k v), Range (Bimap k v)) -> Bimap k v Source #

(<=◁) :: Domain (Bimap k v) -> Bimap k v -> Bimap k v Source #

(▷<=) :: Bimap k v -> Range (Bimap k v) -> Bimap k v Source #

(▷>=) :: Bimap k v -> Range (Bimap k v) -> Bimap k v Source #

size :: Integral n => Bimap k v -> n Source #

(∈) :: (Eq a, Foldable f) => a -> f a -> Bool Source #

Alias for elem.

Unicode: 2208

(∉) :: (Eq a, Foldable f) => a -> f a -> Bool infixl 4 Source #

Alias for not elem.

Unicode: 2209

(∪+) :: (Ord a, Ord b, Num b) => Map a b -> Map a b -> Map a b Source #

Union override plus is (AB)∪(BA)∪{k|->v1+v2 | k|->v1 : A / k|->v2 : B}

(⊆) :: (Foldable f, Foldable g, Ord a) => f a -> g a -> Bool Source #

Inclusion among foldables.

Unicode: 2286

toSet :: (Foldable f, Ord a) => f a -> Set a Source #

(∩) :: Ord a => Set a -> Set a -> Set a Source #