pub trait WriteStore: ReadStore {
    // Required methods
    fn insert_checkpoint(&self, checkpoint: &VerifiedCheckpoint) -> Result<()>;
    fn update_highest_synced_checkpoint(
        &self,
        checkpoint: &VerifiedCheckpoint,
    ) -> Result<()>;
    fn update_highest_verified_checkpoint(
        &self,
        checkpoint: &VerifiedCheckpoint,
    ) -> Result<()>;
    fn insert_checkpoint_contents(
        &self,
        checkpoint: &VerifiedCheckpoint,
        contents: VerifiedCheckpointContents,
    ) -> Result<()>;
    fn insert_committee(&self, new_committee: Committee) -> Result<()>;
}