Files
hash-wallet/lib/view_model/bridge_history_view_model.dart
T
586a040e4a CW-1273: Implement USDT0 Bridge (#2855)
* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.

* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.

* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.

* Add transaction history and status polling for USDT0 bridging

* Add  Transaction history and status polling for USDT0 Bridging

* USDT0 Bridging Implementation

* Update Arbitrum USDT token symbol

* fix: Merge conflicts

* fix: Merge conflicts

* chore: Rever formatting

* feat: Implement new flow

* feat: Implement new ui flow

* Add currency to configure

* feat: new ui flow

* Update USDT0 implementation
- Switch to sqlite for storage instead of hive
- Switch bridge history and details to modals
- Switch bridge transfer details page to new tx details ui

* refactor: rearrange modal action buttons

* enhance usdt0 bridge flows

* Update lib/entities/wallet_manager.dart [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2026-04-15 05:06:05 +02:00

38 lines
1.1 KiB
Dart

import 'package:cake_wallet/entities/bridge_transfer.dart';
import 'package:cake_wallet/store/app_store.dart';
import 'package:cake_wallet/store/bridge_transfers_store.dart';
import 'package:mobx/mobx.dart';
part 'bridge_history_view_model.g.dart';
class BridgeHistoryViewModel = BridgeHistoryViewModelBase with _$BridgeHistoryViewModel;
abstract class BridgeHistoryViewModelBase with Store {
BridgeHistoryViewModelBase({
required this.bridgeTransfersStore,
required this.appStore,
});
final BridgeTransfersStore bridgeTransfersStore;
final AppStore appStore;
@computed
List<BridgeTransfer> get walletTransfers {
final wallet = appStore.wallet;
if (wallet == null) return [];
return bridgeTransfersStore.bridgeTransfers.where((t) => t.walletId == wallet.name).toList();
}
@computed
List<BridgeTransfer> get activeTransfers =>
walletTransfers.where((b) => b.isActive).toList(growable: false);
@computed
List<BridgeTransfer> get pastTransfers =>
walletTransfers.where((b) => !b.isActive).toList(growable: false);
@computed
bool get isEmpty => walletTransfers.isEmpty;
}