import 'package:cw_core/wallet_addresses.dart'; import 'package:cw_core/wallet_info.dart'; import 'package:cw_core/nano_account.dart'; import 'package:cw_nano/nano_account_list.dart'; // import 'package:cw_core/account.dart'; // import 'package:cw_core/subaddress.dart'; import 'package:mobx/mobx.dart'; import 'package:hive/hive.dart'; part 'nano_wallet_addresses.g.dart'; class NanoWalletAddresses = NanoWalletAddressesBase with _$NanoWalletAddresses; abstract class NanoWalletAddressesBase extends WalletAddresses with Store { NanoWalletAddressesBase(WalletInfo walletInfo) : accountList = NanoAccountList(walletInfo.address), address = '', super(walletInfo); @override @observable String address; @observable NanoAccount? account; NanoAccountList accountList; @override Future init() async { var box = await Hive.openBox(walletInfo.address); try { box.getAt(0); } catch (e) { box.add(NanoAccount(id: 0, label: "Primary Account", balance: "0.00")); } await accountList.update(walletInfo.address); account = accountList.accounts.first; address = walletInfo.address; } @override Future updateAddressesInBox() async {} }