#include #include namespace graphene { namespace chain { void offer_item_index::object_loaded(const object &obj) { object_created(obj); } void offer_item_index::object_created(const object &obj) { assert(dynamic_cast(&obj)); const offer_object &oo = static_cast(obj); if (!oo.buying_item) { for (const auto &id : oo.item_ids) { _locked_items.emplace(id); } } } void offer_item_index::object_modified(const object &after) { assert(dynamic_cast(&after)); const offer_object &oo = static_cast(after); if (oo.buying_item && oo.bidder) { for (const auto &id : oo.item_ids) { _locked_items.emplace(id); } } } void offer_item_index::object_removed(const object &obj) { assert(dynamic_cast(&obj)); const offer_object &oo = static_cast(obj); if (!oo.buying_item || oo.bidder) { for (const auto &id : oo.item_ids) { _locked_items.erase(id); } } } } // namespace chain } // namespace graphene