This repository has been archived by the owner on Feb 9, 2021. It is now read-only.
Synchronize data type, functions, and spec for (updatable) protocol parameters #730
Labels
spec-alignment
Tasks related to bringing the implementation to agree with the formal specification.
technical-debt
General mismatches
These three objects are somewhat out-of-sync.
ProtocolParameters
data type definitionProtocolParameters
(excluding low-level code such as pretty-printing, serialization, etc)The data type definition includes fields that the code never uses, and the spec mentions some extras and also doesn't consistently mention others that it should.
Concrete mismatches
Here is the data type definition.
https://github.com/input-output-hk/cardano-ledger/blob/6ceedf17b813ac9d381cc0d679d16c849365a496/cardano-ledger/src/Cardano/Chain/Update/ProtocolParameters.hs#L33-L61
The code seems to only use the following parts.
ppMaxBlockSize
,ppMaxHeaderSize
,ppMaxTxSize
,ppMaxProposalSize
ppUpdateProposalTTL
srMinThd
field withinppSoftforkRule
ppTxFeePolicy
The spec lists only the following protocol parameters in Fig 21.
scriptVersion
--- the code does not use this beyond parameter update validations limiting how it changesupAdtThd
---srMinThd
is reused/abused to derive this value, as discussed in both the code and the spec, but not in theProtocolParameter
andSoftForkPolicy
data type definitions' field declarations' comments.The pdf text and rules mention
maxProposalSize
, but Fig 21 does not.The pdf text mentions
txFeePolicy
, but Fig 21 and the rules do not.#494 is related. I don't know if the
cardano-ledger-specs
repo has any related Issues.The text was updated successfully, but these errors were encountered: