diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 303c75613..1de28ee3b 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -25,7 +25,7 @@ import { CopayApp } from './app.component';
/* Pages */
import { AddPage } from '../pages/add/add';
-import { SingleWalletPage } from '../pages/add/single-wallet/single-wallet';
+import { SingleWalletPage } from '../pages/add/create-wallet/single-wallet/single-wallet';
import { BackupRequestPage } from '../pages/onboarding/backup-request/backup-request';
import { DisclaimerPage } from '../pages/onboarding/disclaimer/disclaimer';
import { EmailPage } from '../pages/onboarding/email/email';
diff --git a/src/pages/add/add.ts b/src/pages/add/add.ts
index deac5f81d..8f3344444 100644
--- a/src/pages/add/add.ts
+++ b/src/pages/add/add.ts
@@ -1,6 +1,6 @@
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
-import { SingleWalletPage } from "./single-wallet/single-wallet";
+import { SingleWalletPage } from "./create-wallet/single-wallet/single-wallet";
@Component({
selector: 'page-add',
diff --git a/src/pages/add/single-wallet/single-wallet.html b/src/pages/add/create-wallet/single-wallet/single-wallet.html
similarity index 75%
rename from src/pages/add/single-wallet/single-wallet.html
rename to src/pages/add/create-wallet/single-wallet/single-wallet.html
index 63e58ad8b..97f6fe560 100644
--- a/src/pages/add/single-wallet/single-wallet.html
+++ b/src/pages/add/create-wallet/single-wallet/single-wallet.html
@@ -31,9 +31,14 @@
+
+ Wallet recovery phrase
+
+
+
Add a password
-
+
@@ -55,13 +60,18 @@
I have written it down
-
+
-
+
Testnet
-
+
+
+
+
+ Derivation path
+
diff --git a/src/pages/add/single-wallet/single-wallet.scss b/src/pages/add/create-wallet/single-wallet/single-wallet.scss
similarity index 100%
rename from src/pages/add/single-wallet/single-wallet.scss
rename to src/pages/add/create-wallet/single-wallet/single-wallet.scss
diff --git a/src/pages/add/single-wallet/single-wallet.ts b/src/pages/add/create-wallet/single-wallet/single-wallet.ts
similarity index 78%
rename from src/pages/add/single-wallet/single-wallet.ts
rename to src/pages/add/create-wallet/single-wallet/single-wallet.ts
index d76a8c23e..90f706eb8 100644
--- a/src/pages/add/single-wallet/single-wallet.ts
+++ b/src/pages/add/create-wallet/single-wallet/single-wallet.ts
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Validators, FormBuilder, FormGroup } from '@angular/forms';
-import { AppProvider } from '../../../providers/app/app';
+import { AppProvider } from '../../../../providers/app/app';
@Component({
selector: 'page-single-wallet',
@@ -14,6 +14,8 @@ export class SingleWalletPage implements OnInit{
public seedOptions: any;
private appName: string;
+ private derivationPathByDefault: string;
+ private derivationPathForTestnet: string;
private createForm: FormGroup;
constructor(
@@ -21,14 +23,18 @@ export class SingleWalletPage implements OnInit{
private app: AppProvider,
private fb: FormBuilder
) {
+ this.derivationPathByDefault = "m/44'/0'/0'";
+ this.derivationPathForTestnet = "m/44'/1'/0'";
this.showAdvOpts = false;
this.formData = {
walletName: null,
bwsURL: 'https://bws.bitpay.com/bws/api',
+ recoveryPhrase: null,
addPassword: false,
password: null,
confirmPassword: null,
- writtenDown: false,
+ recoveryPhraseBackedUp: null,
+ derivationPath: this.derivationPathByDefault,
testnet: false,
singleAddress: false,
};
@@ -41,10 +47,12 @@ export class SingleWalletPage implements OnInit{
walletName: ['', Validators.required],
bwsURL: [''],
selectedSeed: [''],
+ recoveryPhrase: [''],
addPassword: [''],
password: [''],
confirmPassword: [''],
- writtenDown: ['false'],
+ recoveryPhraseBackedUp: [''],
+ derivationPath: [''],
testnet: [''],
singleAddress: [''],
});
@@ -65,7 +73,7 @@ export class SingleWalletPage implements OnInit{
validatePasswords() {
if (this.formData.addPassword) {
if (this.formData.password == this.formData.confirmPassword) {
- if (this.formData.writtenDown) return false;
+ if (this.formData.recoveryPhraseBackedUp) return false;
}
return true;
}
@@ -79,7 +87,7 @@ export class SingleWalletPage implements OnInit{
supportsTestnet: true
}, {
id: 'set',
- label: 'Specify Recovery Phrase...',
+ label: 'Specify Recovery Phrase',
supportsTestnet: false
}];
this.formData.selectedSeed = {
@@ -118,13 +126,20 @@ export class SingleWalletPage implements OnInit{
seedOptionsChange(seed: any) {
this.formData.selectedSeed.id = seed;
- this.resetPasswordFields();
+ this.formData.testnet = false;
+ this.formData.derivationPath = this.derivationPathByDefault;
+ this.resetFormFields();
}
- resetPasswordFields() {
+ resetFormFields() {
this.formData.password = null;
this.formData.confirmPassword = null;
- this.formData.writtenDown = false;
+ this.formData.recoveryPhraseBackedUp = null;
+ this.formData.recoveryPhrase = null;
+ }
+
+ setDerivationPath() {
+ this.formData.derivationPath = this.formData.testnet ? this.derivationPathForTestnet : this.derivationPathByDefault;
}
create() {