BSIP: 0030 Title: Always Allow Increasing Collateral Ratio If Debt Not Increased Author: Abit More Status: Accepted Type: Protocol Created: 2018-02-16 Discussion: https://github.com/bitshares/bitshares-core/issues/583, https://github.com/bitshares/bitshares-core/issues/672 Replaces: - Worker: 1.14.91 # Abstract Currently, when a short position's collateral ratio is below MCR (a parameter in price feed: `maintenance_collateral_ratio`) but is not completely filled immediately due to a lack of enough volume on the opposite side of the market, it will hang in the market and be waiting for being margin called. The owner then can adjust the order's collateral ratio **only if** * to close the position, or * the new collateral ratio is above MCR, or * the call order get completely filled (margin called) immediately. While this prevents shorters from maliciously reducing collateral ratio (to increase possibility of black swan event), it also prevents shorters from slightly increasing collateral ratio (to decrease possibility of black swan event). This BSIP proposes a mechanism to improve this situation. # Motivation Make the exchange system more user-friendly. # Rationale The ecosystem would get benefit if shorters are allowed to reduce risks to themselves while reducing risks to the system at same time. Current rules are a bit too strict, which can be loosed to: A shorter can adjust the position's collateral ratio **only if** * to close the position, or * the new collateral ratio is above MCR, or * the call order get completely filled (margin called) immediately, or * **the new ratio is higher than old ratio and debt is not increased** # Specifications In `do_apply()` function of `call_order_update_evaluator` class, if finally found the call order still in margin call territory, * don't throw an exception if `call_obj->collateralization()` is reduced, and * require `delta_debt` of `call_order_update_operation` to be non-positive. # Discussion [to be added if any] # Summary for Shareholders [to be added if any] # Copyright This document is placed in the public domain. # See Also * https://github.com/bitshares/bitshares-core/issues/583 * https://github.com/bitshares/bitshares-core/issues/672 * https://bitsharestalk.org/index.php?topic=25926.0