Commit graph

803 commits

Author SHA1 Message Date
elmato
0ecdc90d4d Add the array of ids (that are being removed) to the removed_objects signal 2017-03-22 20:14:53 +00:00
elmato
6d3fbeef55 Include information of impacted accounts relative to the objects created/changed/removed. Only extract the impacted accounts information if there are handlers defined in order prevent useless cpu usage on nodes not exposing the rpc api 2017-03-22 20:14:53 +00:00
elmato
29c636fcef add get_market() function to call_order_object 2017-03-22 20:14:53 +00:00
elmato
02b2672a39 split notifications (notify_changed_objects) in three signals: new_objects, changed_objects, removed_objects 2017-03-22 20:14:53 +00:00
Eric Frias
3feea69a4c Stub out bet fill virtual op 2017-03-22 16:02:57 -04:00
Eric Frias
4cdcbe32da Validate the fee paid when placing a bet. Add virtual op for canceling bet 2017-03-22 15:04:11 -04:00
SynaptiCAD User
c42a56d332 implement bet_cancel_operation 2017-03-22 12:06:08 -04:00
Eric Frias
46ef911f8e Add more checks when placing bets 2017-03-21 19:47:57 -04:00
Eric Frias
06c56484de Add blockchain parameters to limit the allowed bet odds, start data structure to
track an account's market position
2017-03-21 18:10:02 -04:00
Eric Frias
ccd570874f Updated data structures to take bets with explicit odds 2017-03-21 12:27:13 -04:00
SynaptiCAD User
f99bf1c6e6 [DLN] implement list_betting_markets(betting_market_group) 2017-03-19 22:44:16 -04:00
SynaptiCAD User
2d4f18280f [DLN] implement list_betting_market_groups(event_id) 2017-03-19 22:12:31 -04:00
SynaptiCAD User
20a64be400 [DLN] implement list_event_groups(sport_id) 2017-03-19 20:40:17 -04:00
Eric Frias
db6b312784 Stub out the bet object and the operation for placing it (currently breaks
json_serializer builds, until I port over some code into fc)
2017-03-16 19:37:26 -04:00
Eric Frias
5aedb65e5c Implement the apparently-unused feature allowing later operations in a transaction to
reference objects created by earlier operations.  Change all betting operations
to allow use of this feature, and test it in operation_tests2
2017-03-16 18:38:35 -04:00
Eric Frias
2470af6eb9 Initial work on creating blockchain objects for sports betting 2017-03-15 17:04:27 -04:00
kstdl
895fbec5bc get_tournaments and get_tournaments_by_state method added 2017-02-20 18:09:37 +03:00
alfredo
9ea386aa10 added list of assets created by account output to get_full_accounts api function 2017-02-02 18:20:21 -03:00
Vikram Rajkumar
ef356a15a6 Update submodules 2017-01-17 16:42:33 -06:00
Roman Olearski
787019617f Summary commiting changes made since the last commit
modified:   libraries/app/impacted.cpp
	modified:   libraries/chain/db_init.cpp
	modified:   libraries/chain/db_maint.cpp
	modified:   libraries/chain/game_object.cpp
	modified:   libraries/chain/include/graphene/chain/protocol/operations.hpp
	modified:   libraries/chain/include/graphene/chain/protocol/tournament.hpp
	modified:   libraries/chain/protocol/tournament.cpp
	modified:   libraries/chain/tournament_object.cpp
	modified:   libraries/wallet/wallet.cpp
	modified:   programs/witness_node/main.cpp
	modified:   tests/CMakeLists.txt
	modified:   tests/common/database_fixture.cpp
	new file:   tests/tournament/tournament_tests.cpp
2016-11-28 12:36:18 +01:00
Roman Olearski
81c9e98d7b solution ...issues/#7 Allow vesting core tokens to vote and receive dividends 2016-11-25 19:40:25 +01:00
Roman Olearski
278c9b1683 solution proposal for ...issues/#7 Allow vesting core tokens to vote and receive dividends 2016-11-25 11:23:06 +01:00
Roman Olearski
a66af8b072 enhancing tournament_payout operation according issues 8 9 2016-11-23 11:33:24 +01:00
Roman Olearski
1530f04882 added operation tournament_payout_operation 2016-11-17 18:04:32 +01:00
Roman Olearski
26f47189f0 Creating default dividend asset 2016-11-07 10:18:18 +01:00
Roman Olearski
7f36b261bf Merge remote-tracking branch 'origin/dividends' into rock-paper-scissors
Adding new chain parameters
Distribute prize money when a tournament ends
2016-11-02 15:30:18 +01:00
Roman Olearski
8b0cdacb11 Create new blockchain parameters for peerplays that can be voted on by committee members part 1 2016-10-28 19:35:49 +02:00
Eric Frias
f078fed4fd Properly sequence matches when there are more than two players in the tournament 2016-10-23 13:12:06 -04:00
Eric Frias
30874697cc Rework the API calls for tournaments, add an index for getting tournaments
registered by a given account
2016-10-21 12:14:37 -04:00
Eric Frias
72d48cf3d2 Remove redundant type_of_game field 2016-10-19 18:19:13 -04:00
Eric Frias
c4ad900026 Fix build error in member_enumerator when an operation includes an enum.
Implement the commit/reveal timeouts in RPS games, and generate automatic
("insurance") moves.  Make the CLI wallet watch for new games in
tournaments you're registered for.
2016-10-18 17:36:59 -04:00
Eric Frias
7c30da6b6d Simple two-player tournaments are working if you don't do anything fancy 2016-10-14 19:43:38 -04:00
Eric Frias
50a9f913ce Move game object to its own file 2016-10-04 10:41:26 -04:00
Eric Frias
e57a5e84db Add missing source files 2016-10-03 13:45:24 -04:00
Eric Frias
baab40070d Many changes, including a start to supporting peerplays games in the cli wallet 2016-10-03 12:14:48 -04:00
Eric Frias
eb8929f6fa Separate match object out from tournament and give it a fsm,
start changing genesis json
2016-09-20 14:36:06 -04:00
Eric Frias
5186ef4076 More reworking of initial tournament bracket setup 2016-09-16 18:53:12 -04:00
Eric Frias
55255010df Add get_upcoming_tournaments wallet call, clean up logging 2016-09-14 11:52:22 -04:00
Eric Frias
dd0ad9e759 more fixes to get tournament_create/join working in cli wallet 2016-09-12 18:28:45 -04:00
Eric Frias
9b101cefcf Restore secret hashes from witnesses -- this is a selective restore of the parts of commits 59a3ca32b7 and c2e5432a30 that generated the secret hashes (it omits the changes to the witness scheduling algorithm) 2016-09-10 15:28:09 -04:00
Eric Frias
da43a8712d Moved most of the logic for joining tournament into tournament_object 2016-09-08 18:34:43 -04:00
Eric Frias
122dbfc698 More work on tournament registration, tournaments are now canceled and
buy-in is refunded
2016-09-03 17:51:27 -04:00
Eric Frias
4e856996be More validation of tournament_join op 2016-09-02 19:25:02 -04:00
Eric Frias
234a76fdd1 More validation and processing of the tournament_create and tournament_join operations 2016-09-02 15:04:17 -04:00
Eric Frias
bf59b503bc Start on tournament_create evaluator 2016-09-02 10:53:08 -04:00
Eric Frias
c2f3beb5d6 Initial data structures for creating/joining tournaments 2016-09-01 14:28:46 -04:00
Eric Frias
be6ad130d9 Code cleanups -- renaming variables, adding comments, fix one bug with override transfers
and dividend assets
2016-08-26 11:29:37 -04:00
Eric Frias
bc212b7d59 Fixes to paying out non-core assets using their fee pools 2016-08-25 10:41:01 -04:00
Eric Frias
b584ee15dd Separate out unit tests for dividend-assets into their own test suite 2016-06-30 12:05:16 -04:00
Eric Frias
7857ac48a4 Correctly generating virtual transactions for payouts 2016-06-27 16:24:13 -04:00
Eric Frias
abc7853c99 Initial work on dividend-paying assets. Basic functionality works in simple
cases.
2016-06-26 15:41:07 -04:00
theoreticalbts
55ec0607f8 Rebased "ext.hpp: Fix extension unpacking #599" to fix revert #637 2016-03-25 20:15:17 -04:00
theoreticalbts
e955b06c42 Fix accidental reversion of #615 fix by b175cc7feb 2016-03-16 15:50:13 -04:00
theoreticalbts
755f9ecf38 Prepare for release
- Bump GRAPHENE_CURRENT_DB_VERSION to force re-index
- Set hardfork date
2016-03-16 01:10:14 -04:00
theoreticalbts
4dbfe53f1f Merge remote-tracking branch 'graphene/develop' into bitshares 2016-03-16 01:09:52 -04:00
theoreticalbts
006d548633 Merge branch '606-debug-node' into develop
Conflicts:
	libraries/app/CMakeLists.txt
2016-03-16 01:09:21 -04:00
theoreticalbts
7574aea75a Merge branches '477-history-account-history-indexing', '592-get_ticker', '599-fork-ext-unpack', '607-fork-disable-negative-worker-votes', '613-fork-deprecate-annual' and '615-fork-feed-expiration' into develop 2016-03-16 01:08:27 -04:00
theoreticalbts
77ac461a8a Implement debug_node target #606 2016-03-15 13:36:29 -04:00
Michael Vandeberg
c89d60ba92 First implementation of get_account_history api changes. 2016-03-15 12:25:01 -04:00
Daniel Larimer
7f4b40f57d Improve index on account operation history
- operations are now indexed by account and sequence for effecient
traversal and query
2016-03-15 12:24:58 -04:00
Eric Frias
b175cc7feb Revert "Merge branch 'graphene_master' into bitshares"
This reverts commit 2d0a7a2a4d, reversing
changes made to 6684fb75ac.
2016-03-11 14:19:31 -05:00
Eric Frias
2d0a7a2a4d Merge branch 'graphene_master' into bitshares 2016-03-11 11:40:48 -05:00
abitmore
f1cd2c2454 Add hard fork logic for #615 feed expiration check issue, fix #540 2016-03-10 09:17:05 +08:00
abitmore
3c6f4ce223 Fix price feed expiration check, fix #540 2016-03-09 14:37:33 +01:00
theoreticalbts
a83af9208e ext.hpp: Fix extension unpacking #599 2016-02-26 14:38:34 -05:00
Eric Frias
14295772f0 Merge branch 'bitshares-2-bitshares'
# Conflicts:
#	libraries/fc
2016-02-26 11:29:25 -05:00
theoreticalbts
52c0b31bcf Merge remote-tracking branch 'graphene/develop' into bitshares at commit e3478d2338 2016-02-23 12:10:40 -05:00
theoreticalbts
e3478d2338 Default initialize output in extension<T>'s from_variant and stream extraction #594 2016-02-23 12:00:40 -05:00
theoreticalbts
76de1f8f0b Merge branch '593-bugfix-ext-json-serializer' into develop at commit 53699a9d27 2016-02-23 10:51:11 -05:00
Eric Frias
567a40170e Fix gcc/clang builds broken by d3c6cbf4de (breaking circular dependency) 2016-02-22 19:34:16 -05:00
theoreticalbts
53699a9d27 ext.hpp: Accept null and empty array for extensions #593 2016-02-22 12:00:51 -05:00
Eric Frias
d3c6cbf4de Compile fixes for win32 and out-of-source builds 2016-02-17 09:17:00 -05:00
theoreticalbts
fac1284f77 Prepare for release
- Bump FC
- Bump GRAPHENE_CURRENT_DB_VERSION to force re-index
- Set hardfork date
- Set GRAPHENE_FBA_STEALTH_DESIGNATED_ASSET
2016-02-16 11:57:45 -05:00
theoreticalbts
4f9bf7cc21 Merge remote-tracking branch 'graphene/develop' into bitshares at commit 1153d77dba
Conflicts:
	libraries/chain/include/graphene/chain/config.hpp
2016-02-16 11:32:14 -05:00
theoreticalbts
a1d0339ccf Merge remote-tracking branch 'graphene/549-fork-cancel-order' into bitshares 2016-02-16 11:29:32 -05:00
theoreticalbts
d6863a587c Merge branch graphene/develop into bitshares at commit '447018b319668deddf4d55baac168c1afc0a5e21'
Conflicts:
	libraries/chain/include/graphene/chain/hardfork.hpp
	libraries/fc
2016-02-16 11:16:36 -05:00
theoreticalbts
42140fccaa Merge branch graphene/develop into bitshares at commit 'f1b19b15' 2016-02-16 11:04:31 -05:00
theoreticalbts
1153d77dba Update documentation of updating active key to match implementation #556 2016-02-15 22:48:47 -05:00
theoreticalbts
4a6de2fba7 Merge branches '492-bugfix-close-logic', '550-cleanup-remove-evaluation-observer' and '581-cleanup-object-operators' into develop 2016-02-15 16:01:27 -05:00
Daniel Larimer
c63b624caf fix build errors and warnings
This commit was rebased by theoreticalbts and assigned issue #581
Conflict with 146c0c4d8e was resolved, minor improvements.
2016-02-15 16:01:13 -05:00
theoreticalbts
fe0920ddc8 Merge branches '538-fork-buyback', '562-util-check-reflection' and '575-bugfix-settle-reflect' into develop
Fix reflection bugs and enhance check_reflect.py
2016-02-15 15:37:50 -05:00
theoreticalbts
92685af364 Merge branch '563-fork-stealth-fee-routing' into develop
Includes dependency '572-fork-reenable-asset-perms'
2016-02-15 15:37:22 -05:00
theoreticalbts
36a8c3d6f1 Unit test for STEALTH fee routing #563 2016-02-15 15:33:21 -05:00
theoreticalbts
5dd56bd824 Implement FBA fee routing for STEALTH #563 2016-02-15 15:33:21 -05:00
abitmore
3fa79740df Reflect ID of force_settlement_object, fix #575 2016-02-15 15:13:25 -05:00
theoreticalbts
b1f8c8f291 buyback_object.hpp: Don't FC_REFLECT buyback_object, FC_REFLECT_DERIVED it instead #538 #575 2016-02-14 17:26:35 -05:00
theoreticalbts
e46af9f372 Merge branch '538-fork-buyback' into develop
Includes dependencies '555-fork-defer-s4n-cull', '559-test-fix-zero-block-wait' and '566-cleanup-wl-flag-check'
2016-02-11 13:03:19 -05:00
Daniel Larimer
146c0c4d8e Clean up some non-determisitic behavior, maybe fix #485
1. Replace ordered_non_unique indexes with composite keys / ordered_unique, using object_id as tiebreaker.
2. Make some casts more explicit.

This commit was rebased by theoreticalbts due to conflicts with the patches for #466 #562 including bugfixes

- Fix flipped comparison operator
- Implement operator> and operator!= for object_id_type
2016-02-11 13:02:11 -05:00
theoreticalbts
c33fe35e4e Implement buyback accounts #538 2016-02-11 04:59:28 -05:00
theoreticalbts
bd22592d19 Merge branches '555-fork-defer-s4n-cull', '559-test-fix-zero-block-wait' and '566-cleanup-wl-flag-check' into 538-fork-buyback 2016-02-11 04:56:47 -05:00
theoreticalbts
130b54116c Inline fast path of is_authorized_asset() #566 2016-02-11 04:02:29 -05:00
theoreticalbts
68a0ffa1aa Make is_authorized_asset a free-floating method #566
The following sed commands were used to port existing call sites to the new interface:

    sed -i -e 's/\([a-zA-Z0-9_]\+\)->is_authorized_asset[(] \([a-zA-Z0-9_*]\+\), d [)]/is_authorized_asset( d, *\1, \2 )/' libraries/chain/*.cpp
    sed -i -e 's/\([a-zA-Z0-9_]\+\)[.]is_authorized_asset[(] \([a-zA-Z0-9_*]\+\), d [)]/is_authorized_asset( d, \1, \2 )/' libraries/chain/*.cpp
    sed -i -e 's/\([a-zA-Z0-9_]\+\)[(]db[)][.]is_authorized_asset[(]\([a-zA-Z0-9_*]\+\)[(]db[)], db[)]/is_authorized_asset( db, \1(db), \2(db) )/' tests/tests/uia_tests.cpp
    sed -i -e 's/\([a-zA-Z0-9_]\+\)[.]is_authorized_asset[(]\([a-zA-Z0-9_*]\+\), db[)]/is_authorized_asset( db, \1, \2 )/' tests/tests/uia_tests.cpp

No new functionality is added by this commit, it is simply re-organizing the existing code in a different place.
2016-02-11 01:57:22 -05:00
theoreticalbts
d0f119b215 Merge branch '489-bugfix-reflect-whitelist' into develop
Conflicts:
	libraries/chain/include/graphene/chain/account_object.hpp
2016-02-09 10:58:59 -05:00
theoreticalbts
078e63a79f Merge many bugfix branches into develop
Merged:

492-bugfix-open-fail #492
523-bugfix-multiple-blind-xfer #523
537-cleanup-remove-operation_get_required_authorities #537
540-cleanup-settle-volume-spam #540
542-bugfix-cancel-fee #542
557-bugfix-pts-address #557
559-test-fix-zero-block-wait #559
561-bugfix-serializer-build-broken #561
562-bugfix-unreflected-fields #562
2016-02-09 10:57:21 -05:00
theoreticalbts
39d0946b50 Remove evaluation_observer #550 2016-02-09 04:44:11 -05:00
theoreticalbts
3a968332e8 Remove active_witnesses from global_property_object #562 2016-02-09 04:09:26 -05:00
theoreticalbts
19cf1b135b Fix withdraw_permission_object.hpp reflection #562 2016-02-09 04:01:06 -05:00
abitmore
a5620c3064 Expose whitelisted_accounts, fix #489 2016-02-08 16:14:25 -05:00
theoreticalbts
ad339d2729 Defer something-for-nothing culling for taker orders until the order is unmatched #555 2016-02-08 10:05:43 -05:00
theoreticalbts
b67d223d17 Merge branch '549-fork-cancel-order' into 452-fork-stealth-fba 2016-02-05 12:17:46 -05:00
theoreticalbts
59503acde9 Cap auto-cancel fees at deferred_fee #549 2016-02-02 14:17:57 -05:00
Daniel Larimer
45e717c181 HARDFORK: fix for hung cancel order 2016-02-02 11:04:22 -05:00
Daniel Larimer
405f81eaf8 HARDFORK: fix for hung cancel order 2016-01-28 20:02:37 -05:00
theoreticalbts
a1e8fc0741 Implement top_n special authority #516 2016-01-27 10:30:32 -05:00
theoreticalbts
a1ee326b55 Improve vote counting implementation #533 2016-01-25 11:33:04 -05:00
theoreticalbts
d8cd48d6ad Implement by_asset_balance index #529 2016-01-21 11:13:42 -05:00
theoreticalbts
aa6d13b057 Remove by_account index from account_object #529 2016-01-21 10:39:13 -05:00
theoreticalbts
600a06f57e db_balance.cpp: Rename by_balance -> by_account_asset #529 2016-01-21 10:23:07 -05:00
theoreticalbts
3edaf15652 Generate hardfork.hpp from hardfork.d directory #511 2016-01-11 10:09:03 -05:00
theoreticalbts
d6878852f0 confidential_object.hpp: Move confidential objects into own header #466 2016-01-08 13:06:14 -05:00
theoreticalbts
e9eb050c1e worker_object.hpp: Move worker objects into own header #466 2016-01-08 11:42:35 -05:00
theoreticalbts
07fb90a7ec market_object.hpp: Move market objects into own header #466 2016-01-08 11:36:32 -05:00
Michael Vandeberg
fd09669be3 Merge branch '500-crypto-api' into develop
Closes cryptonomex/graphene#500
2016-01-07 17:24:13 -05:00
Michael Vandeberg
8df58439b1 Opens up cryptographic methods in their own API with serialized wrappers for public and private keys.
Tests for serialization of the wrappers added in serialization_tests.
2016-01-07 17:17:27 -05:00
theoreticalbts
f1b19b1562 Merge branch '496-cleanup-license-header' into develop 2016-01-07 13:38:52 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
3680b67271 Merge branch '481-history-failed-proposal-ops' into develop 2016-01-07 11:30:50 -05:00
theoreticalbts
84fab61589 Merge branch '480-fork-mia-core-exchange' into develop 2016-01-07 11:30:04 -05:00
Daniel Larimer
dd5b7708b4 potential fix for hung chain 2016-01-07 11:27:50 -05:00
Daniel Larimer
dca5c95ab5 potential fix for hung chain 2016-01-03 20:40:21 -05:00
theoreticalbts
dcc0b556ba config.hpp: Bump DB version 2015-12-16 17:55:01 -05:00
theoreticalbts
802ca9e613 config.hpp: Bump DB version 2015-12-16 11:52:03 -05:00
theoreticalbts
eaba77b2d6 Merge branch 'graphene/483-history-fix-op-numbers' into release-2015-12-16 2015-12-16 11:46:38 -05:00
theoreticalbts
7cae3501f8 Fix operation history numbering #483 2015-12-16 11:43:45 -05:00
theoreticalbts
0f67fb655b config.hpp: Bump DB version 2015-12-15 14:43:38 -05:00
theoreticalbts
4d5515702c Merge branch 'graphene/480-fork-mia-core-exchange' into bitshares 2015-12-15 14:42:02 -05:00
theoreticalbts
f42bbcd087 Fix non-BTS MIA core_exchange_rate check #480 2015-12-15 14:20:00 -05:00
theoreticalbts
f699240e0a config.hpp: Bump db version 2015-12-07 17:53:03 -05:00
theoreticalbts
5fa123b6d7 config.hpp: Bump db version 2015-12-07 17:52:49 -05:00
theoreticalbts
020dc2e789 Merge branch 'graphene/develop' into prerel-2015-12-07 2015-12-07 17:45:45 -05:00
theoreticalbts
2b9876fd98 hardfork.hpp: Set hardfork timestamps 2015-12-07 15:36:52 -05:00
theoreticalbts
0735a8722e Merge branch '453-fork-referral-percent' into develop 2015-12-07 15:15:26 -05:00
theoreticalbts
d853aecd3f Merge branch '445-fork-order-create-fee-refund' into develop 2015-12-07 15:14:03 -05:00
theoreticalbts
b80587e5b5 Prevent margin call from being triggered unless feed < call #436 2015-12-07 14:59:07 -05:00
theoreticalbts
32f12b9215 Refund order creation fee when order is cancelled #445 2015-12-03 15:48:52 -05:00
theoreticalbts
084e38753b Hardfork to retroactively correct referral percentages #453 2015-11-19 16:35:33 -05:00
Eric Frias
ed1121d3f6 Hack to allow address parsing code to handle both MUSE prefix and BTS
prefix
2015-11-09 16:38:19 -05:00
theoreticalbts
2d6dfd04e4 config.hpp: Bump db version to force replay 2015-11-02 10:11:42 -05:00
theoreticalbts
545fbfe63c Merge branch 'newmaster' into newbitshares
Conflicts:
	libraries/chain/asset_evaluator.cpp
	libraries/chain/include/graphene/chain/hardfork.hpp
	libraries/chain/market_evaluator.cpp
2015-11-02 10:06:13 -05:00
theoreticalbts
65003ba06c Merge branch 'fork-413' into develop
Conflicts:
	libraries/chain/include/graphene/chain/hardfork.hpp
2015-10-31 17:13:15 -04:00
theoreticalbts
3dc58e435f Merge branches 'fork-409' and 'fork-419' into develop 2015-10-31 17:12:16 -04:00
theoreticalbts
4fa7443922 Merge branches 'history-324', 'bugfix-390', 'wallet-398', 'opt-410', 'script-411', 'bugfix-412', 'bugfix-414', 'bugfix-423' and 'feature-427' into develop 2015-10-31 17:11:41 -04:00
theoreticalbts
55fef1b161 db_update.cpp: Don't clear expired feeds for non-market-issued assets #410 2015-10-31 16:14:25 -04:00
theoreticalbts
a126520fa3 HARDFORK Allow creation of sub-assets #409 2015-10-31 15:46:53 -04:00
theoreticalbts
dfe228fc85 global_property_object.hpp: Reflect last_budget_time #414 2015-10-31 14:37:56 -04:00
theoreticalbts
966b3edf0c Add hardfork logic #413 2015-10-30 18:07:19 -04:00
Daniel Larimer
5d6091e581 HARDFORK - adding operation to claim asset fees #413 2015-10-30 18:07:19 -04:00
theoreticalbts
4f2b8bd6f6 HARDFORK Move fee blacklist check to evaluator #419 2015-10-30 14:35:50 -04:00
theoreticalbts
d821d4a993 Get rid of enforce_white_list() #416 2015-10-30 14:35:50 -04:00
theoreticalbts
db045f453c Implement hardfork logic for #415 2015-10-30 13:12:37 -04:00
theoreticalbts
57015b43fa Add missing FC_REFLECT_TYPENAME #414 2015-10-30 10:47:35 -04:00
Daniel Larimer
32d6b22b7b Merge branch 'master' into bitshares
Added a hardfork that is scheduled to happen years in the future after
this change has been reviewed and approved.
2015-10-23 13:30:42 -04:00
Daniel Larimer
a1640abf81 Merge branch 'master' into bitshares 2015-10-22 10:51:00 -04:00
Daniel Larimer
44b2198f97 normalize blinded_balance reflection 2015-10-22 10:50:51 -04:00
Daniel Larimer
ddd58e946a Fix #385 - HARDFORK to expand valid names 2015-10-21 09:29:13 -04:00
Daniel Larimer
ab0d789d72 Fix bug where updated DB version causes crash on restart 2015-10-15 12:07:44 -04:00
Daniel Larimer
c528ea1ff3 update DB VERSION to force replay 2015-10-15 11:40:48 -04:00
Daniel Larimer
d083c5c9de Merge branch 'master' into bitshares
Accepted changes from master
2015-10-14 16:22:53 -04:00
Daniel Larimer
f85dec1c23 increasing the maximum undo history 2015-10-14 16:20:29 -04:00
Daniel Larimer
15e4464300 Merge branch 'master' into bitshares 2015-10-14 14:50:38 -04:00
theoreticalbts
fc95e83732 Merge remote-tracking branch 'graphene/master' into master 2015-10-14 14:41:59 -04:00
theoreticalbts
6646957ce2 db_init.cpp: Make genesis BitAssets require 7 price feeds 2015-10-12 19:23:44 -04:00
theoreticalbts
9d19358a0c db_init.cpp: Make genesis BitAssets require 7 price feeds 2015-10-12 17:01:16 -04:00
Daniel Larimer
91c8e709fe change CORE to BTS 2015-10-12 14:04:56 -04:00
theoreticalbts
d0609e8e74 Update copyright notice for BitShares 2015-10-12 13:48:40 -04:00
theoreticalbts
60f0812de2 Update copyright notice 2015-10-12 13:32:47 -04:00
theoreticalbts
9ccbc55ba6 Implement chain_id #374 2015-10-12 13:32:47 -04:00
theoreticalbts
f0f96d5a8f Allow witness-fed and committee-fed BitAsset feeds to be specified in flags.
This is only technically a hardfork, in order to actually desync the chain
the witness account / committee account would need to pass a proposal to do
something in their capacity as the owner of an asset_object.  It should be
fairly safe to say that this will not occur on testnet until witnesses have
upgraded.
2015-10-09 13:23:55 -04:00
theoreticalbts
43a2660143 db_management.cpp: Allow us to skip rewind on close() 2015-10-08 15:26:13 -04:00
theoreticalbts
3f00bd81b9 HARDFORK Disallow publishing certain malformed price feeds, fix #357 2015-10-08 15:26:13 -04:00
theoreticalbts
9b910ee1a4 HARDFORK Allow digits in asset name; fix #359 2015-10-08 15:26:13 -04:00
Daniel Larimer
a536d39253 TESTNET RESET REQUIRED - convert all hashed indexs to ordered indexes
Fix #362 by replacing non-deterministic hashed indexes with ordered
indexes

Remove HARDFORK check for witness ordering because this #362 will
require a test net reset to effeciently implment.

Changed the order in wich process_fees iterates accounts to be "by_name"
rather than "by_id" so that we retain the ability to switch back to
hashed indexes in the future.

This change was overly pestimistic and assumes all indexes may be
traversed as part of consensus.  We want to reserve the ability to
change some of the indices back to hashed indicies in the future after a
through audit reveals that they are never iterated over in order.
2015-10-08 14:06:20 -04:00
theoreticalbts
93a108487d Implement last_irreversible_block_num 2015-10-02 17:19:23 -04:00
Daniel Larimer
26288549e6 Fix blackswan on force settle, Fix #346 and #347
- fix detection and handling of black swan events
- fix total core in orders calculation from genesis
2015-09-30 18:30:44 -04:00
Daniel Larimer
650af1778d Merge branch 'master' of github.com:cryptonomex/graphene 2015-09-29 10:49:14 -04:00
Daniel Larimer
edcd46dd14 fix reindex with failed proposed transaction 2015-09-29 10:49:12 -04:00
theoreticalbts
9d3bcbb569 Provide objects to trace budget computations 2015-09-28 15:46:37 -04:00
Daniel Larimer
d3b283b60e Merge branch 'master' of github.com:cryptonomex/graphene 2015-09-28 15:42:52 -04:00
Daniel Larimer
b65763fdb6 added extra code to track a reverse index on whitelist/blacklist 2015-09-28 15:42:38 -04:00
theoreticalbts
a415dd6604 Don't use annotated_object #246 2015-09-28 12:15:17 -04:00
theoreticalbts
2cf80cd04a Remove vestigial meta objects #246 2015-09-28 12:15:17 -04:00
theoreticalbts
8d52e2dda8 database: Scrub db in open() to force reindex if DB is outdated 2015-09-28 12:15:17 -04:00
theoreticalbts
0d7baa2b52 database: Remove obsolete retry_on_failure parameter 2015-09-28 12:15:17 -04:00
theoreticalbts
f972cff9d7 Clean up uninitialized integers 2015-09-28 12:15:17 -04:00
theoreticalbts
35acfff060 database: Implement before_last_checkpoint() function 2015-09-28 12:15:17 -04:00
Daniel Larimer
738abf03af adding API call to get potential address sigs: Fix #337 2015-09-23 18:22:38 -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
26007bb655 update shuffling algorithm 2015-09-18 13:42:12 -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
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
e4a45de195 Remove maximum_expiration for good, fix #308 [HARDFORK] 2015-09-16 10:18:54 -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
b3052dfcc1 fix warnings 2015-09-11 08:53:50 -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
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
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
theoreticalbts
ff2db08475 database: Undo and re-apply pending_transactions before/after pushing a block. Fixes #299 2015-09-09 11:11:58 -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
theoreticalbts
efac97e060 cli_wallet: Implement withdrawal for vesting balance objects #286 2015-09-01 16:21:35 -04:00
Daniel Larimer
fb8d17bb4b max block re-ordering increase 2015-09-01 08:57:42 -04:00
theoreticalbts
dd9dbca38c Reserve witness ID 0 2015-08-31 17:26:03 -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
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
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
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
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
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
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
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
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
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
Daniel Larimer
c0c36ca639 votable objects now keep track of their most recent vote count 2015-08-14 17:56:21 -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
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
9dfb0d9650 Refactor impacted_accounts into app #183 2015-07-30 12:38:59 -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
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
f80219fd52 Implement maintenance_flag in dynamic_global_properties 2015-07-28 11:58:22 -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
theoreticalbts
cd6b574141 types.hpp: Move voting stuff to separate header 2015-07-23 13:37:06 -04:00
Vikram Rajkumar
c14ac442f5 Simplify genesis state; #17 2015-07-23 11:53:36 -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
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
Daniel Larimer
3e41f726a7 Issue #45 Market Subscription Standardization
When subscribing to markets the callback will now receive something that
looks like this:

[  "REMOVED ID1", "REMOVED ID2", ...,
    { "id": "UPDATED ID3", data... },
    { "id": "UPDATED ID4", data... },
    ...
    [ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
    [ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
    [ FILL_OPERATION_TYPE_ID, { fill order operation data } ],
    [ FILL_OPERATION_TYPE_ID, { fill order operation data } ]
]

When ever an order is removed from the order book, its ID will be
included as a string.  When an order is modified the new order data is included as
an object. And the operations describing how orders were matched and
what fees are paid will be included as an operation, aka array.

Also added means to unsubscribe from full account data (issue #166)
2015-07-21 15:51:22 -04:00
Daniel Larimer
dffc83cca9 Refactor full account subscriptions
When subscribing to an account via the get_full_account API it will
start streaming any object relevant to the account that is added,
removed, or modified.
2015-07-21 15:19:52 -04:00
Daniel Larimer
b3d299d241 #170 Make sure accounts cannot be updated with impossible auhtority settings 2015-07-21 09:23:14 -04:00
Daniel Larimer
517ea70c95 #169 - Removing Bulk Discounts 2015-07-17 22:07:07 -04:00
theoreticalbts
c67acc0cf5 uia_tests.cpp: Implement transfer_restricted_test 2015-07-17 20:48:49 -04:00
theoreticalbts
d52461b77b operation_tests.cpp: Implement reserve_asset_test 2015-07-17 15:54:18 -04:00
Daniel Larimer
46fae5cbbf make max authority check depth configurable by delegates 2015-07-17 09:41:08 -04:00
Daniel Larimer
2492df752d Merge branch 'auth_refactor' 2015-07-17 01:02:29 -04:00
Daniel Larimer
8c6e0b9e55 Refactor Authority Checking
transaction_evaluation_state no longer tracks authority validation.
Authority validation is now compeltely independent of the database.
2015-07-17 00:41:43 -04:00
Daniel Larimer
b08b6cb553 Partial work toward auth refactor 2015-07-16 18:13:11 -04:00
Nathan Hourt
723b11533b Progress #166: Initial implementation of get_full_accounts API call 2015-07-16 17:04:35 -04:00
Daniel Larimer
dc8849f23b Active key is not required when owner key present
- when updating account there is no need to sign with the active key if
 the owner has signed.
 - when updating an account the active key is enough to update the
 active key.
2015-07-16 16:09:32 -04:00
theoreticalbts
3cdcf5139f market_evaluator.cpp: Fix call_order_update_evaluator exception logic 2015-07-16 15:32:58 -04:00
Vikram Rajkumar
d9855f9023 Clean up some TODOs; #77 2015-07-15 18:15:41 -04:00
theoreticalbts
8aa048661f Remove unused undo_block and undo_transaction skip flags 2015-07-15 17:09:53 -04:00
Daniel Larimer
9671a92c43 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-15 14:18:32 -04:00
Daniel Larimer
7f54d3d077 Issue #160 - Dynamic Undo History / Minority Fork
The blockchain now has a minimal participation requirement that can only
be overridden with checkpoints.  Any time participation falls below a
minimal level no new blocks may be added.

Currently it requires 66% participation and tolerates short periods of
time below 66% participation with a maximum of 500 consecutive blocks
missed.  For every two blocks produced 1 can be missed with a slack of
999 bias.
2015-07-15 14:13:24 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
Daniel Larimer
e5f8d0f548 removing unecessary field 2015-07-14 18:50:03 -04:00
Daniel Larimer
cfa95a3f57 Issue #157 - make trx expiration absolute
This is done to comply with the policy that transactions should be self
describing and not depend upon implied state.  This makes things easier
for everyone to understand exactly when a transaction will be invalid
without having to refer to chain state.
2015-07-14 18:46:58 -04:00
Daniel Larimer
d1c3c7a698 Issue #157 - TAPOS Refinements
1. Implement a TaPoS assert operation predicate that offers full block ID
validation for transactions that want the added security. This is only
required for transactions that are of high value and transfer control of
funds to a newly created identifier and where the witnesses cannot be
trusted.

2. Remove the full block ID from the transaction digest generation.
2015-07-14 17:28:26 -04:00
Daniel Larimer
98e761c9c2 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-13 17:24:29 -04:00
theoreticalbts
c019f18bd4 Implement recent_slots_filled and use it to measure witness participation 2015-07-13 17:02:00 -04:00
Daniel Larimer
0beeac94aa Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-13 16:23:22 -04:00
Daniel Larimer
8faec763c8 Names must now be unique. 2015-07-13 16:23:12 -04:00
Vikram Rajkumar
2f429e07f1 Rename bad references to delegate -> committee member; #147 2015-07-13 16:08:17 -04:00
Vikram Rajkumar
6043586d15 Rename bad references to delegate -> witness; #147 2015-07-13 16:08:17 -04:00
Vikram Rajkumar
70b77be3bc Rename bad references to genesis account -> committee account; #147 2015-07-13 16:08:16 -04:00
theoreticalbts
e201e59b3d Define GRAPHENE_MIN_BLOCK_INTERVAL and use it to fix minimum_time_of_last_offered_block logic #154 2015-07-13 12:33:52 -04:00
Daniel Larimer
a05d88b044 Fix #151 - Witnesses do not produce consecutively
- added an option (on by default) to prevent a witness from signing two
 blocks in a row because this most likely indicates they have been cut
 off from the network.

 - added an option where a witness will not produce a block if the
 witness participation rate is below a configurable threshold (default
                                                               to 33%)
2015-07-13 09:47:03 -04:00
Daniel Larimer
e8d2b45d67 improve authority checking performance, adding automatic transaction signing helpers 2015-07-10 15:56:44 -04:00
Daniel Larimer
c0da987b02 This file is no longer needed! 2015-07-10 14:08:31 -04:00
Daniel Larimer
49937daeb8 Rename delegate_signature->witness_signature #147
- changed secret hash of block headers from 224 to 160 to save 16 bytes
per header which will add up to 1 MB per day in savings.
2015-07-09 18:11:52 -04:00
Daniel Larimer
a799f064d4 Adding extension points #141 2015-07-09 17:29:30 -04:00
Daniel Larimer
04b8820b3b Merge branch 'master' into fee_refactor 2015-07-09 16:34:56 -04:00
Daniel Larimer
9e150df605 Fix withdraw_witness_pay test 2015-07-09 15:55:10 -04:00
Daniel Larimer
1fbdbc50e0 fix balance claim authority requirements 2015-07-09 15:28:39 -04:00
Daniel Larimer
a164fbe8fa fix proposal authority 2015-07-09 15:14:44 -04:00
theoreticalbts
a41384d4b1 asset_ops.hpp: Change bitasset_options member name to bitasset_opts to fix gcc compile 2015-07-09 14:52:22 -04:00
theoreticalbts
6899202892 config.hpp: Fix warning 2015-07-09 14:52:22 -04:00
Daniel Larimer
c49fbd87e7 adding checkpoints #121 to database 2015-07-09 14:09:21 -04:00
theoreticalbts
ae7b904e4a Clean up some unused files 2015-07-09 11:59:06 -04:00
Daniel Larimer
9699be84e6 Progress on #144 2015-07-09 11:40:37 -04:00
Daniel Larimer
c8f200868c fix zero all fees #144 2015-07-09 10:15:53 -04:00
Daniel Larimer
c8f0ea4abe It now builds #144 2015-07-09 09:56:50 -04:00
Eric Frias
5dea2825b5 Win32 compile fixes 2015-07-09 09:51:15 -04:00
Daniel Larimer
786c65d4b4 Merge branch 'master' into fee_refactor 2015-07-09 08:43:45 -04:00
Daniel Larimer
fdcf821c41 Progress on #144 - refactoring fee schedule 2015-07-08 18:45:53 -04:00
Vikram Rajkumar
629d884b84 Share some private keys for testnet balances 2015-07-08 18:10:38 -04:00
Nathan Hourt
d64c9154a7 Progress #17: Lazy load genesis state
This speeds up startup for witness_node when starting on a database
which is already initialized.
2015-07-08 17:39:34 -04:00
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