pub trait Contract { // Required methods fn init(&mut self) -> Result<(), Error>; fn apply(&mut self) -> Result<(), Error>; }