decodeTopics method

List<Object> decodeTopics(
  1. Uint8List data,
  2. List<Uint8List> topics
)

Implementation

List<Object> decodeTopics(Uint8List data, List<Uint8List> topics) {
  final result = <Object>[];
  final argTopics = anonymous ? topics : topics.skip(1);
  final bytesBuilder = BytesBuilder(copy: false);
  for (var element in argTopics) {
    bytesBuilder.add(element);
  }
  final bytes = bytesBuilder.takeBytes();
  final indexed = AbiEntry.decodeList(filteredInputs(true), bytes);
  final notIndexed = AbiEntry.decodeList(filteredInputs(false), data);

  for (final input in inputs) {
    result.add(input.indexed ? indexed.removeAt(0) : notIndexed.removeAt(0));
  }
  return result;
}