@@ -4,6 +4,7 @@ import { Currency, CurrencyAmount, Percent } from '@uniswap/sdk-core';
44import {
55 useUNIV3NFTPositionManagerContract ,
66 useV3NFTPositionManagerContract ,
7+ useV4NFTPositionManagerContract ,
78} from 'hooks/useContract' ;
89import TransactionConfirmationModal , {
910 ConfirmationModalContent ,
@@ -24,13 +25,15 @@ import {
2425} from 'state/mint/v3/hooks' ;
2526import { useDerivedPositionInfo } from 'hooks/v3/useDerivedPositionInfo' ;
2627import { NonfungiblePositionManager as NonFunPosMan } from 'v3lib/nonfungiblePositionManager' ;
28+ import { NonfungiblePositionV4Manager as NonFunPosV4Man } from 'v3lib/nonfungiblePositionV4Manager' ;
2729import { UniV3NonfungiblePositionManager as UniV3NonFunPosMan } from 'v3lib/uniV3NonfungiblePositionManager' ;
2830import './index.scss' ;
2931import ReactGA from 'react-ga' ;
3032import { WrappedCurrency } from 'models/types' ;
3133import { ApprovalState , useApproveCallback } from 'hooks/useV3ApproveCallback' ;
3234import {
3335 NONFUNGIBLE_POSITION_MANAGER_ADDRESSES ,
36+ NONFUNGIBLE_POSITION_V4_MANAGER_ADDRESSES ,
3437 UNI_NFT_POSITION_MANAGER_ADDRESS ,
3538} from 'constants/v3/addresses' ;
3639import { useUSDCValue } from 'hooks/v3/useUSDCPrice' ;
@@ -82,10 +85,14 @@ export default function IncreaseLiquidityV3({
8285 : currencyB ;
8386
8487 const algebrapositionManager = useV3NFTPositionManagerContract ( ) ;
88+ const algebrapositionV4Manager = useV4NFTPositionManagerContract ( ) ;
8589 const uniPositionManager = useUNIV3NFTPositionManagerContract ( ) ;
8690 const positionManager = positionDetails . isUni
8791 ? uniPositionManager
92+ : positionDetails . isV4
93+ ? algebrapositionV4Manager
8894 : algebrapositionManager ;
95+
8996 const tokenId = positionDetails . tokenId . toString ( ) ;
9097 const addTransaction = useTransactionAdder ( ) ;
9198 const finalizedTransaction = useTransactionFinalizer ( ) ;
@@ -121,7 +128,9 @@ export default function IncreaseLiquidityV3({
121128 if ( positionDetails . isUni ) {
122129 return UNI_NFT_POSITION_MANAGER_ADDRESS [ chainId ] ;
123130 }
124- return NONFUNGIBLE_POSITION_MANAGER_ADDRESSES [ chainId ] ;
131+ return positionDetails . isV4
132+ ? NONFUNGIBLE_POSITION_V4_MANAGER_ADDRESSES [ chainId ]
133+ : NONFUNGIBLE_POSITION_MANAGER_ADDRESSES [ chainId ] ;
125134 } , [ chainId , positionDetails ] ) ;
126135
127136 const { onFieldAInput, onFieldBInput } = useV3MintActionHandlers ( noLiquidity ) ;
@@ -215,6 +224,8 @@ export default function IncreaseLiquidityV3({
215224
216225 const PositionManager = positionDetails . isUni
217226 ? UniV3NonFunPosMan
227+ : positionDetails . isV4
228+ ? NonFunPosV4Man
218229 : NonFunPosMan ;
219230 const { calldata, value } = tokenId
220231 ? PositionManager . addCallParameters ( position , {
0 commit comments