Caller-held execution journal for one approved option plan.
The journal is ordinary immutable data. The library does not copy it into a process, ETS table, cache, or persistence layer.
Summary
Types
@type leg() :: %{ :id => term(), :execution_id => String.t(), :client_order_id => String.t(), :role => :option | :hedge, :venue => String.t(), :account => term(), :symbol => String.t(), :type => String.t(), :side => String.t(), :amount => number(), :state => leg_state(), :transitions => [transition()], :acknowledged? => boolean(), :cancel_attempted? => boolean(), :cancel_retry_allowed? => boolean(), optional(:price) => number() | nil, optional(:order_id) => String.t() | nil, optional(:filled) => number() | nil, optional(:remaining) => number() | nil }
@type leg_state() ::
:planned
| :submitted
| :accepted
| :partial
| :filled
| :open
| :cancelled
| :failed
| :unknown
@type status() ::
:ready | :running | :monitoring | :compensating | :completed | :halted