29 namespace graphene {
namespace protocol {
54 FC_ASSERT(!(active_approvals_to_add.empty() && active_approvals_to_remove.empty() &&
55 owner_approvals_to_add.empty() && owner_approvals_to_remove.empty() &&
56 key_approvals_to_add.empty() && key_approvals_to_remove.empty()));
57 for(
auto a : active_approvals_to_add )
59 FC_ASSERT(active_approvals_to_remove.find(a) == active_approvals_to_remove.end(),
60 "Cannot add and remove approval at the same time.");
62 for(
auto a : owner_approvals_to_add )
64 FC_ASSERT(owner_approvals_to_remove.find(a) == owner_approvals_to_remove.end(),
65 "Cannot add and remove approval at the same time.");
67 for(
auto a : key_approvals_to_add )
69 FC_ASSERT(key_approvals_to_remove.find(a) == key_approvals_to_remove.end(),
70 "Cannot add and remove approval at the same time.");
87 for(
const auto& k : key_approvals_to_add )
89 for(
const auto& k : key_approvals_to_remove )
94 o.emplace_back( std::move(auth) );
99 for(
const auto& i : active_approvals_to_add ) a.insert(i);
100 for(
const auto& i : active_approvals_to_remove ) a.insert(i);
105 for(
const auto& i : owner_approvals_to_add ) a.insert(i);
106 for(
const auto& i : owner_approvals_to_remove ) a.insert(i);
Identifies a weighted set of keys and accounts that must approve operations.
The proposal_delete_operation deletes an existing transaction proposalThis operation allows the early...
share_type calculate_fee(const fee_parameters_type &k) const
uint32_t committee_proposal_review_period
minimum time in seconds that a proposed transaction requiring committee authority may not be signed...
void get_required_owner_authorities(flat_set< account_id_type > &) const
share_type calculate_fee(const fee_parameters_type &k) const
uint32_t maximum_proposal_lifetime
maximum lifetime in seconds for proposed transactions to be kept, before expiring ...
The proposal_create_operation creates a transaction proposal, for use in multi-sig scenariosCreates a...
flat_map< public_key_type, weight_type > key_auths
void get_required_active_authorities(flat_set< account_id_type > &) const
size_t pack_size(const T &v)
time_point_sec expiration_time
void operation_validate(const operation &op)
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
optional< uint32_t > review_period_seconds
vector< op_wrapper > proposed_ops
void get_required_authorities(vector< authority > &) const
#define GRAPHENE_IMPLEMENT_EXTERNAL_SERIALIZATION(type)
The proposal_update_operation updates an existing transaction proposalThis operation allows accounts ...
uint32_t weight_threshold
static uint64_t calculate_data_fee(uint64_t bytes, uint64_t price_per_kbyte)
static proposal_create_operation committee_proposal(const chain_parameters ¶m, fc::time_point_sec head_block_time)