Optimisation: large structs/huge param fixes (part 2) (#262)

* updated golangci config to enable hugeparam linter

* ModifyOrder struct usage converted to a pointer

* OrderBook conversion to struct

* More conversion of large structs to pointers

* updated golangci config to enable hugeparam linter

* ModifyOrder struct usage converted to a pointer

* OrderBook conversion to struct

* More conversion of large structs to pointers

* disabled hugeParam check for golang again

* changed based on suggested feedback and fix for no default provider

* fixed typing
This commit is contained in:
Andrew
2019-03-26 15:40:46 +11:00
committed by Adrian Gallagher
parent 5683fdd917
commit dc236c251e
87 changed files with 234 additions and 232 deletions

View File

@@ -278,7 +278,7 @@ func (b *Bitmex) GetTrollboxConnectedUsers() (ConnectedUsers, error) {
// GetAccountExecutions returns all raw transactions, which includes order
// opening and cancelation, and order status changes. It can be quite noisy.
// More focused information is available at /execution/tradeHistory.
func (b *Bitmex) GetAccountExecutions(params GenericRequestParams) ([]Execution, error) {
func (b *Bitmex) GetAccountExecutions(params *GenericRequestParams) ([]Execution, error) {
var executionList []Execution
return executionList, b.SendAuthenticatedHTTPRequest(http.MethodGet,
@@ -289,7 +289,7 @@ func (b *Bitmex) GetAccountExecutions(params GenericRequestParams) ([]Execution,
// GetAccountExecutionTradeHistory returns all balance-affecting executions.
// This includes each trade, insurance charge, and settlement.
func (b *Bitmex) GetAccountExecutionTradeHistory(params GenericRequestParams) ([]Execution, error) {
func (b *Bitmex) GetAccountExecutionTradeHistory(params *GenericRequestParams) ([]Execution, error) {
var tradeHistory []Execution
return tradeHistory, b.SendAuthenticatedHTTPRequest(http.MethodGet,
@@ -308,7 +308,7 @@ func (b *Bitmex) GetFullFundingHistory() ([]Funding, error) {
}
// GetInstruments returns instrument data
func (b *Bitmex) GetInstruments(params GenericRequestParams) ([]Instrument, error) {
func (b *Bitmex) GetInstruments(params *GenericRequestParams) ([]Instrument, error) {
var instruments []Instrument
return instruments, b.SendHTTPRequest(bitmexEndpointInstruments,
@@ -317,7 +317,7 @@ func (b *Bitmex) GetInstruments(params GenericRequestParams) ([]Instrument, erro
}
// GetActiveInstruments returns active instruments
func (b *Bitmex) GetActiveInstruments(params GenericRequestParams) ([]Instrument, error) {
func (b *Bitmex) GetActiveInstruments(params *GenericRequestParams) ([]Instrument, error) {
var activeInstruments []Instrument
return activeInstruments, b.SendHTTPRequest(bitmexEndpointActiveInstruments,
@@ -345,7 +345,7 @@ func (b *Bitmex) GetActiveIntervals() (InstrumentInterval, error) {
}
// GetCompositeIndex returns composite index
func (b *Bitmex) GetCompositeIndex(params GenericRequestParams) ([]IndexComposite, error) {
func (b *Bitmex) GetCompositeIndex(params *GenericRequestParams) ([]IndexComposite, error) {
var compositeIndices []IndexComposite
return compositeIndices, b.SendHTTPRequest(bitmexEndpointCompositeIndex,
@@ -361,7 +361,7 @@ func (b *Bitmex) GetIndices() ([]Instrument, error) {
}
// GetInsuranceFundHistory returns insurance fund history
func (b *Bitmex) GetInsuranceFundHistory(params GenericRequestParams) ([]Insurance, error) {
func (b *Bitmex) GetInsuranceFundHistory(params *GenericRequestParams) ([]Insurance, error) {
var history []Insurance
return history, b.SendHTTPRequest(bitmexEndpointIndices, params, &history)
@@ -382,7 +382,7 @@ func (b *Bitmex) GetAliasOnLeaderboard() (Alias, error) {
}
// GetLiquidationOrders returns liquidation orders
func (b *Bitmex) GetLiquidationOrders(params GenericRequestParams) ([]Liquidation, error) {
func (b *Bitmex) GetLiquidationOrders(params *GenericRequestParams) ([]Liquidation, error) {
var orders []Liquidation
return orders, b.SendHTTPRequest(bitmexEndpointLiquidation,
@@ -401,7 +401,7 @@ func (b *Bitmex) GetCurrentNotifications() ([]Notification, error) {
}
// GetOrders returns all the orders, open and closed
func (b *Bitmex) GetOrders(params OrdersRequest) ([]Order, error) {
func (b *Bitmex) GetOrders(params *OrdersRequest) ([]Order, error) {
var orders []Order
return orders, b.SendAuthenticatedHTTPRequest(http.MethodGet,
@@ -411,7 +411,7 @@ func (b *Bitmex) GetOrders(params OrdersRequest) ([]Order, error) {
}
// AmendOrder amends the quantity or price of an open order
func (b *Bitmex) AmendOrder(params OrderAmendParams) (Order, error) {
func (b *Bitmex) AmendOrder(params *OrderAmendParams) (Order, error) {
var order Order
return order, b.SendAuthenticatedHTTPRequest(http.MethodPut,
@@ -421,7 +421,7 @@ func (b *Bitmex) AmendOrder(params OrderAmendParams) (Order, error) {
}
// CreateOrder creates a new order
func (b *Bitmex) CreateOrder(params OrderNewParams) (Order, error) {
func (b *Bitmex) CreateOrder(params *OrderNewParams) (Order, error) {
var orderInfo Order
return orderInfo, b.SendAuthenticatedHTTPRequest(http.MethodPost,
@@ -432,7 +432,7 @@ func (b *Bitmex) CreateOrder(params OrderNewParams) (Order, error) {
// CancelOrders cancels one or a batch of orders on the exchange and returns
// a cancelled order list
func (b *Bitmex) CancelOrders(params OrderCancelParams) ([]Order, error) {
func (b *Bitmex) CancelOrders(params *OrderCancelParams) ([]Order, error) {
var cancelledOrders []Order
return cancelledOrders, b.SendAuthenticatedHTTPRequest(http.MethodDelete,
@@ -551,7 +551,7 @@ func (b *Bitmex) TransferMargin(params PositionTransferIsolatedMarginParams) (Po
}
// GetQuotes returns quotations
func (b *Bitmex) GetQuotes(params GenericRequestParams) ([]Quote, error) {
func (b *Bitmex) GetQuotes(params *GenericRequestParams) ([]Quote, error) {
var quotations []Quote
return quotations, b.SendHTTPRequest(bitmexEndpointQuote,
@@ -560,7 +560,7 @@ func (b *Bitmex) GetQuotes(params GenericRequestParams) ([]Quote, error) {
}
// GetQuotesByBuckets returns previous quotes in time buckets
func (b *Bitmex) GetQuotesByBuckets(params QuoteGetBucketedParams) ([]Quote, error) {
func (b *Bitmex) GetQuotesByBuckets(params *QuoteGetBucketedParams) ([]Quote, error) {
var quotations []Quote
return quotations, b.SendHTTPRequest(bitmexEndpointQuoteBucketed,
@@ -569,7 +569,7 @@ func (b *Bitmex) GetQuotesByBuckets(params QuoteGetBucketedParams) ([]Quote, err
}
// GetSettlementHistory returns settlement history
func (b *Bitmex) GetSettlementHistory(params GenericRequestParams) ([]Settlement, error) {
func (b *Bitmex) GetSettlementHistory(params *GenericRequestParams) ([]Settlement, error) {
var history []Settlement
return history, b.SendHTTPRequest(bitmexEndpointSettlement,
@@ -599,14 +599,14 @@ func (b *Bitmex) GetStatSummary() ([]StatsUSD, error) {
}
// GetTrade returns executed trades on the desk
func (b *Bitmex) GetTrade(params GenericRequestParams) ([]Trade, error) {
func (b *Bitmex) GetTrade(params *GenericRequestParams) ([]Trade, error) {
var trade []Trade
return trade, b.SendHTTPRequest(bitmexEndpointTrade, params, &trade)
}
// GetPreviousTrades previous trade history in time buckets
func (b *Bitmex) GetPreviousTrades(params TradeGetBucketedParams) ([]Trade, error) {
func (b *Bitmex) GetPreviousTrades(params *TradeGetBucketedParams) ([]Trade, error) {
var trade []Trade
return trade, b.SendHTTPRequest(bitmexEndpointTradeBucketed,
@@ -625,7 +625,7 @@ func (b *Bitmex) GetUserInfo() (User, error) {
}
// UpdateUserInfo updates user information
func (b *Bitmex) UpdateUserInfo(params UserUpdateParams) (User, error) {
func (b *Bitmex) UpdateUserInfo(params *UserUpdateParams) (User, error) {
var userInfo User
return userInfo, b.SendAuthenticatedHTTPRequest(http.MethodPut,

View File

@@ -110,14 +110,14 @@ func TestGetTrollboxConnectedUsers(t *testing.T) {
}
func TestGetAccountExecutions(t *testing.T) {
_, err := b.GetAccountExecutions(GenericRequestParams{})
_, err := b.GetAccountExecutions(&GenericRequestParams{})
if err == nil {
t.Error("test failed - GetAccountExecutions() error", err)
}
}
func TestGetAccountExecutionTradeHistory(t *testing.T) {
_, err := b.GetAccountExecutionTradeHistory(GenericRequestParams{})
_, err := b.GetAccountExecutionTradeHistory(&GenericRequestParams{})
if err == nil {
t.Error("test failed - GetAccountExecutionTradeHistory() error", err)
}
@@ -131,14 +131,14 @@ func TestGetFundingHistory(t *testing.T) {
}
func TestGetInstruments(t *testing.T) {
_, err := b.GetInstruments(GenericRequestParams{})
_, err := b.GetInstruments(&GenericRequestParams{})
if err != nil {
t.Error("test failed - GetInstruments() error", err)
}
}
func TestGetActiveInstruments(t *testing.T) {
_, err := b.GetActiveInstruments(GenericRequestParams{})
_, err := b.GetActiveInstruments(&GenericRequestParams{})
if err != nil {
t.Error("test failed - GetActiveInstruments() error", err)
}
@@ -159,7 +159,7 @@ func TestGetActiveIntervals(t *testing.T) {
}
func TestGetCompositeIndex(t *testing.T) {
_, err := b.GetCompositeIndex(GenericRequestParams{})
_, err := b.GetCompositeIndex(&GenericRequestParams{})
if err == nil {
t.Error("test failed - GetCompositeIndex() error", err)
}
@@ -173,7 +173,7 @@ func TestGetIndices(t *testing.T) {
}
func TestGetInsuranceFundHistory(t *testing.T) {
_, err := b.GetInsuranceFundHistory(GenericRequestParams{})
_, err := b.GetInsuranceFundHistory(&GenericRequestParams{})
if err != nil {
t.Error("test failed - GetInsuranceFundHistory() error", err)
}
@@ -194,7 +194,7 @@ func TestGetAliasOnLeaderboard(t *testing.T) {
}
func TestGetLiquidationOrders(t *testing.T) {
_, err := b.GetLiquidationOrders(GenericRequestParams{})
_, err := b.GetLiquidationOrders(&GenericRequestParams{})
if err != nil {
t.Error("test failed - GetLiquidationOrders() error", err)
}
@@ -208,14 +208,14 @@ func TestGetCurrentNotifications(t *testing.T) {
}
func TestAmendOrder(t *testing.T) {
_, err := b.AmendOrder(OrderAmendParams{})
_, err := b.AmendOrder(&OrderAmendParams{})
if err == nil {
t.Error("test failed - AmendOrder() error", err)
}
}
func TestCreateOrder(t *testing.T) {
_, err := b.CreateOrder(OrderNewParams{Symbol: "XBTM15",
_, err := b.CreateOrder(&OrderNewParams{Symbol: "XBTM15",
Price: 219.0,
ClOrdID: "mm_bitmex_1a/oemUeQ4CAJZgP3fjHsA",
OrderQty: 98})
@@ -225,7 +225,7 @@ func TestCreateOrder(t *testing.T) {
}
func TestCancelOrders(t *testing.T) {
_, err := b.CancelOrders(OrderCancelParams{})
_, err := b.CancelOrders(&OrderCancelParams{})
if err == nil {
t.Error("test failed - CancelOrders() error", err)
}
@@ -309,14 +309,14 @@ func TestTransferMargin(t *testing.T) {
}
func TestGetQuotesByBuckets(t *testing.T) {
_, err := b.GetQuotesByBuckets(QuoteGetBucketedParams{})
_, err := b.GetQuotesByBuckets(&QuoteGetBucketedParams{})
if err == nil {
t.Error("test failed - GetQuotesByBuckets() error", err)
}
}
func TestGetSettlementHistory(t *testing.T) {
_, err := b.GetSettlementHistory(GenericRequestParams{})
_, err := b.GetSettlementHistory(&GenericRequestParams{})
if err != nil {
t.Error("test failed - GetSettlementHistory() error", err)
}
@@ -344,7 +344,7 @@ func TestGetStatSummary(t *testing.T) {
}
func TestGetTrade(t *testing.T) {
_, err := b.GetTrade(GenericRequestParams{
_, err := b.GetTrade(&GenericRequestParams{
Symbol: "XBTUSD",
StartTime: time.Now().Format(time.RFC3339),
Reverse: true})
@@ -354,7 +354,7 @@ func TestGetTrade(t *testing.T) {
}
func TestGetPreviousTrades(t *testing.T) {
_, err := b.GetPreviousTrades(TradeGetBucketedParams{})
_, err := b.GetPreviousTrades(&TradeGetBucketedParams{})
if err == nil {
t.Error("test failed - GetPreviousTrades() error", err)
}
@@ -590,7 +590,7 @@ func TestGetAccountInfo(t *testing.T) {
}
func TestModifyOrder(t *testing.T) {
_, err := b.ModifyOrder(exchange.ModifyOrder{OrderID: "1337"})
_, err := b.ModifyOrder(&exchange.ModifyOrder{OrderID: "1337"})
if err == nil {
t.Error("Test Failed - ModifyOrder() error")
}

View File

@@ -321,7 +321,7 @@ func (b *Bitmex) processOrderbook(data []OrderBookL2, action string, currencyPai
switch action {
case bitmexActionInitialData:
if !snapshotloaded[currencyPair][assetType] {
var newOrderbook orderbook.Base
var newOrderBook orderbook.Base
var bids, asks []orderbook.Item
for _, orderbookItem := range data {
@@ -342,12 +342,12 @@ func (b *Bitmex) processOrderbook(data []OrderBookL2, action string, currencyPai
return errors.New("bitmex_websocket.go error - snapshot not initialised correctly")
}
newOrderbook.Asks = asks
newOrderbook.Bids = bids
newOrderbook.AssetType = assetType
newOrderbook.Pair = currencyPair
newOrderBook.Asks = asks
newOrderBook.Bids = bids
newOrderBook.AssetType = assetType
newOrderBook.Pair = currencyPair
err := b.Websocket.Orderbook.LoadSnapshot(newOrderbook, b.GetName(), false)
err := b.Websocket.Orderbook.LoadSnapshot(&newOrderBook, b.GetName(), false)
if err != nil {
return fmt.Errorf("bitmex_websocket.go process orderbook error - %s",
err)

View File

@@ -32,7 +32,7 @@ func (b *Bitmex) Run() {
log.Debugf("%s %d currencies enabled: %s.\n", b.GetName(), len(b.EnabledPairs), b.EnabledPairs)
}
marketInfo, err := b.GetActiveInstruments(GenericRequestParams{})
marketInfo, err := b.GetActiveInstruments(&GenericRequestParams{})
if err != nil {
log.Errorf("%s Failed to get available symbols.\n", b.GetName())
@@ -60,7 +60,7 @@ func (b *Bitmex) UpdateTicker(p currency.Pair, assetType string) (ticker.Price,
var tickerPrice ticker.Price
currency := exchange.FormatExchangeCurrency(b.Name, p)
tick, err := b.GetTrade(GenericRequestParams{
tick, err := b.GetTrade(&GenericRequestParams{
Symbol: currency.String(),
StartTime: time.Now().Format(time.RFC3339),
Reverse: true,
@@ -193,7 +193,7 @@ func (b *Bitmex) SubmitOrder(p currency.Pair, side exchange.OrderSide, orderType
orderNewParams.Price = price
}
response, err := b.CreateOrder(orderNewParams)
response, err := b.CreateOrder(&orderNewParams)
if response.OrderID != "" {
submitOrderResponse.OrderID = response.OrderID
}
@@ -207,7 +207,7 @@ func (b *Bitmex) SubmitOrder(p currency.Pair, side exchange.OrderSide, orderType
// ModifyOrder will allow of changing orderbook placement and limit to
// market conversion
func (b *Bitmex) ModifyOrder(action exchange.ModifyOrder) (string, error) {
func (b *Bitmex) ModifyOrder(action *exchange.ModifyOrder) (string, error) {
var params OrderAmendParams
if math.Mod(action.Amount, 1) != 0 {
@@ -218,7 +218,7 @@ func (b *Bitmex) ModifyOrder(action exchange.ModifyOrder) (string, error) {
params.OrderQty = int32(action.Amount)
params.Price = action.Price
order, err := b.AmendOrder(params)
order, err := b.AmendOrder(&params)
if err != nil {
return "", err
}
@@ -231,7 +231,7 @@ func (b *Bitmex) CancelOrder(order *exchange.OrderCancellation) error {
var params = OrderCancelParams{
OrderID: order.OrderID,
}
_, err := b.CancelOrders(params)
_, err := b.CancelOrders(&params)
return err
}
@@ -315,7 +315,7 @@ func (b *Bitmex) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([
params := OrdersRequest{}
params.Filter = "{\"open\":true}"
resp, err := b.GetOrders(params)
resp, err := b.GetOrders(&params)
if err != nil {
return nil, err
}
@@ -358,7 +358,7 @@ func (b *Bitmex) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([
func (b *Bitmex) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([]exchange.OrderDetail, error) {
var orders []exchange.OrderDetail
params := OrdersRequest{}
resp, err := b.GetOrders(params)
resp, err := b.GetOrders(&params)
if err != nil {
return nil, err
}