dev
dart 31 lines 930 Bytes
Raw
1 import 'dart:async';
2
3 import 'package:bitbox_flutter/bitbox_manager.dart';
4 import 'package:cw_core/hardware/hardware_account_data.dart';
5 import 'package:cw_core/hardware/hardware_wallet_service.dart';
6
7 class EVMChainBitboxService extends HardwareWalletService {
8 EVMChainBitboxService(this.manager, {this.chainId = 1});
9
10 final BitboxManager manager;
11 final int chainId;
12
13 @override
14 Future<List<HardwareAccountData>> getAvailableAccounts({int index = 0, int limit = 5}) async {
15 final accounts = <HardwareAccountData>[];
16 final indexRange = List.generate(limit, (i) => i + index);
17
18 for (final i in indexRange) {
19 final derivationPath = "m/44'/60'/0'/0/$i";
20 final address = await manager.getETHAddress(chainId, derivationPath);
21
22 accounts.add(HardwareAccountData(
23 address: address,
24 accountIndex: i,
25 derivationPath: derivationPath,
26 ));
27 }
28
29 return accounts;
30 }
31 }