Test suite
While the test suite covers the core contract logic, it lacks integration tests that validate correct interaction with the actual SpokePool contract.
This makes it harder to ensure that the contract behaves as expected, especially in scenarios that involve specific token handling or execution flows used by the real SpokePool.
For example, SpokePool expects the address of the wrapped native token to be provided when native tokens are used, then the OdosRouter and AcrossHook contracts use the zero address. As a result, native token handling logic behaves incorrectly in a real environment. See Finding ref↗ for more detail.
Consider extending the test suite to include integration tests with the actual SpokePool contract to ensure correct behavior when interacting with the real protocol implementation.