1. Replace ordered_non_unique indexes with composite keys / ordered_unique, using object_id as tiebreaker.
2. Make some casts more explicit.
This commit was rebased by theoreticalbts due to conflicts with the patches for #466#562 including bugfixes
- Fix flipped comparison operator
- Implement operator> and operator!= for object_id_type
Fix#362 by replacing non-deterministic hashed indexes with ordered
indexes
Remove HARDFORK check for witness ordering because this #362 will
require a test net reset to effeciently implment.
Changed the order in wich process_fees iterates accounts to be "by_name"
rather than "by_id" so that we retain the ability to switch back to
hashed indexes in the future.
This change was overly pestimistic and assumes all indexes may be
traversed as part of consensus. We want to reserve the ability to
change some of the indices back to hashed indicies in the future after a
through audit reveals that they are never iterated over in order.
- remove circular dependency with fee_schedule
- unitiy build db_* as database.cpp
- move protocol definitions in separate directory
- combined some objects/evaluators
- combined limit/call evaluator/objects into market_evaluator.*
This logic was previously located in limit_order_create_evaluator, but
other code may need it in the future, so it should be made available at
the database level.