@@ -308,33 +308,48 @@ function MintPosition(props) {
308
308
const getTokenSymbolFromViewSideB = ( ) => {
309
309
return ( viewSide == VIEW_SIDE . A_TO_B ) ? getTokenSymbol ( TOKEN . _1 ) : getTokenSymbol ( TOKEN . _0 )
310
310
}
311
-
312
- useEffect ( ( ) => {
313
- console . group ( '>>>> DEBUG PRICES' )
314
- console . table ( {
315
- startPrice,
316
- token0LowerPrice,
317
- token0HighPrice,
318
- token1LowerPrice,
319
- token1HighPrice,
311
+
312
+ const calcPriceByTick = ( token : TOKEN , isLowerPrice : boolean ) => {
313
+ const price = (
314
+ ( token == TOKEN . _0 )
315
+ ? ( isLowerPrice ) ? token0LowerPrice : token0HighPrice
316
+ : ( isLowerPrice ) ? token1LowerPrice : token1HighPrice
317
+ )
318
+ const priceInfo = actions . uniswap . getPriceRoundedToTick ( {
319
+ fee : activeFee ,
320
+ price,
321
+ Decimal0 : ( token == TOKEN . _0 ) ? token0 . decimals : token1 . decimals ,
322
+ Decimal1 : ( token == TOKEN . _0 ) ? token1 . decimals : token0 . decimals ,
323
+ isLowerPrice : ( token == TOKEN . _0 ) ,
320
324
} )
321
- /*
322
- console.group('TOKEN 0')
323
- console.table(token0)
324
- console.groupEnd()
325
- console.group('TOKEN 1')
326
- console.table(token1)
327
- console.groupEnd()*/
328
- console . groupEnd ( )
329
- } , [
330
- token0LowerPrice ,
331
- token1LowerPrice ,
332
- token0HighPrice ,
333
- token1HighPrice ,
334
- startPrice
335
- ] )
336
-
337
-
325
+
326
+ const {
327
+ price : {
328
+ buyOneOfToken0,
329
+ buyOneOfToken1,
330
+ } ,
331
+ tick,
332
+ } = priceInfo
333
+
334
+ if ( token == TOKEN . _0 ) {
335
+ if ( isLowerPrice ) {
336
+ setToken0LowerPrice ( Number ( buyOneOfToken1 ) )
337
+ setToken1HighPrice ( Number ( buyOneOfToken0 ) )
338
+ } else {
339
+ setToken0HighPrice ( Number ( buyOneOfToken1 ) )
340
+ setToken1LowerPrice ( Number ( buyOneOfToken0 ) )
341
+ }
342
+ } else {
343
+ if ( isLowerPrice ) {
344
+ setToken1LowerPrice ( Number ( buyOneOfToken1 ) )
345
+ setToken0HighPrice ( Number ( buyOneOfToken0 ) )
346
+ } else {
347
+ setToken1HighPrice ( Number ( buyOneOfToken1 ) )
348
+ setToken0LowerPrice ( Number ( buyOneOfToken0 ) )
349
+ }
350
+ }
351
+ }
352
+
338
353
const isBaseFetching = ( isFetchTokensInfo || isPoolsByFeeFetching )
339
354
340
355
@@ -417,6 +432,7 @@ function MintPosition(props) {
417
432
onChange = { ( v ) => { setLowerPrice ( v , getTokenFromViewSide ( ) ) } }
418
433
tokenA = { getTokenSymbolFromViewSideA ( ) }
419
434
tokenB = { getTokenSymbolFromViewSideB ( ) }
435
+ onBlur = { ( ) => { calcPriceByTick ( ( viewSide == VIEW_SIDE . A_TO_B ) ? TOKEN . _0 : TOKEN . _1 , true ) } }
420
436
label = { (
421
437
< FormattedMessage id = "uni_mint_lower_price" defaultMessage = "Low price" />
422
438
) }
@@ -426,6 +442,7 @@ function MintPosition(props) {
426
442
onChange = { ( v ) => { setHightPrice ( v , getTokenFromViewSide ( ) ) } }
427
443
tokenA = { getTokenSymbolFromViewSideA ( ) }
428
444
tokenB = { getTokenSymbolFromViewSideB ( ) }
445
+ onBlur = { ( ) => { calcPriceByTick ( ( viewSide == VIEW_SIDE . A_TO_B ) ? TOKEN . _0 : TOKEN . _1 , false ) } }
429
446
label = { (
430
447
< FormattedMessage id = "uni_mint_high_price" defaultMessage = "High price" />
431
448
) }
0 commit comments