Daniel Larimer
514148d780
Fix #349 - Prevent potential overflow on rational math
2015-10-08 16:57:19 -04:00
theoreticalbts
97423812a1
db_init.cpp: Check for imbalanced assets
2015-10-08 16:16:51 -04:00
Daniel Larimer
edee4ffd48
fix for syncing
2015-10-08 15:58:13 -04:00
Daniel Larimer
e2b5b24f5d
Merge branch 'master' of github.com:cryptonomex/graphene
2015-10-08 15:41:13 -04:00
Daniel Larimer
6bf35c52a4
adding debug
2015-10-08 15:41:10 -04:00
theoreticalbts
43a2660143
db_management.cpp: Allow us to skip rewind on close()
2015-10-08 15:26:13 -04:00
theoreticalbts
5b4398fb44
db_block.cpp: Respect skip_block_size_check when generating block
2015-10-08 15:26:13 -04:00
theoreticalbts
3f00bd81b9
HARDFORK Disallow publishing certain malformed price feeds, fix #357
2015-10-08 15:26:13 -04:00
theoreticalbts
9b910ee1a4
HARDFORK Allow digits in asset name; fix #359
2015-10-08 15:26:13 -04:00
theoreticalbts
17aac27bec
application.cpp: Implement --force-validate command line option
2015-10-08 15:26:13 -04:00
Eric Frias
5e6f5506ec
Win32 compile fix (#warning)
2015-10-08 15:23:26 -04:00
Eric Frias
573a6d6e97
Win32 compile fix, add extra data to one call to FC_ASSERT for better debugging.
2015-10-08 15:17:01 -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
70fefe4f5f
fix dreference of null
2015-10-08 15:11:32 -04:00
Daniel Larimer
eb1895ef55
fix derefrence of null, fix build, restore compat with oct5 test net
2015-10-08 15:03:35 -04:00
Daniel Larimer
be7c0076d0
fix dereferencing of deleted objects
2015-10-08 14:55:01 -04:00
Daniel Larimer
a536d39253
TESTNET RESET REQUIRED - convert all hashed indexs to ordered indexes
...
Fix #362 by replacing non-deterministic hashed indexes with ordered
indexes
Remove HARDFORK check for witness ordering because this #362 will
require a test net reset to effeciently implment.
Changed the order in wich process_fees iterates accounts to be "by_name"
rather than "by_id" so that we retain the ability to switch back to
hashed indexes in the future.
This change was overly pestimistic and assumes all indexes may be
traversed as part of consensus. We want to reserve the ability to
change some of the indices back to hashed indicies in the future after a
through audit reveals that they are never iterated over in order.
2015-10-08 14:06:20 -04:00
Daniel Larimer
45f7819aba
adding some hashing methods to db for debugging
2015-10-08 13:40:01 -04:00
theoreticalbts
bfef440968
fork_database.cpp: Fix overflow
2015-10-07 12:47:16 -04:00
Daniel Larimer
fe552a42d0
removing unnecessary assert
2015-10-07 11:09:28 -04:00
Daniel Larimer
8e96d9c89c
clean up print statements, minimize undo/fork history
2015-10-07 10:15:32 -04:00
Daniel Larimer
cb6b548dd1
Merge branch 'master' of github.com:cryptonomex/graphene
2015-10-07 09:10:12 -04:00
Daniel Larimer
f05475cc8f
Fix #355 - Test Net HARDFORK at block 58500
2015-10-07 09:10:03 -04:00
theoreticalbts
36625805fb
delayed_node_plugin.cpp: Use new last_irreversible_block property, change to polling architecture
2015-10-05 14:49:54 -04:00
Daniel Larimer
3ded0d4e77
adjust undo buffer based upon last_irreversible_block_num
2015-10-05 09:46:02 -04:00
Daniel Larimer
1e1617633c
removing hard fork
2015-10-05 08:55:32 -04:00
Daniel Larimer
bb0ea77e80
throttling P2P code
2015-10-05 08:44:59 -04:00
theoreticalbts
93a108487d
Implement last_irreversible_block_num
2015-10-02 17:19:23 -04:00
Daniel Larimer
5adb85cde9
Merge branch 'master' of github.com:cryptonomex/graphene
2015-10-02 16:06:30 -04:00
Daniel Larimer
3aafd6cf55
HARDFORK 8/3/2015 - fix calculation for number of witnesses
...
The new witness count calculation set a threshold equal to 50% of
all stake rather than 50% of all stake that has voted for at least 2
witnesses.
2015-10-02 15:40:58 -04:00
theoreticalbts
9b4be66aca
db_update.cpp: If there is no feed, bail sooner in check_for_blackswan()
...
This is a performance optimization only, no semantics change.
2015-10-02 10:53:25 -04:00
Daniel Larimer
44a7376219
remove extra spam
2015-10-02 09:23:03 -04:00
Daniel Larimer
2ed45db75b
remove hard fork code
2015-10-02 08:57:02 -04:00
Daniel Larimer
1137120aa2
address rounding errors in fee calculation
2015-10-01 16:32:30 -04:00
Daniel Larimer
18c0558e6f
HARDFORK - dont count votes for 0 or 1 witnesses
...
Accounts that abstain from voting should not be factored into the
desired number of witnesses because it would heavily bias the count
toward 0.
2015-10-01 13:56:29 -04:00
Daniel Larimer
26288549e6
Fix blackswan on force settle, Fix #346 and #347
...
- fix detection and handling of black swan events
- fix total core in orders calculation from genesis
2015-09-30 18:30:44 -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
theoreticalbts
5885c243fb
market_history_plugin.cpp: Fix compiler warning
2015-09-29 12:16:17 -04:00
theoreticalbts
00253b396e
object_database.cpp: Don't crash when a bogus type_id is passed
2015-09-29 12:09:43 -04:00
theoreticalbts
6daa54da46
cli_wallet: Implement propose_fee_change
2015-09-29 11:55:26 -04:00
theoreticalbts
96e8f8dd6d
cli_wallet: Improve propose_parameter_change interface
2015-09-29 11:55:26 -04:00
Daniel Larimer
650af1778d
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-29 10:49:14 -04:00
Daniel Larimer
edcd46dd14
fix reindex with failed proposed transaction
2015-09-29 10:49:12 -04:00
theoreticalbts
9d3bcbb569
Provide objects to trace budget computations
2015-09-28 15:46:37 -04:00
Daniel Larimer
d3b283b60e
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-28 15:42:52 -04:00
Daniel Larimer
b65763fdb6
added extra code to track a reverse index on whitelist/blacklist
2015-09-28 15:42:38 -04:00
Daniel Larimer
246459af3f
removing print statement
2015-09-28 12:18:58 -04:00
theoreticalbts
a415dd6604
Don't use annotated_object #246
2015-09-28 12:15:17 -04:00
theoreticalbts
2cf80cd04a
Remove vestigial meta objects #246
2015-09-28 12:15:17 -04:00
theoreticalbts
91af21d50c
db_management.cpp: Properly clear_pending in close(), fix #336
2015-09-28 12:15:17 -04:00
theoreticalbts
8d52e2dda8
database: Scrub db in open() to force reindex if DB is outdated
2015-09-28 12:15:17 -04:00
theoreticalbts
8b98b6200b
db_update.cpp: Fix compiler warning
2015-09-28 12:15:17 -04:00
theoreticalbts
0d7baa2b52
database: Remove obsolete retry_on_failure parameter
2015-09-28 12:15:17 -04:00
theoreticalbts
f972cff9d7
Clean up uninitialized integers
2015-09-28 12:15:17 -04:00
theoreticalbts
4c619414ae
db_block.cpp: Add some comments
2015-09-28 12:15:17 -04:00
theoreticalbts
35acfff060
database: Implement before_last_checkpoint() function
2015-09-28 12:15:17 -04:00
theoreticalbts
1fb327f6a0
object_id.hpp: Add is<T>() and as<T>() template functions to object_id_type
2015-09-28 12:15:17 -04:00
Eric Frias
d01fc0ac44
Allow delayed-node plugin options to be set on conmmand line (in
...
addition to in config file) like most other plugins
2015-09-24 12:04:44 -04:00
Daniel Larimer
a3082897ae
HARDFORK: fix address authority
...
Accounts that use address_auths rather than key_auths would fail to
recognize a properly signed transaction. This is only relevant to
genesis accounts for imported collateral positions.
2015-09-24 10:10:36 -04:00
Daniel Larimer
738abf03af
adding API call to get potential address sigs: Fix #337
2015-09-23 18:22:38 -04:00
Daniel Larimer
2afe62f8ab
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-23 16:23:06 -04:00
Daniel Larimer
675f637090
update fc ntp requirments
2015-09-23 16:23:05 -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
Daniel Larimer
0ba1154e6e
comment out logging spam
2015-09-22 16:50:45 -04:00
theoreticalbts
4a7e133456
Fix price feed publishing for assets owned by witness account #328
2015-09-21 17:36:36 -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
f8bb0b4008
Fix debug mode build
2015-09-21 11:01:11 -04:00
theoreticalbts
a2b6f1a741
Change assert to elog #334
2015-09-21 11:01:11 -04:00
theoreticalbts
44f5bac305
api: Fix get_config API call #333
2015-09-21 11:01:10 -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
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
26e5a72b8a
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-18 13:42:15 -04:00
Daniel Larimer
26007bb655
update shuffling algorithm
2015-09-18 13:42:12 -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
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
e008cbb70b
database_api.cpp: Include smart_ref_impl, fix #321
2015-09-17 13:45:12 -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
Eric Frias
1177cfe0ed
Reverse direction of fork history used in block syncing
2015-09-15 09:19:39 -04:00
Daniel Larimer
f506c2b089
better debugging messages around crashes
2015-09-15 08:38:27 -04:00
Daniel Larimer
640d69aa05
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-14 18:07:09 -04:00
Daniel Larimer
225acfff25
fetch workers by vote_id
2015-09-14 18:07:07 -04:00
Eric Frias
f0f12076fa
Win32 compile fixes
2015-09-14 16:05:32 -04:00
Eric Frias
dd7d57c5ac
Fix invalid assertion about fork database results
2015-09-14 15:25:04 -04:00
Daniel Larimer
93c72b0595
wallet api now returns the memo and a human readable description
2015-09-14 11:33:18 -04:00
Eric Frias
30ae8e4f34
Remove debugging code
2015-09-11 19:27:31 -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
Daniel Larimer
cf7a67ec76
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-11 17:35:07 -04:00
Eric Frias
76a36a67ac
Fix race condition that happens when we're pushing sync blocks faster than get_synopsis calls are getting through to the main thread
2015-09-11 17:33:20 -04:00
Eric Frias
e9e3b0d679
Fix an instance where we were reporting that the peer was on an unreachable blockchain when they really weren't
2015-09-11 16:15:05 -04:00
Eric Frias
0046cc0698
Fix error messages generated when peer is syncing with empty blockchain
2015-09-11 15:26:55 -04:00
theoreticalbts
a083f7b955
api: Split database_api off into own file, reorder methods by topic
2015-09-11 12:37:36 -04:00
theoreticalbts
cf15aa1df1
Remove unused file
2015-09-11 12:37:25 -04:00
Eric Frias
1141d1ce89
Disable log messages that logged every step in the process of queueing and sending messages to peers, they were seldom useful.
2015-09-11 11:17:52 -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
Daniel Larimer
7803b92324
Updating fc link
2015-09-11 08:56:16 -04:00
Daniel Larimer
b3052dfcc1
fix warnings
2015-09-11 08:53:50 -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
Daniel Larimer
70746b82ad
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-10 16:23:02 -04:00
theoreticalbts
358a88037c
wallet.cpp: Subscribe to block updates, fix #302
2015-09-10 15:56:08 -04:00
theoreticalbts
77ac6eb689
db_init.cpp: Don't allocate unnecessary asset_dynamic_data_object
2015-09-10 15:41:43 -04:00
theoreticalbts
e1530709d9
witness.cpp: Set skip_undo_history_check when --enable-stale-production is specified
2015-09-10 15:41:43 -04:00
theoreticalbts
0b6f7fe430
wallet.cpp: Ask remote DB for accounts on startup
2015-09-10 15:41:43 -04:00
Daniel Larimer
85fd62ae29
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-10 09:48:13 -04:00
Daniel Larimer
af79de03c4
remove spam
2015-09-10 09:47:26 -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
b8b2bcf97e
Implement --dbg-init-key command line option to take control of init witnesses for debugging #307
2015-09-09 17:54:30 -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
theoreticalbts
b84154d6e7
wallet.cpp: Call update_account() to sync all account states to the blockchain when loading a wallet
2015-09-08 16:08:15 -04:00
theoreticalbts
8ebc1cfc43
node.cpp: Don't dump empty iterators
2015-09-08 16:08:11 -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
a84e56c2aa
fix market subscriptions
2015-09-03 17:43:26 -04:00
Daniel Larimer
a5071f2568
rollback on save
2015-09-03 17:42:52 -04:00
Daniel Larimer
86bb4cdbca
restoring p2p code
2015-09-03 08:31:03 -04:00
Daniel Larimer
198cfd1231
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-02 18:43:21 -04:00
Daniel Larimer
1ebd0f5af6
Updating wallet to report participation rate.
2015-09-02 18:42:42 -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
theoreticalbts
025130b096
application.cpp: Fix --api-access option name
2015-09-02 14:57:02 -04:00
theoreticalbts
d2092e0d3a
cli_wallet: Expose network_node API
2015-09-02 14:56:48 -04:00
Daniel Larimer
e450861166
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-02 12:18:03 -04:00
Daniel Larimer
b67e308464
updating submodule
2015-09-02 12:17:59 -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
dd04bab521
Fix compile errors, win32 and otherwise
2015-09-02 09:48:17 -04:00
theoreticalbts
00a2d2dac7
Revert "Fix log issue in witness.cpp block_production_loop"
...
This reverts commit c9fbc8a411 .
Updated version of fc is published, so this fix is no longer necessary.
2015-09-01 16:33:18 -04:00
theoreticalbts
b0fd510d51
cli_wallet: Print signing_key in base58
2015-09-01 16:33:11 -04:00