Commit graph

48 commits

Author SHA1 Message Date
gladcow
499e318199 [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented

* coipied code for bitshares fixing 429 and 433 isuues

* ticket_purchase_operation implemented. added lottery_options to asset

* lottery end implemented

* minor logic changes. added db_api and cli_wallet methods

* fix reindex on peerplays network

* fix some tests. add gitlab-ci.yml

* add pull to gitlab-ci

* fix

* fix and comment some tests

* added owner to lottery_asset_options. commented async call in on_applied_block callback

* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification

* merge get_account_lotteries branch. fix create_witness test

* fix test genesis and end_date verification

* fixed indices sorting and lottery end checking by date

* update db_version for replay and removed duplicate include files

* Added ntp and upgraded boost version

* Revert "GPOS protocol"

* need to remove backup files

* virtual-op-fix for deterministic virtual_op number

* Merged beatrice into 5050

* Updated gitmodules, changes to allow voting on lottery fee

* Removed submodule libraries/fc

* Added libraries/fc

* added missing , in types.hpp

* Added sweeps parameters to parameter_extension

* added missing comma in operations.hpp, small changes to config.hpp

* fixed returntype in chain_parameters.hpp

* removed sweeps_parameter_extensions

* Changed fc library

* fixed asset_object

* Changed peerplays-fc submodule

* Changed fc submodule to ubuntu 18.04 upgrade

* Removed submodule libraries/fc

* Added fc library back

* fix casting in overloaded function

* Removed blind_sign and unblind_signature functions

* Added new lottery_asset_create_operation

* Changed sweeps hardfork time

* Removed redundant if from asset_evaluator and fixed db_notify

* fixed duplicate code in fee_tests

* removed redundant tgenesis file

* Enable building on Ubuntu 18.04 using GCC 7 compiler

* fix: is_benefactor_reward had the default value of true when not set

* Docker file for Ubuntu 18.04

Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated

* Quick fix: Added missing package pkg-config

* Docker file updates

* 5050 fee update and compilation error fix

* Dockerfile, set system locale

Prevents locale::facet::_S_create_c_locale name error

* Update README.md

Fix typo

* Update README.md

* Changed hardfork time for SWEEPS and Core-429

* revert master changes that were brought in previous commit

* Fixed error when account_history_object with id 0 doesnt exist

* Fixed error while loading object database

* test for zero id object in account history

* Reorder operations in Dockerfile, to make image creation faster

- Reorder prevents unnecessary building of Boost libraries

* Fix for irrelevant signature included issue

* fix copyrigth messages order

* remove double empty lines

* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case

* NTP client back

* GRPH-53-Log_format_error

* Merge pull request #1036 from jmjatlanta/issue_730

Add fail_reason to proposal_object

* Unit test case fixes and prepared SONs base

* Use offsetof instead of custom macro

* Hide some compiler warnings

* Make all the tests compile

* Add nullptr check in api.cpp for easier testing

* Add test case for broadcast_trx_with_callback API

* Unit test case fixes and prepared SONs base

* Merge pull request #714 from pmconrad/json_fix

JSON fix

* Increase max depth for trx confirmation callback

* Adapt to variant API with `max_depth` argument

* Update fc submodule

* Created unit test for #325

* remove needless find()

* GRPH-4-CliWallet_crash_ctrlD

* fix copyright message

* Make all the tests compile

* increase delay for node connection

* Increase block creation timeout to 2500ms

* remove cache from cli get_account

* add cli tests framework

* Adjust newly merged code to new API

* Improved resilience of block database against corruption

* 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.)

* 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

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

Store correct block ID when switching forks

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

* Add missing change

* change bitshares to core in message

* Fixed integer overflow issue

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

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

* Fix #436 object_database created outside of witness data directory

* supplement more comments on database::_opened variable

* prevent segfault when destructing application obj

* Fixed duplicate ops returned from get_account_history

* minor performance improvement

* Added comment

* Merged Bitshares PR #1462 and compilation fixes

