You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What is this task and why do we need to work on it?
After we introduce minor version upgradability to the sequencer, we will need a trait that deserializes types such as the Header + Payload by version.
What work will need to be done to complete this task?
Create a deserialize_for_version trait that can be implemented in sequencer
Remove Delta trait entirely (we ended up not dealing with state deltas generically, since this can just be a concrete type within the sequencer). This is important because currently we have Delta in the Decide event, which requires it to be serializable, but we don't need this
Remove ValidatedState from Decide event. Same as above, we don't use this anymore in the sequencer and we don't want ValidatedState to be serializable.
Remove Serialize, Deserialize trait bounds from ValidatedState trait (this should be trivial after the above)
Replace Deserialize trait bound with DeserializeVersion in remaining HotShot traits (BlockHeader, BlockPayload, any others?)
Wherever we need to deserialize messages containing these objects, we need to use deserialize_for_version and make sure we have the consensus version plumbed into that part of the code. This is the part I'm not sure about, might be hard.
Are there any other details to include?
No response
What are the acceptance criteria to close this issue?
Add deserialize_for_version test that serialize some mock types to different representation depending on some version enum
No HotShot traits require Deserialize anymore
Branch work will be merged to (if not the default branch)
No response
The text was updated successfully, but these errors were encountered:
What is this task and why do we need to work on it?
After we introduce minor version upgradability to the sequencer, we will need a trait that deserializes types such as the Header + Payload by version.
What work will need to be done to complete this task?
deserialize_for_version
trait that can be implemented in sequencerDelta
trait entirely (we ended up not dealing with state deltas generically, since this can just be a concrete type within the sequencer). This is important because currently we haveDelta
in theDecide
event, which requires it to be serializable, but we don't need thisValidatedState
fromDecide
event. Same as above, we don't use this anymore in the sequencer and we don't wantValidatedState
to be serializable.Serialize
,Deserialize
trait bounds fromValidatedState
trait (this should be trivial after the above)Deserialize
trait bound withDeserializeVersion
in remaining HotShot traits (BlockHeader
,BlockPayload
, any others?)deserialize_for_version
and make sure we have the consensus version plumbed into that part of the code. This is the part I'm not sure about, might be hard.Are there any other details to include?
No response
What are the acceptance criteria to close this issue?
deserialize_for_version
test that serialize some mock types to different representation depending on some version enumDeserialize
anymoreBranch work will be merged to (if not the default branch)
No response
The text was updated successfully, but these errors were encountered: