-
Notifications
You must be signed in to change notification settings - Fork 258
Closed
Description
Tracking TODOs for the Light client impl
Feedback / Review of #84
- Move additional checks to
validate_vals_and_commitand make it function ofCommit(?): Light client: further trait impls, improvements, and tests #84 (comment) - done in Bucky/some light follow up #109 - redundant check for sigs: Light client: further trait impls, improvements, and tests #84 (comment), Update specification of light client algorithm to align with the code tendermint/spec#61 (comment)
- Light client: further trait impls, improvements, and tests #84 (comment) (and general organizational issues: e.g. crate vs module etc)
- remove dependencies on tendermint types (account::Id, Hash)
- add example to doc: Light client: further trait impls, improvements, and tests #84 (comment)
-
From<SystemTimeEror> for lite::Errorand Light client: further trait impls, improvements, and tests #84 (comment). Done in Bucky/some light follow up #109 - Light client: further trait impls, improvements, and tests #84 (comment) (return OK?) - Done in Bucky/some light follow up #109
- remove
Validatortrait ? Light client: further trait impls, improvements, and tests #84 (comment) - done in remove Validator trait; make ValidatorSet associated to Commit #105 - how to handle if/when votes don't contain validator id? probably worth discussing in separate issue: Light client: further trait impls, improvements, and tests #84 (comment) - done, added a comment in Bucky/some light follow up #109
- next steps: Light client: further trait impls, improvements, and tests #84 (comment)
- rename types.rs to interface.rs - Light client: bisection, store, requester #100 (comment)
- consider Client type and have can_trust be a method on the Client. Also put trust_threshold and trusting_period in the trusted state? Light client: bisection, store, requester #100 (comment)
- enforce off-by-one issues in the type system if possible, eg. TrustedState::new taking header h-1 and validators for h. Light client: bisection, store, requester #100 (comment). Also verify taking vals for the right height Light client: bisection, store, requester #100.
- Error::RequestFailed should wrap underlying requester errors. Light client: bisection, store, requester #100 (comment)
- Improve naming of variables like
h1_xxxandh2. This should also be done simultaneously with the spec. eg. Light client: bisection, store, requester #100 (comment) and Light client: bisection, store, requester #100 (comment) and https://github.com/interchainio/tendermint-rs/pull/100/files#r360479080 - how to get latest height from a node? use height=0 ? Light client: bisection, store, requester #100 (comment). Could get rid of get_smaller_or_equal (Light client: bisection, store, requester #100). Need to do with spec.
- improve logic of check_support to better clarify the 3 conditions: ok (update state), real error (faulty node or system), not-enough-voting-power (not real error, just need to bisect)
- make trust_level satisfy Copy or Clone and don't pass by reference Light client: bisection, store, requester #100
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels