everx-labs/flex

Out_of_gas exception in case of big order queues

Opened this issue · 0 comments

Before executing the order, Price contract searches for the most recent active order to process, filtering out all inactive orders.
It does this by traversing the order queue here:
https://github.com/tonlabs/flex/blob/3aaa20eb73e7498d08d39191d693f1efa7d016eb/flex/Price.cpp#L84

The loop is not bounded by any means, and, in case of big queues, such processing may lead to out_of_gas exception.
From this point, the Price contract will no longer be able to process orders.