You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge #657: compiler: improve logic when deciding between conjunctions and multi/multi_a
200991d compiler: improve logic for deciding between thresholds and ands (Andrew Poelstra)
bc3b8dc policy: rename Threshold variant to Thresh (Andrew Poelstra)
78db616 consolidate some FIXMEs (Andrew Poelstra)
0666aef error: remove some unused variants (Andrew Poelstra)
b2ec4a8 clippy: fix some nits introduced by #651 (Andrew Poelstra)
Pull request description:
The compiler logic when encountering thresholds of pks is currently a bit confused, and therefore chooses multi/multi_a in cases where this is not the most efficient compilation.
This PR fixes that, and also brings in a few other cleanup commits that I had laying around.
This does **not** fix#656, which I didn't know how to approach.
ACKs for top commit:
sanket1729:
ACK 200991d
Tree-SHA512: 252a60891cf1c1d1cd3ded88d97122fd1e76bd25807770f4843ae68bd2d854fc617518f26be86dcb57cd7fc369e1a4be81daa42ee1a6d4bc976dbad6dc1150f6
@@ -561,11 +532,6 @@ impl fmt::Display for Error {
561
532
"Recursive depth over {} not permitted",
562
533
MAX_RECURSION_DEPTH
563
534
),
564
-
Error::ScriptSizeTooLarge => write!(
565
-
f,
566
-
"Standardness rules imply bitcoin than {} bytes",
567
-
MAX_SCRIPT_SIZE
568
-
),
569
535
Error::NonStandardBareScript => write!(
570
536
f,
571
537
"Anything but c:pk(key) (P2PK), c:pk_h(key) (P2PKH), and thresh_m(k,...) \
@@ -579,9 +545,7 @@ impl fmt::Display for Error {
579
545
write!(f,"Pubkey error: {} under {} scriptcontext", pk, ctx)
580
546
}
581
547
Error::MultiATooManyKeys(k) => write!(f,"MultiA too many keys {}", k),
582
-
Error::TaprootSpendInfoUnavialable => write!(f,"Taproot Spend Info not computed."),
583
548
Error::TrNoScriptCode => write!(f,"No script code for Tr descriptors"),
584
-
Error::TrNoExplicitScript => write!(f,"No script code for Tr descriptors"),
585
549
Error::MultipathDescLenMismatch => write!(f,"At least two BIP389 key expressions in the descriptor contain tuples of derivation indexes of different lengths"),
586
550
Error::AbsoluteLockTime(ref e) => e.fmt(f),
587
551
Error::RelativeLockTime(ref e) => e.fmt(f),
@@ -605,30 +569,22 @@ impl error::Error for Error {
0 commit comments