code: def create_monitoring_request(
              self,
              balance_proof: BalanceProofSignedState,
              reward_amount: TokenAmount,
      ) -> Optional[RequestMonitoring]:
          
          # create RequestMonitoring message from the above + `reward_amount`
          monitor_request = RequestMonitoring.from_balance_proof_signed_state(
              balance_proof=balance_proof,
              reward_amount=reward_amount,
          )
          # sign RequestMonitoring and return
          monitor_request.sign(self.raiden.signer)
          return monitor_request
docs: This method can be used to create a `RequestMonitoring` message.
          It will contain all data necessary for an external monitoring service to
          - send an updateNonClosingBalanceProof transaction to the TokenNetwork contract,
          for the `balance_proof` that we received from a channel partner.
          - claim the `reward_amount` from the UDC.