diff options
author | jloup <jeanloup.jamet@gmail.com> | 2018-03-26 10:55:17 +0200 |
---|---|---|
committer | jloup <jeanloup.jamet@gmail.com> | 2018-03-26 10:55:40 +0200 |
commit | 50c6eea630c5bf6d1513d093125f11ce30deaff5 (patch) | |
tree | 64a1795e1662ee1827b6b9ad0b72833358ddffe7 /api | |
parent | 908ee2dd22c85d5d850f62b1a9d0066b43b80a69 (diff) | |
download | Front-50c6eea630c5bf6d1513d093125f11ce30deaff5.tar.gz Front-50c6eea630c5bf6d1513d093125f11ce30deaff5.tar.zst Front-50c6eea630c5bf6d1513d093125f11ce30deaff5.zip |
Display short positions.v0.0.3
Diffstat (limited to 'api')
-rw-r--r-- | api/market_config.go | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/api/market_config.go b/api/market_config.go index d85af4d..25e390d 100644 --- a/api/market_config.go +++ b/api/market_config.go | |||
@@ -82,7 +82,7 @@ func (q MarketBalanceQuery) Run() (interface{}, *Error) { | |||
82 | result := struct { | 82 | result := struct { |
83 | Value decimal.Decimal `json:"value"` | 83 | Value decimal.Decimal `json:"value"` |
84 | ValueCurrency string `json:"valueCurrency"` | 84 | ValueCurrency string `json:"valueCurrency"` |
85 | Balance map[string]decimal.Decimal `json:"balance"` | 85 | Balance map[string]markets.Balance `json:"balance"` |
86 | }{} | 86 | }{} |
87 | 87 | ||
88 | resultErr := CallExternalService(fmt.Sprintf("'%s' GetBalanceValue", q.In.Market), EXTERNAL_SERVICE_TIMEOUT_SECONDS*time.Second, func() *Error { | 88 | resultErr := CallExternalService(fmt.Sprintf("'%s' GetBalanceValue", q.In.Market), EXTERNAL_SERVICE_TIMEOUT_SECONDS*time.Second, func() *Error { |
@@ -92,18 +92,23 @@ func (q MarketBalanceQuery) Run() (interface{}, *Error) { | |||
92 | return &Error{InvalidMarketCredentials, "wrong market credentials", fmt.Errorf("wrong '%v' market credentials", q.In.Market)} | 92 | return &Error{InvalidMarketCredentials, "wrong market credentials", fmt.Errorf("wrong '%v' market credentials", q.In.Market)} |
93 | } | 93 | } |
94 | 94 | ||
95 | if err != nil { | 95 | if utils.ErrIs(err, markets.IPRestricted) { |
96 | return NewInternalError(err) | 96 | return &Error{IPRestrictedApiKey, "ip restricted api key", fmt.Errorf("'%v' ip restricted", q.In.Market)} |
97 | } | 97 | } |
98 | 98 | ||
99 | value, err := Poloniex.ComputeAccountBalanceValue(balance, q.In.Currency) | ||
100 | if err != nil { | 99 | if err != nil { |
101 | return NewInternalError(err) | 100 | return NewInternalError(err) |
102 | } | 101 | } |
103 | 102 | ||
104 | result.Balance = balance | 103 | for currency, value := range balance.Balances { |
105 | result.ValueCurrency = q.In.Currency | 104 | if value.BTCValue.Abs().LessThan(decimal.NewFromFloat(0.0001)) { |
106 | result.Value = value.Round(8) | 105 | delete(balance.Balances, currency) |
106 | } | ||
107 | } | ||
108 | |||
109 | result.Balance = balance.Balances | ||
110 | result.ValueCurrency = "BTC" | ||
111 | result.Value = balance.BTCValue.Round(8) | ||
107 | 112 | ||
108 | return nil | 113 | return nil |
109 | }) | 114 | }) |