queryEventsByModule method
Query events emitted by a Move module, e.g. package 0x2, module coin.
Returns the raw event nodes (transactionModule, sender, contents).
Implementation
Future<List<Map<String, dynamic>>> queryEventsByModule(
String packageId,
String module, {
int first = 20,
String? after,
}) async {
const q = r'''
query ($module: String!, $first: Int!, $after: String) {
events(
first: $first
after: $after
filter: { module: $module }
) {
pageInfo { hasNextPage endCursor }
nodes {
transactionModule { name }
sender { address }
contents { type { repr } json }
}
}
}
''';
final data = await transport.query(q, variables: {
'module': '$packageId::$module',
'first': first,
if (after != null) 'after': after,
});
final events = data['events'] as Map<String, dynamic>;
return (events['nodes'] as List).cast<Map<String, dynamic>>();
}