import 'package:flutter/material.dart'; import 'package:stackwallet/db/hive/db.dart'; import 'package:stackwallet/models/trade_wallet_lookup.dart'; class TradeSentFromStackService extends ChangeNotifier { List get all => DB.instance.values(boxName: DB.boxNameTradeLookup); String? getTradeIdForTxid(String txid) { final matches = all.where((e) => e.txid == txid); if (matches.length == 1) { return matches.first.tradeId; } return null; } String? getTxidForTradeId(String tradeId) { final matches = all.where((e) => e.tradeId == tradeId); if (matches.length == 1) { return matches.first.txid; } return null; } List? getWalletIdsForTradeId(String tradeId) { final matches = all.where((e) => e.tradeId == tradeId); if (matches.length == 1) { return matches.first.walletIds; } return null; } List? getWalletIdForTxid(String txid) { final matches = all.where((e) => e.txid == txid); if (matches.length == 1) { return matches.first.walletIds; } return null; } Future save({ required TradeWalletLookup tradeWalletLookup, }) async { await DB.instance.put( boxName: DB.boxNameTradeLookup, key: tradeWalletLookup.uuid, value: tradeWalletLookup); notifyListeners(); } Future delete({ required TradeWalletLookup tradeWalletLookup, }) async { await DB.instance.delete( key: tradeWalletLookup.uuid, boxName: DB.boxNameTradeLookup); } }