-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Reproduced in repository here.
The problem seems to be in this code:
function decodeEvent(eventObject, data, topics) {
var useNumberedParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
var nonIndexed = eventObject.inputs.filter(function (input) {
return !input.indexed;
});
var nonIndexedNames = utils.getKeys(nonIndexed, 'name', true);
var nonIndexedTypes = utils.getKeys(nonIndexed, 'type');
var event = decodeParams(nonIndexedNames, nonIndexedTypes, utils.hexOrBuffer(data), useNumberedParams);
var topicOffset = eventObject.anonymous ? 0 : 1;
eventObject.inputs.filter(function (input) {
return input.indexed;
}).map(function (input, i) {
var topic = new Buffer(topics[i + topicOffset].slice(2), 'hex');
var coder = getParamCoder(input.type);
event[input.name] = coder.decode(topic, 0).value;
});
event._eventName = eventObject.name;
return event;
}The event is anonymous, but only has one topic, so nothing is at index 1. I don't fully get how to read this code, so I'm not sure how to fix it.
Metadata
Metadata
Assignees
Labels
No labels