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
10 changes: 5 additions & 5 deletions bsip-0075.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ Asset owners are often in the best position to control the values of MCR and MSS
# 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 which should have the responsibility to maintain those values.
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.flags` shall contain the new flag `issuer_fed_mcr` that determines if the MCR value is stored as part of the asset_object, or if it is pulled from the feeds.
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.flags` shall contain the new flag `issuer_fed_mssr` that determines if the MSSR value is stored as part of the asset_object, or if it is pulled from the feeds.
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 values for MCR and MSSR.
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 permit updating of the MCR and MSSR values, if the asset has been created with the permission for 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.
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.

Expand Down