Commit graph

2272 commits

Author SHA1 Message Date
Nathan Hourt
dba009da4d Resolve #83: core_exchange_rate in feed updates on maintenance 2015-06-26 15:46:16 -04:00
Nathan Hourt
dad1ca3bee Refactor: Move limit order execution to database
This logic was previously located in limit_order_create_evaluator, but
other code may need it in the future, so it should be made available at
the database level.
2015-06-26 15:11:46 -04:00
Vikram Rajkumar
8b010b1f99 Fix compiler warning 2015-06-26 11:40:49 -04:00
Vikram Rajkumar
8d45896900 Update submodules 2015-06-26 11:27:23 -04:00
Nathan Hourt
5b55ab71ea Resolve #94
Core exchange rate is now redundantly stored in price feed for
bitassets, and updated when the median feed changes. This allows feed
producers to update the core exchange rate. Redundant storage is
necessary, because the core exchange rate is needed for user-issued
assets as well as market issued assets.
2015-06-26 10:53:12 -04:00
Eric Frias
0936f9b5f2 Fix #95 CLI wallet crash on exit 2015-06-25 17:34:01 -04:00
Daniel Larimer
2b4d293ecc Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 15:08:55 -04:00
Eric Frias
714161c56c Fix integer overflow warnings (errors?) 2015-06-25 15:07:51 -04:00
Daniel Larimer
e41d08d843 added callback with 'deleted' objects 2015-06-25 15:07:13 -04:00
Daniel Larimer
16e90c53ac #47 Fixing bucket_object serialization 2015-06-25 15:06:10 -04:00
Daniel Larimer
bf9f81a21d Fix #90 - Prediction Market Asset precision must match backing asset precision 2015-06-25 14:46:53 -04:00
Daniel Larimer
543959fa64 Fix #92 2015-06-25 14:33:46 -04:00
Daniel Larimer
fdf8d98953 Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 14:14:33 -04:00
Daniel Larimer
c566687974 fix tests properly 2015-06-25 14:14:30 -04:00
Nathan Hourt
9e5297d6de Disable fees during genesis initialization
This should be a more reliable fix to #81
2015-06-25 12:58:50 -04:00
Daniel Larimer
342abe6ca1 Fix tests 2015-06-25 12:07:39 -04:00
Daniel Larimer
ff427c709f Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 11:57:55 -04:00
Daniel Larimer
4e206d3c54 #66 tweak default fees 2015-06-25 11:57:50 -04:00
Eric Frias
49acfb3bd6 Fix up application_impl's has_item() which was throwing to indicate a
missing item instead of returning false.  #55
2015-06-25 10:36:28 -04:00
Daniel Larimer
bf0ab60ceb Fix #88 If pushing generated block fails, then re-push all transactions to remove the failing transaction 2015-06-25 10:03:18 -04:00
Daniel Larimer
88aeaa5e69 #47 Fix bug with not initializing base volume 2015-06-25 09:47:56 -04:00
Daniel Larimer
fef77a15a2 Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 09:38:35 -04:00
Daniel Larimer
a518c37c9e adding wallet api to return the market history 2015-06-25 09:38:31 -04:00
Eric Frias
cb23e27aea Update fc submodule #86 2015-06-25 09:36:31 -04:00
Daniel Larimer
e7ec05f545 #74 Adding API call to get all call orders for a given account type 2015-06-24 21:09:21 -04:00
Eric Frias
37cadb2be8 Create directory for storing p2p config if it doesn't already exist 2015-06-24 18:21:20 -04:00
Eric Frias
11b357494b Remove leveldb code from peer database, replace with writing to json
file.  Still need to add code to periodically write the file out to
disk.
2015-06-24 18:21:20 -04:00
Daniel Larimer
a0765e2cf2 Removing unnecessary indexing from account history plugin, it can now focus on just tracking operation history 2015-06-24 16:38:56 -04:00
Daniel Larimer
23a633bea1 #85 adding api call get_keys_for_address 2015-06-24 16:19:33 -04:00
Daniel Larimer
c4b2bb443b #85 - changing key_object from simple_index to multi_index 2015-06-24 16:08:36 -04:00
Daniel Larimer
ffd797c048 adding API call to return all accounts that reference a particular key id or account 2015-06-24 15:38:28 -04:00
Daniel Larimer
045cfbd914 #47 Fix crash when parsing config file 2015-06-24 14:44:50 -04:00
Daniel Larimer
aaf31d840f #47 Fix crash, added history lenght limits, added init testing 2015-06-24 14:01:37 -04:00
Daniel Larimer
af812a7b51 #47 Adding API to get the available history buckets based upon the configuration 2015-06-24 12:46:03 -04:00
Nathan Hourt
44313ac8a4 Address #79: Should be fixed, but I can't test because of #55 2015-06-24 09:58:33 -04:00
theoreticalbts
ed381af304 Spell out boost::program_options in headers instead of using alias
Multiple defs of bpo alias confused gcc and broke cli_wallet build.
2015-06-23 22:35:00 -04:00
Daniel Larimer
ed859277ef Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-23 18:23:45 -04:00
Daniel Larimer
20a10a074b Issue #47 market history added to api 2015-06-23 18:23:41 -04:00
theoreticalbts
08651fc045 db_debug.cpp: Fix witness index type in debug_dump() 2015-06-23 18:05:47 -04:00
theoreticalbts
f99b02ba58 config.hpp: Implement GRAPHENE_COLLATERAL_RATIO_DENOM #70 2015-06-23 18:05:47 -04:00
Vikram Rajkumar
b63de0ad29 Fix some compiler warnings 2015-06-23 17:54:59 -04:00
Vikram Rajkumar
1e62c749af Minor evaluator cleanup 2015-06-23 17:54:59 -04:00
Vikram Rajkumar
e662180981 Update submodules 2015-06-23 17:54:59 -04:00
Daniel Larimer
03c362b9e4 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-23 17:53:33 -04:00
Daniel Larimer
fdefc69baf Issue #47 - Basic, Untested, Market History Plugin 2015-06-23 17:53:10 -04:00
Nathan Hourt
cfcafcb5c2 Progress #66: Set initial fees
There is now a default value for all fees
2015-06-23 17:09:55 -04:00
theoreticalbts
0d02361af0 Clean up names of assert ops and evaluation dispatch 2015-06-23 15:15:34 -04:00
theoreticalbts
c43c71372d assert_evaluator.cpp: Remove skip_unknown_predicate flag, add max_predicate_opcode check 2015-06-23 15:15:34 -04:00
theoreticalbts
548c760e46 wip burn worker 2015-06-23 15:13:01 -04:00
Nathan Hourt
08cba191c7 Progress #66: Audit calculate_fee implementations
I've audited all the calculate_fee impls and they all should be
reasonable at this point.

TODO: Set default fee values.
2015-06-23 14:19:39 -04:00
Daniel Larimer
a0d2b18959 Issue #70 - update docs 2015-06-23 14:05:07 -04:00
Daniel Larimer
8e9b2e8ebb Issue #68 - created simple secondary index for accounts 2015-06-23 13:33:13 -04:00
Daniel Larimer
b5b9d6d053 Issue #67 - add url to delegate/witness create operation 2015-06-23 11:08:12 -04:00
Daniel Larimer
da4bf0adc2 Issue #67 - add name/url to worker create operation 2015-06-23 10:33:11 -04:00
Daniel Larimer
06a9488f8b Issue #53 - flexible vesting balance creation
Use static variant to allow the types of vesting balances to be easily
extended and the creation operation allows for many different types of
initialization parameters.

Added a check that requires a minimum claim date which allows creating
of vesting balance objects with a cliff.
2015-06-23 10:14:40 -04:00
Daniel Larimer
8ac4bc1d58 Fix #39 Refactor assert_operation
Reasons:
  1. The protocol should not depend upon implementation details such as
  how the database objects are structured or reflected
  2. The protocol should deal in abstract concepts
  3. Should use fc::datastream rather than istringstream for performance
  and memory allocation reasons
  4. Fees should be charged proportional to the size of the operation
  5. Validate on the assert operation should also perform sanity checks
  on types
  6. Protocol definition objects should never depend upon the database
  because they may be used in situations where the database and
  evaluators are not present.
  7. Reflected field names should never have '_' in them because they
  become part of the *PUBLIC* json definition.
2015-06-23 09:14:18 -04:00
Eric Frias
1b96210212 Add CLI for registering delegates and witnesses, and setting voting proxy 2015-06-22 19:38:12 -04:00
Eric Frias
19d063145f Add CLI commands for voting witnesses/delegates 2015-06-22 19:38:12 -04:00
Daniel Larimer
d7f7d64352 notify observes of changed objects after every pushed transaction 2015-06-22 18:11:54 -04:00
Daniel Larimer
962310b415 adding API call to get proposed transactions for an account 2015-06-22 17:50:50 -04:00
Daniel Larimer
de99437be4 remove min_market_fee due to potential attack vector with many small partial matches 2015-06-22 17:29:40 -04:00
Daniel Larimer
a1601cbc0f fix bugs 2015-06-22 15:55:50 -04:00
Daniel Larimer
21bd520f9c Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-22 15:08:24 -04:00
Daniel Larimer
758d588aa1 switch to rationals 2015-06-22 15:04:19 -04:00
Nathan Hourt
3eaec849eb Progress #61: Getting witnesses/delegates by owner
Support and API are now present for retrieving witnesses and delegates
by their owners.
2015-06-22 15:03:24 -04:00
Eric Frias
db85d35b19 Fix out-of-source builds, make field_reflector report errors finding template file 2015-06-22 14:57:43 -04:00
Eric Frias
52a72cdd9f Fix win64 compile errors (ambiguous comparisons between unsigned_int and uint16) 2015-06-22 14:56:40 -04:00
theoreticalbts
da77990b72 Implement field_reflector and assert_op 2015-06-22 13:26:08 -04:00
theoreticalbts
a2b9bc6d27 object_database.hpp: Implement template methods for downcasting objects 2015-06-22 13:26:08 -04:00
theoreticalbts
e9acc40a7d operation_history_object.hpp: Include operations.hpp 2015-06-22 13:26:08 -04:00
theoreticalbts
9e46ed80a0 Reflect many more types 2015-06-22 13:26:08 -04:00
theoreticalbts
e934b9cf44 key_object.hpp: Move address_or_key variant to header, reflect it 2015-06-22 13:26:08 -04:00
theoreticalbts
e814c4dbeb type_id.cpp: Define space_id and type_id for all object types 2015-06-22 13:26:07 -04:00
Vikram Rajkumar
df60efc83c Update fc submodule 2015-06-22 13:15:11 -04:00
Daniel Larimer
49b2ce8094 Merge branch 'callprice'
Conflicts:
	tests/common/database_fixture.hpp
2015-06-21 19:41:32 -04:00
Daniel Larimer
177950b791 Fix margin call price calculation 2015-06-21 19:37:14 -04:00
Eric Frias
1b9ca9ffe8 Add wallet command for whitelisting accounts.
Re-enable shutdown in node code which was causing some (not all) of the
errors in two_node_network test #55, and likely occasional crashes at
shutdown for the witness node
2015-06-20 18:36:02 -04:00
Eric Frias
dac9057b12 Add missing commands for asset features to wallet 2015-06-19 19:27:18 -04:00
Daniel Larimer
08bf4ec3fe progress 2015-06-19 18:49:32 -04:00
Nathan Hourt
127ca9f8de WIP: Remove call price from call_order_update_operation 2015-06-19 18:14:23 -04:00
Daniel Larimer
f88a7682dd cheap names must have a number, dot, dash or slash 2015-06-19 16:21:47 -04:00
Daniel Larimer
5d5604f673 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 16:13:36 -04:00
Daniel Larimer
7dd2a6dff5 adding description field to asset options 2015-06-19 16:13:32 -04:00
Nathan Hourt
639930a2d7 Test bulk discount on fees 2015-06-19 16:12:05 -04:00
Daniel Larimer
3d29b29e50 remove debug logs 2015-06-19 15:58:50 -04:00
Daniel Larimer
14b158364f implement and test prediction market features 2015-06-19 15:57:08 -04:00
Daniel Larimer
186b970689 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 14:47:46 -04:00
Daniel Larimer
c80c839675 black swan test with force settle after 2015-06-19 14:47:42 -04:00
theoreticalbts
5e28a79e6f db_maint.cpp: Roll over leftover witness pay, see 8f739ac767 for description 2015-06-19 13:50:10 -04:00
Nathan Hourt
6bc2d06833 Cashback to blockchain accounts is put in reserve pool 2015-06-19 13:31:47 -04:00
Nathan Hourt
626b5cbb23 Fix broken update_mia test 2015-06-19 12:29:44 -04:00
Daniel Larimer
b2962c530f Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 12:11:36 -04:00
Daniel Larimer
51e6421ea0 fixed config settings 2015-06-19 12:11:32 -04:00
Nathan Hourt
6fc11bb5fd Resolve #59: Add witnesses to default genesis in witness_node 2015-06-19 10:23:36 -04:00
Daniel Larimer
be5a8c6365 update black swan implementation 2015-06-19 09:57:23 -04:00
Daniel Larimer
d5fb32a839 fix margin calls 2015-06-19 09:07:23 -04:00
Daniel Larimer
2c055d2320 resolve conflicts 2015-06-18 18:45:01 -04:00
Daniel Larimer
db43f41de8 Progress on margin call tests 2015-06-18 18:42:44 -04:00
Vikram Rajkumar
9150342b3b Unrevert fc submodule 2015-06-18 17:22:43 -04:00
Nathan Hourt
bba5681722 Resolve #31, at last
I'm now satisfied with the testing.
2015-06-18 17:22:29 -04:00
Nathan Hourt
66ab805458 Close #56 2015-06-18 16:11:29 -04:00
Nathan Hourt
ec76179b0b Resolve #40 2015-06-18 15:51:23 -04:00
Daniel Larimer
a14500a364 merge from master, clean up test output 2015-06-18 15:40:38 -04:00
Daniel Larimer
0a5954db70 merge master 2015-06-18 15:31:30 -04:00
Nathan Hourt
568a18571b Merge branch 'issue52' 2015-06-18 15:26:00 -04:00
Daniel Larimer
ef4ed937cb Fix update_call_order
- redefine price feeds
- clean up unit test spam
2015-06-18 15:17:48 -04:00
Nathan Hourt
8bcd1f3bf5 Resolve #52: I think it's real this time. 2015-06-18 15:08:51 -04:00
Nathan Hourt
d47c2ee2a2 Progress #52: The tests pass again. 2015-06-18 15:08:51 -04:00
Nathan Hourt
9291250214 Issue #52: working my way out of the rabbit hole
Evils abound. And tests still fail.
2015-06-18 15:08:51 -04:00
Eric Frias
52a1db3700 Fix block_database::fetch_optional() and friends, which were throwing in
some cases where the requested block was not available instead of
returing an invalid optional.
2015-06-18 14:47:53 -04:00
theoreticalbts
53e144ae6b witness.cpp: Explicitly specify skip_flags 2015-06-18 12:45:43 -04:00
theoreticalbts
c65fb6b366 Use with_skip_flags() to handle virtual ops in clear_expired_orders 2015-06-18 12:33:44 -04:00
theoreticalbts
2ec92c6695 database: Make functions which don't take skip_flags arg, use them to implement old API which does 2015-06-18 12:33:44 -04:00
theoreticalbts
e6246bf9a0 Implement node_property_object 2015-06-18 12:33:44 -04:00
theoreticalbts
427d1a8977 evaluator.cpp: Remove obsolete verify_signature function 2015-06-18 12:33:44 -04:00
Vikram Rajkumar
34388fabee Further cleanup after LevelDB removal 2015-06-17 12:36:05 -04:00
Nathan Hourt
8f739ac767 Dramatically accelerate chain_test, fix core asset burn bug
When generating blocks until a timestamp, we now generate one block
immediately, then skip blocks until the timestamp, and generate a
final block then.

