Router pause state does not affect pair contracts
Description
The Facet Swap contracts introduce a pause feature to the router contract, allowing the contract owner to suspend and resume the router contract functionality.
We note, however, that the pause state of the router does not apply to the liquidity-pair contracts, which can be called directly to perform swaps even if the router is paused.
Impact
The original UniswapV2 pair contracts do not have a pause feature. It is unclear under which conditions this feature is intended to be used.
This finding is reported with Informational severity as a potential design oversight. We do not consider this a freestanding security issue, as it cannot directly cause economic damage.
Recommendations
Consider querying the router pause state in the pool contracts to apply it universally across all Facet Swap contracts.
Remediation
The pause functionality is intended to affect the Facet Swap interface and our router, it’s not intended to disable the entire DEX (which is what pausing the pairs would do), so the current behavior is correct.