-
Notifications
You must be signed in to change notification settings - Fork 302
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
Change Planner to use optional gas prices field and error if unset #4554
Conversation
We discussed this in IBC sync, because getting this work resolved is relevant to near-term IBC work. Looks like as written, this PR will fix #4541, but not #4540, which is required for unblocking IBC. @zbuc has volunteered to tackle implementing a deeper API change here, discussed in Discord, making GasPrices optional, to avoid the hard-to-hold planner interface problem that was encountered as part of the fee enabling (#4306), as seen in Galileo today penumbra-zone/galileo#98. |
Refs #4555 |
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.
There are CI failures that appear to be related to an old base branch. This should be rebased (and preferably squashed) onto lastest main, in particular in order to include #4539, which will affect how the FeeTier usage is applied throughout the pcli cli opts.
&self.gas_prices, | ||
&self | ||
.gas_prices | ||
.context("planner instances must call set_gas_prices prior to planning")?, |
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.
While I'm not a huge fan of forcing a separate call rather than doing it automatically, I love how descriptive this error message is!
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.
We alternatively could just change the Planner
constructor to require GasPrices
or a ViewClient
instance it can fetch them from
Thanks for fixing, testing against local devnet with fees.... |
Confirmed that validator definition uploads are working. fails on main
passes on this branch
|
However, validator voting appears not to work still: failing, as expected, on main
failing, differently, on this branch
Not sure how to debug that passet denom. This PR is clearly an improvement, it looks like #4540 is not yet fixed by it though. |
@conorsch |
@zbuc Oy, that was it!
Thanks, all set! |
Drat, this doesn't apply cleanly to 0.77.x. Might have to pull in #4510 as well.... |
Closes #4555 and fixes fee inclusion in validator definition upload, validator vote casting, and tx sweep.
This also introduces some protection for future planner invocations. The
Planner
'sgas_prices
field has been changed to anOption
type and if it's not set it will return an error during planning:If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason: