mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-01 07:26:48 +00:00
codebase: Cleanup various things (#1935)
* codebase: Rid base64/hex to string common funcs * codebase: Rid local scope variable usage and other improvements * codebase: Refactor currency pair usage across multiple exchanges - Updated HitBTC tests to use the new currency pair format. - Modified Kraken futures types to use currency.Pair instead of string for Symbol. - Adjusted Kraken wrapper methods to handle currency pairs correctly. - Refined OKX tests and types to utilize currency.Pair for instrument IDs. - Enhanced Poloniex tests to consistently use predefined currency pairs. - Streamlined order and orderbook tests to replace string pairs with currency.NewBTCUSD(). - Improved Yobit tests to utilize a standardized currency pair format. - Updated validator wrapper to use currency pairs directly instead of string conversions. * codebase: Use types.Number where possible * refactor: update PayoutFee type to types.Number for consistency * Refactor: Remove crypto functions to use standard library and other minor changes - Removed custom crypto functions for SHA256, SHA512, and MD5 from the common/crypto package. - Replaced usages of removed functions with standard library implementations in various files including: - cmd/websocket_client/main.go - engine/apiserver.go - exchanges/kraken/kraken.go - exchanges/lbank/lbank.go - exchanges/okx/okx_business_websocket.go - exchanges/kucoin/kucoin_websocket.go - gctscript/vm/vm.go - Updated tests to reflect changes in the crypto functions. - Renamed several functions for clarity, particularly in the context of order book updates across multiple exchanges. * refactor: replace assert with require for consistency in test assertions * refactor: Improve Binance futures candlestick test, standardise orderbook update function names and improve test parallelism * refactor: Replace require.Len with require.Equal for better output in TestGetFuturesKlineData
This commit is contained in:
@@ -2,6 +2,7 @@ package deribit
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
@@ -2206,22 +2207,20 @@ func (d *Deribit) SendHTTPAuthRequest(ctx context.Context, ep exchange.URL, epl
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reqDataStr := method + "\n" + deribitAPIVersion + "/" + common.EncodeURLValues(path, params) + "\n" + "\n"
|
||||
n := d.Requester.GetNonce(nonce.UnixNano).String()
|
||||
strTS := strconv.FormatInt(time.Now().UnixMilli(), 10)
|
||||
str2Sign := strTS + "\n" + n + "\n" + reqDataStr
|
||||
creds, err := d.GetCredentials(ctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%w, %v", request.ErrAuthRequestFailed, err)
|
||||
}
|
||||
hmac, err := crypto.GetHMAC(crypto.HashSHA256,
|
||||
[]byte(str2Sign),
|
||||
[]byte(creds.Secret))
|
||||
req := method + "\n" + deribitAPIVersion + "/" + common.EncodeURLValues(path, params) + "\n\n"
|
||||
n := d.Requester.GetNonce(nonce.UnixNano).String()
|
||||
ts := strconv.FormatInt(time.Now().UnixMilli(), 10)
|
||||
tsReq := []byte(ts + "\n" + n + "\n" + req)
|
||||
hmac, err := crypto.GetHMAC(crypto.HashSHA256, tsReq, []byte(creds.Secret))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
headers := make(map[string]string)
|
||||
headerString := "deri-hmac-sha256 id=" + creds.Key + ",ts=" + strTS + ",sig=" + crypto.HexEncodeToString(hmac) + ",nonce=" + n
|
||||
headerString := "deri-hmac-sha256 id=" + creds.Key + ",ts=" + ts + ",sig=" + hex.EncodeToString(hmac) + ",nonce=" + n
|
||||
headers["Authorization"] = headerString
|
||||
headers["Content-Type"] = "application/json"
|
||||
var tempData struct {
|
||||
|
||||
@@ -2,6 +2,7 @@ package deribit
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
@@ -155,9 +156,7 @@ func (d *Deribit) wsLogin(ctx context.Context) error {
|
||||
n := d.Requester.GetNonce(nonce.UnixNano).String()
|
||||
strTS := strconv.FormatInt(time.Now().UnixMilli(), 10)
|
||||
str2Sign := strTS + "\n" + n + "\n"
|
||||
hmac, err := crypto.GetHMAC(crypto.HashSHA256,
|
||||
[]byte(str2Sign),
|
||||
[]byte(creds.Secret))
|
||||
hmac, err := crypto.GetHMAC(crypto.HashSHA256, []byte(str2Sign), []byte(creds.Secret))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -171,7 +170,7 @@ func (d *Deribit) wsLogin(ctx context.Context) error {
|
||||
"client_id": creds.Key,
|
||||
"timestamp": strTS,
|
||||
"nonce": n,
|
||||
"signature": crypto.HexEncodeToString(hmac),
|
||||
"signature": hex.EncodeToString(hmac),
|
||||
},
|
||||
}
|
||||
resp, err := d.Websocket.Conn.SendMessageReturnResponse(context.TODO(), request.Unset, req.ID, req)
|
||||
|
||||
Reference in New Issue
Block a user