Move non-serializable properties
The idea is to have all serializable fields together and by order.
MODIFY
WalletWasabi/Blockchain/Keys/KeyManager.cs
WalletWasabi/Blockchain/Keys/KeyManager.cs
@@ -115,7 +115,8 @@ public class KeyManager
[JsonConverter(typeof(ExtPubKeyJsonConverter))]
public ExtPubKey ExtPubKey { get; }
- [JsonProperty(Order = 5)] public bool SkipSynchronization { get; private set; } = false;
+ [JsonProperty(Order = 5)]
+ public bool SkipSynchronization { get; private set; } = false;
[JsonProperty(Order = 6)]
public int MinGapLimit { get; private set; }
@@ -124,14 +125,6 @@ public class KeyManager
[JsonConverter(typeof(KeyPathJsonConverter))]
public KeyPath AccountKeyPath { get; private set; }
- public string? FilePath { get; private set; }
-
- [MemberNotNullWhen(returnValue: false, nameof(EncryptedSecret))]
- public bool IsWatchOnly => EncryptedSecret is null;
-
- [MemberNotNullWhen(returnValue: true, nameof(MasterFingerprint))]
- public bool IsHardwareWallet => EncryptedSecret is null && MasterFingerprint is not null;
-
[JsonProperty(Order = 8)]
private BlockchainState BlockchainState { get; }
@@ -166,6 +159,14 @@ public class KeyManager
[JsonProperty(Order = 999)]
private List<HdPubKey> HdPubKeys { get; } = new ();
+ public string? FilePath { get; private set; }
+
+ [MemberNotNullWhen(returnValue: false, nameof(EncryptedSecret))]
+ public bool IsWatchOnly => EncryptedSecret is null;
+
+ [MemberNotNullWhen(returnValue: true, nameof(MasterFingerprint))]
+ public bool IsHardwareWallet => EncryptedSecret is null && MasterFingerprint is not null;
+
private object BlockchainStateLock { get; } = new ();
private object HdPubKeysLock { get; } = new ();

Move non-serializable properties

The idea is to have all serializable fields together and by order.