Add a test that reproduce something-for-nothing fill bug #345
+46
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added a test that reproduces something-for-nothing fill bug #184 after hardfork555.
To put it briefly, following process reproduces the bug.
It's because
maybe_cull_small_order()
logic is deferred for a taker order. Even whenamount_for_receive()
become 0 for the taker, the order might be matched with other orders in caseamount_for_sale()
isn't 0.(https://github.com/bitshares/bitshares-core/blob/master/libraries/chain/db_market.cpp#L182-L203 )
As discussed in related issues, this should be fixed carefully.