chore: create network order controller
Explanation
The NetworkOrderController is a core implementation of network ordering functionality that was previously only available in the extension. This PR moves and expands this functionality from the extension's NetworkOrder controller to core, enabling network ordering features across both extension and mobile platforms. It also renames it to NetworkOrderController to more accurately represent what it does. Maybe in the future this can be expanded to include other UX enhancements that don't need to be tightly coupled with the NetworkController
Key motivations for this change:
-
Platform Parity: Network ordering was previously only implemented in the extension via
NetworkOrdercontroller, leaving mobile without this functionality. Moving this to core will unlock the ability to have this feature built on mobile. -
Code Quality Improvements: The move to core has provided an opportunity to:
- Improve test coverage of the existing network ordering logic
The controller now handles three key aspects:
- Network ordering (preserved from extension implementation)
References
- Moves functionality from NetworkOrder controller in extension to core
- Related to ongoing work related to Global Network Selector Removal
Changelog
Checklist
- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
- [ ] I've communicated my changes to consumers by updating changelogs for packages I've changed, highlighting breaking changes as necessary
- [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes