diff --git a/apps/trading-e2e/src/integration/trading-chart.cy.ts b/apps/trading-e2e/src/integration/trading-chart.cy.ts index c4b009428..95f90264a 100644 --- a/apps/trading-e2e/src/integration/trading-chart.cy.ts +++ b/apps/trading-e2e/src/integration/trading-chart.cy.ts @@ -126,7 +126,8 @@ describe( { name: 'Moving average', infoText: 'Moving average: 174.08302' }, { name: 'Price monitoring bounds', - infoText: 'Price Monitoring Bounds: Min -Max -Reference -', + infoText: + 'Price Monitoring Bounds: Min 162.56291Max 182.96869Reference 172.47489', }, ]; @@ -150,7 +151,7 @@ describe( { name: 'Force index', infoText: 'Force index: 987.48858' }, { name: 'MACD', infoText: 'MACD: S -0.06420D 0.00359MACD -0.06062' }, { name: 'RSI', infoText: 'RSI: 47.08648' }, - { name: 'Volume', infoText: 'Volume: 55,000.00000' }, + { name: 'Volume', infoText: 'Volume: 55,000' }, ]; cy.get(indicatorInfo).eq(1).realHover(); cy.get('.close-button-module_closeButton__2ifkl').click({ force: true }); diff --git a/libs/candles-chart/src/lib/data-source.ts b/libs/candles-chart/src/lib/data-source.ts index fb1e7494a..97aad4723 100644 --- a/libs/candles-chart/src/lib/data-source.ts +++ b/libs/candles-chart/src/lib/data-source.ts @@ -6,7 +6,7 @@ import { differenceInHours, differenceInMinutes, } from 'date-fns'; -import type { Candle, DataSource } from 'pennant'; +import type { Candle, DataSource, PriceMonitoringBounds } from 'pennant'; import { Interval as PennantInterval } from 'pennant'; import { addDecimal } from '@vegaprotocol/utils'; @@ -45,7 +45,6 @@ const defaultConfig = { PennantInterval.I5M, PennantInterval.I1M, ], - priceMonitoringBounds: [], }; /** @@ -111,6 +110,27 @@ export class VegaDataSource implements DataSource { this._decimalPlaces = data.market.decimalPlaces; this._positionDecimalPlaces = data.market.positionDecimalPlaces; + let priceMonitoringBounds: PriceMonitoringBounds | undefined; + + if ( + data.market.data.priceMonitoringBounds && + data.market.data.priceMonitoringBounds.length > 0 + ) { + const bounds = data.market.data.priceMonitoringBounds[0]; + + priceMonitoringBounds = { + maxValidPrice: Number( + addDecimal(bounds.maxValidPrice, this._decimalPlaces) + ), + minValidPrice: Number( + addDecimal(bounds.minValidPrice, this._decimalPlaces) + ), + referencePrice: Number( + addDecimal(bounds.referencePrice, this._decimalPlaces) + ), + }; + } + return { decimalPlaces: this._decimalPlaces, positionDecimalPlaces: this._positionDecimalPlaces, @@ -122,18 +142,7 @@ export class VegaDataSource implements DataSource { PennantInterval.I5M, PennantInterval.I1M, ], - priceMonitoringBounds: - data.market.data.priceMonitoringBounds?.map((bounds) => ({ - maxValidPrice: Number( - addDecimal(bounds.maxValidPrice, this._decimalPlaces) - ), - minValidPrice: Number( - addDecimal(bounds.minValidPrice, this._decimalPlaces) - ), - referencePrice: Number( - addDecimal(bounds.referencePrice, this._decimalPlaces) - ), - })) ?? [], + priceMonitoringBounds: priceMonitoringBounds, }; } else { return defaultConfig; diff --git a/package.json b/package.json index 982c80d40..0deb2a800 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "js-sha3": "^0.8.0", "lodash": "^4.17.21", "next": "13.3.0", - "pennant": "1.8.1", + "pennant": "1.9.0", "react": "18.2.0", "react-copy-to-clipboard": "^5.0.4", "react-dom": "18.2.0", diff --git a/yarn.lock b/yarn.lock index ef50b174a..3d23a565e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19952,10 +19952,10 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -pennant@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/pennant/-/pennant-1.8.1.tgz#bb5f8fd2ae78e0e53ff43bea565765bf7e47b255" - integrity sha512-kUKRLfM8GdE+RSlS45Rz/QMQ6xorbzAqw/ybOVR/2gVO6L3sY16+vrgVSJd89RbR+sI/foWe5buXwFmjwFR7Kg== +pennant@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/pennant/-/pennant-1.9.0.tgz#d7332548e17d5140e6655905e41bd6671bd37fc3" + integrity sha512-HgM82NnjH94Hc0dhq9knZMOyGT0QyMfMsGFtB4S6UMe2wlSxMpnmQKjtVYmug4PYAkXXprqPrb+mUhjcsPtm5g== dependencies: "@babel/runtime" "^7.13.10" "@d3fc/d3fc-technical-indicator" "^8.0.1"