-
Notifications
You must be signed in to change notification settings - Fork 385
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
ICS2: 02 client refactor #813
Conversation
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.
This will probably be easier to review in split mode
Client types MUST define a method on the client state to fetch the timestamp at a given height | ||
|
||
```typescript | ||
type getTimestampAtHeight = ( |
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.
Why is getTimestampAtHeight
necessary, given that we already have getTimestamp
defined in the previous section (i.e., ConsensusState)?
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.
cc: @colin-axner , this was necessary to accomodate the special case of solomachines
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.
Clients which only have a latest consensus state would only have a latest timestamp and thus might not have a timestamp based on a consensus state. The current spec didn't work for solo machines as solo machines don't store consensus states (the consensus state is kept within the client state)
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.
Looks good. See my comments below. Also, there are three comments re. submitMisbehaviourToClient
that were not addressed yet (i.e., #813 (comment), #813 (comment), #813 (comment)).
Should "State verification" and "Query interface" sections be subsections of the "Data Structures" section? |
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.
Great work @AdityaSripal
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.
LGTM. Thanks for updating
Closes: #773
Closes: #689
Closes: #693
Closes: #694