contracts/arisen.system/src/com.cpp
/**
    * @brief Transfers tokens from owner COM fund
    *
    * @pre - owner COM fund has sufficient balance
    *
    * @param owner - owner account name
    * @param amount - tokens to be transfered out of COM fund
    */
@brief Transfers tokens from owner COM fund
@pre - owner COM fund has sufficient balance

@param owner - owner account name
@param amount - tokens to be transfered out of COM fund
@brief Transfers tokens from owner COM fund @pre - owner COM fund has sufficient balance @param owner - owner account name @param amount - tokens to be transfered out of COM fund
void system_contract::transfer_from_fund( const name& owner, const asset& amount )
   {
      check( 0 < amount.amount && amount.symbol == core_symbol(), "must transfer positive amount from COM fund" );
      auto itr = _comfunds.require_find( owner.value, "must deposit to COM fund first" );
      check( amount <= itr->balance, "insufficient funds" );
      _comfunds.modify( itr, same_payer, [&]( auto& fund ) {
         fund.balance.amount -= amount.amount;
      });
   }
void system_contract :: transfer_from_fund ( const name & owner , const asset & amount ) { check ( 0 < amount . amount && amount . symbol == core_symbol ( ) , " " ) ; auto itr = _comfunds . require_find ( owner . value , " " ) ; check ( amount <= itr -> balance , " " ) ; _comfunds . modify ( itr , same_payer , [ & ] ( auto & fund ) { fund . balance . amount -= amount . amount ; } ) ; }
@brief Transfers tokens from owner COM fund
 @pre - owner COM fund has sufficient balance
@brief Transfers tokens from owner COM fund @pre - owner COM fund has sufficient balance