Skip to content

tfImmediateOrCancel should use tecKILLED #4115

Closed
@mDuo13

Description

@mDuo13

The fix1578 amendment changed OfferCreate transactions so that if they used tfFillorKill and the transaction was killed, it used the code tecKILLED rather than tesSUCCESS. We should do the same for the tfImmediateOrCancel flag, which still results in tesSUCCESS when the Offer can't be immediately and fully filled.

Summary

It's confusing and unintuitive to see an "immediate or cancel" transaction treated as "successful" when it did nothing because the "or cancel" part applied. A different result code makes it apparent at a glance what happened.

This is a transaction processing change so it should go on an amendment.

Aside

An unintuitive edge case is the interaction between tecKILLED and specifying a previous Offer to cancel in the OfferSequence field. My understanding is that post-fix1578, a "Fill or Kill" offer that gets tecKILLED does not cancel the previous Offer. We should make "Immediate or Cancel" work the same way. This may be a functional change beyond the result code but the consistency is worth it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions