mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
build/ci: Update Go to v1.24, golangci-lint to v1.64.6 and fix issues (#1804)
* build/ci: Update Go to v1.24, golangci-lint to v1.64.5 and fix issues * Address shazbert's nitters * linter/config: Fix new linter issue and use versionSize const * Address gk's nitters and fix additional linter issue after rebase * Address glorious nits * staticcheck: Fix additional linter issues after upgrading to Go 1.24.1 and golangci-lint v1.64.6 Also addresses nits * Improve testing, assertify usage and use common.ErrParsingWSField * TestCreateNewStrategy: Replace must > should wording
This commit is contained in:
@@ -211,11 +211,11 @@ func (s *GRPCServer) ExecuteStrategyFromFile(_ context.Context, request *btrpc.E
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if io64 := int64(request.IntervalOverride); io64 > 0 {
|
||||
if io64 < gctkline.FifteenSecond.Duration().Nanoseconds() {
|
||||
return nil, fmt.Errorf("%w, interval must be >= 15 seconds, received '%v'", gctkline.ErrInvalidInterval, time.Duration(request.IntervalOverride))
|
||||
if io := request.IntervalOverride.AsDuration(); io > 0 {
|
||||
if io < gctkline.FifteenSecond.Duration() {
|
||||
return nil, fmt.Errorf("%w, interval must be >= 15 seconds, received '%v'", gctkline.ErrInvalidInterval, io)
|
||||
}
|
||||
cfg.DataSettings.Interval = gctkline.Interval(request.IntervalOverride)
|
||||
cfg.DataSettings.Interval = gctkline.Interval(io)
|
||||
}
|
||||
|
||||
if startTime := request.StartTimeOverride.AsTime(); startTime.Unix() != 0 && !startTime.IsZero() {
|
||||
@@ -528,7 +528,7 @@ func (s *GRPCServer) ExecuteStrategyFromConfig(_ context.Context, request *btrpc
|
||||
Driver: request.Config.DataSettings.DatabaseData.Config.Driver,
|
||||
ConnectionDetails: drivers.ConnectionDetails{
|
||||
Host: request.Config.DataSettings.DatabaseData.Config.Config.Host,
|
||||
Port: uint16(request.Config.DataSettings.DatabaseData.Config.Config.Port),
|
||||
Port: request.Config.DataSettings.DatabaseData.Config.Config.Port,
|
||||
Username: request.Config.DataSettings.DatabaseData.Config.Config.UserName,
|
||||
Password: request.Config.DataSettings.DatabaseData.Config.Config.Password,
|
||||
Database: request.Config.DataSettings.DatabaseData.Config.Config.Database,
|
||||
@@ -591,7 +591,7 @@ func (s *GRPCServer) ExecuteStrategyFromConfig(_ context.Context, request *btrpc
|
||||
},
|
||||
CurrencySettings: configSettings,
|
||||
DataSettings: config.DataSettings{
|
||||
Interval: gctkline.Interval(request.Config.DataSettings.Interval),
|
||||
Interval: gctkline.Interval(request.Config.DataSettings.Interval.AsDuration()),
|
||||
DataType: request.Config.DataSettings.Datatype,
|
||||
APIData: apiData,
|
||||
DatabaseData: dbData,
|
||||
|
||||
@@ -17,6 +17,7 @@ import (
|
||||
"github.com/thrasher-corp/gocryptotrader/backtester/eventhandlers/strategies/binancecashandcarry"
|
||||
gctcommon "github.com/thrasher-corp/gocryptotrader/common"
|
||||
gctkline "github.com/thrasher-corp/gocryptotrader/exchanges/kline"
|
||||
"google.golang.org/protobuf/types/known/durationpb"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
@@ -80,7 +81,7 @@ func TestExecuteStrategyFromFile(t *testing.T) {
|
||||
StrategyFilePath: dcaConfigPath,
|
||||
StartTimeOverride: timestamppb.New(time.Now().Add(-time.Minute)),
|
||||
EndTimeOverride: timestamppb.New(time.Now()),
|
||||
IntervalOverride: 1,
|
||||
IntervalOverride: durationpb.New(time.Duration(1)),
|
||||
})
|
||||
if !errors.Is(err, gctkline.ErrInvalidInterval) {
|
||||
t.Errorf("received '%v' expecting '%v'", err, gctkline.ErrInvalidInterval)
|
||||
@@ -90,7 +91,7 @@ func TestExecuteStrategyFromFile(t *testing.T) {
|
||||
StrategyFilePath: dcaConfigPath,
|
||||
StartTimeOverride: timestamppb.New(time.Now().Add(-time.Hour * 6).Truncate(time.Hour)),
|
||||
EndTimeOverride: timestamppb.New(time.Now().Add(-time.Hour * 2).Truncate(time.Hour)),
|
||||
IntervalOverride: uint64(time.Hour.Nanoseconds()),
|
||||
IntervalOverride: durationpb.New(time.Hour),
|
||||
})
|
||||
if !errors.Is(err, nil) {
|
||||
t.Errorf("received '%v' expecting '%v'", err, nil)
|
||||
@@ -218,7 +219,7 @@ func TestExecuteStrategyFromConfig(t *testing.T) {
|
||||
}
|
||||
|
||||
dataSettings := &btrpc.DataSettings{
|
||||
Interval: uint64(defaultConfig.DataSettings.Interval.Duration().Nanoseconds()),
|
||||
Interval: durationpb.New(defaultConfig.DataSettings.Interval.Duration()),
|
||||
Datatype: defaultConfig.DataSettings.DataType,
|
||||
}
|
||||
if defaultConfig.DataSettings.APIData != nil {
|
||||
@@ -256,7 +257,7 @@ func TestExecuteStrategyFromConfig(t *testing.T) {
|
||||
if defaultConfig.DataSettings.DatabaseData != nil {
|
||||
dbConnectionDetails := &btrpc.DatabaseConnectionDetails{
|
||||
Host: defaultConfig.DataSettings.DatabaseData.Config.Host,
|
||||
Port: uint32(defaultConfig.DataSettings.DatabaseData.Config.Port),
|
||||
Port: defaultConfig.DataSettings.DatabaseData.Config.Port,
|
||||
Password: defaultConfig.DataSettings.DatabaseData.Config.Password,
|
||||
Database: defaultConfig.DataSettings.DatabaseData.Config.Database,
|
||||
SslMode: defaultConfig.DataSettings.DatabaseData.Config.SSLMode,
|
||||
|
||||
@@ -820,19 +820,12 @@ func (bt *BackTest) loadData(cfg *config.Config, exch gctexchange.IBotExchange,
|
||||
cfg.DataSettings.APIData.EndDate = cfg.DataSettings.APIData.EndDate.Add(cfg.DataSettings.Interval.Duration())
|
||||
}
|
||||
|
||||
var limit int64
|
||||
limit, err = b.Features.Enabled.Kline.GetIntervalResultLimit(cfg.DataSettings.Interval)
|
||||
limit, err := b.Features.Enabled.Kline.GetIntervalResultLimit(cfg.DataSettings.Interval)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp, err = loadAPIData(
|
||||
cfg,
|
||||
exch,
|
||||
fPair,
|
||||
a,
|
||||
uint32(limit),
|
||||
dataType)
|
||||
resp, err = loadAPIData(cfg, exch, fPair, a, limit, dataType)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
@@ -894,7 +887,7 @@ func loadDatabaseData(cfg *config.Config, name string, fPair currency.Pair, a as
|
||||
isUSDTrackingPair)
|
||||
}
|
||||
|
||||
func loadAPIData(cfg *config.Config, exch gctexchange.IBotExchange, fPair currency.Pair, a asset.Item, resultLimit uint32, dataType int64) (*kline.DataFromKline, error) {
|
||||
func loadAPIData(cfg *config.Config, exch gctexchange.IBotExchange, fPair currency.Pair, a asset.Item, resultLimit uint64, dataType int64) (*kline.DataFromKline, error) {
|
||||
if cfg.DataSettings.Interval <= 0 {
|
||||
return nil, errIntervalUnset
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user