code: def sign(self, signer: Signer):
          
          self.non_closing_signature = self.balance_proof._sign(signer)
          message_data = self._data_to_sign()
          self.signature = signer.sign(data=message_data)
docs: This method signs twice:
              - the `non_closing_signature` for the balance proof update
              - the `reward_proof_signature` for the monitoring request