dev
dart 41 lines 1.03 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 'solana_wallet_addresses.g.dart';
8
9 class SolanaWalletAddresses = SolanaWalletAddressesBase with _$SolanaWalletAddresses;
10
11 abstract class SolanaWalletAddressesBase extends WalletAddresses with Store {
12 SolanaWalletAddressesBase(WalletInfo walletInfo)
13 : address = '',
14 super(walletInfo);
15
16 @override
17 String address;
18
19 @override
20 String get primaryAddress => address;
21
22 @override
23 Future<void> init() async {
24 address = walletInfo.address;
25 await updateAddressesInBox();
26 }
27
28 @override
29 Future<void> updateAddressesInBox() async {
30 try {
31 addressesMap.clear();
32 addressesMap[address] = '';
33 await saveAddressesInBox();
34 } catch (e) {
35 printV(e.toString());
36 }
37 }
38
39 @override
40 PaymentURI getPaymentUri(String amount) => SolanaURI(address: address, amount: amount);
41 }