This repository uses Chrome-based Flutter tests because parts of the app depend on browser-only libraries and wallet interop code.
Run the same command expected from contributors:
./scripts/verify.shThat runs:
flutter pub get
flutter analyze
flutter test -r expanded --platform chromeIf this command passes, the open-source contributor baseline is green.
flutter pub get
flutter analyze
flutter test --platform chrome
flutter test --platform chrome test/widget_test.dart
flutter test --platform chrome test/runtime_config_test.dart- runtime configuration defaults
- app shell bootstrapping
- provider logic for batches and transfer-related state
- DTO serialization and deserialization
- local storage persistence
- utility and formatting helpers
- selected Ledger helper code
Use this before publishing or after touching wallet integrations.
- Start the backend on
http://localhost:6060 - Optionally export
GRAVITY_WEBGRPC_URLif you want live transaction history and progress data - Optionally export
GRAVITY_INFO_URLto point at a trusted GravityInfo API - Run
./scripts/run-local.sh - Open the local app in Chrome
- Confirm the landing shell renders without missing assets or console errors
- Connect MetaMask
- Connect Keplr or Leap
- Open token selection and transfer dialogs
- Verify bridge data, fee panels, and route selection load correctly
- Trigger a transfer flow far enough to validate dialog state and wallet handoff behavior
flutter test --platform chromerequires Chrome to be installed locally- if transaction history looks empty in local runs, set
GRAVITY_WEBGRPC_URLto a working grpc-web endpoint - if GravityInfo requests fail locally, set
GRAVITY_INFO_URLto a reachable GravityInfo-compatible API - analytics stays disabled unless
ENABLE_ANALYTICS=trueand the required Firebase values are provided - wallet-extension issues are usually easiest to reproduce with a clean Chrome profile