code: def process_agreement_events_publisher(publisher_account, agreement_id, did, service_agreement,
                                         price, consumer_address, condition_ids):
      
      conditions_dict = service_agreement.condition_by_name
      events_manager = EventsManager.get_instance(Keeper.get_instance())
      events_manager.watch_lock_reward_event(
          agreement_id,
          access_secret_store_condition.fulfillAccessSecretStoreCondition,
          None,
          (agreement_id, did, service_agreement,
           consumer_address, publisher_account),
          conditions_dict['lockReward'].timeout
      )
  
      events_manager.watch_access_event(
          agreement_id,
          escrow_reward_condition.fulfillEscrowRewardCondition,
          None,
          (agreement_id, service_agreement,
           price, consumer_address, publisher_account, condition_ids),
          conditions_dict['accessSecretStore'].timeout
      )
  
      events_manager.watch_reward_event(
          agreement_id,
          verify_reward_condition.verifyRewardTokens,
          None,
          (agreement_id, did, service_agreement,
           price, consumer_address, publisher_account),
          conditions_dict['escrowReward'].timeout
      )
docs: Process the agreement events during the register of the service agreement for the publisher side
  
      :param publisher_account: Account instance of the publisher
      :param agreement_id: id of the agreement, hex str
      :param did: DID, str
      :param service_agreement: ServiceAgreement instance
      :param price: Asset price, int
      :param consumer_address: ethereum account address of consumer, hex str
      :param condition_ids: is a list of bytes32 content-addressed Condition IDs, bytes32
      :return: