listTransfers method
Implementation
Future<List<TransferDoc>> listTransfers({
required String operator,
String? accountId,
String? contextId,
int? maxTxId,
int minTxId = 0,
int limit = 10,
bool includeChildAccounts = false,
}) async {
final filterCount =
(accountId == null ? 0 : 1) + (contextId == null ? 0 : 1);
if (filterCount != 1) {
throw ArgumentError('Invalid filter');
}
final request = ListTransferRequest()
..minTxId = Int64(minTxId)
..limit = Int64(limit)
..includeChildAccounts = includeChildAccounts;
if (accountId != null) {
request.accountId = hex.decode(accountId);
}
if (contextId != null) {
request.contextId = hex.decode(contextId);
}
if (maxTxId != null) {
request.maxTxId = Int64(maxTxId);
}
final envelop = await requestEnvelope(request: request);
final response =
await getServiceClient(operator).query.listTransfers(envelop);
return response.transfers
.map((transfer) => TransferDoc(transfer, operator))
.toList();
}