- Decide code conventions for function prefixes, in general. Specifically,
- Is the
filter_out
prefix Ok or do we prefer something else? -
get
vscompute_
- Is the
- Decide when to pass the set of
votes
in a function and when just passingnode_state
is enough. - Decide whether to use max function rather the having manual implementation of it every time that is needed
- Decide whether to pass Block or Hash to functions dealing with blocks
- Ensure that all the rules/guidelines defined for how to write the specs are applied
- Decide whether to just use PRecords in place of @datacless
- Decide the size of integer type fields in messages
- Add documentation to each function
- Decide whether to encode map, filter, sum using built-in or not
- Add slashing
- Code @Init function
- Fill in stubs
- Think about vote aggregation
- Define sub-protocol for updating the validator set
- The logic used to determine the validator set and weight is all over the places. We need to decide, what the validator set and the validator balances depend on. Do they depend on the chain up to the checkpoint for which we are checking whether it is justified? Do they depend on the chain up to the head block? Do they depend on the chain up to the latest finalized checkpoint?
Requires
declaration are not use everywhere they should be used- MyPy does not typecheck PRecords