def _detect(self):
        """
        Detect un-indexed ERC20 event parameters in all contracts.
        """
        results = []
        for c in self.contracts:
            unindexed_params = self.detect_erc20_unindexed_event_params(c)
            if unindexed_params:
                info = "{} ({}) does not mark important ERC20 parameters as 'indexed':\n"
                info = info.format(c.name, c.source_mapping_str)
                for (event, parameter) in unindexed_params:
                    info += "\t-{} ({}) does not index parameter '{}'\n".format(event.name, event.source_mapping_str, parameter.name)

                # Add the events to the JSON (note: we do not add the params/vars as they have no source mapping).
                json = self.generate_json_result(info)
                self.add_functions_to_json([event for event, _ in unindexed_params], json)
                results.append(json)

        return results
Detect un-indexed ERC20 event parameters in all contracts.