In Uniswap V2 and V3, we can simply use the balanceOf function on a pool contract to get its balance. However, in Uniswap V4, all pool liquidity is managed by a centralized PoolManager contract, which aggregates the funds from multiple pools. This raises a question: How can we determine the ETH balance for a specific pool when all balances are combined in the PoolManager?
For example, consider the following two pools:
• Pool A: Contains 1000 TokenA and 1 ETH
• Pool B: Contains 1000 TokenB and 1 ETH
The PoolManager contract holds a total of 2 ETH. How can we use a method analogous to balanceOf to isolate the ETH balance for either Pool A or Pool B? Are there any available interfaces or approaches to achieve this separation of balances?
Any insights or suggestions would be greatly appreciated!