* Support/gitlab (#123)

* Updated gitlab process

* Fix undefined references in cli test

* Fixed test failures and compilation issue

* Fixed account_history_pagination test

* Fix compilation in debug mode

* Removed unrelated comment

* 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

* Allow sufficient space for new undo_session

* Throw for deep nesting

* No longer extract public keys before pushing a trx

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

* Added cli_test to CI

* use random port numbers in app_test (#154)

* proposal fail_reason bug fixed (#157)

* Added Sonarcloud code_quality to CI (#159)

* Added sonarcloud analysis (#158)

* fix for lottery end

* fix declarations

* fix declarations

* fix boost integer

* fix compilation

* fix chain tests

* fix app_test

* try to fix cli test

* fix incorrect max_depth param

* working cli test

* correct fc version
2019-10-08 06:55:03 +05:30
pbattu
0f06a9af2a Required changes to upgrade blockchain to ubuntu18.04 2019-05-20 22:32:17 -03:00
Bartek Wrona
b5c8cd0ad3 Fixes for most of valgrind errors related to unintialized values
Including one additional debug code (related to read_loop MT access).
2017-09-07 10:04:00 -04:00
theoreticalbts
a9de7c1da3 node.cpp: Fix possible race condition in process_backlog_of_sync_blocks() #1434 2017-09-07 10:04:00 -04:00
Eric Frias
f66eeeb73b Fix bug where peers could get stuck in sync mode.
There was a case where we had requested a block through the sync
mechanism and also received it through the normal inventory mechanism
where we would leave the peer in a sync state, but never ask them
for more sync blocks.

This commit fixes the bug that put us into that stuck state, and also
adds code to disconnect peers if we ever manage to get into that stalled
state.
2017-09-07 10:04:00 -04:00
oxarbitrage
fab2794699 remove GRAPHENE_TEST_NETWORK_VERSION
https://github.com/bitshares/bitshares-core/issues/307
2017-06-11 11:47:11 -03:00
abitmore
06b18c4011 Fix Windows build. 2017-06-03 01:21:17 +00:00
oxarbitrage
0184fb19e8 additional conole log for already in use p2p code
github issue #77
2017-04-20 20:13:43 -03:00
Vikram Rajkumar
8ae1f6b3a5 Remove NTP time 2017-03-16 12:53:52 -05:00
abitmore
5ad763b0bf Catch all exception when connecting to other peers 2016-09-06 20:57:01 +02:00
abitmore
aa844f56fa Fix seed node stuck issue #654 2016-05-16 22:03:08 +02:00
theoreticalbts
2666350978 Fix iteration logic in _handle_message_calls_in_progress shutdown loop to handle concurrent modification #598 2016-02-25 11:31:08 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
d0609e8e74 Update copyright notice for BitShares 2015-10-12 13:48:40 -04:00
theoreticalbts
60f0812de2 Update copyright notice 2015-10-12 13:32:47 -04:00
Eric Frias
7bc7004ef9 Remove items from p2p's list of items to fetch when we expect them to become unfetchable 2015-10-08 15:17:01 -04:00
Daniel Larimer
bb0ea77e80 throttling P2P code 2015-10-05 08:44:59 -04:00
Eric Frias
74bbde785b In the p2p networking code, request multiple transactions at a time to improve performance during flooding 2015-09-29 17:37:32 -04:00
Eric Frias
405a9e71b2 When the p2p code pushes a transaction that fails to apply, remember that transaction so we don't fetch it again as soon as a different peer tells us about it. 2015-09-22 17:13:35 -04:00
Eric Frias
d92736617e Improve logging of exceptions in p2p code (log via reflection instead of converting to strings) 2015-09-22 17:13:35 -04:00
Eric Frias
5bfbe0df86 When a we're in normal (in-sync) mode and we get a block that doesn't link to the chain, restart sync with that peer to try to get the missing block 2015-09-21 16:15:51 -04:00
Eric Frias
9536350a50 Reduce the amount of time we'll wait for a peer to provide a requested block to
one second (down from one full block interval), to reduce the chance of us getting
blocks out of order.
Remove the variable we use to keep track of the last block number a peer has;
This was an optimization in BitShares 0.x where looking up the number was expensive,
and maintaining it is error-prone.
2015-09-21 11:48:58 -04:00
theoreticalbts
a2b6f1a741 Change assert to elog #334 2015-09-21 11:01:11 -04:00
Daniel Larimer
a5c1bc7faf Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-09-21 08:46:57 -04:00
Daniel Larimer
6b915054d2 potential fix for peer not disconnecting after invalid block 2015-09-21 08:46:55 -04:00
Eric Frias
cdd5cae385 Add extra error reporting when we get a list of sync blocks that don't make sense, and replace the assert
with a log+disconnect.
2015-09-19 17:08:57 -04:00
Eric Frias
e5777faa7d Reduce the disconnection timeout in the p2p code for when a peer offers us a block and doesn't respond, now it's one block interval, down from three. This is intended to reduce the chance of a slow peer causing us to push blocks out of order. 2015-09-18 09:39:43 -04:00
Eric Frias
0046cc0698 Fix error messages generated when peer is syncing with empty blockchain 2015-09-11 15:26:55 -04:00
Eric Frias
f9a27059e5 Fix incorrect error message generated when syncing with peer that has no blocks 2015-09-11 10:09:42 -04:00
Eric Frias
8e9bd890a8 Fix bugs, improve logging in p2p sync 2015-09-10 19:33:11 -04:00
Eric Frias
928b6934e0 Merge branch 'master' into p2p_sync_fixes
Conflicts:
	libraries/chain/include/graphene/chain/database.hpp
2015-09-10 17:34:20 -04:00
Eric Frias
b6bba74301 Restore much of the syncing code from BitShares 0.x, and add optimizations that prevent us from attempting to sync with peers those blockchain diverged from ours many blocks ago, which also reduces the size of sync messages. Add logging. 2015-09-10 08:56:29 -04:00
theoreticalbts
8ebc1cfc43 node.cpp: Don't dump empty iterators 2015-09-08 16:08:11 -04:00
Eric Frias
a943de8b76 When rolling back on save, remove the rolled back blocks from our
databases so when we restart and begin syncing, we re-download and
push those rolled back blocks  (fixes bug introduced in
a5071f2568).
Fix logging of incorrect block numbers in p2p log.
2015-09-04 15:22:12 -04:00
Eric Frias
5662a8423c Increase duration of message cache from two blocks (which in practice meant anything > 1 block) to 30 blocks, and move the constant to config.hpp 2015-09-02 17:26:26 -04:00
Eric Frias
d35e2d6d4e reorder the p2p network's terminate_inactive_connections_loop() to prevent us
from being interrupted before we delete an unresponsive peer #288
2015-09-02 12:15:02 -04:00
Eric Frias
c0b9af9a99 Greatly reduce the amount of time the p2p network code will wait for a peer to
return a requested block/transaction.  Make this time dependent on the actual block
interval.  This should allow the the node to give up and request the block from
another peer before the ~30 second undo interval has passed.
Fix the merkle root calculation to avoid reading
past the end of a vector.  Modify the algorithm to do what was likely intended
(this modification is currently disabled because it will yield different results
than the currently-running testnet)
Fix windows build errors.
2015-08-24 09:57:47 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -04:00
Vikram Rajkumar
d0b8c66aad Fix Linux Clang build with missing includes; resolve #174 2015-07-20 14:57:08 -04:00
Eric Frias
11a5d2b620 When the p2p code processes a block that contains transactions
we haven't seen, avoid fetching those transactions separately
2015-07-16 15:31:52 -04:00
Vikram Rajkumar
d9855f9023 Clean up some TODOs; #77 2015-07-15 18:15:41 -04:00
Vikram Rajkumar
12d8f3732e Minor 2015-07-13 16:08:16 -04:00
theoreticalbts
e201e59b3d Define GRAPHENE_MIN_BLOCK_INTERVAL and use it to fix minimum_time_of_last_offered_block logic #154 2015-07-13 12:33:52 -04:00
Daniel Larimer
fdcf821c41 Progress on #144 - refactoring fee schedule 2015-07-08 18:45:53 -04:00
Eric Frias
49acfb3bd6 Fix up application_impl's has_item() which was throwing to indicate a
missing item instead of returning false.  #55
2015-06-25 10:36:28 -04:00
Eric Frias
11b357494b Remove leveldb code from peer database, replace with writing to json
file.  Still need to add code to periodically write the file out to
disk.
2015-06-24 18:21:20 -04:00
Eric Frias
1b9ca9ffe8 Add wallet command for whitelisting accounts.
Re-enable shutdown in node code which was causing some (not all) of the
errors in two_node_network test #55, and likely occasional crashes at
shutdown for the witness node
2015-06-20 18:36:02 -04:00
Nathan Hourt
0a945b0257 Initial commit 2015-06-08 12:36:37 -04:00