getPalletEvents method

List<EventInfo> getPalletEvents(
  1. String palletName
)

Get all events for a pallet

Implementation

List<EventInfo> getPalletEvents(String palletName) {
  final pallet = registry.palletByName(palletName);
  if (pallet?.event == null) return [];

  final eventTypeId = pallet!.event!.type;
  final eventType = registry.typeById(eventTypeId);

  if (eventType.type.typeDef is! TypeDefVariant) {
    return [];
  }

  final variants = (eventType.type.typeDef as TypeDefVariant).variants;

  return variants
      .map(
        (variant) => EventInfo(
          name: variant.name,
          palletName: palletName,
          index: variant.index,
          fields: variant.fields
              .map(
                (f) => FieldInfo(name: f.name, type: f.type, typeName: f.typeName, docs: f.docs),
              )
              .toList(),
          docs: variant.docs,
        ),
      )
      .toList();
}