getAllPools method

Future<PaginatedPoolSummary> getAllPools({
  1. String? cursor,
  2. int? limit,
  3. bool descendingOrder = false,
})

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)
  );
	}