async decode tx_json

pull/2/head
fuwa 4 years ago
parent 905ea67b51
commit 0f1ce0e00a

@ -82,9 +82,9 @@ Future<List<dynamic>> getTransactionPoolSimple() async {
return [];
}
else {
return result.map
return Stream.fromIterable(result).asyncMap
(
(x) {
(x) async {
const _remove =
[
'tx_blob',
@ -103,14 +103,20 @@ Future<List<dynamic>> getTransactionPoolSimple() async {
// 'blob_size',
];
final _tx = Map.fromIterable
final _filteredTx = x..removeWhere
(
x.keys.where
(
(k) => !_remove.contains(k)
),
value: (k) => x[k],
).map
(k,v) => _remove.contains(k)
);
final String _tx_json = _filteredTx['tx_json'];
final _tx_json_decoded = await compute(jsonDecode, _tx_json);
final _decodedTx = {
..._filteredTx,
...{'tx_decoded': _tx_json_decoded},
};
final _tx = _filteredTx.map
(
(k, v) {
if (k == 'id_hash') {
@ -136,12 +142,11 @@ Future<List<dynamic>> getTransactionPoolSimple() async {
return MapEntry('time', _dateFormat.format(_dateTime));
}
else if (k == 'tx_json') {
final _tx = json.decode(v);
else if (k == 'tx_json_decoded') {
final _out =
{
'vin': _tx['vin'].length,
'vout': _tx['vout'].length,
'vin': v['vin'].length,
'vout': v['vout'].length,
};
final _outString = _out['vin'].toString() + '/' + _out['vout'].toString();
return MapEntry('in/out', _outString);