PHyperLPoolSwapInside::_swapWithCustomData() should check if the router has code
Description
PHyperLPoolSwapInside::_swapWithCustomData() performs swap using a router provided as argument in swapData.
Solidity performs contract length checks when using an interface, but not when using .call(), making this call dangerous as success will be true.
Recommendation
Use Openzeppelin's Address::functionCall() which performs all the checks.
Status
Addressed in #0c8de23.