Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shelley Ledger Spec - Pool Reap Transition Incompleteness and Typo #1654

Closed
xenocidewiki opened this issue Jul 13, 2020 · 1 comment · Fixed by #1655
Closed

Shelley Ledger Spec - Pool Reap Transition Incompleteness and Typo #1654

xenocidewiki opened this issue Jul 13, 2020 · 1 comment · Fixed by #1655
Assignees
Labels

Comments

@xenocidewiki
Copy link

The issue is on Page 51 of the Shelley Ledger Spec, in Fig. 41.

On page 50, it says that for the pool reap transition "Each retiring pool is removed from all four maps in the pool state."
This is indeed the case in the relevant code, however it is incompletely reflected by the spec.
In Fig. 41 only 3 of the 4 maps (stpools, poolParams, and retiring) are specified to have the retiring pool removed. The spec is missing the rule for the retiring pool being removed from the future pool params in the pool state.

A second issue is what I believe to be a typo.

Again in Fig. 41 the pr variable is specified as a set which involves kh. I think this is referring to the key hash, in which case it should be hk as defined on page 5 of the spec, and seen throughout. This problem is also reflected in the code here: https://github.com/input-output-hk/cardano-ledger-specs/blob/011c223b0dbf45f5053fc810cf2b7f0da6f2490c/shelley/chain-and-ledger/executable-spec/src/Shelley/Spec/Ledger/STS/PoolReap.hs#L73 where kh is used instead of hk.

@dcoutts dcoutts added the audit label Jul 13, 2020
JaredCorduan pushed a commit that referenced this issue Jul 13, 2020
The formal spec did not remove the retiring pools
from the fPoolParams mapping in the POOLREAP rule.
(it was, however, correct in the implementation).
Additionally, in the spec and in the implementation,
there was a variable kh that should have been hk
to be consistent with the rest of the spec.
@JaredCorduan
Copy link
Contributor

yes indeed, thank you @xenocidewiki !

@nc6 nc6 closed this as completed in #1655 Jul 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants