Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 havebp-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 torust-bitcoin
consensus
module - but unlikerust-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