Daniel Larimer
738abf03af
adding API call to get potential address sigs: Fix #337
2015-09-23 18:22:38 -04:00
theoreticalbts
4a7e133456
Fix price feed publishing for assets owned by witness account #328
2015-09-21 17:36:36 -04:00
theoreticalbts
f8bb0b4008
Fix debug mode build
2015-09-21 11:01:11 -04:00
Daniel Larimer
6b915054d2
potential fix for peer not disconnecting after invalid block
2015-09-21 08:46:55 -04:00
theoreticalbts
f7980f5252
scheduler: Refactor 26007bb655 to use witness_schedule_object
...
The functionality is equivalent, but it now uses a separate witness_schedule_object,
and the code now lives in db_witness_schedule.cpp.
2015-09-18 14:26:54 -04:00
Daniel Larimer
966df708a5
fix unit tests
2015-09-18 13:56:32 -04:00
Daniel Larimer
26007bb655
update shuffling algorithm
2015-09-18 13:42:12 -04:00
Daniel Larimer
c875c8ac11
Remove spam on reindex, only report missed blocks in real time
2015-09-18 09:19:11 -04:00
Daniel Larimer
465280fbcb
Improved Logging, track blocks missed by witnesses
2015-09-18 09:13:17 -04:00
theoreticalbts
f0502ee2f1
Implement virtual op for settlement cancel #250
2015-09-17 15:46:15 -04:00
theoreticalbts
b9727e6e1c
Increase logging, improve error messages
2015-09-17 12:11:40 -04:00
theoreticalbts
e0414d390e
Fix pending_block and fork handling
...
The pending_block member of database was a premature optimization and had an
unfortunate tendency to get out of sync, especially when switching forks.
This commit removes it, and substantially improves the handling of transactions
when switching forks. Specifically, flooding or forking no longer causes nodes to
discard valid transactions.
2015-09-17 12:11:40 -04:00
theoreticalbts
ec030ee46c
vesting_balance_evaluator.cpp: Add some logging #312
2015-09-17 11:29:41 -04:00
theoreticalbts
c6cb743588
db_management.cpp: Remove loop that does nothing
2015-09-17 11:29:41 -04:00
theoreticalbts
81cc8e4d81
Fix maintenance time computation #313
2015-09-16 11:10:57 -04:00
theoreticalbts
e4a45de195
Remove maximum_expiration for good, fix #308 [HARDFORK]
2015-09-16 10:18:54 -04:00
theoreticalbts
c57806bb85
Always generate blocks linking to head_block_id()
2015-09-15 10:54:04 -04:00
Daniel Larimer
f506c2b089
better debugging messages around crashes
2015-09-15 08:38:27 -04:00
Eric Frias
dd7d57c5ac
Fix invalid assertion about fork database results
2015-09-14 15:25:04 -04:00
Daniel Larimer
1202c0258d
Merge branch 'p2p_sync_fixes'
2015-09-11 17:57:11 -04:00
Daniel Larimer
127ac7f3de
add api to query worker state
2015-09-11 17:47:27 -04:00
theoreticalbts
cf15aa1df1
Remove unused file
2015-09-11 12:37:25 -04:00
Daniel Larimer
b3052dfcc1
fix warnings
2015-09-11 08:53:50 -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
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
Daniel Larimer
4228360409
adding extra indexing of accounts by address auths
2015-08-20 15:19:15 -04:00
Daniel Larimer
2f0065d593
genesis file specifies 101 min
2015-08-20 13:23:25 -04:00
Daniel Larimer
714261b02a
merging changes
2015-08-20 08:49:18 -04:00
Daniel Larimer
8a9120e517
increasing the default minimum number of witnesses to 101 for testing
2015-08-20 08:47:38 -04:00
Nathan Hourt
eeeab17477
Polish out-of-order-block handling, write test case
2015-08-19 13:07:13 -04:00
Daniel Larimer
15c99bd65b
Address #247 - out-of-order blocks in fork db
...
- with this change the fork database now caches blocks that do not link
and attempts to link the unlinked blocks after every new block is
successfully linked.
- with this change the fork database only tracks blocks as far back as
the undo history allows. This significantly reduces memory usage when
there is high witness participation.
2015-08-19 09:47:10 -04:00
Nathan Hourt
2244e467ed
Fix whitespace
2015-08-17 16:38:55 -04:00
theoreticalbts
2212cfe95b
config.hpp: Remove unused constants GRAPHENE_DEFAULT_NUM_WITNESSES, GRAPHENE_DEFAULT_NUM_COMMITTEE
2015-08-17 15:21:55 -04:00
theoreticalbts
4ecdea1ce2
Move min_witness_count and min_committee_member_count from config.hpp to chain_properties #235
2015-08-17 15:21:55 -04:00
theoreticalbts
a888c81ac4
worker_evaluator.hpp: Explicitly cast types in signed subtraction
2015-08-17 15:21:55 -04:00
theoreticalbts
29b7f343a6
Remove chain_id from global_property_object
2015-08-17 15:21:55 -04:00
Vikram Rajkumar
73cc012db9
Allow restarting block production with dummy checkpoint
2015-08-17 13:56:59 -04:00
theoreticalbts
3a7e65c888
chain_property_object: Implement chain_property_object as container for unchangeable properties set at genesis #238
2015-08-17 13:38:35 -04:00
Daniel Larimer
c0c36ca639
votable objects now keep track of their most recent vote count
2015-08-14 17:56:21 -04:00
theoreticalbts
ce624827f6
Include smart_ref_impl.hpp when dereferencing smart_ref #231
2015-08-13 14:28:54 -04:00
Daniel Larimer
80602a1f7b
adding api to query vote objects by id
2015-08-13 09:22:05 -04:00
theoreticalbts
96fb8f60c2
fee_tests.cpp: Make sure validation actually enforces nonzero fees
2015-08-12 14:26:48 -04:00
theoreticalbts
dffd010e8a
Implement and expose get_config() to allow API access to compile constants #229
2015-08-11 15:22:12 -04:00
theoreticalbts
f6c99f96b7
genesis_state.hpp: Specify definite size for initial_active_witnesses
2015-08-11 15:22:12 -04:00
theoreticalbts
3eedabbac2
Compute scaled precision at compile time, use in tests (fixes failures by prev commit)
2015-08-11 15:04:48 -04:00
theoreticalbts
44c174ad4a
config.hpp: Remove CORE constant
2015-08-11 13:14:57 -04:00
Nathan Hourt
a4e5a03973
Resolve #161 : Fix account creation fee scaling
2015-08-10 16:39:09 -04:00
theoreticalbts
2d1e76aed0
Get rid of chain ID global, move chain_id_type to types.hpp
2015-08-06 12:56:40 -04:00
theoreticalbts
2e9876b557
Implement chain-locked transactions
2015-08-06 12:56:37 -04:00
theoreticalbts
9f9c1e7895
egenesis: Initial implementation of embedded genesis
2015-08-06 12:42:59 -04:00
theoreticalbts
4e3a27156e
genesis_state.hpp: Fix missing include
2015-08-06 12:40:53 -04:00
theoreticalbts
c6debcd59c
transaction.cpp: Remove no-op
2015-08-06 12:40:53 -04:00