Variable SaleStateSchemaConst

SaleStateSchema: ZodObject<{
    soldAt: ZodOptional<ZodString>;
    soldToPlayerId: ZodOptional<ZodString>;
    status: ZodEnum<["available", "sold"]>;
}, "strip", ZodTypeAny, {
    soldAt?: string;
    soldToPlayerId?: string;
    status: "available" | "sold";
}, {
    soldAt?: string;
    soldToPlayerId?: string;
    status: "available" | "sold";
}> = ...

Sale state attached to every amenity content record.

Records start as { status: "available" }. The purchase RPC flips them to { status: "sold", soldToPlayerId, soldAt } inside a WATCH/MULTI transaction so concurrent buyers cannot both succeed.

SaleStateSchema.parse({ status: "available" });
SaleStateSchema.parse({
status: "sold",
soldToPlayerId: "player-42",
soldAt: new Date().toISOString(),
});