function decodeEvent(eventObject, data, topics, useNumberedParams = true) {
  const nonIndexed = eventObject.inputs.filter((input) => !input.indexed)
  const nonIndexedNames = utils.getKeys(nonIndexed, 'name', true);
  const nonIndexedTypes = utils.getKeys(nonIndexed, 'type');
  const event = decodeParams(nonIndexedNames, nonIndexedTypes, utils.hexOrBuffer(data), useNumberedParams);
  const topicOffset = eventObject.anonymous ? 0 : 1;

  eventObject.inputs.filter((input) => input.indexed).map((input, i) => {
    const topic = new Buffer(topics[i + topicOffset].slice(2), 'hex');
    const coder = getParamCoder(input.type);
    event[input.name] = coder.decode(topic, 0).value;
  });

  event._eventName = eventObject.name;

  return event;
}
function decodeEvent(eventObject, data, topics, useNumberedParams = true) {
  const nonIndexed = eventObject.inputs.filter((input) => !input.indexed)
  const nonIndexedNames = utils.getKeys(nonIndexed, 'name', true);
  const nonIndexedTypes = utils.getKeys(nonIndexed, 'type');
  const event = decodeParams(nonIndexedNames, nonIndexedTypes, utils.hexOrBuffer(data), useNumberedParams);
  const topicOffset = eventObject.anonymous ? 0 : 1;

  eventObject.inputs.filter((input) => input.indexed).map((input, i) => {
    const topic = new Buffer(topics[i + topicOffset].slice(2), 'hex');
    const coder = getParamCoder(input.type);
    event[input.name] = coder.decode(topic, 0).value;
  });

  event._eventName = eventObject.name;

  return event;
}
function decodeEvent ( eventObject , data , topics , useNumberedParams = true ) { const nonIndexed = eventObject . inputs . filter ( ( input ) => ! input . indexed ) const nonIndexedNames = utils . getKeys ( nonIndexed , 'name' , true ) ; const nonIndexedTypes = utils . getKeys ( nonIndexed , 'type' ) ; const event = decodeParams ( nonIndexedNames , nonIndexedTypes , utils . hexOrBuffer ( data ) , useNumberedParams ) ; const topicOffset = eventObject . anonymous ? 0 : 1 ; eventObject . inputs . filter ( ( input ) => input . indexed ) . map ( ( input , i ) => { const topic = new Buffer ( topics [ i + topicOffset ] . slice ( 2 ) , 'hex' ) ; const coder = getParamCoder ( input . type ) ; event [ input . name ] = coder . decode ( topic , 0 ) . value ; } ) ; event . _eventName = eventObject . name ; return event ; }
decode method data bytecode, from method ABI object
decode method data bytecode from method ABI object