SoftBank.ExchangeRates.CoinMarketCap (soft_bank v1.0.0) View Source

Implements the Money.ExchangeRates for CoinMarketCap Rates service.

Required configuration:

The configuration key :coin_market_cap_key should be set to your app_id. for example:

config :soft_bank,
  coin_market_cap_key: "your_key"

or configure it via environment variable:

config :soft_bank,
  coin_market_cap_key: {:system, "coin_market_cap_key"}

It is also possible to configure an alternative base url for this service in case it changes in the future. For example:

config :soft_bank,
  coin_market_cap_key: "your_key"
  coin_market_cap_url: "https://pro-api.coinmarketcap.com"

Link to this section Summary

Functions

Retrieves the historic exchange rates from CoinMarketCap.

Retrieves the latest exchange rates from CoinMarketCap site.

Update the retriever configuration to include the requirements for CoinMarketCap Rates. This function is invoked when the exchange rate service starts up, just after the ets table :exchange_rates is created.

Link to this section Functions

Callback implementation for Money.ExchangeRates.decode_rates/1.

Link to this function

get_historic_rates(date, config)

View Source

Retrieves the historic exchange rates from CoinMarketCap.

  • date is a date returned by Date.new/3 or any struct with the elements :year, :month and :day.

  • config is the retrieval configuration. When invoked from the exchange rates services this will be the config returned from Money.ExchangeRates.config/0

Returns:

  • {:ok, rates} if the rates can be retrieved

  • {:error, reason} if rates cannot be retrieved

Typically this function is called by the exchange rates retrieval service although it can be called outside that context as required.

Link to this function

get_latest_rates(config)

View Source

Specs

get_latest_rates(Money.ExchangeRates.Config.t()) ::
  {:ok, map()} | {:error, String.t()}

Retrieves the latest exchange rates from CoinMarketCap site.

  • config is the retrieval configuration. When invoked from the exchange rates services this will be the config returned from Money.ExchangeRates.config/0

Returns:

  • {:ok, rates} if the rates can be retrieved

  • {:error, reason} if rates cannot be retrieved

Typically this function is called by the exchange rates retrieval service although it can be called outside that context as required.

Update the retriever configuration to include the requirements for CoinMarketCap Rates. This function is invoked when the exchange rate service starts up, just after the ets table :exchange_rates is created.

Returns the configuration either unchanged or updated with additional configuration specific to this exchange rates retrieval module.