use solana_sdk::instruction::Instruction; use solana_sdk::pubkey::Pubkey; use spl_memo::id; pub trait WithMemo { fn with_memo>(self, memo: Option) -> Self; } impl WithMemo for Vec { fn with_memo>(mut self, memo: Option) -> Self { if let Some(memo) = &memo { let memo = memo.as_ref(); let memo_ix = Instruction { program_id: Pubkey::new(&id().to_bytes()), accounts: vec![], data: memo.as_bytes().to_vec(), }; self.push(memo_ix); } self } }