# Create Buy Offer

Function:

```
public fun cancel_offer<CURRENCY>(
    ledger: &mut TradeLedger,
    offer_id: ID,
    collection_cap: &CollectionCap,
    clock: &Clock,
    ctx: &mut TxContext
)

```

**Description:**

* Allows a **seller** to cancel their active offer.
* The NFTs are **returned** to the seller’s wallet.
* The offer status is updated to **CANCELLED**.

**Validations:**

* Only the **offer owner** can cancel.
* The offer must **be open**.
