Commit graph

299 commits

Author SHA1 Message Date
theoreticalbts
60f0812de2 Update copyright notice 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
9b910ee1a4 HARDFORK Allow digits in asset name; fix #359 2015-10-08 15:26:13 -04:00
theoreticalbts
0106a896dc operation_tests.cpp: Fix black_swan_issue_346 test 2015-10-08 15:26:13 -04:00
Daniel Larimer
f05a7bbc97 fix warning 2015-10-02 16:12:06 -04:00
theoreticalbts
db84a492b9 Implement unit test for #350 2015-10-02 10:53:31 -04:00
theoreticalbts
9d5a5dd21c Implement unit test for #346 2015-10-01 12:26:03 -04:00
Eric Frias
74bbde785b In the p2p networking code, request multiple transactions at a time to improve performance during flooding 2015-09-29 17:37:32 -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
cb983ced0a block_tests.cpp: Remove logspam, fix compiler warnings 2015-09-22 13:28:53 -04:00
theoreticalbts
53e86fded2 block_tests.cpp: Update transaction_invalidated_in_cache test 2015-09-22 13:27:59 -04:00
theoreticalbts
8de583b0a1 Fix unit tests 2015-09-21 17:36:45 -04:00
Daniel Larimer
966df708a5 fix unit tests 2015-09-18 13:56:32 -04:00
Daniel Larimer
0c1ea181fe commenting out bogus test 2015-09-18 13:48:52 -04:00
Daniel Larimer
26007bb655 update shuffling algorithm 2015-09-18 13:42:12 -04:00
theoreticalbts
b5db094b3b Fix broken unit tests 2015-09-17 12:11:40 -04:00
theoreticalbts
b9727e6e1c Increase logging, improve error messages 2015-09-17 12:11:40 -04:00
theoreticalbts
60f6833795 database_fixture.cpp: Fail assert instead of segfault if asset or account is not found 2015-09-17 12:11:40 -04:00
theoreticalbts
1451f67636 block_tests.cpp: Implement miss_many_blocks test #313 2015-09-16 11:10:57 -04:00
theoreticalbts
422f5762d3 Create unit test for genesis ID reservation #281 2015-09-16 10:18:23 -04:00
Eric Frias
8e9bd890a8 Fix bugs, improve logging in p2p sync 2015-09-10 19:33:11 -04:00
theoreticalbts
15ec55e52d block_tests.cpp: Fix transaction_invalidated_in_cache test, including transaction expiration 2015-09-09 11:03:16 -04:00
theoreticalbts
7317465633 block_tests.cpp: Fix #300 by generating more blocks in generate_empty_blocks() 2015-09-08 16:40:52 -04:00
theoreticalbts
6c73046281 block_tests.cpp: Implement transaction_expires_in_cache test #264 #299 2015-09-08 16:09:48 -04:00
Daniel Larimer
96a20bbd35 adding extra test of fork db 2015-09-02 09:03:04 -04:00
theoreticalbts
823adbbed5 generate_empty_blocks: Create binary to generate many blocks for testing 2015-08-27 16:42:23 -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
59a3ca32b7 Remove secret hashes from witnesses 2015-08-26 17:43:00 -04:00
theoreticalbts
19d10e462c Implement GRAPHENE_PROXY_TO_SELF_ACCOUNT #267 2015-08-26 17:09:49 -04:00
theoreticalbts
0ae94f88d4 operation_tests2.cpp: Fix production check in witness_create 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
0bcfc69da2 Further improve Merkle root algorithm, implement unit test #266
This commit redefines the hash h of a node in the Merkle tree as:

h(unary_node) = unary_node
h(binary_node) = H(left_child + right_child)

Previous code in c0b9af9a99 defined hash as:

h(unary_node) = H(unary_node + digest_type())
h(binary_node) = H(left_child + right_child)

The improved definition in this commit saves some hash computations.
2015-08-26 15:36:05 -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
Nathan Hourt
eeeab17477 Polish out-of-order-block handling, write test case 2015-08-19 13:07:13 -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
theoreticalbts
7c579f22d3 fee_tests.cpp: Check fee after every block in account_create_fee_scaling test 2015-08-13 14:37:56 -04:00
theoreticalbts
e6116c466f Move account_create_fee_scaling test from fee_tests to block_tests 2015-08-13 14:29:51 -04:00
theoreticalbts
ce624827f6 Include smart_ref_impl.hpp when dereferencing smart_ref #231 2015-08-13 14:28:54 -04:00
theoreticalbts
4e1f38d8d9 api_stress.py: Implement simple stress testing of API 2015-08-12 16:52:30 -04:00
theoreticalbts
96fb8f60c2 fee_tests.cpp: Make sure validation actually enforces nonzero fees 2015-08-12 14:26:48 -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
0e76af1fe0 Add egenesis_none to targets in tests/ directory, fix #227 2015-08-10 12:38:01 -04:00
Nathan Hourt
9510960bf5 Resolve #193: Test transfer with memo 2015-08-07 16:33:51 -04:00
theoreticalbts
0295f10387 block_tests.cpp: Implement optional_tapos test to ensure backend doesn't force TaPoS 2015-08-06 13:08:53 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -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
6bebdbad1c Make unit tests query get_slot_time() instead of doing own time computations
Fixed unit tests:  witness_apy_test, generate_empty_blocks, undo_block,
fork_blocks, undo_pending, switch_forks_undo_create, duplicate_transactions,
tapos, change_block_interval
2015-07-28 11:58:22 -04:00
theoreticalbts
5b9cd9122e Implement skip_slots 2015-07-28 11:58:22 -04:00
Daniel Larimer
9aab9ffa68 fix #205 tests no longer attempt to validate empty transactions 2015-07-24 17:21:54 -04:00
theoreticalbts
d33e64e407 operation_tests2.cpp: Fix set_expiration logic in some tests broken by parent commit
Fixed tests: withdraw_permission_nominal_case, withdraw_permission_test, proposal_owner_authority_complete
2015-07-23 17:01:39 -04:00
theoreticalbts
86456ba6e0 tests: Set expirations with helper function instead of ad hoc in each test 2015-07-23 17:01:39 -04:00
Vikram Rajkumar
c14ac442f5 Simplify genesis state; #17 2015-07-23 11:53:36 -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
9c1be851cd authority_tests.cpp: Initial implementation of get_required_signatures_test #182 2015-07-22 16:01:14 -04:00
theoreticalbts
085013fbd8 database_fixture.hpp: Add {name}_public_key to fields defined by ACTOR macro 2015-07-22 16:01:14 -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
d827c5df28 block_tests.cpp: Remove redundant, unimplemented force_settlement test 2015-07-21 16:07:14 -04:00
theoreticalbts
f06a5dccda operation_tests.cpp: Remove unimplemented bulk_discount_test #169 2015-07-21 16:07:14 -04:00
theoreticalbts
1430fab0f4 operation_tests.cpp: Add messages to update_uia test, fix check failing due to previous commit 2015-07-21 16:07:14 -04:00
theoreticalbts
5f12f3f445 operation_tests2.cpp: Implement force_settlement_test 2015-07-21 16:07:14 -04:00
theoreticalbts
cb2031a1e4 uia_tests.cpp: Remove mistakenly copy-pasted notes 2015-07-21 16:07:13 -04:00
Vikram Rajkumar
d0b8c66aad Fix Linux Clang build with missing includes; resolve #174 2015-07-20 14:57:08 -04:00
theoreticalbts
c67acc0cf5 uia_tests.cpp: Implement transfer_restricted_test 2015-07-17 20:48:49 -04:00
theoreticalbts
5655d47a6f operation_tests.cpp: Delete unimp_transfer_cashback_test, superseded by cashback_test 2015-07-17 19:15:29 -04:00
theoreticalbts
d52461b77b operation_tests.cpp: Implement reserve_asset_test 2015-07-17 15:54:18 -04:00
Daniel Larimer
d065984854 fix crash due to bad cast 2015-07-17 01:32:52 -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
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
c527b2d41e operation_tests.cpp: Implement cover_with_collateral_test 2015-07-16 15:32:58 -04:00
theoreticalbts
bc9a3173ec database_fixture: Make borrow() return object 2015-07-16 15:32:58 -04:00
theoreticalbts
a4496eccb8 Fix #162 by adding an active authority to tests that use account_create_op directly 2015-07-15 17:22:47 -04:00
theoreticalbts
6f4eb55756 operation_tests2.cpp: Set skip_flags to deal with gaps in balance_object_test 2015-07-15 17:02:24 -04:00
theoreticalbts
8cc683374a operation_tests.cpp: set_expiration_time in transfer_core_asset test 2015-07-15 16:43:42 -04:00
theoreticalbts
8c91d17301 fee_tests.cpp: Rewrite cashback_test to compute ref amounts instead of using hardcoded numbers 2015-07-15 16:22:12 -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
15724170b8 Fix test failures due to now-required expiration 2015-07-15 13:53:55 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
Daniel Larimer
a60c506cc7 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-14 18:48:12 -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
theoreticalbts
cfd9dd0f75 app_test: Rewrite broken two_node_network test 2015-07-14 18:17:01 -04:00
theoreticalbts
6fd566e6f7 block_tests.cpp: Test witness participation rate 2015-07-13 17:02:00 -04:00
theoreticalbts
d48e97cab7 Test recent_slots_filled 2015-07-13 17:02:00 -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
Vikram Rajkumar
34598df149 Fix a test failure 2015-07-13 16:08:16 -04:00
theoreticalbts
e876c5fb81 Organize temporary files under GRAPHENE_TEMPDIR (or /tmp/graphene-tmp if undefined) 2015-07-13 15:15:55 -04:00
Eric Frias
8245b18c98 Win32 compile fixes 2015-07-10 11:55:12 -04:00
Daniel Larimer
04b8820b3b Merge branch 'master' into fee_refactor 2015-07-09 16:34:56 -04:00
Daniel Larimer
10bd652168 fix uia_transfer test, update transfer error messages 2015-07-09 16:21:40 -04:00
Daniel Larimer
014e6e7b79 fix uia_fees test 2015-07-09 16:05:57 -04:00