Commit graph

1379 commits

Author SHA1 Message Date
Nathan Hourt
8747a0572b Progress #17: add balance_objects to genesis, test 2015-06-29 17:18:29 -04:00
theoreticalbts
e43a538bdc types.hpp: Update fee schedule to use all uint64_t #99 2015-06-29 15:41:19 -04:00
theoreticalbts
51bb9025d0 db_maint.cpp: Avoid stdlib implementation-defined ordering when workers tie for votes 2015-06-29 15:36:02 -04:00
Vikram Rajkumar
f0ea015ccf Clean up is_valid_name and remove child accounts; #15, #93 2015-06-29 15:25:53 -04:00
Vikram Rajkumar
605824952c Clean up is_valid_symbol 2015-06-29 15:25:53 -04:00
theoreticalbts
662cda2abc db_init.cpp: Zero network_fee_percentage on null account 2015-06-29 11:33:29 -04:00
Vikram Rajkumar
7dd3d92a6c Merge pull request #102 from pmconrad/rfc_1035
See #15
2015-06-29 11:13:36 -04:00
Nathan Hourt
f4342d98ae Resolve #67: Add name and/or URL to witness/worker/delegate objects 2015-06-29 10:02:45 -04:00
Peter Conrad
1acf66265f Allow double hyphens 2015-06-29 11:56:30 +02:00
Daniel Larimer
6279515c54 #98 - Adding wallet support for claiming balances 2015-06-28 16:16:24 -04:00
Daniel Larimer
73d55c2d94 #98 Add signature verification 2015-06-28 15:34:52 -04:00
Daniel Larimer
4695405c52 adding missing files 2015-06-28 15:12:00 -04:00
Daniel Larimer
d3391c0fe5 #98 Implement Balance Object and Evaluator 2015-06-27 11:49:41 -04:00
Nathan Hourt
baea85ea3a Resolve #97: Add exponentially growing fees on account creation
It scales up aggressively right now; this can be adjusted later. I just
wanted to demonstrate that it works.
2015-06-26 16:43:39 -04:00
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
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
714161c56c Fix integer overflow warnings (errors?) 2015-06-25 15:07:51 -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
c4b2bb443b #85 - changing key_object from simple_index to multi_index 2015-06-24 16:08:36 -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
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
Daniel Larimer
d7f7d64352 notify observes of changed objects after every pushed transaction 2015-06-22 18:11:54 -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
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
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
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
51e6421ea0 fixed config settings 2015-06-19 12:11:32 -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
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
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
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
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
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
James Calfee
40a28e6e50 Enhanced asset and price_feed validation error messages. 2015-06-12 11:11:28 -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
Nathan Hourt
a185f864fc Progress #31: Implement threshold for vesting fees 2015-06-11 13:54:46 -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
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
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