-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathasset_platforms.go
More file actions
56 lines (43 loc) · 1.24 KB
/
Copy pathasset_platforms.go
File metadata and controls
56 lines (43 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package coingecko
import "encoding/json"
type AssetPlatformsAPI struct {
client *Client
}
type AssetPlatform struct {
ID string `json:"id"`
ChainIdentifier *int `json:"chain_identifier,omitempty"`
Name string `json:"name"`
Shortname string `json:"shortname"`
NativeCoinID string `json:"native_coin_id,omitempty"`
ImageURL *string `json:"image,omitempty"`
}
func (a *AssetPlatformsAPI) List(filter *string) ([]AssetPlatform, error) {
params := map[string]string{}
if filter != nil {
params["filter"] = *filter
}
data, err := a.client.get("/asset_platforms", params)
if err != nil {
return nil, err
}
var result []AssetPlatform
if err := json.Unmarshal(data, &result); err != nil {
return nil, err
}
return result, nil
}
func (a *AssetPlatformsAPI) TokenLists(assetPlatformID string, page *int) (map[string]interface{}, error) {
params := map[string]string{}
if page != nil {
params["page"] = intToString(*page)
}
data, err := a.client.get("/token_lists/"+assetPlatformID+"/all.json", params)
if err != nil {
return nil, err
}
var result map[string]interface{}
if err := json.Unmarshal(data, &result); err != nil {
return nil, err
}
return result, nil
}