PublicApi::getStats()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 3
cts 3
cp 1
rs 9.9
c 0
b 0
f 0
cc 2
nc 1
nop 6
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Codenixsv\BitfinexApi\Api;
6
7
use Exception;
8
9
/**
10
 * Class PublicApi
11
 * @package Codenixsv\BitfinexApi\Api
12
 */
13
class PublicApi extends Api
14
{
15
    /**
16
     * @return array
17
     * @throws Exception
18
     */
19 1
    public function getPlatformStatus(): array
20
    {
21 1
        return $this->get('/platform/status');
22
    }
23
24
    /**
25
     * @param string $symbols
26
     * @return array
27
     * @throws Exception
28
     */
29 1
    public function getTickers(string $symbols): array
30
    {
31 1
        $params = ['symbols' => $symbols];
32
33 1
        return $this->get('/tickers', $params);
34
    }
35
36
    /**
37
     * @param string $symbol
38
     * @return array
39
     * @throws Exception
40
     */
41 1
    public function getTicker(string $symbol): array
42
    {
43 1
        return $this->get('/ticker/' . $symbol);
44
    }
45
46
    /**
47
     * @param string $symbol
48
     * @param array $params
49
     * @return array
50
     * @throws Exception
51
     */
52 1
    public function getTrades(string $symbol, array $params = []): array
53
    {
54 1
        return $this->get('/trades/' . $symbol . '/hist', $params);
55
    }
56
57
    /**
58
     * @param string $symbol
59
     * @param string $precision
60
     * @param array $params
61
     * @return array
62
     * @throws Exception
63
     */
64 1
    public function getBook(string $symbol, $precision = 'P0', array $params = []): array
65
    {
66 1
        return $this->get('/book/' . $symbol . '/' . $precision, $params);
67
    }
68
69
    /**
70
     * @param string $key
71
     * @param string $size
72
     * @param string $symbol
73
     * @param string $section
74
     * @param string|null $side
75
     * @param array $params
76
     * @return array
77
     * @throws Exception
78
     */
79 1
    public function getStats(
80
        string $key,
81
        string $size,
82
        string $symbol,
83
        string $section,
84
        ?string $side = null,
85
        array $params = []
86
    ): array {
87 1
        return $this->get('/stats1/' . $key . ':' . $size . ':' . $symbol . (is_null($side) ? '' : ':' . $side)
88 1
            . '/' . $section, $params);
89
    }
90
91
    /**
92
     * @param string $timeFrame
93
     * @param string $symbol
94
     * @param string $section
95
     * @param string|null $period
96
     * @param array $params
97
     * @return array
98
     * @throws Exception
99
     */
100 1
    public function getCandles(
101
        string $timeFrame,
102
        string $symbol,
103
        string $section,
104
        ?string $period = null,
105
        array $params = []
106
    ): array {
107 1
        return $this->get('/candles/trade:' . $timeFrame . ':' . $symbol . (is_null($period) ? '' : ':' . $period)
108 1
            . '/' . $section, $params);
109
    }
110
111
    /**
112
     * @param string $action
113
     * @param string $object
114
     * @param string|null $detail
115
     * @return array
116
     * @throws Exception
117
     */
118 1
    public function getConfigs(string $action, string $object, ?string $detail = null): array
119
    {
120 1
        return $this->get('/conf/pub:' . $action . ':' . $object . (is_null($detail) ? '' : ':' . $detail));
121
    }
122
123
    /**
124
     * @param string $type
125
     * @param array $params
126
     * @return array
127
     * @throws Exception
128
     */
129 1
    public function getStatus(string $type, array $params = []): array
130
    {
131 1
        return $this->get('/status/' . $type, $params);
132
    }
133
134
    /**
135
     * @param array $params
136
     * @return array
137
     * @throws Exception
138
     */
139 1
    public function getLiquidationFeed(array $params = []): array
140
    {
141 1
        return $this->get('/liquidations/hist', $params);
142
    }
143
144
    /**
145
     * @param string $key
146
     * @param string $timeFrame
147
     * @param string $symbol
148
     * @param string $section
149
     * @param array $params
150
     * @return array
151
     * @throws Exception
152
     */
153 1
    public function getLeaderboards(
154
        string $key,
155
        string $timeFrame,
156
        string $symbol,
157
        string $section,
158
        array $params = []
159
    ): array {
160 1
        return $this->get('/rankings/' . $key . ':' . $timeFrame . ':' . $symbol . '/' . $section, $params);
161
    }
162
}
163