# SaleController

### **Purpose**:&#x20;

Manages marketplace logic for buying/selling identities.

### **Key Methods**:

* `list()`: Lists an identity for sale.
* `buy()`: Purchases a listed identity.
* `update()`: Modifies sale parameters.
* `cancel()`: Cancels an active sale.

### **Events**:

* `NameListed(name, node, price)`
* `NameSoldOut(name, node, buyer)`

### **Data Structures**:

* `struct Sale { id, start, end, price }`

### **Interactions**:

* Validates ownership via `SnowRegistry`.
