forked from bitfinexcom/bitfinex-api-go
/
pairs.go
50 lines (41 loc) · 1.03 KB
/
pairs.go
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
package bitfinex
type PairsService struct {
client *Client
}
// Get all Pair names as array of strings
func (p *PairsService) All() ([]string, error) {
req, err := p.client.newRequest("GET", "symbols", nil)
if err != nil {
return nil, err
}
var v []string
_, err = p.client.do(req, &v)
if err != nil {
return nil, err
}
return v, nil
}
// Detailed Pair
type Pair struct {
Pair string
PricePrecision int `json:"price_precision,int"`
InitialMargin float64 `json:"initial_margin,string"`
MinimumMargin float64 `json:"minimum_margin,string"`
MaximumOrderSize float64 `json:"maximum_order_size,string"`
MinimumOrderSize float64 `json:"minimum_order_size,string"`
Expiration string
Margin bool
}
// Return a list of detailed pairs
func (p *PairsService) AllDetailed() ([]Pair, error) {
req, err := p.client.newRequest("GET", "symbols_details", nil)
if err != nil {
return nil, err
}
var v []Pair
_, err = p.client.do(req, &v)
if err != nil {
return nil, err
}
return v, nil
}