# `Concord.Txn.Result`
[🔗](https://github.com/gsmlg-dev/concord/blob/main/lib/concord/txn/result.ex#L1)

Result of a committed transaction.

- `succeeded` — `true` if the success branch ran, `false` if the failure branch ran.
  A `succeeded: false` result is **not an error** — it means the compares didn't hold.
- `revision` — cluster revision after the transaction (unchanged if no mutation occurred).
- `responses` — ordered list of operation responses from the executed branch.

# `response`

```elixir
@type response() ::
  {:get, term(), %{kvs: [Concord.KV.Record.t()], count: non_neg_integer()}}
  | {:put, binary(), %{prev_kv: Concord.KV.Record.t() | nil}}
  | {:delete, term(),
     %{deleted: non_neg_integer(), prev_kvs: [Concord.KV.Record.t()]}}
  | {:touch, binary(), %{ttl: integer() | :not_found}}
```

# `t`

```elixir
@type t() :: %Concord.Txn.Result{
  responses: [response()],
  revision: non_neg_integer(),
  succeeded: boolean()
}
```

