BP-WG / bp-core

BP Core Lib: consensus data structures and client-side-validation library for bitcoin protocol
Apache License 2.0
23 stars 20 forks source link

Rename primitives to consensus #57

Closed dr-orlovsky closed 1 year ago

dr-orlovsky commented 1 year ago

Primitives library was originally created to present only those Bitcoin consensus-level data structures which were used in RGB Core.

However, work on wallet-level libraries had required implementing all other data types which may be found in blocks (i.e. part of the consensus layer) - as well as doing encoding for such structures (without it it won't be possible to prepare and publish a new transaction). This library was a natural place for putting this stuff - since once implemented it must never change unless bitcoin consensus rules change with a new soft fork - or a bug is discovered. These are the exact same conditions under which BP Core operates and ossifies, thus, now we have bp-primitives working with all bitcoin consensus-level tasks (aside from validation), and it was quite natural to rename the library.

Now, this bp-consensus crate is an alternative to rust-bitcoin consensus module - but unlike rust-bitcoin these part will maintain immutable and ossified API and are clearly separated from wallet parts (PSBTs, BIP32, addresses etc) which change and evolve all the time.

CC @zoedberg @crisdut @cryptoquick

codecov[bot] commented 1 year ago

Codecov Report

All modified lines are covered by tests :white_check_mark:

Files Coverage Δ
consensus/src/block.rs 20.0% <ø> (ø)
consensus/src/coding.rs 82.1% <ø> (ø)
consensus/src/script.rs 17.8% <ø> (ø)
consensus/src/segwit.rs 11.2% <ø> (ø)
consensus/src/sigtypes.rs 27.5% <ø> (ø)
consensus/src/stl.rs 96.2% <ø> (ø)
consensus/src/taproot.rs 34.2% <ø> (ø)
consensus/src/tx.rs 54.8% <ø> (ø)
consensus/src/util.rs 6.1% <ø> (ø)
consensus/src/weights.rs 3.2% <ø> (ø)

:loudspeaker: Thoughts on this report? Let us know!.