Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.PParams
Description
This module contains just the type of protocol parameters.
Synopsis
- data PParams' f era = PParams {
- _minfeeA ∷ !(HKD f Natural)
- _minfeeB ∷ !(HKD f Natural)
- _maxBBSize ∷ !(HKD f Natural)
- _maxTxSize ∷ !(HKD f Natural)
- _maxBHSize ∷ !(HKD f Natural)
- _keyDeposit ∷ !(HKD f Coin)
- _poolDeposit ∷ !(HKD f Coin)
- _eMax ∷ !(HKD f EpochNo)
- _nOpt ∷ !(HKD f Natural)
- _a0 ∷ !(HKD f Rational)
- _rho ∷ !(HKD f UnitInterval)
- _tau ∷ !(HKD f UnitInterval)
- _d ∷ !(HKD f UnitInterval)
- _extraEntropy ∷ !(HKD f Nonce)
- _protocolVersion ∷ !(HKD f ProtVer)
- _minUTxOValue ∷ !(HKD f Coin)
- _minPoolCost ∷ !(HKD f Coin)
- type PParams era = PParams' Identity era
- emptyPParams ∷ PParams era
- data ProtVer = ProtVer {}
- data PPUpdateEnv era = PPUpdateEnv SlotNo (GenDelegs era)
- newtype ProposedPPUpdates era = ProposedPPUpdates (Map (KeyHash 'Genesis (Crypto era)) (PParamsUpdate era))
- emptyPPPUpdates ∷ ProposedPPUpdates era
- type PParamsUpdate era = PParams' StrictMaybe era
- emptyPParamsUpdate ∷ PParamsUpdate era
- data Update era = Update !(ProposedPPUpdates era) !EpochNo
- updatePParams ∷ PParams era → PParamsUpdate era → PParams era
Documentation
Protocol parameters.
We use the HKD type family so that the protocol parameters type and
the type for the updates to the protocol parameters can share records fields.
The protocol parameters will have type PParams'
Identity
, and the updates
will have type PParams'
StrictMaybe
, though Identity
will be hidden from use.
For example:
myParameters = PParams { _minfeeA = 0, _minfeeB = 0, ... } myUpdate = PParamsUpdate { _minfeeA = SNothing, _minfeeB = SJust 42, ... }
Constructors
PParams | |
Fields
|
Instances
emptyPParams ∷ PParams era Source #
Returns a basic "empty" PParams
structure with all zero values.
Instances
Eq ProtVer Source # | |
Ord ProtVer Source # | |
Show ProtVer Source # | |
Generic ProtVer Source # | |
NFData ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams | |
ToCBOR ProtVer Source # | |
FromCBOR ProtVer Source # | |
NoThunks ProtVer Source # | |
FromJSON ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams | |
ToJSON ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams Methods toEncoding ∷ ProtVer → Encoding toJSONList ∷ [ProtVer] → Value toEncodingList ∷ [ProtVer] → Encoding | |
FromCBORGroup ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams Methods | |
ToCBORGroup ProtVer Source # | |
type Rep ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams type Rep ProtVer = D1 ('MetaData "ProtVer" "Shelley.Spec.Ledger.PParams" "shelley-spec-ledger-0.1.0.0-inplace" 'False) (C1 ('MetaCons "ProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural))) |
data PPUpdateEnv era Source #
Constructors
PPUpdateEnv SlotNo (GenDelegs era) |
Instances
newtype ProposedPPUpdates era Source #
Update operation for protocol parameters structure @PParams
Constructors
ProposedPPUpdates (Map (KeyHash 'Genesis (Crypto era)) (PParamsUpdate era)) |
Instances
type PParamsUpdate era = PParams' StrictMaybe era Source #
Update Proposal
Constructors
Update !(ProposedPPUpdates era) !EpochNo |
Instances
HasField "update" (TxBody era) (StrictMaybe (Update era)) Source # | |
Defined in Shelley.Spec.Ledger.TxBody Methods getField ∷ TxBody era → StrictMaybe (Update era) # | |
Eq (Update era) Source # | |
Show (Update era) Source # | |
Generic (Update era) Source # | |
Era era ⇒ ToCBOR (Update era) Source # | |
Era era ⇒ FromCBOR (Update era) Source # | |
NoThunks (Update era) Source # | |
type Rep (Update era) Source # | |
Defined in Shelley.Spec.Ledger.PParams type Rep (Update era) = D1 ('MetaData "Update" "Shelley.Spec.Ledger.PParams" "shelley-spec-ledger-0.1.0.0-inplace" 'False) (C1 ('MetaCons "Update" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ProposedPPUpdates era)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo))) |
updatePParams ∷ PParams era → PParamsUpdate era → PParams era Source #