Commit graph

1955 commits

Author SHA1 Message Date
sierra19XX
6514f8fadd
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update

* ppy marketplace 1 - add evaluators and objects

* NFT object and basic operations

* ci: update .gitlab-ci.yml

* ci: update .gitlab-ci.yml

* NFT evaluators and basic tests, no evaluator checks

* Evaluator checks in place

* ppy marketplace 2 - batch sale, offer_object escrow

* Database API

* Wallet API

* NFT metadata implemented

* Fix NFT tests

* Database API for NFT metadata and enumerables

* ppy marketplace 4 - Add tests NFT+Marketplace

* ppy marketplace 5 - Add revenue split

* ppy marketplace 6 - Remove unnecessary files

* ppy marketplace 7 - Add db, wallet changes and some NFT fixes

* ppy marketplace 8 - Add pagination for list APIs

* ci: update .gitlab-ci.yml

* New DB API, list all NFTs, list NFTs by owner

* Marketplace + NFT + RBAC (#368)

* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths

Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>

* Fix nft_get_token_uri returning empty string

* Fix nft_mint_evaluator to save token_uri

* Fix cli_wallet to properly pass metadata id for nft_create

* ppy marketplace 9 - FC_REFLECT offer create op

* Add stricter checks to NFTs

* GPOS2 HF - Handle rolling period on missing blocks (#369)

* Mainnet chain halt 5050 Issue (#370)

* Unlisting offers, add result in offer history object

* Reverting genesis.json wrong commit

* Add non-transferable non-sellable properties to NFTs

* Review comments - change variable names, use scoped enums

* nft_metadata_update changes

* NFT HF checks and op fee addition changes

* NFT make revenue_split integer from double

* revenue_split condition check allow zero or above

* Peerplays Marketplace + NFT (#367)

* ppy marketplace 1 - add evaluators and objects

* NFT object and basic operations

* ci: update .gitlab-ci.yml

* ci: update .gitlab-ci.yml

* NFT evaluators and basic tests, no evaluator checks

* Evaluator checks in place

* ppy marketplace 2 - batch sale, offer_object escrow

* Database API

* Wallet API

* NFT metadata implemented

* Fix NFT tests

* Database API for NFT metadata and enumerables

* ppy marketplace 4 - Add tests NFT+Marketplace

* ppy marketplace 5 - Add revenue split

* ppy marketplace 6 - Remove unnecessary files

* ppy marketplace 7 - Add db, wallet changes and some NFT fixes

* ppy marketplace 8 - Add pagination for list APIs

* New DB API, list all NFTs, list NFTs by owner

* Marketplace + NFT + RBAC (#368)

* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths

Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>

* Fix nft_get_token_uri returning empty string

* Fix nft_mint_evaluator to save token_uri

* Fix cli_wallet to properly pass metadata id for nft_create

* ppy marketplace 9 - FC_REFLECT offer create op

* Add stricter checks to NFTs

* Unlisting offers, add result in offer history object

* Reverting genesis.json wrong commit

* Add non-transferable non-sellable properties to NFTs

* Review comments - change variable names, use scoped enums

* nft_metadata_update changes

* NFT HF checks and op fee addition changes

* NFT make revenue_split integer from double

* revenue_split condition check allow zero or above

Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>

* Beatrice NFT HF

Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-11 01:42:59 +10:00
sierra19XX
e69d35dc82
Chain crash/corruption due to bad check (#363)
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
2020-05-08 13:58:23 -03:00
pbattu123
be14592ea8
Merge Plugins and graphene update changes from beatrice TESTNET to master (#317)
* increase delay for node connection

* remove cache from cli get_account

* add cli tests framework

* Adjust newly merged code to new API

* Merged changes from Bitshares PR 1036

* GRPH-76 - Short-cut long sequences of missed blocks

Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)

* Improved resilience of block database against corruption

* Moved reindex logic into database / chain_database, make use of additional blocks in block_database

Fixed tests wrt db.open

* Enable undo + fork database for final blocks in a replay

Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests

* Log starting block number of replay

* Prevent unsigned integer underflow

* Fixed lock detection

* Dont leave _data_dir empty if db is locked

* Writing the object_database is now almost atomic

* Improved consistency check for block_log

* Cut back block_log index file if inconsistent

* Fixed undo_database

* Added test case for broken merge on empty undo_db

* exclude second undo_db.enable() call in some cases

* Add missing change

* change bitshares to core in message

* Merge pull request #938 from bitshares/fix-block-storing

Store correct block ID when switching forks

* Fixed integer overflow issue

* Fix for for history ID mismatch ( Bitshares PR #875 )

* Update the FC submodule with the changes for GRPH-4

* Merged Bitshares PR #1462 and compilation fixes

* Support/gitlab (#123)

* Updated gitlab process

* Fix undefined references in cli test

* Updated GitLab CI

* Fix #436 object_database created outside of witness data directory

* supplement more comments on database::_opened variable

* prevent segfault when destructing application obj

* Fixed test failures and compilation issue

* minor performance improvement

* Added comment

* Fix compilation in debug mode

* Fixed duplicate ops returned from get_account_history

* Fixed account_history_pagination test

* Removed unrelated comment

* Update to fixed version of fc

* Skip auth check when pushing self-generated blocks

* Extract public keys before pushing a transaction

* Dereference chain_database shared_ptr

* Updated transaction::signees to mutable

and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing

* Added get_asset_count API

* No longer extract public keys before pushing a trx

and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct

* changes to withdraw_vesting feature(for both cdd and GPOS)

* Comments update

* update to GPOS hardfork ref

* Remove leftover comment from merge

* fix for get_vesting_balance API call

* braces update

* Allow sufficient space for new undo_session

* Throw for deep nesting

* node.cpp: Check the attacker/buggy client before updating items ids

The peer is an attacker or buggy, which means the item_hashes_received is
not correct.

Move the check before updating items ids to save some time in this case.

* Create .gitlab-ci.yml

* Added cli_test to CI

* fixing build errors (#150)

* fixing build errors

vest type correction

* fixing build errors

vest type correction

* fixes 

new Dockerfile

* vesting_balance_type correction

vesting_balance_type changed to normal

* gcc5 support to Dockerfile

gcc5 support to Dockerfile

* use random port numbers in app_test (#154)

* Changes to compiple with GCC 7(Ubuntu 18.04)

* proposal fail_reason bug fixed (#157)

* Added Sonarcloud code_quality to CI (#159)

* Added sonarcloud analysis (#158)

* changes to have separate methods and single withdrawl fee for multiple vest objects

* 163-fix, Return only non-zero vesting balances

* Support/gitlab develop (#168)

* Added code_quality to CI

* Update .gitlab-ci.yml

* Point to PBSA/peerplays-fc commit f13d063 (#167)

* [GRPH-3] Additional cli tests (#155)

* Additional cli tests

* Compatible with latest fc changes

* Fixed Spacing issues

* [GRPH-106] Added voting tests (#136)

* Added more voting tests

* Added additional option

* Adjust p2p log level (#180)

* Added submodule sync to peerplays compile process

* merge gpos to develop (#186)

* issue - 154: Don't allow to vote when vesting balance is 0

* changes to withdraw_vesting feature(for both cdd and GPOS)

* Comments update

* update to GPOS hardfork ref

* fix for get_vesting_balance API call

* braces update

* Create .gitlab-ci.yml

* fixing build errors (#150)

* fixing build errors

vest type correction

* fixing build errors

vest type correction

* fixes 

new Dockerfile

* vesting_balance_type correction

vesting_balance_type changed to normal

* gcc5 support to Dockerfile

gcc5 support to Dockerfile

* Changes to compiple with GCC 7(Ubuntu 18.04)

* changes to have separate methods and single withdrawl fee for multiple vest objects

* 163-fix, Return only non-zero vesting balances

* Revert "Revert "GPOS protocol""

This reverts commit 67616417b7.

* add new line needed to gpos hardfork file

* comment temporally cli_vote_for_2_witnesses until refactor or delete

* fix gpos tests

* fix gitlab-ci conflict

* Fixed few error messages

* error message corrections at other places

* Updated FC repository to peerplays-network/peerplays-fc (#189)

Point to fc commit hash 6096e94 [latest-fc branch]

* Project name update in Doxyfile (#146)

* changes to allow user to vote in each sub-period

* Fixed GPOS vesting factor issue when proxy is set

* Added unit test for proxy voting

* Review changes

* changes to update last voting time

* resolve merge conflict

* unit test changes and also separated GPOS test suite

* delete unused variables

* removed witness check

* eliminate time gap between two consecutive vesting periods

* deleted GPOS specific test suite and updated gpos tests

* updated GPOS hf

* Fixed dividend distribution issue and added test case

* fix flag

* clean newlines gpos_tests

* adapt gpos_tests to changed flag

* Fix to roll in GPOS rules, carry votes from 6th sub-period

* check was already modified

* comments updated

* updated comments to the benefit of reviewer

* Added token symbol name in error messages

* Added token symbol name in error messages (#204)

* case 1: Fixed last voting time issue

* get_account bug fixed

* Fixed flag issue

* Fixed spelling issue

* remove non needed gcc5 changes to dockerfile

* GRPH134- High CPU Issue, websocket changes (#213)

* update submodule branch to refer to the latest commit on latest-fc branch (#214)

* Improve account maintenance performance (#130)

* Improve account maintenance performance

* merge fixes

* Fixed merge issue

* Fixed indentations and extra ';'

* Update CI for syncing gitmodules (#216)

* Added logging for the old update_expired_feeds bug

The old bug is https://github.com/cryptonomex/graphene/issues/615 .

Due to the bug, `update_median_feeds()` and `check_call_orders()`
will be called when a feed is not actually expired, normally this
should not affect consensus since calling them should not change
any data in the state.

However, the logging indicates that `check_call_orders()` did
change some data under certain circumstances, specifically, when
multiple limit order matching issue (#453) occurred at same block.
* https://github.com/bitshares/bitshares-core/issues/453

* Minor performance improvement for price::is_null()

* Use static refs in db_getter for immutable objects

* Minor performance improvement for db_maint

* Minor code updates for asset_evaluator.cpp

* changed an `assert()` to `FC_ASSERT()`
* replaced one `db.get(asset_id_type())` with `db.get_core_asset()`
* capture only required variables for lambda

* Improve update_expired_feeds performance #1093

* Change static refs to member pointers of db class

* Added getter for witness schedule object

* Added getter for core dynamic data object

* Use getters

* Removed unused variable

* Add comments for update_expired_feeds in db_block

* Minor refactory asset_create_evaluator::do_apply()

* Added FC_ASSERT for dynamic data id of core asset

* Added header inclusions in db_management.cpp

* fix global objects usage during replay

* Logging config parsing issue

* added new files

* compilation fix

* Simplified code in database::pay_workers()

* issue with withdrawl

* Added unit test for empty account history

* set extensions default values

* Update GPOS hardfork date and don't allow GPOS features before hardfork time

* refer to latest commit of latest-fc branch (#224)

* account name or id support in all database api

* asset id or name support in all asset APIs

* Fixed compilation issues

* Fixed alignment issues

* Externalized some API templates

* Externalize serialization of blocks, tx, ops

* Externalized db objects

* Externalized genesis serialization

* Externalized serialization in protocol library

* Undo superfluous change

* remove default value for extension parameter

* fix compilation issues

* GRPH-46-Quit_command_cliwallet

* removed multiple function definition

* Fixed chainparameter update proposal issue

* Move GPOS withdraw logic to have single transaction(also single fee) and update API

* Added log for authorization failure of proposal operations

* Votes consideration on GPOS activation

* bump fc version

* fix gpos tests

* Bump fc version

* Updated gpos/voting_tests

* Fixed withdraw vesting bug

* Added unit test

* Update hardfork date for TESTNET, sync fc module and update logs

* avoid wlog as it filling up space

* Beatrice hot fix(sync issue fix)

* gpos tests fix

* Set hardfork date to Jan5th on TESTNET

* Merge Elasticplugin, snapshot plugin and graphene updates to beatrice (#304)

* check witness signature before adding block to fork db

* Replace verify_no_send_in_progress with no_parallel_execution_guard

* fixed cli_wallet log issue

* Port plugin sanitization code

* avoid directly overwriting wallet file

* Implemented "plugins" config variable

* allow plugin to have descriptions

* Merge pull request #444 from oxarbitrage/elasticsearch

Elasticsearch plugin

* Merge pull request #500 from oxarbitrage/elasticsearch-extras

es_objects plugin

* Merge pull request #873 from pmconrad/585_fix_history_ids

Fix history ids

* Merge pull request #1201 from oxarbitrage/elasticsearch_tests2

Elasticsearch refactor

* Merge pull request #1271 from oxarbitrage/es_objects

refine es_objects plugin

* Merge pull request #1429 from oxarbitrage/es_objects_templates

Add an adaptor to es_objects and template function to reduce code

* Merge pull request #1458 from oxarbitrage/issue1455

add option elasticsearch-start-es-after-block to es plugin

* Merge pull request #1541 from oxarbitrage/es_objects_start_after_block

add es-objects-start-es-after-block option

* explicitly cleanup external library facilities

* Merge pull request #1717 from oxarbitrage/issue1652

add genesis data to es_objects

* Merge pull request #1073 from xiangxn/merge-impacted

merge impacted into db_notify

* Merge pull request #1725 from oxarbitrage/issue1682

elasticsearch history api #1682

* change ES index prefixes to Peerplays-specific

* sync develop with beatrice

* fix the data writing to ES during sync issues

* fix CLI tests

* brought updates from mainnet branch (#285)

* Fix unit test failures (#289)

* fixed unit test failures from the recent merges

* fixed unit test failures from the recent merges

* enable snapshot plugin (#288)

* sync fc branch(build optimization changes)

* update to es plugin

* fix verify witness signature method (#295)

* enable mandatory plugins to have smooth transition for next release

* updated tests to keep in-line with plugin changes

Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Peter Conrad <conrad@quisquis.de>
Co-authored-by: Alfredo <oxarbitrage@gmail.com>
Co-authored-by: Abit <abitmore@users.noreply.github.com>
Co-authored-by: crypto-ape <43807588+crypto-ape@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>

* sync latest fc commit on beatrice

* sweeps winner_ticket_id changes

Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Miha Čančula <miha@noughmad.eu>
Co-authored-by: Ronak Patel <r.patel@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Peter Conrad <conrad@quisquis.de>
Co-authored-by: Peter Conrad <cyrano@quisquis.de>
Co-authored-by: Abit <abitmore@users.noreply.github.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: cifer <maintianyu@gmail.com>
Co-authored-by: John Jones <jmjatlanta@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Wei Yang <richard.weiyang@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: crypto-ape <43807588+crypto-ape@users.noreply.github.com>
2020-04-15 20:34:15 +05:30
pbattu123
02a89dd770 update HF to 15th April 2020-04-10 12:01:28 -03:00
pbattu123
fb90c83b29 Merge commit 'refs/pull/340/head' of https://github.com/peerplays-network/peerplays into feature/beatrice_winner_id 2020-04-10 11:28:25 -03:00
pbattu123
03ebcc6f3b update variable type to uint64 2020-04-10 09:39:09 -03:00
pbattu123
f701f03401 update HF date 16th April 2020 2020-04-10 08:53:25 -03:00
pbattu123
e3cf4ab9e2 changes to fetch operations based on lottery asset 2020-04-09 22:05:18 -03:00
pbattu123
dd88b8f1ff update HF check 2020-04-08 09:05:39 -03:00
pbattu123
cb7429e818 code improvement with edge case handling 2020-04-07 01:31:17 -03:00
pbattu123
e445e1a11c update HF-check 2020-04-06 14:47:38 -03:00
pbattu123
9ffce8f33c update HF check 2020-04-06 14:45:50 -03:00
pbattu123
29f41ec7da nh5050:winner ticket id changes 2020-04-06 12:30:55 -03:00
pbattu123
2f034420e0 sync latest fc commit on beatrice 2020-03-09 14:40:31 -03:00
pbattu123
08318d06a2
Merge Elasticplugin, snapshot plugin and graphene updates to beatrice (#304)
* check witness signature before adding block to fork db

* Replace verify_no_send_in_progress with no_parallel_execution_guard

* fixed cli_wallet log issue

* Port plugin sanitization code

* avoid directly overwriting wallet file

* Implemented "plugins" config variable

* allow plugin to have descriptions

* Merge pull request #444 from oxarbitrage/elasticsearch

Elasticsearch plugin

* Merge pull request #500 from oxarbitrage/elasticsearch-extras

es_objects plugin

* Merge pull request #873 from pmconrad/585_fix_history_ids

Fix history ids

* Merge pull request #1201 from oxarbitrage/elasticsearch_tests2

Elasticsearch refactor

* Merge pull request #1271 from oxarbitrage/es_objects

refine es_objects plugin

* Merge pull request #1429 from oxarbitrage/es_objects_templates

Add an adaptor to es_objects and template function to reduce code

* Merge pull request #1458 from oxarbitrage/issue1455

add option elasticsearch-start-es-after-block to es plugin

* Merge pull request #1541 from oxarbitrage/es_objects_start_after_block

add es-objects-start-es-after-block option

* explicitly cleanup external library facilities

* Merge pull request #1717 from oxarbitrage/issue1652

add genesis data to es_objects

* Merge pull request #1073 from xiangxn/merge-impacted

merge impacted into db_notify

* Merge pull request #1725 from oxarbitrage/issue1682

elasticsearch history api #1682

* change ES index prefixes to Peerplays-specific

* sync develop with beatrice

* fix the data writing to ES during sync issues

* fix CLI tests

* brought updates from mainnet branch (#285)

* Fix unit test failures (#289)

* fixed unit test failures from the recent merges

* fixed unit test failures from the recent merges

* enable snapshot plugin (#288)

* sync fc branch(build optimization changes)

* update to es plugin

* fix verify witness signature method (#295)

* enable mandatory plugins to have smooth transition for next release

* updated tests to keep in-line with plugin changes

Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Peter Conrad <conrad@quisquis.de>
Co-authored-by: Alfredo <oxarbitrage@gmail.com>
Co-authored-by: Abit <abitmore@users.noreply.github.com>
Co-authored-by: crypto-ape <43807588+crypto-ape@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
2020-03-09 18:28:13 +05:30
pbattu123
ac109234d2
Merge pull request #299 from peerplays-network/plugins_enable_fix1
Enable mandatory plugins to have smooth transition for next release
2020-03-06 16:04:04 -04:00
pbattu123
32d9175061 enable mandatory plugins to have smooth transition for next release 2020-02-27 14:27:49 -04:00
pbattu123
24e7610bce
Merge pull request #296 from peerplays-network/es_update1
ES update1
2020-02-26 13:57:17 -04:00
pbattu123
b7951e916b
fix verify witness signature method (#295) 2020-02-26 22:25:36 +05:30
pbattu123
7f0bc332be update to es plugin 2020-02-26 12:41:22 -04:00
pbattu123
371c4c521d
Merge pull request #293 from peerplays-network/sync_fc_dev
Sync fc with latest updates
2020-02-24 13:52:07 -04:00
pbattu123
71e73146eb sync fc branch(build optimization changes) 2020-02-24 11:13:19 -04:00
pbattu123
926d4ae381
enable snapshot plugin (#288) 2020-02-24 10:24:01 -04:00
pbattu123
5188a686d9
Merge pull request #229 from peerplays-network/feature/GRPH-155
[GRPH-155] fixed cli_wallet log issue
2020-02-13 12:59:39 -04:00
pbattu123
d5df44935a
Merge pull request #230 from peerplays-network/feature/GRPH-163
[GRPH-163] Port plugin sanitization code
2020-02-13 10:43:59 -04:00
pbattu123
c93c3d3b18
Merge pull request #226 from peerplays-network/feature/GRPH-160
[GRPH-160] check witness signature before adding block to fork db
2020-02-13 09:00:22 -04:00
pbattu123
524b3088df
Merge pull request #228 from peerplays-network/feature/GRPH-162
Replace verify_no_send_in_progress with no_parallel_execution_guard
2020-02-13 08:59:20 -04:00
pbattu123
0e4434a0dc
Merge branch 'develop' into feature/GRPH-155 2020-02-13 08:57:28 -04:00
pbattu123
0579058792
Merge branch 'develop' into feature/GRPH-163 2020-02-13 08:53:44 -04:00
pbattu123
bf25029e4a
Merge pull request #242 from peerplays-network/feature/GRPH-169
[GRPH-169] Avoid directly overwriting wallet file on exit
2020-02-13 08:47:25 -04:00
pbattu123
046ee5b75c
Merge pull request #257 from peerplays-network/feature/GRPH-205
Backport ElasticSearch plugins from BitShares
2020-02-13 08:46:45 -04:00
pbattu123
11919cdbd9
brought updates from mainnet branch (#285) 2020-02-12 23:38:23 +05:30
pbattu123
c0b57fce33
resync/replay issues addressed (#283)
* resync/replay issues addressed

* minor changes done to withdraw GPOS vesting balance by WITNESS account
2020-02-10 19:21:50 +05:30
pbattu123
0b280882af
Merge beatrice(GPOS changes) with master (#270)
* Created unit test for #325

* remove needless find()

* issue - 154: Don't allow to vote when vesting balance is 0

* Increase block creation timeout to 2500ms

* increase delay for node connection

* remove cache from cli get_account

* add cli tests framework

* Adjust newly merged code to new API

* Merged changes from Bitshares PR 1036

* GRPH-76 - Short-cut long sequences of missed blocks

Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)

* Improved resilience of block database against corruption

* Moved reindex logic into database / chain_database, make use of additional blocks in block_database

Fixed tests wrt db.open

* Enable undo + fork database for final blocks in a replay

Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests

* Log starting block number of replay

* Prevent unsigned integer underflow

* Fixed lock detection

* Dont leave _data_dir empty if db is locked

* Writing the object_database is now almost atomic

* Improved consistency check for block_log

* Cut back block_log index file if inconsistent

* Fixed undo_database

* Added test case for broken merge on empty undo_db

* exclude second undo_db.enable() call in some cases

* Add missing change

* change bitshares to core in message

* Merge pull request #938 from bitshares/fix-block-storing

Store correct block ID when switching forks

* Fixed integer overflow issue

* Fix for for history ID mismatch ( Bitshares PR #875 )

* Update the FC submodule with the changes for GRPH-4

* Merged Bitshares PR #1462 and compilation fixes

* Support/gitlab (#123)

* Updated gitlab process

* Fix undefined references in cli test

* Updated GitLab CI

* Fix #436 object_database created outside of witness data directory

* supplement more comments on database::_opened variable

* prevent segfault when destructing application obj

* Fixed test failures and compilation issue

* minor performance improvement

* Added comment

* Fix compilation in debug mode

* Fixed duplicate ops returned from get_account_history

* Fixed account_history_pagination test

* Removed unrelated comment

* Update to fixed version of fc

* Skip auth check when pushing self-generated blocks

* Extract public keys before pushing a transaction

* Dereference chain_database shared_ptr

* Updated transaction::signees to mutable

and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing

* Added get_asset_count API

* No longer extract public keys before pushing a trx

and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct

* changes to withdraw_vesting feature(for both cdd and GPOS)

* Comments update

* update to GPOS hardfork ref

* Remove leftover comment from merge

* fix for get_vesting_balance API call

* braces update

* Allow sufficient space for new undo_session

* Throw for deep nesting

* node.cpp: Check the attacker/buggy client before updating items ids

The peer is an attacker or buggy, which means the item_hashes_received is
not correct.

Move the check before updating items ids to save some time in this case.

* Create .gitlab-ci.yml

* Added cli_test to CI

* fixing build errors (#150)

* fixing build errors

vest type correction

* fixing build errors

vest type correction

* fixes 

new Dockerfile

* vesting_balance_type correction

vesting_balance_type changed to normal

* gcc5 support to Dockerfile

gcc5 support to Dockerfile

* use random port numbers in app_test (#154)

* Changes to compiple with GCC 7(Ubuntu 18.04)

* proposal fail_reason bug fixed (#157)

* Added Sonarcloud code_quality to CI (#159)

* Added sonarcloud analysis (#158)

* changes to have separate methods and single withdrawl fee for multiple vest objects

* 163-fix, Return only non-zero vesting balances

* Support/gitlab develop (#168)

* Added code_quality to CI

* Update .gitlab-ci.yml

* Point to PBSA/peerplays-fc commit f13d063 (#167)

* [GRPH-3] Additional cli tests (#155)

* Additional cli tests

* Compatible with latest fc changes

* Fixed Spacing issues

* [GRPH-106] Added voting tests (#136)

* Added more voting tests

* Added additional option

* Adjust p2p log level (#180)

* merge gpos to develop (#186)

* issue - 154: Don't allow to vote when vesting balance is 0

* changes to withdraw_vesting feature(for both cdd and GPOS)

* Comments update

* update to GPOS hardfork ref

* fix for get_vesting_balance API call

* braces update

* Create .gitlab-ci.yml

* fixing build errors (#150)

* fixing build errors

vest type correction

* fixing build errors

vest type correction

* fixes 

new Dockerfile

* vesting_balance_type correction

vesting_balance_type changed to normal

* gcc5 support to Dockerfile

gcc5 support to Dockerfile

* Changes to compiple with GCC 7(Ubuntu 18.04)

* changes to have separate methods and single withdrawl fee for multiple vest objects

* 163-fix, Return only non-zero vesting balances

* Revert "Revert "GPOS protocol""

This reverts commit 67616417b7.

* add new line needed to gpos hardfork file

* comment temporally cli_vote_for_2_witnesses until refactor or delete

* fix gpos tests

* fix gitlab-ci conflict

* Fixed few error messages

* error message corrections at other places

* Updated FC repository to peerplays-network/peerplays-fc (#189)

Point to fc commit hash 6096e94 [latest-fc branch]

* Project name update in Doxyfile (#146)

* changes to allow user to vote in each sub-period

* Fixed GPOS vesting factor issue when proxy is set

* Added unit test for proxy voting

* Review changes

* changes to update last voting time

* resolve merge conflict

* unit test changes and also separated GPOS test suite

* delete unused variables

* removed witness check

* eliminate time gap between two consecutive vesting periods

* deleted GPOS specific test suite and updated gpos tests

* updated GPOS hf

* Fixed dividend distribution issue and added test case

* fix flag

* clean newlines gpos_tests

* adapt gpos_tests to changed flag

* Fix to roll in GPOS rules, carry votes from 6th sub-period

* check was already modified

* comments updated

* updated comments to the benefit of reviewer

* Added token symbol name in error messages

* Added token symbol name in error messages (#204)

* case 1: Fixed last voting time issue

* get_account bug fixed

* Fixed flag issue

* Fixed spelling issue

* remove non needed gcc5 changes to dockerfile

* GRPH134- High CPU Issue, websocket changes (#213)

* update submodule branch to refer to the latest commit on latest-fc branch (#214)

* Improve account maintenance performance (#130)

* Improve account maintenance performance

* merge fixes

* Fixed merge issue

* Fixed indentations and extra ';'

* Update CI for syncing gitmodules (#216)

* Added logging for the old update_expired_feeds bug

The old bug is https://github.com/cryptonomex/graphene/issues/615 .

Due to the bug, `update_median_feeds()` and `check_call_orders()`
will be called when a feed is not actually expired, normally this
should not affect consensus since calling them should not change
any data in the state.

However, the logging indicates that `check_call_orders()` did
change some data under certain circumstances, specifically, when
multiple limit order matching issue (#453) occurred at same block.
* https://github.com/bitshares/bitshares-core/issues/453

* Minor performance improvement for price::is_null()

* Use static refs in db_getter for immutable objects

* Minor performance improvement for db_maint

* Minor code updates for asset_evaluator.cpp

* changed an `assert()` to `FC_ASSERT()`
* replaced one `db.get(asset_id_type())` with `db.get_core_asset()`
* capture only required variables for lambda

* Improve update_expired_feeds performance #1093

* Change static refs to member pointers of db class

* Added getter for witness schedule object

* Added getter for core dynamic data object

* Use getters

* Removed unused variable

* Add comments for update_expired_feeds in db_block

* Minor refactory asset_create_evaluator::do_apply()

* Added FC_ASSERT for dynamic data id of core asset

* Added header inclusions in db_management.cpp

* fix global objects usage during replay

* Logging config parsing issue

* added new files

* compilation fix

* Simplified code in database::pay_workers()

* issue with withdrawl

* Added unit test for empty account history

* set extensions default values

* Update GPOS hardfork date and don't allow GPOS features before hardfork time

* refer to latest commit of latest-fc branch (#224)

* account name or id support in all database api

* asset id or name support in all asset APIs

* Fixed compilation issues

* Fixed alignment issues

* Externalized some API templates

* Externalize serialization of blocks, tx, ops

* Externalized db objects

* Externalized genesis serialization

* Externalized serialization in protocol library

* Undo superfluous change

* remove default value for extension parameter

* fix compilation issues

* GRPH-46-Quit_command_cliwallet

* removed multiple function definition

* Fixed chainparameter update proposal issue

* Move GPOS withdraw logic to have single transaction(also single fee) and update API

* Added log for authorization failure of proposal operations

* Votes consideration on GPOS activation

* bump fc version

* fix gpos tests

* Bump fc version

* Updated gpos/voting_tests

* Fixed withdraw vesting bug

* Added unit test

* Update hardfork date for TESTNET, sync fc module and update logs

* avoid wlog as it filling up space

* Beatrice hot fix(sync issue fix)

* gpos tests fix

* Set hardfork date to Jan5th on TESTNET

Co-authored-by: Peter Conrad <github.com@quisquis.de>
Co-authored-by: John M. Jones <jmjatlanta@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Miha Čančula <miha@noughmad.eu>
Co-authored-by: Abit <abitmore@users.noreply.github.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: RichardWeiYang <richard.weiyang@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
2020-02-07 21:23:08 +05:30
gladcow
e55075ec6d fix CLI tests 2020-01-17 18:51:44 +03:00
gladcow
0a90442966 fix the data writing to ES during sync issues 2020-01-13 15:35:18 +03:00
gladcow
bfa878f9b2 change ES index prefixes to Peerplays-specific 2020-01-01 14:51:25 +03:00
Alfredo Garcia
62247c543d Merge pull request #1725 from oxarbitrage/issue1682
elasticsearch history api #1682
2020-01-01 14:51:25 +03:00
Alfredo Garcia
de4faee7f0 Merge pull request #1073 from xiangxn/merge-impacted
merge impacted into db_notify
2019-12-31 00:22:51 +03:00
Alfredo Garcia
2f054ac619 Merge pull request #1717 from oxarbitrage/issue1652
add genesis data to es_objects
2019-12-31 00:21:08 +03:00
crypto-ape
82ef3a51d1 explicitly cleanup external library facilities 2019-12-31 00:20:42 +03:00
Alfredo Garcia
6d9ad94e20 Merge pull request #1541 from oxarbitrage/es_objects_start_after_block
add es-objects-start-es-after-block option
2019-12-31 00:20:17 +03:00
Alfredo Garcia
c4612a522b Merge pull request #1458 from oxarbitrage/issue1455
add option elasticsearch-start-es-after-block to es plugin
2019-12-31 00:13:39 +03:00
Alfredo Garcia
4f5f8f4479 Merge pull request #1429 from oxarbitrage/es_objects_templates
Add an adaptor to es_objects and template function to reduce code
2019-12-31 00:09:08 +03:00
Alfredo Garcia
2d19aa3de1 Merge pull request #1271 from oxarbitrage/es_objects
refine es_objects plugin
2019-12-31 00:04:13 +03:00
Abit
c9583f4486 Merge pull request #1201 from oxarbitrage/elasticsearch_tests2
Elasticsearch refactor
2019-12-31 00:03:25 +03:00
Abit
e91e61e6cb Merge pull request #873 from pmconrad/585_fix_history_ids
Fix history ids
2019-12-30 23:20:31 +03:00
oxarbitrage
8d900a5276 Merge pull request #500 from oxarbitrage/elasticsearch-extras
es_objects plugin
2019-12-30 22:25:55 +03:00
oxarbitrage
00f14c4729 Merge pull request #444 from oxarbitrage/elasticsearch
Elasticsearch plugin
2019-12-30 21:09:24 +03:00
Alfredo
f3d961bb70 allow plugin to have descriptions 2019-12-30 19:55:13 +03:00
Peter Conrad
e1244eb7ab Implemented "plugins" config variable 2019-12-30 18:55:08 +03:00
pbattu123
d52f9fbb59 Set hardfork date to Jan5th on TESTNET 2019-12-24 10:46:27 -04:00
pbattu123
054f06adc7 Beatrice hot fix(sync issue fix) 2019-12-20 21:55:45 -04:00
pbattu123
26886cc7d5 avoid wlog as it filling up space 2019-12-17 12:13:46 -04:00
pbattu123
a4d399d6cc Update hardfork date for TESTNET, sync fc module and update logs 2019-12-17 09:18:34 -04:00
Sandip Patel
b57220a180 Fixed withdraw vesting bug 2019-12-12 14:14:31 +05:30
Sandip Patel
d3ecbba3d7 avoid directly overwriting wallet file 2019-12-11 17:02:26 +05:30
pbattu123
f1fef49373
Merge pull request #237 from peerplays-network/BLOCKBACK-183
BLOCKBACK-183 GPOS: Votes consideration on GPOS activation
2019-12-08 21:42:26 -04:00
pbattu123
b5249ac2b1 Bump fc version 2019-12-07 22:15:53 -04:00
pbattu123
91e8dca261
Merge pull request #239 from peerplays-network/BLOCKCBACK-187
bump fc version BB-187
2019-12-07 13:52:32 -04:00
pbattu123
91c65b9845
Merge pull request #234 from peerplays-network/BLOCKBACK-186
BLOCKBACK-186 fix: GPOS
2019-12-07 13:51:58 -04:00
pbattu123
e0db30291c bump fc version 2019-12-06 16:35:59 -04:00
pbattu123
3b65288867
Merge pull request #232 from peerplays-network/feature/GRPH-166
[GRPH-166] Fixed chainparameter update proposal issue
2019-12-06 13:04:50 -04:00
pbattu123
70b5a9414f
Merge pull request #90 from peerplays-network/GRPH-46
GRPH-46-Quit_command_cliwallet
2019-12-06 12:33:15 -04:00
pbattu123
067fcd13f7 Votes consideration on GPOS activation 2019-12-06 11:26:49 -04:00
Sandip Patel
d5662ada04 Added log for authorization failure of proposal operations 2019-12-06 11:07:38 +05:30
pbattu123
38bb9226ec Move GPOS withdraw logic to have single transaction(also single fee) and update API 2019-12-05 13:46:13 -04:00
Sandip Patel
2dfaa866ca Fixed chainparameter update proposal issue 2019-12-05 18:53:38 +05:30
Alfredo Garcia
3a2def7311
Merge pull request #137 from peerplays-network/feature/GRPH-92
[GRPH 92] Build optimization
2019-12-03 20:43:50 -03:00
Sandip Patel
e989275414 removed multiple function definition 2019-12-03 19:44:16 +05:30
satyakoneru
9a9c35649b GRPH-46-Quit_command_cliwallet 2019-12-03 19:39:03 +05:30
Sandip Patel
5606fc5fc2 Port plugin sanitization code 2019-12-03 15:17:45 +05:30
Sandip Patel
45aac6dc61 fixed cli_wallet log issue 2019-12-03 14:20:15 +05:30
gladcow
40c2fd8783 fix compilation issues 2019-12-02 17:41:13 +03:00
Sandip Patel
ffbae79a48 Replace verify_no_send_in_progress with no_parallel_execution_guard 2019-12-02 12:04:28 +05:30
pbattu123
c49ce31201
Merge pull request #227 from peerplays-network/GRPH-159
GRPH 159
2019-11-29 14:21:45 -04:00
pbattu123
0b2c9dde22 remove default value for extension parameter 2019-11-29 10:15:13 -04:00
Peter Conrad
25458c294d Undo superfluous change 2019-11-29 14:10:40 +03:00
Peter Conrad
854119233a Externalized serialization in protocol library 2019-11-29 14:10:40 +03:00
Peter Conrad
2358149e46 Externalized genesis serialization 2019-11-29 14:10:40 +03:00
Peter Conrad
b3d6058485 Externalized db objects 2019-11-29 14:10:40 +03:00
Peter Conrad
71d8bfd843 Externalize serialization of blocks, tx, ops 2019-11-29 14:10:40 +03:00
Peter Conrad
4df7298a0d Externalized some API templates 2019-11-29 14:10:40 +03:00
Sandip Patel
614e51cca0 check witness signature before adding block to fork db 2019-11-29 16:08:23 +05:30
Alfredo Garcia
6f0ce36292
Merge pull request #225 from peerplays-network/feature/GRPH-152
[GRPH-152] Allow APIs to be called by account/asset name and id
2019-11-28 15:29:12 -03:00
Sandip Patel
ad5707ed95 Fixed alignment issues 2019-11-28 10:36:26 +05:30
Sandip Patel
41445a8764 Fixed compilation issues 2019-11-26 18:18:42 +05:30
Sandip Patel
a5d8a15728 asset id or name support in all asset APIs 2019-11-26 16:51:20 +05:30
Sandip Patel
7aeaa14bae account name or id support in all database api 2019-11-26 13:50:06 +05:30
pbattu123
fd23d149d6 refer to latest commit of latest-fc branch (#224) 2019-11-25 16:23:42 -04:00
pbattu123
9b7776e301
Merge pull request #220 from peerplays-network/BLOCKBACK-177
issue with withdrawl
2019-11-25 10:51:06 -04:00
pbattu123
0ecf2e8d0e
Merge pull request #222 from peerplays-network/feature/BLOCKBACK-182
[BLOCKBACK-182] set extensions default values
2019-11-25 10:49:25 -04:00
pbattu123
fd2679a888
Merge pull request #223 from peerplays-network/BLOCKBACK-181
BLOCKBACK-181 Update GPOS hardfork date and don't allow GPOS features before hardfork time
2019-11-24 12:21:44 -04:00
pbattu123
e6d3dd0662 Update GPOS hardfork date and don't allow GPOS features before hardfork time 2019-11-23 20:46:17 -04:00
Alfredo Garcia
df4e045128
Merge pull request #218 from peerplays-network/feature/GRPH-150
[GRPH-150] P2P Log files are not created
2019-11-22 16:49:25 -03:00
Sandip Patel
c17d73f11b set extensions default values 2019-11-22 18:46:55 +05:30
pbattu123
9c1e7af9c7 issue with withdrawl 2019-11-21 10:40:39 -04:00
Alfredo Garcia
e7e08169c8
Merge pull request #116 from peerplays-network/GRPH-81
[GRPH-81] Different performance optimization
2019-11-20 13:36:41 -03:00
abitmore
d3b2c4ce95 Simplified code in database::pay_workers() 2019-11-20 14:23:20 +03:00
Sandip Patel
ac5d55be0f added new files 2019-11-14 17:05:01 +05:30