getAllFills method

Future<Paginator<Fill, int>> getAllFills({
  1. String? orderId,
  2. String? productId,
  3. String? profileId,
  4. int? limit,
  5. int? before,
  6. int? after,
})

Get all fills

Get a list of fills. A fill is a partial or complete match on a specific order. must contain either a productId or an orderId

https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getfills

Implementation

Future<Paginator<Fill, int>> getAllFills({
  String? orderId,
  String? productId,
  String? profileId,
  int? limit,
  //TODO determine if int or datetime or dateformat or whatever
  int? before,
  int? after,
}) async {
  var response = await _ordersRestClient.getAllFills(
    orderId: orderId,
    productId: productId,
    profileId: profileId,
    limit: limit,
    before: before,
    after: after,
  );

  if (response.statusCode != 200) throw response;

  return Paginator(
    before: response.headers.containsKey('cb-before')
        ? int.parse(response.headers['cb-before']!)
        : null,
    after: response.headers.containsKey('cb-after')
        ? int.parse(response.headers['cb-after']!)
        : null,
    elements:
        listDecode(response.body).map((fill) => Fill.fromJson(fill)).toList(),
  );
}