Commit graph

166 commits

Author SHA1 Message Date
Roman Olearski
27b5c978db completing scheduled (restored) witnesses, setting as default 2017-04-21 14:24:40 +02:00
Roman Olearski
90ec694446 integrating scheduled (old) and shuffled (current) witnesses 2017-04-19 20:31:00 +02:00
elmato
3eb160bed1 Move notification related functions from db_block.cpp to db_notify.cpp 2017-03-22 22:03:45 +00:00
elmato
6d3fbeef55 Include information of impacted accounts relative to the objects created/changed/removed. Only extract the impacted accounts information if there are handlers defined in order prevent useless cpu usage on nodes not exposing the rpc api 2017-03-22 20:14:53 +00:00
elmato
0ecdc90d4d Add the array of ids (that are being removed) to the removed_objects signal 2017-03-22 20:14:53 +00:00
elmato
b2b895ac94 allow to apply_block when exception in database signal handler 2017-03-22 20:14:53 +00:00
elmato
02b2672a39 split notifications (notify_changed_objects) in three signals: new_objects, changed_objects, removed_objects 2017-03-22 20:14:53 +00:00
elmato
823beb7fe5 remove call to notify_changed_objects in _push_transaction 2017-03-22 20:14:53 +00:00
Roman Olearski
7f36b261bf Merge remote-tracking branch 'origin/dividends' into rock-paper-scissors
Adding new chain parameters
Distribute prize money when a tournament ends
2016-11-02 15:30:18 +01:00
Eric Frias
dd0ad9e759 more fixes to get tournament_create/join working in cli wallet 2016-09-12 18:28:45 -04:00
Eric Frias
9b101cefcf Restore secret hashes from witnesses -- this is a selective restore of the parts of commits 59a3ca32b7 and c2e5432a30 that generated the secret hashes (it omits the changes to the witness scheduling algorithm) 2016-09-10 15:28:09 -04:00
theoreticalbts
4dbfe53f1f Merge remote-tracking branch 'graphene/develop' into bitshares 2016-03-16 01:09:52 -04:00
theoreticalbts
77ac461a8a Implement debug_node target #606 2016-03-15 13:36:29 -04:00
theoreticalbts
da9ee0c499 db_block.cpp: Include smart_ref_impl 2016-03-15 13:36:29 -04:00
theoreticalbts
52c0b31bcf Merge remote-tracking branch 'graphene/develop' into bitshares at commit e3478d2338 2016-02-23 12:10:40 -05:00
Eric Frias
d3c6cbf4de Compile fixes for win32 and out-of-source builds 2016-02-17 09:17:00 -05:00
theoreticalbts
4f9bf7cc21 Merge remote-tracking branch 'graphene/develop' into bitshares at commit 1153d77dba
Conflicts:
	libraries/chain/include/graphene/chain/config.hpp
2016-02-16 11:32:14 -05:00
theoreticalbts
d6863a587c Merge branch graphene/develop into bitshares at commit '447018b319668deddf4d55baac168c1afc0a5e21'
Conflicts:
	libraries/chain/include/graphene/chain/hardfork.hpp
	libraries/fc
