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
The following sed commands were used to port existing call sites to the new interface:
sed -i -e 's/\([a-zA-Z0-9_]\+\)->is_authorized_asset[(] \([a-zA-Z0-9_*]\+\), d [)]/is_authorized_asset( d, *\1, \2 )/' libraries/chain/*.cpp
sed -i -e 's/\([a-zA-Z0-9_]\+\)[.]is_authorized_asset[(] \([a-zA-Z0-9_*]\+\), d [)]/is_authorized_asset( d, \1, \2 )/' libraries/chain/*.cpp
sed -i -e 's/\([a-zA-Z0-9_]\+\)[(]db[)][.]is_authorized_asset[(]\([a-zA-Z0-9_*]\+\)[(]db[)], db[)]/is_authorized_asset( db, \1(db), \2(db) )/' tests/tests/uia_tests.cpp
sed -i -e 's/\([a-zA-Z0-9_]\+\)[.]is_authorized_asset[(]\([a-zA-Z0-9_*]\+\), db[)]/is_authorized_asset( db, \1, \2 )/' tests/tests/uia_tests.cpp
No new functionality is added by this commit, it is simply re-organizing the existing code in a different place.
This is only technically a hardfork, in order to actually desync the chain
the witness account / committee account would need to pass a proposal to do
something in their capacity as the owner of an asset_object. It should be
fairly safe to say that this will not occur on testnet until witnesses have
upgraded.
- when updating account there is no need to sign with the active key if
the owner has signed.
- when updating an account the active key is enough to update the
active key.
- this is a major refactor of the code and may have broken some behavior
in the wallet or witness nodes.
- this commit changes the serialization of operations
- the chain_tests pass
Generated by applying these commands to parent commit:
sed -i -e 's/\([a-z0-9]\+\).push_transaction[(]\([^()]*\)[)]/PUSH_TX( \1, \2 )/' tests/tests/*.cpp
sed -i -e 's/\([a-z0-9]\+\).push_block[(]\([^()]*\)[)]/PUSH_BLOCK( \1, \2 )/' tests/tests/*.cpp