bsips
bsips copied to clipboard
New BSIP: reject proposal_update_operation if the proposal may get approved but fail to execute immediately
https://github.com/bitshares/bitshares-core/issues/278
Current behavior (copied from the issue):
When updating a proposal (add or remove approvals) without a review period(e.g. committee proposals which will only execute on expiration), if the authority threshold is met after the update, the proposal will be tried to execute immediately. If the execution failed, for example due to insufficient fee, the proposal will be left there waiting for future update, or expiration. It will be tried to execute again after another update if still has enough approvals. It will be tried again on expiration. Related code is here
This behavior has confused users, and sometimes it may cause unexpected results E.G. duplicate transfers.
A better behavior proposed by @xhipster:
I suppose that proper behavior is not to confirm approval in this case
I understand the motivation for that, but the approval should not fail simply because behavior should be the same for all users.
How about adding an error field to a proposal that will contain the execution error description if any occurred?
