Komodo DeFi Types
Lightweight, shared domain types used across the Komodo DeFi SDK and Framework. These types are UI- and storage-agnostic by design.
Install
dart pub add komodo_defi_types
What’s inside
Exports (selection):
- API:
ApiClient
(+client.rpc
extension) - Assets:
Asset
,AssetId
,AssetPubkeys
,AssetValidation
- Public keys:
BalanceStrategy
,PubkeyInfo
- Auth:
KdfUser
,AuthOptions
- Fees:
FeeInfo
,WithdrawalFeeOptions
- Trading/Swaps: common high-level types
- Transactions:
Transaction
, pagination helpers
These types are consumed by higher-level managers in komodo_defi_sdk
.
Example
import 'package:komodo_defi_types/komodo_defi_types.dart';
// Create an AssetId (normally parsed/built by coins package/SDK)
final id = AssetId.parse({'coin': 'KMD', 'protocol': {'type': 'UTXO'}});
// Work with typed RPC via ApiClient extension
Future<void> printBalance(ApiClient client) async {
final resp = await client.rpc.wallet.myBalance(coin: id.id);
print(resp.balance);
}
Guidance
- Keep these types free of presentation or persistence logic
- Prefer explicit, well-named fields and immutability
License
MIT
Libraries
- komodo_defi_type_utils
- Utilities for types used throughout the Komodo DeFi Framework ecosystem.
- komodo_defi_types
- Support for doing something awesome.