-
Notifications
You must be signed in to change notification settings - Fork 649
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
Operation to modify existing limit order #1604
Comments
Same as cancel or half of it imho... Still, new op so up to the committee to decide :) |
via telegram
The whole purpose of development work on cancel order fees is to decrease chain bloat in the end. Nobody would use this feature if it cost the same as cancel because it takes more code and thought on client side to implement. If updating is more efficient in both space and processing than we should at the very least discount it to match the decreased burden on the chain and servers. I recommend decreasing it even further to encourage its usage through subsidy by raising create and cancel; relatively inefficient means to the same end. I would like to see: create I have made several recommendations over the past month to reduce the cost of cancel create operations from a technical standpoint:
By comparison, limit_order_update should be 1) the easiest to implement 2) immediately tangible in results. Regardless of final fee, I think this is a great feature because it is a |
Define and implement the limit_order_update_operation. Still needs testing.
IMO 1/10 of cancel fee is too low (but that's a discussion for the committee). Implementation should consider that after modifying the order price, order matching need only be performed if the price is adjusted in favour of the buyer AND the order stays at or moves to the front of the book. In that case, processing cost is close to limit_order_create, otherwise processing cost is extremely low. |
Create a BSIP please. https://github.com/bitshares/bsips/ |
Some major facepalms in here... haha! but overall, it's looking good.
Oops, didn't mean to close |
Some major facepalms in here... haha! but overall, it's looking good.
I know coding is more fun, but for consensus changes we usually write a spec (aka BSIP) first. :-) |
Wuff, so much paperwork for such a small change! No wonder nobody's done this yet... ;P OK, I'll draft it up. |
Add logic to match an updated limit order if the price is changed to be higher than the previous top-of-book price. I believe this completes bitshares#1604
Add logic to match an updated limit order if the price is changed to be higher than the previous top-of-book price. I believe this completes bitshares#1604
Add logic to match an updated limit order if the price is changed to be higher than the previous top-of-book price. I believe this completes bitshares#1604
Holding off on a PReq until I've drafted up a BSIP (do I need someone to assign me a BSIP number?), but I welcome review ahead of then. My patch can be read here. Did I make any mistakes or forget something? :] |
In a quick view you have missed the hardfork dates and the checks for it. Operation cant be executed before hardfork. Need to check also in proposals. |
BSIP Draft: bitshares/bsips#150 |
I suggest we move the discussion to the BSIP61 discussion thread to finalize the specification, then return here for implementation (<-- assumption). We should keep this Issue open until the BSIP process completes. |
TODO:
|
Add dust check to limit order update logic, and test
More hardfork guard code needed. Like this: bitshares-core/libraries/chain/proposal_evaluator.cpp Lines 120 to 127 in 8047742
|
Updating an order's expiration must make it expire later than before, not the same or sooner.
Define and implement the limit_order_update_operation. Still needs testing.
Some major facepalms in here... haha! but overall, it's looking good.
Updating an order's expiration must make it expire later than before, not the same or sooner.
Guard against the comittee setting fees for the operation which is not yet defined.
Done |
Done via #2743. |
User Story
As a
market maker
I (would) wantan operation to modify an existing limit order
so thatorder walls in the markets can be maintained cheaply
.Technically, this isn't for me, but @litepresence in Telegram has requested it, and it's an easy win, so I say we do it.
Impacts
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.
Additional Context (optional)
At present, modifying a limit order on the books requires a cancel/create combo, which is a double fee. Now that the fees have risen, there is some pressure to add a
limit_order_update_operation
which will allow for cheaply updating limit orders.There are two ways to modify a limit order: update the price, or update the amount. Updating the price should be extremely cheap, as this involves only a modification to one small object and re-sorting the order books. Updating the amount should cost around twice as much, as it also involves modifying the account balance.
Question: what should the fees be set to?
CORE TEAM TASK LIST
The text was updated successfully, but these errors were encountered: