Release 0.25.3 using semver-trick to reexport majority of types from 0.26.1#251
Closed
apoelstra wants to merge 3 commits intoElementsProject:0.25.xfrom
Closed
Release 0.25.3 using semver-trick to reexport majority of types from 0.26.1#251apoelstra wants to merge 3 commits intoElementsProject:0.25.xfrom
apoelstra wants to merge 3 commits intoElementsProject:0.25.xfrom
Conversation
Contributor
|
Tried to update locally in LWK to this branch however I'm getting few errors related to |
Member
Author
|
Thanks for testing! Lemme check on this. I swear I kept the sighash module for exactly this reason.. |
Member
Author
|
...no, I think this got lost. Sorry, I restarted this PR 4 or 5 times and must have gotten sloppy. Will update. |
In 0.26.0 we made two breaking changes: we changed the signature of some blinding functions in PartiallySignedTransaction, and we removed the & from a couple utility methods in pset::raw::ProprietaryKey and in TxOut. Therefore, those three types, and any type which refers to them in their public API, have semver-breaking changes. But no other type does! So we can re-export everything else in a minor release of 0.25.x. The types that we must preserve are: * PartiallySignedTransaction * TxOut * Transaction (contains Vec<TxOut> in a public field) * Block (contains Vec<Transaction> in a public field) There are then several modules which have impl blocks on these types, which we need to keep; and the PSET `Output` type has accessors for a `TxOut`, so we need to keep that, which means that we need to keep its whole `pset::Serialize` impl, which means we need to keep the whole private `Map` trait. Frustrating. Now, this commit is very large and may be hard to review. However, much of it is easy: * First, we entirely delete the `address`, `blech32`, `confidential`, `dynafed`, `encode`, `error`, `ext`, `fast_merkle_root`, `hash_types`, `hex`, `issuance`, `locktime`, `opcodes`, `parse`, `schnorr`, `script`, and `taproot` modules and replace them with re-exports. To confirm these changes are OK, you ought to check their API on crates.io (or by just grepping) and see that none of the types listed above appear there. * Then, the `block` and `transaction` modules have every type except for `TxOut`, `Transaction` and `Block` removed. So that's probably also easy to review, though again it's good to check that these types don't appear in the API of anything that was removed. * Then `blind.rs` and `pset/elip100.rs` have impls on `Transaction` and `PartiallySignedTransaction`, so they had to stay. * Then `sighash.rs` has some functions which are conditioned on T with T: Deref<Transaction> or Borrow<TxOut> so these had to be kept; we also had to keep the private method split_anyonecanpay_flag and move it to a standalone function. * Finally, the whole PSET module was kept, except that I removed the Serialize trait and a couple utility structs, including the errors, in a somewhat ad-hoc way. PROBABLY it's fine to just skim this and we'll release it and see if anything breaks.
0a6729e to
3dc8cd2
Compare
Member
Author
|
@LeoComandini sorry, should be fixed. Can you try now? |
Member
Author
|
....sigh, crap. We bumped the MSRV in 0.26.0 but not in 0.25.x. I think we just can't do this. |
Contributor
@apoelstra compiles now locally |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
See commit messages for more detail.