mirror of
https://github.com/trezor/trezor-suite.git
synced 2026-02-19 16:22:25 +01:00
Module trading
This module provide whole trading experience for users.
It includes the following screens:
- Trading tab in the bottom navigation bar
- Trading settings screen in settings
- Trading onboarding screen for new users
- Trading onboarding screen for existing users
Modules
@suite-native/module-trading
Main module that provides most of the trading features.
@suite-native/trading-state
Provides state management for trading features.
@suite-native/trading-residence
Provides residence selection. Residence selection should be displayed on iOS only.
This module provide onboarding screens and settings screen for residence selection.
@suite-native/transaction-management
Provides logic shared between trading and send flow.
Internal trading modules
- @suite-native/trading-analytics: Analytics helpers.
- @suite-native/trading-atoms: Reusable components.
- @suite-native/trading-browser-auth: Hooks and components for handling browser authentication in trading features.
- @suite-native/trading-debug: Debug UI components for displaying information while
IsTradingDebugEnabledFF is set. - @suite-native/trading-types: Types used across trading modules.
- @suite-native/trading-consts: Constants used across trading modules.
- @suite-native/trading-fixtures: Fixtures for testing trading features.
graph TD
subgraph non-trading-modules["External modules"]
app["@suite-native/app"]
module-onboarding["@suite-native/module-onboarding"]
module-settings["@suite-native/module-settings"]
state["@suite-native/state"]
module-dev-utils["@suite-native/module-dev-utils"]
end
module-trading["@suite-native/module-trading"]
trading-residence["@suite-native/trading-residence"]
trading-state["@suite-native/trading-state"]
subgraph trading-internal["Trading internal modules"]
trading-atoms["@suite-native/trading-atoms"]
trading-analytics["@suite-native/trading-analytics"]
trading-browser-auth["@suite-native/trading-browser-auth"]
trading-debug["@suite-native/trading-debug"]
trading-fixtures["@suite-native/trading-fixtures"]
trading-types["@suite-native/trading-types"]
trading-consts["@suite-native/trading-consts"]
end
subgraph shared["Shared modules"]
transaction-management["@suite-native/transaction-management"]
end
app --> module-trading
app --> state
app --> module-settings
app --> trading-residence
app --> module-onboarding
app --> module-dev-utils
app --> trading-state
module-dev-utils --> trading-state
module-onboarding --> trading-residence
module-onboarding --> trading-state
state --> transaction-management
state --> trading-state
module-settings --> trading-state
module-settings --> trading-residence
module-trading -.-> trading-types
module-trading --> trading-consts
module-trading -.-> trading-fixtures
module-trading --> trading-atoms
module-trading --> trading-analytics
module-trading --> trading-browser-auth
module-trading --> trading-debug
module-trading --> trading-state
module-trading --> transaction-management
module-trading --> trading-residence
trading-browser-auth --> trading-analytics
trading-browser-auth --> trading-atoms
trading-browser-auth --> trading-debug
trading-browser-auth --> trading-state
trading-analytics --> trading-atoms
trading-residence --> trading-state
trading-residence --> trading-atoms
trading-residence --> trading-consts
trading-state --> trading-atoms
trading-state -.-> trading-fixtures
trading-state --> trading-consts
trading-state -.-> trading-types
trading-atoms -.-> trading-types
trading-debug -.-> trading-types
trading-debug -.-> trading-consts
trading-debug --> trading-state
trading-atoms -.-> trading-fixtures
trading-fixtures -.-> trading-types
trading-fixtures --> trading-consts
trading-consts -.-> trading-types
classDef outer fill: #333
classDef trading-root fill: #c61, stroke: #333, stroke-width: 2px
classDef trading-group fill: #555, stroke: #333, color: #ddd
class app,module-dev-utils,module-onboarding,module-settings,state outer
class module-trading trading-root
class trading-internal,shared trading-group