abi.encodepacked() should not be used with dynamic types when passing the result to a hash function such as keccak256(). Use abi.encode() instead which will pad items to 32 bytes, which will prevent hash. “Unless there is a compelling reason, abi.encode should be preferred”.
SafeERC20.safeApprove(IERC20(_assetIn), address(pool), _amountIn);
return keccak256(abi.encodePacked(bytes(_name).length, _name, bytes(_symbol).length, _symbol, _decimals));