Skip to content

Multiple limit order and call order matching issue #453

@abitmore

Description

@abitmore

This issue has been described in #338, but it deserves a new ticket.

There is a bug when matching multiple limit orders with multiple call orders when there is a settlement price change.

https://github.com/bitshares/bitshares-core/blob/2.0.170710/libraries/chain/db_market.cpp#L464:

bool filled_limit = false;

should be defined inside the loop, because check_call_orders is not only be called when a new limit_order is created, but will also be called when there is a price feed change, in this case there may be multiple limit_order objects as well as multiple call_order objects be processed. This has happened in the live chain for around 200 times, fixing this would require a hard fork.

Some code in PR #341 is related to this issue.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions