BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
|
#include <confidential_evaluator.hpp>
Public Types | |
typedef transfer_from_blind_operation | operation_type |
Public Member Functions | |
void_result | do_evaluate (const transfer_from_blind_operation &o) |
void_result | do_apply (const transfer_from_blind_operation &o) |
virtual void | pay_fee () override |
Public Member Functions inherited from graphene::chain::evaluator< transfer_from_blind_evaluator > | |
virtual int | get_type () const override |
virtual operation_result | evaluate (const operation &o) final override |
virtual operation_result | apply (const operation &o) final override |
Public Member Functions inherited from graphene::chain::generic_evaluator | |
virtual | ~generic_evaluator () |
virtual int | get_type () const =0 |
virtual operation_result | start_evaluate (transaction_evaluation_state &eval_state, const operation &op, bool apply) |
database & | db () const |
Additional Inherited Members | |
Protected Member Functions inherited from graphene::chain::generic_evaluator | |
void | prepare_fee (account_id_type account_id, asset fee) |
Fetch objects relevant to fee payer and set pointer members. More... | |
virtual void | convert_fee () |
object_id_type | get_relative_id (object_id_type rel_id) const |
void | pay_fba_fee (uint64_t fba_id) |
share_type | calculate_fee_for_operation (const operation &op) const |
void | db_adjust_balance (const account_id_type &fee_payer, asset fee_from_account) |
Protected Attributes inherited from graphene::chain::generic_evaluator | |
asset | fee_from_account |
share_type | core_fee_paid |
const account_object * | fee_paying_account = nullptr |
const account_statistics_object * | fee_paying_account_statistics = nullptr |
const asset_object * | fee_asset = nullptr |
const asset_dynamic_data_object * | fee_asset_dyn_data = nullptr |
transaction_evaluation_state * | trx_state |
Definition at line 41 of file confidential_evaluator.hpp.
typedef transfer_from_blind_operation graphene::chain::transfer_from_blind_evaluator::operation_type |
Definition at line 44 of file confidential_evaluator.hpp.
void_result graphene::chain::transfer_from_blind_evaluator::do_apply | ( | const transfer_from_blind_operation & | o | ) |
Definition at line 96 of file confidential_evaluator.cpp.
void_result graphene::chain::transfer_from_blind_evaluator::do_evaluate | ( | const transfer_from_blind_operation & | o | ) |
Definition at line 80 of file confidential_evaluator.cpp.
|
overridevirtual |
Routes the fee to where it needs to go. The default implementation routes the fee to the account_statistics_object of the fee_paying_account.
Before pay_fee() is called, the fee is computed by prepare_fee() and has been moved out of the fee_paying_account and (if paid in a non-CORE asset) converted by the asset's fee pool.
Therefore, when pay_fee() is called, the fee only exists in this->core_fee_paid. So pay_fee() need only increment the receiving balance.
The default implementation simply calls account_statistics_object->pay_fee() to increment pending_fees or pending_vested_fees.
Reimplemented from graphene::chain::generic_evaluator.
Definition at line 116 of file confidential_evaluator.cpp.