Back next address button on receive screen
M committed
Jan 12, 2022 at 16:49 UTC
91ed52003b0719e68e3e461a0a2d902e0ca0f9d7
3 files changed
+24
-13
cw_bitcoin/lib/electrum_wallet.dart
+1
-1
@@ -239,7 +239,7 @@ abstract class ElectrumWalletBase extends WalletBase<ElectrumBalance,
239
}
240
241
final txb = bitcoin.TransactionBuilder(network: networkType);
242
- final changeAddress = getChangeAddress();
242
+ final changeAddress = walletAddresses.addresses.last.address;
243
var leftAmount = totalAmount;
244
var totalInputAmount = 0;
245
cw_bitcoin/lib/electrum_wallet_addresses.dart
+14
-3
@@ -35,24 +35,35 @@ abstract class ElectrumWalletAddressesBase extends WalletAddresses with Store {
35
36
ObservableList<BitcoinAddressRecord> addresses;
37
38
+ List<BitcoinAddressRecord> get availableAddresses => addresses
39
+ .where((addr) => addr.isHidden)
40
+ .toList();
41
+
42
int accountIndex;
43
44
@override
45
Future<void> init() async {
46
await generateAddresses();
43
- address = addresses[accountIndex].address;
47
+ final _availableAddresses = availableAddresses;
48
+
49
+ if (accountIndex >= _availableAddresses.length) {
50
+ accountIndex = 0;
51
+ }
52
+
53
+ address = _availableAddresses[accountIndex].address;
54
await updateAddressesInBox();
55
}
56
57
@action
58
Future<void> nextAddress() async {
59
accountIndex += 1;
60
+ final _availableAddresses = availableAddresses;
61
51
- if (accountIndex >= addresses.length) {
62
+ if (accountIndex >= _availableAddresses.length) {
63
accountIndex = 0;
64
}
65
55
- address = addresses[accountIndex].address;
66
+ address = _availableAddresses[accountIndex].address;
67
68
await updateAddressesInBox();
69
}
lib/src/screens/dashboard/widgets/address_page.dart
+9
-9
@@ -125,15 +125,15 @@ class AddressPage extends StatelessWidget {
125
],
126
),
127
),
128
- ) : Container();
129
- //: PrimaryButton(
130
- // onPressed: () => addressListViewModel.nextAddress(),
131
- // text: 'Next address',
132
- // color: Theme.of(context).buttonColor,
133
- // textColor: Theme.of(context)
134
- // .accentTextTheme
135
- // .display3
136
- // .backgroundColor);
128
+ )
129
+ : PrimaryButton(
130
+ onPressed: () => addressListViewModel.nextAddress(),
131
+ text: 'Next address',
132
+ color: Theme.of(context).buttonColor,
133
+ textColor: Theme.of(context)
134
+ .accentTextTheme
135
+ .display3
136
+ .backgroundColor);
137
})
138
],
139
),