Bitshares-Core  2.0.181105
BitShares blockchain implementation and command-line interface software
Public Types | Public Member Functions | List of all members
graphene::chain::transfer_from_blind_evaluator Class Reference

#include <confidential_evaluator.hpp>

Inheritance diagram for graphene::chain::transfer_from_blind_evaluator:
graphene::chain::evaluator< transfer_from_blind_evaluator > graphene::chain::generic_evaluator

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 operation_result start_evaluate (transaction_evaluation_state &eval_state, const operation &op, bool apply)
databasedb () 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_objectfee_paying_account = nullptr
const account_statistics_objectfee_paying_account_statistics = nullptr
const asset_objectfee_asset = nullptr
const asset_dynamic_data_objectfee_asset_dyn_data = nullptr

Detailed Description

Definition at line 44 of file confidential_evaluator.hpp.

Member Typedef Documentation

◆ operation_type

Definition at line 47 of file confidential_evaluator.hpp.

Member Function Documentation

◆ do_apply()

void_result graphene::chain::transfer_from_blind_evaluator::do_apply ( const transfer_from_blind_operation o)

Definition at line 98 of file confidential_evaluator.cpp.

◆ do_evaluate()

void_result graphene::chain::transfer_from_blind_evaluator::do_evaluate ( const transfer_from_blind_operation o)

Definition at line 82 of file confidential_evaluator.cpp.

◆ pay_fee()

void graphene::chain::transfer_from_blind_evaluator::pay_fee ( )

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.

TODO: db().pay_fee( account_id, core_fee );

Reimplemented from graphene::chain::generic_evaluator.

Definition at line 118 of file confidential_evaluator.cpp.

The documentation for this class was generated from the following files: