[bitshares/bitshares-core] Synchronize develp branch (#1055)

You can view, comment on, or merge this pull request online at:

https://github.com/bitshares/bitshares-core/pull/1055

— Commit Summary —

* Refactor and fix new limit order matching. #625
* Minor tweak for fill_order(call_order_object)
* Change hard fork to occur at maintenance interval
* Update black swan event detection for #338
* Fix typo
* Skip checking call orders on manually cancel #606
* Skip checking calls on limit order expiration #606
* Rename fill_order funtions to indicate order types
* Remove unnecessary template match() funtion
* Test case for #338 #343 #453 #606 #625 #649 fixes
* Remove unused CORE_338.hf file
* Update tests for hard fork on maintenance interval
* Re-add CORE_338.hf
* Add cross-hardfork tests #338 #343 #453 #606 #649
* Update tests for global settlement price
* Add tests for multiple assets crossing hardfork
* Update comments, remove code that is commented out
* Apply_order(): also match calls with CR == MCR.
* Remove cull_small_test for easier merging
* Update tests about matching calls with CR == MCR
* Recover check_call_order_cull_small_test
* Avoid dereferencing invalidated iterator after hf
* Update test case about something for nothing #184
* Handle something for nothing issue. #184
* Allow nothing for something for prediction market
* Remove warning messages and add todo
* Tests something-for-nothing and cull_small issue
* Handle something for nothing when call match limit
* Update settle order’s something for nothing logic
* Something for nothing: settle against global fund
* Operator to multiply asset by price then round up
* Better rounding when matching 2 limit orders #342
* Better rounding when matching limit:call #342
* Better rounding when matching call:limit #342
* Fix typo, remove unused variables
* Better rounding when globally settling #342
* Add core-342 hard fork definition file
* Better rounding: settling against global fund #342
* Better rounding when matching settle:call #342
* Logging tweak
* Tests something for nothing after hardfork #184
* Tests limit:call something-for-nothing after hf
* Test case for (asset * price) and (asset ^ price)
* Adapt black swan test to new rounding rules #342
* initial bsip35
* Merge pull request #828 from bitshares/develop
* Merge pull request #827 from bitshares/672-bsip30-call-update
* Minor code tweak
* add update_feed_producers test
* Add big limit order test case after hard fork #625
* Minor logging format tweak
* Merge bsip31-34 changes
* BSIP38: add target_CR option to call order #834
* BSIP38: update limit:call matching logic #834
* BSIP38: update call:limit matching logic #834
* BSIP38: add CLI command borrow_asset_ext #834
* BSIP38: update rounding when calculating maximums
* Fix #214
* Added unit test for issue #214
* Add explanation to test
* Fixed hf description comment
* Add FC_ASSERT and change some assert to FC_ASSERT
* Merge pull request #841 from pmconrad/214_proposal_update_auths
* BSIP38 tests: add target_CR to database fixture
* BSIP38: adjust maximums calculation, add comments
* BSIP38 tests: object, validation, hardfork time
* Merge pull request #829 from bitshares/201805-market-engine-change1
* Merge more bsip31-34 changes
* Fix typo in comment
* Add todo to remove warning message after hardfork
* Move HF 625 check in check_call_orders to the top
* Change assert() in asset_object.hpp to FC_ASSERT()
* BSIP38 tests: add random tests
* BSIP38: handle rounding when calculating maximums
* Add random tests for asset multiplies price
* BSIP38 tests: update to hit more edge cases
* BSIP38 tests: move test case to new file, refactor
* BSIP38: update algorithm when calculating maximums
* Code refactory asset::multiply_and_round_up(price)
* Update comments
* Merge bsip35 changes into bsip38 branch
* Use asset::multiply_and_round_up() in BSIP38
* BSIP38 tests: fewer iterations in call_order_tests
* Revised HF protection for #214 with additional test scenario
* add settle bsip35 tests
* change account_id_type(19) to paul_id
* fix last change to paul_id should be alice_id
* replace nullptr in call checks after global settle
* change all auto calls to reference const objects
* Merge pull request #856 from bitshares/oxarbitrage-patch-2
* test cases F variation
* Merge pull request #860 from bitshares/oxarbitrage-patch-3
* BSIP35 tests: sleep after generated block
* Fix bsip35 settle zero amount tests
* Merge pull request #857 from pmconrad/214_proposal_update_auths
* Minor code cleanup about market tests
* Move settle tests to new file
* Merge some tests about force settlement
* Update global settlement tests for rounding issue
* Move market rounding tests to a new file
* Move limit order tests to rounding tests file
* Update comments
* BSIP35 test cases: matching 2 limit orders
* Remove unused variables in rounding test cases
* BSIP35 tests: matching limit(taker):call(maker)
* Minor tweak on bsip35 rounding test cases
* BSIP35 tests: matching call(taker):limit(maker)
* Update settle tests with more rounding scenario
* Settle tests in operation_test2: add bsip35 tests
* BSIP35: fix price calculation for settle:call
* Fix compiler warnings (unused variables)
* BSIP35 tests about maximum_force_settlement_volume
* Remove potential logging spam
* Update comments and dup vars according to review
* BSIP35 tests: cover C-1 and cull-settle
* Merge bsip35 changes into bsip38 branch
* BSIP38: update extensions type; add proposal test
* BSIP38: get_max… in call_obj returns debt only
* Added test case for missing rollback of operation_history ids in plugins
* Fixed #585
* Optimization
* Merge pull request #875 from bitshares/585-hotfix
* Add ilog about hard fork time for future cleanup
* Merge pull request #830 from bitshares/bsip35-order-rounding
* Merge hardfork branch into bsip38 branch
* BSIP38 tests: proposal test after hard fork
* change bsip code to only affect smartcoins
* Initial fix for Issue 868. More work needed.
* small changes to clarify intent
* setting settlement price to «0», needs test
* reset feed prices, added test for non-witness
* get asset_id from first feed instead of index tag
* Added test for witness fed asset
* fix performance and some errors
* change hardfork structure
* Fix witness_node build
* move code of bsip to new function
* BSIP35 tests: force settle multiple asset types
* BSIP38 tests: add extreme case: mcr 1002 mssr 1001
* BSIP38 tests: add order matching and filling test
* add asset_id to bitasset object
* Merge pull request #883 from bitshares/bsip35-patch1
* change coding style
* Added hardfork checks
* Fix BSIP38 test case about hard fork time check
* Revert asset_evaluator changes and adjust test to match
* set should_update_feeds on backing_asset change
* added cleanup at hardfork
* Merge pull request #838 from bitshares/bsip38-call-target-cr
* typo fix
* change overflow test
* Update median feeds at hardfork if something changed
* Include test case for when backing asset changes feed type
* Merge remote branch ‘oxarbitrage/bsip36_2’ into oxarbitrage-bsip36_2
* Merge branch ‘oxarbitrage-bsip36_2’ into bsip36
* BSIP36 code refactory
* Remove blank lines
* Revert call to check_call_orders in asset_evaluator
* Changed reference to a copy
* Use bitasset_data.current_feed.settlement_price
* Bump DB version due to object structure change
* Using to_update_and_match_call_orders to determine if call is necessary
* BSIP36 code refactory: move lambda out of loop
* better description of boolean, using correct settlement price
* Merge pull request #889 from bitshares/bsip36
* Only capture necessary variables for lambda
* Moved checks inside lambda
* Moved new publish_feed to database_fixture
* Only call check_call_orders if feeds were changed
* fixing conflict with hardfork branch
* Merge branch ‘jmjatlanta-Issue_868’ into Issue_868
* Add asset_to_update as class member variable
* Call update_median_feeds and check_call_orders when bitasset changes
* Clarified comments
* fix long lines, brackets, use local variable instead of method call
* pulled check_call_orders from inside lambda
* fixed merge conflict
* make better use of next_maint_time
* small logic improvement
* fix bracket
* Merge pull request #882 from jmjatlanta/Issue_868
* Merge pull request #893 from bitshares/develop
* Merge pull request #900 from bitshares/868-change-back-asset
* Merge pull request #901 from jmjatlanta/Issue_890b
* Updated coding style, comments and a variable name
* Fix variable name change
* Update median feed at hard fork time for #890
* Test case for #890 feed lifetime changing issue
* Updated coding style, comments and logging
* Merge pull request #904 from bitshares/890-change-feed-lifetime
* Merge pull request #906 from bitshares/hardfork
* add needed random header to test
* Fix test for testnet
* Merge pull request #926 from bitshares/jmj_issue_913
* Add checks when updating an asseet’s backing asset id
* Add checks when updating an asseet’s backing asset id
* Merge branch ‘jmj_issue_922’ of ssh://github.com/bitshares/bitshares-core into jmj_issue_922
* Fixes for 922 and 931
* Add missing hard fork definition file
* Update coding style
* Fix hf logic about bitasset update; add logging
* Update test cases
* Correct messages in test cases
* Cleaned up redundant code in tests
* Added logic to prevent changing backing asset that is not core
* Cleanup of changes to bitasset_evaluator::do_evaluate
* Merge pull request #914 from bitshares/oxarbitrage-patch-1
* Include logic for A backed by B backed by A
* A backed by B backed by C, change A
* Moved logic out of check_children_of_bitasset
* Fix withdraw_permission_claim ‘from’ check #942
* Update issue description in CORE_942.hf
* Test for MPA -> MPA -> MPA
* Tests withdraw_permission_claim ‘from’ check #942
* Merge pull request #951 from bitshares/942-fix-withdraw-claim
* add fee payer to all ops in db_notify and impacted
* Removed unnecessary if statement, fixed older tests for new rules
* readd new_issuer to asset_update_issuer_operation
* Merge pull request #955 from oxarbitrage/issue776_2
* Merge pull request #932 from bitshares/jmj_issue_922
* Merge pull request #963 from bitshares/develop
* update_bitasset: check current_feed changes #935
* db_maint: call check_call_orders at hf time #935
* Logging when incorrectly skipped check_call_orders
* Update logging
* Tests check_call_orders when only MCR changed #935
* Update comments in test case
* Add todo for failing test case
* Add MSSR test cases #935
* Remove failing MCR test case
* MPA -> MPA -> CORE is valid
* fix options.short_backing_asset
* changed from const asset_id_type& to asset_id_type
* Merge pull request #971 from bitshares/jmj_issue_922b
* Update comments in test cases
* Merge pull request #965 from bitshares/935-fix1
* Fix test cases: if hf 343 and 890 at same time
* Fix unsigned integer underflow in test case
* Merge pull request #976 from bitshares/fix-935-test-case
* Fix init asset_id field for bitassets from genesis
* Test case for genesis asset_id mismatch issue
* Merge pull request #981 from bitshares/980-fix-genesis-bitasset
* Modified Dockerfile to work with new docker cloud version
* update baseimage
* Merge pull request #1029 from oxarbitrage/docker-fix
* Skip temp-account balance check #1040
* Added unit test for TEMP_ACCOUNT fix
* Merge pull request #1041 from bitshares/1040-temp-account-balance
* Set MAINNET hard fork time to 2018-07-19T14:02:00Z
* Merge pull request #1042 from bitshares/update-hf-date

— File Changes —

M Dockerfile (10)
M README-docker.md (2)
M libraries/app/impacted.cpp (176)
M libraries/chain/CMakeLists.txt (1)
M libraries/chain/asset_evaluator.cpp (538)
M libraries/chain/asset_object.cpp (9)
M libraries/chain/db_block.cpp (11)
M libraries/chain/db_init.cpp (8)
M libraries/chain/db_maint.cpp (254)
M libraries/chain/db_market.cpp (637)
M libraries/chain/db_notify.cpp (176)
M libraries/chain/db_update.cpp (152)
A libraries/chain/hardfork.d/CORE_1040.hf (4)
A libraries/chain/hardfork.d/CORE_184.hf (4)
A libraries/chain/hardfork.d/CORE_188.hf (4)
A libraries/chain/hardfork.d/CORE_199.hf (4)
A libraries/chain/hardfork.d/CORE_214.hf (4)
A libraries/chain/hardfork.d/CORE_338.hf (4)
A libraries/chain/hardfork.d/CORE_342.hf (5)
A libraries/chain/hardfork.d/CORE_343.hf (5)
A libraries/chain/hardfork.d/CORE_453.hf (4)
A libraries/chain/hardfork.d/CORE_518.hf (4)
A libraries/chain/hardfork.d/CORE_583.hf (4)
A libraries/chain/hardfork.d/CORE_588.hf (4)
A libraries/chain/hardfork.d/CORE_604.hf (5)
A libraries/chain/hardfork.d/CORE_606.hf (4)
A libraries/chain/hardfork.d/CORE_620.hf (4)
A libraries/chain/hardfork.d/CORE_625.hf (4)
A libraries/chain/hardfork.d/CORE_834.hf (4)
A libraries/chain/hardfork.d/CORE_868_890.hf (5)
A libraries/chain/hardfork.d/CORE_922_931.hf (5)
A libraries/chain/hardfork.d/CORE_935.hf (4)
A libraries/chain/hardfork.d/CORE_942.hf (5)
M libraries/chain/include/graphene/chain/asset_evaluator.hpp (24)
M libraries/chain/include/graphene/chain/asset_object.hpp (11)
M libraries/chain/include/graphene/chain/config.hpp (2)
M libraries/chain/include/graphene/chain/database.hpp (30)
M libraries/chain/include/graphene/chain/evaluator.hpp (2)
M libraries/chain/include/graphene/chain/market_evaluator.hpp (5)
M libraries/chain/include/graphene/chain/market_object.hpp (19)
M libraries/chain/include/graphene/chain/proposal_evaluator.hpp (4)
M libraries/chain/include/graphene/chain/protocol/asset.hpp (6)
M libraries/chain/include/graphene/chain/protocol/asset_ops.hpp (71)
M libraries/chain/include/graphene/chain/protocol/fee_schedule.hpp (30)
M libraries/chain/include/graphene/chain/protocol/market.hpp (19)
M libraries/chain/include/graphene/chain/protocol/operations.hpp (4)
M libraries/chain/market_evaluator.cpp (123)
A libraries/chain/market_object.cpp (266)
M libraries/chain/proposal_evaluator.cpp (111)
M libraries/chain/proposal_object.cpp (3)
M libraries/chain/protocol/asset.cpp (20)
M libraries/chain/protocol/asset_ops.cpp (28)
M libraries/chain/protocol/market.cpp (3)
M libraries/chain/protocol/proposal.cpp (3)
M libraries/chain/withdraw_permission_evaluator.cpp (27)
M libraries/wallet/include/graphene/wallet/wallet.hpp (55)
M libraries/wallet/wallet.cpp (97)
M tests/CMakeLists.txt (6)
M tests/common/database_fixture.cpp (107)
M tests/common/database_fixture.hpp (84)
M tests/tests/authority_tests.cpp (82)
M tests/tests/basic_tests.cpp (102)
A tests/tests/bitasset_tests.cpp (1283)
M tests/tests/block_tests.cpp (45)
A tests/tests/call_order_tests.cpp (348)
M tests/tests/database_tests.cpp (12)
M tests/tests/fee_tests.cpp (2705)
A tests/tests/market_rounding_tests.cpp (1508)
M tests/tests/market_tests.cpp (1409)
M tests/tests/operation_tests.cpp (716)
M tests/tests/operation_tests2.cpp (201)
A tests/tests/settle_tests.cpp (1503)
A tests/tests/smartcoin_tests.cpp (640)
M tests/tests/uia_tests.cpp (78)

— Patch Links —

https://github.com/bitshares/bitshares-core/pull/1055.patch
https://github.com/bitshares/bitshares-core/pull/1055.diff

Добавить комментарий