mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-23 12:09:43 +00:00
39 lines
910 B
Dart
39 lines
910 B
Dart
import 'package:flutter/foundation.dart';
|
|
import 'package:hive/hive.dart';
|
|
import 'package:cw_core/crypto_currency.dart';
|
|
import 'package:cake_wallet/utils/mobx.dart';
|
|
import 'package:cw_core/keyable.dart';
|
|
|
|
part 'contact.g.dart';
|
|
|
|
@HiveType(typeId: Contact.typeId)
|
|
class Contact extends HiveObject with Keyable {
|
|
Contact({@required this.name, @required this.address, CryptoCurrency type})
|
|
: raw = type?.raw;
|
|
|
|
static const typeId = 0;
|
|
static const boxName = 'Contacts';
|
|
|
|
@HiveField(0)
|
|
String name;
|
|
|
|
@HiveField(1)
|
|
String address;
|
|
|
|
@HiveField(2)
|
|
int raw;
|
|
|
|
CryptoCurrency get type => CryptoCurrency.deserialize(raw: raw);
|
|
|
|
@override
|
|
dynamic get keyIndex => key;
|
|
|
|
@override
|
|
bool operator ==(Object o) => o is Contact && o.key == key;
|
|
|
|
@override
|
|
int get hashCode => key.hashCode;
|
|
|
|
void updateCryptoCurrency({@required CryptoCurrency currency}) =>
|
|
raw = currency.raw;
|
|
}
|