Hi @surbhiaudichya, I just reviewed this. Great work! All in all it's a good PR. This is my only feedback:
After adding the EIP-2612 signatures, the size of the "HifiProxyTarget" grew to 21kb, which is close to the 24kb limit enforced by the Ethereum protocol. To prevent the contract from becoming unusable in the future, we should start thinking about a solution for this.
It was not needed to add the "underlying" argument to the signature functions - the underlying contract can be obtained by calling the "HifiPool". It just has to be casted to the correct type like this: "IErc20Permit(address(hifiPool.underlying()))".
The functions added in the "HifiProxyTarget.sol" were lacking the "@inheritdoc IHifiProxyTarget" NatSpec tag.
Hi @surbhiaudichya, I just reviewed this. Great work! All in all it's a good PR. This is my only feedback: