Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data PParams = PParams {}
- newtype BkSgnCntT = BkSgnCntT Double
- newtype UpAdptThd = UpAdptThd Double
- newtype FactorB = FactorB Int
- newtype FactorA = FactorA Int
- data ProtVer = ProtVer {}
- newtype UpId = UpId Int
- bkSgnCntT ∷ Lens' PParams BkSgnCntT
- bkSlotsPerEpoch ∷ Lens' PParams SlotCount
- factorA ∷ Lens' PParams FactorA
- factorB ∷ Lens' PParams FactorB
- maxBkSz ∷ Lens' PParams Natural
- maxHdrSz ∷ Lens' PParams Natural
- maxPropSz ∷ Lens' PParams Natural
- maxTxSz ∷ Lens' PParams Natural
- scriptVersion ∷ Lens' PParams Natural
- upAdptThd ∷ Lens' PParams UpAdptThd
- upTtl ∷ Lens' PParams SlotCount
- data SwVer = SwVer {}
- newtype ApVer = ApVer Natural
- newtype ApName = ApName String
- pvAlt ∷ Lens' ProtVer Natural
- pvMaj ∷ Lens' ProtVer Natural
- pvMin ∷ Lens' ProtVer Natural
- data UProp = UProp {}
- data Metadata = Metadata
- type STag = String
- type UpSD = (ProtVer, PParams, SwVer, Set STag, Metadata)
- svName ∷ Lens' SwVer ApName
- svVer ∷ Lens' SwVer ApVer
- data Vote = Vote {}
- data UpregPredicateFailure
- data UPREG
- data UpvPredicateFailure
- data UPV
- data UppvvPredicateFailure
- data UPPVV
- data UpsvvPredicateFailure
- data UPSVV
- data UpdateConstraintViolation
- upId ∷ Lens' UProp UpId
- upIssuer ∷ Lens' UProp VKey
- upMdt ∷ Lens' UProp Metadata
- upPV ∷ Lens' UProp ProtVer
- upParams ∷ Lens' UProp PParams
- upSTags ∷ Lens' UProp (Set STag)
- upSig ∷ Lens' UProp (Sig UpSD)
- upSwVer ∷ Lens' UProp SwVer
- upSigData ∷ Lens' UProp UpSD
- getUpSigData ∷ UProp → UpSD
- mkUProp ∷ UpId → VKey → ProtVer → PParams → SwVer → Set STag → Metadata → UProp
- inMap ∷ (Ord key, Eq v) ⇒ key → v → Map key v → Bool
- invertMap ∷ (Ord k, Ord v) ⇒ Map k v → Map v (Set k)
- invertBijection ∷ Ord v ⇒ Map k v → Map v k
- (==>) ∷ Bool → Bool → Bool
- pvCanFollow ∷ ProtVer → ProtVer → Bool
- checkUpdateConstraints ∷ PParams → UProp → [UpdateConstraintViolation]
- (<=?) ∷ Ord a ⇒ a → a → Maybe (a, Threshold a)
- orError ∷ Maybe (a, b) → (a → b → e) → Maybe e
- canUpdate ∷ PParams → UProp → Rule UPPVV ctx ()
- svCanFollow ∷ Map ApName (ApVer, Slot, Metadata) → (ApName, ApVer) → Bool
- data UpiecPredicateFailure = PVBUMPFailure (PredicateFailure PVBUMP)
- data UPIEC
- data PvbumpPredicateFailure = NoPVBUMPFailure
- data PVBUMP
- data UpiendPredicateFailure = UPENDFailure (PredicateFailure UPEND)
- data UPIEND
- data UpivotesPredicateFailure = ApplyVotesFailure (PredicateFailure APPLYVOTES)
- data UPIVOTES
- data ApplyVotesPredicateFailure = UpivoteFailure (PredicateFailure UPIVOTE)
- data APPLYVOTES
- data UpivotePredicateFailure = UPVOTEFailure (PredicateFailure UPVOTE)
- data UPIVOTE
- data UpiregPredicateFailure = UPREGFailure (PredicateFailure UPREG)
- data UPIREG
- type UPIState = ((ProtVer, PParams), [(Slot, (ProtVer, PParams))], Map ApName (ApVer, Slot, Metadata), Map UpId (ProtVer, PParams), Map UpId (ApName, ApVer, Metadata), Map UpId Slot, Set (UpId, VKeyGenesis), Set (ProtVer, VKeyGenesis), Map UpId Slot)
- type UPIEnv = (Slot, Bimap VKeyGenesis VKey, BlockCount, Word8)
- data UpendPredicateFailure
- data UPEND
- data FadsPredicateFailure
- data FADS
- data UpvotePredicateFailure
- data UPVOTE
- data AddvotePredicateFailure
- data ADDVOTE
- vCaster ∷ Lens' Vote VKey
- vPropId ∷ Lens' Vote UpId
- vSig ∷ Lens' Vote (Sig UpId)
- mkVote ∷ VKey → UpId → Vote
- findKey ∷ (v → Bool) → Map k v → Maybe (k, v)
- delegationMap ∷ UPIEnv → Bimap VKeyGenesis VKey
- fstUPIState ∷ UPIState → (ProtVer, PParams)
- sndUPIState ∷ UPIState → [(Slot, (ProtVer, PParams))]
- trdUPIState ∷ UPIState → Map ApName (ApVer, Slot, Metadata)
- emptyUPIState ∷ UPIState
- initialPParams ∷ PParams
- protocolVersion ∷ UPIState → ProtVer
- protocolParameters ∷ UPIState → PParams
- applicationVersions ∷ UPIState → Map ApName (ApVer, Slot, Metadata)
- confirmedProposals ∷ UPIState → Map UpId Slot
- futureAdoptions ∷ UPIState → [(Slot, (ProtVer, PParams))]
- endorsements ∷ UPIState → Set (ProtVer, VKeyGenesis)
- registeredProtocolUpdateProposals ∷ UPIState → Map UpId (ProtVer, PParams)
- upiEnvGen ∷ Gen UPIEnv
- dmapGen ∷ Word8 → Gen (Bimap VKeyGenesis VKey)
- ppsUpdateFrom ∷ PParams → Gen PParams
- increasingProbabilityAt ∷ Gen a → (a, a) → Gen a
- randomUpId ∷ Gen UpId
- reSign ∷ UProp → UProp
- pickHighlyEndorsedProtocolVersion ∷ [(ProtVer, Set VKeyGenesis)] → Gen (Maybe ProtVer)
- updateProposalAndVotesGen ∷ UPIEnv → UPIState → Gen (Maybe UProp, [Vote])
- protocolVersionEndorsementGen ∷ UPIEnv → UPIState → Gen ProtVer
- type family PredicateFailure a
Documentation
Protocol parameters.
PParams | |
|
Instances
Data PParams Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → PParams → c PParams # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c PParams # dataTypeOf ∷ PParams → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c PParams) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c PParams) # gmapT ∷ (∀ b. Data b ⇒ b → b) → PParams → PParams # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → PParams → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → PParams → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → PParams → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → PParams → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → PParams → m PParams # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → PParams → m PParams # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → PParams → m PParams # | |
Generic PParams Source # | |
Show PParams Source # | |
HasTypeReps PParams Source # | |
Eq PParams Source # | |
Ord PParams Source # | |
Hashable PParams Source # | |
NoThunks PParams Source # | |
HasTypeReps (ProtVer, PParams, SwVer, Set STag, Metadata) Source # | |
type Rep PParams Source # | |
Defined in Byron.Spec.Ledger.Update type Rep PParams = D1 ('MetaData "PParams" "Byron.Spec.Ledger.Update" "byron-spec-ledger-1.0.1.0-inplace" 'False) (C1 ('MetaCons "PParams" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_maxBkSz") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "_maxHdrSz") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)) :*: (S1 ('MetaSel ('Just "_maxTxSz") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: (S1 ('MetaSel ('Just "_maxPropSz") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "_bkSgnCntT") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BkSgnCntT)))) :*: ((S1 ('MetaSel ('Just "_bkSlotsPerEpoch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotCount) :*: (S1 ('MetaSel ('Just "_upTtl") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotCount) :*: S1 ('MetaSel ('Just "_scriptVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural))) :*: (S1 ('MetaSel ('Just "_upAdptThd") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UpAdptThd) :*: (S1 ('MetaSel ('Just "_factorA") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FactorA) :*: S1 ('MetaSel ('Just "_factorB") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FactorB)))))) |
Instances
Instances
Instances
Data FactorB Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → FactorB → c FactorB # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c FactorB # dataTypeOf ∷ FactorB → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c FactorB) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c FactorB) # gmapT ∷ (∀ b. Data b ⇒ b → b) → FactorB → FactorB # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → FactorB → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → FactorB → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → FactorB → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → FactorB → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → FactorB → m FactorB # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → FactorB → m FactorB # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → FactorB → m FactorB # | |
Generic FactorB Source # | |
Show FactorB Source # | |
HasTypeReps FactorB Source # | |
Eq FactorB Source # | |
Ord FactorB Source # | |
Hashable FactorB Source # | |
NoThunks FactorB Source # | |
type Rep FactorB Source # | |
Instances
Data FactorA Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → FactorA → c FactorA # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c FactorA # dataTypeOf ∷ FactorA → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c FactorA) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c FactorA) # gmapT ∷ (∀ b. Data b ⇒ b → b) → FactorA → FactorA # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → FactorA → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → FactorA → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → FactorA → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → FactorA → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → FactorA → m FactorA # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → FactorA → m FactorA # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → FactorA → m FactorA # | |
Generic FactorA Source # | |
Show FactorA Source # | |
HasTypeReps FactorA Source # | |
Eq FactorA Source # | |
Ord FactorA Source # | |
Hashable FactorA Source # | |
NoThunks FactorA Source # | |
type Rep FactorA Source # | |
Protocol version
Instances
Data ProtVer Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → ProtVer → c ProtVer # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c ProtVer # dataTypeOf ∷ ProtVer → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c ProtVer) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c ProtVer) # gmapT ∷ (∀ b. Data b ⇒ b → b) → ProtVer → ProtVer # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → ProtVer → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → ProtVer → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → ProtVer → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → ProtVer → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → ProtVer → m ProtVer # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ProtVer → m ProtVer # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ProtVer → m ProtVer # | |
Generic ProtVer Source # | |
Show ProtVer Source # | |
HasTypeReps ProtVer Source # | |
Eq ProtVer Source # | |
Ord ProtVer Source # | |
Hashable ProtVer Source # | |
NoThunks ProtVer Source # | |
HasTypeReps (ProtVer, PParams, SwVer, Set STag, Metadata) Source # | |
type Rep ProtVer Source # | |
Defined in Byron.Spec.Ledger.Update type Rep ProtVer = D1 ('MetaData "ProtVer" "Byron.Spec.Ledger.Update" "byron-spec-ledger-1.0.1.0-inplace" 'False) (C1 ('MetaCons "ProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pvMaj") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural) :*: (S1 ('MetaSel ('Just "_pvMin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "_pvAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Natural)))) |
Instances
Data UpId Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → UpId → c UpId # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c UpId # dataTypeOf ∷ UpId → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c UpId) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c UpId) # gmapT ∷ (∀ b. Data b ⇒ b → b) → UpId → UpId # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → UpId → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → UpId → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → UpId → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → UpId → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → UpId → m UpId # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → UpId → m UpId # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → UpId → m UpId # | |
Generic UpId Source # | |
Show UpId Source # | |
HasTypeReps UpId Source # | |
Eq UpId Source # | |
Ord UpId Source # | |
Hashable UpId Source # | |
NoThunks UpId Source # | |
type Rep UpId Source # | |
Instances
Data SwVer Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → SwVer → c SwVer # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c SwVer # dataTypeOf ∷ SwVer → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c SwVer) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c SwVer) # gmapT ∷ (∀ b. Data b ⇒ b → b) → SwVer → SwVer # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → SwVer → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → SwVer → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → SwVer → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → SwVer → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → SwVer → m SwVer # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → SwVer → m SwVer # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → SwVer → m SwVer # | |
Generic SwVer Source # | |
Show SwVer Source # | |
HasTypeReps SwVer Source # | |
Eq SwVer Source # | |
Hashable SwVer Source # | |
NoThunks SwVer Source # | |
HasTypeReps (ProtVer, PParams, SwVer, Set STag, Metadata) Source # | |
type Rep SwVer Source # | |
Defined in Byron.Spec.Ledger.Update type Rep SwVer = D1 ('MetaData "SwVer" "Byron.Spec.Ledger.Update" "byron-spec-ledger-1.0.1.0-inplace" 'False) (C1 ('MetaCons "SwVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "_svName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ApName) :*: S1 ('MetaSel ('Just "_svVer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ApVer))) |
Application version
Instances
Data ApVer Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → ApVer → c ApVer # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c ApVer # dataTypeOf ∷ ApVer → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c ApVer) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c ApVer) # gmapT ∷ (∀ b. Data b ⇒ b → b) → ApVer → ApVer # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → ApVer → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → ApVer → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → ApVer → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → ApVer → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → ApVer → m ApVer # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ApVer → m ApVer # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ApVer → m ApVer # | |
Generic ApVer Source # | |
Num ApVer Source # | |
Show ApVer Source # | |
HasTypeReps ApVer Source # | |
Eq ApVer Source # | |
Ord ApVer Source # | |
Hashable ApVer Source # | |
NoThunks ApVer Source # | |
type Rep ApVer Source # | |
Instances
Data ApName Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → ApName → c ApName # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c ApName # dataTypeOf ∷ ApName → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c ApName) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c ApName) # gmapT ∷ (∀ b. Data b ⇒ b → b) → ApName → ApName # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → ApName → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → ApName → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → ApName → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → ApName → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → ApName → m ApName # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ApName → m ApName # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ApName → m ApName # | |
Generic ApName Source # | |
Show ApName Source # | |
HasTypeReps ApName Source # | |
Eq ApName Source # | |
Ord ApName Source # | |
Hashable ApName Source # | |
NoThunks ApName Source # | |
type Rep ApName Source # | |
Update proposal
Instances
Data UProp Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → UProp → c UProp # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c UProp # dataTypeOf ∷ UProp → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c UProp) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c UProp) # gmapT ∷ (∀ b. Data b ⇒ b → b) → UProp → UProp # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → UProp → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → UProp → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → UProp → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → UProp → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → UProp → m UProp # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → UProp → m UProp # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → UProp → m UProp # | |
Generic UProp Source # | |
Show UProp Source # | |
HasTypeReps UProp Source # | |
Eq UProp Source # | |
Hashable UProp Source # | |
NoThunks UProp Source # | |
HasHash (Maybe UProp, [Vote]) Source # | |
type Rep UProp Source # | |
Defined in Byron.Spec.Ledger.Update type Rep UProp = D1 ('MetaData "UProp" "Byron.Spec.Ledger.Update" "byron-spec-ledger-1.0.1.0-inplace" 'False) (C1 ('MetaCons "UProp" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_upId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UpId) :*: S1 ('MetaSel ('Just "_upIssuer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VKey)) :*: (S1 ('MetaSel ('Just "_upParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PParams) :*: S1 ('MetaSel ('Just "_upPV") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ProtVer))) :*: ((S1 ('MetaSel ('Just "_upSwVer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SwVer) :*: S1 ('MetaSel ('Just "_upSig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Sig UpSD))) :*: (S1 ('MetaSel ('Just "_upSTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Set STag)) :*: S1 ('MetaSel ('Just "_upMdt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Metadata))))) |
For now we do not have any requirements on metadata.
Instances
System tag, this represents a target operating system for the update (e.g.
linux
, win64
, or mac32
).
type UpSD = (ProtVer, PParams, SwVer, Set STag, Metadata) Source #
Part of the update proposal which must be signed
Instances
Data Vote Source # | |
Defined in Byron.Spec.Ledger.Update gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → Vote → c Vote # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c Vote # dataTypeOf ∷ Vote → DataType # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c Vote) # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c Vote) # gmapT ∷ (∀ b. Data b ⇒ b → b) → Vote → Vote # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → Vote → r # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → Vote → r # gmapQ ∷ (∀ d. Data d ⇒ d → u) → Vote → [u] # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → Vote → u # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → Vote → m Vote # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Vote → m Vote # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Vote → m Vote # | |
Generic Vote Source # | |
Show Vote Source # | |
HasTypeReps Vote Source # | |
Eq Vote Source # | |
Hashable Vote Source # | |
NoThunks Vote Source # | |
HasHash (Maybe UProp, [Vote]) Source # | |
type Rep Vote Source # | |
Defined in Byron.Spec.Ledger.Update type Rep Vote = D1 ('MetaData "Vote" "Byron.Spec.Ledger.Update" "byron-spec-ledger-1.0.1.0-inplace" 'False) (C1 ('MetaCons "Vote" 'PrefixI 'True) (S1 ('MetaSel ('Just "_vCaster") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 VKey) :*: (S1 ('MetaSel ('Just "_vPropId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UpId) :*: S1 ('MetaSel ('Just "_vSig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Sig UpId))))) |
data UpregPredicateFailure Source #
These PredicateFailure
s are all throwable.
Instances
Instances
data UpvPredicateFailure Source #
These PredicateFailure
s are all throwable.
UPPVVFailure (PredicateFailure UPPVV) | |
UPSVVFailure (PredicateFailure UPSVV) | |
AVChangedInPVUpdate ApName ApVer (Maybe (ApVer, Slot, Metadata)) | |
ParamsChangedInSVUpdate | |
PVChangedInSVUpdate |
Instances
Update proposal validity
Instances
data UppvvPredicateFailure Source #
These PredicateFailure
s are all "throwable". The disjunction of the
rules' preconditions is not True
- the PredicateFailure
s represent
False
cases.
Instances
Instances
data UpsvvPredicateFailure Source #
These PredicateFailure
s are all "throwable". The disjunction of the
rules' preconditions is not True
- the PredicateFailure
s represent
False
cases.
Instances
Update Proposal Software Version Validation
Instances
data UpdateConstraintViolation Source #
Violations on the constraints of the allowed values for new protocol parameters.
BlockSizeTooLarge Natural (Threshold Natural) | |
TransactionSizeTooLarge Natural (Threshold Natural) | |
ScriptVersionTooLarge Natural (Threshold Natural) | |
ScriptVersionTooSmall Natural (Threshold Natural) |
Instances
getUpSigData ∷ UProp → UpSD Source #
invertMap ∷ (Ord k, Ord v) ⇒ Map k v → Map v (Set k) Source #
Invert a map
Examples:
>>>
import qualified Data.Map.Strict as Map
>>>
import Byron.Spec.Ledger.Update (invertMap)
>>>
invertMap (Map.fromList [('a', 1 :: Int), ('b', 2), ('c', 3), ('d', 1)])
fromList [(1,fromList "ad"),(2,fromList "b"),(3,fromList "c")]
invertBijection ∷ Ord v ⇒ Map k v → Map v k Source #
Invert a map which we assert to be a bijection. If this map is not a bijection, the behaviour is not guaranteed.
Examples:
>>>
import qualified Data.Map.Strict as Map
>>>
invertBijection (Map.fromList [('a', 1 :: Int), ('b', 2), ('c', 3)])
fromList [(1,'a'),(2,'b'),(3,'c')]
Check whether a protocol version can follow the current protocol version.
checkUpdateConstraints ∷ PParams → UProp → [UpdateConstraintViolation] Source #
Check whether an update proposal marks a valid update
data UpiecPredicateFailure Source #
Instances
Instances
data PvbumpPredicateFailure Source #
Instances
Instances
data UpiendPredicateFailure Source #
Instances
Instances
data UpivotesPredicateFailure Source #
Instances
Instances
data ApplyVotesPredicateFailure Source #
Instances
data APPLYVOTES Source #
Instances
data UpivotePredicateFailure Source #
Instances
Instances
data UpiregPredicateFailure Source #
Instances
Instances
type UPIState = ((ProtVer, PParams), [(Slot, (ProtVer, PParams))], Map ApName (ApVer, Slot, Metadata), Map UpId (ProtVer, PParams), Map UpId (ApName, ApVer, Metadata), Map UpId Slot, Set (UpId, VKeyGenesis), Set (ProtVer, VKeyGenesis), Map UpId Slot) Source #
The update interface state is shared amongst various rules, so we define it as an alias here.
type UPIEnv = (Slot, Bimap VKeyGenesis VKey, BlockCount, Word8) Source #
The update interface environment is shared amongst various rules, so we define it as an alias here.