0x-mesh
0x-mesh copied to clipboard
core: Validation of new orders occurring at `latest` block
Currently, Mesh validates incoming orders at the latest
block height. Since eth_call
's can take some time to complete, it is possible that Mesh has already processed higher block number before the order was inserted to the DB. This could lead to events being missed and the fillableTakerAmount stored in the DB being incorrect.
The solution is to block the processing of new block events while validating incoming orders and to validate them at the latest block processed by the Mesh node. We then add it to Mesh before unblocking the block event processing.
Addressed in #566
After #793, this became an issue again. Rather than reverting to the old solution of using a database lock, a new solution will be implemented in #863.