import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; part 'payjoin_session.part.dart'; // @HiveType(typeId: PAYJOIN_SESSION_TYPE_ID) class PayjoinSession extends HiveObject { PayjoinSession({ required this.walletId, this.receiver, this.sender, this.pjUri, this.status = "created", this.inProgressSince, this.rawAmount, }) { if (receiver == null) { assert(sender != null); assert(pjUri != null); } else { assert(receiver != null); } } static const typeId = PAYJOIN_SESSION_TYPE_ID; static const boxName = 'PayjoinSessions'; // @HiveField(0) final String walletId; // @HiveField(1) final String? sender; // @HiveField(2) final String? receiver; // @HiveField(3) final String? pjUri; // @HiveField(4) String status; // @HiveField(5) DateTime? inProgressSince; // @HiveField(6) String? txId; // @HiveField(7) String? rawAmount; // @HiveField(8) String? error; bool get isSenderSession => sender != null; BigInt get amount => BigInt.parse(rawAmount ?? "0"); set amount(BigInt amount) => rawAmount = amount.toString(); } enum PayjoinSessionStatus { created, inProgress, success, unrecoverable, }