Objective
End duplicated Stellar logic between src/ and mobile/ by sharing a platform-agnostic core.
Target area
mobile/, src/lib, pnpm-workspace.yaml
Context
mobile/ is a separate React Native app. Parity issues (#883) keep coming up because data-access, validation and formatting logic is implemented twice.
Acceptance criteria
- A
packages/core workspace package holds platform-agnostic modules: network config, Horizon/RPC access, address validation, amount math, operation labels.
- Both web and mobile import from
@stellar-dev-dashboard/core, and duplicated mobile code is removed.
- Core has no DOM or React Native imports (enforced by lint or tsconfig).
- Core has its own test suite running in CI.
- Automated tests cover the primary flow, at least one boundary case, and at least one failure case.
- User-facing documentation or developer guidance is updated, including compatibility, security, or migration notes where applicable.
Pull request requirements
- All continuous integration checks must pass before a pull request may be merged.
- The branch must be free of merge conflicts with the target branch at the time of merge.
- Do not request merge with failing workflows, skipped required checks, or unresolved conflicts.
Objective
End duplicated Stellar logic between
src/andmobile/by sharing a platform-agnostic core.Target area
mobile/, src/lib, pnpm-workspace.yamlContext
mobile/is a separate React Native app. Parity issues (#883) keep coming up because data-access, validation and formatting logic is implemented twice.Acceptance criteria
packages/coreworkspace package holds platform-agnostic modules: network config, Horizon/RPC access, address validation, amount math, operation labels.@stellar-dev-dashboard/core, and duplicated mobile code is removed.Pull request requirements