-
Notifications
You must be signed in to change notification settings - Fork 352
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
Misbehavior monitoring and handling #691
Conversation
Codecov Report
@@ Coverage Diff @@
## master #691 +/- ##
=========================================
+ Coverage 13.6% 43.1% +29.4%
=========================================
Files 69 171 +102
Lines 3752 11883 +8131
Branches 1374 0 -1374
=========================================
+ Hits 513 5123 +4610
- Misses 2618 6760 +4142
+ Partials 621 0 -621
Continue to review full report at Codecov.
|
This was with a version that you had where you were not using |
23446fa
to
ea1a083
Compare
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 is impressive, great work Anca!
I left several suggestions, but should be treated as lower priority. I didn't get the chance to look closely at the important part in ForeignClient::handle_misbehaviour
.
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 @ancazamfir! Pushed a couple commits with some minor changes (none semantics) and otherwise left a bunch of comments and suggestions inline.
…nsure we get all results at once See #811
* Split client_def in state, consensus, header. Add sketch for Tx decoding. * Added misbehaviour message, structures, relayer submission * tentative try with interim update event from cosmos PR * trying to decode the header from event * decode the header in client update event * Added restart support, move some of the misbehaviour detection in light client, reorg * fix merge * add support for potential on-chain state pruning, cleanup * Update changelog * sketch for time travelling lunatic attack check * fmt * Decode misbehaviour events, added comments * Update to reflect bad updates in the middle * cargo fmt * Cleanup consensus query and allow query for all * Allow target and trusted heights to be specified in client updates * Allow update with any existing trusted height * Disallow create client with same src and dst * Fix tests * Added mock misbehaviour * Fix CI and reorg code * Cleanup * Updates after sitdown review * Update comments * Flip back the logic in compatible_headers() * Rename client_misbehaviour to misbehaviour * review comments * fmt * Return UpdateClient::consensus_height by copy instead of reference * Small cleanup in LightClient::build_misbehaviour * Small cleanup in chain::cosmos * Set pagination limit to u64::MAX for all queries that support it to ensure we get all results at once See informalsystems#811 * Addressed review comments Co-authored-by: Romain Ruetschi <[email protected]>
Closes: #632
Description
UpdateClient
event and Tx result output for CLIsUpdateClient
transactionsquery_tx()
hermes misbehaviour
command for monitoring a given client on a chaintx raw create-client
to not allow same source and dest chainstx raw update-client
as it is redundanttx raw update-client
to allow testing with different updates.query_clients()
to the runtime.For contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.