diff --git a/drongo b/drongo index 0bb5b75b..579c86b1 160000 --- a/drongo +++ b/drongo @@ -1 +1 @@ -Subproject commit 0bb5b75be52ca4ee9dc771dae30d2b7cb9a49bd2 +Subproject commit 579c86b1a748e410c51f637cd79cbb701996b7e3 diff --git a/src/main/java/com/sparrowwallet/sparrow/control/WalletImportDialog.java b/src/main/java/com/sparrowwallet/sparrow/control/WalletImportDialog.java index a6056a59..29683b28 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/WalletImportDialog.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/WalletImportDialog.java @@ -51,7 +51,7 @@ public class WalletImportDialog extends Dialog { AnchorPane.setRightAnchor(scrollPane, 0.0); importAccordion = new Accordion(); - List keystoreImporters = List.of(new ColdcardSinglesig(), new CoboVaultSinglesig(), new Jade(), new KeystoneSinglesig(), new PassportSinglesig(), new GordianSeedTool(), new SeedSigner(), new SpecterDIY(), new Krux()); + List keystoreImporters = List.of(new ColdcardSinglesig(), new CoboVaultSinglesig(), new Jade(), new KeystoneSinglesig(), new PassportSinglesig(), new GordianSeedTool(), new SeedSigner(), new SpecterDIY(), new Krux(), new AirGapVault()); for(KeystoreFileImport importer : keystoreImporters) { if(!importer.isDeprecated() || Config.get().isShowDeprecatedImportExport()) { FileWalletKeystoreImportPane importPane = new FileWalletKeystoreImportPane(importer); diff --git a/src/main/java/com/sparrowwallet/sparrow/io/AirGapVault.java b/src/main/java/com/sparrowwallet/sparrow/io/AirGapVault.java new file mode 100644 index 00000000..8ccb8be8 --- /dev/null +++ b/src/main/java/com/sparrowwallet/sparrow/io/AirGapVault.java @@ -0,0 +1,35 @@ +package com.sparrowwallet.sparrow.io; + +import com.sparrowwallet.drongo.wallet.WalletModel; + +public class AirGapVault extends KeystoneSinglesig { + @Override + public String getName() { + return "AirGap Vault"; + } + + @Override + public String getKeystoreImportDescription(int account) { + return "Import QR created on your AirGap Vault, by selecting the Secret > Account > Sparrow Wallet"; + } + + @Override + public WalletModel getWalletModel() { + return WalletModel.AIRGAP_VAULT; + } + + @Override + public boolean isFileFormatAvailable() { + return false; + } + + @Override + public boolean isWalletImportFileFormatAvailable() { + return false; + } + + @Override + public boolean isDeprecated() { + return true; + } +} diff --git a/src/main/java/com/sparrowwallet/sparrow/keystoreimport/HwAirgappedController.java b/src/main/java/com/sparrowwallet/sparrow/keystoreimport/HwAirgappedController.java index d91bd691..1cb4b71b 100644 --- a/src/main/java/com/sparrowwallet/sparrow/keystoreimport/HwAirgappedController.java +++ b/src/main/java/com/sparrowwallet/sparrow/keystoreimport/HwAirgappedController.java @@ -25,7 +25,7 @@ public class HwAirgappedController extends KeystoreImportDetailController { public void initializeView() { List fileImporters = Collections.emptyList(); if(getMasterController().getWallet().getPolicyType().equals(PolicyType.SINGLE)) { - fileImporters = List.of(new ColdcardSinglesig(), new CoboVaultSinglesig(), new Jade(), new KeystoneSinglesig(), new PassportSinglesig(), new SeedSigner(), new GordianSeedTool(), new SpecterDIY(), new Krux()); + fileImporters = List.of(new ColdcardSinglesig(), new CoboVaultSinglesig(), new Jade(), new KeystoneSinglesig(), new PassportSinglesig(), new SeedSigner(), new GordianSeedTool(), new SpecterDIY(), new Krux(), new AirGapVault()); } else if(getMasterController().getWallet().getPolicyType().equals(PolicyType.MULTI)) { fileImporters = List.of(new Bip129(), new ColdcardMultisig(), new CoboVaultMultisig(), new Jade(), new KeystoneMultisig(), new PassportMultisig(), new SeedSigner(), new GordianSeedTool(), new SpecterDIY(), new Krux()); } diff --git a/src/main/resources/image/airgapvault-icon-invert.svg b/src/main/resources/image/airgapvault-icon-invert.svg new file mode 100644 index 00000000..b02c356e --- /dev/null +++ b/src/main/resources/image/airgapvault-icon-invert.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/main/resources/image/airgapvault-icon.svg b/src/main/resources/image/airgapvault-icon.svg new file mode 100644 index 00000000..47aef9d0 --- /dev/null +++ b/src/main/resources/image/airgapvault-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/main/resources/image/airgapvault.png b/src/main/resources/image/airgapvault.png new file mode 100644 index 00000000..2925707b Binary files /dev/null and b/src/main/resources/image/airgapvault.png differ diff --git a/src/main/resources/image/airgapvault@2x.png b/src/main/resources/image/airgapvault@2x.png new file mode 100644 index 00000000..4e4e7694 Binary files /dev/null and b/src/main/resources/image/airgapvault@2x.png differ diff --git a/src/main/resources/image/airgapvault@3x.png b/src/main/resources/image/airgapvault@3x.png new file mode 100644 index 00000000..b5984392 Binary files /dev/null and b/src/main/resources/image/airgapvault@3x.png differ