From a2b62663aaa8c8f6faa06c8241702f79971396b8 Mon Sep 17 00:00:00 2001 From: Abit Date: Sat, 11 Nov 2017 12:04:19 +0100 Subject: [PATCH] Create bsip-0027.md --- bsip-0027.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 bsip-0027.md diff --git a/bsip-0027.md b/bsip-0027.md new file mode 100644 index 0000000..fd119d1 --- /dev/null +++ b/bsip-0027.md @@ -0,0 +1,63 @@ + BSIP: 0027 + Title: Asset Issuer Reclaim Fee Pool Funds + Authors: Abit More + Fabian Schuh + Status: Draft + Type: Protocol + Created: 2017-11-02 + Discussion: https://github.com/bitshares/bitshares-core/issues/188 + Worker: TBD + +# Abstract + +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; ///< core asset + account_id_type from_account; + asset_id_type asset_id; + share_type amount; ///< core asset + 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. + +## Proposed Changes + +* Allow `amount` to be negative; +* When `amount` is negative, `from_account` can only be the issuer; +* When `amount` is negative, deduct the absolute amount from the asset's fee pool and add it to the issuer's balance. + +# Discussion + +The operation fee for `asset_fund_fee_pool_operation ` should be no less than `transfer_operation`. + +# Summary for Shareholders + +[to be added] + +# Copyright + +This document is placed in the public domain. + +# See Also + +* https://github.com/bitshares/bitshares-core/issues/188 +* [BSIP #2](https://github.com/bitshares/bsips/blob/master/bsip-0002.md) +* [BSIP #26](https://github.com/bitshares/bsips/blob/master/bsip-0026.md)