-
Notifications
You must be signed in to change notification settings - Fork 39
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
refactor: Removing actor pipes and naming #213
Conversation
Implemented all types for ChonkyBFT. Work on this is all on the roles crate. Tests in roles crate are passing. Note that I'm not keeping the old types, that's because `ReplicaCommit` has no changes to it (I checked and serialization is the same for old and new, old signatures still work) as well as `CommitQC` and `FinalBlock`. Any type that an EN could receive, or that ends on our database, doesn't suffer any alterations. So it seems that the upgrade to ChonkyBFT is backwards-compatible for ENs. Since we only have one validator, we can upgrade the whole network without a planned hard fork. Part of BFT-452
- Everything in chonky_bft folder is basically new. - UTHarness was moved to chonky_bft/testonly.rs. Several changes to it though. - All tests that use UTHarness were moved to chonky_bft/tests. Some of the old unit tests were repurposed, but a fair amount of the tests in chonky_bft/tests are new. - The tests in tests.rs were split between tests/mod.rs and tests/twins.rs (except for a few that used UTHarness and were moved as said before). There were no changes to them though. Part of BFT-452
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.
LG in general, added some comments
Added an exception to advisories on cargo deny. Needed because an upstream dependency became unmaintained, until kube updates their dependencies, it will remain. |
The advantage is the fact that you are aware of crates that use old dependencies and you can try to avoid them. It also actively prevents people from pinning dependency versions. |
We have never used a different dependency because of this. If it doesn't actually result in different behavior, then it's not useful information IMO. |
Getting rid of the whole actor pipe architecture. It was only created because we thought we would have many components, in reality we ended up with just two big components. This is just a refactor, no logic changes.