Offer lifecycle

LegendLiveWaitingCompletedCancelled / failed

Guards

GuardLogic
isCreatoroffer.createdBy (NOT NULL — buyer for the initial offer, whoever counters for counters)
notCreatorInverse — the other participant
isParticipantbuyer or seller

Counter-offer flow

  1. applyOfferTransition({to: "countered"}) on the original
  2. Create new pending offer with counterOfferId
  3. Send chat message

On this page