Packages

Coincheck client library for elixir

Current section

Files

Jump to
elixir_coincheck_client lib elixir_coincheck api base.ex
Raw

lib/elixir_coincheck/api/base.ex

defmodule ElixirCoincheckClient.API.Base do
def domain(), do: "https://coincheck.com/api"
def headers(url, body \\ "") do
nonce = nonce()
message = nonce <> url <> body
[
"ACCESS-KEY": public_key(),
"ACCESS-NONCE": nonce,
"ACCESS-SIGNATURE": signature(message),
"Content-Type": "application/json"
]
end
defp signature(message), do: :crypto.hmac(:sha256, private_key(), message ) |> Base.encode16(case: :lower)
defp nonce(), do: DateTime.utc_now() |> DateTime.to_unix(:microsecond) |> Integer.to_string()
defp public_key(), do: Application.get_env( :elixir_coincheck_client, :public_key)
defp private_key(), do: Application.get_env( :elixir_coincheck_client, :private_key)
end