BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
db_notify.cpp
Go to the documentation of this file.
1 #include <fc/container/flat.hpp>
2 
6 
25 #include <graphene/chain/hardfork.hpp>
26 
27 using namespace fc;
28 namespace graphene { namespace chain { namespace detail {
29 
30 // TODO: Review all of these, especially no-ops
32 {
33  flat_set<account_id_type>& _impacted;
35 
36  get_impacted_account_visitor( flat_set<account_id_type>& impact, bool ignore_custom_op_required_auths )
37  : _impacted( impact ), _ignore_custom_op_reqd_auths( ignore_custom_op_required_auths )
38  {}
39 
40  using result_type = void;
41 
42  void operator()( const transfer_operation& op )
43  {
44  _impacted.insert( op.to );
45  _impacted.insert( op.fee_payer() ); // from
46  }
48  {
49  _impacted.insert( op.fee_payer() ); // issuer
50  }
52  {
53  _impacted.insert( op.fee_payer() ); // issuer
54  }
56  {
57  _impacted.insert( op.fee_payer() ); // seller
58  }
60  {
61  _impacted.insert(op.fee_payer()); // seller
62  }
64  {
65  _impacted.insert( op.fee_payer() ); // fee_paying_account
66  }
68  {
69  _impacted.insert( op.fee_payer() ); // funding_account
70  }
72  {
73  _impacted.insert( op.fee_payer() ); // bidder
74  }
75  void operator()( const fill_order_operation& op )
76  {
77  _impacted.insert( op.fee_payer() ); // account_id
78  }
80  {
81  _impacted.insert( op.fee_payer() ); // bidder
82  }
84  {
85  _impacted.insert( op.fee_payer() ); // registrar
86  _impacted.insert( op.referrer );
87  add_authority_accounts( _impacted, op.owner );
88  add_authority_accounts( _impacted, op.active );
89  }
91  {
92  _impacted.insert( op.fee_payer() ); // account
93  if( op.owner )
94  add_authority_accounts( _impacted, *(op.owner) );
95  if( op.active )
96  add_authority_accounts( _impacted, *(op.active) );
97  }
99  {
100  _impacted.insert( op.fee_payer() ); // authorizing_account
101  _impacted.insert( op.account_to_list );
102  }
104  {
105  _impacted.insert( op.fee_payer() ); // account_to_upgrade
106  }
108  {
109  _impacted.insert( op.fee_payer() ); // account_id
110  }
112  {
113  _impacted.insert( op.fee_payer() ); // issuer
114  }
116  {
117  _impacted.insert( op.fee_payer() ); // issuer
118  if( op.new_issuer )
119  _impacted.insert( *(op.new_issuer) );
120  }
122  {
123  _impacted.insert( op.fee_payer() ); // issuer
124  _impacted.insert( op.new_issuer );
125  }
127  {
128  _impacted.insert( op.fee_payer() ); // issuer
129  }
131  {
132  _impacted.insert( op.fee_payer() ); // issuer
133  }
135  {
136  _impacted.insert( op.fee_payer() ); // issuer
137  _impacted.insert( op.issue_to_account );
138  }
140  {
141  _impacted.insert( op.fee_payer() ); // payer
142  }
144  {
145  _impacted.insert( op.fee_payer() ); // from_account
146  }
148  {
149  _impacted.insert( op.fee_payer() ); // account
150  }
152  {
153  _impacted.insert( op.fee_payer() ); // issuer
154  }
156  {
157  _impacted.insert( op.fee_payer() ); // publisher
158  }
160  {
161  _impacted.insert( op.fee_payer() ); // witness_account
162  }
164  {
165  _impacted.insert( op.fee_payer() ); // witness_account
166  }
168  {
169  _impacted.insert( op.fee_payer() ); // fee_paying_account
170  vector<authority> other;
171  for( const auto& proposed_op : op.proposed_ops )
172  operation_get_required_authorities( proposed_op.op, _impacted, _impacted, other,
173  _ignore_custom_op_reqd_auths );
174  for( const auto& o : other )
175  add_authority_accounts( _impacted, o );
176  }
178  {
179  _impacted.insert( op.fee_payer() ); // fee_paying_account
180  }
182  {
183  _impacted.insert( op.fee_payer() ); // fee_paying_account
184  }
186  {
187  _impacted.insert( op.fee_payer() ); // withdraw_from_account
188  _impacted.insert( op.authorized_account );
189  }
191  {
192  _impacted.insert( op.fee_payer() ); // withdraw_from_account
193  _impacted.insert( op.authorized_account );
194  }
196  {
197  _impacted.insert( op.fee_payer() ); // withdraw_to_account
198  _impacted.insert( op.withdraw_from_account );
199  }
201  {
202  _impacted.insert( op.fee_payer() ); // withdraw_from_account
203  _impacted.insert( op.authorized_account );
204  }
206  {
207  _impacted.insert( op.fee_payer() ); // committee_member_account
208  }
210  {
211  _impacted.insert( op.fee_payer() ); // committee_member_account
212  }
214  {
215  _impacted.insert( op.fee_payer() ); // account_id_type()
216  }
218  {
219  _impacted.insert( op.fee_payer() ); // creator
220  _impacted.insert( op.owner );
221  }
223  {
224  _impacted.insert( op.fee_payer() ); // owner
225  }
227  {
228  _impacted.insert( op.fee_payer() ); // owner
229  }
230  void operator()( const custom_operation& op )
231  {
232  _impacted.insert( op.fee_payer() ); // payer
233  if( !_ignore_custom_op_reqd_auths )
234  _impacted.insert( op.required_auths.begin(), op.required_auths.end() );
235  }
236  void operator()( const assert_operation& op )
237  {
238  _impacted.insert( op.fee_payer() ); // fee_paying_account
239  }
241  {
242  _impacted.insert( op.fee_payer() ); // deposit_to_account
243  }
245  {
246  _impacted.insert( op.to );
247  _impacted.insert( op.from );
248  _impacted.insert( op.fee_payer() ); // issuer
249  }
251  {
252  _impacted.insert( op.fee_payer() ); // from
253  for( const auto& out : op.outputs )
254  add_authority_accounts( _impacted, out.owner );
255  }
257  {
258  _impacted.insert( op.fee_payer() ); // GRAPHENE_TEMP_ACCOUNT
259  for( const auto& in : op.inputs )
260  add_authority_accounts( _impacted, in.owner );
261  for( const auto& out : op.outputs )
262  add_authority_accounts( _impacted, out.owner );
263  }
265  {
266  _impacted.insert( op.fee_payer() ); // GRAPHENE_TEMP_ACCOUNT
267  _impacted.insert( op.to );
268  for( const auto& in : op.inputs )
269  add_authority_accounts( _impacted, in.owner );
270  }
272  {
273  _impacted.insert( op.fee_payer() ); // account
274  }
276  {
277  _impacted.insert( op.fee_payer() ); // account_id
278  }
280  {
281  _impacted.insert( op.fee_payer() );
282  _impacted.insert( op.to );
283  }
285  {
286  _impacted.insert( op.fee_payer() );
287  }
289  {
290  _impacted.insert( op.from );
291  if ( op.to != op.redeemer )
292  _impacted.insert( op.to );
293  }
295  {
296  _impacted.insert( op.fee_payer() );
297  }
299  {
300  _impacted.insert( op.fee_payer() );
301  }
303  {
304  _impacted.insert( op.fee_payer() ); // account
305  add_authority_accounts( _impacted, op.auth );
306  }
308  {
309  _impacted.insert( op.fee_payer() ); // account
310  if ( op.new_auth )
311  add_authority_accounts(_impacted, *op.new_auth);
312  }
314  {
315  _impacted.insert( op.fee_payer() ); // account
316  }
318  {
319  _impacted.insert( op.fee_payer() ); // account
320  }
322  {
323  _impacted.insert( op.fee_payer() ); // account
324  }
326  {
327  _impacted.insert( op.fee_payer() ); // account
328  }
330  {
331  _impacted.insert( op.fee_payer() ); // account
332  }
334  {
335  _impacted.insert( op.fee_payer() ); // account
336  }
338  {
339  _impacted.insert( op.fee_payer() ); // account
340  }
342  {
343  _impacted.insert( op.fee_payer() ); // account
344  }
346  {
347  _impacted.insert( op.fee_payer() ); // account
348  }
350  {
351  _impacted.insert( op.fee_payer() ); // owner_account
352  }
354  {
355  _impacted.insert( op.fee_payer() ); // owner_account
356  }
358  {
359  _impacted.insert( op.fee_payer() ); // owner_account
360  }
362  {
363  _impacted.insert( op.fee_payer() ); // borrower
364  }
366  {
367  _impacted.insert( op.fee_payer() ); // account
368  }
370  {
371  _impacted.insert( op.fee_payer() ); // owner_account
372  }
374  {
375  _impacted.insert( op.fee_payer() ); // owner_account
376  }
378  {
379  _impacted.insert( op.fee_payer() ); // owner_account
380  }
382  {
383  _impacted.insert( op.fee_payer() ); // borrower
384  }
386  {
387  _impacted.insert( op.fee_payer() ); // account
388  }
390  {
391  _impacted.insert( op.offer_owner );
392  _impacted.insert( op.borrower );
393  }
395  {
396  _impacted.insert( op.fee_payer() ); // account
397  }
398 };
399 
400 } // namespace detail
401 
402 // Declared in impacted.hpp
403 void operation_get_impacted_accounts( const operation& op, flat_set<account_id_type>& result,
404  bool ignore_custom_op_required_auths )
405 {
406  detail::get_impacted_account_visitor vtor( result, ignore_custom_op_required_auths );
407  op.visit( vtor );
408 }
409 
410 // Declared in impacted.hpp, although only used in this file
411 void transaction_get_impacted_accs( const transaction& tx, flat_set<account_id_type>& result,
412  bool ignore_custom_op_required_auths )
413 {
414  for( const auto& op : tx.operations )
415  operation_get_impacted_accounts( op, result, ignore_custom_op_required_auths );
416 }
417 
418 static void get_relevant_accounts( const object* obj, flat_set<account_id_type>& accounts,
419  bool ignore_custom_op_required_auths ) {
420  FC_ASSERT( obj != nullptr, "Internal error: get_relevant_accounts called with nullptr" ); // This should not happen
421  if( obj->id.space() == protocol_ids )
422  {
423  switch( (object_type)obj->id.type() )
424  {
425  case null_object_type:
426  case base_object_type:
427  return;
428  case account_object_type:
429  accounts.insert( account_id_type(obj->id) );
430  break;
431  case asset_object_type:{
432  const auto* aobj = dynamic_cast<const asset_object*>(obj);
433  accounts.insert( aobj->issuer );
434  break;
435  } case force_settlement_object_type:{
436  const auto* aobj = dynamic_cast<const force_settlement_object*>(obj);
437  accounts.insert( aobj->owner );
438  break;
439  } case committee_member_object_type:{
440  const auto* aobj = dynamic_cast<const committee_member_object*>(obj);
441  accounts.insert( aobj->committee_member_account );
442  break;
443  } case witness_object_type:{
444  const auto* aobj = dynamic_cast<const witness_object*>(obj);
445  accounts.insert( aobj->witness_account );
446  break;
447  } case limit_order_object_type:{
448  const auto* aobj = dynamic_cast<const limit_order_object*>(obj);
449  accounts.insert( aobj->seller );
450  break;
451  } case call_order_object_type:{
452  const auto* aobj = dynamic_cast<const call_order_object*>(obj);
453  accounts.insert( aobj->borrower );
454  break;
455  } case custom_object_type:
456  break;
457  case proposal_object_type:{
458  const auto* aobj = dynamic_cast<const proposal_object*>(obj);
459  transaction_get_impacted_accs( aobj->proposed_transaction, accounts,
460  ignore_custom_op_required_auths );
461  break;
462  } case operation_history_object_type:{
463  const auto* aobj = dynamic_cast<const operation_history_object*>(obj);
464  operation_get_impacted_accounts( aobj->op, accounts,
465  ignore_custom_op_required_auths );
466  break;
467  } case withdraw_permission_object_type:{
468  const auto* aobj = dynamic_cast<const withdraw_permission_object*>(obj);
469  accounts.insert( aobj->withdraw_from_account );
470  accounts.insert( aobj->authorized_account );
471  break;
472  } case vesting_balance_object_type:{
473  const auto* aobj = dynamic_cast<const vesting_balance_object*>(obj);
474  accounts.insert( aobj->owner );
475  break;
476  } case worker_object_type:{
477  const auto* aobj = dynamic_cast<const worker_object*>(obj);
478  accounts.insert( aobj->worker_account );
479  break;
480  } case balance_object_type:
482  break;
483  case htlc_object_type:{
484  const auto* htlc_obj = dynamic_cast<const htlc_object*>(obj);
485  accounts.insert( htlc_obj->transfer.from );
486  accounts.insert( htlc_obj->transfer.to );
487  break;
488  } case custom_authority_object_type:{
489  const auto* cust_auth_obj = dynamic_cast<const custom_authority_object*>( obj );
490  accounts.insert( cust_auth_obj->account );
491  add_authority_accounts( accounts, cust_auth_obj->auth );
492  break;
493  } case ticket_object_type:{
494  const auto* aobj = dynamic_cast<const ticket_object*>( obj );
495  accounts.insert( aobj->account );
496  break;
497  } case liquidity_pool_object_type:
498  // no account info in the object although it does have an owner
499  break;
500  case samet_fund_object_type:{
501  const auto* aobj = dynamic_cast<const samet_fund_object*>( obj );
502  accounts.insert( aobj->owner_account );
503  break;
504  } case credit_offer_object_type:{
505  const auto* aobj = dynamic_cast<const credit_offer_object*>( obj );
506  accounts.insert( aobj->owner_account );
507  break;
508  } case credit_deal_object_type:{
509  const auto* aobj = dynamic_cast<const credit_deal_object*>( obj );
510  accounts.insert( aobj->offer_owner );
511  accounts.insert( aobj->borrower );
512  break;
513  }
514  // Do not have a default fallback so that there will be a compiler warning when a new type is added
515  }
516  }
517  else if( obj->id.space() == implementation_ids )
518  {
519  switch( (impl_object_type)obj->id.type() )
520  {
521  case impl_global_property_object_type:
522  break;
523  case impl_dynamic_global_property_object_type:
524  break;
525  case impl_reserved0_object_type:
526  break;
527  case impl_asset_dynamic_data_object_type:
528  break;
529  case impl_asset_bitasset_data_object_type:
530  break;
531  case impl_account_balance_object_type:{
532  const auto* aobj = dynamic_cast<const account_balance_object*>(obj);
533  accounts.insert( aobj->owner );
534  break;
535  } case impl_account_statistics_object_type:{
536  const auto* aobj = dynamic_cast<const account_statistics_object*>(obj);
537  accounts.insert( aobj->owner );
538  break;
539  } case impl_transaction_history_object_type:{
540  const auto* aobj = dynamic_cast<const transaction_history_object*>(obj);
541  transaction_get_impacted_accs( aobj->trx, accounts,
542  ignore_custom_op_required_auths );
543  break;
544  } case impl_blinded_balance_object_type:{
545  const auto* aobj = dynamic_cast<const blinded_balance_object*>(obj);
546  for( const auto& a : aobj->owner.account_auths )
547  accounts.insert( a.first );
548  break;
549  } case impl_block_summary_object_type:
550  break;
551  case impl_account_history_object_type: {
552  const auto* aobj = dynamic_cast<const account_history_object*>(obj);
553  accounts.insert( aobj->account );
554  break;
555  } case impl_chain_property_object_type:
556  break;
557  case impl_witness_schedule_object_type:
558  break;
559  case impl_budget_record_object_type:
560  break;
561  case impl_special_authority_object_type:
562  break;
563  case impl_buyback_object_type:
564  break;
565  case impl_fba_accumulator_object_type:
566  break;
567  case impl_collateral_bid_object_type:{
568  const auto* aobj = dynamic_cast<const collateral_bid_object*>(obj);
569  accounts.insert( aobj->bidder );
570  break;
571  } case impl_credit_deal_summary_object_type:{
572  const auto* aobj = dynamic_cast<const credit_deal_summary_object*>(obj);
573  accounts.insert( aobj->offer_owner );
574  accounts.insert( aobj->borrower );
575  break;
576  }
577  // Do not have a default fallback so that there will be a compiler warning when a new type is added
578  }
579  }
580 } // end get_relevant_accounts( const object* obj, flat_set<account_id_type>& accounts )
581 
582 void database::notify_applied_block( const signed_block& block )
583 {
584  GRAPHENE_TRY_NOTIFY( applied_block, block )
585 }
586 
587 void database::notify_on_pending_transaction( const signed_transaction& tx )
588 {
589  GRAPHENE_TRY_NOTIFY( on_pending_transaction, tx )
590 }
591 
592 void database::notify_changed_objects()
593 { try {
594  if( _undo_db.enabled() )
595  {
596  const auto& head_undo = _undo_db.head();
597  auto chain_time = head_block_time();
598 
599  // New
600  if( !new_objects.empty() )
601  {
602  vector<object_id_type> new_ids;
603  new_ids.reserve(head_undo.new_ids.size());
604  flat_set<account_id_type> new_accounts_impacted;
605  for( const auto& item : head_undo.new_ids )
606  {
607  new_ids.push_back(item);
608  auto* obj = find_object(item);
609  if(obj != nullptr)
610  get_relevant_accounts(obj, new_accounts_impacted,
611  MUST_IGNORE_CUSTOM_OP_REQD_AUTHS(chain_time));
612  }
613 
614  if( !new_ids.empty() )
615  GRAPHENE_TRY_NOTIFY( new_objects, new_ids, new_accounts_impacted)
616  }
617 
618  // Changed
619  if( !changed_objects.empty() )
620  {
621  vector<object_id_type> changed_ids;
622  changed_ids.reserve(head_undo.old_values.size());
623  flat_set<account_id_type> changed_accounts_impacted;
624  for( const auto& item : head_undo.old_values )
625  {
626  changed_ids.push_back(item.first);
627  get_relevant_accounts(item.second.get(), changed_accounts_impacted,
628  MUST_IGNORE_CUSTOM_OP_REQD_AUTHS(chain_time));
629  }
630 
631  if( !changed_ids.empty() )
632  GRAPHENE_TRY_NOTIFY( changed_objects, changed_ids, changed_accounts_impacted)
633  }
634 
635  // Removed
636  if( !removed_objects.empty() )
637  {
638  vector<object_id_type> removed_ids;
639  removed_ids.reserve( head_undo.removed.size() );
640  vector<const object*> removed;
641  removed.reserve( head_undo.removed.size() );
642  flat_set<account_id_type> removed_accounts_impacted;
643  for( const auto& item : head_undo.removed )
644  {
645  removed_ids.emplace_back( item.first );
646  auto* obj = item.second.get();
647  removed.emplace_back( obj );
648  get_relevant_accounts(obj, removed_accounts_impacted,
649  MUST_IGNORE_CUSTOM_OP_REQD_AUTHS(chain_time));
650  }
651 
652  if( !removed_ids.empty() )
653  GRAPHENE_TRY_NOTIFY( removed_objects, removed_ids, removed, removed_accounts_impacted )
654  }
655  }
656 } catch( const graphene::chain::plugin_exception& e ) {
657  elog( "Caught plugin exception: ${e}", ("e", e.to_detail_string() ) );
658  throw;
659 } FC_CAPTURE_AND_LOG( (0) ) } // GCOVR_EXCL_LINE
660 
661 } } // namespace graphene::chain
graphene::protocol::limit_order_update_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:134
graphene::protocol::custom_authority_update_operation::fee_payer
account_id_type fee_payer() const
Definition: custom_authority.hpp:97
graphene::protocol::vesting_balance_withdraw_operation::fee_payer
account_id_type fee_payer() const
Definition: vesting.hpp:110
graphene::protocol::fill_order_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:228
graphene::protocol::transaction::operations
vector< operation > operations
Definition: transaction.hpp:89
graphene::protocol::asset_claim_pool_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:613
graphene::protocol::proposal_update_operation
The proposal_update_operation updates an existing transaction proposal.
Definition: proposal.hpp:119
liquidity_pool_object.hpp
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const witness_create_operation &op)
Definition: db_notify.cpp:159
graphene::protocol::transfer_to_blind_operation
Converts public account balance to a blinded or stealth balance.
Definition: confidential.hpp:150
transaction_history_object.hpp
graphene::protocol::credit_deal_repay_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:175
graphene::protocol::withdraw_permission_update_operation
Update an existing withdraw permission.
Definition: withdraw_permission.hpp:83
samet_fund_object.hpp
graphene::protocol::htlc_refund_operation::fee_payer
account_id_type fee_payer() const
Definition: htlc.hpp:198
graphene::protocol::execute_bid_operation
Definition: market.hpp:262
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const custom_authority_create_operation &op)
Definition: db_notify.cpp:302
graphene::protocol::htlc_create_operation::fee_payer
account_id_type fee_payer() const
who will pay the fee
Definition: htlc.hpp:82
graphene::protocol::custom_operation
provides a generic way to add higher level protocols on top of witness consensus
Definition: custom.hpp:38
graphene::protocol::vesting_balance_withdraw_operation
Withdraw from a vesting balance.
Definition: vesting.hpp:101
graphene::protocol::withdraw_permission_claim_operation::withdraw_from_account
account_id_type withdraw_from_account
Must match withdraw_permission->withdraw_from_account.
Definition: withdraw_permission.hpp:132
graphene::protocol::samet_fund_delete_operation
Delete a SameT Fund object.
Definition: samet_fund.hpp:56
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const withdraw_permission_update_operation &op)
Definition: db_notify.cpp:190
graphene::protocol::blind_transfer_operation
Transfers from blind to blind.
Definition: confidential.hpp:238
graphene::protocol::custom_authority_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: custom_authority.hpp:119
graphene::protocol::fill_order_operation
Definition: market.hpp:206
graphene::protocol::liquidity_pool_update_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:86
graphene::protocol::add_authority_accounts
void add_authority_accounts(flat_set< account_id_type > &result, const authority &a)
Definition: authority.cpp:31
graphene::protocol::ticket_create_operation
Creates a new ticket.
Definition: ticket.hpp:47
graphene::protocol::asset_reserve_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:522
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const limit_order_cancel_operation &op)
Definition: db_notify.cpp:63
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const ticket_create_operation &op)
Definition: db_notify.cpp:317
graphene::protocol::bid_collateral_operation
Definition: market.hpp:241
graphene::protocol::transfer_from_blind_operation::inputs
vector< blind_input > inputs
Definition: confidential.hpp:183
database.hpp
graphene::protocol::vesting_balance_create_operation
Create a vesting balance.
Definition: vesting.hpp:74
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const transfer_operation &op)
Definition: db_notify.cpp:42
graphene::protocol::credit_deal_repay_operation
Repay a credit deal.
Definition: credit_offer.hpp:163
fc::static_variant
Definition: raw_fwd.hpp:27
impacted.hpp
graphene::protocol::account_update_operation::active
optional< authority > active
New active authority. This can be updated by the current active authority.
Definition: account.hpp:158
graphene::protocol::credit_offer_create_operation
Create a new credit offer.
Definition: credit_offer.hpp:36
graphene::protocol::htlc_redeem_operation
Definition: htlc.hpp:90
graphene::protocol::transfer_from_blind_operation::to
account_id_type to
Definition: confidential.hpp:181
graphene::protocol::fba_distribute_operation
Definition: fba.hpp:30
graphene::protocol::asset_claim_fees_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:551
graphene::protocol::asset_global_settle_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:248
graphene::protocol::custom_authority_create_operation
Create a new custom authority.
Definition: custom_authority.hpp:36
graphene::protocol::liquidity_pool_exchange_operation
Exchange with a liquidity pool.
Definition: liquidity_pool.hpp:138
graphene::protocol::bid_collateral_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:252
graphene::protocol::asset_claim_fees_operation
used to transfer accumulated fees back to the issuer's balance.
Definition: asset_ops.hpp:529
graphene::protocol::htlc_refund_operation
Definition: htlc.hpp:187
custom_authority_object.hpp
fc
Definition: api.hpp:15
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_publish_feed_operation &op)
Definition: db_notify.cpp:155
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_deposit_operation &op)
Definition: db_notify.cpp:337
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const committee_member_create_operation &op)
Definition: db_notify.cpp:205
graphene::protocol::witness_create_operation::fee_payer
account_id_type fee_payer() const
Definition: witness.hpp:47
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const htlc_create_operation &op)
Definition: db_notify.cpp:279
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const proposal_delete_operation &op)
Definition: db_notify.cpp:181
graphene::protocol::execute_bid_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:275
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const vesting_balance_withdraw_operation &op)
Definition: db_notify.cpp:222
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const withdraw_permission_claim_operation &op)
Definition: db_notify.cpp:195
graphene::protocol::committee_member_create_operation
Create a committee_member object, as a bid to hold a committee_member seat on the network.
Definition: committee_member.hpp:38
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_settle_operation &op)
Definition: db_notify.cpp:147
graphene::protocol::blind_transfer_operation::outputs
vector< blind_output > outputs
Definition: confidential.hpp:247
graphene::protocol::asset_update_issuer_operation
Update issuer of an asset.
Definition: asset_ops.hpp:565
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const custom_authority_delete_operation &op)
Definition: db_notify.cpp:313
graphene::protocol::vesting_balance_create_operation::owner
account_id_type owner
Who is able to withdraw the balance.
Definition: vesting.hpp:80
graphene::protocol::transaction
groups operations that should be applied atomically
Definition: transaction.hpp:69
graphene::protocol::account_create_operation::active
authority active
Definition: account.hpp:110
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const vesting_balance_create_operation &op)
Definition: db_notify.cpp:217
graphene::protocol::asset_fund_fee_pool_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:332
graphene::chain::detail::get_impacted_account_visitor::result_type
void result_type
Definition: db_notify.cpp:40
graphene::protocol::asset_update_feed_producers_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:441
graphene::protocol::credit_offer_delete_operation
Delete a credit offer.
Definition: credit_offer.hpp:70
graphene::protocol::liquidity_pool_create_operation
Create a new liquidity pool.
Definition: liquidity_pool.hpp:34
graphene::protocol::committee_member_update_operation
Update a committee_member object.
Definition: committee_member.hpp:58
graphene::protocol::custom_authority_create_operation::fee_payer
account_id_type fee_payer() const
Definition: custom_authority.hpp:61
proposal_object.hpp
graphene::protocol::override_transfer_operation::fee_payer
account_id_type fee_payer() const
Definition: transfer.hpp:97
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_update_issuer_operation &op)
Definition: db_notify.cpp:121
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const account_update_operation &op)
Definition: db_notify.cpp:90
graphene::protocol::htlc_redeemed_operation
Definition: htlc.hpp:127
graphene::protocol::proposal_update_operation::fee_payer
account_id_type fee_payer() const
Definition: proposal.hpp:137
graphene::protocol::account_transfer_operation
transfers the account to another account while clearing the white list
Definition: account.hpp:267
graphene::protocol::account_update_operation::fee_payer
account_id_type fee_payer() const
Definition: account.hpp:164
graphene::protocol::withdraw_permission_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: withdraw_permission.hpp:165
graphene::protocol::account_upgrade_operation::fee_payer
account_id_type fee_payer() const
Definition: account.hpp:249
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const committee_member_update_global_parameters_operation &op)
Definition: db_notify.cpp:213
graphene::protocol::htlc_redeemed_operation::to
account_id_type to
Definition: htlc.hpp:144
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_global_settle_operation &op)
Definition: db_notify.cpp:151
graphene::chain::detail::get_impacted_account_visitor::_impacted
flat_set< account_id_type > & _impacted
Definition: db_notify.cpp:33
worker_object.hpp
graphene::protocol::custom_authority_create_operation::auth
authority auth
Authentication requirements for the custom authority.
Definition: custom_authority.hpp:55
graphene::protocol::htlc_create_operation::to
account_id_type to
Definition: htlc.hpp:57
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_create_operation &op)
Definition: db_notify.cpp:111
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const call_order_update_operation &op)
Definition: db_notify.cpp:67
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const limit_order_create_operation &op)
Definition: db_notify.cpp:55
graphene::protocol::witness_create_operation
Create a witness object, as a bid to hold a witness position on the network.
Definition: witness.hpp:37
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const samet_fund_update_operation &op)
Definition: db_notify.cpp:357
graphene::protocol::withdraw_permission_delete_operation::authorized_account
account_id_type authorized_account
The account previously authorized to make withdrawals. Must match withdrawal_permission->authorized_a...
Definition: withdraw_permission.hpp:161
graphene::protocol::samet_fund_borrow_operation
Borrow from a SameT Fund.
Definition: samet_fund.hpp:94
graphene::protocol::account_update_operation
Update an existing account.
Definition: account.hpp:136
graphene::protocol::samet_fund_update_operation::fee_payer
account_id_type fee_payer() const
Definition: samet_fund.hpp:86
graphene::protocol::worker_create_operation
Create a new worker object.
Definition: worker.hpp:79
graphene::protocol::samet_fund_create_operation
Create a new SameT Fund object.
Definition: samet_fund.hpp:36
graphene::protocol::account_create_operation::referrer
account_id_type referrer
This account receives a portion of the fee split between registrar and referrer. Must be a member.
Definition: account.hpp:103
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_update_bitasset_operation &op)
Definition: db_notify.cpp:126
graphene::protocol::samet_fund_update_operation
Update a SameT Fund object.
Definition: samet_fund.hpp:74
graphene::protocol::account_update_operation::owner
optional< authority > owner
New owner authority. If set, this operation requires owner authority to execute.
Definition: account.hpp:156
graphene::protocol::withdraw_permission_create_operation::fee_payer
account_id_type fee_payer() const
Definition: withdraw_permission.hpp:68
graphene::protocol::htlc_create_operation
Definition: htlc.hpp:45
graphene::protocol::liquidity_pool_withdraw_operation
Withdraw from a liquidity pool.
Definition: liquidity_pool.hpp:114
graphene::protocol::blind_transfer_operation::fee_payer
account_id_type fee_payer() const
Definition: confidential.cpp:97
graphene::protocol::custom_authority_delete_operation
Delete a custom authority.
Definition: custom_authority.hpp:107
graphene::protocol::witness_update_operation
Update a witness object's URL and block signing key.
Definition: witness.hpp:55
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const ticket_update_operation &op)
Definition: db_notify.cpp:321
graphene::protocol::signed_transaction
adds a signature to a transaction
Definition: transaction.hpp:134
graphene::protocol::transfer_from_blind_operation::fee_payer
account_id_type fee_payer() const
Definition: confidential.hpp:185
graphene::protocol::withdraw_permission_claim_operation
Withdraw from an account which has published a withdrawal permission.
Definition: withdraw_permission.hpp:120
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_update_operation &op)
Definition: db_notify.cpp:333
graphene::protocol::assert_operation
assert that some conditions are true.
Definition: assert.hpp:93
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const htlc_refund_operation &op)
Definition: db_notify.cpp:298
graphene::protocol::asset_settle_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:286
graphene::protocol::samet_fund_create_operation::fee_payer
account_id_type fee_payer() const
Definition: samet_fund.hpp:48
graphene::protocol::account_whitelist_operation::account_to_list
account_id_type account_to_list
The account being opined about.
Definition: account.hpp:212
graphene::protocol::withdraw_permission_update_operation::authorized_account
account_id_type authorized_account
The account authorized to make withdrawals. Must match permission_to_update->authorized_account.
Definition: withdraw_permission.hpp:91
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const custom_authority_update_operation &op)
Definition: db_notify.cpp:307
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const withdraw_permission_create_operation &op)
Definition: db_notify.cpp:185
graphene::protocol::transfer_from_blind_operation
Converts blinded/stealth balance to a public account balance.
Definition: confidential.hpp:173
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_offer_accept_operation &op)
Definition: db_notify.cpp:381
operations.hpp
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_deal_repay_operation &op)
Definition: db_notify.cpp:385
graphene::chain::detail::get_impacted_account_visitor
Definition: db_notify.cpp:31
graphene::protocol::liquidity_pool_create_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:48
graphene::protocol::samet_fund_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: samet_fund.hpp:66
graphene::protocol::asset_reserve_operation
used to take an asset out of circulation, returning to the issuer
Definition: asset_ops.hpp:513
graphene::protocol::call_order_update_operation
Definition: market.hpp:171
graphene::protocol::asset_update_operation
Update options common to all assets.
Definition: asset_ops.hpp:351
FC_CAPTURE_AND_LOG
#define FC_CAPTURE_AND_LOG(...)
Definition: exception.hpp:438
graphene::protocol::withdraw_permission_create_operation
Create a new withdrawal permission.
Definition: withdraw_permission.hpp:50
graphene::protocol::ticket_update_operation::fee_payer
account_id_type fee_payer() const
Definition: ticket.hpp:78
graphene::protocol::account_create_operation
Definition: account.hpp:81
graphene::protocol::ticket_update_operation
Updates an existing ticket.
Definition: ticket.hpp:66
graphene::protocol::liquidity_pool_exchange_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:150
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const fba_distribute_operation &op)
Definition: db_notify.cpp:275
graphene::protocol::proposal_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: proposal.hpp:166
graphene::protocol::withdraw_permission_create_operation::authorized_account
account_id_type authorized_account
The account authorized to make withdrawals from withdraw_from_account.
Definition: withdraw_permission.hpp:58
graphene::protocol::transfer_operation::fee_payer
account_id_type fee_payer() const
Definition: transfer.hpp:64
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const fill_order_operation &op)
Definition: db_notify.cpp:75
graphene::protocol::override_transfer_operation::from
account_id_type from
Account to transfer asset from.
Definition: transfer.hpp:87
graphene::protocol::proposal_create_operation::fee_payer
account_id_type fee_payer() const
Definition: proposal.hpp:96
graphene::protocol::limit_order_update_operation
Definition: market.hpp:117
graphene::protocol::samet_fund_repay_operation::fee_payer
account_id_type fee_payer() const
Definition: samet_fund.hpp:125
graphene::protocol::credit_offer_accept_operation
Accept a credit offer, thereby creating a credit deal.
Definition: credit_offer.hpp:135
graphene::protocol::balance_claim_operation::fee_payer
account_id_type fee_payer() const
Definition: balance.hpp:50
graphene::protocol::account_create_operation::fee_payer
account_id_type fee_payer() const
Definition: account.hpp:115
graphene::protocol::transfer_operation
Transfers an amount of one asset from one account to another.
Definition: transfer.hpp:45
graphene::protocol::custom_authority_update_operation::new_auth
optional< authority > new_auth
Change to the authentication for the custom authority.
Definition: custom_authority.hpp:89
graphene::protocol::liquidity_pool_deposit_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:106
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_issue_operation &op)
Definition: db_notify.cpp:134
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const assert_operation &op)
Definition: db_notify.cpp:236
transaction.hpp
htlc_object.hpp
vesting_balance_object.hpp
graphene::protocol::asset_update_bitasset_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:409
graphene::protocol::implementation_ids
@ implementation_ids
Definition: types.hpp:299
graphene::protocol::liquidity_pool_deposit_operation
Deposit to a liquidity pool.
Definition: liquidity_pool.hpp:94
graphene::protocol::asset_publish_feed_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:478
graphene::protocol::custom_operation::required_auths
flat_set< account_id_type > required_auths
Definition: custom.hpp:47
flat.hpp
graphene::protocol::transfer_to_blind_operation::fee_payer
account_id_type fee_payer() const
Definition: confidential.hpp:164
graphene::protocol::override_transfer_operation::to
account_id_type to
Account to transfer asset to.
Definition: transfer.hpp:89
graphene::protocol::committee_member_create_operation::fee_payer
account_id_type fee_payer() const
Definition: committee_member.hpp:47
authority.hpp
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const samet_fund_delete_operation &op)
Definition: db_notify.cpp:353
graphene::protocol::protocol_ids
@ protocol_ids
Definition: types.hpp:298
graphene::chain::detail::get_impacted_account_visitor::get_impacted_account_visitor
get_impacted_account_visitor(flat_set< account_id_type > &impact, bool ignore_custom_op_required_auths)
Definition: db_notify.cpp:36
graphene::protocol::htlc_redeemed_operation::from
account_id_type from
Definition: htlc.hpp:144
graphene::protocol::withdraw_permission_delete_operation
Delete an existing withdrawal permission.
Definition: withdraw_permission.hpp:153
graphene::protocol::custom_authority_update_operation
Update a custom authority.
Definition: custom_authority.hpp:70
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const proposal_create_operation &op)
Definition: db_notify.cpp:167
graphene::protocol::limit_order_cancel_operation
Definition: market.hpp:145
graphene::protocol::balance_claim_operation
Claim a balance in a graphene::chain::balance_object.
Definition: balance.hpp:40
graphene::protocol::asset_update_bitasset_operation
Update options specific to BitAssets.
Definition: asset_ops.hpp:398
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const custom_operation &op)
Definition: db_notify.cpp:230
graphene::protocol::blind_transfer_operation::inputs
vector< blind_input > inputs
Definition: confidential.hpp:246
graphene::protocol::asset_settle_cancel_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:308
committee_member_object.hpp
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const samet_fund_repay_operation &op)
Definition: db_notify.cpp:365
graphene::protocol::htlc_redeem_operation::fee_payer
account_id_type fee_payer() const
Who is to pay the fee.
Definition: htlc.hpp:116
graphene::protocol::transfer_operation::to
account_id_type to
Account to transfer asset to.
Definition: transfer.hpp:56
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const account_create_operation &op)
Definition: db_notify.cpp:83
graphene::protocol::asset_publish_feed_operation
Publish price feeds for market-issued assets.
Definition: asset_ops.hpp:462
graphene::protocol::limit_order_create_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:108
graphene::protocol::liquidity_pool_withdraw_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:125
graphene::protocol::asset_settle_cancel_operation
Definition: asset_ops.hpp:293
graphene::protocol::call_order_update_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:195
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const committee_member_update_operation &op)
Definition: db_notify.cpp:209
graphene::protocol::limit_order_cancel_operation::fee_payer
account_id_type fee_payer() const
Definition: market.hpp:155
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_claim_pool_operation &op)
Definition: db_notify.cpp:51
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_reserve_operation &op)
Definition: db_notify.cpp:139
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const htlc_extend_operation &op)
Definition: db_notify.cpp:294
graphene::protocol::account_create_operation::owner
authority owner
Definition: account.hpp:109
graphene::protocol::custom_operation::fee_payer
account_id_type fee_payer() const
Definition: custom.hpp:51
graphene::protocol::htlc_redeemed_operation::redeemer
account_id_type redeemer
Definition: htlc.hpp:144
graphene::protocol::credit_deal_update_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:226
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const withdraw_permission_delete_operation &op)
Definition: db_notify.cpp:200
graphene::chain::detail::get_impacted_account_visitor::_ignore_custom_op_reqd_auths
bool _ignore_custom_op_reqd_auths
Definition: db_notify.cpp:34
graphene::protocol::withdraw_permission_update_operation::fee_payer
account_id_type fee_payer() const
Definition: withdraw_permission.hpp:103
graphene::protocol::credit_offer_create_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:61
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_update_feed_producers_operation &op)
Definition: db_notify.cpp:130
credit_offer_object.hpp
graphene::protocol::proposal_delete_operation
The proposal_delete_operation deletes an existing transaction proposal.
Definition: proposal.hpp:156
graphene::protocol::asset_issue_operation::issue_to_account
account_id_type issue_to_account
Definition: asset_ops.hpp:495
graphene::protocol::operation_get_required_authorities
void operation_get_required_authorities(const operation &op, flat_set< account_id_type > &active, flat_set< account_id_type > &owner, vector< authority > &other, bool ignore_custom_operation_required_auths)
Definition: operations.cpp:103
graphene::protocol::committee_member_update_global_parameters_operation
Used by committee_members to update the global parameters of the blockchain.
Definition: committee_member.hpp:84
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const execute_bid_operation &op)
Definition: db_notify.cpp:79
FC_ASSERT
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
Definition: exception.hpp:345
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const proposal_update_operation &op)
Definition: db_notify.cpp:177
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_delete_operation &op)
Definition: db_notify.cpp:329
GRAPHENE_TRY_NOTIFY
#define GRAPHENE_TRY_NOTIFY(signal,...)
Definition: exceptions.hpp:92
graphene::protocol::asset_update_feed_producers_operation
Update the set of feed-producing accounts for a BitAsset.
Definition: asset_ops.hpp:430
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_deal_update_operation &op)
Definition: db_notify.cpp:394
graphene::protocol::liquidity_pool_update_operation
Update a liquidity pool.
Definition: liquidity_pool.hpp:74
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_withdraw_operation &op)
Definition: db_notify.cpp:341
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_offer_delete_operation &op)
Definition: db_notify.cpp:373
graphene::protocol::asset_settle_operation
Schedules a market-issued asset for automatic settlement.
Definition: asset_ops.hpp:267
graphene::protocol::ticket_create_operation::fee_payer
account_id_type fee_payer() const
Definition: ticket.hpp:58
graphene::protocol::credit_deal_update_operation
Update a credit deal.
Definition: credit_offer.hpp:215
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const transfer_from_blind_operation &op)
Definition: db_notify.cpp:264
operation_history_object.hpp
graphene::protocol::liquidity_pool_delete_operation
Delete a liquidity pool.
Definition: liquidity_pool.hpp:56
graphene::protocol::credit_deal_expired_operation
A credit deal expired without being fully repaid.
Definition: credit_offer.hpp:184
graphene::protocol::committee_member_update_global_parameters_operation::fee_payer
account_id_type fee_payer() const
Definition: committee_member.hpp:91
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const samet_fund_borrow_operation &op)
Definition: db_notify.cpp:361
graphene::chain::operation_get_impacted_accounts
void operation_get_impacted_accounts(const operation &op, flat_set< account_id_type > &result, bool ignore_custom_op_required_auths)
Definition: db_notify.cpp:403
graphene::protocol::account_upgrade_operation
Manage an account's membership status.
Definition: account.hpp:235
confidential_object.hpp
graphene::protocol::samet_fund_borrow_operation::fee_payer
account_id_type fee_payer() const
Definition: samet_fund.hpp:105
graphene::protocol::credit_deal_expired_operation::borrower
account_id_type borrower
The account who repays to the credit offer.
Definition: credit_offer.hpp:199
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const account_upgrade_operation &op)
Definition: db_notify.cpp:103
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const worker_create_operation &op)
Definition: db_notify.cpp:226
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_fund_fee_pool_operation &op)
Definition: db_notify.cpp:143
graphene::protocol::htlc_extend_operation
Definition: htlc.hpp:153
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const witness_update_operation &op)
Definition: db_notify.cpp:163
graphene::protocol::limit_order_create_operation
instructs the blockchain to attempt to sell one asset for another
Definition: market.hpp:72
graphene::protocol::samet_fund_repay_operation
Repay to a SameT Fund.
Definition: samet_fund.hpp:113
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_deal_expired_operation &op)
Definition: db_notify.cpp:389
graphene::protocol::liquidity_pool_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: liquidity_pool.hpp:66
graphene::protocol::asset_fund_fee_pool_operation
Definition: asset_ops.hpp:322
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const override_transfer_operation &op)
Definition: db_notify.cpp:244
graphene::protocol::override_transfer_operation
Allows the issuer of an asset to transfer an asset from any account to any account if they have overr...
Definition: transfer.hpp:77
graphene::protocol::worker_create_operation::fee_payer
account_id_type fee_payer() const
Definition: worker.hpp:93
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const htlc_redeem_operation &op)
Definition: db_notify.cpp:284
fc::static_variant::visit
visitor::result_type visit(visitor &v)
Definition: static_variant.hpp:256
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_create_operation &op)
Definition: db_notify.cpp:325
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const liquidity_pool_exchange_operation &op)
Definition: db_notify.cpp:345
graphene::protocol::withdraw_permission_claim_operation::fee_payer
account_id_type fee_payer() const
Definition: withdraw_permission.hpp:140
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const samet_fund_create_operation &op)
Definition: db_notify.cpp:349
graphene::protocol::account_whitelist_operation
This operation is used to whitelist and blacklist accounts, primarily for transacting in whitelisted ...
Definition: account.hpp:197
graphene::protocol::htlc_extend_operation::fee_payer
account_id_type fee_payer() const
Who is to pay the fee.
Definition: htlc.hpp:179
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const transfer_to_blind_operation &op)
Definition: db_notify.cpp:250
graphene::protocol::asset_update_issuer_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:577
graphene::protocol::proposal_create_operation::proposed_ops
vector< op_wrapper > proposed_ops
Definition: proposal.hpp:79
graphene::protocol::account_whitelist_operation::fee_payer
account_id_type fee_payer() const
Definition: account.hpp:218
market_object.hpp
graphene::protocol::signed_block
Definition: block.hpp:64
withdraw_permission_object.hpp
graphene::protocol::credit_offer_delete_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:80
witness_object.hpp
graphene::protocol::asset_update_operation::new_issuer
optional< account_id_type > new_issuer
If the asset is to be given a new issuer, specify his ID here.
Definition: asset_ops.hpp:375
graphene::protocol::proposal_create_operation
The proposal_create_operation creates a transaction proposal, for use in multi-sig scenarios.
Definition: proposal.hpp:70
graphene::protocol::committee_member_update_operation::fee_payer
account_id_type fee_payer() const
Definition: committee_member.hpp:69
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const bid_collateral_operation &op)
Definition: db_notify.cpp:71
graphene::chain::transaction_get_impacted_accs
void transaction_get_impacted_accs(const transaction &tx, flat_set< account_id_type > &result, bool ignore_custom_op_required_auths)
Definition: db_notify.cpp:411
graphene::protocol::vesting_balance_create_operation::fee_payer
account_id_type fee_payer() const
Definition: vesting.hpp:84
graphene::protocol::transfer_to_blind_operation::outputs
vector< blind_output > outputs
Definition: confidential.hpp:162
graphene::protocol::account_transfer_operation::fee_payer
account_id_type fee_payer() const
Definition: account.hpp:276
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_offer_update_operation &op)
Definition: db_notify.cpp:377
graphene::protocol::asset_issue_operation
Definition: asset_ops.hpp:485
graphene::protocol::credit_deal_expired_operation::offer_owner
account_id_type offer_owner
Owner of the credit offer.
Definition: credit_offer.hpp:198
graphene::protocol::asset_update_issuer_operation::new_issuer
account_id_type new_issuer
Definition: asset_ops.hpp:574
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_settle_cancel_operation &op)
Definition: db_notify.cpp:271
graphene::protocol::asset_create_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:222
graphene::protocol::fba_distribute_operation::fee_payer
account_id_type fee_payer() const
Definition: fba.hpp:40
graphene::protocol::credit_offer_update_operation
Update a credit offer.
Definition: credit_offer.hpp:88
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const balance_claim_operation &op)
Definition: db_notify.cpp:240
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const blind_transfer_operation &op)
Definition: db_notify.cpp:256
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_update_operation &op)
Definition: db_notify.cpp:115
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const credit_offer_create_operation &op)
Definition: db_notify.cpp:369
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const account_whitelist_operation &op)
Definition: db_notify.cpp:98
graphene::protocol::asset_global_settle_operation
allows global settling of bitassets (black swan or prediction markets)
Definition: asset_ops.hpp:238
graphene
Definition: api.cpp:48
graphene::protocol::assert_operation::fee_payer
account_id_type fee_payer() const
Definition: assert.hpp:103
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const asset_claim_fees_operation &op)
Definition: db_notify.cpp:47
graphene::protocol::asset_create_operation
Definition: asset_ops.hpp:192
ticket_object.hpp
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const htlc_redeemed_operation &op)
Definition: db_notify.cpp:288
graphene::protocol::asset_claim_pool_operation
Transfers BTS from the fee pool of a specified asset back to the issuer's balance.
Definition: asset_ops.hpp:601
graphene::protocol::witness_update_operation::fee_payer
account_id_type fee_payer() const
Definition: witness.hpp:72
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const limit_order_update_operation &op)
Definition: db_notify.cpp:59
graphene::protocol::asset_update_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:379
graphene::chain::detail::get_impacted_account_visitor::operator()
void operator()(const account_transfer_operation &op)
Definition: db_notify.cpp:107
graphene::protocol::asset_issue_operation::fee_payer
account_id_type fee_payer() const
Definition: asset_ops.hpp:502
elog
#define elog(FORMAT,...)
Definition: logger.hpp:129
graphene::protocol::credit_offer_accept_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:155
graphene::protocol::credit_offer_update_operation::fee_payer
account_id_type fee_payer() const
Definition: credit_offer.hpp:113