code: def _get_all_filtered_channels(self, topics_without_signature):
          
          mpe_address     = self.get_mpe_address()
          event_signature = self.ident.w3.sha3(text="ChannelOpen(uint256,uint256,address,address,address,bytes32,uint256,uint256)").hex()
          topics = [event_signature] + topics_without_signature
          logs = self.ident.w3.eth.getLogs({"fromBlock" : self.args.from_block, "address"   : mpe_address, "topics"    : topics})
          abi           = get_contract_def("MultiPartyEscrow")
          event_abi     = abi_get_element_by_name(abi, "ChannelOpen")
          channels_ids  = [get_event_data(event_abi, l)["args"]["channelId"] for l in logs]
          return channels_ids
docs: get all filtered chanels from blockchain logs