Polymarket.Schemas.PriceChangeEvent (Polymarket v0.1.1)

Copy Markdown View Source

Price change event.

Summary

Functions

Builds a PriceChangeEvent from a decoded (atom-keyed) websocket message.

Types

t()

@type t() :: %Polymarket.Schemas.PriceChangeEvent{
  event_type: String.t() | nil,
  market: String.t() | nil,
  price_changes: [Polymarket.Schemas.PriceChange.t()],
  timestamp: integer() | nil
}

Functions

from_attrs(attrs)

@spec from_attrs(map()) :: {:ok, t()} | {:error, {:missing_fields, [atom()]}}

Builds a PriceChangeEvent from a decoded (atom-keyed) websocket message.

Constructs the struct directly — no Ecto.Changeset — for the websocket hot path. Numeric fields (delivered as JSON strings) are coerced via Polymarket.Schemas.Coerce. Returns {:error, {:missing_fields, fields}} when a required field is absent.