INNER CODE UNIT · Rust
create_hmac
renegade-fi/renegade · crates/api/gossip-api/src/lib.rs:26
pub fn create_hmac<M: Serialize>(req: &M, key: &HmacKey) -> Vec<u8> {
let buf = bincode::serialize(req).unwrap();
backfill_trace_field("req_size", buf.len());
key.compute_mac(&buf)
}
/// Check a signature on a request body with the given key
#[instrument(name = "check_signature", skip_all)]
pub fn check_hmac<M: Serialize>(req: &M, mac: &[u8], key: &HmacKey) -> bool {
let expected = create_hmac(req, key);
expected == mac
}
/// The destination to which a request should be sent
pub enum GossipDestination {
/// To the gossip server
GossipServer,