Open plebhash opened 4 months ago
We can leverage the work done in #854 in this effort when we start listing the technical debt for each crate.
What do you think about merging all the v2/binary-sv2/**
into a single v2/binary-sv2
for the following reason https://github.com/stratum-mining/stratum/issues/1134#issuecomment-2333691340 ?
I don't think that this is a good idea as we wouldn't be able to opt out serde anymore
Oh sorry maybe my comment was not clear. I was just suggesting to merge them in terms of the effort to document and refactor them, not merge the crates into a single one.
We recently published our
protocols
crates tocrates.io
. We need to make sure the APIs provided by those crates are properly documented under the Rust Best Practices.This is also the perfect opportunity to map and address technical debt on those crates. As we go through the code and try to understand it, we take the chance to write down a list of ways the code could be improved. Things such as:
unwrap
,panic!
,expect
)// todo
comments,todo!
macros, edge cases withunimplemented!
orpanic!
Task list
Rust Docs
v1
(already documented but worth a look before proceding)v2/binary-sv2/binary-sv2
v2/binary-sv2/no-serde-sv2/codec
v2/binary-sv2/no-serde-sv2/derive_codec
v2/binary-sv2/serde-sv2
v2/const-sv2
v2/framing-sv2
v2/codec-sv2
v2/noise-sv2
v2/subprotocols
(already documented but worth a look before proceeding)v2/roles-logic-sv2
v2/sv2-ffi
Refactor Implementation