code: def verify_request_monitoring(
              self,
              partner_address: Address,
              requesting_address: Address,
      ) -> bool:
          
          if not self.non_closing_signature:
              return False
  
          balance_proof_data = pack_balance_proof(
              nonce=self.balance_proof.nonce,
              balance_hash=self.balance_proof.balance_hash,
              additional_hash=self.balance_proof.additional_hash,
              canonical_identifier=CanonicalIdentifier(
                  chain_identifier=self.balance_proof.chain_id,
                  token_network_address=self.balance_proof.token_network_address,
                  channel_identifier=self.balance_proof.channel_identifier,
              ),
          )
          blinded_data = pack_balance_proof_update(
              nonce=self.balance_proof.nonce,
              balance_hash=self.balance_proof.balance_hash,
              additional_hash=self.balance_proof.additional_hash,
              canonical_identifier=CanonicalIdentifier(
                  chain_identifier=self.balance_proof.chain_id,
                  token_network_address=self.balance_proof.token_network_address,
                  channel_identifier=self.balance_proof.channel_identifier,
              ),
              partner_signature=self.balance_proof.signature,
          )
          reward_proof_data = pack_reward_proof(
              canonical_identifier=CanonicalIdentifier(
                  chain_identifier=self.balance_proof.chain_id,
                  token_network_address=self.balance_proof.token_network_address,
                  channel_identifier=self.balance_proof.channel_identifier,
              ),
              reward_amount=self.reward_amount,
              nonce=self.balance_proof.nonce,
          )
          return (
              recover(balance_proof_data, self.balance_proof.signature) == partner_address and
              recover(blinded_data, self.non_closing_signature) == requesting_address and
              recover(reward_proof_data, self.reward_proof_signature) == requesting_address
          )
docs: One should only use this method to verify integrity and signatures of a
          RequestMonitoring message.