Browse Source

pass desired account number to keystore import description

terminal
Craig Raw 3 years ago
parent
commit
e565786bbc
  1. 15
      src/main/java/com/sparrowwallet/sparrow/control/FileKeystoreImportPane.java
  2. 2
      src/main/java/com/sparrowwallet/sparrow/io/CoboVaultMultisig.java
  3. 2
      src/main/java/com/sparrowwallet/sparrow/io/CoboVaultSinglesig.java
  4. 4
      src/main/java/com/sparrowwallet/sparrow/io/ColdcardMultisig.java
  5. 4
      src/main/java/com/sparrowwallet/sparrow/io/ColdcardSinglesig.java
  6. 2
      src/main/java/com/sparrowwallet/sparrow/io/Electrum.java
  7. 2
      src/main/java/com/sparrowwallet/sparrow/io/GordianSeedTool.java
  8. 2
      src/main/java/com/sparrowwallet/sparrow/io/KeystoneMultisig.java
  9. 2
      src/main/java/com/sparrowwallet/sparrow/io/KeystoneSinglesig.java
  10. 4
      src/main/java/com/sparrowwallet/sparrow/io/KeystoreFileImport.java
  11. 3
      src/main/java/com/sparrowwallet/sparrow/io/KeystoreImport.java
  12. 2
      src/main/java/com/sparrowwallet/sparrow/io/PassportMultisig.java
  13. 2
      src/main/java/com/sparrowwallet/sparrow/io/PassportSinglesig.java
  14. 2
      src/main/java/com/sparrowwallet/sparrow/io/SeedSigner.java
  15. 2
      src/main/java/com/sparrowwallet/sparrow/io/SpecterDIY.java

15
src/main/java/com/sparrowwallet/sparrow/control/FileKeystoreImportPane.java

@ -16,7 +16,7 @@ public class FileKeystoreImportPane extends FileImportPane {
private final KeyDerivation requiredDerivation;
public FileKeystoreImportPane(Wallet wallet, KeystoreFileImport importer, KeyDerivation requiredDerivation) {
super(importer, importer.getName(), "Keystore import", importer.getKeystoreImportDescription(), "image/" + importer.getWalletModel().getType() + ".png", importer.isKeystoreImportScannable(), importer.isFileFormatAvailable());
super(importer, importer.getName(), "Keystore import", importer.getKeystoreImportDescription(getAccount(wallet, requiredDerivation)), "image/" + importer.getWalletModel().getType() + ".png", importer.isKeystoreImportScannable(), importer.isFileFormatAvailable());
this.wallet = wallet;
this.importer = importer;
this.requiredDerivation = requiredDerivation;
@ -34,4 +34,17 @@ public class FileKeystoreImportPane extends FileImportPane {
EventManager.get().post(new KeystoreImportEvent(keystore));
}
}
private static int getAccount(Wallet wallet, KeyDerivation requiredDerivation) {
if(wallet == null || requiredDerivation == null) {
return 0;
}
int account = wallet.getScriptType().getAccount(requiredDerivation.getDerivationPath());
if(account < 0) {
account = 0;
}
return account;
}
}

2
src/main/java/com/sparrowwallet/sparrow/io/CoboVaultMultisig.java

