tests: Use new macros
Generated by applying these commands to parent commit: sed -i -e 's/\([a-z0-9]\+\).push_transaction[(]\([^()]*\)[)]/PUSH_TX( \1, \2 )/' tests/tests/*.cpp sed -i -e 's/\([a-z0-9]\+\).push_block[(]\([^()]*\)[)]/PUSH_BLOCK( \1, \2 )/' tests/tests/*.cpp
This commit is contained in:
parent
a219bee55d
commit
616a7cf4d7
6 changed files with 201 additions and 201 deletions
|
|
@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE( simple_single_signature )
|
|||
transfer_operation op = {asset(),nathan.id, account_id_type(), core.amount(500)};
|
||||
trx.operations.push_back(op);
|
||||
sign(trx, key.id, nathan_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), old_balance - 500);
|
||||
} catch (fc::exception& e) {
|
||||
|
|
@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE( any_two_of_three )
|
|||
op.owner = *op.active;
|
||||
trx.operations.push_back(op);
|
||||
sign(trx, key1.id,nathan_key1);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
} FC_CAPTURE_AND_RETHROW ((nathan.active)(key1))
|
||||
|
|
@ -88,27 +88,27 @@ BOOST_AUTO_TEST_CASE( any_two_of_three )
|
|||
transfer_operation op = {asset(), nathan.id, account_id_type(), core.amount(500)};
|
||||
trx.operations.push_back(op);
|
||||
sign(trx, key1.id,nathan_key1);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, key2.id,nathan_key2);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), old_balance - 500);
|
||||
|
||||
trx.signatures.clear();
|
||||
sign(trx, key2.id,nathan_key2);
|
||||
sign(trx, key3.id,nathan_key3);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), old_balance - 1000);
|
||||
|
||||
trx.signatures.clear();
|
||||
sign(trx, key1.id,nathan_key1);
|
||||
sign(trx, key3.id,nathan_key3);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), old_balance - 1500);
|
||||
|
||||
trx.signatures.clear();
|
||||
//sign(trx, fc::ecc::private_key::generate());
|
||||
sign(trx, key3.id,nathan_key3);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), old_balance - 1500);
|
||||
} catch (fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
|
|
@ -133,7 +133,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
make_child_op.owner = authority(2, account_id_type(parent1.id), 1, account_id_type(parent2.id), 1);
|
||||
make_child_op.active = authority(2, account_id_type(parent1.id), 1, account_id_type(parent2.id), 1);
|
||||
trx.operations.push_back(make_child_op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
}
|
||||
|
||||
|
|
@ -142,17 +142,17 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
|
||||
transfer_operation op = {asset(), child.id, account_id_type(), core.amount(500)};
|
||||
trx.operations.push_back(op);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
trx.signatures.clear();
|
||||
sign(trx, key2.id,parent2_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(child, core), old_balance - 500);
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
|
|
@ -167,7 +167,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
trx.operations.push_back(op);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
sign(trx, key2.id,parent2_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_REQUIRE_EQUAL(child.active.auths.size(), 3);
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
|
|
@ -175,18 +175,18 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
|
||||
op = {asset(),child.id, account_id_type(), core.amount(500)};
|
||||
trx.operations.push_back(op);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, key1.id,parent1_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
trx.signatures.clear();
|
||||
sign(trx, key2.id,parent2_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, key1.id, parent1_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(child, core), old_balance - 1000);
|
||||
trx.signatures.clear();
|
||||
sign(trx, child_key_obj.id, child_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(child, core), old_balance - 1500);
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
|
|
@ -204,7 +204,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
op.active = authority(1, grandparent_key_obj.get_id(), 1);
|
||||
op.owner = *op.active;
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
}
|
||||
|
|
@ -212,9 +212,9 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
trx.operations.push_back(op);
|
||||
sign(trx, key1.id, parent1_key);
|
||||
sign(trx, key2.id, parent2_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, grandparent_key_obj.id, grandparent_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(child, core), old_balance - 2000);
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
|
|
@ -225,7 +225,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
op.active = authority(1, account_id_type(), 1);
|
||||
op.owner = *op.active;
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
}
|
||||
|
|
@ -235,9 +235,9 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
sign(trx, grandparent_key_obj.id,grandparent_key);
|
||||
sign(trx, key_id_type(), generate_private_key("genesis"));
|
||||
//Fails due to recursion depth.
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
sign(trx, child_key_obj.id, child_key);
|
||||
db.push_transaction(trx, database::skip_transaction_dupe_check);
|
||||
PUSH_TX( db, trx, database::skip_transaction_dupe_check );
|
||||
BOOST_CHECK_EQUAL(get_balance(child, core), old_balance - 2500);
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
|
|
@ -248,7 +248,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
op.active = authority(1, account_id_type(child.id), 1);
|
||||
op.owner = *op.active;
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
trx.signatures.clear();
|
||||
}
|
||||
|
|
@ -256,7 +256,7 @@ BOOST_AUTO_TEST_CASE( recursive_accounts )
|
|||
trx.operations.push_back(op);
|
||||
sign(trx, key2.id, parent2_key);
|
||||
//Fails due to recursion depth.
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, database::skip_transaction_dupe_check), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, database::skip_transaction_dupe_check ), fc::exception);
|
||||
} catch (fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
throw;
|
||||
|
|
@ -301,7 +301,7 @@ BOOST_AUTO_TEST_CASE( proposed_single_account )
|
|||
trx.operations.push_back(op);
|
||||
trx.set_expiration(db.head_block_id());
|
||||
sign(trx, this->genesis_key, genesis_key);
|
||||
const proposal_object& proposal = db.get<proposal_object>(db.push_transaction(trx).operation_results.front().get<object_id_type>());
|
||||
const proposal_object& proposal = db.get<proposal_object>(PUSH_TX( db, trx ).operation_results.front().get<object_id_type>());
|
||||
|
||||
BOOST_CHECK_EQUAL(proposal.required_active_approvals.size(), 1);
|
||||
BOOST_CHECK_EQUAL(proposal.available_active_approvals.size(), 0);
|
||||
|
|
@ -312,11 +312,11 @@ BOOST_AUTO_TEST_CASE( proposed_single_account )
|
|||
trx.operations = {proposal_update_operation{account_id_type(), asset(), proposal.id,{nathan.id},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<key_id_type>{},flat_set<key_id_type>{}}};
|
||||
trx.sign( this->genesis_key, genesis_key );
|
||||
//Genesis may not add nathan's approval.
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
trx.operations = {proposal_update_operation{account_id_type(), asset(), proposal.id,{account_id_type()},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<key_id_type>{},flat_set<key_id_type>{}}};
|
||||
trx.sign( key_id_type(), genesis_key );
|
||||
//Genesis has no stake in the transaction.
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
|
||||
trx.signatures.clear();
|
||||
trx.operations = {proposal_update_operation{nathan.id, asset(), proposal.id,{nathan.id},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<account_id_type>{},flat_set<key_id_type>{},flat_set<key_id_type>{}}};
|
||||
|
|
@ -326,7 +326,7 @@ BOOST_AUTO_TEST_CASE( proposed_single_account )
|
|||
//trx.signatures = {nathan_key3.sign_compact(trx.digest()), nathan_key2.sign_compact(trx.digest())};
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), nathan_start_balance.amount.value);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, core), nathan_start_balance.amount.value - 100);
|
||||
} catch (fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
|
|
@ -354,7 +354,7 @@ BOOST_AUTO_TEST_CASE( genesis_authority )
|
|||
|
||||
trx.operations.push_back(transfer_operation({asset(), account_id_type(), nathan.id, asset(100000)}));
|
||||
sign(trx, key_id_type(), genesis_key);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
|
||||
auto sign = [&] { trx.signatures.clear(); trx.sign(nathan_key_id,nathan_key); };
|
||||
|
||||
|
|
@ -366,16 +366,16 @@ BOOST_AUTO_TEST_CASE( genesis_authority )
|
|||
sign();
|
||||
|
||||
// The review period isn't set yet. Make sure it throws.
|
||||
BOOST_REQUIRE_THROW( db.push_transaction(trx), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx ), fc::exception );
|
||||
pop.review_period_seconds = global_params.genesis_proposal_review_period / 2;
|
||||
trx.operations.back() = pop;
|
||||
sign();
|
||||
// The review period is too short. Make sure it throws.
|
||||
BOOST_REQUIRE_THROW( db.push_transaction(trx), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx ), fc::exception );
|
||||
pop.review_period_seconds = global_params.genesis_proposal_review_period;
|
||||
trx.operations.back() = pop;
|
||||
sign();
|
||||
proposal_object prop = db.get<proposal_object>(db.push_transaction(trx).operation_results.front().get<object_id_type>());
|
||||
proposal_object prop = db.get<proposal_object>(PUSH_TX( db, trx ).operation_results.front().get<object_id_type>());
|
||||
BOOST_REQUIRE(db.find_object(prop.id));
|
||||
|
||||
BOOST_CHECK(prop.expiration_time == pop.expiration_time);
|
||||
|
|
@ -396,7 +396,7 @@ BOOST_AUTO_TEST_CASE( genesis_authority )
|
|||
uop.key_approvals_to_add.emplace();
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(key_id_type(), genesis_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, asset_id_type()(db)), 0);
|
||||
BOOST_CHECK(db.get<proposal_object>(prop.id).is_authorized_to_execute(&db));
|
||||
|
||||
|
|
@ -406,7 +406,7 @@ BOOST_AUTO_TEST_CASE( genesis_authority )
|
|||
trx.operations.back() = uop;
|
||||
trx.sign(key_id_type(), genesis_key);
|
||||
// Should throw because the transaction is now in review.
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
|
||||
generate_blocks(prop.expiration_time);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, asset_id_type()(db)), 100000);
|
||||
|
|
@ -445,7 +445,7 @@ BOOST_FIXTURE_TEST_CASE( fired_delegates, database_fixture )
|
|||
pop.proposed_ops.emplace_back(transfer_operation({asset(),account_id_type(), nathan->id, asset(100000)}));
|
||||
trx.operations.push_back(pop);
|
||||
sign(trx, key_id_type(), genesis_key);
|
||||
const proposal_object& prop = db.get<proposal_object>(db.push_transaction(trx).operation_results.front().get<object_id_type>());
|
||||
const proposal_object& prop = db.get<proposal_object>(PUSH_TX( db, trx ).operation_results.front().get<object_id_type>());
|
||||
proposal_id_type pid = prop.id;
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
|
||||
|
|
@ -456,7 +456,7 @@ BOOST_FIXTURE_TEST_CASE( fired_delegates, database_fixture )
|
|||
uop.key_approvals_to_add.emplace();
|
||||
trx.operations.back() = uop;
|
||||
trx.sign(key_id_type(), genesis_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK(prop.is_authorized_to_execute(&db));
|
||||
|
||||
//Time passes... the proposal is now in its review period.
|
||||
|
|
@ -478,7 +478,7 @@ BOOST_FIXTURE_TEST_CASE( fired_delegates, database_fixture )
|
|||
op.new_options->votes = delegates;
|
||||
trx.operations.push_back(op);
|
||||
trx.set_expiration(db.head_block_time() + GRAPHENE_DEFAULT_MAX_TIME_UNTIL_EXPIRATION);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
}
|
||||
|
||||
|
|
@ -524,7 +524,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_two_accounts, database_fixture )
|
|||
pop.expiration_time = db.head_block_time() + fc::days(1);
|
||||
trx.operations.push_back(pop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -541,7 +541,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_two_accounts, database_fixture )
|
|||
uop.fee_paying_account = nathan.get_id();
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
|
||||
BOOST_CHECK(db.find_object(pid) != nullptr);
|
||||
|
|
@ -550,9 +550,9 @@ BOOST_FIXTURE_TEST_CASE( proposal_two_accounts, database_fixture )
|
|||
uop.active_approvals_to_add = {dan.get_id()};
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
trx.sign(dan_key_obj.id,dan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
|
||||
BOOST_CHECK(db.find_object(pid) == nullptr);
|
||||
}
|
||||
|
|
@ -588,7 +588,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_delete, database_fixture )
|
|||
pop.expiration_time = db.head_block_time() + fc::days(1);
|
||||
trx.operations.push_back(pop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -604,7 +604,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_delete, database_fixture )
|
|||
uop.active_approvals_to_add.insert(nathan.get_id());
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_active_approvals.size(), 1);
|
||||
|
|
@ -612,7 +612,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_delete, database_fixture )
|
|||
std::swap(uop.active_approvals_to_add, uop.active_approvals_to_remove);
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_active_approvals.size(), 0);
|
||||
|
|
@ -625,7 +625,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_delete, database_fixture )
|
|||
dop.proposal = pid;
|
||||
trx.operations.push_back(dop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK(db.find_object(pid) == nullptr);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, asset_id_type()(db)), 100000);
|
||||
}
|
||||
|
|
@ -666,7 +666,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_delete, database_fixture )
|
|||
pop.expiration_time = db.head_block_time() + fc::days(1);
|
||||
trx.operations.push_back(pop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -682,7 +682,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_delete, database_fixture )
|
|||
uop.owner_approvals_to_add.insert(nathan.get_id());
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_owner_approvals.size(), 1);
|
||||
|
|
@ -690,7 +690,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_delete, database_fixture )
|
|||
std::swap(uop.owner_approvals_to_add, uop.owner_approvals_to_remove);
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_owner_approvals.size(), 0);
|
||||
|
|
@ -704,7 +704,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_delete, database_fixture )
|
|||
dop.using_owner_authority = true;
|
||||
trx.operations.push_back(dop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK(db.find_object(pid) == nullptr);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, asset_id_type()(db)), 100000);
|
||||
}
|
||||
|
|
@ -745,7 +745,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_complete, database_fixture )
|
|||
pop.expiration_time = db.head_block_time() + fc::days(1);
|
||||
trx.operations.push_back(pop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -763,7 +763,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_complete, database_fixture )
|
|||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
trx.sign(dan_key_obj.id,dan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_key_approvals.size(), 1);
|
||||
|
|
@ -772,7 +772,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_complete, database_fixture )
|
|||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
trx.sign(dan_key_obj.id,dan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_key_approvals.size(), 0);
|
||||
|
|
@ -783,7 +783,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_complete, database_fixture )
|
|||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
trx.sign(dan_key_obj.id,dan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(!prop.is_authorized_to_execute(&db));
|
||||
BOOST_CHECK_EQUAL(prop.available_key_approvals.size(), 1);
|
||||
|
|
@ -792,7 +792,7 @@ BOOST_FIXTURE_TEST_CASE( proposal_owner_authority_complete, database_fixture )
|
|||
uop.owner_approvals_to_add.insert(nathan.get_id());
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(nathan_key_obj.id,nathan_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK(db.find_object(pid) == nullptr);
|
||||
}
|
||||
|
|
@ -842,7 +842,7 @@ BOOST_FIXTURE_TEST_CASE( max_authority_membership, database_fixture )
|
|||
kc_op.key_data = public_key_type( privkey.get_public_key() );
|
||||
tx.operations.push_back( kc_op );
|
||||
}
|
||||
ptx = db.push_transaction(tx, ~0);
|
||||
ptx = PUSH_TX( db, tx, ~0 );
|
||||
|
||||
vector<key_id_type> key_ids;
|
||||
|
||||
|
|
@ -882,11 +882,11 @@ BOOST_FIXTURE_TEST_CASE( max_authority_membership, database_fixture )
|
|||
|
||||
if( num_keys > max_authority_membership )
|
||||
{
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(tx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, tx, ~0 ), fc::exception);
|
||||
}
|
||||
else
|
||||
{
|
||||
db.push_transaction(tx, ~0);
|
||||
PUSH_TX( db, tx, ~0 );
|
||||
}
|
||||
return;
|
||||
};
|
||||
|
|
@ -943,38 +943,38 @@ BOOST_FIXTURE_TEST_CASE( bogus_signature, database_fixture )
|
|||
wdump( (active_set)(owner_set)(alice_key_id)
|
||||
(alice_account_object) );
|
||||
|
||||
db.push_transaction( trx, skip );
|
||||
PUSH_TX( db, trx, skip );
|
||||
|
||||
trx.operations.push_back( xfer_op );
|
||||
// Alice's signature is now invalid
|
||||
edump((trx));
|
||||
BOOST_REQUIRE_THROW( db.push_transaction( trx, skip ), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx, skip ), fc::exception );
|
||||
// Re-sign, now OK (sig is replaced)
|
||||
trx.sign( alice_key_id, alice_key );
|
||||
db.push_transaction( trx, skip );
|
||||
PUSH_TX( db, trx, skip );
|
||||
|
||||
trx.signatures.clear();
|
||||
trx.sign( charlie_key_id, alice_key );
|
||||
// Sign with Alice's key (valid) claiming to be Charlie
|
||||
BOOST_REQUIRE_THROW( db.push_transaction( trx, skip ), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx, skip ), fc::exception );
|
||||
// and with Charlie's key (invalid) claiming to be Alice
|
||||
trx.sign( charlie_key_id, alice_key );
|
||||
BOOST_REQUIRE_THROW( db.push_transaction( trx, skip ), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx, skip ), fc::exception );
|
||||
trx.signatures.clear();
|
||||
// okay, now sign ONLY with Charlie's key claiming to be Alice
|
||||
trx.sign( charlie_key_id, alice_key );
|
||||
BOOST_REQUIRE_THROW( db.push_transaction( trx, skip ), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx, skip ), fc::exception );
|
||||
|
||||
trx.signatures.clear();
|
||||
trx.operations.pop_back();
|
||||
trx.sign( alice_key_id, alice_key );
|
||||
trx.sign( charlie_key_id, charlie_key );
|
||||
// Signed by third-party Charlie (irrelevant key, not in authority)
|
||||
db.push_transaction( trx, skip );
|
||||
PUSH_TX( db, trx, skip );
|
||||
trx.operations.push_back( xfer_op );
|
||||
trx.sign( alice_key_id, alice_key );
|
||||
// Alice's sig is valid but Charlie's is invalid
|
||||
BOOST_REQUIRE_THROW( db.push_transaction( trx, skip ), fc::exception );
|
||||
BOOST_REQUIRE_THROW( PUSH_TX( db, trx, skip ), fc::exception );
|
||||
}
|
||||
FC_LOG_AND_RETHROW()
|
||||
}
|
||||
|
|
@ -1001,7 +1001,7 @@ BOOST_FIXTURE_TEST_CASE( voting_account, database_fixture )
|
|||
op.new_options->num_committee = 1;
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
{
|
||||
|
|
@ -1013,11 +1013,11 @@ BOOST_FIXTURE_TEST_CASE( voting_account, database_fixture )
|
|||
trx.operations.push_back(op);
|
||||
trx.sign(vikram_key_id, vikram_private_key);
|
||||
// Fails because num_committee is larger than the cardinality of committee members being voted for
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
op.new_options->num_committee = 3;
|
||||
trx.operations = {op};
|
||||
trx.sign(vikram_key_id, vikram_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ BOOST_AUTO_TEST_CASE( fork_blocks )
|
|||
now += db1.block_interval();
|
||||
auto b = db1.generate_block(now, db1.get_scheduled_witness(1).first, delegate_priv_key);
|
||||
try {
|
||||
db2.push_block(b);
|
||||
PUSH_BLOCK( db2, b );
|
||||
} FC_CAPTURE_AND_RETHROW( ("db2") );
|
||||
}
|
||||
for( uint32_t i = 10; i < 13; ++i )
|
||||
|
|
@ -229,7 +229,7 @@ BOOST_AUTO_TEST_CASE( fork_blocks )
|
|||
auto b = db2.generate_block(now, db2.get_scheduled_witness(db2.get_slot_at_time(now)).first, delegate_priv_key);
|
||||
// notify both databases of the new block.
|
||||
// only db2 should switch to the new fork, db1 should not
|
||||
db1.push_block(b);
|
||||
PUSH_BLOCK( db1, b );
|
||||
BOOST_CHECK_EQUAL(db1.head_block_id().str(), db1_tip);
|
||||
BOOST_CHECK_EQUAL(db2.head_block_id().str(), b.id().str());
|
||||
}
|
||||
|
|
@ -247,14 +247,14 @@ BOOST_AUTO_TEST_CASE( fork_blocks )
|
|||
b.transactions.back().operations.emplace_back(transfer_operation());
|
||||
b.sign(delegate_priv_key);
|
||||
BOOST_CHECK_EQUAL(b.block_num(), 14);
|
||||
BOOST_CHECK_THROW(db1.push_block(b), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_BLOCK( db1, b ), fc::exception);
|
||||
}
|
||||
BOOST_CHECK_EQUAL(db1.head_block_num(), 13);
|
||||
BOOST_CHECK_EQUAL(db1.head_block_id().str(), db1_tip);
|
||||
|
||||
// assert that db1 switches to new fork with good block
|
||||
BOOST_CHECK_EQUAL(db2.head_block_num(), 14);
|
||||
db1.push_block(good_block);
|
||||
PUSH_BLOCK( db1, good_block );
|
||||
BOOST_CHECK_EQUAL(db1.head_block_id().str(), db2.head_block_id().str());
|
||||
} catch (fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
|
|
@ -278,7 +278,7 @@ BOOST_AUTO_TEST_CASE( undo_pending )
|
|||
signed_transaction trx;
|
||||
trx.set_expiration(db.head_block_time() + fc::minutes(1));
|
||||
trx.operations.push_back(transfer_operation({asset(), account_id_type(), account_id_type(1), asset(10000000)}));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
now += db.block_interval();
|
||||
auto b = db.generate_block( now, db.get_scheduled_witness( 1 ).first, delegate_priv_key, ~0 );
|
||||
|
|
@ -293,7 +293,7 @@ BOOST_AUTO_TEST_CASE( undo_pending )
|
|||
cop.owner = authority(1, key_id_type(), 1);
|
||||
trx.operations.push_back(cop);
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
|
||||
now += db.block_interval();
|
||||
auto b = db.generate_block( now, db.get_scheduled_witness( 1 ).first, delegate_priv_key );
|
||||
|
|
@ -304,12 +304,12 @@ BOOST_AUTO_TEST_CASE( undo_pending )
|
|||
trx.set_expiration(db.head_block_time() + db.get_global_properties().parameters.maximum_time_until_expiration-1);
|
||||
trx.operations.push_back(transfer_operation({asset(1),account_id_type(1), nathan_id, asset(5000)}));
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
trx.set_expiration(db.head_block_time() + db.get_global_properties().parameters.maximum_time_until_expiration-2);
|
||||
trx.operations.push_back(transfer_operation({asset(1),account_id_type(1), nathan_id, asset(5000)}));
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
|
||||
BOOST_CHECK(db.get_balance(nathan_id, asset_id_type()).amount == 10000);
|
||||
db.clear_pending();
|
||||
|
|
@ -344,7 +344,7 @@ BOOST_AUTO_TEST_CASE( switch_forks_undo_create )
|
|||
cop.owner = authority(1, key_id_type(), 1);
|
||||
trx.operations.push_back(cop);
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db1.push_transaction(trx);
|
||||
PUSH_TX( db1, trx );
|
||||
|
||||
auto aw = db1.get_global_properties().active_witnesses;
|
||||
now += db1.block_interval();
|
||||
|
|
@ -355,20 +355,20 @@ BOOST_AUTO_TEST_CASE( switch_forks_undo_create )
|
|||
now = fc::time_point_sec( GRAPHENE_GENESIS_TIMESTAMP );
|
||||
now += db2.block_interval();
|
||||
b = db2.generate_block( now, db2.get_scheduled_witness( 1 ).first, delegate_priv_key );
|
||||
db1.push_block(b);
|
||||
PUSH_BLOCK( db1, b );
|
||||
aw = db2.get_global_properties().active_witnesses;
|
||||
now += db2.block_interval();
|
||||
b = db2.generate_block( now, db2.get_scheduled_witness( 1 ).first, delegate_priv_key );
|
||||
db1.push_block(b);
|
||||
PUSH_BLOCK( db1, b );
|
||||
|
||||
BOOST_CHECK_THROW(nathan_id(db1), fc::exception);
|
||||
|
||||
db2.push_transaction(trx);
|
||||
PUSH_TX( db2, trx );
|
||||
|
||||
aw = db2.get_global_properties().active_witnesses;
|
||||
now += db2.block_interval();
|
||||
b = db2.generate_block( now, db2.get_scheduled_witness( 1 ).first, delegate_priv_key );
|
||||
db1.push_block(b);
|
||||
PUSH_BLOCK( db1, b );
|
||||
|
||||
BOOST_CHECK(nathan_id(db1).name == "nathan");
|
||||
BOOST_CHECK(nathan_id(db2).name == "nathan");
|
||||
|
|
@ -402,22 +402,22 @@ BOOST_AUTO_TEST_CASE( duplicate_transactions )
|
|||
cop.owner = authority(1, key_id_type(), 1);
|
||||
trx.operations.push_back(cop);
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db1.push_transaction(trx, skip_sigs);
|
||||
PUSH_TX( db1, trx, skip_sigs );
|
||||
|
||||
trx = decltype(trx)();
|
||||
trx.set_expiration(db1.head_block_time() + fc::minutes(1));
|
||||
trx.operations.push_back(transfer_operation({asset(), account_id_type(), nathan_id, asset(500)}));
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db1.push_transaction(trx, skip_sigs);
|
||||
PUSH_TX( db1, trx, skip_sigs );
|
||||
|
||||
BOOST_CHECK_THROW(db1.push_transaction(trx, skip_sigs), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db1, trx, skip_sigs ), fc::exception);
|
||||
|
||||
now += db1.block_interval();
|
||||
auto b = db1.generate_block( now, db1.get_scheduled_witness( 1 ).first, delegate_priv_key, skip_sigs );
|
||||
db2.push_block(b, skip_sigs);
|
||||
PUSH_BLOCK( db2, b, skip_sigs );
|
||||
|
||||
BOOST_CHECK_THROW(db1.push_transaction(trx, skip_sigs), fc::exception);
|
||||
BOOST_CHECK_THROW(db2.push_transaction(trx, skip_sigs), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db1, trx, skip_sigs ), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db2, trx, skip_sigs ), fc::exception);
|
||||
BOOST_CHECK_EQUAL(db1.get_balance(nathan_id, asset_id_type()).amount.value, 500);
|
||||
BOOST_CHECK_EQUAL(db2.get_balance(nathan_id, asset_id_type()).amount.value, 500);
|
||||
} catch (fc::exception& e) {
|
||||
|
|
@ -459,7 +459,7 @@ BOOST_AUTO_TEST_CASE( tapos )
|
|||
|
||||
trx.signatures.clear();
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db1.push_transaction(trx);
|
||||
PUSH_TX( db1, trx );
|
||||
|
||||
now += db1.block_interval();
|
||||
b = db1.generate_block( now, db1.get_scheduled_witness( 1 ).first, delegate_priv_key );
|
||||
|
|
@ -469,11 +469,11 @@ BOOST_AUTO_TEST_CASE( tapos )
|
|||
trx.operations.push_back(transfer_operation({asset(), account_id_type(), nathan_id, asset(50)}));
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
//relative_expiration is 1, but ref block is 2 blocks old, so this should fail.
|
||||
BOOST_REQUIRE_THROW(db1.push_transaction(trx, database::skip_transaction_signatures | database::skip_authority_check), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db1, trx, database::skip_transaction_signatures | database::skip_authority_check ), fc::exception);
|
||||
trx.set_expiration(db1.head_block_id(), 2);
|
||||
trx.signatures.clear();
|
||||
trx.sign( key_id_type(), delegate_priv_key );
|
||||
db1.push_transaction(trx, database::skip_transaction_signatures | database::skip_authority_check);
|
||||
PUSH_TX( db1, trx, database::skip_transaction_signatures | database::skip_authority_check );
|
||||
} catch (fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
throw;
|
||||
|
|
@ -498,7 +498,7 @@ BOOST_FIXTURE_TEST_CASE( maintenance_interval, database_fixture )
|
|||
op.new_options = nathan.options;
|
||||
op.new_options->votes.insert(nathans_delegate.vote_id);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.clear();
|
||||
}
|
||||
transfer(account_id_type()(db), nathan, asset(5000));
|
||||
|
|
@ -555,7 +555,7 @@ BOOST_FIXTURE_TEST_CASE( short_order_expiration, database_fixture )
|
|||
op.collateral = core->amount(500);
|
||||
op.expiration = db.head_block_time() + fc::seconds(10);
|
||||
trx.operations.push_back(op);
|
||||
auto ptrx = db.push_transaction(trx, ~0);
|
||||
auto ptrx = PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL( get_balance(*nathan, *core), 49500 );
|
||||
|
||||
|
|
@ -598,7 +598,7 @@ BOOST_FIXTURE_TEST_CASE( limit_order_expiration, database_fixture )
|
|||
op.min_to_receive = test->amount(500);
|
||||
op.expiration = db.head_block_time() + fc::seconds(10);
|
||||
trx.operations.push_back(op);
|
||||
auto ptrx = db.push_transaction(trx, ~0);
|
||||
auto ptrx = PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL( get_balance(*nathan, *core), 49500 );
|
||||
|
||||
|
|
@ -638,7 +638,7 @@ BOOST_FIXTURE_TEST_CASE( change_block_interval, database_fixture )
|
|||
cop.proposed_ops.emplace_back(uop);
|
||||
trx.operations.push_back(cop);
|
||||
trx.sign(key_id_type(),generate_private_key("genesis"));
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
}
|
||||
{
|
||||
proposal_update_operation uop;
|
||||
|
|
@ -647,7 +647,7 @@ BOOST_FIXTURE_TEST_CASE( change_block_interval, database_fixture )
|
|||
account_id_type(5), account_id_type(6), account_id_type(7), account_id_type(8)};
|
||||
trx.operations.push_back(uop);
|
||||
trx.sign(key_id_type(),generate_private_key("genesis"));
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
BOOST_CHECK(proposal_id_type()(db).is_authorized_to_execute(&db));
|
||||
}
|
||||
|
||||
|
|
@ -690,7 +690,7 @@ BOOST_FIXTURE_TEST_CASE( force_settlement, database_fixture )
|
|||
op.new_options.maximum_force_settlement_volume = 9000;
|
||||
trx.clear();
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
generate_block();
|
||||
|
|
@ -731,7 +731,7 @@ BOOST_FIXTURE_TEST_CASE( force_settlement, database_fixture )
|
|||
trx.operations.push_back(pop);
|
||||
}
|
||||
trx.sign(key_id_type(),private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
|
||||
asset_settle_operation sop;
|
||||
|
|
@ -743,7 +743,7 @@ BOOST_FIXTURE_TEST_CASE( force_settlement, database_fixture )
|
|||
trx.sign(key_id_type(),private_key);
|
||||
|
||||
//Partially settle a call
|
||||
force_settlement_id_type settle_id = db.push_transaction(trx).operation_results.front().get<object_id_type>();
|
||||
force_settlement_id_type settle_id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>();
|
||||
trx.clear();
|
||||
call_order_id_type call_id = db.get_index_type<call_order_index>().indices().get<by_collateral>().begin()->id;
|
||||
BOOST_CHECK_EQUAL(settle_id(db).balance.amount.value, 50);
|
||||
|
|
@ -761,10 +761,10 @@ BOOST_FIXTURE_TEST_CASE( force_settlement, database_fixture )
|
|||
trx.operations.push_back(sop);
|
||||
trx.sign(key_id_type(),private_key);
|
||||
//Trx has expired by now. Make sure it throws.
|
||||
BOOST_CHECK_THROW(settle_id = db.push_transaction(trx).operation_results.front().get<object_id_type>(), fc::exception);
|
||||
BOOST_CHECK_THROW(settle_id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>(), fc::exception);
|
||||
trx.set_expiration(db.head_block_time() + fc::minutes(1));
|
||||
trx.sign(key_id_type(),private_key);
|
||||
settle_id = db.push_transaction(trx).operation_results.front().get<object_id_type>();
|
||||
settle_id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>();
|
||||
trx.clear();
|
||||
|
||||
generate_blocks(settle_id(db).settlement_date);
|
||||
|
|
@ -777,7 +777,7 @@ BOOST_FIXTURE_TEST_CASE( force_settlement, database_fixture )
|
|||
sop.amount = db.get_balance(nathan_id, bit_usd);
|
||||
trx.operations.push_back(sop);
|
||||
trx.sign(key_id_type(),private_key);
|
||||
settle_id = db.push_transaction(trx).operation_results.front().get<object_id_type>();
|
||||
settle_id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>();
|
||||
trx.clear();
|
||||
|
||||
generate_blocks(settle_id(db).settlement_date);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ BOOST_AUTO_TEST_CASE( cashback_test )
|
|||
op.fee = op.calculate_fee(fees); \
|
||||
trx.operations = {op}; \
|
||||
trx.sign(registrar_name ## _key_id, registrar_name ## _private_key); \
|
||||
actor_name ## _id = db.push_transaction(trx).operation_results.front().get<object_id_type>(); \
|
||||
actor_name ## _id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>(); \
|
||||
trx.clear(); \
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,17 +64,17 @@ BOOST_AUTO_TEST_CASE( create_account_test )
|
|||
op.owner.add_authority(account_id_type(9999999999), 10);
|
||||
trx.operations.back() = op;
|
||||
op.owner = auth_bak;
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
op.owner = auth_bak;
|
||||
op.owner.add_authority(key_id_type(9999999999), 10);
|
||||
trx.operations.back() = op;
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
op.owner = auth_bak;
|
||||
|
||||
trx.operations.back() = op;
|
||||
trx.sign( key_id_type(), fc::ecc::private_key::regenerate(fc::sha256::hash(string("genesis"))) );
|
||||
trx.validate();
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
const account_object& nathan_account = *db.get_index_type<account_index>().indices().get<by_name>().find("nathan");
|
||||
BOOST_CHECK(nathan_account.id.space() == protocol_ids);
|
||||
|
|
@ -124,15 +124,15 @@ BOOST_AUTO_TEST_CASE( child_account )
|
|||
trx.operations.emplace_back(op);
|
||||
sign(trx, key_id_type(), fc::ecc::private_key::regenerate(fc::sha256::hash(string("genesis"))));
|
||||
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
sign(trx, nathan_key.id,nathan_private_key);
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
trx.signatures.clear();
|
||||
op.owner = authority(1, account_id_type(nathan.id), 1);
|
||||
trx.operations = {op};
|
||||
sign(trx, key_id_type(), fc::ecc::private_key::regenerate(fc::sha256::hash(string("genesis"))));
|
||||
sign(trx, nathan_key.id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
|
||||
BOOST_CHECK( get_account("nathan/child").active.auths == op.active.auths );
|
||||
} catch (fc::exception& e) {
|
||||
|
|
@ -153,7 +153,7 @@ BOOST_AUTO_TEST_CASE( update_account )
|
|||
transfer(account_id_type()(db), nathan, asset(30000));
|
||||
|
||||
trx.operations.emplace_back(key_create_operation({asset(),nathan.id,address(nathan_new_key.get_public_key())}));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
account_update_operation op;
|
||||
op.account = nathan.id;
|
||||
|
|
@ -163,7 +163,7 @@ BOOST_AUTO_TEST_CASE( update_account )
|
|||
op.new_options->votes = flat_set<vote_id_type>({active_delegates[0](db).vote_id, active_delegates[5](db).vote_id});
|
||||
op.new_options->num_committee = 2;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK(nathan.options.memo_key == key_id_type());
|
||||
BOOST_CHECK(nathan.active.weight_threshold == 2);
|
||||
|
|
@ -193,7 +193,7 @@ BOOST_AUTO_TEST_CASE( update_account )
|
|||
op.upgrade_to_lifetime_member = true;
|
||||
op.fee = op.calculate_fee(db.get_global_properties().parameters.current_fees);
|
||||
trx.operations = {op};
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
}
|
||||
|
||||
BOOST_CHECK( nathan.is_lifetime_member() );
|
||||
|
|
@ -221,7 +221,7 @@ BOOST_AUTO_TEST_CASE( transfer_core_asset )
|
|||
|
||||
asset fee = trx.operations.front().get<transfer_operation>().fee;
|
||||
trx.validate();
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(account_id_type()(db), asset_id_type()(db)),
|
||||
(genesis_balance.amount - 10000 - fee.amount).value);
|
||||
|
|
@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE( transfer_core_asset )
|
|||
|
||||
fee = trx.operations.front().get<transfer_operation>().fee;
|
||||
trx.validate();
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, asset_id_type()(db)), 8000 - fee.amount.value);
|
||||
BOOST_CHECK_EQUAL(get_balance(account_id_type()(db), asset_id_type()(db)), genesis_balance.amount.value + 2000);
|
||||
|
|
@ -264,7 +264,7 @@ BOOST_AUTO_TEST_CASE( create_delegate )
|
|||
trx.operations.back() = op;
|
||||
|
||||
delegate_id_type delegate_id = db.get_index_type<primary_index<simple_index<delegate_object>>>().get_next_id();
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
const delegate_object& d = delegate_id(db);
|
||||
|
||||
BOOST_CHECK(d.delegate_account == account_id_type());
|
||||
|
|
@ -302,11 +302,11 @@ BOOST_AUTO_TEST_CASE( update_mia )
|
|||
trx.operations.emplace_back(op);
|
||||
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
std::swap(op.new_options.flags, op.new_options.issuer_permissions);
|
||||
op.new_issuer = account_id_type();
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
{
|
||||
asset_publish_feed_operation pop;
|
||||
|
|
@ -327,7 +327,7 @@ BOOST_AUTO_TEST_CASE( update_mia )
|
|||
REQUIRE_THROW_WITH_VALUE(pop, feed.required_maintenance_collateral, 0);
|
||||
REQUIRE_THROW_WITH_VALUE(pop, feed.required_initial_collateral, 500);
|
||||
trx.operations.back() = pop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
}
|
||||
|
||||
trx.operations.clear();
|
||||
|
|
@ -335,13 +335,13 @@ BOOST_AUTO_TEST_CASE( update_mia )
|
|||
op.issuer = account_id_type();
|
||||
op.new_issuer = nathan.id;
|
||||
trx.operations.emplace_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK(bit_usd.issuer == nathan.id);
|
||||
|
||||
op.issuer = nathan.id;
|
||||
op.new_issuer = account_id_type();
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK(bit_usd.issuer == account_id_type());
|
||||
} catch ( const fc::exception& e ) {
|
||||
elog( "${e}", ("e", e.to_detail_string() ) );
|
||||
|
|
@ -488,7 +488,7 @@ BOOST_AUTO_TEST_CASE( create_uia )
|
|||
creator.common_options.flags = charge_market_fee;
|
||||
creator.common_options.core_exchange_rate = price({asset(2),asset(1,1)});
|
||||
trx.operations.push_back(std::move(creator));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
const asset_object& test_asset = test_asset_id(db);
|
||||
BOOST_CHECK(test_asset.symbol == "TEST");
|
||||
|
|
@ -497,7 +497,7 @@ BOOST_AUTO_TEST_CASE( create_uia )
|
|||
BOOST_CHECK(test_asset.options.max_supply == 100000000);
|
||||
BOOST_CHECK(!test_asset.bitasset_data_id.valid());
|
||||
BOOST_CHECK(test_asset.options.market_fee_percent == GRAPHENE_MAX_MARKET_FEE_PERCENT/100);
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
const asset_dynamic_data_object& test_asset_dynamic_data = test_asset.dynamic_asset_data_id(db);
|
||||
BOOST_CHECK(test_asset_dynamic_data.current_supply == 0);
|
||||
|
|
@ -547,22 +547,22 @@ BOOST_AUTO_TEST_CASE( update_uia )
|
|||
|
||||
op.new_options.core_exchange_rate = price(asset(3), test.amount(5));
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
REQUIRE_THROW_WITH_VALUE(op, new_options.core_exchange_rate, price());
|
||||
op.new_options.core_exchange_rate = test.options.core_exchange_rate;
|
||||
op.new_issuer = nathan.id;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
op.issuer = nathan.id;
|
||||
op.new_issuer.reset();
|
||||
op.new_options.flags = transfer_restricted | white_list;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
REQUIRE_THROW_WITH_VALUE(op, new_options.issuer_permissions, test.options.issuer_permissions & ~white_list);
|
||||
op.new_options.issuer_permissions = test.options.issuer_permissions & ~white_list;
|
||||
op.new_options.flags = 0;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
op.new_options.issuer_permissions = test.options.issuer_permissions;
|
||||
op.new_options.flags = test.options.flags;
|
||||
BOOST_CHECK(!(test.options.issuer_permissions & white_list));
|
||||
|
|
@ -570,9 +570,9 @@ BOOST_AUTO_TEST_CASE( update_uia )
|
|||
REQUIRE_THROW_WITH_VALUE(op, new_options.flags, white_list);
|
||||
op.new_issuer = account_id_type();
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
op.issuer = account_id_type();
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
op.new_issuer.reset();
|
||||
} catch(fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
|
|
@ -597,7 +597,7 @@ BOOST_AUTO_TEST_CASE( issue_uia )
|
|||
REQUIRE_THROW_WITH_VALUE(op, issue_to_account, account_id_type(999999999));
|
||||
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
const asset_dynamic_data_object& test_dynamic_data = test_asset.dynamic_asset_data_id(db);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, test_asset), 5000000);
|
||||
|
|
@ -605,7 +605,7 @@ BOOST_AUTO_TEST_CASE( issue_uia )
|
|||
BOOST_CHECK(test_dynamic_data.accumulated_fees == 0);
|
||||
BOOST_CHECK(test_dynamic_data.fee_pool == 0);
|
||||
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, test_asset), 10000000);
|
||||
BOOST_CHECK(test_dynamic_data.current_supply == 10000000);
|
||||
|
|
@ -628,11 +628,11 @@ BOOST_AUTO_TEST_CASE( transfer_uia )
|
|||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, uia), 10000000);
|
||||
trx.operations.push_back(transfer_operation({asset(),nathan.id, genesis.id, uia.amount(5000)}));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, uia), 10000000 - 5000);
|
||||
BOOST_CHECK_EQUAL(get_balance(genesis, uia), 5000);
|
||||
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, uia), 10000000 - 10000);
|
||||
BOOST_CHECK_EQUAL(get_balance(genesis, uia), 10000);
|
||||
} catch(fc::exception& e) {
|
||||
|
|
@ -830,7 +830,7 @@ BOOST_AUTO_TEST_CASE( uia_fees )
|
|||
BOOST_CHECK(fee.amount > 0);
|
||||
asset core_fee = fee*test_asset.options.core_exchange_rate;
|
||||
trx.operations.push_back(std::move(op));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, test_asset),
|
||||
(old_balance - fee - test_asset.amount(100)).amount.value);
|
||||
|
|
@ -839,7 +839,7 @@ BOOST_AUTO_TEST_CASE( uia_fees )
|
|||
BOOST_CHECK(asset_dynamic.fee_pool == 1000000 - core_fee.amount);
|
||||
|
||||
//Do it again, for good measure.
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, test_asset),
|
||||
(old_balance - fee - fee - test_asset.amount(200)).amount.value);
|
||||
BOOST_CHECK_EQUAL(get_balance(genesis_account, test_asset), 200);
|
||||
|
|
@ -856,7 +856,7 @@ BOOST_AUTO_TEST_CASE( uia_fees )
|
|||
BOOST_CHECK_EQUAL(get_balance(nathan_account, asset_id_type()(db)), 20);
|
||||
|
||||
trx.operations.emplace_back(std::move(op));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, asset_id_type()(db)), 0);
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_account, test_asset),
|
||||
|
|
@ -903,7 +903,7 @@ BOOST_AUTO_TEST_CASE( delegate_feeds )
|
|||
asset_update_operation uop(get_asset("BITUSD"));
|
||||
uop.new_issuer = account_id_type();
|
||||
trx.operations.push_back(uop);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
generate_block();
|
||||
|
|
@ -921,7 +921,7 @@ BOOST_AUTO_TEST_CASE( delegate_feeds )
|
|||
op.feed.max_margin_period_sec = fc::days(30).to_seconds();
|
||||
// Accept defaults for required collateral
|
||||
trx.operations.emplace_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
{
|
||||
//Dumb sanity check of some operators. Only here to improve code coverage. :D
|
||||
|
|
@ -948,7 +948,7 @@ BOOST_AUTO_TEST_CASE( delegate_feeds )
|
|||
op.feed.short_limit = ~price(asset(GRAPHENE_BLOCKCHAIN_PRECISION),bit_usd.amount(20));
|
||||
op.feed.max_margin_period_sec = fc::days(10).to_seconds();
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.call_limit.to_real(), GRAPHENE_BLOCKCHAIN_PRECISION / 25.0);
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.short_limit.to_real(), 20.0 / GRAPHENE_BLOCKCHAIN_PRECISION);
|
||||
|
|
@ -964,7 +964,7 @@ BOOST_AUTO_TEST_CASE( delegate_feeds )
|
|||
op.feed.required_initial_collateral = 1001;
|
||||
op.feed.required_maintenance_collateral = 1000;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.call_limit.to_real(), GRAPHENE_BLOCKCHAIN_PRECISION / 30.0);
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.short_limit.to_real(), 10.0 / GRAPHENE_BLOCKCHAIN_PRECISION);
|
||||
|
|
@ -1235,7 +1235,7 @@ BOOST_AUTO_TEST_CASE( full_cover_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, collateral_to_add, bit_usd.amount(20));
|
||||
REQUIRE_THROW_WITH_VALUE(op, maintenance_collateral_ratio, 2);
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(debt_holder, bit_usd), 0);
|
||||
BOOST_CHECK(index.find(boost::make_tuple(debt_holder.id, bit_usd.id)) == index.end());
|
||||
|
|
@ -1269,7 +1269,7 @@ BOOST_AUTO_TEST_CASE( partial_cover_test )
|
|||
op.collateral_to_add = core.amount(0);
|
||||
op.amount_to_cover = bit_usd.amount(50);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(debt_holder, bit_usd), 0);
|
||||
BOOST_CHECK(index.find(boost::make_tuple(debt_holder.id, bit_usd.id)) != index.end());
|
||||
|
|
@ -1280,7 +1280,7 @@ BOOST_AUTO_TEST_CASE( partial_cover_test )
|
|||
op.collateral_to_add = core.amount(52);
|
||||
op.amount_to_cover = bit_usd.amount(0);
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
ilog("..." );
|
||||
|
||||
BOOST_CHECK(debt.call_price == price(core.amount(339), bit_usd.amount(50)));
|
||||
|
|
@ -1292,7 +1292,7 @@ BOOST_AUTO_TEST_CASE( partial_cover_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, maintenance_collateral_ratio, 2500);
|
||||
op.collateral_to_add = core.amount(8);
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK(debt.call_price == price(core.amount(368), bit_usd.amount(50)));
|
||||
|
||||
|
|
@ -1300,7 +1300,7 @@ BOOST_AUTO_TEST_CASE( partial_cover_test )
|
|||
op.collateral_to_add.amount = 0;
|
||||
trx.operations.back() = op;
|
||||
BOOST_CHECK_EQUAL(get_balance(debt_holder, bit_usd), 0);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
trx.operations.clear();
|
||||
ilog("..." );
|
||||
|
|
@ -1310,7 +1310,7 @@ BOOST_AUTO_TEST_CASE( partial_cover_test )
|
|||
op.validate();
|
||||
ilog("..." );
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK(index.find(boost::make_tuple(debt_holder.id, bit_usd.id)) == index.end());
|
||||
} catch( fc::exception& e) {
|
||||
|
|
@ -1831,10 +1831,10 @@ BOOST_AUTO_TEST_CASE( limit_order_fill_or_kill )
|
|||
|
||||
trx.operations.clear();
|
||||
trx.operations.push_back(op);
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
op.fill_or_kill = false;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
} FC_LOG_AND_RETHROW() }
|
||||
|
||||
/// Shameless code coverage plugging. Otherwise, these calls never happen.
|
||||
|
|
@ -1882,7 +1882,7 @@ BOOST_AUTO_TEST_CASE( witness_withdraw_pay_test )
|
|||
trx.visit(operation_set_fee(db.current_fee_schedule()));
|
||||
trx.validate();
|
||||
trx.sign(key_id_type(),generate_private_key("genesis"));
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
BOOST_CHECK_EQUAL(get_balance(*nathan, *core), 8950000000);
|
||||
|
||||
|
|
@ -1961,7 +1961,7 @@ BOOST_AUTO_TEST_CASE( witness_withdraw_pay_test )
|
|||
trx.visit(operation_set_fee(db.current_fee_schedule()));
|
||||
trx.validate();
|
||||
trx.sign(key_id_type(),generate_private_key("genesis"));
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(witness->witness_account(db), *core), witness_ppb - 1/*fee*/);
|
||||
|
|
@ -2245,7 +2245,7 @@ BOOST_AUTO_TEST_CASE( vesting_balance_withdraw_test )
|
|||
create_op.vesting_seconds = vesting_seconds;
|
||||
tx.operations.push_back( create_op );
|
||||
|
||||
processed_transaction ptx = db.push_transaction( tx, ~0 );
|
||||
processed_transaction ptx = PUSH_TX( db, tx, ~0 );
|
||||
const vesting_balance_object& vbo = vesting_balance_id_type(
|
||||
ptx.operation_results[0].get<object_id_type>())(db);
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_create )
|
|||
}
|
||||
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
} FC_LOG_AND_RETHROW() }
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_test )
|
|||
op.amount_to_withdraw = asset(1);
|
||||
trx.operations.push_back(op);
|
||||
//Throws because we haven't entered the first withdrawal period yet.
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
//Get to the actual withdrawal period
|
||||
generate_blocks(permit(db).period_start_time);
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_test )
|
|||
trx.clear();
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
|
||||
// would be legal on its own, but doesn't work because trx already withdrew
|
||||
REQUIRE_THROW_WITH_VALUE(op, amount_to_withdraw, asset(5));
|
||||
|
|
@ -131,7 +131,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_test )
|
|||
trx.operations.back() = op; // withdraw 1
|
||||
trx.ref_block_prefix++; // make it different from previous trx so it's non-duplicate
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -162,11 +162,11 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_test )
|
|||
trx.operations.push_back(op);
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
//Throws because nathan doesn't have the money
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
op.amount_to_withdraw = asset(1);
|
||||
trx.operations.back() = op;
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
}
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_id, asset_id_type()), 0);
|
||||
|
|
@ -196,7 +196,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_test )
|
|||
trx.operations.push_back(op);
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
//Throws because the permission has expired
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx ), fc::exception);
|
||||
}
|
||||
} FC_LOG_AND_RETHROW() }
|
||||
|
||||
|
|
@ -226,7 +226,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_nominal_case )
|
|||
// so tx's have different txid's
|
||||
trx.ref_block_prefix++;
|
||||
trx.sign(dan_key_id, dan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
// tx's involving withdraw_permissions can't delete it even
|
||||
// if no further withdrawals are possible
|
||||
BOOST_CHECK(db.find_object(permit) != nullptr);
|
||||
|
|
@ -273,7 +273,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_update )
|
|||
REQUIRE_THROW_WITH_VALUE(op, period_start_time, db.head_block_time() - 50);
|
||||
trx.operations.back() = op;
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
}
|
||||
|
||||
{
|
||||
|
|
@ -297,7 +297,7 @@ BOOST_AUTO_TEST_CASE( withdraw_permission_delete )
|
|||
trx.set_expiration(db.head_block_id());
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(get_account("nathan").active.auths.begin()->first, generate_private_key("nathan"));
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
} FC_LOG_AND_RETHROW() }
|
||||
|
||||
BOOST_AUTO_TEST_CASE( mia_feeds )
|
||||
|
|
@ -313,7 +313,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
op.new_issuer = nathan_id;
|
||||
op.new_options = obj.options;
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
generate_block();
|
||||
trx.clear();
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
op.new_feed_producers = {dan_id, ben_id, vikram_id};
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
generate_block(database::skip_nothing);
|
||||
}
|
||||
{
|
||||
|
|
@ -342,7 +342,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
op.feed.max_margin_period_sec = fc::days(30).to_seconds();
|
||||
// Accept defaults for required collateral
|
||||
trx.operations.emplace_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
const asset_bitasset_data_object& bitasset = bit_usd.bitasset_data(db);
|
||||
BOOST_CHECK(bitasset.current_feed.call_limit.to_real() == GRAPHENE_BLOCKCHAIN_PRECISION / 30.0);
|
||||
|
|
@ -356,7 +356,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
op.feed.short_limit = ~price(asset(GRAPHENE_BLOCKCHAIN_PRECISION),bit_usd.amount(20));
|
||||
op.feed.max_margin_period_sec = fc::days(10).to_seconds();
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.call_limit.to_real(), GRAPHENE_BLOCKCHAIN_PRECISION / 25.0);
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.short_limit.to_real(), 20.0 / GRAPHENE_BLOCKCHAIN_PRECISION);
|
||||
|
|
@ -371,7 +371,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
op.feed.required_initial_collateral = 1001;
|
||||
op.feed.required_maintenance_collateral = 1000;
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.call_limit.to_real(), GRAPHENE_BLOCKCHAIN_PRECISION / 30.0);
|
||||
BOOST_CHECK_EQUAL(bitasset.current_feed.short_limit.to_real(), 10.0 / GRAPHENE_BLOCKCHAIN_PRECISION);
|
||||
|
|
@ -381,7 +381,7 @@ BOOST_AUTO_TEST_CASE( mia_feeds )
|
|||
|
||||
op.publisher = nathan_id;
|
||||
trx.operations.back() = op;
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
}
|
||||
} FC_LOG_AND_RETHROW() }
|
||||
|
||||
|
|
@ -407,7 +407,7 @@ BOOST_AUTO_TEST_CASE( witness_create )
|
|||
[](vote_id_type id) { return id.type() == vote_id_type::committee; });
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -482,7 +482,7 @@ BOOST_AUTO_TEST_CASE( global_settle_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, issuer, account_id_type(2));
|
||||
trx.operations.back() = op;
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
}
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(valentine_id, bit_usd_id), 0);
|
||||
|
|
@ -515,7 +515,7 @@ BOOST_AUTO_TEST_CASE( worker_create_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, work_end_date, op.work_begin_date);
|
||||
trx.operations.back() = op;
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
}
|
||||
|
||||
const worker_object& worker = worker_id_type()(db);
|
||||
|
|
@ -545,7 +545,7 @@ BOOST_AUTO_TEST_CASE( worker_pay_test )
|
|||
op.new_options = nathan_id(db).options;
|
||||
op.new_options->votes.insert(worker_id_type()(db).vote_for);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
{
|
||||
|
|
@ -553,7 +553,7 @@ BOOST_AUTO_TEST_CASE( worker_pay_test )
|
|||
op.payer = account_id_type();
|
||||
op.amount_to_burn = asset(GRAPHENE_INITIAL_SUPPLY/2);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -570,7 +570,7 @@ BOOST_AUTO_TEST_CASE( worker_pay_test )
|
|||
trx.set_expiration(db.head_block_id());
|
||||
trx.operations.push_back(op);
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.signatures.clear();
|
||||
REQUIRE_THROW_WITH_VALUE(op, amount, asset(1));
|
||||
trx.clear();
|
||||
|
|
@ -585,7 +585,7 @@ BOOST_AUTO_TEST_CASE( worker_pay_test )
|
|||
op.new_options = nathan_id(db).options;
|
||||
op.new_options->votes.erase(worker_id_type()(db).vote_for);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -605,7 +605,7 @@ BOOST_AUTO_TEST_CASE( worker_pay_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, amount, asset(501));
|
||||
trx.operations.back() = op;
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.signatures.clear();
|
||||
trx.clear();
|
||||
}
|
||||
|
|
@ -638,7 +638,7 @@ BOOST_AUTO_TEST_CASE( refund_worker_test )
|
|||
REQUIRE_THROW_WITH_VALUE(op, work_end_date, op.work_begin_date);
|
||||
trx.operations.back() = op;
|
||||
trx.sign(nathan_key_id, nathan_private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -658,7 +658,7 @@ BOOST_AUTO_TEST_CASE( refund_worker_test )
|
|||
op.new_options = nathan_id(db).options;
|
||||
op.new_options->votes.insert(worker_id_type()(db).vote_for);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
{
|
||||
|
|
@ -666,7 +666,7 @@ BOOST_AUTO_TEST_CASE( refund_worker_test )
|
|||
op.payer = account_id_type();
|
||||
op.amount_to_burn = asset(GRAPHENE_INITIAL_SUPPLY/2);
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
|
||||
|
|
@ -704,7 +704,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
op.new_options.maximum_force_settlement_volume = 9000;
|
||||
trx.clear();
|
||||
trx.operations.push_back(op);
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.clear();
|
||||
}
|
||||
generate_block();
|
||||
|
|
@ -745,7 +745,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
trx.operations.push_back(pop);
|
||||
}
|
||||
trx.sign(key_id_type(),private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.clear();
|
||||
|
||||
asset_settle_operation sop;
|
||||
|
|
@ -753,7 +753,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
sop.amount = asset(50, bit_usd);
|
||||
trx.operations = {sop};
|
||||
//Force settlement is disabled; check that it fails
|
||||
BOOST_CHECK_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_CHECK_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
{
|
||||
//Enable force settlement
|
||||
asset_update_operation op;
|
||||
|
|
@ -763,7 +763,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
op.new_options.flags &= ~disable_force_settle;
|
||||
trx.operations = {op};
|
||||
trx.sign(key_id_type(), private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
trx.operations = {sop};
|
||||
}
|
||||
REQUIRE_THROW_WITH_VALUE(sop, amount, asset(999999, bit_usd));
|
||||
|
|
@ -771,7 +771,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
trx.sign(key_id_type(),private_key);
|
||||
|
||||
//Partially settle a call
|
||||
force_settlement_id_type settle_id = db.push_transaction(trx).operation_results.front().get<object_id_type>();
|
||||
force_settlement_id_type settle_id = PUSH_TX( db, trx ).operation_results.front().get<object_id_type>();
|
||||
trx.clear();
|
||||
call_order_id_type call_id = db.get_index_type<call_order_index>().indices().get<by_collateral>().begin()->id;
|
||||
BOOST_CHECK_EQUAL(settle_id(db).balance.amount.value, 50);
|
||||
|
|
@ -793,7 +793,7 @@ BOOST_AUTO_TEST_CASE( force_settlement_unavailable )
|
|||
trx.operations.push_back(op);
|
||||
trx.set_expiration(db.head_block_id());
|
||||
trx.sign(key_id_type(), private_key);
|
||||
db.push_transaction(trx);
|
||||
PUSH_TX( db, trx );
|
||||
//Check that force settlements were all canceled
|
||||
BOOST_CHECK(db.get_index_type<force_settlement_index>().indices().empty());
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan_id, bit_usd), bit_usd(db).dynamic_data(db).current_supply.value);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE( create_advanced_uia )
|
|||
creator.common_options.core_exchange_rate = price({asset(2),asset(1,1)});
|
||||
creator.common_options.whitelist_authorities = creator.common_options.blacklist_authorities = {account_id_type()};
|
||||
trx.operations.push_back(std::move(creator));
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
const asset_object& test_asset = test_asset_id(db);
|
||||
BOOST_CHECK(test_asset.symbol == "ADVANCED");
|
||||
|
|
@ -82,16 +82,16 @@ BOOST_AUTO_TEST_CASE( issue_whitelist_uia )
|
|||
asset_issue_operation op({asset(), advanced.issuer, advanced.amount(1000), nathan.id});
|
||||
trx.operations.emplace_back(op);
|
||||
//Fail because nathan is not whitelisted.
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
account_whitelist_operation wop({asset(), account_id_type(), nathan.id, account_whitelist_operation::white_listed});
|
||||
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK(nathan.is_authorized_asset(advanced));
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, advanced), 1000);
|
||||
} catch(fc::exception& e) {
|
||||
|
|
@ -113,13 +113,13 @@ BOOST_AUTO_TEST_CASE( transfer_whitelist_uia )
|
|||
transfer_operation op({advanced.amount(0), nathan.id, dan.id, advanced.amount(100)});
|
||||
trx.operations.push_back(op);
|
||||
//Fail because dan is not whitelisted.
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
account_whitelist_operation wop({asset(), account_id_type(), dan.id, account_whitelist_operation::white_listed});
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, advanced), 900);
|
||||
BOOST_CHECK_EQUAL(get_balance(dan, advanced), 100);
|
||||
|
|
@ -127,16 +127,16 @@ BOOST_AUTO_TEST_CASE( transfer_whitelist_uia )
|
|||
wop.new_listing |= account_whitelist_operation::black_listed;
|
||||
wop.account_to_list = nathan.id;
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
op.amount = advanced.amount(50);
|
||||
trx.operations.back() = op;
|
||||
//Fail because nathan is blacklisted
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
std::swap(op.from, op.to);
|
||||
trx.operations.back() = op;
|
||||
//Fail because nathan is blacklisted
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
{
|
||||
asset_update_operation op;
|
||||
|
|
@ -145,12 +145,12 @@ BOOST_AUTO_TEST_CASE( transfer_whitelist_uia )
|
|||
op.new_options.blacklist_authorities.clear();
|
||||
op.new_options.blacklist_authorities.insert(dan.id);
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK(advanced.options.blacklist_authorities.find(dan.id) != advanced.options.blacklist_authorities.end());
|
||||
}
|
||||
|
||||
trx.operations.back() = op;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
BOOST_CHECK_EQUAL(get_balance(nathan, advanced), 950);
|
||||
BOOST_CHECK_EQUAL(get_balance(dan, advanced), 50);
|
||||
|
||||
|
|
@ -158,29 +158,29 @@ BOOST_AUTO_TEST_CASE( transfer_whitelist_uia )
|
|||
wop.account_to_list = nathan.id;
|
||||
wop.new_listing = account_whitelist_operation::black_listed;
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
trx.operations.back() = op;
|
||||
//Fail because nathan is blacklisted
|
||||
BOOST_CHECK(!nathan.is_authorized_asset(advanced));
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
|
||||
//Remove nathan from genesis' whitelist, add him to dan's. This should not authorize him to hold ADVANCED.
|
||||
wop.authorizing_account = account_id_type();
|
||||
wop.account_to_list = nathan.id;
|
||||
wop.new_listing = account_whitelist_operation::no_listing;
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
wop.authorizing_account = dan.id;
|
||||
wop.account_to_list = nathan.id;
|
||||
wop.new_listing = account_whitelist_operation::white_listed;
|
||||
trx.operations.back() = wop;
|
||||
db.push_transaction(trx, ~0);
|
||||
PUSH_TX( db, trx, ~0 );
|
||||
|
||||
trx.operations.back() = op;
|
||||
//Fail because nathan is not whitelisted
|
||||
BOOST_CHECK(!nathan.is_authorized_asset(advanced));
|
||||
BOOST_REQUIRE_THROW(db.push_transaction(trx, ~0), fc::exception);
|
||||
BOOST_REQUIRE_THROW(PUSH_TX( db, trx, ~0 ), fc::exception);
|
||||
} catch(fc::exception& e) {
|
||||
edump((e.to_detail_string()));
|
||||
throw;
|
||||
|
|
|
|||
Loading…
Reference in a new issue