Commit graph

382 commits

Author SHA1 Message Date
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
theoreticalbts
77ac6eb689 db_init.cpp: Don't allocate unnecessary asset_dynamic_data_object 2015-09-10 15:41:43 -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
09c623b3f9 Remove maximum_expiration parameter #308 2015-09-09 16:50:35 -04:00
theoreticalbts
70d3f36fba database: Handle gaps in block database when reindexing 2015-09-09 14:48:06 -04:00
Daniel Larimer
1203140712 Merge branch 'master' of github.com:cryptonomex/graphene 2015-09-09 13:59:48 -04:00
Daniel Larimer
59850cee98 Fix #305 - replay blockchain works again 2015-09-09 13:59:43 -04:00
theoreticalbts
ff2db08475 database: Undo and re-apply pending_transactions before/after pushing a block. Fixes #299 2015-09-09 11:11:58 -04:00
Daniel Larimer
a748883fed adding API callback for observing pending transactions 2015-09-07 18:05:43 -04:00
Daniel Larimer
9080800c5b Updated APIs, fixed crash
- update fc to fix crash in websocket message handling
- added api to verify transactions without broadcasting them
- added api to broadcast a block produced outside the P2P network or
witness
2015-09-07 17:46:47 -04:00
Daniel Larimer
b2c23cd37b Merge branch 'master' of github.com:cryptonomex/graphene 2015-09-07 10:19:54 -04:00
Daniel Larimer
a32075897f adding verify_account_authority api 2015-09-07 10:19:51 -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
3cf1eb5d5c Avoid dereferencing invalid optionals 2015-09-03 18:54:10 -04:00
Eric Frias
1e87ddff00 Fix build error 2015-09-03 18:42:57 -04:00
Daniel Larimer
866c453f1a adding extra checks on startup 2015-09-03 18:12:55 -04:00
Daniel Larimer
a5071f2568 rollback on save 2015-09-03 17:42:52 -04:00
Eric Frias
dd04bab521 Fix compile errors, win32 and otherwise 2015-09-02 09:48:17 -04:00
theoreticalbts
efac97e060 cli_wallet: Implement withdrawal for vesting balance objects #286 2015-09-01 16:21:35 -04:00
Daniel Larimer
fb8d17bb4b max block re-ordering increase 2015-09-01 08:57:42 -04:00
theoreticalbts
8ad1a12149 db_witness_schedule.cpp: Give best_wit a default value of GRAPHENE_NULL_WITNESS #274 2015-08-31 17:26:03 -04:00
theoreticalbts
dd9dbca38c Reserve witness ID 0 2015-08-31 17:26:03 -04:00
theoreticalbts
2a891ac89b Revert "adding fix for edge case"
This reverts commit 3f1b9bbb27.
2015-08-31 12:50:45 -04:00
Daniel Larimer
3f1b9bbb27 adding fix for edge case 2015-08-31 12:18:45 -04:00
Daniel Larimer
c1b5eb95e1 update subscriptions to work with keys 2015-08-28 13:58:49 -04:00
theoreticalbts
40fce42421 db_witness_schedule.cpp: Fix min_witness_separation computation (again) 2015-08-27 16:42:07 -04:00
Daniel Larimer
2a494d9de0 Merge branch 'witness_schedule_refactor'
Also fix object_id addition
2015-08-27 11:33:42 -04:00
Daniel Larimer
3bc66e31a2 potential fix and extra debugging for get_scheduled_witness 2015-08-27 10:46:09 -04:00
theoreticalbts
4a350a5c0c Initialize recently_missed_count to 0 if slots were missed at genesis 2015-08-26 19:06:54 -04:00
Daniel Larimer
12cd23df57 Merge branch 'witness_schedule_refactor' of github.com:cryptonomex/graphene into witness_schedule_refactor 2015-08-26 18:36:36 -04:00
theoreticalbts
013033001f Don't infinitely recurse when block generation fails #261 2015-08-26 18:16:34 -04:00
theoreticalbts
59a3ca32b7 Remove secret hashes from witnesses 2015-08-26 17:43:00 -04:00
theoreticalbts
695978cfa1 Implement committee_member_update operation #258 2015-08-26 17:42:50 -04:00
theoreticalbts
7db477b9d7 Implement witness_update_operation #258 2015-08-26 17:33:19 -04:00
theoreticalbts
19d10e462c Implement GRAPHENE_PROXY_TO_SELF_ACCOUNT #267 2015-08-26 17:09:49 -04:00
theoreticalbts
143c1395c2 Be more explicit about GRAPHENE_COMMITTEE_ACCOUNT 2015-08-26 16:10:34 -04:00
theoreticalbts
e1e73cfe55 genesis: Set aside some low ID's for future special accounts and assets #230 2015-08-26 16:10:34 -04:00
theoreticalbts
6c052294e1 Remove block randomness and rewrite witness scheduling 2015-08-26 15:36:27 -04:00
theoreticalbts
dcc4f8076b database.hpp: Simplify get_scheduled_witness() return value 2015-08-26 15:36:26 -04:00
theoreticalbts
0bcfc69da2 Further improve Merkle root algorithm, implement unit test #266
This commit redefines the hash h of a node in the Merkle tree as:

h(unary_node) = unary_node
h(binary_node) = H(left_child + right_child)

Previous code in c0b9af9a99 defined hash as:

h(unary_node) = H(unary_node + digest_type())
h(binary_node) = H(left_child + right_child)

The improved definition in this commit saves some hash computations.
2015-08-26 15:36:05 -04:00
theoreticalbts
1d2dc6abda cli_wallet: Implement propose_parameter_change to more easily make proposals 2015-08-25 18:02:52 -04:00
theoreticalbts
c2e5432a30 Remove block randomness and rewrite witness scheduling 2015-08-25 18:01:15 -04:00
theoreticalbts
30296d9c36 database.hpp: Simplify get_scheduled_witness() return value 2015-08-25 17:59:15 -04:00
Daniel Larimer
a79eff2761 progress toward witness schedule refactor 2015-08-25 13:45:20 -04:00
Daniel Larimer
0532661937 extra performance while reindexing 2015-08-24 18:50:09 -04:00
Daniel Larimer
2464b788ad improve reindexing performance 2015-08-24 17:57:44 -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
5b3d7d2149 block_database.cpp: Special-case to return false when contains() is passed all-zeros block_id #260 2015-08-21 13:18:52 -04:00
theoreticalbts
a5850bdb91 fork_database.cpp: Update is_known_block and fetch_block to also look in unlinked_index 2015-08-21 13:17:46 -04:00
theoreticalbts
32b18f6c20 block_database.cpp: Argument validation and logging in store() and fetch_block_id() 2015-08-21 13:16:36 -04:00