@ -28,7 +28,7 @@ public class CoboVaultMultisig extends ColdcardMultisig {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created by using the Multisig Wallet > ... > Show/Export XPUB feature on your Cobo Vault.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/CoboVaultSinglesig.java

@ -24,7 +24,7 @@ public class CoboVaultSinglesig implements KeystoreFileImport, WalletImport {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created by using the My Cobo Vault > ... > Export Wallet feature on your Cobo Vault.";
}

4
src/main/java/com/sparrowwallet/sparrow/io/ColdcardMultisig.java

@ -84,8 +84,8 @@ public class ColdcardMultisig implements WalletImport, KeystoreFileImport, Walle
}
@Override
public String getKeystoreImportDescription() {
return "Import file created by using the Settings > Multisig Wallets > Export XPUB > 0 feature on your Coldcard.";
public String getKeystoreImportDescription(int account) {
return "Import file created by using the Settings > Multisig Wallets > Export XPUB > " + account + " feature on your Coldcard.";
}
@Override

4
src/main/java/com/sparrowwallet/sparrow/io/ColdcardSinglesig.java

@ -28,8 +28,8 @@ public class ColdcardSinglesig implements KeystoreFileImport, WalletImport {
}
@Override
public String getKeystoreImportDescription() {
return "Import file created by using the Advanced > MicroSD > Export Wallet > Generic JSON > 0 feature on your Coldcard. Note this requires firmware version 3.1.3 or later.";
public String getKeystoreImportDescription(int account) {
return "Import file created by using the Advanced > MicroSD > Export Wallet > Generic JSON > " + account + " feature on your Coldcard. Note this requires firmware version 3.1.3 or later.";
}
@Override

2
src/main/java/com/sparrowwallet/sparrow/io/Electrum.java

@ -35,7 +35,7 @@ public class Electrum implements KeystoreFileImport, WalletImport, WalletExport
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import a single keystore from an Electrum wallet (use File > Import > Electrum to import a multisig wallet).";
}

2
src/main/java/com/sparrowwallet/sparrow/io/GordianSeedTool.java

@ -35,7 +35,7 @@ public class GordianSeedTool implements KeystoreFileImport {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Select your seed and scan the QR code created by Authenticate > Derive Key > Other Key Derivations > " + Network.get().toDisplayString() + " > Master Key > Account Descriptor. Click the share icon at the bottom.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/KeystoneMultisig.java

@ -28,7 +28,7 @@ public class KeystoneMultisig extends ColdcardMultisig {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created by using the Multisig Wallet > ... > Show/Export XPUB feature on your Keystone.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/KeystoneSinglesig.java

@ -27,7 +27,7 @@ public class KeystoneSinglesig implements KeystoreFileImport, WalletImport {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created by using the My Keystone > ... > Export Wallet feature on your Keystone. Make sure to set the Watch-only Wallet to Sparrow in the Settings first.";
}

4
src/main/java/com/sparrowwallet/sparrow/io/KeystoreFileImport.java

@ -7,6 +7,10 @@ import java.io.InputStream;
public interface KeystoreFileImport extends KeystoreImport, FileImport {
Keystore getKeystore(ScriptType scriptType, InputStream inputStream, String password) throws ImportException;
String getKeystoreImportDescription(int account);
default String getKeystoreImportDescription() {
return getKeystoreImportDescription(0);
}
boolean isKeystoreImportScannable();
default boolean isFileFormatAvailable() {
return true;

3
src/main/java/com/sparrowwallet/sparrow/io/KeystoreImport.java

@ -1,8 +1,5 @@
package com.sparrowwallet.sparrow.io;
import com.sparrowwallet.drongo.policy.PolicyType;
import com.sparrowwallet.drongo.wallet.WalletModel;
public interface KeystoreImport extends Import {
String getKeystoreImportDescription();
}

2
src/main/java/com/sparrowwallet/sparrow/io/PassportMultisig.java

@ -27,7 +27,7 @@ public class PassportMultisig extends ColdcardMultisig {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created from New Account > Sparrow > Multisig > QR Code/microSD on your Passport. For existing accounts, use Manage Account > Export by QR/microSD.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/PassportSinglesig.java

@ -13,7 +13,7 @@ public class PassportSinglesig extends ColdcardSinglesig {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created from New Account > Sparrow > Standard > QR Code/microSD on your Passport. For existing accounts, use Manage Account > Export by QR/microSD.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/SeedSigner.java

@ -9,7 +9,7 @@ public class SeedSigner extends SpecterDIY {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import QR created on your SeedSigner by selecting xPub from Seed in the Seed Tools menu once you have entered your seed.";
}

2
src/main/java/com/sparrowwallet/sparrow/io/SpecterDIY.java

@ -45,7 +45,7 @@ public class SpecterDIY implements KeystoreFileImport, WalletExport {
}
@Override
public String getKeystoreImportDescription() {
public String getKeystoreImportDescription(int account) {
return "Import file or QR created by using the Master Public Keys feature on your Specter DIY device. Note the default is P2WPKH for Single Signature, and P2WSH for Multi Signature.";
}

Loading…
Cancel
Save