pub trait ProgramAction { // Required methods fn validate(&self) -> Result<(), ProgramError>; fn actuate(&mut self) -> Result<Vec<u8>, ProgramError>; }