lib/rpc/responses/simulate_transaction_response.ex

defmodule Soroban.RPC.SimulateTransactionResponse do
  @moduledoc """
  `SimulateTransactionResponse` struct definition.
  """
  @behaviour Soroban.RPC.Response.Spec

  @type results :: list(map())
  @type cost :: map()
  @type latest_ledger :: String.t()
  @type error :: String.t() | nil
  @type t :: %__MODULE__{
          results: results(),
          cost: cost(),
          latest_ledger: latest_ledger(),
          error: error()
        }
  defstruct [:results, :cost, :latest_ledger, :error]

  @impl true
  def new(attrs), do: struct(%__MODULE__{}, attrs)
end