You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
Currently, a rare race-condition exists in Mesh that could cause it to miss some order events for newly added orders. We are currently unable to validate incoming orders at a specific block hash and must instead rely on validating them at a specific block number. Since a re-org could cause differing blocks to have the same block number at different points in time, after a validation completes, we check to ensure that no block re-org occured while it was ongoing.
In the rare event that a block gets re-org'd out before we valid an order, and gets re-org'd back in after we finish our validation, there is still a change that our validation is not performed against the right block.
EIP1898 solves this problem but allowing us to validate orders at a specific block hash. Once it is supported in Parity, Geth, Infura and Alchemy, we should refactor our code to use it. It describes the above double re-org in it's rationale section.
Currently, a rare race-condition exists in Mesh that could cause it to miss some order events for newly added orders. We are currently unable to validate incoming orders at a specific block hash and must instead rely on validating them at a specific block number. Since a re-org could cause differing blocks to have the same block number at different points in time, after a validation completes, we check to ensure that no block re-org occured while it was ongoing.
In the rare event that a block gets re-org'd out before we valid an order, and gets re-org'd back in after we finish our validation, there is still a change that our validation is not performed against the right block.
EIP1898 solves this problem but allowing us to validate orders at a specific block hash. Once it is supported in Parity, Geth, Infura and Alchemy, we should refactor our code to use it. It describes the above double re-org in it's rationale section.
Current status of EIP1898
The text was updated successfully, but these errors were encountered: