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_to_blind_evaluator Class Reference

#include <confidential_evaluator.hpp>

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

Public Types

typedef transfer_to_blind_operation operation_type
 

Public Member Functions

void_result do_evaluate (const transfer_to_blind_operation &o)
 
void_result do_apply (const transfer_to_blind_operation &o)
 
virtual void pay_fee () override
 
- Public Member Functions inherited from graphene::chain::evaluator< transfer_to_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
 
transaction_evaluation_statetrx_state
 

Detailed Description

Definition at line 33 of file confidential_evaluator.hpp.

Member Typedef Documentation

◆ operation_type

Definition at line 36 of file confidential_evaluator.hpp.

Member Function Documentation

◆ do_apply()

void_result graphene::chain::transfer_to_blind_evaluator::do_apply ( const transfer_to_blind_operation o)

Definition at line 54 of file confidential_evaluator.cpp.

◆ do_evaluate()

void_result graphene::chain::transfer_to_blind_evaluator::do_evaluate ( const transfer_to_blind_operation o)

Definition at line 36 of file confidential_evaluator.cpp.

◆ pay_fee()

void graphene::chain::transfer_to_blind_evaluator::pay_fee ( )
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.

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

Reimplemented from graphene::chain::generic_evaluator.

Definition at line 74 of file confidential_evaluator.cpp.


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