@@ -6,17 +6,21 @@ import (
66 "crypto/hmac"
77 "crypto/sha256"
88 "encoding/hex"
9- "encoding/json"
109 "fmt"
11- "github.com/wuhewuhe/bybit.go.api/handlers"
1210 "io"
1311 "log"
1412 "net/http"
1513 "os"
1614 "strconv"
1715 "time"
16+
17+ "github.com/bitly/go-simplejson"
18+ jsoniter "github.com/json-iterator/go"
19+ "github.com/wuhewuhe/bybit.go.api/handlers"
1820)
1921
22+ var json = jsoniter .ConfigCompatibleWithStandardLibrary
23+
2024type ServerResponse struct {
2125 RetCode int `json:"retCode"`
2226 RetMsg string `json:"retMsg"`
@@ -77,6 +81,14 @@ func GetCurrentTime() int64 {
7781 return timeStamp
7882}
7983
84+ func newJSON (data []byte ) (j * simplejson.Json , err error ) {
85+ j , err = simplejson .NewJson (data )
86+ if err != nil {
87+ return nil , err
88+ }
89+ return j , nil
90+ }
91+
8092// NewBybitHttpClient NewClient Create client function for initialising new Bybit client
8193func NewBybitHttpClient (apiKey string , APISecret string , options ... ClientOption ) * Client {
8294 c := & Client {
@@ -152,6 +164,9 @@ func (c *Client) parseRequest(r *request, opts ...RequestOption) (err error) {
152164
153165func (c * Client ) callAPI (ctx context.Context , r * request , opts ... RequestOption ) (data []byte , err error ) {
154166 err = c .parseRequest (r , opts ... )
167+ if err != nil {
168+ return nil , err
169+ }
155170 req , err := http .NewRequest (r .method , r .fullURL , r .body )
156171 if err != nil {
157172 return []byte {}, err
@@ -196,36 +211,79 @@ func (c *Client) callAPI(ctx context.Context, r *request, opts ...RequestOption)
196211 return data , nil
197212}
198213
199- // NewMarketKlineService Market Endpoints
200- func (c * Client ) NewMarketKlineService (klineType , category , symbol , interval string ) * Klines {
201- return & Klines {
202- c : c ,
203- category : category ,
204- symbol : symbol ,
205- interval : interval ,
206- klineType : klineType ,
207- }
214+ func (c * Client ) NewInstrumentsInfoService () * InstrumentsInfoService {
215+ return & InstrumentsInfoService {c : c }
208216}
209217
210- func (c * Client ) NewMarketKLinesService (klineType string , params map [string ]interface {}) * MarketClient {
211- return & MarketClient {
212- c : c ,
213- klineType : klineType ,
214- params : params ,
215- }
218+ // NewMarketKlineService Market Kline Endpoints
219+ func (c * Client ) NewMarketKlineService () * MarketKlinesService {
220+ return & MarketKlinesService {c : c }
216221}
217222
218- func (c * Client ) NewMarketInfoServiceNoParams () * MarketClient {
219- return & MarketClient {
220- c : c ,
221- }
223+ // NewMarketMarkPriceKlineService Market Mark Price Kline Endpoints
224+ func (c * Client ) NewMarketMarkPriceKlineService () * MarketMarkPriceKlineService {
225+ return & MarketMarkPriceKlineService {c : c }
222226}
223227
224- func (c * Client ) NewMarketInfoService (params map [string ]interface {}) * MarketClient {
225- return & MarketClient {
226- c : c ,
227- params : params ,
228- }
228+ // NewMarketIndexPriceKlineService Market Index Price Kline Endpoints
229+ func (c * Client ) NewMarketIndexPriceKlineService () * MarketIndexPriceKlineService {
230+ return & MarketIndexPriceKlineService {c : c }
231+ }
232+
233+ // NewMarketPremiumIndexPriceKlineService Market Premium Index Price Kline Endpoints
234+ func (c * Client ) NewMarketPremiumIndexPriceKlineService () * MarketPremiumIndexPriceKlineService {
235+ return & MarketPremiumIndexPriceKlineService {c : c }
236+ }
237+
238+ func (c * Client ) NewOrderBookService () * MarketOrderBookService {
239+ return & MarketOrderBookService {c : c }
240+ }
241+
242+ func (c * Client ) NewTickersService () * MarketTickersService {
243+ return & MarketTickersService {c : c }
244+ }
245+
246+ func (c * Client ) NewFundingTatesService () * MarketFundingRatesService {
247+ return & MarketFundingRatesService {c : c }
248+ }
249+
250+ func (c * Client ) NewGetPublicRecentTradesService () * GetPublicRecentTradesService {
251+ return & GetPublicRecentTradesService {c : c }
252+ }
253+
254+ // GetOpenInterestsServicdde
255+ func (c * Client ) NewGetOpenInterestsService () * GetOpenInterestsService {
256+ return & GetOpenInterestsService {c : c }
257+ }
258+
259+ // GetHistoricalVolatilityService
260+ func (c * Client ) NewGetHistoricalVolatilityService () * GetHistoricalVolatilityService {
261+ return & GetHistoricalVolatilityService {c : c }
262+ }
263+
264+ // GetInsuranceInfoService
265+ func (c * Client ) NewGetInsuranceInfoService () * GetInsuranceInfoService {
266+ return & GetInsuranceInfoService {c : c }
267+ }
268+
269+ // GetRiskLimitService
270+ func (c * Client ) NewGetRiskLimitService () * GetRiskLimitService {
271+ return & GetRiskLimitService {c : c }
272+ }
273+
274+ // GetDeliveryPriceService
275+ func (c * Client ) NewGetDeliveryPriceService () * GetDeliveryPriceService {
276+ return & GetDeliveryPriceService {c : c }
277+ }
278+
279+ // GetMarketLSRatioService
280+ func (c * Client ) NewGetMarketLSRatioService () * GetMarketLSRatioService {
281+ return & GetMarketLSRatioService {c : c }
282+ }
283+
284+ // GetServerTimeService
285+ func (c * Client ) NewGetServerTimeService () * GetServerTimeService {
286+ return & GetServerTimeService {c : c }
229287}
230288
231289// NewPlaceOrderService Trade Endpoints
0 commit comments