From d21608d28ea3aa3ec097da25582024c5e1bdb350 Mon Sep 17 00:00:00 2001 From: c9s Date: Thu, 23 Jan 2025 19:21:11 +0800 Subject: [PATCH] okx: query account config to verify spot borrow is on --- pkg/exchange/okex/exchange.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/exchange/okex/exchange.go b/pkg/exchange/okex/exchange.go index d57049481..86072f2cc 100644 --- a/pkg/exchange/okex/exchange.go +++ b/pkg/exchange/okex/exchange.go @@ -219,14 +219,28 @@ func (e *Exchange) QueryAccount(ctx context.Context) (*types.Account, error) { return nil, fmt.Errorf("account balance is empty") } + accountConfigs, err := e.client.NewGetAccountConfigRequest().Do(ctx) + if err != nil { + return nil, err + } + + if len(accountConfigs) == 0 { + return nil, fmt.Errorf("account config is empty") + } + balances := toGlobalBalance(&accounts[0]) account := types.NewAccount() account.UpdateBalances(balances) // for margin account account.MarginRatio = accounts[0].MarginRatio + account.MarginLevel = accounts[0].MarginRatio account.TotalAccountValue = accounts[0].TotalEquityInUSD + if e.MarginSettings.IsMargin && !accountConfigs[0].EnableSpotBorrow { + log.Warnf("margin is set, but okx enableSpotBorrow field is false, please turn on auto-borrow from the okx UI") + } + return account, nil }