@@ -13,22 +13,67 @@ import {
13
13
Right ,
14
14
Icon ,
15
15
Form ,
16
+ Textarea ,
16
17
Text
17
18
} from "native-base" ;
19
+ import { StatusBar } from 'react-native' ;
18
20
import styles from "./styles" ;
21
+ import * as bip39 from '../../components/bip39' ;
22
+ import * as phore from '../../wallet' ;
23
+ import * as RealmDB from '../../realm/RealmSchemas' ;
24
+ import * as hdkey from '../../components/hdkey' ;
25
+ import * as uuid from "react-native-uuid" ;
19
26
20
27
class RestoreMnemonic extends Component {
28
+
29
+ state = {
30
+ inputcode : '' ,
31
+ seed : '' ,
32
+ hdmaster : '' ,
33
+ keypair : '' ,
34
+ WIF : '' ,
35
+ pubkey : '' ,
36
+ address : '' ,
37
+ xpub : '' ,
38
+ xprv : ''
39
+
40
+ }
41
+
42
+
43
+ importWallet = ( ) => {
44
+ RealmDB . realm . write ( ( ) => {
45
+ var wid = uuid . v1 ( )
46
+ var seed = bip39 . generateSeed ( this . state . inputcode )
47
+ var hdmaster = phore . generateHDMaster ( seed )
48
+ var keypair = phore . generateKeyPairFromMaster ( hdmaster , 1 )
49
+ var WIF = phore . getWIFfromKeyPair ( keypair )
50
+ var recaddress = phore . getAddressFromKeyPair ( keypair )
51
+ var hdk = hdkey . rnHDKey ( seed )
52
+ var xpub = hdk . publicExtendedKey
53
+ var xprv = hdk . privateExtendedKey
54
+ RealmDB . realm . create ( 'FullWallet' , {
55
+ wid : wid ,
56
+ seed : seed ,
57
+ WIF : WIF ,
58
+ recaddress : recaddress ,
59
+ xpub : xpub ,
60
+ xprv : xprv
61
+ } )
62
+ } )
63
+ }
64
+
21
65
render ( ) {
22
66
return (
23
67
< Container style = { styles . container } >
24
68
< Header >
69
+ < StatusBar barStyle = "light-content" />
25
70
< Left >
26
71
< Button transparent onPress = { ( ) => this . props . navigation . goBack ( ) } >
27
- < Icon name = "arrow-back" />
72
+ < Icon name = "arrow-back" style = { { color : 'white' } } />
28
73
</ Button >
29
74
</ Left >
30
75
< Body >
31
- < Title > Restore Mnemonic</ Title >
76
+ < Title style = { { color : 'white' } } > Restore Mnemonic</ Title >
32
77
</ Body >
33
78
< Right >
34
79
@@ -39,84 +84,25 @@ class RestoreMnemonic extends Component {
39
84
40
85
< Text style = { { alignSelf : 'center' } } > To restore your wallet you must enter the 24 words of your mnemonic code in the right order</ Text >
41
86
< Form >
42
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
43
- < Input placeholder = "" />
44
- </ Item >
45
-
46
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
47
- < Input placeholder = "" />
48
- </ Item >
49
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
50
- < Input placeholder = "" />
51
- </ Item >
52
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
53
- < Input placeholder = "" />
54
- </ Item >
55
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
56
- < Input placeholder = "" />
57
- </ Item >
58
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
59
- < Input placeholder = "" />
60
- </ Item >
61
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
62
- < Input placeholder = "" />
63
- </ Item >
64
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
65
- < Input placeholder = "" />
66
- </ Item >
67
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
68
- < Input placeholder = "" />
69
- </ Item >
70
-
71
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
72
- < Input placeholder = "" />
73
- </ Item >
74
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
75
- < Input placeholder = "" />
76
- </ Item >
77
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
78
- < Input placeholder = "" />
79
- </ Item >
80
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
81
- < Input placeholder = "" />
82
- </ Item >
83
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
84
- < Input placeholder = "" />
85
- </ Item >
86
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
87
- < Input placeholder = "" />
88
- </ Item >
89
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
90
- < Input placeholder = "" />
91
- </ Item >
92
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
93
- < Input placeholder = "" />
94
- </ Item >
95
-
96
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
97
- < Input placeholder = "" />
98
- </ Item >
99
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
100
- < Input placeholder = "" />
101
- </ Item >
102
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
103
- < Input placeholder = "" />
104
- </ Item >
105
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
106
- < Input placeholder = "" />
107
- </ Item >
108
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
109
- < Input placeholder = "" />
110
- </ Item >
111
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
112
- < Input placeholder = "" />
113
- </ Item >
114
- < Item regular style = { { marginLeft : 15 , margin : 15 , marginTop : 15 } } >
115
- < Input placeholder = "" />
116
- </ Item >
87
+ < Textarea rowSpan = { 10 } bordered placeholder = "Input words with space in between each"
88
+
89
+ Input
90
+ onChangeText = { ( inputcode ) => this . setState ( { inputcode} ) }
91
+ value = { this . state . inputcode } />
92
+
93
+
94
+
117
95
118
96
< Button bordered dark block style = { { margin : 15 , marginTop : 15 } }
119
- onPress = { ( ) => this . props . navigation . navigate ( "RestoreWallet" ) } >
97
+ onPress = { ( ) => {
98
+
99
+ console . log ( 'inputcode is: ' + this . state . inputcode )
100
+
101
+ this . importWallet ( )
102
+
103
+ }
104
+
105
+ } >
120
106
< Text > Confirm</ Text >
121
107
</ Button >
122
108
0 commit comments