-
Notifications
You must be signed in to change notification settings - Fork 292
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
mock-consensus: 🚀 test node can send an empty block #3822
Merged
Merged
Conversation
This file contains 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
cratelyn
added
C-enhancement
Category: an enhancement to the codebase
A-mock-consensus
Area: Relates to the mock consensus engine
_P-high
High priority
labels
Feb 14, 2024
cratelyn
force-pushed
the
katie/mock-consensus-block-builder
branch
from
February 14, 2024 16:28
30c54a5
to
f0a9f98
Compare
cratelyn
changed the title
mock-consensus: 🌸 test node exposes block builder (wip)
mock-consensus: 🌸 test node sends a block
Feb 14, 2024
there is still more progress to be made, but i am making exciting headway. |
cratelyn
force-pushed
the
katie/mock-consensus-block-builder
branch
from
February 14, 2024 20:07
f0a9f98
to
4561554
Compare
cratelyn
force-pushed
the
katie/mock-consensus-block-builder
branch
from
February 14, 2024 20:48
4561554
to
5a5347f
Compare
fixes #3792. see #3588. * `block` module defining interfaces to build a tendermint block, holding a unique reference to the `TestNode`. * `abci` module defining `TestNode` interfaces that will send consensus requests to the application. this includes: * BeginBlock * DeliverTx * EndBlock * Commit * `send_block` module defining a `TestNode` interface to send the requisite abci requests, given a `tendermint::Block`. * documentation is added for assorted public interfaces. this represents a huge, exciting step for work on the mock engine! we can now initialize and send an (empty) block to the consensus service. ✨ 🎊 ✨ 🎊 ✨ what next? this isn't a _comprehensive_ set of interfaces. `penumbra_mock_consensus::block::Builder` will certainly grow more methods as it is iterated upon. we'll use work in porting tests (see #3788) to drive which other fields are needed. forthcoming work will build upon this to: * introduce more builder methods to set other `Header` fields (e.g. timestamp, see #3759) * use the reference to the test node to set other `Header` fields (e.g. height) todo comments are left to that effect. --- * #3588 * #3792
cratelyn
force-pushed
the
katie/mock-consensus-block-builder
branch
from
February 15, 2024 01:57
5a5347f
to
e15809e
Compare
cratelyn
changed the title
mock-consensus: 🌸 test node sends a block
mock-consensus: 🚀 test node can send an empty block
Feb 15, 2024
|
cratelyn
commented
Feb 15, 2024
cratelyn
commented
Feb 15, 2024
cratelyn
commented
Feb 15, 2024
#3822 (comment) Co-Authored-By: Henry de Valence <hdevalence@penumbralabs.xyz>
Amazing! |
hdevalence
approved these changes
Feb 15, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-mock-consensus
Area: Relates to the mock consensus engine
C-enhancement
Category: an enhancement to the codebase
_P-high
High priority
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.
fixes #3792.
see #3588.
block
module defining interfaces to build a tendermint block,holding a unique reference to the
TestNode
.abci
module definingTestNode
interfaces that will send consensusrequests to the application. this includes:
BeginBlock
DeliverTx
EndBlock
Commit
send_block
module defining aTestNode
interface to send therequisite abci requests, given a
tendermint::Block
.this represents a huge, exciting step for work on the mock engine! we
can now initialize and send an (empty) block to the consensus service.
✨ 🎊 ✨ 🎊 ✨
what next?
this isn't a comprehensive set of interfaces.
penumbra_mock_consensus::block::Builder
will certainly grow moremethods as it is iterated upon. we'll use work in porting tests
(see #3788) to drive which other fields are needed.
forthcoming work will build upon this to:
Header
fields (e.g.timestamp, see tests: ⏰ expose time facilities in mock consensus engine #3759)
Header
fields (e.g.height)
todo comments are left to that effect.
App
tests #3588