Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Switching ValidatorSet #4961

Merged
merged 4 commits into from
Mar 23, 2017
Merged

Switching ValidatorSet #4961

merged 4 commits into from
Mar 23, 2017

Conversation

keorn
Copy link

@keorn keorn commented Mar 20, 2017

A new ValidatorSet which switches between different ValidatorSets on given blocks.

@keorn keorn added A0-pleasereview 🤓 Pull request needs code review. M4-core ⛓ Core client code / Rust. labels Mar 20, 2017
@rphmeier
Copy link
Contributor

We might want to extend this to "multi" fields in general for more customizability.

.iter()
.rev()
.find(|&(block, _)| *block <= parent_block + 1)
.expect("First ValidatorSet has to start at block 0!")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be documented, and the example starts at block 1.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Speaking more broadly, it makes sense to do these kinds of checks at deserialization time, and then the expectation can be infallible.


pub struct Multi {
sets: BTreeMap<BlockNumber, Box<ValidatorSet>>,
block_number: RwLock<Box<Fn(&H256) -> Result<BlockNumber, String> + Send + Sync + 'static>>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a typedef of the closure would really help readability here

@arkpar arkpar added A8-looksgood 🦄 Pull request is reviewed well. and removed A0-pleasereview 🤓 Pull request needs code review. labels Mar 22, 2017
@keorn keorn added the B0-patch label Mar 22, 2017
@gavofyork gavofyork merged commit 9fdd0e3 into master Mar 23, 2017
@gavofyork gavofyork deleted the switch-set branch March 23, 2017 12:19
arkpar pushed a commit that referenced this pull request Mar 27, 2017
* add multi validator set

* nicer comment

* validate in constructor

* reporting
arkpar added a commit that referenced this pull request Mar 27, 2017
* Fix FireFox overflows (#5000)

* Max width for container

* Set min-width

* Switching ValidatorSet (#4961)

* add multi validator set

* nicer comment

* validate in constructor

* reporting

* Avoid clogging up tmp when updater dir has bad permissions. (#5024)

* force earliest era set in snapshot restore (#5021)

* v1.6.5

* Fine grained snapshot chunking

* Ropsten revival
@keorn keorn added the B7-releasenotes 📜 Changes should be mentioned in the release notes of the next minor version release. label Mar 31, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A8-looksgood 🦄 Pull request is reviewed well. B7-releasenotes 📜 Changes should be mentioned in the release notes of the next minor version release. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants