mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2025-03-10 17:26:28 +01:00
WalletApplication: support BIP-43/BIP-44/BIP-84
Create a new constructor in WalletApplication that defaults KeyChainGroupStructure to BIP43.
This commit is contained in:
parent
bf71730c3d
commit
b95d526a0e
1 changed files with 9 additions and 2 deletions
|
@ -29,6 +29,7 @@ import org.bitcoinj.utils.AppDataDirectory;
|
||||||
import org.bitcoinj.utils.BriefLogFormatter;
|
import org.bitcoinj.utils.BriefLogFormatter;
|
||||||
import org.bitcoinj.utils.Threading;
|
import org.bitcoinj.utils.Threading;
|
||||||
import org.bitcoinj.wallet.DeterministicSeed;
|
import org.bitcoinj.wallet.DeterministicSeed;
|
||||||
|
import org.bitcoinj.wallet.KeyChainGroupStructure;
|
||||||
import org.bitcoinj.walletfx.utils.GuiUtils;
|
import org.bitcoinj.walletfx.utils.GuiUtils;
|
||||||
import wallettemplate.WalletSetPasswordController;
|
import wallettemplate.WalletSetPasswordController;
|
||||||
|
|
||||||
|
@ -46,16 +47,22 @@ public abstract class WalletApplication implements AppDelegate {
|
||||||
private WalletAppKit walletAppKit;
|
private WalletAppKit walletAppKit;
|
||||||
private final String applicationName;
|
private final String applicationName;
|
||||||
private final NetworkParameters params;
|
private final NetworkParameters params;
|
||||||
|
private final KeyChainGroupStructure keyChainGroupStructure;
|
||||||
private final Script.ScriptType preferredOutputScriptType;
|
private final Script.ScriptType preferredOutputScriptType;
|
||||||
private final String walletFileName;
|
private final String walletFileName;
|
||||||
private MainWindowController controller;
|
private MainWindowController controller;
|
||||||
|
|
||||||
public WalletApplication(String applicationName, NetworkParameters params, Script.ScriptType preferredOutputScriptType) {
|
public WalletApplication(String applicationName, NetworkParameters params, Script.ScriptType preferredOutputScriptType, KeyChainGroupStructure keyChainGroupStructure) {
|
||||||
instance = this;
|
instance = this;
|
||||||
this.applicationName = applicationName;
|
this.applicationName = applicationName;
|
||||||
this.walletFileName = applicationName.replaceAll("[^a-zA-Z0-9.-]", "_") + "-" + params.getPaymentProtocolId();
|
this.walletFileName = applicationName.replaceAll("[^a-zA-Z0-9.-]", "_") + "-" + params.getPaymentProtocolId();
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.preferredOutputScriptType = preferredOutputScriptType;
|
this.preferredOutputScriptType = preferredOutputScriptType;
|
||||||
|
this.keyChainGroupStructure = keyChainGroupStructure;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WalletApplication(String applicationName, NetworkParameters params, Script.ScriptType preferredOutputScriptType) {
|
||||||
|
this(applicationName, params, preferredOutputScriptType, KeyChainGroupStructure.BIP43);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static WalletApplication instance() {
|
public static WalletApplication instance() {
|
||||||
|
@ -143,7 +150,7 @@ public abstract class WalletApplication implements AppDelegate {
|
||||||
public void setupWalletKit(@Nullable DeterministicSeed seed) {
|
public void setupWalletKit(@Nullable DeterministicSeed seed) {
|
||||||
// If seed is non-null it means we are restoring from backup.
|
// If seed is non-null it means we are restoring from backup.
|
||||||
File appDataDirectory = AppDataDirectory.get(applicationName).toFile();
|
File appDataDirectory = AppDataDirectory.get(applicationName).toFile();
|
||||||
walletAppKit = new WalletAppKit(params, preferredOutputScriptType, null, appDataDirectory, walletFileName) {
|
walletAppKit = new WalletAppKit(params, preferredOutputScriptType, keyChainGroupStructure, appDataDirectory, walletFileName) {
|
||||||
@Override
|
@Override
|
||||||
protected void onSetupCompleted() {
|
protected void onSetupCompleted() {
|
||||||
Platform.runLater(controller::onBitcoinSetup);
|
Platform.runLater(controller::onBitcoinSetup);
|
||||||
|
|
Loading…
Add table
Reference in a new issue