1use solana_program::{
2 program_memory::sol_memcmp,
3 pubkey::{Pubkey, PUBKEY_BYTES},
4};
5
6pub fn cmp_pubkeys(a: &Pubkey, b: &Pubkey) -> bool {
7 unsafe { sol_memcmp(a.as_ref(), b.as_ref(), PUBKEY_BYTES) == 0 }
8}
9
10#[cfg(test)]
11pub mod tests {
12 use super::*;
13
14 #[test]
15 fn check_keys_equal() {
16 let key1 = Pubkey::new_unique();
17 assert!(cmp_pubkeys(&key1, &key1));
18 }
19
20 #[test]
21 fn check_keys_not_equal() {
22 let key1 = Pubkey::new_unique();
23 let key2 = Pubkey::new_unique();
24 assert!(!cmp_pubkeys(&key1, &key2));
25 }
26}