message: update the BFT state leader selection as it does not need the update system anymore
diff: @@ -49,68 +49,10 @@ impl BftLeaderSelection {
  }
  impl LeaderSelection for BftLeaderSelection {
  - type Update = Update;
  type Block = Block;
  type Error = Error;
  type LeaderId = PublicLeader;
  - fn diff(&self, input: &Self::Block) -> Result<Self::Update, Self::Error> {
  - if input.version() != BLOCK_VERSION_CONSENSUS_BFT {
  - return Err(Error {
  - kind: ErrorKind::IncompatibleBlockVersion,
  - cause: None,
  - });
  - }
  - let mut update = <Self::Update as property::Update>::empty();
  -
  - let new_leader = self.get_leader_at(input.date())?;
  -
  - match &input.header.proof() {
  - Proof::Bft(bft_proof) => {
  - let input_leader = PublicLeader::Bft(bft_proof.leader_id.clone());
  - if input_leader != new_leader {
  - return Err(Error {
  - kind: ErrorKind::InvalidLeader,
  - cause: Some(Box::new(BftError::BlockHasInvalidLeader(
  - new_leader,
  - input_leader,
  - ))),
  - });
  - }
  - update.previous_leader = PublicLeader::Bft(self.current_leader.clone());
  - update.next_leader = input_leader;
  - }
  - _ => {
  - return Err(Error {
  - kind: ErrorKind::IncompatibleLeadershipMode,
  - cause: Some(Box::new(BftError::BlockProofIsDifferent)),
  - });
  - }
  - }
  -
  - if !input.verify() {
  - return Err(Error {
  - kind: ErrorKind::InvalidLeader,
  - cause: Some(Box::new(BftError::BlockSignatureIsInvalid)),
  - });
  - }
  -
  - Ok(update)
  - }
  - fn apply(&mut self, update: Self::Update) -> Result<(), Self::Error> {
  - let current_leader = PublicLeader::Bft(self.current_leader.clone());
  - if update.previous_leader != current_leader {
  - return Err(Error {
  - kind: ErrorKind::InvalidLeader,
  - cause: Some(Box::new(BftError::UpdateHasInvalidCurrentLeader(
  - current_leader,
  - update.previous_leader.clone(),
  - ))),
  - });
  - }
  - Ok(())
  - }
  -
  #[inline]
  fn get_leader_at(
  &self,
  