BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
|
Go to the documentation of this file.
27 namespace graphene {
namespace protocol {
28 struct predicate_result;
101 template<
typename Visitor>
102 vector<typename Visitor::result_type>
visit( Visitor&& visitor )
104 vector<typename Visitor::result_type> results;
106 results.push_back(op.visit( std::forward<Visitor>( visitor ) ));
109 template<
typename Visitor>
110 vector<typename Visitor::result_type>
visit( Visitor&& visitor )
const
112 vector<typename Visitor::result_type> results;
114 results.push_back(op.visit( std::forward<Visitor>( visitor ) ));
119 flat_set<account_id_type>& owner,
120 vector<authority>& other,
121 bool ignore_custom_operation_required_auths )
const;
156 const flat_set<public_key_type>& available_keys,
157 const std::function<
const authority*(account_id_type)>& get_active,
158 const std::function<
const authority*(account_id_type)>& get_owner,
159 bool allow_non_immediate_owner,
160 bool ignore_custom_operation_required_authorities,
180 const std::function<
const authority*(account_id_type)>& get_active,
181 const std::function<
const authority*(account_id_type)>& get_owner,
183 bool allow_non_immediate_owner,
184 bool ignore_custom_operation_required_auths,
195 const flat_set<public_key_type>& available_keys,
196 const std::function<
const authority*(account_id_type)>& get_active,
197 const std::function<
const authority*(account_id_type)>& get_owner,
199 bool allow_non_immediate_owner,
200 bool ignore_custom_operation_required_auths,
241 virtual void validate()
const override;
268 void verify_authority(
const vector<operation>& ops,
const flat_set<public_key_type>& sigs,
269 const std::function<
const authority*(account_id_type)>& get_active,
270 const std::function<
const authority*(account_id_type)>& get_owner,
272 bool allow_non_immediate_owner,
273 bool ignore_custom_operation_required_auths,
275 bool allow_committee =
false,
276 const flat_set<account_id_type>& active_approvals = flat_set<account_id_type>(),
277 const flat_set<account_id_type>& owner_approvals = flat_set<account_id_type>() );
vector< operation > operations
virtual ~precomputable_transaction()=default
precomputable_transaction()
vector< typename Visitor::result_type > visit(Visitor &&visitor)
visit all operations
virtual const transaction_id_type & id() const override
map< custom_authority_id_type, rejected_predicate > rejected_predicate_map
virtual const transaction_id_type & id() const
digest_type sig_digest(const chain_id_type &chain_id) const
const signature_type & sign(const private_key_type &key, const chain_id_type &chain_id)
precomputable_transaction(signed_transaction &&tx)
precomputable_transaction(const signed_transaction &tx)
set< public_key_type > minimize_required_signatures(const chain_id_type &chain_id, const flat_set< public_key_type > &available_keys, const std::function< const authority *(account_id_type)> &get_active, const std::function< const authority *(account_id_type)> &get_owner, const custom_authority_lookup &get_custom, bool allow_non_immediate_owner, bool ignore_custom_operation_required_auths, uint32_t max_recursion=GRAPHENE_MAX_SIG_CHECK_DEPTH) const
void set_reference_block(const block_id_type &reference_block)
fc::time_point_sec expiration
virtual void validate() const override
virtual const flat_set< public_key_type > & get_signature_keys(const chain_id_type &chain_id) const override
Extract public keys from signatures with given chain ID.
groups operations that should be applied atomically
digest_type merkle_digest() const
virtual ~signed_transaction()=default
void set_expiration(fc::time_point_sec expiration_time)
virtual ~transaction()=default
transaction_id_type _tx_id_buffer
#define GRAPHENE_MAX_SIG_CHECK_DEPTH
void verify_authority(const vector< operation > &ops, const flat_set< public_key_type > &sigs, const std::function< const authority *(account_id_type)> &get_active, const std::function< const authority *(account_id_type)> &get_owner, const custom_authority_lookup &get_custom, bool allow_non_immediate_owner, bool ignore_custom_operation_required_auths, uint32_t max_recursion=GRAPHENE_MAX_SIG_CHECK_DEPTH, bool allow_committee=false, const flat_set< account_id_type > &active_approvals=flat_set< account_id_type >(), const flat_set< account_id_type > &owner_approvals=flat_set< account_id_type >())
an elliptic curve private key.
vector< operation_result > operation_results
adds a signature to a transaction
virtual ~processed_transaction()=default
virtual const flat_set< public_key_type > & get_signature_keys(const chain_id_type &chain_id) const
Extract public keys from signatures with given chain ID.
#define FC_REFLECT_DERIVED(TYPE, INHERITS, MEMBERS)
Specializes fc::reflector for TYPE where type inherits other reflected classes.
signed_transaction(const transaction &trx=transaction())
void get_required_authorities(flat_set< account_id_type > &active, flat_set< account_id_type > &owner, vector< authority > &other, bool ignore_custom_operation_required_auths) const
virtual uint64_t get_packed_size() const
#define GRAPHENE_DECLARE_EXTERNAL_SERIALIZATION(type)
set< public_key_type > get_required_signatures(const chain_id_type &chain_id, const flat_set< public_key_type > &available_keys, const std::function< const authority *(account_id_type)> &get_active, const std::function< const authority *(account_id_type)> &get_owner, bool allow_non_immediate_owner, bool ignore_custom_operation_required_authorities, uint32_t max_recursion=GRAPHENE_MAX_SIG_CHECK_DEPTH) const
extensions_type extensions
uint32_t ref_block_prefix
vector< signature_type > signatures
captures the result of evaluating the operations contained in the transaction
digest_type digest() const
Calculate the digest for a transaction.
virtual void validate() const
void verify_authority(const chain_id_type &chain_id, const std::function< const authority *(account_id_type)> &get_active, const std::function< const authority *(account_id_type)> &get_owner, const custom_authority_lookup &get_custom, bool allow_non_immediate_owner, bool ignore_custom_operation_required_auths, uint32_t max_recursion=GRAPHENE_MAX_SIG_CHECK_DEPTH) const
flat_set< public_key_type > _signees
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
processed_transaction(const signed_transaction &trx=signed_transaction())
Identifies a weighted set of keys and accounts that must approve operations.
virtual uint64_t get_packed_size() const override
vector< typename Visitor::result_type > visit(Visitor &&visitor) const
std::function< vector< authority >(account_id_type, const operation &, rejected_predicate_map *)> custom_authority_lookup
future_extensions::flat_set_type extensions_type