defmodule HeliumElixir.Accounts do
@moduledoc """
Documentation for HeliumElixir.
"""
alias HeliumElixir
alias HeliumElixir.BlockchainApi
alias HeliumElixir.BlockchainApi.TakeMinConfig
alias HeliumElixir.RequestConfig
def account(%RequestConfig{} = config, address) do
HeliumElixir.append_path(config, "/accounts/#{address}")
|> BlockchainApi.get_json()
end
def account_activity(%RequestConfig{} = config, %{
address: address,
cursor: cursor,
count: count
}) do
HeliumElixir.append_path(config, "/accounts/#{address}/activity")
|> BlockchainApi.take_min(%TakeMinConfig{
cursor: cursor,
min_count: count
})
end
def rewards_sum(%RequestConfig{} = config, %{
address: address,
min_time: min_time,
max_time: max_time
}) do
HeliumElixir.append_path(config, "/accounts/#{address}/rewards/sum")
|> BlockchainApi.get_json(%{
min_time: min_time,
max_time: max_time
})
end
def roles(%RequestConfig{} = config, %{
address: address,
cursor: cursor,
count: count
}) do
HeliumElixir.append_path(config, "/accounts/#{address}/roles")
|> BlockchainApi.take_min(%TakeMinConfig{
cursor: cursor,
min_count: count
})
end
end