fromMap static method
Create event from a map during deserialization This is a factory method that should be implemented by concrete event classes
Implementation
static UTXOReceivedEvent fromMap(Map<String, dynamic> map) {
// Parse initialStatus, defaulting to pending for backwards compatibility
UTXOStatus initialStatus = UTXOStatus.pending;
if (map.containsKey('initialStatus')) {
final statusName = map['initialStatus'] as String;
initialStatus = UTXOStatus.values.firstWhere(
(s) => s.name == statusName,
orElse: () => UTXOStatus.pending,
);
}
return UTXOReceivedEvent(
walletId: map['walletId'] as String,
txid: map['txid'] as String,
vout: map['vout'] as int,
satoshis: map['satoshis'] as int,
scriptPubKey: map['scriptPubKey'] as String,
address: map['address'] as String,
blockHeight: map['blockHeight'] as int?,
confirmations: map['confirmations'] as int?,
initialStatus: initialStatus,
eventId: map['eventId'] as String?,
timestamp: map['timestamp'] != null
? (map['timestamp'] is String
? DateTime.parse(map['timestamp'] as String)
: map['timestamp'] as DateTime)
: null,
version: map['version'] as int?,
metadata: map['metadata'] as Map<String, dynamic>?,
);
}