Skip to content

Commit

Permalink
pkg/exchange: refactor query account balance
Browse files Browse the repository at this point in the history
  • Loading branch information
bailantaotao committed Jan 9, 2024
1 parent f71161e commit c5e3ca3
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions pkg/exchange/okex/exchange.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ var (
queryMarketLimiter = rate.NewLimiter(rate.Every(100*time.Millisecond), 10)
queryTickerLimiter = rate.NewLimiter(rate.Every(100*time.Millisecond), 10)
queryTickersLimiter = rate.NewLimiter(rate.Every(100*time.Millisecond), 10)
queryAccountLimiter = rate.NewLimiter(rate.Every(200*time.Millisecond), 5)
)

const ID = "okex"
Expand Down Expand Up @@ -167,28 +168,31 @@ func (e *Exchange) PlatformFeeCurrency() string {
}

func (e *Exchange) QueryAccount(ctx context.Context) (*types.Account, error) {
accountBalance, err := e.client.AccountBalances(ctx)
bals, err := e.QueryAccountBalances(ctx)
if err != nil {
return nil, err
}

var account = types.Account{
AccountType: types.AccountTypeSpot,
}

var balanceMap = toGlobalBalance(accountBalance)
account.UpdateBalances(balanceMap)
return &account, nil
account := types.NewAccount()
account.UpdateBalances(bals)
return account, nil
}

func (e *Exchange) QueryAccountBalances(ctx context.Context) (types.BalanceMap, error) {
accountBalances, err := e.client.AccountBalances(ctx)
if err := queryAccountLimiter.Wait(ctx); err != nil {
return nil, fmt.Errorf("account rate limiter wait error: %w", err)
}

accountBalances, err := e.client.NewGetAccountInfoRequest().Do(ctx)
if err != nil {
return nil, err
}

var balanceMap = toGlobalBalance(accountBalances)
return balanceMap, nil
if len(accountBalances) != 1 {
return nil, fmt.Errorf("unexpected length of balances: %v", accountBalances)
}

return toGlobalBalance(&accountBalances[0]), nil
}

func (e *Exchange) SubmitOrder(ctx context.Context, order types.SubmitOrder) (*types.Order, error) {
Expand Down

0 comments on commit c5e3ca3

Please sign in to comment.