2016-02-16 11:16:36 -05:00
theoreticalbts
42140fccaa Merge branch graphene/develop into bitshares at commit 'f1b19b15' 2016-02-16 11:04:31 -05:00
Daniel Larimer
89fbb11bb6 Fix #492 - database corruption when closing
The database was attempting to pop blocks for which there was no undo
history. These changes make it impossible to pop blocks if there isn't
a fork db history.
2016-02-15 15:18:44 -05:00
theoreticalbts
b67d223d17 Merge branch '549-fork-cancel-order' into 452-fork-stealth-fba 2016-02-05 12:17:46 -05:00
Daniel Larimer
45e717c181 HARDFORK: fix for hung cancel order 2016-02-02 11:04:22 -05:00
Daniel Larimer
405f81eaf8 HARDFORK: fix for hung cancel order 2016-01-28 20:02:37 -05:00
Daniel Larimer
d9db27d416 extra debug info 2016-01-28 19:46:40 -05:00
theoreticalbts
aa6d13b057 Remove by_account index from account_object #529 2016-01-21 10:39:13 -05:00
theoreticalbts
c1612a434e db_block.cpp: Disable skip_validate #505 2016-01-07 16:04:52 -05:00
theoreticalbts
f1b19b1562 Merge branch '496-cleanup-license-header' into develop 2016-01-07 13:38:52 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
0ccc6722eb Merge branch '483-history-fix-op-numbers' into develop 2016-01-07 11:31:02 -05:00
theoreticalbts
3680b67271 Merge branch '481-history-failed-proposal-ops' into develop 2016-01-07 11:30:50 -05:00
Daniel Larimer
dd5b7708b4 potential fix for hung chain 2016-01-07 11:27:50 -05:00
Daniel Larimer
7c1c7e8504 removing log 2016-01-03 22:50:07 -05:00
Daniel Larimer
16b59e0b42 adding seed node 2016-01-03 22:10:56 -05:00
Daniel Larimer
dca5c95ab5 potential fix for hung chain 2016-01-03 20:40:21 -05:00
theoreticalbts
d60c8a255e Fix optional dereferences 2015-12-16 17:14:41 -05:00
theoreticalbts
7cae3501f8 Fix operation history numbering #483 2015-12-16 11:43:45 -05:00
theoreticalbts
7e0e58f441 Discard from _applied_ops when proposal fails #481 2015-12-15 14:14:57 -05:00
Daniel Larimer
6418f819fd Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-10-22 09:59:03 -04:00
Daniel Larimer
6b469528a1 remove all hardfork checks leftover from testnet 2015-10-20 12:36:47 -04:00
Daniel Larimer
29aec3c28c remove print spam 2015-10-19 16:48:30 -04: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
7fe0e64a5e Fix two places where objects were being used after they were deleted 2015-10-09 11:43:23 -04:00
theoreticalbts
5b4398fb44 db_block.cpp: Respect skip_block_size_check when generating block 2015-10-08 15:26:13 -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
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
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
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
f05475cc8f Fix #355 - Test Net HARDFORK at block 58500 2015-10-07 09:10:03 -04:00
theoreticalbts
93a108487d Implement last_irreversible_block_num 2015-10-02 17:19:23 -04:00
Daniel Larimer
edcd46dd14 fix reindex with failed proposed transaction 2015-09-29 10:49:12 -04:00
theoreticalbts
0d7baa2b52 database: Remove obsolete retry_on_failure parameter 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
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
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
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
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
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
a32075897f adding verify_account_authority api 2015-09-07 10:19:51 -04:00
Daniel Larimer
a5071f2568 rollback on save 2015-09-03 17:42:52 -04:00
theoreticalbts
013033001f Don't infinitely recurse when block generation fails #261 2015-08-26 18:16: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
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
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
Vikram Rajkumar
73cc012db9 Allow restarting block production with dummy checkpoint 2015-08-17 13:56:59 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -04:00
theoreticalbts
66c8cedf52 db_block.cpp: Assert legal slot_num in generate_block() to match header validation assert 2015-07-28 11:58:22 -04:00
theoreticalbts
f80219fd52 Implement maintenance_flag in dynamic_global_properties 2015-07-28 11:58:22 -04:00
Daniel Larimer
dffc83cca9 Refactor full account subscriptions
When subscribing to an account via the get_full_account API it will
start streaming any object relevant to the account that is added,
removed, or modified.
2015-07-21 15:19:52 -04:00
Daniel Larimer
46fae5cbbf make max authority check depth configurable by delegates 2015-07-17 09:41:08 -04:00
Daniel Larimer
8c6e0b9e55 Refactor Authority Checking
transaction_evaluation_state no longer tracks authority validation.
Authority validation is now compeltely independent of the database.
2015-07-17 00:41:43 -04:00
Daniel Larimer
b08b6cb553 Partial work toward auth refactor 2015-07-16 18:13:11 -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
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
Daniel Larimer
e5f8d0f548 removing unecessary field 2015-07-14 18:50:03 -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
da254cdbff Fix #158 - block summary database now only has 2^16 entries 2015-07-14 17:56:42 -04:00
Daniel Larimer
d1c3c7a698 Issue #157 - TAPOS Refinements
1. Implement a TaPoS assert operation predicate that offers full block ID
validation for transactions that want the added security. This is only
required for transactions that are of high value and transfer control of
funds to a newly created identifier and where the witnesses cannot be
trusted.

2. Remove the full block ID from the transaction digest generation.
2015-07-14 17:28:26 -04:00
Vikram Rajkumar
6043586d15 Rename bad references to delegate -> witness; #147 2015-07-13 16:08:17 -04:00
Daniel Larimer
c49fbd87e7 adding checkpoints #121 to database 2015-07-09 14:09:21 -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
fefa0f65f8 Issue #106 - Removing KeyObject
- this is a major refactor of the code and may have broken some behavior
in the wallet or witness nodes.
- this commit changes the serialization of operations
- the chain_tests pass
2015-07-02 01:52:45 -04:00
Nathan Hourt
f29eaa92e2 Fix all outstanding unexpected test failures 2015-07-01 13:53:07 -04:00
Eric Frias
fd94046eb6 Fix integer overflow errors, work around msvc parser bugs. 2015-06-30 18:50:58 -04:00
Daniel Larimer
18a99584a2 Start #116 Index Version Checking
- adding changes for #115 that didn't make the last commit
2015-06-30 18:40:46 -04:00
theoreticalbts
5f5e761ca8 db_block.cpp: Fix tapos rollover logic 2015-06-30 17:07:21 -04:00