From 9ea6ae695b813b9e8951c6bb55ef15ad5386c5ca Mon Sep 17 00:00:00 2001 From: Witold Date: Thu, 16 Nov 2023 23:28:49 +0100 Subject: [PATCH 1/2] refactor: check payment and rate PositionEstimate --- CHANGELOG.md | 1 + datanode/api/trading_data_v2.go | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a36716bdcb..6b10f8a919 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - [10050](https://github.com/vegaprotocol/vega/issues/10050) - Cleanup `mempool` cache on commit. - [10052](https://github.com/vegaprotocol/vega/issues/10052) - Some recent stats tables should have been `hypertables` with retention periods. - [10103](https://github.com/vegaprotocol/vega/issues/10103) - List ledgers `API` returns bad error when filtering by transfer type only. +- [10121](https://github.com/vegaprotocol/vega/issues/10121) - Assure `EstimatePosition` API works correctly with sparse perps data ## 0.73.0 diff --git a/datanode/api/trading_data_v2.go b/datanode/api/trading_data_v2.go index 92005f9f50..bf3b862d2d 100644 --- a/datanode/api/trading_data_v2.go +++ b/datanode/api/trading_data_v2.go @@ -3248,7 +3248,11 @@ func (t *TradingDataServiceV2) EstimatePosition(ctx context.Context, req *v2.Est if err != nil { return nil, formatE(fmt.Errorf("can't parse funding payment from perpetual product data: %s", perpData.FundingPayment), err) } - if !fundingPayment.IsZero() { + fundingRate, err := num.DecimalFromString(perpData.FundingRate) + if err != nil { + return nil, formatE(fmt.Errorf("can't parse funding rate from perpetual product data: %s", perpData.FundingRate), err) + } + if !fundingPayment.IsZero() && !fundingRate.IsZero() { marginFactorScaledFundingPaymentPerUnitPosition = factor.Mul(fundingPayment) } } From ff5cc4cf88687189bd7d32338f960a8fccc74589 Mon Sep 17 00:00:00 2001 From: Witold Date: Thu, 16 Nov 2023 23:34:49 +0100 Subject: [PATCH 2/2] chore: udpate spelling --- .spelling | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.spelling b/.spelling index 774f3fadab..a15619220f 100644 --- a/.spelling +++ b/.spelling @@ -86,6 +86,8 @@ mutexes nodewallet notarising OpenRPC +perp +perps phish Prometheus proto