Build 0023 is available,
please update. This fixes a critical bug that flags payments for DEx purchases in the block immediately following expiry as valid (incorrectly).
If you would like further explanation please see below.
Binary via Github:
DownloadThanks
Zathras
In a Master Protocol distributed exchange transaction the seller decides on a 'payment window' - a length of time (in blocks) for the buyer to make payment after his acceptance has been confirmed in the blockchain. After this payment window, the acceptance expires.
If for example the seller has specified a time limit of 10 blocks, and the buyer accepts the sell offer in block 300000, the buyer then has until block 300010 to make payment.
A bug in the way Masterchest processes expiration allowed these acceptances to remain pending for the block immediately following expiry in certain circumstances, thus potentially allowing a DEx payment to incorrectly be seen as valid if it was exactly one block late.
This bug was discovered via our consensus systems noting that Masterchest had deviated from the reference this morning (Masterchain.info - unaffected). Masterchest softwares (wallet and block explorer) incorrectly validated the purchase accepted in
https://masterchest.info/lookuptx.aspx?txid=0d2f2f864a51938721a17963aa63925da4cd67ab1072d9ae339c3c0073b1308c.
This bug has now been corrected and all Masterchest users are strongly encouraged to update their wallet software.