Also, this exposed a bug in the witness budget handling which
caused the undesired burning of core asset. This bug is now fixed.
2015-06-17 12:14:28 -04:00
Nathan Hourt
c9328cc7f4 Resolve #52 2015-06-17 11:48:55 -04:00
Eric Frias
57e569a672 Update fc to fix win32 build error, fixes #51 2015-06-17 11:09:59 -04:00
Daniel Larimer
4aa1d6b339 Merge branch 'remove_leveldb' 2015-06-16 18:46:25 -04:00
Daniel Larimer
3bc325436f Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-16 18:46:16 -04:00
Daniel Larimer
2724939ffb tests pass again 2015-06-16 18:45:33 -04:00
Daniel Larimer
ca89d5057c remove dependency on level db, bugs left to fix 2015-06-16 15:56:13 -04:00
Nathan Hourt
377432453f Lay to rest #16
It's finally done.
2015-06-16 14:42:05 -04:00
Daniel Larimer
2ae6ce9cdc updating tests to remove references to short 2015-06-16 12:17:09 -04:00
Daniel Larimer
4cee2ca608 Update plugins and wallet to remove shorts 2015-06-16 11:22:28 -04:00
Daniel Larimer
663036f2aa it builds 2015-06-16 10:14:10 -04:00
Daniel Larimer
4ca3bb9f06 rename short to call 2015-06-16 09:53:40 -04:00
Daniel Larimer
9dbf78c891 start refactoring short 2015-06-16 09:52:33 -04:00
Nathan Hourt
ce4846e81b Progress #31: Add some testing 2015-06-15 17:31:44 -04:00
Nathan Hourt
81c6338dfe Begin test for cashback rewards 2015-06-15 17:31:43 -04:00
Eric Frias
39cd21c11e Merge branch 'github_master'
Conflicts:
	libraries/fc
2015-06-15 16:05:42 -04:00
Vikram Rajkumar
62d8f1887d Update fc submodule 2015-06-15 15:38:32 -04:00
Vikram Rajkumar
6337f94555 Remove bond operations 2015-06-15 15:37:38 -04:00
Vikram Rajkumar
17693e6299 Remove file write operation 2015-06-15 15:36:47 -04:00
Vikram Rajkumar
f777aae08e Remove confidential transfer operations 2015-06-15 15:36:47 -04:00
Daniel Larimer
9b920c798a convert more operations to void_result 2015-06-15 15:24:58 -04:00
Eric Frias
4490c3fa48 Win32 compile fixes 2015-06-15 14:46:19 -04:00
Eric Frias
7027e8aab3 Remove (direct) call to compiler intrinsic that had different behavior from portable code path
#46
2015-06-14 18:53:25 -04:00
Vikram Rajkumar
488b385e72 Fix build 2015-06-13 16:11:32 -04:00
Vikram Rajkumar
bc76bd05fc Add missing overrides 2015-06-13 16:09:51 -04:00
Vikram Rajkumar
cff606c9e2 Rebase onto master 2015-06-12 19:47:34 -04:00
Eric Frias
8a567080fd Merge branch 'github_master' 2015-06-12 12:12:05 -04:00
Eric Frias
52f66b6c7a Merge branch 'github_master'
Conflicts:
	.gitmodules
	libraries/fc
2015-06-12 11:12:32 -04:00
Vikram Rajkumar
571555a253 Update fc submodule 2015-06-12 11:12:12 -04:00
James Calfee
40a28e6e50 Enhanced asset and price_feed validation error messages. 2015-06-12 11:11:28 -04:00
James Calfee
fa9c906105 Enhanced asset and price_feed validation error messages. 2015-06-12 09:07:04 -05:00
Daniel Larimer
d7e89181a5 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-12 09:53:32 -04:00
Daniel Larimer
0cbaf5377a Initial specification for stealth transfers
- depends upon https://github.com/cryptonomex/secp256k1-zkp.git
  - may require clearing cmake cache and rebuilding fc
2015-06-12 09:51:17 -04:00
Eric Frias
42f4b6016f Update fc submodule 2015-06-11 19:25:00 -04:00
Eric Frias
59d5f9f106 Merge branch 'github_master'
Conflicts:
	.gitmodules
2015-06-11 19:24:49 -04:00
theoreticalbts
a34cde2178 db_init.cpp: Fix compiler warning 2015-06-11 17:55:15 -04:00
theoreticalbts
6e239eb2ad db_witness_schedule.cpp: Fix off-by-one translating between DB-level slot_num and scheduler-level slot_num 2015-06-11 17:55:15 -04:00
Eric Frias
93ecffc8a8 When get_account_balances is called with an empty list of assets,
return balances for all assets.  This fixes the wallet's
list_account_balances, which always returned an empty list.
2015-06-11 14:41:05 -04:00
Eric Frias
6f128f643a When get_account_balances is called with an empty list of assets,
return balances for all assets.  This fixes the wallet's
list_account_balances, which always returned an empty list.
2015-06-11 14:37:22 -04:00
Nathan Hourt
a185f864fc Progress #31: Implement threshold for vesting fees 2015-06-11 13:54:46 -04:00
Eric Frias
d1e2449290 Fix up submodules, add compile fixes 2015-06-10 18:54:12 -04:00
Nathan Hourt
4080a2e7ee Add missing fee for 2-character account names 2015-06-10 15:21:54 -04:00
Nathan Hourt
876e9a125d Resolve #31: Wrap it up and fix the failing tests 2015-06-10 14:22:32 -04:00
Nathan Hourt
4df4e8014a Issue #31: Add account_upgrade_evaluator 2015-06-10 14:22:32 -04:00
Nathan Hourt
7f0d1ebbed Progress #31, resolve #21
Declare, but not yet implement, account_upgrade_operation which can
upgrade accounts to members.

Resolve #21 by removing all the sketchy pointer arithmetic stuff
2015-06-10 14:17:17 -04:00
Nathan Hourt
7d96e0c124 Remove annoying log line 2015-06-10 14:17:17 -04:00
Nathan Hourt
18b163b99e Progress #31: Fix genesis initialization 2015-06-10 14:17:17 -04:00
Nathan Hourt
ed7d485df3 Progress #31: Initial work on new cashback system
Lots still to do. There's no longer a way to upgrade an account, genesis
can't evaluate, and who knows how many tests are failing... But it
builds!
2015-06-10 14:17:17 -04:00
Daniel Larimer
ff6b72361d optimize operation results for void ops 2015-06-09 16:53:14 -04:00
Daniel Larimer
df14ef5fef optimize operation results for void ops 2015-06-09 16:49:42 -04:00
Daniel Larimer
00078afa07 Fix #15 - accept aaa-bbb-1 as valid according to RFC 1035 2015-06-09 16:40:20 -04:00
Daniel Larimer
d57c0e0031 Fix #25 - listing all assets when given empty string 2015-06-09 16:31:07 -04:00
Daniel Larimer
666ffd07ae Fix #27 - return true on subscribe_to_objects 2015-06-09 16:24:55 -04:00
Daniel Larimer
d1f3ce8543 Issue #29 - get_short_orders crashes for UIA 2015-06-09 16:17:26 -04:00
Vikram Rajkumar
5633d92813 Apply remaining win32 patches by @emfrias 2015-06-09 14:11:57 -04:00
Nathan Hourt
0a945b0257 Initial commit 2015-06-08 12:36:37 -04:00