cuprate-hinto-janai/helper
Boog900 b44c6b045b
Consensus: add alt-chain handling (#214)
* add `pop_blocks` to the difficulty cache

* add a rolling median struct

* use RollingMedian in weight cache

* add pop_blocks to weight cache

* add alt context cache

* add getting alt RX vms

* rework alt cache

* add alt block verify function

* keep alt caches around

* add alt checked alt blocks to the cache

* check the alt blocks timestamp

* add docs + cleanup code

* add popping blocks from the context cache

* finish popping blocks + fix tests

* fix doc

* add a test popping blocks from HF cache

* add a request to clear alt caches

* add back lint

* Apply suggestions from code review

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* review fixes

* small changes

* change panic doc

---------

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-07-29 01:13:08 +01:00
..
src Consensus: add alt-chain handling (#214) 2024-07-29 01:13:08 +01:00
build.rs helper: add constants & COMMIT (#64) 2024-02-15 21:44:43 +00:00
Cargo.toml database: impl service fn bodies (#113) 2024-05-01 18:52:20 +01:00
README.md helper/ (#45) 2024-01-21 00:04:09 +00:00

Helper

helper/ is the kitchen-sink crate for very generic, not necessarily Cuprate specific functions, types, etc.

This allows all workspace crates to share, and aids compile times.

If a 3rd party's crate/functions/types are small enough, it could be moved here to trim dependencies and allow easy modifications.

Features

Code can be selectively used/compiled with cargo's --feature or features = ["..."].

All features on by default.

See Cargo.toml's [features] table to see what features there are and what they enable.

#[no_std]

Each modules documents whether it requires std or not.

If a module that requires std is enabled, helper will automatically use std.