forked from cosmos/interchain-security
-
Notifications
You must be signed in to change notification settings - Fork 0
feat(rs)!: ICS with RS only POC experiment #2
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
Draft
n2p5
wants to merge
17
commits into
v5.2.0-fork
Choose a base branch
from
atomone-replicated-security-poc
base: v5.2.0-fork
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b0ab4bd
to
354f839
Compare
354f839
to
0d95b37
Compare
Discoveries:
This has been interesting and somewhat of a rabbit hole I've been going down, but I think I'll have some POC worthy code soon (maybe I am too optimistic here). |
feat: POC of ibc-10 upgrade
I've merged the work of the IBC v10 experiment into this POC branch for simplicity, putting this link here for traceability and so that it is easy to diff this major change to this experiment. #3 |
feat: update core deps and remove x/crisis
feat: apply pr 2098 (provider-side removal of vscmatured packet) to our ics module
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is a WIP experiment of:
Context: AtomOne is currently in the process of upgrading CosmosSDK to v0.50.13 atomone-hub/atomone#141
We aim to be compatible with this change so that we can complement IBC compatibility efforts with the gno.land project and be able to provide ICS support when the time comes.
WIP
I'm currently taking a chainsaw to a knife fight with this, pulling out all the PSS stuff as we explore a simplified and patched Replicated Security flow. We aim to maintain unit testing as we explore here, and so far, that is what we have achieved. I'll update my findings as we go.
Active Experiment: Remove all Partial Set Security (PSS) features to create pure Replicated Security for AtomOne
Key Changes Breakdown
1. Core PSS Removal (~11,000 lines removed)
9 files completely deleted (~3,700 lines):
x/ccv/provider/keeper/partial_set_security.go
(320 lines)x/ccv/provider/keeper/partial_set_security_test.go
(684 lines)tests/e2e/steps_partial_set_security.go
(2,441 lines)Additional removals:
2. Protobuf Changes (~6,000 lines - mostly generated)
Proto definitions modified (actual changes ~300 lines):
tx.proto
: Removed MsgOptIn, MsgOptOut, MsgSetConsumerCommissionRatequery.proto
: Removed PSS-specific queriesprovider.proto
: Cleaned up deprecated fieldsshared_consumer.proto
: Removed soft_opt_out_thresholdGenerated .pb.go files (automated, can skip review):
tx.pb.go
: -2,020 linesquery.pb.go
: -1,709 linesprovider.pb.go
: -573 lines3. Dependency Updates (~1,100 lines)
go.mod
: AtomOne SDK v0.50.13 integration (132 changes)go.sum
: Dependency updates (989 changes)Review Priority Guide
Priority 1: Core Logic Changes (Must Review)
Focus on the business logic changes in these files:
x/ccv/provider/keeper/validator_set_update.go
(+14 lines)ComputeNextValidators()
to return all bonded validatorsx/ccv/provider/keeper/relay.go
(review diff)QueueVSCPackets
x/ccv/provider/keeper/keeper.go
(review removals)x/ccv/provider/keeper/proposal.go
(review cleanup)StopConsumerChain
Priority 2: Protocol Definitions (Quick Review)
Review the intent, not the generated code:
proto/interchain_security/ccv/provider/v1/*.proto
)Priority 3: Test Updates (Spot Check)
🔍 What to Look For
Verify Complete Removal
These searches should return no results:
Confirm Replicated Security Behavior
Known Issues
Quick Review Path
validator_set_update.go
andrelay.go
for core changesAcceptance Criteria
Summary: This PR successfully removes ~12,000 lines of PSS code while maintaining a clean, working Replicated Security implementation. The actual logic changes are minimal and focused, making this a surgical removal rather than a refactor.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if the change is state-machine breakingCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
the type prefix if the change is state-machine breaking