komodo_cex_market_data 0.0.2 copy "komodo_cex_market_data: ^0.0.2" to clipboard
komodo_cex_market_data: ^0.0.2 copied to clipboard

CEX market data repositories and strategies with fallbacks for Komodo SDK apps.

Komodo CEX Market Data #

Composable repositories and strategies to fetch cryptocurrency prices from multiple sources with fallbacks and health-aware selection.

Sources supported:

  • Komodo price service
  • Binance
  • CoinGecko

Install #

dart pub add komodo_cex_market_data

Concepts #

  • Repositories implement a common interface to fetch prices and lists
  • A selection strategy chooses the best repository per request
  • Failures trigger temporary backoff; callers transparently fall back

Quick start (standalone) #

import 'package:get_it/get_it.dart';
import 'package:komodo_cex_market_data/komodo_cex_market_data.dart';

final di = GetIt.asNewInstance();

// Configure providers/repos/strategy
await MarketDataBootstrap.register(di, config: const MarketDataConfig());

final repos = await MarketDataBootstrap.buildRepositoryList(
  di,
  const MarketDataConfig(),
);

final manager = CexMarketDataManager(
  priceRepositories: repos,
  selectionStrategy: di<RepositorySelectionStrategy>(),
);
await manager.init();

// Fetch current price (see komodo_defi_types AssetId for details)
// In practice, you will receive an AssetId from the SDK or coins package
final price = await manager.fiatPrice(
  AssetId.parse({
    'coin': 'KMD',
    'protocol': {'type': 'UTXO'},
  }),
  quoteCurrency: Stablecoin.usdt,
);

With the SDK #

KomodoDefiSdk wires this package for you. Use sdk.marketData:

final price = await sdk.marketData.fiatPrice(asset.id);
final change24h = await sdk.marketData.priceChange24h(asset.id);

Customization #

const cfg = MarketDataConfig(
  enableKomodoPrice: true,
  enableBinance: true,
  enableCoinGecko: true,
  repositoryPriority: [
    RepositoryType.komodoPrice,
    RepositoryType.binance,
    RepositoryType.coinGecko,
  ],
  customRepositories: [],
);

License #

MIT

0
likes
0
points
2
downloads

Publisher

verified publisherkomodoplatform.com

Weekly Downloads

CEX market data repositories and strategies with fallbacks for Komodo SDK apps.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

async, decimal, equatable, freezed_annotation, get_it, hive, http, json_annotation, komodo_defi_types, logging

More

Packages that depend on komodo_cex_market_data