feat: handle `label` restore field from cupcake (#2551)
cyan committed
Oct 3, 2025 at 13:58 UTC
9843c3c156b0cef5f6d8a3e7bab09fbfa8caf345
2 files changed
+10
-2
lib/src/screens/restore/wallet_restore_from_keys_form.dart
+6
-2
@@ -44,7 +44,9 @@ class WalletRestoreFromKeysFormState extends State<WalletRestoreFromKeysForm> {
44
{required bool displayWalletPassword, RestoredWallet? restoredWallet})
45
: formKey = GlobalKey<FormState>(),
46
blockchainHeightKey = GlobalKey<BlockchainHeightState>(),
47
- nameController = TextEditingController(),
47
+ nameController = restoredWallet != null
48
+ ? TextEditingController(text: restoredWallet.name)
49
+ : TextEditingController(),
50
addressController = restoredWallet != null
51
? TextEditingController(text: restoredWallet.address)
52
: TextEditingController(),
@@ -57,7 +59,9 @@ class WalletRestoreFromKeysFormState extends State<WalletRestoreFromKeysForm> {
59
privateKeyController = restoredWallet != null
60
? TextEditingController(text: restoredWallet.privateKey)
61
: TextEditingController(),
60
- nameTextEditingController = TextEditingController(),
62
+ nameTextEditingController = restoredWallet != null
63
+ ? TextEditingController(text: restoredWallet.name)
64
+ : TextEditingController(),
65
passwordTextEditingController = displayWalletPassword ? TextEditingController() : null,
66
repeatedPasswordTextEditingController =
67
displayWalletPassword ? TextEditingController() : null;
lib/view_model/restore/restore_wallet.dart
+4
@@ -9,6 +9,7 @@ class RestoredWallet {
9
{required this.restoreMode,
10
required this.type,
11
required this.address,
12
+ this.name,
13
this.txId,
14
this.spendKey,
15
this.viewKey,
@@ -22,6 +23,7 @@ class RestoredWallet {
23
24
final WalletRestoreMode restoreMode;
25
final WalletType type;
26
+ final String? name;
27
final String? address;
28
final String? txId;
29
final String? spendKey;
@@ -41,6 +43,7 @@ class RestoredWallet {
43
json['address'] = codeParsed["primaryAddress"];
44
json['view_key'] = codeParsed["privateViewKey"];
45
json['height'] = codeParsed["restoreHeight"].toString();
46
+ json['label'] = codeParsed["label"];
47
}
48
} catch (e) {
49
// fine, we don't care, it is only for monero anyway
@@ -51,6 +54,7 @@ class RestoredWallet {
54
json['view_key'] ??= json['xpub'];
55
final height = json['height'] as String?;
56
return RestoredWallet(
57
+ name: json['label'] as String?,
58
restoreMode: json['mode'] as WalletRestoreMode,
59
type: json['type'] as WalletType,
60
address: json['address'] as String?,