-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
feat(store/v2): add SetInitialVersion in SC #18665
Conversation
WalkthroughWalkthroughThe codebase has been updated to include a new feature that allows setting an initial version for various tree and store structures. This feature has been implemented across multiple files, with the addition of a Changes
TipsChat with CodeRabbit Bot (
|
@cool-develope your pull request is missing a changelog! |
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.
Review Status
Actionable comments generated: 2
Configuration used: CodeRabbit UI
Files selected for processing (5)
- store/commitment/iavl/tree.go (1 hunks)
- store/commitment/store.go (1 hunks)
- store/commitment/tree.go (1 hunks)
- store/database.go (1 hunks)
- store/root/store.go (1 hunks)
Additional comments: 5
store/commitment/store.go (2)
119-126: The implementation of
SetInitialVersion
correctly iterates through each tree inmultiTrees
and sets the initial version. This aligns with the PR objectives and the summary provided.119-126: Verify that all concrete implementations of the
Tree
interface have been updated to include the newSetInitialVersion
method as per the interface contract changes.
The attempt to verify the implementation of the
SetInitialVersion
method in concrete implementations of theTree
interface did not yield results due to a syntax error in the command. However, the absence of output does not necessarily indicate that the method is unimplemented in the relevant types. Given the error in the command execution, we cannot conclusively determine whether the codebase is consistent with the changes described in the PR summary.Final review comment:
Verify that all concrete implementations of the
Tree
interface have been updated to include the newSetInitialVersion
method as per the interface contract changes. The initial verification command did not yield results due to a syntax error, so further verification is needed to ensure consistency across the codebase.store/commitment/tree.go (1)
- 20-26: The addition of the
SetInitialVersion
method to theTree
interface is correctly implemented and aligns with the PR objectives and summaries.store/database.go (2)
72-76: The addition of
SetInitialVersion
to theCommitter
interface is consistent with the PR objectives and the AI-generated summaries. This change will require all concrete implementations of theCommitter
interface to implement this new method.72-76: Please ensure that all concrete types implementing the
Committer
interface are updated to include the newSetInitialVersion
method to maintain compatibility.
func (s *Store) SetInitialVersion(v uint64) error { | ||
s.initialVersion = v | ||
|
||
// TODO(bez): Call SetInitialVersion on s.stateCommitment. | ||
// | ||
// Ref: https://github.com/cosmos/cosmos-sdk/issues/18597 | ||
|
||
return nil | ||
return s.stateCommitment.SetInitialVersion(v) |
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.
The SetInitialVersion
method should not directly set the initialVersion
field according to the PR objectives and the summary. The direct assignment should be removed to align with the intended changes.
func (s *Store) SetInitialVersion(v uint64) error {
- s.initialVersion = v
return s.stateCommitment.SetInitialVersion(v)
}
Committable suggestion
❗ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
func (s *Store) SetInitialVersion(v uint64) error { | |
s.initialVersion = v | |
// TODO(bez): Call SetInitialVersion on s.stateCommitment. | |
// | |
// Ref: https://github.com/cosmos/cosmos-sdk/issues/18597 | |
return nil | |
return s.stateCommitment.SetInitialVersion(v) | |
func (s *Store) SetInitialVersion(v uint64) error { | |
return s.stateCommitment.SetInitialVersion(v) | |
} |
func (t *IavlTree) SetInitialVersion(version uint64) error { | ||
t.tree.SetInitialVersion(version) | ||
return nil |
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.
The SetInitialVersion
method does not handle the error that might be returned by t.tree.SetInitialVersion(version)
. It is important to handle this error to ensure that any issues with setting the initial version are properly reported and can be acted upon.
func (t *IavlTree) SetInitialVersion(version uint64) error {
- t.tree.SetInitialVersion(version)
- return nil
+ return t.tree.SetInitialVersion(int64(version))
}
Committable suggestion
❗ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
func (t *IavlTree) SetInitialVersion(version uint64) error { | |
t.tree.SetInitialVersion(version) | |
return nil | |
func (t *IavlTree) SetInitialVersion(version uint64) error { | |
return t.tree.SetInitialVersion(int64(version)) | |
} |
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.
ez pz, thanks @cool-develope!
* feat: secp256k1 public key constant time (cosmos#18026) Signed-off-by: bizk <[email protected]> * chore: Fixed changelog duplicated items (cosmos#18628) * adr: Un-Ordered Transaction Inclusion (cosmos#18553) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <[email protected]> * docs: lint ADR-070 (cosmos#18634) * fix(baseapp)!: postHandler should run regardless of result (cosmos#18627) * docs: fix typos in adr-007-specialization-groups.md (cosmos#18635) * chore: alphabetize labels (cosmos#18640) * docs(x/circuit): add note on ante handler (cosmos#18637) Co-authored-by: Aleksandr Bezobchuk <[email protected]> * fix: telemetry metric label variable (cosmos#18643) * chore: typos fix (cosmos#18642) * refactor(store/v2): updates from integration (cosmos#18633) * build(deps): Bump actions/setup-go from 4 to 5 (cosmos#18647) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * feat(store/v2): snapshot manager (cosmos#18458) * chore(client/v2): fix typos in the README.md (cosmos#18657) * fix(baseapp): protocompat.go gogoproto.Merge does not work with custom types (cosmos#18654) Co-authored-by: unknown unknown <unknown@unknown> * chore: fix several minor typos (cosmos#18660) * chore(tools/confix/cmd): fix typo in view.go (cosmos#18659) * refactor(x/staking): check duplicate addresses in StakeAuthorization's params (cosmos#18655) * feat(accounts): use gogoproto API instead of protov2. (cosmos#18653) Co-authored-by: unknown unknown <unknown@unknown> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(store/commitment/iavl): honor tree.Remove error firstly (cosmos#18651) * build(deps): Bump actions/stale from 8 to 9 (cosmos#18656) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(docs): fix typos & wording in docs (cosmos#18667) * chore: fix several typos. (cosmos#18666) * feat(telemetry): enable `statsd` and `dogstatsd` telemetry sinks (cosmos#18646) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <[email protected]> Co-authored-by: marbar3778 <[email protected]> Co-authored-by: Marko <[email protected]> * feat(store/v2): add SetInitialVersion in SC (cosmos#18665) * feat(client/keys): support display discreetly for `keys add` (cosmos#18663) Co-authored-by: Julien Robert <[email protected]> * ci: add misspell action (cosmos#18671) * chore: typos fix by misspell-fixer (cosmos#18683) Co-authored-by: github-merge-queue <[email protected]> Co-authored-by: Julien Robert <[email protected]> * chore: add v0.50.2 changelog to main (cosmos#18682) * build(deps): Bump github.com/jhump/protoreflect from 1.15.3 to 1.15.4 in /tests (cosmos#18678) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * refactor(bank): remove .String() calls (cosmos#18175) Co-authored-by: Facundo <[email protected]> * ci: use codespell instead of misspell-fixer (cosmos#18686) Co-authored-by: Marko <[email protected]> * feat(gov): add proposal types and spam votes (cosmos#18532) * feat(accounts): use account number as state prefix for account state (cosmos#18664) Co-authored-by: unknown unknown <unknown@unknown> * chore: typos fixes by cosmos-sdk bot (cosmos#18689) Co-authored-by: github-merge-queue <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: marbar3778 <[email protected]> * feat(client/keys): support display discreetly for keys mnemonic (cosmos#18688) * refactor: remove panic usage in keeper methods (cosmos#18636) * ci: rename pr name in misspell job (cosmos#18693) Co-authored-by: Marko <[email protected]> * build(deps): Bump github.com/pelletier/go-toml/v2 from 2.1.0 to 2.1.1 in /tools/confix (cosmos#18702) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * feat(client/keys): support display discreetly for keys export (cosmos#18684) * feat(x/gov): better gov genesis validation (cosmos#18707) --------- Signed-off-by: bizk <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Carlos Santiago Yanzon <[email protected]> Co-authored-by: yihuang <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <[email protected]> Co-authored-by: Facundo Medica <[email protected]> Co-authored-by: Akaonetwo <[email protected]> Co-authored-by: Marko <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: dreamweaverxyz <[email protected]> Co-authored-by: Pioua <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: cool-developer <[email protected]> Co-authored-by: leonarddt05 <[email protected]> Co-authored-by: testinginprod <[email protected]> Co-authored-by: unknown unknown <unknown@unknown> Co-authored-by: Sukey <[email protected]> Co-authored-by: axie <[email protected]> Co-authored-by: Luke Ma <[email protected]> Co-authored-by: Emmanuel T Odeke <[email protected]> Co-authored-by: 0xn4de <[email protected]> Co-authored-by: hattizai <[email protected]> Co-authored-by: Devon Bear <[email protected]> Co-authored-by: Marko <[email protected]> Co-authored-by: Halimao <[email protected]> Co-authored-by: Cosmos SDK <[email protected]> Co-authored-by: github-merge-queue <[email protected]> Co-authored-by: Facundo <[email protected]> Co-authored-by: Likhita Polavarapu <[email protected]>
Description
Closes: #18597
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...
!
in the type prefix if API or client breaking changeCHANGELOG.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...
Summary by CodeRabbit
New Features
Enhancements
Refactor