Recover the address of the public key using a recoverable signature and signed message ```rust use utils::crypto::{keypair, public_key_address, recover_address, sign_recovery}; let (private_key, public_key) = keypair(); let message = b"The message"; let signature = sign_recovery(message, &private_key).unwrap(); let (recovery_id, serialized_signature) = signature.serialize_compact(); let recover_
(message: &[u8], signature: &[u8], recovery_id: i32)
| 231 | /// assert_eq!(recover_address, public_key_address(&public_key)); |
| 232 | /// ``` |
| 233 | pub fn recover_address(message: &[u8], signature: &[u8], recovery_id: i32) -> Result<Address> { |
| 234 | let public_key = recover_public_key(message, signature, recovery_id)?; |
| 235 | Ok(public_key_address(&public_key)) |
| 236 | } |
| 237 | |
| 238 | // Helper function to hash bytes and convert to a Message |
| 239 | pub fn hash_message(message: &[u8]) -> Result<Message> { |