There's no real need for the LiquidityManager to actually hold the channel manager. Once LSPS1 and/or LSPS2 are landed we should remove the reference from LiquidityManager as the reference will just pass through to the constructors of the protocols.
Instead of putting the type constraints on just the new method, this way is closer to what it will actually look like once the LiquidityManager will hold LSPS1/2 objects that have these same generics.
There's no real need for the LiquidityManager to actually hold the channel manager. Once LSPS1 and/or LSPS2 are landed we should remove the reference from LiquidityManager as the reference will just pass through to the constructors of the protocols.
Instead of putting the type constraints on just the
new
method, this way is closer to what it will actually look like once theLiquidityManager
will hold LSPS1/2 objects that have these same generics.