getMultiUtxoInfo method
Implementation
Future<Map<String, List<Utxo>>> getMultiUtxoInfo(
{required List<String> addresses}) async {
int addressLimit = 10;
Map<String, List<Utxo>> addressMap = {};
List<Uri> urlCalls = [];
for (int i = 0; i < addresses.length; i += addressLimit) {
int end = (i + addressLimit < addresses.length)
? i + addressLimit
: addresses.length;
urlCalls.add(api(
'address/utxos', {'addresses': addresses.sublist(i, end).join(',')}));
}
// Await the http get response, then decode the json-formatted response.
try {
for (int i = 0; i < urlCalls.length; i++) {
var response = await client.get(urlCalls[i]);
response.forEach((value) {
List<Utxo> _utxos = List<Utxo>.from(value['utxos'].map((ut) {
return Utxo.fromJson(ut);
}));
addressMap[value['address']] = _utxos;
});
}
return addressMap;
} catch (e) {
throw e;
}
}