@@ -15,6 +15,7 @@ class LwkRnModule: NSObject {
15
15
var _psets : [ String : Pset ] = [ : ]
16
16
var _txBuilders : [ String : TxBuilder ] = [ : ]
17
17
var _contracts : [ String : Contract ] = [ : ]
18
+ var _bips : [ String : Bip ] = [ : ]
18
19
19
20
/* WolletDescriptor */
20
21
@objc
@@ -40,7 +41,48 @@ class LwkRnModule: NSObject {
40
41
resolve ( _descriptors [ keyId] !. description)
41
42
}
42
43
44
+ /* Bip */
45
+ @objc
46
+ func newBip49(
47
+ resolve: RCTPromiseResolveBlock ,
48
+ reject: RCTPromiseRejectBlock
49
+ ) -> Void {
50
+ do {
51
+ let id = randomId ( )
52
+ _bips [ id] = try Bip . newBip49 ( )
53
+ resolve ( id)
54
+ } catch {
55
+ reject ( " Bip newBip49 error " , error. localizedDescription, error)
56
+ }
57
+ }
43
58
59
+ @objc
60
+ func newBip84(
61
+ resolve: RCTPromiseResolveBlock ,
62
+ reject: RCTPromiseRejectBlock
63
+ ) -> Void {
64
+ do {
65
+ let id = randomId ( )
66
+ _bips [ id] = try Bip . newBip84 ( )
67
+ resolve ( id)
68
+ } catch {
69
+ reject ( " Bip newBip84 error " , error. localizedDescription, error)
70
+ }
71
+ }
72
+
73
+ @objc
74
+ func newBip87(
75
+ resolve: RCTPromiseResolveBlock ,
76
+ reject: RCTPromiseRejectBlock
77
+ ) -> Void {
78
+ do {
79
+ let id = randomId ( )
80
+ _bips [ id] = try Bip . newBip87 ( )
81
+ resolve ( id)
82
+ } catch {
83
+ reject ( " Bip newBip87 error " , error. localizedDescription, error)
84
+ }
85
+ }
44
86
45
87
/* Signer */
46
88
@objc
@@ -94,6 +136,54 @@ class LwkRnModule: NSObject {
94
136
reject ( " Signer wpkhSlip77Descriptor error " , error. localizedDescription, error)
95
137
}
96
138
}
139
+
140
+ @objc
141
+ func keyoriginXpub(
142
+ _ signerId: String ,
143
+ _ bipId: String ,
144
+ resolve: RCTPromiseResolveBlock ,
145
+ reject: RCTPromiseRejectBlock
146
+ ) -> Void {
147
+ do {
148
+ let signer = _signers [ signerId]
149
+ let bip = _bips [ bipId]
150
+ let res = try signer? . keyoriginXpub ( bip)
151
+ resolve ( res)
152
+ } catch {
153
+ reject ( " Signer keyoriginXpub error " , error. localizedDescription, error)
154
+ }
155
+ }
156
+
157
+ @objc
158
+ func mnemonic(
159
+ _ signerId: String ,
160
+ resolve: RCTPromiseResolveBlock ,
161
+ reject: RCTPromiseRejectBlock
162
+ ) -> Void {
163
+ do {
164
+ let signer = _signers [ signerId]
165
+ let res = try signer? . mnemonic ( )
166
+ resolve ( res)
167
+ } catch {
168
+ reject ( " Signer mnemonic error " , error. localizedDescription, error)
169
+ }
170
+ }
171
+
172
+ @objc
173
+ func createRandomSigner(
174
+ _ network: String ,
175
+ resolve: RCTPromiseResolveBlock ,
176
+ reject: RCTPromiseRejectBlock
177
+ ) -> Void {
178
+ do {
179
+ let id = randomId ( )
180
+ let network = setNetwork ( networkStr: network)
181
+ _signers [ id] = try Signer . random ( network: network)
182
+ resolve ( id)
183
+ } catch {
184
+ reject ( " Signer createRandomSigner error " , error. localizedDescription, error)
185
+ }
186
+ }
97
187
98
188
/* Electrum client */
99
189
0 commit comments