ensure transactions are returned in the order they're requested

This commit is contained in:
Jack Robison 2020-11-24 11:34:37 -05:00
parent 16c2e5a585
commit af1d7813e9
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2

View file

@ -518,15 +518,15 @@ class LevelDB:
txs = await asyncio.get_event_loop().run_in_executor(
self.executor, self._fs_transactions, txids
)
unsorted_result = {}
async def add_result(item):
_txid, _tx, _tx_num, _tx_height = item
result[_txid] = (_tx, await self.tx_merkle(_tx_num, _tx_height))
unsorted_result[_txid] = (_tx, await self.tx_merkle(_tx_num, _tx_height))
result = {}
if txs:
await asyncio.gather(*map(add_result, txs))
return result
return {txid: unsorted_result[txid] for txid, _, _, _ in txs}
async def fs_block_hashes(self, height, count):
if height + count > len(self.headers):