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}