Skip to main content

mpl_utils/
misc.rs

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}