theoreticalbts
9b4e270bc4
witness_node: Implement --genesis-timestamp command line parameter
2015-08-31 17:26:03 -04:00
theoreticalbts
f63cbe4868
application.cpp: Fix compiler warning
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
a23e2ec3fe
cli_wallet: Include block_id and signed_by in get_block API result #253
2015-08-28 00:19:45 -04:00
theoreticalbts
40fce42421
db_witness_schedule.cpp: Fix min_witness_separation computation (again)
2015-08-27 16:42:07 -04:00
theoreticalbts
363a7fbeb1
embed_genesis: Update program name in status messages
2015-08-27 15:23:18 -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
Daniel Larimer
b8e16e2e94
fix object id math
2015-08-27 10:45:44 -04:00
Daniel Larimer
df3318efc6
adding extra checks for unusual failure of get_scheduled_witness
2015-08-27 09:08:38 -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
761fcb3d20
fix bloom filter to set optimal parameters
2015-08-26 18:45:06 -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
Daniel Larimer
e5106c15a3
update subscribe callback
2015-08-26 18:01:48 -04:00
theoreticalbts
e5ada2756a
Remove experimental p2p code #273
2015-08-26 17:51:55 -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
d1484fb41e
cli_wallet: Implement approve_proposal to more easily approve proposals
2015-08-25 18:02:52 -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
Eric Frias
cb3c23a17b
Avoid referencing uninitialized memory
2015-08-24 19:35:56 -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
theoreticalbts
aeebb1be09
cli_wallet: Copy ws_server, ws_user, ws_password to new wallet
2015-08-24 15:15:31 -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
Daniel Larimer
7614beb338
Merge branch 'master' of github.com:cryptonomex/graphene
2015-08-21 18:45:01 -04:00
Daniel Larimer
8d0409e524
Ground work for new p2p protocol
2015-08-21 18:44:32 -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
theoreticalbts
6372b25dea
cli_wallet: Expose get_private_key()
2015-08-20 18:49:15 -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
Nathan Hourt
3a9d0df75c
[FWN] Create privileged API login for web UI
...
This resolves #249
2015-08-19 11:40:31 -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
Daniel Larimer
7e42d4b3e8
Fix #242 - witness node crash
...
Rather than using futures and waiting in the destructor, the APIs now
use enable_shared_from_this and the lambda captures a shared pointer to
the API to prevent it from going out of scope. As a result the
destructor can not be called while there is a pending async operation
which removes the need to wait in the destructor and thereby removing
the potential for an exception to be thrown causing this crash.
2015-08-18 11:36:50 -04:00
Daniel Larimer
437a112a66
Fix #244 - Improve log messages
...
- it is not an error to have the next slot be in the future, it happens
every maitenance interval when the skip slots is greater than 0.
- re-order the failure conditions to report configuration issues first,
then other issues second.
2015-08-18 11:06:40 -04:00
Daniel Larimer
d5cc6da54a
adding proposed transactons to the result of get_full_account
2015-08-18 10:50:06 -04:00
Vikram Rajkumar
9c2af06cc6
Fix Linux build
2015-08-17 17:09:19 -04:00
Nathan Hourt
5aa884c574
#237 : Create new delayed_node app
...
Delayed node is much like witness_node, except it doesn't have support
for block productuion (thus cannot be a witness) and it is not intended
to use the P2P network. The delayed node requires a trusted node it can
connect to via RPC and download blocks from. The delayed node will only
download blocks from the trusted node if those blocks have received a
configurable number of confirmations.
This commit effectively resolves #237
2015-08-17 16:38:55 -04:00
Nathan Hourt
baf6bfc17b
Progress #237 : Begin work on delayed_node_plugin
2015-08-17 16:38:55 -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
Eric Frias
ab7fcb9b4a
Win32 build fixes
2015-08-17 12:39:26 -04:00
Daniel Larimer
bf47a1610c
Merge branch 'master' of github.com:cryptonomex/graphene
2015-08-14 17:56:27 -04:00
Daniel Larimer
c0c36ca639
votable objects now keep track of their most recent vote count
2015-08-14 17:56:21 -04:00
Vikram Rajkumar
be55df25d0
Initial work on BTS1 key import in CLI wallet
2015-08-14 17:06:29 -04:00
Nathan Hourt
f3a044d963
[FWN] It seems to work now...
2015-08-14 15:28:24 -04:00
Vikram Rajkumar
d324a78809
Update BTS1 key import format
2015-08-14 12:43:12 -04:00
Vikram Rajkumar
1d633a508a
Update submodules
2015-08-14 12:26:09 -04:00
theoreticalbts
ce624827f6
Include smart_ref_impl.hpp when dereferencing smart_ref #231
2015-08-13 14:28:54 -04:00
Daniel Larimer
25ceb9a277
return vote objects with full_account query
2015-08-13 09:29:16 -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
Vikram Rajkumar
84078831e9
Update submodules; #226
2015-08-10 13:14:25 -04:00
theoreticalbts
f6a13a19f0
wallet.cpp: Put chain_id in wallet_data
2015-08-07 16:45:53 -04:00
theoreticalbts
4d8033443c
application.cpp: Use egenesis instead of create_example_genesis()
2015-08-07 16:45:53 -04:00
theoreticalbts
fa5bbb830f
Revert "fix egenesis build by removing it until theretical can fix it"
...
This reverts commit 274682d431 .
2015-08-06 14:53:32 -04:00
theoreticalbts
b8828e52da
fc: Add missing read_file_contents() function
2015-08-06 14:50:30 -04:00
Daniel Larimer
274682d431
fix egenesis build by removing it until theretical can fix it
2015-08-06 14:46:56 -04:00
Daniel Larimer
23f485e66f
fix build
2015-08-06 14:33:34 -04:00
Daniel Larimer
b6385e2117
Adding API call: get_potential_signatures
...
This call allows wallets to filter the set of keys that may potentially
sign a transaction prior to calling get_required_signatures to get the
minimum subset.
2015-08-06 13:43:18 -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
Daniel Larimer
39c05a0b2e
adding method to get account by name
2015-08-03 16:22:19 -04:00
Nathan Hourt
99d6450473
[GUI] Implement transaction broadcasting
...
Still need to set expiration, so none of the transactions I broadcast
work yet... :( Sadly there is no testnet so I can't finish this. Oh well.
I'm sure it'll be much easier on Monday.
2015-07-31 17:56:27 -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
Daniel Larimer
39c99fd0a7
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-30 16:45:18 -04:00
Daniel Larimer
1b260ab37a
adding spam to detect bugs
2015-07-30 16:45:14 -04:00
theoreticalbts
9dfb0d9650
Refactor impacted_accounts into app #183
2015-07-30 12:38:59 -04:00