@@ -12,8 +12,7 @@ fn panic(_info: &core::panic::PanicInfo) -> ! {
1212}
1313
1414
15- use alloc:: vec:: Vec ;
16- use alloc:: vec;
15+ use alloc:: { vec, vec:: Vec } ;
1716use stylus_sdk:: {
1817 prelude:: { entrypoint, public, storage} ,
1918 storage:: { StorageMap , StorageUint , StorageAddress , StorageBool } ,
@@ -49,7 +48,6 @@ pub struct VerifiedVMM {
4948 pub hash : FixedBytes < 32 > ,
5049}
5150
52- #[ derive( Debug ) ]
5351pub enum WormholeError {
5452 InvalidGuardianSetIndex ,
5553 GuardianSetExpired ,
@@ -67,9 +65,15 @@ pub enum WormholeError {
6765 VerifyVAAError ,
6866}
6967
68+ impl core:: fmt:: Debug for WormholeError {
69+ fn fmt ( & self , f : & mut core:: fmt:: Formatter < ' _ > ) -> core:: fmt:: Result {
70+ f. write_str ( "" )
71+ }
72+ }
73+
7074impl From < WormholeError > for Vec < u8 > {
7175 fn from ( error : WormholeError ) -> Vec < u8 > {
72- let byte : u8 = match error {
76+ vec ! [ match error {
7377 WormholeError :: InvalidGuardianSetIndex => 1 ,
7478 WormholeError :: GuardianSetExpired => 2 ,
7579 WormholeError :: NoQuorum => 3 ,
@@ -84,8 +88,7 @@ impl From<WormholeError> for Vec<u8> {
8488 WormholeError :: InvalidGuardianIndex => 12 ,
8589 WormholeError :: InvalidAddressLength => 13 ,
8690 WormholeError :: VerifyVAAError => 14 ,
87- } ;
88- vec ! [ byte]
91+ } ]
8992 }
9093}
9194
@@ -386,10 +389,7 @@ impl WormholeContract {
386389 return Err ( WormholeError :: InvalidSignature ) ;
387390 }
388391
389- let sig_bytes: [ u8 ; 64 ] = signature[ ..64 ] . try_into ( )
390- . map_err ( |_| WormholeError :: InvalidSignature ) ?;
391392 let recovery_id_byte = signature[ 64 ] ;
392-
393393 let recovery_id = if recovery_id_byte >= 27 {
394394 RecoveryId :: try_from ( recovery_id_byte - 27 )
395395 . map_err ( |_| WormholeError :: InvalidSignature ) ?
@@ -398,13 +398,10 @@ impl WormholeContract {
398398 . map_err ( |_| WormholeError :: InvalidSignature ) ?
399399 } ;
400400
401- let sig = Signature :: try_from ( & sig_bytes [ ..] )
401+ let sig = Signature :: try_from ( & signature [ ..64 ] )
402402 . map_err ( |_| WormholeError :: InvalidSignature ) ?;
403-
404- let hash_array: [ u8 ; 32 ] = hash. as_slice ( ) . try_into ( )
405- . map_err ( |_| WormholeError :: InvalidInput ) ?;
406403
407- let verifying_key = VerifyingKey :: recover_from_prehash ( & hash_array , & sig, recovery_id)
404+ let verifying_key = VerifyingKey :: recover_from_prehash ( hash . as_slice ( ) . try_into ( ) . map_err ( |_| WormholeError :: InvalidInput ) ? , & sig, recovery_id)
408405 . map_err ( |_| WormholeError :: InvalidSignature ) ?;
409406
410407 let public_key_bytes = verifying_key. to_encoded_point ( false ) ;
0 commit comments