modernise: Run new gopls modernise tool against the codebase and fix minor issues (#1826)

* modernise: Run new gopls modernise tool against codebase

* Address shazbert's nits

* apichecker, gctcli: Simplify HTML scraping functions and improve depth limit handling

* refactor: Create minSyncInterval const and update order book limit handling for binance and binanceUS

* refactor: Various slice usage improvements and rename TODO

* tranches: Revert deleteByID changes due to performance decrease

Shazbert was a F1 driver in a past lifetime 🏎️

* tranches: Simply retrieve copy

Thanks to shazbert

* documentation: Sort contributors list by contributions

* tranches: Remove deadcode in deleteByID
This commit is contained in:
Adrian Gallagher
2025-03-21 09:17:10 +11:00
committed by GitHub
parent d857d704e3
commit 4651af5767
223 changed files with 1504 additions and 1752 deletions

View File

@@ -207,7 +207,7 @@ func restLogger(inner http.Handler, name string) http.Handler {
}
// writeResponse outputs a JSON response of the response interface
func writeResponse(w http.ResponseWriter, response interface{}) error {
func writeResponse(w http.ResponseWriter, response any) error {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.WriteHeader(http.StatusOK)
return json.NewEncoder(w).Encode(response)
@@ -466,7 +466,7 @@ func (h *websocketHub) run() {
}
// SendWebsocketMessage sends a websocket event to the client
func (c *websocketClient) SendWebsocketMessage(evt interface{}) error {
func (c *websocketClient) SendWebsocketMessage(evt any) error {
data, err := json.Marshal(evt)
if err != nil {
log.Errorf(log.APIServerMgr, "websocket: failed to send message: %s\n", err)
@@ -667,7 +667,7 @@ func (m *apiServerManager) WebsocketClientHandler(w http.ResponseWriter, r *http
go client.write()
}
func wsAuth(client *websocketClient, data interface{}) error {
func wsAuth(client *websocketClient, data any) error {
d, ok := data.([]byte)
if !ok {
return common.GetTypeAssertError("[]byte", data)
@@ -722,7 +722,7 @@ func wsAuth(client *websocketClient, data interface{}) error {
return nil
}
func wsGetConfig(client *websocketClient, _ interface{}) error {
func wsGetConfig(client *websocketClient, _ any) error {
wsResp := WebsocketEventResponse{
Event: "GetConfig",
Data: config.GetConfig(),
@@ -730,7 +730,7 @@ func wsGetConfig(client *websocketClient, _ interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsSaveConfig(client *websocketClient, data interface{}) error {
func wsSaveConfig(client *websocketClient, data any) error {
d, ok := data.([]byte)
if !ok {
return common.GetTypeAssertError("[]byte", data)
@@ -774,7 +774,7 @@ func wsSaveConfig(client *websocketClient, data interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetAccountInfo(client *websocketClient, _ interface{}) error {
func wsGetAccountInfo(client *websocketClient, _ any) error {
accountInfo := getAllActiveAccounts(client.exchangeManager)
wsResp := WebsocketEventResponse{
Event: "GetAccountInfo",
@@ -783,7 +783,7 @@ func wsGetAccountInfo(client *websocketClient, _ interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetTickers(client *websocketClient, _ interface{}) error {
func wsGetTickers(client *websocketClient, _ any) error {
wsResp := WebsocketEventResponse{
Event: "GetTickers",
}
@@ -791,7 +791,7 @@ func wsGetTickers(client *websocketClient, _ interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetTicker(client *websocketClient, data interface{}) error {
func wsGetTicker(client *websocketClient, data any) error {
d, ok := data.([]byte)
if !ok {
return common.GetTypeAssertError("[]byte", data)
@@ -843,7 +843,7 @@ func wsGetTicker(client *websocketClient, data interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetOrderbooks(client *websocketClient, _ interface{}) error {
func wsGetOrderbooks(client *websocketClient, _ any) error {
wsResp := WebsocketEventResponse{
Event: "GetOrderbooks",
}
@@ -851,7 +851,7 @@ func wsGetOrderbooks(client *websocketClient, _ interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetOrderbook(client *websocketClient, data interface{}) error {
func wsGetOrderbook(client *websocketClient, data any) error {
d, ok := data.([]byte)
if !ok {
return common.GetTypeAssertError("[]byte", data)
@@ -897,7 +897,7 @@ func wsGetOrderbook(client *websocketClient, data interface{}) error {
return client.SendWebsocketMessage(WebsocketEventResponse{Event: "GetOrderbook", Data: ob})
}
func wsGetExchangeRates(client *websocketClient, _ interface{}) error {
func wsGetExchangeRates(client *websocketClient, _ any) error {
wsResp := WebsocketEventResponse{
Event: "GetExchangeRates",
}
@@ -911,7 +911,7 @@ func wsGetExchangeRates(client *websocketClient, _ interface{}) error {
return client.SendWebsocketMessage(wsResp)
}
func wsGetPortfolio(client *websocketClient, _ interface{}) error {
func wsGetPortfolio(client *websocketClient, _ any) error {
wsResp := WebsocketEventResponse{
Event: "GetPortfolio",
}

View File

@@ -243,7 +243,7 @@ func TestGetAllActiveAccounts(t *testing.T) {
}
}
func makeHTTPGetRequest(t *testing.T, response interface{}) *http.Response {
func makeHTTPGetRequest(t *testing.T, response any) *http.Response {
t.Helper()
w := httptest.NewRecorder()

View File

@@ -88,14 +88,14 @@ type WebsocketEvent struct {
Exchange string `json:"exchange,omitempty"`
AssetType string `json:"assetType,omitempty"`
Event string
Data interface{}
Data any
}
// WebsocketEventResponse is the struct used for websocket event responses
type WebsocketEventResponse struct {
Event string `json:"event"`
Data interface{} `json:"data"`
Error string `json:"error"`
Event string `json:"event"`
Data any `json:"data"`
Error string `json:"error"`
}
// WebsocketOrderbookTickerRequest is a struct used for ticker and orderbook
@@ -164,5 +164,5 @@ var wsHandlers = map[string]wsCommandHandler{
type wsCommandHandler struct {
authRequired bool
handler func(client *websocketClient, data interface{}) error
handler func(client *websocketClient, data any) error
}

View File

@@ -3,6 +3,8 @@ package engine
import (
"errors"
"fmt"
"maps"
"slices"
"strings"
"sync"
@@ -97,9 +99,9 @@ func (m *DepositAddressManager) GetDepositAddressesByExchange(exchName string) (
return nil, ErrDepositAddressNotFound
}
cpy := make(map[string][]deposit.Address, len(r))
for k, v := range r {
cpy[k] = v
cpy := maps.Clone(r)
for k, v := range cpy {
cpy[k] = slices.Clone(v)
}
return cpy, nil
}

View File

@@ -327,7 +327,7 @@ func TestRegisterWebsocketDataHandler(t *testing.T) {
}
e = &Engine{WebsocketRoutineManager: &WebsocketRoutineManager{}}
err = e.RegisterWebsocketDataHandler(func(_ string, _ interface{}) error { return nil }, false)
err = e.RegisterWebsocketDataHandler(func(_ string, _ any) error { return nil }, false)
if !errors.Is(err, nil) {
t.Fatalf("received: '%v' but expected: '%v'", err, nil)
}

View File

@@ -3,6 +3,7 @@ package engine
import (
"errors"
"fmt"
"slices"
"strings"
"sync/atomic"
"time"
@@ -147,7 +148,7 @@ func (m *eventManager) Remove(eventID int64) bool {
defer m.m.Unlock()
for i := range m.events {
if m.events[i].ID == eventID {
m.events = append(m.events[:i], m.events[i+1:]...)
m.events = slices.Delete(m.events, i, i+1)
return true
}
}

View File

@@ -2542,7 +2542,7 @@ func (s *RPCServer) GCTScriptStatus(_ context.Context, _ *gctrpc.GCTScriptStatus
Status: fmt.Sprintf("%v of %v virtual machines running", gctscript.VMSCount.Len(), s.gctScriptManager.GetMaxVirtualMachines()),
}
gctscript.AllVMSync.Range(func(_, v interface{}) bool {
gctscript.AllVMSync.Range(func(_, v any) bool {
vm, ok := v.(*gctscript.VM)
if !ok {
log.Errorf(log.GRPCSys, "%v", common.GetTypeAssertError("*gctscript.VM", v))

View File

@@ -1216,8 +1216,8 @@ func (d *dummyServer) SetHeader(metadata.MD) error { return nil }
func (d *dummyServer) SendHeader(metadata.MD) error { return nil }
func (d *dummyServer) SetTrailer(metadata.MD) {}
func (d *dummyServer) Context() context.Context { return context.Background() }
func (d *dummyServer) SendMsg(_ interface{}) error { return nil }
func (d *dummyServer) RecvMsg(_ interface{}) error { return nil }
func (d *dummyServer) SendMsg(_ any) error { return nil }
func (d *dummyServer) RecvMsg(_ any) error { return nil }
func TestGetHistoricTrades(t *testing.T) {
engerino := RPCTestSetup(t)

View File

@@ -30,6 +30,7 @@ const (
SyncItemOrderbook
SyncItemTrade
SyncManagerName = "exchange_syncer"
minSyncInterval = time.Second
)
var (
@@ -452,10 +453,7 @@ func (m *SyncManager) worker() {
}
defer cleanup()
interval := greatestCommonDivisor(m.config.TimeoutWebsocket, m.config.TimeoutREST)
if interval > time.Second {
interval = time.Second
}
interval := min(greatestCommonDivisor(m.config.TimeoutWebsocket, m.config.TimeoutREST), minSyncInterval)
t := time.NewTicker(interval)
for {
@@ -905,7 +903,7 @@ func (m *SyncManager) WaitForInitialSync() error {
return nil
}
func relayWebsocketEvent(result interface{}, event, assetType, exchangeName string) {
func relayWebsocketEvent(result any, event, assetType, exchangeName string) {
evt := WebsocketEvent{
Data: result,
Event: event,

View File

@@ -194,7 +194,7 @@ func (m *WebsocketRoutineManager) websocketDataReceiver(ws *stream.Websocket) er
// websocketDataHandler is the default central point for exchange websocket
// implementations to send processed data which will then pass that to an
// appropriate handler.
func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data interface{}) error {
func (m *WebsocketRoutineManager) websocketDataHandler(exchName string, data any) error {
switch d := data.(type) {
case string:
log.Infoln(log.WebsocketMgr, d)

View File

@@ -275,8 +275,8 @@ func TestRegisterWebsocketDataHandlerWithFunctionality(t *testing.T) {
}
// externally defined capture device
dataChan := make(chan interface{})
fn := func(_ string, data interface{}) error {
dataChan := make(chan any)
fn := func(_ string, data any) error {
switch data.(type) {
case string:
dataChan <- data
@@ -295,7 +295,7 @@ func TestRegisterWebsocketDataHandlerWithFunctionality(t *testing.T) {
}
mock := stream.NewWebsocket()
mock.ToRoutine = make(chan interface{})
mock.ToRoutine = make(chan any)
m.state = readyState
err = m.websocketDataReceiver(mock)
if err != nil {

View File

@@ -39,4 +39,4 @@ type WebsocketRoutineManager struct {
// WebsocketDataHandler defines a function signature for a function that handles
// data coming from websocket connections.
type WebsocketDataHandler func(service string, incoming interface{}) error
type WebsocketDataHandler func(service string, incoming any) error