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:
Adrian Gallagher
2025-06-12 14:12:36 +10:00
committed by GitHub
parent ce134a0a1d
commit d5ba674fc4
115 changed files with 1327 additions and 3112 deletions

View File

@@ -142,7 +142,7 @@ func TestDataTypeConversion(t *testing.T) {
func TestFitStringToLimit(t *testing.T) {
t.Parallel()
for _, ti := range []struct {
for _, tc := range []struct {
str string
sep string
limit int
@@ -187,13 +187,9 @@ func TestFitStringToLimit(t *testing.T) {
expected: "h",
},
} {
test := ti
t.Run(test.str, func(t *testing.T) {
t.Run(tc.str, func(t *testing.T) {
t.Parallel()
result := FitStringToLimit(test.str, test.sep, test.limit, test.upper)
if result != test.expected {
t.Errorf("received '%v' expected '%v'", result, test.expected)
}
assert.Equal(t, tc.expected, FitStringToLimit(tc.str, tc.sep, tc.limit, tc.upper))
})
}
}

View File

@@ -2,6 +2,7 @@ package engine
import (
"context"
"encoding/base64"
"errors"
"fmt"
"math"
@@ -18,7 +19,6 @@ import (
"github.com/thrasher-corp/gocryptotrader/backtester/btrpc"
"github.com/thrasher-corp/gocryptotrader/backtester/config"
gctcommon "github.com/thrasher-corp/gocryptotrader/common"
"github.com/thrasher-corp/gocryptotrader/common/crypto"
"github.com/thrasher-corp/gocryptotrader/currency"
"github.com/thrasher-corp/gocryptotrader/database"
"github.com/thrasher-corp/gocryptotrader/database/drivers"
@@ -154,7 +154,7 @@ func (s *GRPCServer) authenticateClient(ctx context.Context) (context.Context, e
return ctx, errors.New("basic not found in authorization header")
}
decoded, err := crypto.Base64Decode(strings.Split(authStr[0], " ")[1])
decoded, err := base64.StdEncoding.DecodeString(strings.Split(authStr[0], " ")[1])
if err != nil {
return ctx, errors.New("unable to base64 decode authorization header")
}
@@ -236,9 +236,6 @@ func (s *GRPCServer) ExecuteStrategyFromFile(_ context.Context, request *btrpc.E
if err := cfg.Validate(); err != nil {
return nil, err
}
if cfg == nil {
return nil, fmt.Errorf("%w backtester config", gctcommon.ErrNilPointer)
}
if !s.config.Report.GenerateReport {
s.config.Report.OutputPath = ""