dev
dart 44 lines 1.09 KB
Raw
1 import 'package:cw_core/payment_uris.dart';
2 import 'package:cw_core/utils/print_verbose.dart';
3 import 'package:cw_core/wallet_addresses.dart';
4 import 'package:cw_core/wallet_info.dart';
5 import 'package:mobx/mobx.dart';
6
7 part 'zano_wallet_addresses.g.dart';
8
9 class ZanoWalletAddresses = ZanoWalletAddressesBase with _$ZanoWalletAddresses;
10
11 abstract class ZanoWalletAddressesBase extends WalletAddresses with Store {
12 ZanoWalletAddressesBase(WalletInfo walletInfo)
13 : address = '',
14 super(walletInfo);
15
16 @override
17 @observable
18 String address;
19
20 @override
21 Future<void> init() async {
22 address = walletInfo.address;
23 await updateAddressesInBox();
24 }
25
26 Future<void> updateAddress(String address) async {
27 this.address = address;
28 await updateAddressesInBox();
29 }
30
31 @override
32 Future<void> updateAddressesInBox() async {
33 try {
34 addressesMap.clear();
35 addressesMap[address] = '';
36 await saveAddressesInBox();
37 } catch (e) {
38 printV(e.toString());
39 }
40 }
41
42 @override
43 PaymentURI getPaymentUri(String amount) => ZanoURI(amount: amount, address: address);
44 }