getAllPools method
Returns paginated list of pools created in DeepBook by querying for the PoolCreated event.
Warning: this method can return incomplete results if the upstream data source is pruned.
Implementation
Future<PaginatedPoolSummary> getAllPools({
String? cursor,
int? limit,
bool descendingOrder = false
}) async {
final resp = await suiClient.queryEvents(
{ "MoveEventType": "$PACKAGE_ID::$MODULE_CLOB::PoolCreated" },
cursor: cursor,
limit: limit,
descendingOrder: descendingOrder
);
final pools = resp.data.map((event) {
final rawEvent = event.parsedJson;
return PoolSummary(
rawEvent?["pool_id"] ?? "",
normalizeStructTagString(rawEvent?["base_asset"]["name"]),
normalizeStructTagString(rawEvent?["quote_asset"]["name"])
);
}).toList();
return PaginatedPoolSummary(
pools,
resp.hasNextPage,
EventId.fromJson(resp.nextCursor)
);
}