dev
dart 47 lines 1.09 KB
Raw
1 import "dart:developer";
2
3 import "package:cw_core/payment_uris.dart";
4 import "package:cw_core/wallet_addresses.dart";
5 import "package:mobx/mobx.dart";
6
7 part "evm_chain_wallet_addresses.g.dart";
8
9 class EVMChainWalletAddresses = EVMChainWalletAddressesBase with _$EVMChainWalletAddresses;
10
11 abstract class EVMChainWalletAddressesBase extends WalletAddresses with Store {
12 EVMChainWalletAddressesBase(super.walletInfo, this._selectedChainId) : address = "";
13
14 @override
15 @observable
16 String address;
17
18 @override
19 String get primaryAddress => address;
20
21 final int _selectedChainId;
22
23 @override
24 Future<void> init() async {
25 address = walletInfo.address;
26 await updateAddressesInBox();
27 }
28
29 @override
30 Future<void> updateAddressesInBox() async {
31 try {
32 addressesMap.clear();
33 addressesMap[address] = "";
34 await saveAddressesInBox();
35 } catch (e) {
36 log(e.toString());
37 }
38 }
39
40 @override
41 PaymentURI getPaymentUri(String amount) => ERC681URI(
42 address: address,
43 amount: amount,
44 chainId: _selectedChainId,
45 contractAddress: null,
46 );
47 }