mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
Huobi: symbol, var assignment and UpdateAccountInfo fixes (#793)
* huobi futures: GetSwapAccountInfo argument is optional * huobi futures: fetch main account data as well * huobi futures: shut linter up Old warnings not introduced in this scope.
This commit is contained in:
@@ -427,11 +427,13 @@ func (h *HUOBI) GetBasisData(ctx context.Context, code currency.Pair, period, ba
|
||||
func (h *HUOBI) GetSwapAccountInfo(ctx context.Context, code currency.Pair) (SwapAccountInformation, error) {
|
||||
var resp SwapAccountInformation
|
||||
req := make(map[string]interface{})
|
||||
codeValue, err := h.FormatSymbol(code, asset.CoinMarginedFutures)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
if !code.IsEmpty() {
|
||||
codeValue, err := h.FormatSymbol(code, asset.CoinMarginedFutures)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
req["contract_code"] = codeValue
|
||||
}
|
||||
req["contract_code"] = codeValue
|
||||
return resp, h.FuturesAuthenticatedHTTPRequest(ctx, exchange.RestFutures, http.MethodPost, huobiSwapAccInfo, nil, req, &resp)
|
||||
}
|
||||
|
||||
|
||||
@@ -903,9 +903,9 @@ func (h *HUOBI) FGetOrderHistory(ctx context.Context, contractCode currency.Pair
|
||||
return resp, fmt.Errorf("invalid reqType")
|
||||
}
|
||||
req["type"] = rType
|
||||
var reqStatus string = "0"
|
||||
reqStatus := "0"
|
||||
if len(status) > 0 {
|
||||
var firstTime bool = true
|
||||
firstTime := true
|
||||
for x := range status {
|
||||
sType, ok := validOrderStatus[status[x]]
|
||||
if !ok {
|
||||
|
||||
@@ -705,6 +705,27 @@ func (h *HUOBI) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (ac
|
||||
}
|
||||
|
||||
case asset.CoinMarginedFutures:
|
||||
// fetch swap account info
|
||||
acctInfo, err := h.GetSwapAccountInfo(ctx, currency.Pair{})
|
||||
if err != nil {
|
||||
return info, err
|
||||
}
|
||||
|
||||
var mainAcctBalances []account.Balance
|
||||
for x := range acctInfo.Data {
|
||||
mainAcctBalances = append(mainAcctBalances, account.Balance{
|
||||
CurrencyName: currency.NewCode(acctInfo.Data[x].Symbol),
|
||||
TotalValue: acctInfo.Data[x].MarginBalance,
|
||||
Hold: acctInfo.Data[x].MarginFrozen,
|
||||
})
|
||||
}
|
||||
|
||||
info.Accounts = append(info.Accounts, account.SubAccount{
|
||||
Currencies: mainAcctBalances,
|
||||
AssetType: assetType,
|
||||
})
|
||||
|
||||
// fetch subaccounts data
|
||||
subAccsData, err := h.GetSwapAllSubAccAssets(ctx, currency.Pair{})
|
||||
if err != nil {
|
||||
return info, err
|
||||
@@ -727,6 +748,27 @@ func (h *HUOBI) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (ac
|
||||
}
|
||||
acc.Currencies = currencyDetails
|
||||
case asset.Futures:
|
||||
// fetch main account data
|
||||
mainAcctData, err := h.FGetAccountInfo(ctx, currency.Code{})
|
||||
if err != nil {
|
||||
return info, err
|
||||
}
|
||||
|
||||
var mainAcctBalances []account.Balance
|
||||
for x := range mainAcctData.AccData {
|
||||
mainAcctBalances = append(mainAcctBalances, account.Balance{
|
||||
CurrencyName: currency.NewCode(mainAcctData.AccData[x].Symbol),
|
||||
TotalValue: mainAcctData.AccData[x].MarginBalance,
|
||||
Hold: mainAcctData.AccData[x].MarginFrozen,
|
||||
})
|
||||
}
|
||||
|
||||
info.Accounts = append(info.Accounts, account.SubAccount{
|
||||
Currencies: mainAcctBalances,
|
||||
AssetType: assetType,
|
||||
})
|
||||
|
||||
// fetch subaccounts data
|
||||
subAccsData, err := h.FGetAllSubAccountAssets(ctx, currency.Code{})
|
||||
if err != nil {
|
||||
return info, err
|
||||
|
||||
Reference in New Issue
Block a user