@@ -338,17 +338,25 @@ impl SchnorrSighashType {
338
338
}
339
339
340
340
/// Creates a [`SchnorrSighashType`] from raw `u8`.
341
+ #[ deprecated( since = "0.29.0" , note = "use from_consensus_u8 instead" ) ]
341
342
pub fn from_u8 ( hash_ty : u8 ) -> Result < Self , Error > {
342
- match hash_ty {
343
- 0x00 => Ok ( SchnorrSighashType :: Default ) ,
344
- 0x01 => Ok ( SchnorrSighashType :: All ) ,
345
- 0x02 => Ok ( SchnorrSighashType :: None ) ,
346
- 0x03 => Ok ( SchnorrSighashType :: Single ) ,
347
- 0x81 => Ok ( SchnorrSighashType :: AllPlusAnyoneCanPay ) ,
348
- 0x82 => Ok ( SchnorrSighashType :: NonePlusAnyoneCanPay ) ,
349
- 0x83 => Ok ( SchnorrSighashType :: SinglePlusAnyoneCanPay ) ,
350
- x => Err ( Error :: InvalidSighashType ( x as u32 ) ) ,
351
- }
343
+ Self :: from_consensus_u8 ( hash_ty)
344
+ }
345
+
346
+ /// Constructs a [`SchnorrSighashType`] from a raw `u8`.
347
+ pub fn from_consensus_u8 ( hash_ty : u8 ) -> Result < Self , Error > {
348
+ use SchnorrSighashType :: * ;
349
+
350
+ Ok ( match hash_ty {
351
+ 0x00 => Default ,
352
+ 0x01 => All ,
353
+ 0x02 => None ,
354
+ 0x03 => Single ,
355
+ 0x81 => AllPlusAnyoneCanPay ,
356
+ 0x82 => NonePlusAnyoneCanPay ,
357
+ 0x83 => SinglePlusAnyoneCanPay ,
358
+ x => return Err ( Error :: InvalidSighashType ( x as u32 ) ) ,
359
+ } )
352
360
}
353
361
}
354
362
@@ -1113,7 +1121,7 @@ mod tests {
1113
1121
} else {
1114
1122
Some ( hex_hash ! ( TapBranchHash , inp[ "given" ] [ "merkleRoot" ] . as_str( ) . unwrap( ) ) )
1115
1123
} ;
1116
- let hash_ty = SchnorrSighashType :: try_from ( inp[ "given" ] [ "hashType" ] . as_u64 ( ) . unwrap ( ) as u8 ) . unwrap ( ) ;
1124
+ let hash_ty = SchnorrSighashType :: from_consensus_u8 ( inp[ "given" ] [ "hashType" ] . as_u64 ( ) . unwrap ( ) as u8 ) . unwrap ( ) ;
1117
1125
1118
1126
let expected_internal_pk = hex_hash ! ( XOnlyPublicKey , inp[ "intermediary" ] [ "internalPubkey" ] . as_str( ) . unwrap( ) ) ;
1119
1127
let expected_tweak = hex_hash ! ( TapTweakHash , inp[ "intermediary" ] [ "tweak" ] . as_str( ) . unwrap( ) ) ;
@@ -1124,7 +1132,7 @@ mod tests {
1124
1132
let ( expected_key_spend_sig, expected_hash_ty) = if sig_str. len ( ) == 128 {
1125
1133
( secp256k1:: schnorr:: Signature :: from_str ( sig_str) . unwrap ( ) , SchnorrSighashType :: Default )
1126
1134
} else {
1127
- let hash_ty = SchnorrSighashType :: try_from ( Vec :: < u8 > :: from_hex ( & sig_str[ 128 ..] ) . unwrap ( ) [ 0 ] ) . unwrap ( ) ;
1135
+ let hash_ty = SchnorrSighashType :: from_consensus_u8 ( Vec :: < u8 > :: from_hex ( & sig_str[ 128 ..] ) . unwrap ( ) [ 0 ] ) . unwrap ( ) ;
1128
1136
( secp256k1:: schnorr:: Signature :: from_str ( & sig_str[ ..128 ] ) . unwrap ( ) , hash_ty)
1129
1137
} ;
1130
1138
0 commit comments