aboutsummaryrefslogtreecommitdiff
path: root/api/market_config.go
diff options
context:
space:
mode:
authorjloup <jeanloup.jamet@gmail.com>2018-03-26 10:55:17 +0200
committerjloup <jeanloup.jamet@gmail.com>2018-03-26 10:55:40 +0200
commit50c6eea630c5bf6d1513d093125f11ce30deaff5 (patch)
tree64a1795e1662ee1827b6b9ad0b72833358ddffe7 /api/market_config.go
parent908ee2dd22c85d5d850f62b1a9d0066b43b80a69 (diff)
downloadFront-50c6eea630c5bf6d1513d093125f11ce30deaff5.tar.gz
Front-50c6eea630c5bf6d1513d093125f11ce30deaff5.tar.zst
Front-50c6eea630c5bf6d1513d093125f11ce30deaff5.zip
Display short positions.v0.0.3
Diffstat (limited to 'api/market_config.go')
-rw-r--r--api/market_config.go19
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 })