code: def event_id(name, encode_types):
      
  
      event_types = [
          _canonical_type(type_)
          for type_ in encode_types
      ]
  
      event_signature = '{event_name}({canonical_types})'.format(
          event_name=name,
          canonical_types=','.join(event_types),
      )
  
      return big_endian_to_int(utils.sha3(event_signature))
docs: Return the event id.
  
      Defined as:
  
          `keccak(EVENT_NAME+"("+EVENT_ARGS.map(canonical_type_of).join(",")+")")`
  
      Where `canonical_type_of` is a function that simply returns the canonical
      type of a given argument, e.g. for uint indexed foo, it would return
      uint256). Note the lack of spaces.