Skip to content

Commit

Permalink
add: asset_platforms endpoint (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
JulianToledano authored Nov 18, 2023
1 parent 8480039 commit 8e31b83
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 20 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ Coingecko API client for golang.
| /simple/price || SimplePrice |
| /simple/token_price/{id} || SimpleTokenPrice |
| /simple/supported_vs_currencies || SimpleSupportedVsCurrency |
| /coins/list || CoinsList |
| /coins/list || CoinsList |
| /coins/markets || CoinsMarket |
| /coins/{id} || CoinsId |
| /coins/{id}/tickers || CoinsIdTickers |
| /coins/{id} || CoinsId |
| /coins/{id}/tickers || CoinsIdTickers |
| /coins/{id}/history || CoinsIdHistory |
| /coins/{id}/market_chart || CoinsIdMarketChart |
| /coins/{id}/market_chart/range || CoinsIdMarketChartRange |
| /coins/{id}/ohlc || CoinsOhlc |
| /coins/{id}/contract/{contract_address} || ContractInfo |
| /coins/{id}/contract/{contract_address} || ContractInfo |
| /coins/{id}/contract/{contract_address}/market_chart/ || ContractMarketChart |
| /coins/{id}/contract/{contract_address}/market_chart/range || ContractMarketChartRange |
| /asset_platforms || |
| /asset_platforms || AssetPlatforms |
| /coins/categories/list || |
| /coins/categories/ || |
| /exchanges || |
Expand Down
28 changes: 28 additions & 0 deletions assetPlatforms.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package goingecko

import (
"encoding/json"
"fmt"
"github.com/JulianToledano/goingecko/assetPlatforms"
"net/url"
)

func (c *Client) AssetPlatforms(filter string) (*assetPlatforms.AssetPlatforms, error) {
params := url.Values{}

if filter != "" {
params.Add("filter", filter)
}

rUrl := fmt.Sprintf("%s?%s", assetPlatformsURL, params.Encode())
resp, err := c.MakeReq(rUrl)
if err != nil {
return nil, err
}
var data *assetPlatforms.AssetPlatforms
err = json.Unmarshal(resp, &data)
if err != nil {
return nil, err
}
return data, nil
}
11 changes: 11 additions & 0 deletions assetPlatforms/assetPlatforms.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package assetPlatforms

type AssetPlatforms []Asset

type Asset struct {
ID string `json:"id"`
ChainIdentifier int64 `json:"chain_identifier"`
Name string `json:"name"`
ShortName string `json:"shortName"`
NativeCoinId string `json:"native_coin_id"`
}
25 changes: 10 additions & 15 deletions endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,14 @@ package goingecko
import "fmt"

var (
version = "v3"
baseURL = fmt.Sprintf("https://api.coingecko.com/api/%s", version)
pingURL = fmt.Sprintf("%s/ping", baseURL)
simpleURL = fmt.Sprintf("%s/simple", baseURL)
coinsURL = fmt.Sprintf("%s/coins", baseURL)
contractURL = fmt.Sprintf("%s/coins", baseURL)
exchangesURL = fmt.Sprintf("%s/exchanges", baseURL)
financeURL = fmt.Sprintf("%s/finance", baseURL)
indexesURL = fmt.Sprintf("%s/indexes", baseURL)
derivativesURL = fmt.Sprintf("%s/derivatices", baseURL)
statusUpdatesURL = fmt.Sprintf("%s/status_updates", baseURL)
eventsURL = fmt.Sprintf("%s/events", baseURL)
exchangeRatesURL = fmt.Sprintf("%s/exchange_rates", baseURL)
trendingURL = fmt.Sprintf("%s/search/trending", baseURL)
globalURL = fmt.Sprintf("%s/global", baseURL)
version = "v3"
baseURL = fmt.Sprintf("https://api.coingecko.com/api/%s", version)
pingURL = fmt.Sprintf("%s/ping", baseURL)
simpleURL = fmt.Sprintf("%s/simple", baseURL)
coinsURL = fmt.Sprintf("%s/coins", baseURL)
assetPlatformsURL = fmt.Sprintf("%s/asset_platforms", baseURL)
contractURL = fmt.Sprintf("%s/coins", baseURL)
exchangeRatesURL = fmt.Sprintf("%s/exchange_rates", baseURL)
trendingURL = fmt.Sprintf("%s/search/trending", baseURL)
globalURL = fmt.Sprintf("%s/global", baseURL)
)
19 changes: 19 additions & 0 deletions test/assetPlatforms_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package test

import (
"github.com/JulianToledano/goingecko"
"testing"
)

func TestAssetPlatforms(t *testing.T) {

cgClient := goingecko.NewClient(nil)

assetData, err := cgClient.AssetPlatforms("")
if assetData == nil {
t.Errorf("Error")
}
if err != nil {
t.Errorf("Error: %s", err)
}
}

0 comments on commit 8e31b83

Please sign in to comment.