StoragePool::init function in pool.rs initializes a new pool but does not set the enabled flag to true. This creates a non-obvious two-step process where pools must be explicitly enabled after initialization before they can be used. All key pool operations (create_position, swap, collect_protocol, collect) check this flag with assert_or!(self.enabled.get(), Error::PoolDisabled) and will revert if the pool is not enabled.
https://github.com/code-423n4/2024-10-superposition/blob/7ad51104a8514d46e5c3d756264564426f2927fe/pkg/seawater/src/pool.rs#L46-L68
As a result, therell be confusion when pools appear initialized but operations fail and also potential delays between pool creation and usability.
If pools should be usable immediately after initialization, consider modifying the init function to set enabled to true:
