Commit graph

35 commits

Author SHA1 Message Date
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
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
theoreticalbts
8b98b6200b db_update.cpp: Fix compiler warning 2015-09-28 12:15:17 -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
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
09c623b3f9 Remove maximum_expiration parameter #308 2015-09-09 16:50:35 -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
2a494d9de0 Merge branch 'witness_schedule_refactor'
Also fix object_id addition
2015-08-27 11:33:42 -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
6c052294e1 Remove block randomness and rewrite witness scheduling 2015-08-26 15:36:27 -04:00
theoreticalbts
c2e5432a30 Remove block randomness and rewrite witness scheduling 2015-08-25 18:01:15 -04:00
Daniel Larimer
a79eff2761 progress toward witness schedule refactor 2015-08-25 13:45:20 -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
Vikram Rajkumar
73cc012db9 Allow restarting block production with dummy checkpoint 2015-08-17 13:56:59 -04:00
theoreticalbts
f80219fd52 Implement maintenance_flag in dynamic_global_properties 2015-07-28 11:58:22 -04:00
Vikram Rajkumar
46f35d0f89 Fix witness block production failure on block 1; resolve #163 2015-07-16 13:46:17 -04:00
Daniel Larimer
9671a92c43 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-15 14:18:32 -04:00
Daniel Larimer
7f54d3d077 Issue #160 - Dynamic Undo History / Minority Fork
The blockchain now has a minimal participation requirement that can only
be overridden with checkpoints.  Any time participation falls below a
minimal level no new blocks may be added.

Currently it requires 66% participation and tolerates short periods of
time below 66% participation with a maximum of 500 consecutive blocks
missed.  For every two blocks produced 1 can be missed with a slack of
999 bias.
2015-07-15 14:13:24 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
Daniel Larimer
cfa95a3f57 Issue #157 - make trx expiration absolute
This is done to comply with the policy that transactions should be self
describing and not depend upon implied state.  This makes things easier
for everyone to understand exactly when a transaction will be invalid
without having to refer to chain state.
2015-07-14 18:46:58 -04:00
Daniel Larimer
baf5531238 Refactored chain library
- remove circular dependency with fee_schedule
- unitiy build db_* as database.cpp
- move protocol definitions in separate directory
- combined some objects/evaluators
- combined limit/call evaluator/objects into market_evaluator.*
2015-07-08 16:39:23 -04:00
Vikram Rajkumar
68744c9de0 Initialize genesis witnesses with default secret commitment; #17, #23 2015-07-07 12:36:31 -04:00
Daniel Larimer
681f0923fe add secondary index to get proposals relevant to a particular account 2015-06-29 17:29:04 -04:00
Nathan Hourt
dba009da4d Resolve #83: core_exchange_rate in feed updates on maintenance 2015-06-26 15:46:16 -04:00
Nathan Hourt
5b55ab71ea Resolve #94
Core exchange rate is now redundantly stored in price feed for
bitassets, and updated when the median feed changes. This allows feed
producers to update the core exchange rate. Redundant storage is
necessary, because the core exchange rate is needed for user-issued
assets as well as market issued assets.
2015-06-26 10:53:12 -04:00
Daniel Larimer
543959fa64 Fix #92 2015-06-25 14:33:46 -04:00
Daniel Larimer
0a5954db70 merge master 2015-06-18 15:31:30 -04:00
Daniel Larimer
ef4ed937cb Fix update_call_order
- redefine price feeds
- clean up unit test spam
2015-06-18 15:17:48 -04:00
theoreticalbts
c65fb6b366 Use with_skip_flags() to handle virtual ops in clear_expired_orders 2015-06-18 12:33:44 -04:00
Daniel Larimer
ca89d5057c remove dependency on level db, bugs left to fix 2015-06-16 15:56:13 -04:00
Daniel Larimer
663036f2aa it builds 2015-06-16 10:14:10 -04:00
Nathan Hourt
0a945b0257 Initial commit 2015-06-08 12:36:37 -04:00