Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Upgrade rust-miniscript / rust-bitcoin to latest version #1228

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

darosior
Copy link
Member

@darosior darosior commented Aug 14, 2024

I need to go over the changes again, and this introduces a massive performance hit. From quick profiling i think it's from upstream changes in the miniscript policy compiler.

Running cargo test descriptors before:

real    0m5.166s
user    0m10.630s
sys     0m0.075s

After:

real    4m16.438s
user    7m14.968s
sys     0m0.099s

Fixes #1224.

_ => None,
}
.ok_or(LianaPolicyError::IncompatibleDesc)?;
SemanticPolicy::Thresh(thresh) if thresh.is_or() && thresh.n() > 1 => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't we check thresh.k() == 1?

Suggested change
SemanticPolicy::Thresh(thresh) if thresh.is_or() && thresh.n() > 1 => {
SemanticPolicy::Thresh(thresh) if thresh.is_or() && thresh.n() > 1 && threshk() == 1 => {

@nondiremanuel nondiremanuel added this to the v8 - Liana milestone Aug 28, 2024
@darosior
Copy link
Member Author

Yes. In general i don't think the code here is correct. I need to go through the descriptor core logic one more time.

@pythcoiner
Copy link
Collaborator

also not from these PR, but here if assert fail we will panic shouldn'nt we error instead?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

Upgrade bitcoin dependency to v0.32
3 participants