Skip to content

feat: add rsFIRO with configurable Ethereum token defaults - #1448

Open
reubenyap wants to merge 3 commits into
cypherstack:stagingfrom
reubenyap:codex/rsfiro-app-config
Open

reubenyap wants to merge 3 commits into
cypherstack:stagingfrom
reubenyap:codex/rsfiro-app-config

Conversation

@reubenyap

@reubenyap reubenyap commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Adds rsFIRO to the default Ethereum token catalog and enables Ethereum wallets in Campfire. Uses the official Ethereum contract and 8 decimals, with a bundled rsFIRO SVG displayed in asset selection, token editing, wallet views, and the send screen.

  • Generate Ethereum token defaults through AppConfig: Stack Wallet includes its existing defaults plus rsFIRO; Campfire starts with USDC, USDT, and rsFIRO; Stack Duo has no Ethereum defaults.
  • Control custom-token entry with an AppFeature flag, enabled in Stack Wallet and Campfire. Users can still select and deselect wallet tokens.
  • Preserve existing nonempty token catalogs. Defaults are seeded only when the catalog is empty, so reopening either picker does not reinsert removed tokens or overwrite custom entries. Existing nonempty catalogs can add rsFIRO manually.
  • Resolve the bundled logo by the Ethereum contract address, case-insensitively. Other token logos retain their existing behavior.

Fork CI now uses the existing scripts/prebuild.sh API-key placeholders instead of an outdated duplicate in the workflow. This resolves the missing LetsExchange and CypherGoat constants that prevented the full suite from compiling.

Addresses the configuration and token-list preservation feedback on #1444, without introducing app-name checks.

Validation:

  • GitHub Actions full suite passed on e5331a95a: 476 tests passed, 4 skipped; all workflow steps succeeded.
  • Five focused Flutter tests pass in an isolated harness using Flutter 3.44.9 and upstream's Isar 3.3.2: contract metadata, address-based logo lookup, SVG loading at 22–40 logical pixels, and catalog preservation.
  • Generated and checked Stack Wallet, Campfire, Stack Duo, and fallback test configurations.
  • Dart 3.13.4 formatting and targeted analysis pass with no errors or warnings; an existing deprecation notice remains.
  • Visually inspected the logo rendered by Flutter. Full application builds and the full test suite were not run locally.
  • Verified the CI setup with and without supplied credentials: all 13 empty placeholders compile, and a supplied key file is preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant