Eric Frias
9c650bddb0
Make conversions from boost's uint128_t to builtin int64_t explicit, without these
...
the compiler prefers to convert through operator bool yielding either 1 or 0.
2015-10-10 17:13:56 -04:00
theoreticalbts
434efcaa47
asset_evaluator.cpp: Fix compiler warning
2015-10-09 15:38:34 -04:00
theoreticalbts
f0f96d5a8f
Allow witness-fed and committee-fed BitAsset feeds to be specified in flags.
...
This is only technically a hardfork, in order to actually desync the chain
the witness account / committee account would need to pass a proposal to do
something in their capacity as the owner of an asset_object. It should be
fairly safe to say that this will not occur on testnet until witnesses have
upgraded.
2015-10-09 13:23:55 -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
Eric Frias
2a07fba3c2
Win32 compile fixes (#warning)
2015-10-09 11:43:22 -04:00
Daniel Larimer
e68e99ed3a
Merge branch 'master' of github.com:cryptonomex/graphene
2015-10-08 16:57:45 -04:00
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
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
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
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
f05475cc8f
Fix #355 - Test Net HARDFORK at block 58500
2015-10-07 09:10:03 -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
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
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
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
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
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
theoreticalbts
c7444f8d4d
Implement minimal "make install" command #219
2015-08-06 12:40:53 -04:00
Vikram Rajkumar
8a8130f620
Fix genesis init bug; #17
2015-07-31 16:06:26 -04:00
Daniel Larimer
87d3d1a198
Update API and remove SPAM
...
subscribe_to_objects now returns the initial value of the objects, this
makes it easy for someone to fetch and subscribe in a single atomic step
rather than having to call get and then subscribe which could lead to
some inconsistencies if the object was modified after get but before
subscribe.
2015-07-31 09:53:49 -04:00
theoreticalbts
9dfb0d9650
Refactor impacted_accounts into app #183
2015-07-30 12:38:59 -04:00
Nathan Hourt
82ea3c1edd
[GUI] Add transaction signing
...
TODO: encrypt the memo (some work to facilitate this is done in this
commit)
2015-07-29 17:56:37 -04:00
theoreticalbts
1b5a7cb213
Implement max_auth_exceeded exception, internal exc framework, small refactor
...
Refactor tasks:
- Delete obsolete, commented-out implementation of verify_authority
- Make verify_authority_accounts an implementation detail of account_evaluator.cpp
- Create internal_exception macros / header
- Implement max_auth_exceeded and auth_account_not_found exceptions
2015-07-28 17:10:52 -04:00
theoreticalbts
35ab119b26
Fix throwing incorrect exception type
2015-07-28 17:10:52 -04:00
theoreticalbts
36e155bc0c
Implement tx_duplicate_sig exception, fix committee_authority test
2015-07-28 17:10:52 -04:00
theoreticalbts
54103da9a8
Implement tx_irrelevant_sig exception, fix assert_op_test
2015-07-28 17:10:52 -04:00
theoreticalbts
5b9cd9122e
Implement skip_slots
2015-07-28 11:58:22 -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
0d0be55e10
db_witness_schedule.cpp: Implement genesis as special case in get_slot_time()
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
Nathan Hourt
5d7ae4e6a8
[GUI] More work to support transactions
...
- Refactor GUI with FormBase.qml
- Fix memo handling in TransferOperation
- Add TransactionConfirmationForm.qml which will eventually display a
transaction for confirmation
2015-07-27 16:01:22 -04:00
Eric Frias
6d2b1a3648
Win32 compile fixes (missing includes, workaround for bugs in c++ parser)
2015-07-27 12:09:34 -04:00
Daniel Larimer
e4ff106cd4
Partial Wallet support for Blind Transfers
...
public->blind
blind->blind
TODO: blind->public
2015-07-24 11:37:37 -04:00
Daniel Larimer
c740d2b3c8
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-23 18:47:32 -04:00
Daniel Larimer
57ca0c0e39
Wallet Support for Some Confidential Transactions
...
Support public account to blinded balance
Support receiving blinded balance given confirmation
Implement but not test blind to blind transfers.
2015-07-23 18:46:06 -04:00
theoreticalbts
430bbe42ab
database.hpp: Make open() non-templated, move implementation out of header
2015-07-23 16:41:17 -04:00
Vikram Rajkumar
5d3bd282c8
Try to fix linking error; #202
2015-07-23 15:09:38 -04:00
theoreticalbts
dab74132f2
CMakeLists.txt: Reorder so database is first to build
2015-07-23 13:37:06 -04:00
theoreticalbts
cd6b574141
types.hpp: Move voting stuff to separate header
2015-07-23 13:37:06 -04:00
Vikram Rajkumar
c14ac442f5
Simplify genesis state; #17
2015-07-23 11:53:36 -04:00
Daniel Larimer
c9688ae051
Fix #200 Fee Schedule is now validated when chain_paramters are validated
2015-07-22 18:40:12 -04:00
Nathan Hourt
bfa3e71393
Add return value to transaction::visit
2015-07-22 17:38:48 -04:00
theoreticalbts
44e7a8cb46
transaction.cpp: Make depth parameter uint32_t, silence compiler warning
2015-07-22 17:13:45 -04:00
theoreticalbts
83c8b4c5f9
transaction.cpp: Implement minimize_required_signatures and nonminimal_sig_test
2015-07-22 17:13:45 -04:00
Daniel Larimer
6f19268ffd
Merge branch 'confidential'
2015-07-22 16:24:07 -04:00
theoreticalbts
9b6998af6d
config.hpp: Increase GRAPHENE_MIN_ACCOUNT_NAME_LENGTH to 3
...
Length requirement is enforced by RFC 1035 grammar. Use a compiler
error to tell anyone changing config.hpp that any value for this
constant smaller than 3 is unsupported by the implementation.
2015-07-22 16:01:14 -04:00
theoreticalbts
de435d9d51
whitespace fixes
2015-07-22 16:01:13 -04:00
Daniel Larimer
be65c277c9
Implement and Test Confidential Transactions
...
This checkin contains a fully functional confidential transaction
integration with passing unit tests.
2015-07-22 14:45:13 -04:00
theoreticalbts
3e5d3495e1
Remove some dead code
2015-07-22 13:18:09 -04:00
Nathan Hourt
3196eb75a7
Fixes
2015-07-22 13:17:49 -04:00
Nathan Hourt
9a3a6a5234
Set core asset issuer to null account
...
No one should be able to interfere with the behavior of core asset, so
codify this.
2015-07-22 10:09:07 -04:00
theoreticalbts
d343a71c56
asset_evaluator.cpp: Enforce issuer permissions #176
2015-07-21 16:07:14 -04:00
Daniel Larimer
3e41f726a7
Issue #45 Market Subscription Standardization
...
When subscribing to markets the callback will now receive something that
looks like this:
[ "REMOVED ID1", "REMOVED ID2", ...,
{ "id": "UPDATED ID3", data... },
{ "id": "UPDATED ID4", data... },
...
[ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
[ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
[ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
[ FILL_OPERATION_TYPE_ID, { fill order operation data } ]
]
When ever an order is removed from the order book, its ID will be
included as a string. When an order is modified the new order data is included as
an object. And the operations describing how orders were matched and
what fees are paid will be included as an operation, aka array.
Also added means to unsubscribe from full account data (issue #166 )
2015-07-21 15:51: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
b3d299d241
#170 Make sure accounts cannot be updated with impossible auhtority settings
2015-07-21 09:23:14 -04:00
Daniel Larimer
a55b348e6c
#170 Make sure TEMP ACCOUNT cannot be updated
2015-07-21 08:34:38 -04:00
Vikram Rajkumar
d0b8c66aad
Fix Linux Clang build with missing includes; resolve #174
2015-07-20 14:57:08 -04:00
Daniel Larimer
517ea70c95
#169 - Removing Bulk Discounts
2015-07-17 22:07:07 -04:00
theoreticalbts
c67acc0cf5
uia_tests.cpp: Implement transfer_restricted_test
2015-07-17 20:48:49 -04:00
theoreticalbts
d52461b77b
operation_tests.cpp: Implement reserve_asset_test
2015-07-17 15:54:18 -04:00
Daniel Larimer
46fae5cbbf
make max authority check depth configurable by delegates
2015-07-17 09:41:08 -04:00
Daniel Larimer
2492df752d
Merge branch 'auth_refactor'
2015-07-17 01:02:29 -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
Nathan Hourt
723b11533b
Progress #166 : Initial implementation of get_full_accounts API call
2015-07-16 17:04:35 -04:00
Daniel Larimer
dc8849f23b
Active key is not required when owner key present
...
- when updating account there is no need to sign with the active key if
the owner has signed.
- when updating an account the active key is enough to update the
active key.
2015-07-16 16:09:32 -04:00
theoreticalbts
3cdcf5139f
market_evaluator.cpp: Fix call_order_update_evaluator exception logic
2015-07-16 15:32:58 -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
Vikram Rajkumar
46f35d0f89
Fix witness block production failure on block 1; resolve #163
2015-07-16 13:46:17 -04:00
Vikram Rajkumar
d9855f9023
Clean up some TODOs; #77
2015-07-15 18:15:41 -04:00
theoreticalbts
a4496eccb8
Fix #162 by adding an active authority to tests that use account_create_op directly
2015-07-15 17:22:47 -04:00
theoreticalbts
8aa048661f
Remove unused undo_block and undo_transaction skip flags
2015-07-15 17:09:53 -04:00
Eric Frias
8944facd41
Fix signed/unsigned mismatch warning
2015-07-15 14:53:43 -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
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
Daniel Larimer
98e761c9c2
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-13 17:24:29 -04:00
theoreticalbts
c019f18bd4
Implement recent_slots_filled and use it to measure witness participation
2015-07-13 17:02:00 -04:00
theoreticalbts
78f0cfa5cc
account_evaluator.cpp: Remove unused global_property_object
2015-07-13 16:48:16 -04:00
Daniel Larimer
0beeac94aa
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-13 16:23:22 -04:00
Daniel Larimer
8faec763c8
Names must now be unique.
2015-07-13 16:23:12 -04:00
Vikram Rajkumar
2f429e07f1
Rename bad references to delegate -> committee member; #147
2015-07-13 16:08:17 -04:00
Vikram Rajkumar
6043586d15
Rename bad references to delegate -> witness; #147
2015-07-13 16:08:17 -04:00
Vikram Rajkumar
70b77be3bc
Rename bad references to genesis account -> committee account; #147
2015-07-13 16:08:16 -04:00
theoreticalbts
e201e59b3d
Define GRAPHENE_MIN_BLOCK_INTERVAL and use it to fix minimum_time_of_last_offered_block logic #154
2015-07-13 12:33:52 -04:00
Daniel Larimer
a05d88b044
Fix #151 - Witnesses do not produce consecutively
...
- added an option (on by default) to prevent a witness from signing two
blocks in a row because this most likely indicates they have been cut
off from the network.
- added an option where a witness will not produce a block if the
witness participation rate is below a configurable threshold (default
to 33%)
2015-07-13 09:47:03 -04:00
Daniel Larimer
068e579a5f
Update error message for #156
...
Made the error more human friendly.
2015-07-13 08:23:51 -04:00
Daniel Larimer
e8d2b45d67
improve authority checking performance, adding automatic transaction signing helpers
2015-07-10 15:56:44 -04:00
Daniel Larimer
c0da987b02
This file is no longer needed!
2015-07-10 14:08:31 -04:00
Eric Frias
8245b18c98
Win32 compile fixes
2015-07-10 11:55:12 -04:00
Daniel Larimer
49937daeb8
Rename delegate_signature->witness_signature #147
...
- changed secret hash of block headers from 224 to 160 to save 16 bytes
per header which will add up to 1 MB per day in savings.
2015-07-09 18:11:52 -04:00
Daniel Larimer
a799f064d4
Adding extension points #141
2015-07-09 17:29:30 -04:00
Daniel Larimer
04b8820b3b
Merge branch 'master' into fee_refactor
2015-07-09 16:34:56 -04:00
Daniel Larimer
10bd652168
fix uia_transfer test, update transfer error messages
2015-07-09 16:21:40 -04:00
Daniel Larimer
014e6e7b79
fix uia_fees test
2015-07-09 16:05:57 -04:00
Daniel Larimer
9e150df605
Fix withdraw_witness_pay test
2015-07-09 15:55:10 -04:00
Daniel Larimer
48797c6e93
updating error messages
2015-07-09 15:40:19 -04:00
Daniel Larimer
1fbdbc50e0
fix balance claim authority requirements
2015-07-09 15:28:39 -04:00
Daniel Larimer
a164fbe8fa
fix proposal authority
2015-07-09 15:14:44 -04:00
theoreticalbts
a41384d4b1
asset_ops.hpp: Change bitasset_options member name to bitasset_opts to fix gcc compile
2015-07-09 14:52:22 -04:00
theoreticalbts
6899202892
config.hpp: Fix warning
2015-07-09 14:52:22 -04:00
Daniel Larimer
c49fbd87e7
adding checkpoints #121 to database
2015-07-09 14:09:21 -04:00
theoreticalbts
ae7b904e4a
Clean up some unused files
2015-07-09 11:59:06 -04:00
Daniel Larimer
9699be84e6
Progress on #144
2015-07-09 11:40:37 -04:00
Daniel Larimer
c8f200868c
fix zero all fees #144
2015-07-09 10:15:53 -04:00
Daniel Larimer
c8f0ea4abe
It now builds #144
2015-07-09 09:56:50 -04:00
Eric Frias
5dea2825b5
Win32 compile fixes
2015-07-09 09:51:15 -04:00
Daniel Larimer
786c65d4b4
Merge branch 'master' into fee_refactor
2015-07-09 08:43:45 -04:00
Daniel Larimer
fdcf821c41
Progress on #144 - refactoring fee schedule
2015-07-08 18:45:53 -04:00
Vikram Rajkumar
629d884b84
Share some private keys for testnet balances
2015-07-08 18:10:38 -04:00
Vikram Rajkumar
1023ddee92
Fix genesis account memo key init; #17
2015-07-08 18:10:38 -04:00