A THORChain pool swap event.
@type t() :: %Rujira.Thorchain.Events.Swap{ coin: String.t() | nil, emit_asset: String.t() | nil, from: String.t() | nil, id: String.t() | nil, memo: String.t() | nil, pool: String.t(), to: String.t() | nil }
@spec new(map()) :: {:ok, t()} | {:error, :invalid_attrs}