-
Notifications
You must be signed in to change notification settings - Fork 732
feat: attestation light client #8717
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
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8717 +/- ##
==========================================
+ Coverage 58.38% 58.62% +0.24%
==========================================
Files 319 329 +10
Lines 18093 18465 +372
==========================================
+ Hits 10563 10825 +262
- Misses 6923 6990 +67
- Partials 607 650 +43
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Pull request overview
This PR introduces a new attestation-based IBC light client (10-attestations) that uses ECDSA signatures from a fixed set of trusted attestors to verify counterparty chain state. This provides an alternative trust model to traditional light clients based on cryptographic verification of block headers.
Key changes:
- Implements a quorum-based verification system requiring M-of-N attestor signatures
- Supports client updates, membership/non-membership proofs for IBC packet flow
- Integrates with the existing IBC infrastructure (simapp, e2e tests)
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| proto/ibc/lightclients/attestations/v1/attestations.proto | Proto definitions for client state, consensus state, attestation proofs, and packet attestations |
| modules/light-clients/10-attestations/client_state.go | Client state validation, membership/non-membership verification logic |
| modules/light-clients/10-attestations/signature.go | ECDSA signature verification with quorum enforcement |
| modules/light-clients/10-attestations/update.go | Client message verification and state updates |
| modules/light-clients/10-attestations/light_client_module.go | LightClientModule interface implementation |
| modules/light-clients/10-attestations/*.go | Supporting files for consensus state, codec registration, errors, store operations |
| modules/light-clients/10-attestations/*_test.go | Comprehensive unit tests for all components |
| e2e/tests/attestations/attestations_test.go | E2E tests demonstrating full IBC transfer flow with attestation client |
| simapp/app.go | Integration of attestations client into simapp |
| modules/core/exported/client.go | Addition of Attestations constant to exported types |
| e2e/testsuite/codec.go | Codec registration for e2e tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.
Pull request overview
Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
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.
Pull request overview
Copilot reviewed 29 out of 29 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
closes: #XXXX
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/) if anything is changed.godoccomments if relevant.Files changedin the GitHub PR explorer.