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
Remove dead upgrades through v7 #101
Remove dead upgrades through v7 #101
Conversation
Remove backward-compatibility code for old-style ephemeral keys. We switched to fine-grained ephemeral keys in consensus v3.
In particular, always support closeout transactions
In particular, always support explicit ephemeral-key parameters
In particular, always use the new "twin seeds" seed algorithm
// TODO(adam): This should be safe to delete now, right? | ||
// PKSigOld is unused; however, unfortunately we forgot to mark it | ||
// `codec:omitempty` and so it appears (with zero value) in certs. | ||
// This means we can't delete the field without breaking catchup. | ||
PKSigOld ed25519Signature `codec:"ps"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zeldovich Out of scope for this PR, but I was thinking of one way we can deprecate this field: Since signatures are never committed to in any way (they're part of the cert but they themselves are not signed), we could update all archival servers to supply certificates with this field missing. After all archives have updated, it should be safe to drop the field.
Remove backward-compatibility code for some of the upgrades that happened before Mainnet launch and thus can be removed without impacting catchup. This PR should be reviewed one commit at a time; each commit removes backward compatibility code for one protocol upgrade so will be easier to read in isolation.
This PR removes upgrades through (but not including) v7. Remaining dead upgrades will be removed in a future PR.