Offer lifecycle
No diagram code provided
LegendLiveWaitingCompletedCancelled / failed
Guards
| Guard | Logic |
|---|---|
isCreator | offer.createdBy (NOT NULL — buyer for the initial offer, whoever counters for counters) |
notCreator | Inverse — the other participant |
isParticipant | buyer or seller |
Counter-offer flow
applyOfferTransition({to: "countered"})on the original- Create new pending offer with
counterOfferId - Send chat message