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
theoreticalbts
2dedebdca8
witness.cpp: Don't filter witnesses prematurely
...
If invalid witness ID's or keys are specified in the config file,
we simply don't produce until they become valid.
2015-09-01 16:21:37 -04:00
theoreticalbts
efac97e060
cli_wallet: Implement withdrawal for vesting balance objects #286
2015-09-01 16:21:35 -04:00
theoreticalbts
2f88cc86ba
cli_wallet: Implement update_witness command #282
2015-09-01 16:21:33 -04:00
Daniel Larimer
fb8d17bb4b
max block re-ordering increase
2015-09-01 08:57:42 -04:00
abitmore
c9fbc8a411
Fix log issue in witness.cpp block_production_loop
2015-09-01 13:05:02 +02:00
theoreticalbts
687aa7253e
witness.cpp: Add a little logging on startup
2015-08-31 17:26:03 -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
c14494fb68
time: Make timer use fc::time_point instead of fc::time_point_sec so witness plugin can control quantization
2015-08-31 17:26:03 -04:00
theoreticalbts
dd9dbca38c
Reserve witness ID 0
2015-08-31 17:26:03 -04:00
theoreticalbts
b236d46027
witness.cpp: Simplify block production loop
2015-08-31 17:26:03 -04:00
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
Daniel Larimer
8b0a22d849
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-30 09:20:51 -04:00
Daniel Larimer
15bcd5e2a7
optionally subscribe to full account
2015-07-30 09:20:49 -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
Vikram Rajkumar
4d05f09613
Update submodules
2015-07-29 13:53:21 -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
Daniel Larimer
fa9b71a463
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-27 17:50:24 -04:00
Daniel Larimer
86564e2a1b
Resolve #207 Add API to get required fees.
2015-07-27 17:50:02 -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
619e8dd3a7
updating fc with tap complete for cli wallet
2015-07-27 09:11:45 -04:00
Daniel Larimer
f371f98cd4
Fix #203 - market history plugin config supports multiple buckets
2015-07-27 08:19:27 -04:00
Daniel Larimer
662dd04e45
Fix #206 , adding api to return available vesting balance
2015-07-24 17:28:58 -04:00
Daniel Larimer
7e142eb4d6
Wallet Blind Transfer Implementation
...
Improve Pretty Printing of Operations
Fix bug preventing wallet from being unlocked after saving while locked.
Transfer from public to blind
Transfer from blind to blind
Transfer from blind to public
Blind Account History
2015-07-24 17:02:06 -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
Vikram Rajkumar
6be71b2975
Update fc submodule
2015-07-23 15:07:03 -04:00
Daniel Larimer
efe948ceaf
Merge branch 'master' of github.com:cryptonomex/graphene
2015-07-23 14:17:24 -04:00
Daniel Larimer
2aac4839ed
partial work on blinded balances in cli wallet
2015-07-23 13:57:18 -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
590f10a382
Add BTS1 key import format
2015-07-23 11:57:50 -04:00
Vikram Rajkumar
c4fa9de1f8
Fix build
2015-07-23 11:53:36 -04:00
Vikram Rajkumar
af3b7dd344
Unrevert fc submodule
2015-07-23 11:53:36 -04:00
Vikram Rajkumar
c14ac442f5
Simplify genesis state; #17
2015-07-23 11:53:36 -04:00
Daniel Larimer
36ba2e1d45
integrate wallet with GrapheneApplication and Account
2015-07-23 10:56:07 -04:00
Daniel Larimer
0911bb605c
Implement Wallet.hpp API
2015-07-23 09:32:29 -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
63222183cd
Resolve #146 in fc
2015-07-22 12:11:49 -04:00
Nathan Hourt
81d2679db9
Cut back on log spam during resyncing
2015-07-22 11:17:30 -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