Commit graph

187 commits

Author SHA1 Message Date
theoreticalbts
9c4ac2e064 exceptions: Add some exceptions 2015-07-08 16:48:24 -04:00
Daniel Larimer
baf5531238 Refactored chain library
- remove circular dependency with fee_schedule
- unitiy build db_* as database.cpp
- move protocol definitions in separate directory
- combined some objects/evaluators
- combined limit/call evaluator/objects into market_evaluator.*
2015-07-08 16:39:23 -04:00
theoreticalbts
d4e4854eb6 exceptions: Implement missing_auth exceptions 2015-07-08 14:29:07 -04:00
theoreticalbts
8ff25b813f Begin implementation of new exception framework #113 2015-07-08 13:53:08 -04:00
theoreticalbts
7bb608a305 types.hpp: Remove parameter_extension as it breaks js_operation_serializer 2015-07-07 22:28:43 -04:00
Daniel Larimer
90e04d0290 Refactoring fee schedule to make things more flex
- this code does not compile, there are now circular references that
need to be resolved.
2015-07-07 18:46:27 -04:00
Nathan Hourt
3d60449c6e Progress #8: Test shorts and force settles 2015-07-07 17:39:45 -04:00
Vikram Rajkumar
9b5bd12c67 Add genesis_state_type::initial_timestamp; #17 2015-07-07 15:37:31 -04:00
Vikram Rajkumar
38956692ee Fix a couple misleading names 2015-07-07 15:06:06 -04:00
Vikram Rajkumar
2241fda3af Add genesis_state_type::initial_worker_type; #17 2015-07-07 14:02:18 -04:00
Nathan Hourt
e6e7f70ff9 Resolve #98: Finish testing of genesis balances 2015-07-07 13:59:07 -04:00
Vikram Rajkumar
68744c9de0 Initialize genesis witnesses with default secret commitment; #17, #23 2015-07-07 12:36:31 -04:00
Daniel Larimer
e873d3e650 Update balance evaluator / authority checks
- move balance_claim_evalautor implementation from header
- remove authority check from balance_claim evaluator, added to
other_auths defined by the operation
2015-07-07 11:39:16 -04:00
Daniel Larimer
b1dd41ff3a Refactor get_required_auths on operations 2015-07-07 10:57:01 -04:00
Daniel Larimer
86df9c04fd Progress #141 - defining extension parameters 2015-07-07 09:02:36 -04:00
Daniel Larimer
1eb273118b Fix #136 add serialization to blockchain params 2015-07-07 08:31:47 -04:00
Nathan Hourt
24496932d4 Progress #98: add some vesting genesis balance testing 2015-07-06 17:40:23 -04:00
Nathan Hourt
ab740d6aaa Make memo_test fail if serialization format changes
If this happens, the web guys need to be notified of the new format.
2015-07-06 17:40:23 -04:00
Daniel Larimer
7d6d7066c2 merge 2015-07-06 16:55:28 -04:00
Daniel Larimer
c537e41fcb Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-06 16:50:36 -04:00
theoreticalbts
f175b4561c Properly re-initialize witness scheduler state after a long block gap 2015-07-06 15:51:43 -04:00
Vikram Rajkumar
fc7fb86cd2 Temporarily allow import BTS address/pubkey prefixes; #17 2015-07-06 15:00:52 -04:00
Daniel Larimer
8ccafe0f03 Refactor fee schedule for extensibility 2015-07-06 14:56:35 -04:00
Vikram Rajkumar
b89ff4e6b1 Some {asset, price} operator cleanup; fix #134 2015-07-06 14:18:47 -04:00
Nathan Hourt
9cb9d2e07f Progress #98: restrict withdrawal rate of vesting genesis balances 2015-07-02 15:40:04 -04:00
Vikram Rajkumar
4a84892981 Fix build errors 2015-07-02 13:04:28 -04:00
Vikram Rajkumar
4d176e73b2 Some linear vesting cleanup 2015-07-02 12:30:11 -04:00
Daniel Larimer
5a41114d94 #125 Replace ntohl with boost::endian::endian_reverse 2015-07-02 12:28:15 -04:00
Daniel Larimer
3d220e0df6 removing platform specific header, see #125 2015-07-02 10:55:31 -04:00
Eric Frias
a480912110 Add missing include for htonl on linux, #125 2015-07-02 10:49:13 -04:00
Daniel Larimer
fefa0f65f8 Issue #106 - Removing KeyObject
- this is a major refactor of the code and may have broken some behavior
in the wallet or witness nodes.
- this commit changes the serialization of operations
- the chain_tests pass
2015-07-02 01:52:45 -04:00
Daniel Larimer
07f621cd65 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-01 18:17:55 -04:00
Daniel Larimer
8efa2e6738 Progress auditing TODOs #108, upgrade boost 1.58 2015-07-01 18:17:49 -04:00
Nathan Hourt
e9b015b768 Add missing header. Derp 2015-07-01 17:25:06 -04:00
Nathan Hourt
66c9606652 Progress #17: Add assets, initial witness count to genesis state 2015-07-01 17:18:53 -04:00
Daniel Larimer
bb71e1933b Implement #103 - Override Transfers by Issuer 2015-07-01 16:21:18 -04:00
Daniel Larimer
2257e5da6c #108 Rename Burn to Reserve 2015-07-01 14:43:17 -04:00
Daniel Larimer
4bbaad02a7 Progress on Burn, Reserve, Issue, Retire #108 2015-07-01 14:05:42 -04:00
Nathan Hourt
5f5d819a1f Progress #98: Add public key to balance_claim_operation 2015-07-01 12:10:21 -04:00
Nathan Hourt
1c8e31c34a Fix 2 of the failing tests 2015-07-01 12:10:20 -04:00
Eric Frias
fd94046eb6 Fix integer overflow errors, work around msvc parser bugs. 2015-06-30 18:50:58 -04:00
Daniel Larimer
18a99584a2 Start #116 Index Version Checking
- adding changes for #115 that didn't make the last commit
2015-06-30 18:40:46 -04:00
Eric Frias
9856d5e8fd Fix CLI commands for creating witnesses, add commands for listing
witnesses, registering witness url.
Derive memo, witness, etc. keys from the active key.
Make witness_create_operation accept relative key identifiers.
Prevent wif_to_key from throwing on invalid base58 input.
Make witness_node accept witness keys in WIF format.
2015-06-30 17:54:19 -04:00
Eric Frias
6aa9264477 Make asset precision uint8 everywhere (it was defined as a uint64 and
referenced as a signed short in some places, I think these were
artifacts from when precision was stored as 10^x instead of x.
2015-06-30 17:54:19 -04:00
Nathan Hourt
210c109acf Progress #17: Create vesting balances in genesis 2015-06-30 17:47:40 -04:00
Daniel Larimer
ede41d6f99 fix warning, add debug for svk 2015-06-30 17:34:46 -04:00
Nathan Hourt
c530867933 Progress #17
- Add initial support for vesting genesis balances
- Add owner/active keys to genesis accounts
- Cleanup circa balance_object and evaluator
2015-06-30 17:05:17 -04:00
Daniel Larimer
a05a13b20e Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-30 15:13:23 -04:00
Daniel Larimer
e161e5a9fc Issues #112 Verifying all signatures are used
- refactor how signatures are stored on the transaction, removing key_id
and extra_signatures maps and replacing with a vector
- verify that each key only signs one time
- update tests to handle stricter policies on signatures
2015-06-30 15:11:26 -04:00
Nathan Hourt
e3f5e2cf8d Resolve #104: Set minimum feeds on bitassets 2015-06-30 11:59:53 -04:00
Peter Conrad
9beff42daa Unused code 2015-06-30 12:02:47 +02:00
Nathan Hourt
391b0bec45 Progress #17: Remove GRAPHENE_INITIAL_SUPPLY
The INITIAL_SUPPLY macro is generally not useful, and there's no good
way to fulfill the promise it creates. By removing it, I can skip the
scaling on the genesis values. Now, if there is an allocation at
genesis, the supply is determined by that allocation. Otherwise, the
supply is GRAPHENE_MAX_SHARE_SUPPLY and it all belongs to
GRAPHENE_COMMITTEE_ACCOUNT.

Also, remove one of the redundant and confusing MAX_SUPPLY macros and
unify the usage to always be GRAPHENE_MAX_SHARE_SUPPLY.
2015-06-29 17:50:56 -04:00
Daniel Larimer
873cf4dcf8 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-29 17:29:11 -04:00
Daniel Larimer
681f0923fe add secondary index to get proposals relevant to a particular account 2015-06-29 17:29:04 -04:00
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
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
Nathan Hourt
f4342d98ae Resolve #67: Add name and/or URL to witness/worker/delegate objects 2015-06-29 10:02:45 -04: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
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
4e206d3c54 #66 tweak default fees 2015-06-25 11:57:50 -04:00
Daniel Larimer
c4b2bb443b #85 - changing key_object from simple_index to multi_index 2015-06-24 16:08:36 -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
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
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
Daniel Larimer
49b2ce8094 Merge branch 'callprice'
Conflicts:
	tests/common/database_fixture.hpp
2015-06-21 19:41:32 -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
7dd2a6dff5 adding description field to asset options 2015-06-19 16:13:32 -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
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