Skip to content

feat(coin-updates): integrate komodo_coin_updates into komodo_coins#190

Merged
CharlVS merged 43 commits intodevfrom
feat/runtime-coin-updates
Aug 25, 2025
Merged

feat(coin-updates): integrate komodo_coin_updates into komodo_coins#190
CharlVS merged 43 commits intodevfrom
feat/runtime-coin-updates

Conversation

@takenagain
Copy link
Copy Markdown
Contributor

@takenagain takenagain commented Aug 14, 2025

  • Refactors komodo_coin_updates to use Asset for storage and retrieval, removing most of the legacy models and adapters in the process.
  • Migrates komodo_coin_updates to hive_ce.
  • Adds support for reading build_config.json to komodo_coin_updates to read the coin configuration settings.
  • Adds unit test coverage for both komodo_coin_updates and komodo_coins to validate the desired functionality works as expected.
  • Adds GPT5-generated documentation to the komodo_coin_updates package.
  • Integrates komodo_coin_updates into komodo_coins, replacing the hard-coded URL bypassing any local coin config files.
  • Adds the current and latest commit hash to the SDK example app as a demonstration and for testing purposes.
  • Adds a GitHub workflow to run the unit tests in each of the packages as an automated test case for open PRs and pushes to main. This workflow also allows for manual dispatch with a filter to only run one package at a time.
Screen.Recording.2025-08-22.at.17.02.07.mov

Local testing

  1. Update packages/komodo_defi_framework/assets/config with the contents of coins_config.json from 23b16a0.

  2. Modify the following values in packages/komodo_defi_framework/app_build/build_config.json with the following values. This will prevent the coins_config.json from being overridden with an updated version at build time.

     "fetch_at_build_enabled": false,
     "update_commit_on_build": false,
     "bundled_coins_repo_commit": "23b16a00557b914ca73b030ce77968c4de401b9f",
  3. Register a new account.

  4. Search for "NYC" and "DIMI". Confirm that "NYC" does not have a UTXO/Smart coin and "DIMI" cannot be activated due to missing derivation path.

  5. Refresh page and sign back in.

  6. Search for "NYC" and "DIMI" again and confirm that NYC now has a UTXO coin and "DIMI" can now be activated.

Summary by CodeRabbit

  • New Features
    • Pluggable coin config system with GitHub/local providers, Hive-backed storage, and auto-update manager.
    • Commit tracking surfaced; example app shows current vs latest commit.
    • Startup provider to supply raw coins for initialization.
    • Typed sparkline caching with recovery and request de-duplication.
  • Changes
    • Seed node fetching now requires a runtime config parameter.
  • Documentation
    • Extensive docs and examples for configuration, usage, advanced transforms, FAQs, and market-data rate limiting.
  • Tests
    • Broad unit/integration coverage across providers, storage, update strategies, caching, and CI matrix.
  • Chores
    • New GitHub Actions for Flutter tests; env token wiring for web builds.

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants