-
Notifications
You must be signed in to change notification settings - Fork 4.1k
feat: Upgrade root module to CometBFT v1.0.1 #24528
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
- fix go.mod with comet v1 upgraded dependencies: api, core, x/tx - fix go.mod: add temporary replace to ./store (comet v1 upgraded) - fix tendermint -> cometbft.v1 imports & proto field names - regenerated gogo proto code (pb.go files) tendermint -> cometbft - doc fixes for cometbft v1 - misc Go API fixes (incomplete, WIP)
Ironbird - launch a networkTo use Ironbird, you can use the following commands:
Custom Load Test ConfigurationYou can provide a custom load test configuration using the `--load-test-config=` flag:Use |
- remove store module replace & fix existing require instead; go mod tidy now works - more comet v1 code fixes (enums, fields, imports) (WIP)
- fix more ABCI enum values & types to comet 1 format - fix several callsites to satisfy the new Comet 1 API, following mostly what SDK v52 did to satisfy Comet 1 - revert addition of internal/conv/comet.go (unnecessary) - fix x/consensus/keeper/keeper_test.go and ToProtoConsensusParams() to handle new ABCI consensus params API - regen golden x/genutil/types/testdata/app_genesis.json which adds new ABCI consensus params for Comet v1 - fix TestABCI_CheckTx assuming CHECK_TX_TYPE_CHECK is 0
|
|
||
| tmPk, err := encoding.PubKeyFromProto(tmProtoPk) | ||
| if err != nil { | ||
| panic(err) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods Warning
|
|
||
| tmPk, err := encoding.PubKeyFromProto(tmProtoPk) | ||
| if err != nil { | ||
| panic(err) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods Warning
- fix baseapp ABCI now handles FeatureParams - fix baseapp ABCI tests now handles FeatureParams - fix lint/fmt problem with import statement ordering
|
@fcecin your pull request is missing a changelog! |
x/genutil/client/cli/collect.go
Outdated
| return errors.Wrap(err, "Failed to get consensus key algo") | ||
| } | ||
|
|
||
| nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config, consensusKey) |
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 did this api change?
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.
InitializeNodeValidatorFiles calls InitializeNodeValidatorFilesFromMnemonic, which calls privval.LoadOrGenFilePV from Comet here, but this API has changed in Comet V1. So I just copied the fixed InitializeNodeValidatorFilesFromMnemonic from SDK v52, which takes a key type string as argument, and pulled in everything that needs. If we don't want this, we can do something else.
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.
(x2) I have reverted all these "ed25519 validator keys but BLS keys maybe" changes. CometBFT can take a nil for a key generator function and it will just use the ed25519 as default.
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.
Sounds good as long as we have a comment explianing that default behavior
Description
This PR is part of #24114
Summary:
storeCometBFT dependency to v1.0.1 #24439)Description:
This upgrade has been mostly guided by SDK v52 changes done to port v52 to CometBFT v1.0.1, with the assumption that if it worked for SDK v52, it should still work now. So in a sense this is a backport of the SDK v52's Comet v1 port of the root module. Only the changes that were necessary to get the SDK working with Comet v1 were ported.
Tests:
Testing that involve modules that were not yet upgraded to Comet v1 will not work. Unit tests for the root module pass. e.g.
go test -mod=readonly -tags="cgo ledger test_ledger_mock norace" -count=1 ./.... When all tests are enabled, we can act on their failures and fix whatever issues remain.Other CI failures:
There are other CI failures also pointing to modules that have not yet ported to Comet v1 in this PR (such as
x/evidence). Like the tests, these CI jobs won't pass until the offending modules are ported.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.mdReviewers 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.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...