-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
fix: add block height to prepareProposal context #14467
Conversation
EDIT: This seems to be another flaky test |
[Cosmos SDK] Kudos, SonarCloud Quality Gate passed! |
if app.prepareProposal == nil { | ||
panic("PrepareProposal method not set") | ||
} | ||
|
||
ctx := app.getContextForTx(runTxPrepareProposal, []byte{}). | ||
WithBlockHeight(req.Height). |
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 seems to be set to a valid value after the first PrepareProposal
call. Do you know why this might be happening?
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.
Late response, but this was happening because you would be seeing the previous block height instead of the current. So it gave the illusion of being a valid value
@@ -289,13 +293,11 @@ func (app *BaseApp) ProcessProposal(req abci.RequestProcessProposal) (resp abci. | |||
panic("app.ProcessProposal is not set") | |||
} | |||
|
|||
ctx := app.processProposalState.ctx. |
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.
here and below: for my own understanding, why do we stop populating VoteInfo
, Proposer
and ConsensusParam
?
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.
Those are being set inside getContextForTx
, just a little cleanup to reuse code (although not really happy about it, as the function is intended to create a context for a single tx afaik; might roll this back for readability).
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.
Looking good so far!
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.
LGTM!
Height: req.Height, | ||
ProposerAddress: req.ProposerAddress, | ||
} | ||
app.setState(runTxModeDeliver, initHeader) |
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.
Let's update setState
to also accept runTxPrepareProposal
for deliver state.
i.e. case runTxModeDeliver, runTxPrepareProposal: ...
Closing in favor of #14505 |
Description
Ref: #14446
Audit: #13951
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 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...
!
in the type prefix if API or client breaking change