import 'dart:ui'; import 'package:stackwallet/utilities/logger.dart'; class Pair { final String from; final String fromNetwork; final String to; final String toNetwork; final bool fixedRate; final bool floatingRate; Pair({ required this.from, required this.fromNetwork, required this.to, required this.toNetwork, required this.fixedRate, required this.floatingRate, }); factory Pair.fromMap(Map map) { try { return Pair( from: map["from"] as String, fromNetwork: map["fromNetwork"] as String, to: map["to"] as String, toNetwork: map["toNetwork"] as String, fixedRate: map["fixedRate"] as bool, floatingRate: map["floatingRate"] as bool, ); } catch (e, s) { Logging.instance.log("Pair.fromMap(): $e\n$s", level: LogLevel.Error); rethrow; } } Map toMap() { return { "from": from, "fromNetwork": fromNetwork, "to": to, "toNetwork": toNetwork, "fixedRate": fixedRate, "floatingRate": floatingRate, }; } @override bool operator ==(other) => other is Pair && from == other.from && fromNetwork == other.fromNetwork && to == other.to && toNetwork == other.toNetwork && fixedRate == other.fixedRate && floatingRate == other.floatingRate; @override int get hashCode => hashValues( from, fromNetwork, to, toNetwork, fixedRate, floatingRate, ); @override String toString() => "Pair: ${toMap()}"; }