react-native-zcash 0.7.7 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2620000.json +8 -0
- package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2630000.json +8 -0
- package/android/src/main/java/app/edge/rnzcash/RNZcashModule.kt +33 -0
- package/ios/RNZcash.swift +18 -4
- package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2620000.json +8 -0
- package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2630000.json +8 -0
- package/ios/libzcashlc.xcframework/Info.plist +5 -5
- package/lib/rnzcash.rn.js +3 -1
- package/lib/rnzcash.rn.js.map +1 -1
- package/lib/src/react-native.d.ts +1 -1
- package/lib/src/types.d.ts +6 -0
- package/package.json +1 -1
- package/src/react-native.ts +3 -1
- package/src/types.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "main",
|
|
3
|
+
"height": "2620000",
|
|
4
|
+
"hash": "000000000090f3ee85cf2a29fb5d6e5cc6fb509f79a6cff0b6c44c235f4ddba6",
|
|
5
|
+
"time": 1724341443,
|
|
6
|
+
"saplingTree": "0155c1bb2c0008f2d4ed479ca2c79af8b43a51a8d2d3420fccbfb44c2c66cf3a0d01725ed2720f8ddce8534cd5549cedf894d07feea8343aa62f00918797c1db05521f00000001e731cfc3c78a5ce9e21f2b5a9553bbc038dc4f38e6fef523951fef33ba9d6e6900000143c2d3a8743f4535b9d990b60a1c5b494fffe54166939f905a6b710c1bb06a1900000162e301b349b6d7fb581d7c4917717065cf2092a9fa325926c82d1b7682e7710c01b21a0f5e06c1c07e8c14e4ea0b5de1aaa95dc45eef2d048003be6c66e026441a010d3156dcb9605aefb88ad75fd97a78797e7e83c6f7d2cd0f8f2699293e0952520107ce458cf2cc5c0351bc0ecb8e4ce1ab7edc9b9b528dbbbe0a70b9057e4cdf5601889e7a0849bac67b05fe418b808099194a54632db5d8de4dab43ff55c3b22a0a01f762af15779fb5c9593af1a8a9a2c777b9377dcb3117e5c55b4365f1061ea86c012415b957855163102c9f373eec835c3b3aa11f0ac872533a867d3e2eb562d30200000000013e2598f743726006b8de42476ed56a55a75629a7b82e430c4e7c101a69e9b02a011619f99023a69bb647eab2d2aa1a73c3673c74bb033c3c4930eacda19e6fd93b0000000160272b134ca494b602137d89e528c751c06d3ef4a87a45f33af343c15060cc1e0000000000",
|
|
7
|
+
"orchardTree": "019eef8d7f26921e7c276b2f6c52f96a9a2c837b2b07b73800cd21257fe69ed72701532f76468abf55c89ba7756cd5cc4b4ca089f42d413091368be1047bacfa60271f017f9bee27f8fdb95e0f1e4c0207789b9b034795f982a994d9972c7c633846bf1600000001249c40dd4c4b03b7be7414d2eaf426411a3668ad830ad721b1ee8da660b5ab060000016fb505682c8da0f68640af24fc156827969c6aa8108d1cc649f447183d41a02501bf9cdc7c4b45107d1e9d7fc5ffa1226d091a654a02c20b0bc86d96ec1ac0eb3e00000185edfe70c36f5d1c3216c4750bbd8f11fe1ab96802f9eaf273f2e85ea0709c1d0001f427516d6600178ef99cc049193c413103980c407ea3489a687b3c3479d2300c00000112278dfeae9949f887b70ae81e084f8897a5054627acef3efd01c8b29793d522000160040850b766b126a2b4843fcdfdffa5d5cab3f53bc860a3bef68958b5f066170001cc2dcaa338b312112db04b435a706d63244dd435238f0aa1e9e1598d35470810012dcc4273c8a0ed2337ecf7879380a07e7d427c7f9d82e538002bd1442978402c01daf63debf5b40df902dae98dadc029f281474d190cddecef1b10653248a234150001e2bca6a8d987d668defba89dc082196a922634ed88e065c669e526bb8815ee1b000000000000"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "main",
|
|
3
|
+
"height": "2630000",
|
|
4
|
+
"hash": "0000000000a895df571dfd40a79e8f565afa1866b06df8de945612ddc2208ac5",
|
|
5
|
+
"time": 1725095685,
|
|
6
|
+
"saplingTree": "01ebdeb4660783a87222b9a8a33e83d9d56f0a6aa99f3ab2e941bb6b8eaca4874e01e9debf006d3773e46e01a563e47f23fce83cbeddcbc1246357bb055b232fee4c1f00013c16c47049af25b1594cfd6af24e171aae29b2dbe6cc452c73c48684cfd7a531017ef29f42c194e56dac501f174ef50e6dbb8ad91fc6c171e44087489d818a6363000001082ae7978338d87b54eeb721505421e7db499387cd7b09168bcc6a039c408f2b000148a78a5aab5faa815223b8080979d01e7967175d50e5fef6011ba15122b8b6040000000199100b85242c92aaeab280566441c4407cb5783757ea93c0a1b8266fe2525b5e00010fdff8660d84e9dbb3979b612a8c64535da6d9c5820ed495c395857252d3863b000001b254e3cfba937bcd40621e1d623a943440b083892546f081aab37058fd1b763f000000013e2598f743726006b8de42476ed56a55a75629a7b82e430c4e7c101a69e9b02a011619f99023a69bb647eab2d2aa1a73c3673c74bb033c3c4930eacda19e6fd93b0000000160272b134ca494b602137d89e528c751c06d3ef4a87a45f33af343c15060cc1e0000000000",
|
|
7
|
+
"orchardTree": "010ec9ed61bb20a9019f527a0fde76af802f91d93073bbc1a9d49f1a3cf0c8c708001f01046e770e337820010092000327f4f3069780f02f1c02748357bbc80f9e457b26016c65e02f1df7f54a97b482d96a2107083bd928fa8134ddd89c33dd58c985400a000001916fb87613d68da24723a6efc5a8c58972d276988da3663856d29d11d8800a09000125728df0802110f9458966392a1b6fdb1a5c8f062a2cbc51aa978649b8462224000130ed9968c67d2b11cdd6864582eed4001e96f94e67b9fad73f022732d106283501e8b3066a9d744eb2836f58a4c49966828705364648c16c8fc0ba2d268f1f71230112852a88a1d88b30c5a3bd2f532500e25379fc536934f2bbe26a2fcdea5dff250185edfe70c36f5d1c3216c4750bbd8f11fe1ab96802f9eaf273f2e85ea0709c1d0001f427516d6600178ef99cc049193c413103980c407ea3489a687b3c3479d2300c00000112278dfeae9949f887b70ae81e084f8897a5054627acef3efd01c8b29793d522000160040850b766b126a2b4843fcdfdffa5d5cab3f53bc860a3bef68958b5f066170001cc2dcaa338b312112db04b435a706d63244dd435238f0aa1e9e1598d35470810012dcc4273c8a0ed2337ecf7879380a07e7d427c7f9d82e538002bd1442978402c01daf63debf5b40df902dae98dadc029f281474d190cddecef1b10653248a234150001e2bca6a8d987d668defba89dc082196a922634ed88e065c669e526bb8815ee1b000000000000"
|
|
8
|
+
}
|
|
@@ -140,6 +140,39 @@ class RNZcashModule(private val reactContext: ReactApplicationContext) :
|
|
|
140
140
|
args.putString("orchardTotalZatoshi", orchardTotalZatoshi.value.toString())
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
+
|
|
144
|
+
fun handleError(
|
|
145
|
+
level: String,
|
|
146
|
+
error: Throwable?,
|
|
147
|
+
) {
|
|
148
|
+
sendEvent("ErrorEvent") { args ->
|
|
149
|
+
args.putString("alias", alias)
|
|
150
|
+
args.putString("level", level)
|
|
151
|
+
args.putString("message", error?.message ?: "Unknown error")
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Error listeners
|
|
156
|
+
wallet.onCriticalErrorHandler = { error ->
|
|
157
|
+
handleError("critical", error)
|
|
158
|
+
false
|
|
159
|
+
}
|
|
160
|
+
wallet.onProcessorErrorHandler = { error ->
|
|
161
|
+
handleError("error", error)
|
|
162
|
+
true
|
|
163
|
+
}
|
|
164
|
+
wallet.onSetupErrorHandler = { error ->
|
|
165
|
+
handleError("error", error)
|
|
166
|
+
false
|
|
167
|
+
}
|
|
168
|
+
wallet.onSubmissionErrorHandler = { error ->
|
|
169
|
+
handleError("error", error)
|
|
170
|
+
false
|
|
171
|
+
}
|
|
172
|
+
wallet.onChainErrorHandler = { errorHeight, rewindHeight ->
|
|
173
|
+
val message = "Chain error detected at height: $errorHeight. Rewinding to: $rewindHeight"
|
|
174
|
+
handleError("error", Throwable(message))
|
|
175
|
+
}
|
|
143
176
|
return@wrap null
|
|
144
177
|
}
|
|
145
178
|
}
|
package/ios/RNZcash.swift
CHANGED
|
@@ -441,21 +441,21 @@ class RNZcash: RCTEventEmitter {
|
|
|
441
441
|
|
|
442
442
|
// Events
|
|
443
443
|
public func sendToJs(name: String, data: Any) {
|
|
444
|
-
if
|
|
444
|
+
if hasListeners {
|
|
445
445
|
self.sendEvent(withName: name, body: data)
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
-
override func startObserving()
|
|
449
|
+
override func startObserving() {
|
|
450
450
|
hasListeners = true
|
|
451
451
|
}
|
|
452
452
|
|
|
453
|
-
override func stopObserving()
|
|
453
|
+
override func stopObserving() {
|
|
454
454
|
hasListeners = false
|
|
455
455
|
}
|
|
456
456
|
|
|
457
457
|
override func supportedEvents() -> [String] {
|
|
458
|
-
return ["BalanceEvent", "StatusEvent", "TransactionEvent", "UpdateEvent"]
|
|
458
|
+
return ["BalanceEvent", "ErrorEvent", "StatusEvent", "TransactionEvent", "UpdateEvent"]
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
|
|
@@ -527,6 +527,20 @@ class WalletSynchronizer: NSObject {
|
|
|
527
527
|
status = "SYNCED"
|
|
528
528
|
|
|
529
529
|
self.fullySynced = true
|
|
530
|
+
case .error(let error):
|
|
531
|
+
let zcashError = error.toZcashError()
|
|
532
|
+
switch zcashError.code {
|
|
533
|
+
case .compactBlockProcessorCritical:
|
|
534
|
+
let data: NSDictionary = [
|
|
535
|
+
"alias": self.alias, "level": "critical", "message": zcashError.message,
|
|
536
|
+
]
|
|
537
|
+
emit("ErrorEvent", data)
|
|
538
|
+
default:
|
|
539
|
+
let data: NSDictionary = [
|
|
540
|
+
"alias": self.alias, "level": "error", "message": zcashError.message,
|
|
541
|
+
]
|
|
542
|
+
emit("ErrorEvent", data)
|
|
543
|
+
}
|
|
530
544
|
default:
|
|
531
545
|
break
|
|
532
546
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "main",
|
|
3
|
+
"height": "2620000",
|
|
4
|
+
"hash": "000000000090f3ee85cf2a29fb5d6e5cc6fb509f79a6cff0b6c44c235f4ddba6",
|
|
5
|
+
"time": 1724341443,
|
|
6
|
+
"saplingTree": "0155c1bb2c0008f2d4ed479ca2c79af8b43a51a8d2d3420fccbfb44c2c66cf3a0d01725ed2720f8ddce8534cd5549cedf894d07feea8343aa62f00918797c1db05521f00000001e731cfc3c78a5ce9e21f2b5a9553bbc038dc4f38e6fef523951fef33ba9d6e6900000143c2d3a8743f4535b9d990b60a1c5b494fffe54166939f905a6b710c1bb06a1900000162e301b349b6d7fb581d7c4917717065cf2092a9fa325926c82d1b7682e7710c01b21a0f5e06c1c07e8c14e4ea0b5de1aaa95dc45eef2d048003be6c66e026441a010d3156dcb9605aefb88ad75fd97a78797e7e83c6f7d2cd0f8f2699293e0952520107ce458cf2cc5c0351bc0ecb8e4ce1ab7edc9b9b528dbbbe0a70b9057e4cdf5601889e7a0849bac67b05fe418b808099194a54632db5d8de4dab43ff55c3b22a0a01f762af15779fb5c9593af1a8a9a2c777b9377dcb3117e5c55b4365f1061ea86c012415b957855163102c9f373eec835c3b3aa11f0ac872533a867d3e2eb562d30200000000013e2598f743726006b8de42476ed56a55a75629a7b82e430c4e7c101a69e9b02a011619f99023a69bb647eab2d2aa1a73c3673c74bb033c3c4930eacda19e6fd93b0000000160272b134ca494b602137d89e528c751c06d3ef4a87a45f33af343c15060cc1e0000000000",
|
|
7
|
+
"orchardTree": "019eef8d7f26921e7c276b2f6c52f96a9a2c837b2b07b73800cd21257fe69ed72701532f76468abf55c89ba7756cd5cc4b4ca089f42d413091368be1047bacfa60271f017f9bee27f8fdb95e0f1e4c0207789b9b034795f982a994d9972c7c633846bf1600000001249c40dd4c4b03b7be7414d2eaf426411a3668ad830ad721b1ee8da660b5ab060000016fb505682c8da0f68640af24fc156827969c6aa8108d1cc649f447183d41a02501bf9cdc7c4b45107d1e9d7fc5ffa1226d091a654a02c20b0bc86d96ec1ac0eb3e00000185edfe70c36f5d1c3216c4750bbd8f11fe1ab96802f9eaf273f2e85ea0709c1d0001f427516d6600178ef99cc049193c413103980c407ea3489a687b3c3479d2300c00000112278dfeae9949f887b70ae81e084f8897a5054627acef3efd01c8b29793d522000160040850b766b126a2b4843fcdfdffa5d5cab3f53bc860a3bef68958b5f066170001cc2dcaa338b312112db04b435a706d63244dd435238f0aa1e9e1598d35470810012dcc4273c8a0ed2337ecf7879380a07e7d427c7f9d82e538002bd1442978402c01daf63debf5b40df902dae98dadc029f281474d190cddecef1b10653248a234150001e2bca6a8d987d668defba89dc082196a922634ed88e065c669e526bb8815ee1b000000000000"
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "main",
|
|
3
|
+
"height": "2630000",
|
|
4
|
+
"hash": "0000000000a895df571dfd40a79e8f565afa1866b06df8de945612ddc2208ac5",
|
|
5
|
+
"time": 1725095685,
|
|
6
|
+
"saplingTree": "01ebdeb4660783a87222b9a8a33e83d9d56f0a6aa99f3ab2e941bb6b8eaca4874e01e9debf006d3773e46e01a563e47f23fce83cbeddcbc1246357bb055b232fee4c1f00013c16c47049af25b1594cfd6af24e171aae29b2dbe6cc452c73c48684cfd7a531017ef29f42c194e56dac501f174ef50e6dbb8ad91fc6c171e44087489d818a6363000001082ae7978338d87b54eeb721505421e7db499387cd7b09168bcc6a039c408f2b000148a78a5aab5faa815223b8080979d01e7967175d50e5fef6011ba15122b8b6040000000199100b85242c92aaeab280566441c4407cb5783757ea93c0a1b8266fe2525b5e00010fdff8660d84e9dbb3979b612a8c64535da6d9c5820ed495c395857252d3863b000001b254e3cfba937bcd40621e1d623a943440b083892546f081aab37058fd1b763f000000013e2598f743726006b8de42476ed56a55a75629a7b82e430c4e7c101a69e9b02a011619f99023a69bb647eab2d2aa1a73c3673c74bb033c3c4930eacda19e6fd93b0000000160272b134ca494b602137d89e528c751c06d3ef4a87a45f33af343c15060cc1e0000000000",
|
|
7
|
+
"orchardTree": "010ec9ed61bb20a9019f527a0fde76af802f91d93073bbc1a9d49f1a3cf0c8c708001f01046e770e337820010092000327f4f3069780f02f1c02748357bbc80f9e457b26016c65e02f1df7f54a97b482d96a2107083bd928fa8134ddd89c33dd58c985400a000001916fb87613d68da24723a6efc5a8c58972d276988da3663856d29d11d8800a09000125728df0802110f9458966392a1b6fdb1a5c8f062a2cbc51aa978649b8462224000130ed9968c67d2b11cdd6864582eed4001e96f94e67b9fad73f022732d106283501e8b3066a9d744eb2836f58a4c49966828705364648c16c8fc0ba2d268f1f71230112852a88a1d88b30c5a3bd2f532500e25379fc536934f2bbe26a2fcdea5dff250185edfe70c36f5d1c3216c4750bbd8f11fe1ab96802f9eaf273f2e85ea0709c1d0001f427516d6600178ef99cc049193c413103980c407ea3489a687b3c3479d2300c00000112278dfeae9949f887b70ae81e084f8897a5054627acef3efd01c8b29793d522000160040850b766b126a2b4843fcdfdffa5d5cab3f53bc860a3bef68958b5f066170001cc2dcaa338b312112db04b435a706d63244dd435238f0aa1e9e1598d35470810012dcc4273c8a0ed2337ecf7879380a07e7d427c7f9d82e538002bd1442978402c01daf63debf5b40df902dae98dadc029f281474d190cddecef1b10653248a234150001e2bca6a8d987d668defba89dc082196a922634ed88e065c669e526bb8815ee1b000000000000"
|
|
8
|
+
}
|
|
@@ -8,32 +8,32 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>libzcashlc.a</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-
|
|
11
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>libzcashlc.a</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
15
15
|
<array>
|
|
16
16
|
<string>arm64</string>
|
|
17
|
+
<string>x86_64</string>
|
|
17
18
|
</array>
|
|
18
19
|
<key>SupportedPlatform</key>
|
|
19
20
|
<string>ios</string>
|
|
21
|
+
<key>SupportedPlatformVariant</key>
|
|
22
|
+
<string>simulator</string>
|
|
20
23
|
</dict>
|
|
21
24
|
<dict>
|
|
22
25
|
<key>BinaryPath</key>
|
|
23
26
|
<string>libzcashlc.a</string>
|
|
24
27
|
<key>LibraryIdentifier</key>
|
|
25
|
-
<string>ios-
|
|
28
|
+
<string>ios-arm64</string>
|
|
26
29
|
<key>LibraryPath</key>
|
|
27
30
|
<string>libzcashlc.a</string>
|
|
28
31
|
<key>SupportedArchitectures</key>
|
|
29
32
|
<array>
|
|
30
33
|
<string>arm64</string>
|
|
31
|
-
<string>x86_64</string>
|
|
32
34
|
</array>
|
|
33
35
|
<key>SupportedPlatform</key>
|
|
34
36
|
<string>ios</string>
|
|
35
|
-
<key>SupportedPlatformVariant</key>
|
|
36
|
-
<string>simulator</string>
|
|
37
37
|
</dict>
|
|
38
38
|
</array>
|
|
39
39
|
<key>CFBundlePackageType</key>
|
package/lib/rnzcash.rn.js
CHANGED
|
@@ -202,7 +202,8 @@ var Synchronizer = /*#__PURE__*/function () {
|
|
|
202
202
|
var onBalanceChanged = _ref.onBalanceChanged,
|
|
203
203
|
onStatusChanged = _ref.onStatusChanged,
|
|
204
204
|
onTransactionsChanged = _ref.onTransactionsChanged,
|
|
205
|
-
onUpdate = _ref.onUpdate
|
|
205
|
+
onUpdate = _ref.onUpdate,
|
|
206
|
+
onError = _ref.onError;
|
|
206
207
|
this.setListener('BalanceEvent', function (event) {
|
|
207
208
|
var transparentAvailableZatoshi = event.transparentAvailableZatoshi,
|
|
208
209
|
transparentTotalZatoshi = event.transparentTotalZatoshi,
|
|
@@ -217,6 +218,7 @@ var Synchronizer = /*#__PURE__*/function () {
|
|
|
217
218
|
this.setListener('StatusEvent', onStatusChanged);
|
|
218
219
|
this.setListener('TransactionEvent', onTransactionsChanged);
|
|
219
220
|
this.setListener('UpdateEvent', onUpdate);
|
|
221
|
+
this.setListener('ErrorEvent', onError);
|
|
220
222
|
};
|
|
221
223
|
|
|
222
224
|
_proto.setListener = function setListener(eventName, callback) {
|
package/lib/rnzcash.rn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rnzcash.rn.js","sources":["../src/react-native.ts"],"sourcesContent":["import { add } from 'biggystring'\nimport {\n EventSubscription,\n NativeEventEmitter,\n NativeModules\n} from 'react-native'\n\nimport {\n Addresses,\n InitializerConfig,\n Network,\n ProposalSuccess,\n ShieldFundsInfo,\n SpendFailure,\n SpendInfo,\n SpendSuccess,\n SynchronizerCallbacks,\n Transaction,\n TransferSpendInfo\n} from './types'\nexport * from './types'\n\nconst { RNZcash } = NativeModules\n\ntype Callback = (...args: any[]) => any\n\nexport const Tools = {\n deriveViewingKey: async (\n seedBytesHex: string,\n network: Network\n ): Promise<string> => {\n const result = await RNZcash.deriveViewingKey(seedBytesHex, network)\n return result\n },\n getBirthdayHeight: async (host: string, port: number): Promise<number> => {\n const result = await RNZcash.getBirthdayHeight(host, port)\n return result\n },\n isValidAddress: async (\n address: string,\n network: Network = 'mainnet'\n ): Promise<boolean> => {\n const result = await RNZcash.isValidAddress(address, network)\n return result\n }\n}\n\nexport class Synchronizer {\n eventEmitter: NativeEventEmitter\n subscriptions: EventSubscription[]\n alias: string\n network: Network\n\n constructor(alias: string, network: Network) {\n this.eventEmitter = new NativeEventEmitter(RNZcash)\n this.subscriptions = []\n this.alias = alias\n this.network = network\n }\n\n async stop(): Promise<string> {\n this.unsubscribe()\n const result = await RNZcash.stop(this.alias)\n return result\n }\n\n async initialize(initializerConfig: InitializerConfig): Promise<void> {\n await RNZcash.initialize(\n initializerConfig.mnemonicSeed,\n initializerConfig.birthdayHeight,\n initializerConfig.alias,\n initializerConfig.networkName,\n initializerConfig.defaultHost,\n initializerConfig.defaultPort,\n initializerConfig.newWallet\n )\n }\n\n async deriveUnifiedAddress(): Promise<Addresses> {\n const result = await RNZcash.deriveUnifiedAddress(this.alias)\n return result\n }\n\n async getLatestNetworkHeight(alias: string): Promise<number> {\n const result = await RNZcash.getLatestNetworkHeight(alias)\n return result\n }\n\n async rescan(): Promise<void> {\n await RNZcash.rescan(this.alias)\n }\n\n async proposeTransfer(\n spendInfo: TransferSpendInfo\n ): Promise<ProposalSuccess> {\n const result = await RNZcash.proposeTransfer(\n this.alias,\n spendInfo.zatoshi,\n spendInfo.toAddress,\n spendInfo.memo\n )\n return result\n }\n\n async sendToAddress(\n spendInfo: SpendInfo\n ): Promise<SpendSuccess | SpendFailure> {\n const result = await RNZcash.sendToAddress(\n this.alias,\n spendInfo.zatoshi,\n spendInfo.toAddress,\n spendInfo.memo,\n spendInfo.mnemonicSeed\n )\n return result\n }\n\n async shieldFunds(shieldFundsInfo: ShieldFundsInfo): Promise<Transaction> {\n const result = await RNZcash.shieldFunds(\n this.alias,\n shieldFundsInfo.seed,\n shieldFundsInfo.memo,\n shieldFundsInfo.threshold\n )\n return result\n }\n\n // Events\n\n subscribe({\n onBalanceChanged,\n onStatusChanged,\n onTransactionsChanged,\n onUpdate\n }: SynchronizerCallbacks): void {\n this.setListener('BalanceEvent', event => {\n const {\n transparentAvailableZatoshi,\n transparentTotalZatoshi,\n saplingAvailableZatoshi,\n saplingTotalZatoshi,\n orchardAvailableZatoshi,\n orchardTotalZatoshi\n } = event\n\n event.availableZatoshi = add(\n add(transparentAvailableZatoshi, saplingAvailableZatoshi),\n orchardAvailableZatoshi\n )\n event.totalZatoshi = add(\n add(transparentTotalZatoshi, saplingTotalZatoshi),\n orchardTotalZatoshi\n )\n onBalanceChanged(event)\n })\n this.setListener('StatusEvent', onStatusChanged)\n this.setListener('TransactionEvent', onTransactionsChanged)\n this.setListener('UpdateEvent', onUpdate)\n }\n\n private setListener<T>(\n eventName: string,\n callback: Callback = (t: any) => null\n ): void {\n this.subscriptions.push(\n this.eventEmitter.addListener(eventName, arg =>\n arg.alias === this.alias ? callback(arg) : null\n )\n )\n }\n\n unsubscribe(): void {\n this.subscriptions.forEach(subscription => {\n subscription.remove()\n })\n }\n}\n\nexport const makeSynchronizer = async (\n initializerConfig: InitializerConfig\n): Promise<Synchronizer> => {\n const synchronizer = new Synchronizer(\n initializerConfig.alias,\n initializerConfig.networkName\n )\n await synchronizer.initialize(initializerConfig)\n return synchronizer\n}\n"],"names":["RNZcash","NativeModules","Tools","deriveViewingKey","seedBytesHex","network","result","getBirthdayHeight","host","port","isValidAddress","address","Synchronizer","alias","eventEmitter","NativeEventEmitter","subscriptions","stop","unsubscribe","initialize","initializerConfig","mnemonicSeed","birthdayHeight","networkName","defaultHost","defaultPort","newWallet","deriveUnifiedAddress","getLatestNetworkHeight","rescan","proposeTransfer","spendInfo","zatoshi","toAddress","memo","sendToAddress","shieldFunds","shieldFundsInfo","seed","threshold","subscribe","onBalanceChanged","onStatusChanged","onTransactionsChanged","onUpdate","setListener","event","transparentAvailableZatoshi","transparentTotalZatoshi","saplingAvailableZatoshi","saplingTotalZatoshi","orchardAvailableZatoshi","orchardTotalZatoshi","availableZatoshi","add","totalZatoshi","eventName","callback","t","push","addListener","arg","forEach","subscription","remove","makeSynchronizer","synchronizer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rnzcash.rn.js","sources":["../src/react-native.ts"],"sourcesContent":["import { add } from 'biggystring'\nimport {\n EventSubscription,\n NativeEventEmitter,\n NativeModules\n} from 'react-native'\n\nimport {\n Addresses,\n InitializerConfig,\n Network,\n ProposalSuccess,\n ShieldFundsInfo,\n SpendFailure,\n SpendInfo,\n SpendSuccess,\n SynchronizerCallbacks,\n Transaction,\n TransferSpendInfo\n} from './types'\nexport * from './types'\n\nconst { RNZcash } = NativeModules\n\ntype Callback = (...args: any[]) => any\n\nexport const Tools = {\n deriveViewingKey: async (\n seedBytesHex: string,\n network: Network\n ): Promise<string> => {\n const result = await RNZcash.deriveViewingKey(seedBytesHex, network)\n return result\n },\n getBirthdayHeight: async (host: string, port: number): Promise<number> => {\n const result = await RNZcash.getBirthdayHeight(host, port)\n return result\n },\n isValidAddress: async (\n address: string,\n network: Network = 'mainnet'\n ): Promise<boolean> => {\n const result = await RNZcash.isValidAddress(address, network)\n return result\n }\n}\n\nexport class Synchronizer {\n eventEmitter: NativeEventEmitter\n subscriptions: EventSubscription[]\n alias: string\n network: Network\n\n constructor(alias: string, network: Network) {\n this.eventEmitter = new NativeEventEmitter(RNZcash)\n this.subscriptions = []\n this.alias = alias\n this.network = network\n }\n\n async stop(): Promise<string> {\n this.unsubscribe()\n const result = await RNZcash.stop(this.alias)\n return result\n }\n\n async initialize(initializerConfig: InitializerConfig): Promise<void> {\n await RNZcash.initialize(\n initializerConfig.mnemonicSeed,\n initializerConfig.birthdayHeight,\n initializerConfig.alias,\n initializerConfig.networkName,\n initializerConfig.defaultHost,\n initializerConfig.defaultPort,\n initializerConfig.newWallet\n )\n }\n\n async deriveUnifiedAddress(): Promise<Addresses> {\n const result = await RNZcash.deriveUnifiedAddress(this.alias)\n return result\n }\n\n async getLatestNetworkHeight(alias: string): Promise<number> {\n const result = await RNZcash.getLatestNetworkHeight(alias)\n return result\n }\n\n async rescan(): Promise<void> {\n await RNZcash.rescan(this.alias)\n }\n\n async proposeTransfer(\n spendInfo: TransferSpendInfo\n ): Promise<ProposalSuccess> {\n const result = await RNZcash.proposeTransfer(\n this.alias,\n spendInfo.zatoshi,\n spendInfo.toAddress,\n spendInfo.memo\n )\n return result\n }\n\n async sendToAddress(\n spendInfo: SpendInfo\n ): Promise<SpendSuccess | SpendFailure> {\n const result = await RNZcash.sendToAddress(\n this.alias,\n spendInfo.zatoshi,\n spendInfo.toAddress,\n spendInfo.memo,\n spendInfo.mnemonicSeed\n )\n return result\n }\n\n async shieldFunds(shieldFundsInfo: ShieldFundsInfo): Promise<Transaction> {\n const result = await RNZcash.shieldFunds(\n this.alias,\n shieldFundsInfo.seed,\n shieldFundsInfo.memo,\n shieldFundsInfo.threshold\n )\n return result\n }\n\n // Events\n\n subscribe({\n onBalanceChanged,\n onStatusChanged,\n onTransactionsChanged,\n onUpdate,\n onError\n }: SynchronizerCallbacks): void {\n this.setListener('BalanceEvent', event => {\n const {\n transparentAvailableZatoshi,\n transparentTotalZatoshi,\n saplingAvailableZatoshi,\n saplingTotalZatoshi,\n orchardAvailableZatoshi,\n orchardTotalZatoshi\n } = event\n\n event.availableZatoshi = add(\n add(transparentAvailableZatoshi, saplingAvailableZatoshi),\n orchardAvailableZatoshi\n )\n event.totalZatoshi = add(\n add(transparentTotalZatoshi, saplingTotalZatoshi),\n orchardTotalZatoshi\n )\n onBalanceChanged(event)\n })\n this.setListener('StatusEvent', onStatusChanged)\n this.setListener('TransactionEvent', onTransactionsChanged)\n this.setListener('UpdateEvent', onUpdate)\n this.setListener('ErrorEvent', onError)\n }\n\n private setListener<T>(\n eventName: string,\n callback: Callback = (t: any) => null\n ): void {\n this.subscriptions.push(\n this.eventEmitter.addListener(eventName, arg =>\n arg.alias === this.alias ? callback(arg) : null\n )\n )\n }\n\n unsubscribe(): void {\n this.subscriptions.forEach(subscription => {\n subscription.remove()\n })\n }\n}\n\nexport const makeSynchronizer = async (\n initializerConfig: InitializerConfig\n): Promise<Synchronizer> => {\n const synchronizer = new Synchronizer(\n initializerConfig.alias,\n initializerConfig.networkName\n )\n await synchronizer.initialize(initializerConfig)\n return synchronizer\n}\n"],"names":["RNZcash","NativeModules","Tools","deriveViewingKey","seedBytesHex","network","result","getBirthdayHeight","host","port","isValidAddress","address","Synchronizer","alias","eventEmitter","NativeEventEmitter","subscriptions","stop","unsubscribe","initialize","initializerConfig","mnemonicSeed","birthdayHeight","networkName","defaultHost","defaultPort","newWallet","deriveUnifiedAddress","getLatestNetworkHeight","rescan","proposeTransfer","spendInfo","zatoshi","toAddress","memo","sendToAddress","shieldFunds","shieldFundsInfo","seed","threshold","subscribe","onBalanceChanged","onStatusChanged","onTransactionsChanged","onUpdate","onError","setListener","event","transparentAvailableZatoshi","transparentTotalZatoshi","saplingAvailableZatoshi","saplingTotalZatoshi","orchardAvailableZatoshi","orchardTotalZatoshi","availableZatoshi","add","totalZatoshi","eventName","callback","t","push","addListener","arg","forEach","subscription","remove","makeSynchronizer","synchronizer"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export declare class Synchronizer {
|
|
|
20
20
|
proposeTransfer(spendInfo: TransferSpendInfo): Promise<ProposalSuccess>;
|
|
21
21
|
sendToAddress(spendInfo: SpendInfo): Promise<SpendSuccess | SpendFailure>;
|
|
22
22
|
shieldFunds(shieldFundsInfo: ShieldFundsInfo): Promise<Transaction>;
|
|
23
|
-
subscribe({ onBalanceChanged, onStatusChanged, onTransactionsChanged, onUpdate }: SynchronizerCallbacks): void;
|
|
23
|
+
subscribe({ onBalanceChanged, onStatusChanged, onTransactionsChanged, onUpdate, onError }: SynchronizerCallbacks): void;
|
|
24
24
|
private setListener;
|
|
25
25
|
unsubscribe(): void;
|
|
26
26
|
}
|
package/lib/src/types.d.ts
CHANGED
|
@@ -56,11 +56,17 @@ export interface UpdateEvent {
|
|
|
56
56
|
scanProgress: number;
|
|
57
57
|
networkBlockHeight: number;
|
|
58
58
|
}
|
|
59
|
+
export interface ErrorEvent {
|
|
60
|
+
alias: string;
|
|
61
|
+
level: 'critical' | 'error';
|
|
62
|
+
message: string;
|
|
63
|
+
}
|
|
59
64
|
export interface SynchronizerCallbacks {
|
|
60
65
|
onBalanceChanged(balance: BalanceEvent): void;
|
|
61
66
|
onStatusChanged(status: StatusEvent): void;
|
|
62
67
|
onTransactionsChanged(transactions: TransactionEvent): void;
|
|
63
68
|
onUpdate(event: UpdateEvent): void;
|
|
69
|
+
onError(error: ErrorEvent): void;
|
|
64
70
|
}
|
|
65
71
|
export interface BlockRange {
|
|
66
72
|
first: number;
|
package/package.json
CHANGED
package/src/react-native.ts
CHANGED
|
@@ -131,7 +131,8 @@ export class Synchronizer {
|
|
|
131
131
|
onBalanceChanged,
|
|
132
132
|
onStatusChanged,
|
|
133
133
|
onTransactionsChanged,
|
|
134
|
-
onUpdate
|
|
134
|
+
onUpdate,
|
|
135
|
+
onError
|
|
135
136
|
}: SynchronizerCallbacks): void {
|
|
136
137
|
this.setListener('BalanceEvent', event => {
|
|
137
138
|
const {
|
|
@@ -156,6 +157,7 @@ export class Synchronizer {
|
|
|
156
157
|
this.setListener('StatusEvent', onStatusChanged)
|
|
157
158
|
this.setListener('TransactionEvent', onTransactionsChanged)
|
|
158
159
|
this.setListener('UpdateEvent', onUpdate)
|
|
160
|
+
this.setListener('ErrorEvent', onError)
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
private setListener<T>(
|
package/src/types.ts
CHANGED
|
@@ -72,11 +72,18 @@ export interface UpdateEvent {
|
|
|
72
72
|
networkBlockHeight: number
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
export interface ErrorEvent {
|
|
76
|
+
alias: string
|
|
77
|
+
level: 'critical' | 'error'
|
|
78
|
+
message: string
|
|
79
|
+
}
|
|
80
|
+
|
|
75
81
|
export interface SynchronizerCallbacks {
|
|
76
82
|
onBalanceChanged(balance: BalanceEvent): void
|
|
77
83
|
onStatusChanged(status: StatusEvent): void
|
|
78
84
|
onTransactionsChanged(transactions: TransactionEvent): void
|
|
79
85
|
onUpdate(event: UpdateEvent): void
|
|
86
|
+
onError(error: ErrorEvent): void
|
|
80
87
|
}
|
|
81
88
|
|
|
82
89
|
export interface BlockRange {
|