Skip to content
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

app: 🦅 Consensus::end_block never errors #4011

Merged
merged 1 commit into from
Mar 12, 2024

Conversation

cratelyn
Copy link
Contributor

Consensus::end_block never returns an Err(_) value, so it does not need to return a Result<T, E>.

cherry-picked out ouf #4001.

`Consensus::end_block` never returns an `Err(_)` value, so it does not
need to return a `Result<T, E>`.
@cratelyn cratelyn added A-node Area: System design and implementation for node software C-refactor Category: refactors and other related improvements labels Mar 12, 2024
@cratelyn cratelyn added this to the Sprint 2 milestone Mar 12, 2024
@cratelyn cratelyn self-assigned this Mar 12, 2024
@cratelyn cratelyn marked this pull request as ready for review March 12, 2024 20:35
@cratelyn cratelyn merged commit 03444d4 into main Mar 12, 2024
6 checks passed
@cratelyn cratelyn deleted the kate/consensus-end-block-never-fails branch March 12, 2024 20:46
cratelyn added a commit that referenced this pull request Mar 18, 2024
fixes #3966. fixes #3908. fixes _part of_ #3995.

this branch introduces the first steps towards mock consensus (#3588)
testing of the staking component (#3845).

this defines a validator after genesis, and then shows that it does
_not_ enter the consensus set. #3966 is addressed in this branch so that
the existing genesis validator correctly enters the consensus set, and
so that we can successfully progress to the second epoch.

subsequent changes will exercise delegating to this validator in the
`mock_consensus_can_define_and_delegate_to_a_validator`.

#### ✨ changes

* alters `with_penumbra_auto_app_state` so that it adds an allocation of
delegation tokens to the shielded pool component's genesis content.

* extends `generate_penumbra_validator` so that it generates a real
spend key, and returns an `Allocation` for the generated validator.
_(see #3966)_

* adds a new `mock_consensus_can_define_and_delegate_to_a_validator`
test that defines a post-genesis validator. _(see #3908)_

* defines a new `ConsensusIndexRead::get_consensus_set()` method, which
collects all of the identity keys returned by `consensus_set_stream`.

* lowers the events in
`penumbra_mock_consensus::block::Builder::execute()` to trace-level
events.

* `penumbra_mock_consensus::builder::Builder` will now log a warning if
values may be errantly rewritten by the builder methods.

* `TestNode::fast_forward` sets its `i` span field to `1..n`, rather
than `0..n-1`.

---

#### :link: related

* #4009
* #4010
* #4011
* #4017
* #4027
* #4028
* #4029
* #3966
* #3908
* #3588

---------

Co-authored-by: Henry de Valence <hdevalence@penumbralabs.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-node Area: System design and implementation for node software C-refactor Category: refactors and other related improvements
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant