Commit graph

38 commits

Author SHA1 Message Date
Nathaniel
e8b432c19f
Safety Check: Part 1 -- Evaluator Tagging
Pursuant to the requested safety checks on the database, to ensure that
plugin code (i.e., third party code) cannot modify the database, we
implement evaluator tagging so the chain can distinguish between
consensus evaluators and third party evaluators. Also, define a new kind
of evaluator base class, third_party_evaluator, so that fees are not
charged multiple times for operations with multiple evaluators.

Next step, implement the actual safety check mechanism on the database.
2022-03-07 16:37:53 -06:00
Nathan Hourt
6074749813
Ref #1506/#1737: Some requested changes 2020-08-23 14:37:35 -05:00
Nathan Hourt
14f627c014
Ref #1506: Isolate chain/protocol to its own library 2020-08-23 14:37:00 -05:00
Peter Conrad
f25c4f6ae6
Replace fc::uint128 with boost::multiprecision::uint128_t 2020-08-23 14:16:41 -05: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
567a40170e Fix gcc/clang builds broken by d3c6cbf4de (breaking circular dependency) 2016-02-22 19:34:16 -05:00
theoreticalbts
5dd56bd824 Implement FBA fee routing for STEALTH #563 2016-02-15 15:33:21 -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
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
b67d223d17 Merge branch '549-fork-cancel-order' into 452-fork-stealth-fba 2016-02-05 12:17:46 -05:00
Daniel Larimer
45e717c181 HARDFORK: fix for hung cancel order 2016-02-02 11:04:22 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
32f12b9215 Refund order creation fee when order is cancelled #445 2015-12-03 15:48:52 -05:00
theoreticalbts
4f2b8bd6f6 HARDFORK Move fee blacklist check to evaluator #419 2015-10-30 14:35:50 -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
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
Daniel Larimer
b08b6cb553 Partial work toward auth refactor 2015-07-16 18:13:11 -04:00
Vikram Rajkumar
2f429e07f1 Rename bad references to delegate -> committee member; #147 2015-07-13 16:08:17 -04:00
Daniel Larimer
04b8820b3b Merge branch 'master' into fee_refactor 2015-07-09 16:34:56 -04:00
Daniel Larimer
014e6e7b79 fix uia_fees test 2015-07-09 16:05:57 -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
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
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
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
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
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
Daniel Larimer
0a5954db70 merge master 2015-06-18 15:31:30 -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
theoreticalbts
427d1a8977 evaluator.cpp: Remove obsolete verify_signature function 2015-06-18 12:33:44 -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
Nathan Hourt
a185f864fc Progress #31: Implement threshold for vesting fees 2015-06-11 13:54:46 -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
Nathan Hourt
0a945b0257 Initial commit 2015-06-08 12:36:37 -04:00