Asset issuers need a way to get out some CORE assets (BTS) from their assets' fee pool, for example when accidentally filled too much BTS into the pool. As of writing, this can be done by crafting a special limit order then cancel it, the process is a bit complicated. In addition, this approach will no longer work if [BSIP #26 (Refund Order Creation Fee in Originally Paid Asset on Cancel)](https://github.com/bitshares/bsips/blob/master/bsip-0026.md) is implemented. This BSIP proposes a protocol change to meet the demand.
# Motivation
Make the asset system easier to use.
# Rational
Asset issuer should have full and easy control over the funds in the fee pool.
# Specifications
## Current Design and Implementation
Asset issuers can fill the fee pool with the `asset_fund_fee_pool_operation` operation, which has a structure as follows:
```
struct asset_fund_fee_pool_operation : public base_operation
{
asset fee; ///<coreasset
account_id_type from_account;
asset_id_type asset_id;
share_type amount; ///<coreasset
extensions_type extensions;
};
```
The `amount` in the structure can only be positive, which means the `from_account` can only add some CORE asset (BTS) into an asset's fee pool.
We here propose the addition of a new operation that allows to claim fees from the fee pool. Since the fee pools are pre-filled with an initial amount from the asset creation fee, this feature is useful for those that do not desire to use the fee pool.