Safe Haskell | None |
---|---|
Language | Haskell2010 |
Cardano.Chain.Delegation.Validation.Interface
Contents
Synopsis
- data Environment = Environment {}
- data State = State {
- schedulingState :: !State
- activationState :: !State
- activateDelegations :: SlotNumber -> State -> State
- delegates :: State -> VerificationKey -> VerificationKey -> Bool
- delegationMap :: State -> Map
- initialState :: MonadError Error m => Environment -> GenesisDelegation -> m State
- tickDelegation :: EpochNumber -> SlotNumber -> State -> State
- updateDelegation :: MonadError Error m => Environment -> State -> [ACertificate ByteString] -> m State
Blockchain Interface
data Environment Source #
Constructors
Environment | |
Fields
|
Instances
State shared between the blockchain and the ledger
Constructors
State | |
Fields
|
Instances
Eq State Source # | |
Show State Source # | |
Generic State Source # | |
NFData State Source # | |
ToCBOR State Source # | |
FromCBOR State Source # | |
NoThunks State Source # | |
type Rep State Source # | |
Defined in Cardano.Chain.Delegation.Validation.Interface type Rep State = D1 ('MetaData "State" "Cardano.Chain.Delegation.Validation.Interface" "cardano-ledger-0.1.0.0-LsmGdPmHvbsHmMt4VaqSe3" 'False) (C1 ('MetaCons "State" 'PrefixI 'True) (S1 ('MetaSel ('Just "schedulingState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 State) :*: S1 ('MetaSel ('Just "activationState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 State))) |
activateDelegations :: SlotNumber -> State -> State Source #
Activate certificates up to this slot
delegates :: State -> VerificationKey -> VerificationKey -> Bool Source #
Check whether a delegation is valid in the State
delegationMap :: State -> Map Source #
initialState :: MonadError Error m => Environment -> GenesisDelegation -> m State Source #
The initial state maps each genesis key to itself and overrides this using certificates from the genesis block.
tickDelegation :: EpochNumber -> SlotNumber -> State -> State Source #
Perform delegation update without adding certificates
updateDelegation :: MonadError Error m => Environment -> State -> [ACertificate ByteString] -> m State Source #
Update the State
with a list of new Certificate
s
This corresponds to the DELEG
rule from the Byron ledger specification