Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BSIP 75 - Asset Owner defines MCR and MSSR values #218

Merged
merged 11 commits into from
May 22, 2020
45 changes: 45 additions & 0 deletions bsip-0075.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
```
BSIP: 0075
Title: Asset Owner Defines MCR and MSSR Values
Authors:
Bangzi1001
John Jones <jmjatlanta@gmail.com>
Status: Draft
Type: Protocol
Created: 2019-09-19
Discussion: https://github.com/bitshares/bsips/issues/96
Worker: TBD
```

# Abstract
This BSIP provides the ability for the asset creator to decide if adjustments to the Maintenance Collateral Ratio (MCR) or the Maximum Short Squeeze Ratio (MSSR) should be done by the asset owner or by price feed providers.

# Motivation
Asset owners are often in the best position to control the values of MCR and MSSR of their asset. Therefore, they should be able to have direct control to adjust those values, should they choose to allow themselves.

# Rationale
Prior to this change, adjustments to MCR and MSSR were handled by feed producers. This often requires the asset owner to contact the feed producer and ask for the change. For some assets, such a step is time consuming for both parties and ill-fitted as part of the feed producer's responsibilities.

This new change shall permit the asset owner to determine *at asset creation time* who should have the responsibility to maintain those values.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How will existing smartcoins be affected?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing smartcoins aren't affected. The owners can change settings after the protocol upgrade though.


# Specification
abitmore marked this conversation as resolved.
Show resolved Hide resolved
The `asset_object.asset_options.issuer_permissions` shall contain the new `issuer_fed_mcr` permission that determines if an issuer can change the related `flags` value.

The `asset_object.asset_options.issuer_permissions` shall contain the new `issuer_fed_mssr` permission that determines if an issuer can change the related `flags` value.

The `create_asset_operation` shall be modified to include the setting of the parameters above, as well as initial `flags` values for MCR and MSSR.

The `update_asset_operation` shall be modified to permit updating of the MCR and MSSR values, if the asset has the appropriate `flags` value set permitting the asset owner to do so. NOTE: much of the logic currently in `asset_publish_feeds_evaluator::do_apply()` (i.e. call order checks and calculations) shall be also called here if MCR or MSSR are adjusted.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that the prior text, which references the pre-existing permission setting of the asset, is more correct


If price feeds arrive with MCR and MSSR values for an asset who's owner is in control of those values, the feed values shall be ignored if the feed does not come from the asset owner.

# Discussion

# Summary for Shareholders
For some assets, having feed producers control MCR and MSSR values is cumbersome and ill-fitting. This BSIP allows asset owners to decide at asset creation time if the responsibility of those values should be from feed producers' consensus or set directly by the asset owner themselves.

# Copyright
This document is placed in the public domain.

# See Also
[BSIP 59](https://github.com/bitshares/bsips/blob/master/bsip-0059.md) documents procedures for adjusting MCR and MSSR of smartcoins by polling.