nifty_asset/hooked/
nullable_public_key.rs

1use borsh::{BorshDeserialize, BorshSerialize};
2use solana_program::pubkey::Pubkey;
3
4#[derive(BorshSerialize, BorshDeserialize, Clone, Debug, Eq, PartialEq)]
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6pub struct NullablePublicKey(Pubkey);
7
8impl NullablePublicKey {
9    pub fn to_option(&self) -> Option<Pubkey> {
10        if self.0 == Pubkey::default() {
11            None
12        } else {
13            Some(self.0)
14        }
15    }
16}