@@ -373,12 +373,12 @@ pub fn parse<Ctx: ScriptContext>(
373373 tokens,
374374 // pubkey
375375 Tk :: Bytes33 ( pk) => {
376- let ret = Ctx :: Key :: from_slice( pk)
376+ let ret = Ctx :: Key :: from_slice( & pk)
377377 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?;
378378 term. reduce0( Terminal :: PkK ( ret) ) ?
379379 } ,
380380 Tk :: Bytes65 ( pk) => {
381- let ret = Ctx :: Key :: from_slice( pk)
381+ let ret = Ctx :: Key :: from_slice( & pk)
382382 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?;
383383 term. reduce0( Terminal :: PkK ( ret) ) ?
384384 } ,
@@ -395,7 +395,7 @@ pub fn parse<Ctx: ScriptContext>(
395395 // after bytes32 means bytes32 is in a hashlock
396396 // Finally for the first case, K being parsed as a solo expression is a Pk type
397397 Tk :: Bytes32 ( pk) => {
398- let ret = Ctx :: Key :: from_slice( pk) . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?;
398+ let ret = Ctx :: Key :: from_slice( & pk) . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?;
399399 term. reduce0( Terminal :: PkK ( ret) ) ?
400400 } ,
401401 // checksig
@@ -414,20 +414,20 @@ pub fn parse<Ctx: ScriptContext>(
414414 tokens,
415415 Tk :: Dup => {
416416 term. reduce0( Terminal :: RawPkH (
417- hash160:: Hash :: from_slice ( hash) . expect ( "valid size" )
417+ hash160:: Hash :: from_byte_array ( hash)
418418 ) ) ?
419419 } ,
420420 Tk :: Verify , Tk :: Equal , Tk :: Num ( 32 ) , Tk :: Size => {
421421 non_term. push( NonTerm :: Verify ) ;
422422 term. reduce0( Terminal :: Hash160 (
423- hash160:: Hash :: from_slice ( hash) . expect ( "valid size" )
423+ hash160:: Hash :: from_byte_array ( hash)
424424 ) ) ?
425425 } ,
426426 ) ,
427427 Tk :: Ripemd160 , Tk :: Verify , Tk :: Equal , Tk :: Num ( 32 ) , Tk :: Size => {
428428 non_term. push( NonTerm :: Verify ) ;
429429 term. reduce0( Terminal :: Ripemd160 (
430- ripemd160:: Hash :: from_slice ( hash) . expect ( "valid size" )
430+ ripemd160:: Hash :: from_byte_array ( hash)
431431 ) ) ?
432432 } ,
433433 ) ,
@@ -437,13 +437,13 @@ pub fn parse<Ctx: ScriptContext>(
437437 Tk :: Sha256 , Tk :: Verify , Tk :: Equal , Tk :: Num ( 32 ) , Tk :: Size => {
438438 non_term. push( NonTerm :: Verify ) ;
439439 term. reduce0( Terminal :: Sha256 (
440- sha256:: Hash :: from_slice ( hash) . expect ( "valid size" )
440+ sha256:: Hash :: from_byte_array ( hash)
441441 ) ) ?
442442 } ,
443443 Tk :: Hash256 , Tk :: Verify , Tk :: Equal , Tk :: Num ( 32 ) , Tk :: Size => {
444444 non_term. push( NonTerm :: Verify ) ;
445445 term. reduce0( Terminal :: Hash256 (
446- hash256:: Hash :: from_slice ( hash) . expect ( "valid size" )
446+ hash256:: Hash :: from_byte_array ( hash)
447447 ) ) ?
448448 } ,
449449 ) ,
@@ -480,14 +480,14 @@ pub fn parse<Ctx: ScriptContext>(
480480 Tk :: Equal ,
481481 Tk :: Num ( 32 ) ,
482482 Tk :: Size => term. reduce0( Terminal :: Sha256 (
483- sha256:: Hash :: from_slice ( hash) . expect ( "valid size" )
483+ sha256:: Hash :: from_byte_array ( hash)
484484 ) ) ?,
485485 Tk :: Hash256 ,
486486 Tk :: Verify ,
487487 Tk :: Equal ,
488488 Tk :: Num ( 32 ) ,
489489 Tk :: Size => term. reduce0( Terminal :: Hash256 (
490- hash256:: Hash :: from_slice ( hash) . expect ( "valid size" )
490+ hash256:: Hash :: from_byte_array ( hash)
491491 ) ) ?,
492492 ) ,
493493 Tk :: Hash20 ( hash) => match_token!(
@@ -497,14 +497,14 @@ pub fn parse<Ctx: ScriptContext>(
497497 Tk :: Equal ,
498498 Tk :: Num ( 32 ) ,
499499 Tk :: Size => term. reduce0( Terminal :: Ripemd160 (
500- ripemd160:: Hash :: from_slice ( hash) . expect ( "valid size" )
500+ ripemd160:: Hash :: from_byte_array ( hash)
501501 ) ) ?,
502502 Tk :: Hash160 ,
503503 Tk :: Verify ,
504504 Tk :: Equal ,
505505 Tk :: Num ( 32 ) ,
506506 Tk :: Size => term. reduce0( Terminal :: Hash160 (
507- hash160:: Hash :: from_slice ( hash) . expect ( "valid size" )
507+ hash160:: Hash :: from_byte_array ( hash)
508508 ) ) ?,
509509 ) ,
510510 // thresholds
@@ -545,9 +545,9 @@ pub fn parse<Ctx: ScriptContext>(
545545 for _ in 0 ..n {
546546 match_token!(
547547 tokens,
548- Tk :: Bytes33 ( pk) => keys. push( <Ctx :: Key >:: from_slice( pk)
548+ Tk :: Bytes33 ( pk) => keys. push( <Ctx :: Key >:: from_slice( & pk)
549549 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?) ,
550- Tk :: Bytes65 ( pk) => keys. push( <Ctx :: Key >:: from_slice( pk)
550+ Tk :: Bytes65 ( pk) => keys. push( <Ctx :: Key >:: from_slice( & pk)
551551 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?) ,
552552 ) ;
553553 }
@@ -567,14 +567,14 @@ pub fn parse<Ctx: ScriptContext>(
567567 while tokens. peek( ) == Some ( & Tk :: CheckSigAdd ) {
568568 match_token!(
569569 tokens,
570- Tk :: CheckSigAdd , Tk :: Bytes32 ( pk) => keys. push( <Ctx :: Key >:: from_slice( pk)
570+ Tk :: CheckSigAdd , Tk :: Bytes32 ( pk) => keys. push( <Ctx :: Key >:: from_slice( & pk)
571571 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?) ,
572572 ) ;
573573 }
574574 // Last key must be with a CheckSig
575575 match_token!(
576576 tokens,
577- Tk :: CheckSig , Tk :: Bytes32 ( pk) => keys. push( <Ctx :: Key >:: from_slice( pk)
577+ Tk :: CheckSig , Tk :: Bytes32 ( pk) => keys. push( <Ctx :: Key >:: from_slice( & pk)
578578 . map_err( |e| Error :: PubKeyCtxError ( e, Ctx :: name_str( ) ) ) ?) ,
579579 ) ;
580580 keys. reverse( ) ;
0 commit comments