Packages
stellar_sdk
0.18.0
0.23.0
0.22.0
0.21.2
0.21.1
0.21.0
0.20.0
0.19.0
0.18.1
0.18.0
0.17.1
0.17.0
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Elixir SDK for the Stellar network.
Current section
Files
Jump to
Current section
Files
lib/horizon/effects.ex
defmodule Stellar.Horizon.Effects do
@moduledoc """
Exposes functions to interact with Effects in Horizon.
You can:
* List all effects.
Horizon API reference: https://developers.stellar.org/api/resources/effects/
"""
alias Stellar.Horizon.{Collection, Effect, Error, Request}
@type options :: Keyword.t()
@type resource :: Effect.t() | Collection.t()
@type response :: {:ok, resource()} | {:error, Error.t()}
@endpoint "effects"
@doc """
Lists all effects.
## Options
* `cursor`: A number that points to a specific location in a collection of responses and is pulled from the `paging_token` value of a record.
* `order`: A designation of the order in which records should appear. Options include `asc` (ascending) or `desc` (descending).
* `limit`: The maximum number of records returned. The limit can range from 1 to 200. Defaults to 10.
## Examples
iex> Effects.all(limit: 10, order: :asc)
{:ok, %Collection{records: [%Effect{}, ...]}}
"""
@spec all(options :: options()) :: response()
def all(options \\ []) do
:get
|> Request.new(@endpoint)
|> Request.add_query(options)
|> Request.perform()
|> Request.results(collection: {Effect, &all/1})
end
end