react-native-zcash 0.3.5 → 0.4.1

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.
Files changed (1149) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +10 -7
  3. package/android/build.gradle +6 -4
  4. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1310000.json +7 -0
  5. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1320000.json +7 -0
  6. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1330000.json +7 -0
  7. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1340000.json +7 -0
  8. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1350000.json +7 -0
  9. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1360000.json +7 -0
  10. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1370000.json +7 -0
  11. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1380000.json +7 -0
  12. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1390000.json +7 -0
  13. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1400000.json +7 -0
  14. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1410000.json +7 -0
  15. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1420000.json +7 -0
  16. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1430000.json +7 -0
  17. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1440000.json +7 -0
  18. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1450000.json +7 -0
  19. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1460000.json +7 -0
  20. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1470000.json +7 -0
  21. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1480000.json +7 -0
  22. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1490000.json +7 -0
  23. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1500000.json +7 -0
  24. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1510000.json +7 -0
  25. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1520000.json +7 -0
  26. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1530000.json +7 -0
  27. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1540000.json +7 -0
  28. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1550000.json +7 -0
  29. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1560000.json +7 -0
  30. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1570000.json +7 -0
  31. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1580000.json +7 -0
  32. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1590000.json +7 -0
  33. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1600000.json +7 -0
  34. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1610000.json +7 -0
  35. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1620000.json +7 -0
  36. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1630000.json +7 -0
  37. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1640000.json +7 -0
  38. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1650000.json +7 -0
  39. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1660000.json +7 -0
  40. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1670000.json +7 -0
  41. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1680000.json +7 -0
  42. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1690000.json +8 -0
  43. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1700000.json +8 -0
  44. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1710000.json +8 -0
  45. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1720000.json +8 -0
  46. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1730000.json +8 -0
  47. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1740000.json +8 -0
  48. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1750000.json +8 -0
  49. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1760000.json +8 -0
  50. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1770000.json +8 -0
  51. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1780000.json +8 -0
  52. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1790000.json +8 -0
  53. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1800000.json +8 -0
  54. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1810000.json +8 -0
  55. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1820000.json +8 -0
  56. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1830000.json +8 -0
  57. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1840000.json +8 -0
  58. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1850000.json +8 -0
  59. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1860000.json +8 -0
  60. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1870000.json +8 -0
  61. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1880000.json +8 -0
  62. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1890000.json +8 -0
  63. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1900000.json +8 -0
  64. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1910000.json +8 -0
  65. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1920000.json +8 -0
  66. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1930000.json +8 -0
  67. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1940000.json +8 -0
  68. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1950000.json +8 -0
  69. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1960000.json +8 -0
  70. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1970000.json +8 -0
  71. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1980000.json +8 -0
  72. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/1990000.json +8 -0
  73. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2000000.json +8 -0
  74. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2010000.json +8 -0
  75. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2020000.json +8 -0
  76. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2030000.json +8 -0
  77. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2040000.json +8 -0
  78. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2050000.json +8 -0
  79. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2060000.json +8 -0
  80. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2070000.json +8 -0
  81. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2080000.json +8 -0
  82. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2090000.json +8 -0
  83. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2100000.json +8 -0
  84. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2110000.json +8 -0
  85. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2120000.json +8 -0
  86. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2130000.json +8 -0
  87. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2140000.json +8 -0
  88. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2150000.json +8 -0
  89. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2160000.json +8 -0
  90. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2170000.json +8 -0
  91. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2180000.json +8 -0
  92. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2190000.json +8 -0
  93. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2200000.json +8 -0
  94. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2210000.json +8 -0
  95. package/android/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet/2220000.json +8 -0
  96. package/android/src/main/java/app/edge/rnzcash/RNZcashModule.kt +181 -176
  97. package/android/src/main/java/app/edge/rnzcash/RNZcashPackage.kt +2 -3
  98. package/ios/RNZcash.m +5 -21
  99. package/ios/RNZcash.swift +533 -512
  100. package/ios/ZCashLightClientKit/Block/CompactBlockProcessor.swift +1365 -0
  101. package/ios/ZCashLightClientKit/Block/DatabaseStorage/ConnectorProvider.swift +12 -0
  102. package/ios/ZCashLightClientKit/Block/DatabaseStorage/DatabaseStorageError.swift +20 -0
  103. package/ios/ZCashLightClientKit/Block/DatabaseStorage/SimpleConnectionProvider.swift +39 -0
  104. package/ios/ZCashLightClientKit/Block/Download/BlockDownloader.swift +295 -0
  105. package/ios/ZCashLightClientKit/Block/Download/BlockDownloaderService.swift +117 -0
  106. package/ios/ZCashLightClientKit/Block/Enhance/BlockEnhancer.swift +123 -0
  107. package/ios/ZCashLightClientKit/Block/FetchUnspentTxOutputs/UTXOFetcher.swift +114 -0
  108. package/ios/ZCashLightClientKit/Block/FilesystemStorage/FSCompactBlockRepository.swift +419 -0
  109. package/ios/ZCashLightClientKit/Block/SaplingParameters/SaplingParametersHandler.swift +52 -0
  110. package/ios/ZCashLightClientKit/Block/Scan/BlockScanner.swift +114 -0
  111. package/ios/ZCashLightClientKit/Block/Utils/AfterSyncHooksManager.swift +88 -0
  112. package/ios/ZCashLightClientKit/Block/Utils/InternalSyncProgress.swift +200 -0
  113. package/ios/ZCashLightClientKit/Block/Validate/BlockValidator.swift +51 -0
  114. package/ios/ZCashLightClientKit/ClosureSynchronizer.swift +84 -0
  115. package/ios/ZCashLightClientKit/CombineSynchronizer.swift +76 -0
  116. package/ios/ZCashLightClientKit/Constants/Checkpoint+Constants.swift +98 -0
  117. package/ios/ZCashLightClientKit/Constants/Checkpoint+mainnet.swift +19 -0
  118. package/ios/ZCashLightClientKit/Constants/Checkpoint+testnet.swift +20 -0
  119. package/ios/ZCashLightClientKit/Constants/ZcashSDK.swift +139 -169
  120. package/ios/ZCashLightClientKit/DAO/BlockDao.swift +65 -20
  121. package/ios/ZCashLightClientKit/DAO/PagedTransactionDao.swift +20 -28
  122. package/ios/ZCashLightClientKit/DAO/TransactionDao.swift +175 -323
  123. package/ios/ZCashLightClientKit/DAO/UnspentTransactionOutputDao.swift +80 -58
  124. package/ios/ZCashLightClientKit/Entity/AccountEntity.swift +86 -88
  125. package/ios/ZCashLightClientKit/Entity/BlockProgress.swift +24 -0
  126. package/ios/ZCashLightClientKit/Entity/EncodedTransactionEntity.swift +3 -3
  127. package/ios/ZCashLightClientKit/Entity/SentNoteEntity.swift +15 -12
  128. package/ios/ZCashLightClientKit/Entity/TransactionEntity.swift +205 -131
  129. package/ios/ZCashLightClientKit/Entity/UnspentTransactionOutputEntity.swift +7 -6
  130. package/ios/ZCashLightClientKit/Entity/ZcashCompactBlock.swift +96 -0
  131. package/ios/ZCashLightClientKit/Error/Sourcery/ZcashError.stencil +40 -0
  132. package/ios/ZCashLightClientKit/Error/Sourcery/ZcashErrorCode.stencil +15 -0
  133. package/ios/ZCashLightClientKit/Error/Sourcery/generateErrorCode.sh +34 -0
  134. package/ios/ZCashLightClientKit/Error/ZcashError.swift +820 -0
  135. package/ios/ZCashLightClientKit/Error/ZcashErrorCode.swift +306 -0
  136. package/ios/ZCashLightClientKit/Error/ZcashErrorCodeDefinition.swift +596 -0
  137. package/ios/ZCashLightClientKit/Extensions/Error+ZcashError.swift +18 -0
  138. package/ios/ZCashLightClientKit/Extensions/HexEncode.swift +1 -1
  139. package/ios/ZCashLightClientKit/Extensions/NumberFormatter+Zcash.swift +19 -0
  140. package/ios/ZCashLightClientKit/Extensions/URL+UpdateWithAlias.swift +36 -0
  141. package/ios/ZCashLightClientKit/Extensions/Undescribable.swift +22 -0
  142. package/ios/ZCashLightClientKit/Extensions/Zatoshi+SQLite.swift +20 -0
  143. package/ios/ZCashLightClientKit/Initializer.swift +336 -260
  144. package/ios/ZCashLightClientKit/Metrics/SDKMetrics.swift +270 -0
  145. package/ios/ZCashLightClientKit/Model/Checkpoint.swift +84 -0
  146. package/ios/ZCashLightClientKit/Model/Memo.swift +236 -0
  147. package/ios/ZCashLightClientKit/Model/WalletTypes.swift +261 -88
  148. package/ios/ZCashLightClientKit/Model/Zatoshi.swift +115 -0
  149. package/ios/ZCashLightClientKit/Modules/Service/GRPC/LightWalletGRPCService.swift +342 -0
  150. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +50 -0
  151. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/compact_formats.pb.swift +399 -0
  152. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/proto/compact_formats.proto +66 -0
  153. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/proto/service.proto +185 -0
  154. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/service.grpc.swift +1123 -0
  155. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/service.pb.swift +1208 -0
  156. package/ios/ZCashLightClientKit/Modules/Service/LightWalletService.swift +195 -0
  157. package/ios/ZCashLightClientKit/Providers/LatestBlocksDataProvider.swift +69 -0
  158. package/ios/ZCashLightClientKit/Providers/ResourceProvider.swift +24 -6
  159. package/ios/ZCashLightClientKit/Repository/CompactBlockRepository.swift +14 -46
  160. package/ios/ZCashLightClientKit/Repository/NotesRepository.swift +1 -0
  161. package/ios/ZCashLightClientKit/Repository/PaginatedTransactionRepository.swift +6 -6
  162. package/ios/ZCashLightClientKit/Repository/TransactionRepository.swift +18 -19
  163. package/ios/ZCashLightClientKit/Repository/UnspentTransactionOutputRepository.swift +5 -7
  164. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1000000.json +7 -0
  165. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1010000.json +7 -0
  166. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1020000.json +7 -0
  167. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1030000.json +7 -0
  168. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1040000.json +7 -0
  169. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1050000.json +7 -0
  170. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1060000.json +7 -0
  171. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1070000.json +7 -0
  172. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1080000.json +7 -0
  173. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1090000.json +7 -0
  174. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1100000.json +7 -0
  175. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1110000.json +7 -0
  176. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1120000.json +7 -0
  177. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1130000.json +7 -0
  178. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1140000.json +7 -0
  179. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1150000.json +7 -0
  180. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1160000.json +7 -0
  181. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1170000.json +7 -0
  182. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1180000.json +7 -0
  183. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1190000.json +7 -0
  184. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1200000.json +7 -0
  185. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1210000.json +7 -0
  186. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1220000.json +7 -0
  187. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1230000.json +7 -0
  188. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1240000.json +7 -0
  189. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1250000.json +7 -0
  190. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1260000.json +7 -0
  191. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1270000.json +7 -0
  192. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1280000.json +7 -0
  193. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1290000.json +7 -0
  194. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1300000.json +7 -0
  195. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1310000.json +7 -0
  196. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1320000.json +7 -0
  197. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1330000.json +7 -0
  198. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1340000.json +7 -0
  199. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1350000.json +7 -0
  200. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1360000.json +7 -0
  201. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1370000.json +7 -0
  202. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1380000.json +7 -0
  203. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1390000.json +7 -0
  204. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1400000.json +7 -0
  205. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1410000.json +7 -0
  206. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1420000.json +7 -0
  207. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1430000.json +7 -0
  208. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1440000.json +7 -0
  209. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1450000.json +7 -0
  210. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1460000.json +7 -0
  211. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1470000.json +7 -0
  212. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1480000.json +7 -0
  213. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1490000.json +7 -0
  214. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1500000.json +7 -0
  215. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1510000.json +7 -0
  216. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1520000.json +7 -0
  217. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1530000.json +7 -0
  218. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1540000.json +7 -0
  219. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1550000.json +7 -0
  220. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1560000.json +7 -0
  221. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1570000.json +7 -0
  222. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1580000.json +7 -0
  223. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1590000.json +7 -0
  224. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1600000.json +7 -0
  225. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1610000.json +7 -0
  226. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1620000.json +7 -0
  227. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1630000.json +7 -0
  228. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1631000.json +7 -0
  229. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1640000.json +7 -0
  230. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1650000.json +7 -0
  231. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1660000.json +7 -0
  232. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1670000.json +7 -0
  233. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1680000.json +7 -0
  234. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1686871.json +7 -0
  235. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1687104.json +8 -0
  236. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1690000.json +8 -0
  237. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1700000.json +8 -0
  238. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1710000.json +8 -0
  239. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1720000.json +8 -0
  240. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1722500.json +8 -0
  241. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1725000.json +8 -0
  242. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1727500.json +8 -0
  243. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1730000.json +8 -0
  244. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1732500.json +8 -0
  245. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1735000.json +8 -0
  246. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1737500.json +8 -0
  247. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1740000.json +8 -0
  248. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1742500.json +8 -0
  249. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1745000.json +8 -0
  250. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1747500.json +8 -0
  251. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1750000.json +8 -0
  252. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1752500.json +8 -0
  253. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1755000.json +9 -0
  254. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1757500.json +8 -0
  255. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1760000.json +8 -0
  256. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1762500.json +8 -0
  257. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1765000.json +8 -0
  258. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1767500.json +8 -0
  259. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1770000.json +8 -0
  260. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1772500.json +8 -0
  261. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1775000.json +8 -0
  262. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1777500.json +8 -0
  263. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1780000.json +8 -0
  264. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1782500.json +8 -0
  265. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1785000.json +8 -0
  266. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1787500.json +8 -0
  267. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1790000.json +8 -0
  268. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1792500.json +8 -0
  269. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1795000.json +8 -0
  270. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1797500.json +8 -0
  271. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1800000.json +8 -0
  272. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1802500.json +8 -0
  273. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1805000.json +8 -0
  274. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1807500.json +8 -0
  275. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1810000.json +8 -0
  276. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1812500.json +8 -0
  277. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1815000.json +8 -0
  278. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1817500.json +8 -0
  279. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1820000.json +8 -0
  280. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1822500.json +8 -0
  281. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1825000.json +8 -0
  282. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1827500.json +8 -0
  283. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1830000.json +8 -0
  284. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1832500.json +8 -0
  285. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1835000.json +8 -0
  286. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1837500.json +8 -0
  287. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1840000.json +8 -0
  288. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1842500.json +8 -0
  289. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1845000.json +8 -0
  290. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1847500.json +8 -0
  291. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1850000.json +8 -0
  292. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1852500.json +8 -0
  293. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1855000.json +8 -0
  294. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1857500.json +8 -0
  295. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1860000.json +8 -0
  296. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1862500.json +8 -0
  297. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1865000.json +8 -0
  298. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1867500.json +8 -0
  299. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1870000.json +8 -0
  300. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1872500.json +8 -0
  301. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1875000.json +8 -0
  302. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1877500.json +8 -0
  303. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1880000.json +8 -0
  304. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1882500.json +8 -0
  305. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1885000.json +8 -0
  306. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1887500.json +8 -0
  307. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1890000.json +8 -0
  308. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1892500.json +8 -0
  309. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1895000.json +8 -0
  310. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1897500.json +8 -0
  311. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1900000.json +8 -0
  312. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1902500.json +8 -0
  313. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1905000.json +8 -0
  314. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1907500.json +8 -0
  315. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1910000.json +8 -0
  316. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1912500.json +8 -0
  317. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1915000.json +8 -0
  318. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1917500.json +8 -0
  319. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1920000.json +8 -0
  320. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1922500.json +8 -0
  321. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1925000.json +8 -0
  322. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1927500.json +8 -0
  323. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1930000.json +8 -0
  324. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1932500.json +8 -0
  325. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1935000.json +8 -0
  326. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1937500.json +8 -0
  327. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1940000.json +8 -0
  328. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1942500.json +8 -0
  329. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1945000.json +8 -0
  330. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1947500.json +8 -0
  331. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1950000.json +8 -0
  332. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1952500.json +8 -0
  333. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1955000.json +8 -0
  334. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1957500.json +8 -0
  335. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1960000.json +8 -0
  336. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1962500.json +8 -0
  337. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1965000.json +8 -0
  338. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1967500.json +8 -0
  339. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1970000.json +8 -0
  340. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1972500.json +8 -0
  341. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1975000.json +8 -0
  342. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1977500.json +8 -0
  343. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1980000.json +8 -0
  344. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1982500.json +8 -0
  345. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1985000.json +8 -0
  346. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1987500.json +8 -0
  347. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1990000.json +8 -0
  348. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1992500.json +8 -0
  349. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1995000.json +8 -0
  350. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1997500.json +8 -0
  351. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2000000.json +8 -0
  352. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2002500.json +8 -0
  353. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2005000.json +8 -0
  354. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2007500.json +8 -0
  355. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2010000.json +8 -0
  356. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2012500.json +8 -0
  357. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2015000.json +8 -0
  358. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2017500.json +8 -0
  359. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2020000.json +8 -0
  360. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2022500.json +8 -0
  361. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2025000.json +8 -0
  362. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2027500.json +8 -0
  363. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2030000.json +8 -0
  364. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2032500.json +8 -0
  365. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2035000.json +8 -0
  366. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2037500.json +8 -0
  367. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2040000.json +8 -0
  368. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2042500.json +8 -0
  369. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2045000.json +8 -0
  370. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2047500.json +8 -0
  371. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2050000.json +8 -0
  372. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2052500.json +8 -0
  373. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2055000.json +8 -0
  374. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2057500.json +8 -0
  375. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2060000.json +8 -0
  376. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2062500.json +8 -0
  377. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2065000.json +8 -0
  378. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2067500.json +8 -0
  379. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2070000.json +8 -0
  380. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2072500.json +8 -0
  381. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2075000.json +8 -0
  382. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2077500.json +8 -0
  383. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2080000.json +8 -0
  384. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2082500.json +8 -0
  385. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2085000.json +8 -0
  386. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2087500.json +8 -0
  387. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2090000.json +8 -0
  388. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2100000.json +8 -0
  389. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2110000.json +8 -0
  390. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2120000.json +8 -0
  391. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2130000.json +8 -0
  392. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2140000.json +8 -0
  393. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2150000.json +8 -0
  394. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2160000.json +8 -0
  395. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2170000.json +8 -0
  396. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2180000.json +8 -0
  397. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2190000.json +8 -0
  398. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2200000.json +8 -0
  399. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2210000.json +8 -0
  400. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2220000.json +8 -0
  401. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/419200.json +7 -0
  402. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/500000.json +7 -0
  403. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/510000.json +7 -0
  404. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/520000.json +7 -0
  405. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/530000.json +7 -0
  406. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/540000.json +7 -0
  407. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/550000.json +7 -0
  408. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/560000.json +7 -0
  409. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/570000.json +7 -0
  410. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/580000.json +7 -0
  411. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/590000.json +7 -0
  412. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/600000.json +7 -0
  413. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/610000.json +7 -0
  414. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/620000.json +7 -0
  415. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/630000.json +7 -0
  416. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/640000.json +7 -0
  417. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/650000.json +7 -0
  418. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/660000.json +7 -0
  419. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/663150.json +8 -0
  420. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/670000.json +7 -0
  421. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/680000.json +7 -0
  422. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/690000.json +7 -0
  423. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/700000.json +7 -0
  424. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/710000.json +7 -0
  425. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/720000.json +7 -0
  426. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/730000.json +7 -0
  427. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/740000.json +7 -0
  428. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/750000.json +7 -0
  429. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/760000.json +7 -0
  430. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/770000.json +7 -0
  431. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/780000.json +7 -0
  432. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/790000.json +7 -0
  433. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/800000.json +7 -0
  434. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/810000.json +7 -0
  435. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/820000.json +7 -0
  436. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/830000.json +7 -0
  437. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/840000.json +7 -0
  438. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/850000.json +7 -0
  439. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/860000.json +7 -0
  440. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/870000.json +7 -0
  441. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/880000.json +7 -0
  442. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/890000.json +7 -0
  443. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/900000.json +7 -0
  444. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/910000.json +7 -0
  445. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/920000.json +7 -0
  446. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/930000.json +7 -0
  447. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/940000.json +7 -0
  448. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/950000.json +7 -0
  449. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/960000.json +7 -0
  450. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/970000.json +7 -0
  451. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/980000.json +7 -0
  452. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/990000.json +7 -0
  453. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1000000.json +7 -0
  454. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1010000.json +7 -0
  455. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1020000.json +7 -0
  456. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1030000.json +7 -0
  457. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1040000.json +7 -0
  458. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1050000.json +7 -0
  459. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1060000.json +7 -0
  460. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1070000.json +7 -0
  461. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1080000.json +7 -0
  462. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1090000.json +7 -0
  463. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1100000.json +7 -0
  464. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1110000.json +7 -0
  465. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1120000.json +7 -0
  466. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1130000.json +7 -0
  467. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1140000.json +7 -0
  468. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1150000.json +7 -0
  469. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1160000.json +7 -0
  470. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1170000.json +7 -0
  471. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1180000.json +7 -0
  472. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1190000.json +7 -0
  473. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1200000.json +7 -0
  474. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1210000.json +7 -0
  475. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1220000.json +7 -0
  476. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1230000.json +7 -0
  477. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1240000.json +7 -0
  478. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1250000.json +7 -0
  479. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1260000.json +7 -0
  480. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1270000.json +7 -0
  481. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1280000.json +7 -0
  482. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1290000.json +7 -0
  483. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1300000.json +7 -0
  484. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1310000.json +7 -0
  485. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1320000.json +7 -0
  486. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1330000.json +7 -0
  487. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1340000.json +7 -0
  488. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1350000.json +7 -0
  489. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1360000.json +7 -0
  490. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1370000.json +7 -0
  491. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1380000.json +7 -0
  492. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1390000.json +7 -0
  493. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1400000.json +7 -0
  494. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1410000.json +7 -0
  495. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1420000.json +7 -0
  496. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1430000.json +7 -0
  497. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1440000.json +7 -0
  498. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1450000.json +7 -0
  499. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1460000.json +7 -0
  500. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1470000.json +7 -0
  501. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1480000.json +7 -0
  502. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1490000.json +7 -0
  503. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1500000.json +7 -0
  504. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1510000.json +7 -0
  505. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1520000.json +7 -0
  506. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1530000.json +7 -0
  507. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1540000.json +7 -0
  508. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1550000.json +7 -0
  509. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1560000.json +7 -0
  510. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1570000.json +7 -0
  511. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1580000.json +7 -0
  512. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1590000.json +7 -0
  513. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1600000.json +7 -0
  514. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1610000.json +7 -0
  515. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1620000.json +7 -0
  516. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1630000.json +7 -0
  517. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1640000.json +7 -0
  518. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1650000.json +7 -0
  519. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1660000.json +7 -0
  520. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1670000.json +7 -0
  521. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1680000.json +7 -0
  522. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1690000.json +7 -0
  523. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1700000.json +7 -0
  524. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1710000.json +7 -0
  525. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1720000.json +7 -0
  526. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1730000.json +7 -0
  527. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1740000.json +7 -0
  528. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1750000.json +7 -0
  529. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1760000.json +7 -0
  530. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1770000.json +7 -0
  531. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1780000.json +7 -0
  532. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1790000.json +7 -0
  533. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1800000.json +7 -0
  534. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1810000.json +7 -0
  535. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1820000.json +7 -0
  536. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1830000.json +7 -0
  537. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1840000.json +7 -0
  538. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1842420.json +8 -0
  539. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1850000.json +8 -0
  540. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1860000.json +8 -0
  541. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1870000.json +8 -0
  542. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1880000.json +8 -0
  543. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1890000.json +8 -0
  544. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1900000.json +8 -0
  545. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1910000.json +8 -0
  546. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1920000.json +8 -0
  547. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1930000.json +8 -0
  548. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1940000.json +8 -0
  549. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1950000.json +8 -0
  550. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1960000.json +8 -0
  551. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1970000.json +8 -0
  552. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1980000.json +8 -0
  553. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1990000.json +8 -0
  554. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2000000.json +8 -0
  555. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2010000.json +8 -0
  556. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2020000.json +8 -0
  557. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2030000.json +8 -0
  558. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2040000.json +8 -0
  559. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2050000.json +8 -0
  560. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2060000.json +8 -0
  561. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2070000.json +8 -0
  562. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2080000.json +8 -0
  563. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2090000.json +8 -0
  564. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2100000.json +8 -0
  565. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2110000.json +8 -0
  566. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2120000.json +8 -0
  567. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2130000.json +8 -0
  568. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2140000.json +8 -0
  569. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2150000.json +8 -0
  570. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2160000.json +8 -0
  571. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2170000.json +8 -0
  572. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2180000.json +8 -0
  573. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2190000.json +8 -0
  574. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2200000.json +8 -0
  575. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2210000.json +8 -0
  576. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2220000.json +8 -0
  577. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2230000.json +8 -0
  578. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2240000.json +8 -0
  579. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2250000.json +8 -0
  580. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2260000.json +8 -0
  581. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2270000.json +8 -0
  582. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2280000.json +8 -0
  583. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2290000.json +8 -0
  584. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2300000.json +8 -0
  585. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2310000.json +8 -0
  586. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2320000.json +8 -0
  587. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2330000.json +8 -0
  588. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2340000.json +8 -0
  589. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/280000.json +7 -0
  590. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/290000.json +7 -0
  591. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/300000.json +7 -0
  592. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/310000.json +7 -0
  593. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/320000.json +7 -0
  594. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/330000.json +7 -0
  595. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/340000.json +7 -0
  596. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/350000.json +7 -0
  597. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/360000.json +7 -0
  598. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/370000.json +7 -0
  599. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/380000.json +7 -0
  600. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/390000.json +7 -0
  601. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/400000.json +7 -0
  602. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/410000.json +7 -0
  603. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/420000.json +7 -0
  604. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/430000.json +7 -0
  605. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/440000.json +7 -0
  606. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/450000.json +7 -0
  607. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/460000.json +7 -0
  608. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/470000.json +7 -0
  609. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/480000.json +7 -0
  610. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/490000.json +7 -0
  611. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/500000.json +7 -0
  612. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/510000.json +7 -0
  613. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/520000.json +7 -0
  614. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/530000.json +7 -0
  615. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/540000.json +7 -0
  616. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/550000.json +7 -0
  617. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/560000.json +7 -0
  618. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/570000.json +7 -0
  619. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/580000.json +7 -0
  620. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/590000.json +7 -0
  621. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/600000.json +7 -0
  622. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/610000.json +7 -0
  623. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/620000.json +7 -0
  624. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/630000.json +7 -0
  625. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/640000.json +7 -0
  626. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/650000.json +7 -0
  627. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/660000.json +7 -0
  628. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/670000.json +7 -0
  629. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/680000.json +7 -0
  630. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/690000.json +7 -0
  631. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/700000.json +7 -0
  632. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/710000.json +7 -0
  633. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/720000.json +7 -0
  634. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/730000.json +7 -0
  635. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/740000.json +7 -0
  636. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/750000.json +7 -0
  637. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/760000.json +7 -0
  638. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/770000.json +7 -0
  639. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/780000.json +7 -0
  640. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/790000.json +7 -0
  641. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/800000.json +7 -0
  642. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/810000.json +7 -0
  643. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/820000.json +7 -0
  644. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/830000.json +7 -0
  645. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/840000.json +7 -0
  646. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/850000.json +7 -0
  647. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/860000.json +7 -0
  648. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/870000.json +7 -0
  649. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/880000.json +7 -0
  650. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/890000.json +7 -0
  651. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/900000.json +7 -0
  652. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/910000.json +7 -0
  653. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/920000.json +7 -0
  654. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/930000.json +7 -0
  655. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/940000.json +7 -0
  656. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/950000.json +7 -0
  657. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/960000.json +7 -0
  658. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/970000.json +7 -0
  659. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/980000.json +7 -0
  660. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/990000.json +7 -0
  661. package/ios/ZCashLightClientKit/Rust/ZcashKeyDerivationBackend.swift +218 -0
  662. package/ios/ZCashLightClientKit/Rust/ZcashKeyDerivationBackendWelding.swift +88 -0
  663. package/ios/ZCashLightClientKit/Rust/ZcashRustBackend.swift +531 -604
  664. package/ios/ZCashLightClientKit/Rust/ZcashRustBackendWelding.swift +223 -356
  665. package/ios/ZCashLightClientKit/Rust/zcashlc.h +802 -136
  666. package/ios/ZCashLightClientKit/Synchronizer/ClosureSDKSynchronizer.swift +180 -0
  667. package/ios/ZCashLightClientKit/Synchronizer/CombineSDKSynchronizer.swift +175 -0
  668. package/ios/ZCashLightClientKit/Synchronizer/Dependencies.swift +207 -0
  669. package/ios/ZCashLightClientKit/Synchronizer/SDKSynchronizer.swift +527 -793
  670. package/ios/ZCashLightClientKit/Synchronizer.swift +416 -342
  671. package/ios/ZCashLightClientKit/Tool/DerivationTool.swift +163 -300
  672. package/ios/ZCashLightClientKit/Transaction/TransactionEncoder.swift +39 -89
  673. package/ios/ZCashLightClientKit/Transaction/WalletTransactionEncoder.swift +93 -144
  674. package/ios/ZCashLightClientKit/Utils/AsyncToClosureGateway.swift +46 -0
  675. package/ios/ZCashLightClientKit/Utils/AsyncToCombineGateway.swift +59 -0
  676. package/ios/ZCashLightClientKit/Utils/Clamped.swift +32 -0
  677. package/ios/ZCashLightClientKit/Utils/DIContainer.swift +86 -0
  678. package/ios/ZCashLightClientKit/Utils/GenericActor.swift +18 -0
  679. package/ios/ZCashLightClientKit/Utils/LoggingProxy.swift +22 -21
  680. package/ios/ZCashLightClientKit/Utils/OSLogger.swift +109 -0
  681. package/ios/ZCashLightClientKit/Utils/SaplingParameterDownloader.swift +124 -89
  682. package/ios/ZCashLightClientKit/Utils/SpecificCombineTypes.swift +16 -0
  683. package/ios/ZCashLightClientKit/Utils/SyncSessionIDGenerator.swift +32 -0
  684. package/ios/ZCashLightClientKit/Utils/Task+sleep.swift +14 -0
  685. package/ios/ZCashLightClientKit/Utils/UsedAliasesChecker.swift +41 -0
  686. package/ios/libzcashlc.xcframework/Info.plist +5 -5
  687. package/ios/libzcashlc.xcframework/ios-arm64/libzcashlc.a +0 -0
  688. package/ios/libzcashlc.xcframework/ios-arm64_x86_64-simulator/libzcashlc.a +0 -0
  689. package/lib/rnzcash.rn.js +37 -80
  690. package/lib/rnzcash.rn.js.map +1 -1
  691. package/lib/src/react-native.d.ts +5 -10
  692. package/lib/src/types.d.ts +3 -4
  693. package/package.json +4 -1
  694. package/react-native-zcash.podspec +5 -4
  695. package/src/react-native.ts +15 -41
  696. package/src/types.ts +3 -4
  697. package/android/src/main/assets/saplingtree/mainnet/1310000.json +0 -7
  698. package/android/src/main/assets/saplingtree/mainnet/1320000.json +0 -7
  699. package/android/src/main/assets/saplingtree/mainnet/1330000.json +0 -7
  700. package/android/src/main/assets/saplingtree/mainnet/1340000.json +0 -7
  701. package/android/src/main/assets/saplingtree/mainnet/1350000.json +0 -7
  702. package/android/src/main/assets/saplingtree/mainnet/1360000.json +0 -7
  703. package/android/src/main/assets/saplingtree/mainnet/1370000.json +0 -7
  704. package/android/src/main/assets/saplingtree/mainnet/1380000.json +0 -7
  705. package/android/src/main/assets/saplingtree/mainnet/1390000.json +0 -7
  706. package/android/src/main/assets/saplingtree/mainnet/1400000.json +0 -7
  707. package/android/src/main/assets/saplingtree/mainnet/1410000.json +0 -7
  708. package/android/src/main/assets/saplingtree/mainnet/1420000.json +0 -7
  709. package/android/src/main/assets/saplingtree/mainnet/1430000.json +0 -7
  710. package/android/src/main/assets/saplingtree/mainnet/1440000.json +0 -7
  711. package/android/src/main/assets/saplingtree/mainnet/1450000.json +0 -7
  712. package/android/src/main/assets/saplingtree/mainnet/1460000.json +0 -7
  713. package/android/src/main/assets/saplingtree/mainnet/1470000.json +0 -7
  714. package/android/src/main/assets/saplingtree/mainnet/1480000.json +0 -7
  715. package/android/src/main/assets/saplingtree/mainnet/1490000.json +0 -7
  716. package/android/src/main/assets/saplingtree/mainnet/1500000.json +0 -7
  717. package/android/src/main/assets/saplingtree/mainnet/1510000.json +0 -7
  718. package/android/src/main/assets/saplingtree/mainnet/1520000.json +0 -7
  719. package/android/src/main/assets/saplingtree/mainnet/1530000.json +0 -7
  720. package/android/src/main/assets/saplingtree/mainnet/1540000.json +0 -7
  721. package/android/src/main/assets/saplingtree/mainnet/1550000.json +0 -7
  722. package/android/src/main/assets/saplingtree/mainnet/1560000.json +0 -7
  723. package/android/src/main/assets/saplingtree/mainnet/1570000.json +0 -7
  724. package/android/src/main/assets/saplingtree/mainnet/1580000.json +0 -7
  725. package/android/src/main/assets/saplingtree/mainnet/1590000.json +0 -7
  726. package/android/src/main/assets/saplingtree/mainnet/1600000.json +0 -7
  727. package/android/src/main/assets/saplingtree/mainnet/1610000.json +0 -7
  728. package/android/src/main/assets/saplingtree/mainnet/1620000.json +0 -7
  729. package/android/src/main/assets/saplingtree/mainnet/1630000.json +0 -7
  730. package/android/src/main/assets/saplingtree/mainnet/1640000.json +0 -7
  731. package/android/src/main/assets/saplingtree/mainnet/1650000.json +0 -7
  732. package/android/src/main/assets/saplingtree/mainnet/1660000.json +0 -7
  733. package/android/src/main/assets/saplingtree/mainnet/1670000.json +0 -7
  734. package/android/src/main/assets/saplingtree/mainnet/1680000.json +0 -7
  735. package/android/src/main/assets/saplingtree/mainnet/1690000.json +0 -7
  736. package/android/src/main/assets/saplingtree/mainnet/1700000.json +0 -7
  737. package/android/src/main/assets/saplingtree/mainnet/1710000.json +0 -7
  738. package/android/src/main/assets/saplingtree/mainnet/1720000.json +0 -7
  739. package/android/src/main/assets/saplingtree/mainnet/1730000.json +0 -7
  740. package/android/src/main/assets/saplingtree/mainnet/1740000.json +0 -7
  741. package/android/src/main/assets/saplingtree/mainnet/1750000.json +0 -7
  742. package/android/src/main/assets/saplingtree/mainnet/1760000.json +0 -7
  743. package/android/src/main/assets/saplingtree/mainnet/1770000.json +0 -7
  744. package/android/src/main/assets/saplingtree/mainnet/1780000.json +0 -7
  745. package/android/src/main/assets/saplingtree/mainnet/1790000.json +0 -7
  746. package/android/src/main/assets/saplingtree/mainnet/1800000.json +0 -7
  747. package/android/src/main/assets/saplingtree/mainnet/1810000.json +0 -7
  748. package/android/src/main/assets/saplingtree/mainnet/1820000.json +0 -7
  749. package/android/src/main/assets/saplingtree/mainnet/1830000.json +0 -7
  750. package/android/src/main/assets/saplingtree/mainnet/1840000.json +0 -7
  751. package/android/src/main/assets/saplingtree/mainnet/1850000.json +0 -7
  752. package/android/src/main/assets/saplingtree/mainnet/1860000.json +0 -7
  753. package/android/src/main/assets/saplingtree/mainnet/1870000.json +0 -7
  754. package/android/src/main/assets/saplingtree/mainnet/1880000.json +0 -7
  755. package/android/src/main/assets/saplingtree/mainnet/1890000.json +0 -7
  756. package/android/src/main/assets/saplingtree/mainnet/1900000.json +0 -7
  757. package/android/src/main/assets/saplingtree/mainnet/1910000.json +0 -7
  758. package/android/src/main/assets/saplingtree/mainnet/1920000.json +0 -7
  759. package/android/src/main/assets/saplingtree/mainnet/1930000.json +0 -7
  760. package/android/src/main/assets/saplingtree/mainnet/1940000.json +0 -7
  761. package/android/src/main/assets/saplingtree/mainnet/1950000.json +0 -7
  762. package/android/src/main/assets/saplingtree/mainnet/1960000.json +0 -7
  763. package/android/src/main/assets/saplingtree/mainnet/1970000.json +0 -7
  764. package/android/src/main/assets/saplingtree/mainnet/1980000.json +0 -7
  765. package/android/src/main/assets/saplingtree/mainnet/1990000.json +0 -7
  766. package/android/src/main/assets/saplingtree/mainnet/2000000.json +0 -7
  767. package/android/src/main/assets/saplingtree/mainnet/2010000.json +0 -7
  768. package/android/src/main/assets/saplingtree/mainnet/2020000.json +0 -7
  769. package/android/src/main/assets/saplingtree/mainnet/2030000.json +0 -7
  770. package/android/src/main/assets/saplingtree/mainnet/2040000.json +0 -7
  771. package/android/src/main/assets/saplingtree/mainnet/2050000.json +0 -7
  772. package/android/src/main/assets/saplingtree/mainnet/2060000.json +0 -7
  773. package/android/src/main/assets/saplingtree/mainnet/2070000.json +0 -7
  774. package/android/src/main/assets/saplingtree/mainnet/2080000.json +0 -7
  775. package/android/src/main/assets/saplingtree/mainnet/2090000.json +0 -7
  776. package/android/src/main/assets/saplingtree/mainnet/2100000.json +0 -7
  777. package/android/src/main/assets/saplingtree/mainnet/2110000.json +0 -7
  778. package/android/src/main/assets/saplingtree/mainnet/2120000.json +0 -7
  779. package/android/src/main/assets/saplingtree/mainnet/2130000.json +0 -7
  780. package/android/src/main/assets/saplingtree/mainnet/2140000.json +0 -7
  781. package/android/src/main/assets/saplingtree/mainnet/2150000.json +0 -7
  782. package/android/src/main/assets/saplingtree/mainnet/2160000.json +0 -7
  783. package/android/src/main/assets/saplingtree/mainnet/2170000.json +0 -7
  784. package/ios/ZCashLightClientKit/Block/DatabaseStorage/CompactBlockStorage.swift +0 -123
  785. package/ios/ZCashLightClientKit/Block/DatabaseStorage/DatabaseMigrationManager.swift +0 -222
  786. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageError.swift +0 -22
  787. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageManager.swift +0 -73
  788. package/ios/ZCashLightClientKit/Block/Downloader/BlockDownloader.swift +0 -240
  789. package/ios/ZCashLightClientKit/Block/Downloader/CompactBlockDownloaderBuilder.swift +0 -26
  790. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockDownloadOperation.swift +0 -258
  791. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockEnhancementOperation.swift +0 -157
  792. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockProcessor.swift +0 -1454
  793. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockScanningOperation.swift +0 -238
  794. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockValidationInformation.swift +0 -66
  795. package/ios/ZCashLightClientKit/Block/Processor/FetchUnspentTxOutputsOperation.swift +0 -103
  796. package/ios/ZCashLightClientKit/Block/Processor/FigureNextBatchOperation.swift +0 -58
  797. package/ios/ZCashLightClientKit/Block/Processor/ZcashOperation.swift +0 -68
  798. package/ios/ZCashLightClientKit/Constants/WalletBirthday+Constants.swift +0 -58
  799. package/ios/ZCashLightClientKit/Constants/WalletBirthday+mainnet.swift +0 -20
  800. package/ios/ZCashLightClientKit/Constants/WalletBirthday+testnet.swift +0 -20
  801. package/ios/ZCashLightClientKit/DAO/CompactBlockDAO.swift +0 -24
  802. package/ios/ZCashLightClientKit/DAO/NotesDao.swift +0 -142
  803. package/ios/ZCashLightClientKit/DAO/PendingTransactionDao.swift +0 -213
  804. package/ios/ZCashLightClientKit/DAO/TransactionBuilder.swift +0 -169
  805. package/ios/ZCashLightClientKit/Entity/CompactBlockEntity.swift +0 -13
  806. package/ios/ZCashLightClientKit/Entity/PendingTransactionEntity.swift +0 -205
  807. package/ios/ZCashLightClientKit/Entity/ReceivedNoteEntity.swift +0 -22
  808. package/ios/ZCashLightClientKit/Repository/PendingTransactionRepository.swift +0 -19
  809. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1000000.json +0 -7
  810. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1010000.json +0 -7
  811. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1020000.json +0 -7
  812. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1030000.json +0 -7
  813. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1040000.json +0 -7
  814. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1050000.json +0 -7
  815. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1060000.json +0 -7
  816. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1070000.json +0 -7
  817. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1080000.json +0 -7
  818. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1090000.json +0 -7
  819. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1100000.json +0 -7
  820. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1110000.json +0 -7
  821. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1120000.json +0 -7
  822. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1130000.json +0 -7
  823. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1140000.json +0 -7
  824. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1150000.json +0 -7
  825. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1160000.json +0 -7
  826. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1170000.json +0 -7
  827. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1180000.json +0 -7
  828. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1190000.json +0 -7
  829. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1200000.json +0 -7
  830. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1210000.json +0 -7
  831. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1220000.json +0 -7
  832. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1230000.json +0 -7
  833. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1240000.json +0 -7
  834. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1250000.json +0 -7
  835. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1260000.json +0 -7
  836. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1270000.json +0 -7
  837. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1280000.json +0 -7
  838. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1290000.json +0 -7
  839. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1300000.json +0 -7
  840. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1310000.json +0 -7
  841. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1320000.json +0 -7
  842. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1330000.json +0 -7
  843. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1340000.json +0 -7
  844. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1350000.json +0 -7
  845. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1360000.json +0 -7
  846. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1370000.json +0 -7
  847. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1380000.json +0 -7
  848. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1390000.json +0 -7
  849. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1400000.json +0 -7
  850. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1410000.json +0 -7
  851. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1420000.json +0 -7
  852. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1430000.json +0 -7
  853. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1440000.json +0 -7
  854. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1450000.json +0 -7
  855. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1460000.json +0 -7
  856. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1470000.json +0 -7
  857. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1480000.json +0 -7
  858. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1490000.json +0 -7
  859. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1500000.json +0 -7
  860. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1510000.json +0 -7
  861. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1520000.json +0 -7
  862. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1530000.json +0 -7
  863. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1540000.json +0 -7
  864. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1550000.json +0 -7
  865. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1560000.json +0 -7
  866. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1570000.json +0 -7
  867. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1580000.json +0 -7
  868. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1590000.json +0 -7
  869. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1600000.json +0 -7
  870. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1610000.json +0 -7
  871. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1620000.json +0 -7
  872. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1630000.json +0 -7
  873. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1640000.json +0 -7
  874. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1650000.json +0 -7
  875. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1660000.json +0 -7
  876. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1670000.json +0 -7
  877. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1680000.json +0 -7
  878. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1690000.json +0 -7
  879. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1700000.json +0 -7
  880. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1710000.json +0 -7
  881. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1720000.json +0 -7
  882. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1730000.json +0 -7
  883. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1740000.json +0 -7
  884. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1750000.json +0 -7
  885. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1760000.json +0 -7
  886. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1770000.json +0 -7
  887. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1780000.json +0 -7
  888. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1790000.json +0 -7
  889. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1800000.json +0 -7
  890. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1810000.json +0 -7
  891. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1820000.json +0 -7
  892. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1830000.json +0 -7
  893. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1840000.json +0 -7
  894. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1850000.json +0 -7
  895. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1860000.json +0 -7
  896. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1870000.json +0 -7
  897. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1880000.json +0 -7
  898. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1890000.json +0 -7
  899. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1900000.json +0 -7
  900. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1910000.json +0 -7
  901. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1920000.json +0 -7
  902. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1930000.json +0 -7
  903. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1940000.json +0 -7
  904. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1950000.json +0 -7
  905. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1960000.json +0 -7
  906. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1970000.json +0 -7
  907. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1980000.json +0 -7
  908. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1990000.json +0 -7
  909. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2000000.json +0 -7
  910. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2010000.json +0 -7
  911. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2020000.json +0 -7
  912. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2030000.json +0 -7
  913. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2040000.json +0 -7
  914. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2050000.json +0 -7
  915. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2060000.json +0 -7
  916. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2070000.json +0 -7
  917. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2080000.json +0 -7
  918. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2090000.json +0 -7
  919. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2100000.json +0 -7
  920. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2110000.json +0 -7
  921. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2120000.json +0 -7
  922. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2130000.json +0 -7
  923. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2140000.json +0 -7
  924. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2150000.json +0 -7
  925. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2160000.json +0 -7
  926. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2170000.json +0 -7
  927. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/419200.json +0 -7
  928. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/500000.json +0 -7
  929. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/510000.json +0 -7
  930. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/520000.json +0 -7
  931. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/530000.json +0 -7
  932. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/540000.json +0 -7
  933. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/550000.json +0 -7
  934. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/560000.json +0 -7
  935. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/570000.json +0 -7
  936. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/580000.json +0 -7
  937. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/590000.json +0 -7
  938. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/600000.json +0 -7
  939. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/610000.json +0 -7
  940. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/620000.json +0 -7
  941. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/630000.json +0 -7
  942. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/640000.json +0 -7
  943. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/650000.json +0 -7
  944. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/660000.json +0 -7
  945. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/663150.json +0 -8
  946. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/670000.json +0 -7
  947. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/680000.json +0 -7
  948. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/690000.json +0 -7
  949. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/700000.json +0 -7
  950. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/710000.json +0 -7
  951. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/720000.json +0 -7
  952. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/730000.json +0 -7
  953. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/740000.json +0 -7
  954. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/750000.json +0 -7
  955. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/760000.json +0 -7
  956. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/770000.json +0 -7
  957. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/780000.json +0 -7
  958. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/790000.json +0 -7
  959. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/800000.json +0 -7
  960. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/810000.json +0 -7
  961. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/820000.json +0 -7
  962. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/830000.json +0 -7
  963. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/840000.json +0 -7
  964. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/850000.json +0 -7
  965. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/860000.json +0 -7
  966. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/870000.json +0 -7
  967. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/880000.json +0 -7
  968. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/890000.json +0 -7
  969. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/900000.json +0 -7
  970. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/910000.json +0 -7
  971. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/920000.json +0 -7
  972. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/930000.json +0 -7
  973. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/940000.json +0 -7
  974. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/950000.json +0 -7
  975. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/960000.json +0 -7
  976. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/970000.json +0 -7
  977. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/980000.json +0 -7
  978. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/990000.json +0 -7
  979. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1000000.json +0 -7
  980. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1010000.json +0 -7
  981. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1020000.json +0 -7
  982. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1030000.json +0 -7
  983. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1040000.json +0 -7
  984. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1050000.json +0 -7
  985. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1060000.json +0 -7
  986. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1070000.json +0 -7
  987. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1080000.json +0 -7
  988. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1090000.json +0 -7
  989. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1100000.json +0 -7
  990. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1110000.json +0 -7
  991. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1120000.json +0 -7
  992. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1130000.json +0 -7
  993. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1140000.json +0 -7
  994. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1150000.json +0 -7
  995. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1160000.json +0 -7
  996. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1170000.json +0 -7
  997. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1180000.json +0 -7
  998. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1190000.json +0 -7
  999. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1200000.json +0 -7
  1000. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1210000.json +0 -7
  1001. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1220000.json +0 -7
  1002. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1230000.json +0 -7
  1003. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1240000.json +0 -7
  1004. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1250000.json +0 -7
  1005. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1260000.json +0 -7
  1006. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1270000.json +0 -7
  1007. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1280000.json +0 -7
  1008. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1290000.json +0 -7
  1009. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1300000.json +0 -7
  1010. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1310000.json +0 -7
  1011. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1320000.json +0 -7
  1012. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1330000.json +0 -7
  1013. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1340000.json +0 -7
  1014. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1350000.json +0 -7
  1015. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1360000.json +0 -7
  1016. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1370000.json +0 -7
  1017. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1380000.json +0 -7
  1018. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1390000.json +0 -7
  1019. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1400000.json +0 -7
  1020. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1410000.json +0 -7
  1021. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1420000.json +0 -7
  1022. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1430000.json +0 -7
  1023. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1440000.json +0 -7
  1024. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1450000.json +0 -7
  1025. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1460000.json +0 -7
  1026. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1470000.json +0 -7
  1027. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1480000.json +0 -7
  1028. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1490000.json +0 -7
  1029. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1500000.json +0 -7
  1030. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1510000.json +0 -7
  1031. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1520000.json +0 -7
  1032. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1530000.json +0 -7
  1033. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1540000.json +0 -7
  1034. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1550000.json +0 -7
  1035. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1560000.json +0 -7
  1036. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1570000.json +0 -7
  1037. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1580000.json +0 -7
  1038. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1590000.json +0 -7
  1039. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1600000.json +0 -7
  1040. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1610000.json +0 -7
  1041. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1620000.json +0 -7
  1042. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1630000.json +0 -7
  1043. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1640000.json +0 -7
  1044. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1650000.json +0 -7
  1045. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1660000.json +0 -7
  1046. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1670000.json +0 -7
  1047. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1680000.json +0 -7
  1048. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1690000.json +0 -7
  1049. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1700000.json +0 -7
  1050. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1710000.json +0 -7
  1051. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1720000.json +0 -7
  1052. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1730000.json +0 -7
  1053. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1740000.json +0 -7
  1054. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1750000.json +0 -7
  1055. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1760000.json +0 -7
  1056. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1770000.json +0 -7
  1057. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1780000.json +0 -7
  1058. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1790000.json +0 -7
  1059. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1800000.json +0 -7
  1060. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1810000.json +0 -7
  1061. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1820000.json +0 -7
  1062. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1830000.json +0 -7
  1063. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1840000.json +0 -7
  1064. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1850000.json +0 -7
  1065. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1860000.json +0 -7
  1066. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/280000.json +0 -7
  1067. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/290000.json +0 -7
  1068. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/300000.json +0 -7
  1069. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/310000.json +0 -7
  1070. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/320000.json +0 -7
  1071. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/330000.json +0 -7
  1072. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/340000.json +0 -7
  1073. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/350000.json +0 -7
  1074. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/360000.json +0 -7
  1075. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/370000.json +0 -7
  1076. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/380000.json +0 -7
  1077. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/390000.json +0 -7
  1078. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/400000.json +0 -7
  1079. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/410000.json +0 -7
  1080. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/420000.json +0 -7
  1081. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/430000.json +0 -7
  1082. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/440000.json +0 -7
  1083. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/450000.json +0 -7
  1084. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/460000.json +0 -7
  1085. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/470000.json +0 -7
  1086. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/480000.json +0 -7
  1087. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/490000.json +0 -7
  1088. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/500000.json +0 -7
  1089. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/510000.json +0 -7
  1090. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/520000.json +0 -7
  1091. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/530000.json +0 -7
  1092. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/540000.json +0 -7
  1093. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/550000.json +0 -7
  1094. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/560000.json +0 -7
  1095. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/570000.json +0 -7
  1096. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/580000.json +0 -7
  1097. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/590000.json +0 -7
  1098. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/600000.json +0 -7
  1099. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/610000.json +0 -7
  1100. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/620000.json +0 -7
  1101. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/630000.json +0 -7
  1102. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/640000.json +0 -7
  1103. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/650000.json +0 -7
  1104. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/660000.json +0 -7
  1105. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/670000.json +0 -7
  1106. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/680000.json +0 -7
  1107. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/690000.json +0 -7
  1108. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/700000.json +0 -7
  1109. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/710000.json +0 -7
  1110. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/720000.json +0 -7
  1111. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/730000.json +0 -7
  1112. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/740000.json +0 -7
  1113. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/750000.json +0 -7
  1114. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/760000.json +0 -7
  1115. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/770000.json +0 -7
  1116. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/780000.json +0 -7
  1117. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/790000.json +0 -7
  1118. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/800000.json +0 -7
  1119. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/810000.json +0 -7
  1120. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/820000.json +0 -7
  1121. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/830000.json +0 -7
  1122. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/840000.json +0 -7
  1123. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/850000.json +0 -7
  1124. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/860000.json +0 -7
  1125. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/870000.json +0 -7
  1126. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/880000.json +0 -7
  1127. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/890000.json +0 -7
  1128. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/900000.json +0 -7
  1129. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/910000.json +0 -7
  1130. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/920000.json +0 -7
  1131. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/930000.json +0 -7
  1132. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/940000.json +0 -7
  1133. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/950000.json +0 -7
  1134. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/960000.json +0 -7
  1135. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/970000.json +0 -7
  1136. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/980000.json +0 -7
  1137. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/990000.json +0 -7
  1138. package/ios/ZCashLightClientKit/Service/LightWalletGRPCService.swift +0 -551
  1139. package/ios/ZCashLightClientKit/Service/LightWalletService.swift +0 -214
  1140. package/ios/ZCashLightClientKit/Service/Model/ZcashCompactBlock.swift +0 -46
  1141. package/ios/ZCashLightClientKit/Service/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +0 -50
  1142. package/ios/ZCashLightClientKit/Service/ProtoBuf/compact_formats.pb.swift +0 -332
  1143. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/compact_formats.proto +0 -56
  1144. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/service.proto +0 -180
  1145. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.grpc.swift +0 -383
  1146. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.pb.swift +0 -1173
  1147. package/ios/ZCashLightClientKit/Transaction/PersistentTransactionManager.swift +0 -339
  1148. package/ios/ZCashLightClientKit/Transaction/TransactionManager.swift +0 -42
  1149. package/ios/ZCashLightClientKit/Utils/Bundle+module.swift +0 -30
@@ -9,695 +9,577 @@
9
9
  import Foundation
10
10
 
11
11
 
12
- class ZcashRustBackend: ZcashRustBackendWelding {
13
- static func lastError() -> RustWeldingError? {
14
- guard let message = getLastError() else { return nil }
12
+ actor ZcashRustBackend: ZcashRustBackendWelding {
13
+ let minimumConfirmations: UInt32 = 10
14
+ let useZIP317Fees = false
15
15
 
16
- zcashlc_clear_last_error()
16
+ let dbData: (String, UInt)
17
+ let fsBlockDbRoot: (String, UInt)
18
+ let spendParamsPath: (String, UInt)
19
+ let outputParamsPath: (String, UInt)
20
+ let keyDeriving: ZcashKeyDerivationBackendWelding
17
21
 
18
- if message.contains("couldn't load Sapling spend parameters") {
19
- return RustWeldingError.saplingSpendParametersNotFound
20
- } else if message.contains("is not empty") {
21
- return RustWeldingError.dataDbNotEmpty
22
- }
22
+ nonisolated let networkType: NetworkType
23
23
 
24
- return RustWeldingError.genericError(message: message)
25
- }
26
-
27
- static func getLastError() -> String? {
28
- let errorLen = zcashlc_last_error_length()
29
- if errorLen > 0 {
30
- let error = UnsafeMutablePointer<Int8>.allocate(capacity: Int(errorLen))
31
- zcashlc_error_message_utf8(error, errorLen)
32
- zcashlc_clear_last_error()
33
- return String(validatingUTF8: error)
34
- } else {
35
- return nil
36
- }
24
+ /// Creates instance of `ZcashRustBackend`.
25
+ /// - Parameters:
26
+ /// - dbData: `URL` pointing to file where data database will be.
27
+ /// - fsBlockDbRoot: `URL` pointing to the filesystem root directory where the fsBlock cache is.
28
+ /// this directory is expected to contain a `/blocks` sub-directory with the blocks stored in the convened filename
29
+ /// format `{height}-{hash}-block`. This directory has must be granted both write and read permissions.
30
+ /// - spendParamsPath: `URL` pointing to spend parameters file.
31
+ /// - outputParamsPath: `URL` pointing to output parameters file.
32
+ /// - networkType: Network type to use.
33
+ init(dbData: URL, fsBlockDbRoot: URL, spendParamsPath: URL, outputParamsPath: URL, networkType: NetworkType) {
34
+ self.dbData = dbData.osStr()
35
+ self.fsBlockDbRoot = fsBlockDbRoot.osPathStr()
36
+ self.spendParamsPath = spendParamsPath.osPathStr()
37
+ self.outputParamsPath = outputParamsPath.osPathStr()
38
+ self.networkType = networkType
39
+ self.keyDeriving = ZcashKeyDerivationBackend(networkType: networkType)
37
40
  }
38
-
39
- /**
40
- * Sets up the internal structure of the data database.
41
- */
42
- static func initDataDb(dbData: URL, networkType: NetworkType) throws {
43
- let dbData = dbData.osStr()
44
- guard zcashlc_init_data_database(dbData.0, dbData.1, networkType.networkId) != 0 else {
45
- if let error = lastError() {
46
- throw throwDataDbError(error)
47
- }
48
- throw RustWeldingError.dataDbInitFailed(message: "unknown error")
41
+
42
+ func createAccount(seed: [UInt8]) async throws -> UnifiedSpendingKey {
43
+ let ffiBinaryKeyPtr = zcashlc_create_account(
44
+ dbData.0,
45
+ dbData.1,
46
+ seed,
47
+ UInt(seed.count),
48
+ networkType.networkId
49
+ )
50
+
51
+ guard let ffiBinaryKeyPtr else {
52
+ throw ZcashError.rustCreateAccount(lastErrorMessage(fallback: "`createAccount` failed with unknown error"))
49
53
  }
54
+
55
+ defer { zcashlc_free_binary_key(ffiBinaryKeyPtr) }
56
+
57
+ return ffiBinaryKeyPtr.pointee.unsafeToUnifiedSpendingKey(network: networkType)
50
58
  }
51
-
52
- static func isValidShieldedAddress(_ address: String, networkType: NetworkType) throws -> Bool {
53
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
54
- return false
59
+
60
+ func createToAddress(
61
+ usk: UnifiedSpendingKey,
62
+ to address: String,
63
+ value: Int64,
64
+ memo: MemoBytes?
65
+ ) async throws -> Int64 {
66
+ let result = usk.bytes.withUnsafeBufferPointer { uskPtr in
67
+ zcashlc_create_to_address(
68
+ dbData.0,
69
+ dbData.1,
70
+ uskPtr.baseAddress,
71
+ UInt(usk.bytes.count),
72
+ [CChar](address.utf8CString),
73
+ value,
74
+ memo?.bytes,
75
+ spendParamsPath.0,
76
+ spendParamsPath.1,
77
+ outputParamsPath.0,
78
+ outputParamsPath.1,
79
+ networkType.networkId,
80
+ minimumConfirmations,
81
+ useZIP317Fees
82
+ )
55
83
  }
56
-
57
- guard zcashlc_is_valid_shielded_address([CChar](address.utf8CString), networkType.networkId) else {
58
- if let error = lastError() {
59
- throw error
60
- }
61
- return false
84
+
85
+ guard result > 0 else {
86
+ throw ZcashError.rustCreateToAddress(lastErrorMessage(fallback: "`createToAddress` failed with unknown error"))
62
87
  }
63
88
 
64
- return true
89
+ return result
65
90
  }
66
-
67
- static func isValidTransparentAddress(_ address: String, networkType: NetworkType) throws -> Bool {
68
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
69
- return false
91
+
92
+ func decryptAndStoreTransaction(txBytes: [UInt8], minedHeight: Int32) async throws {
93
+ let result = zcashlc_decrypt_and_store_transaction(
94
+ dbData.0,
95
+ dbData.1,
96
+ txBytes,
97
+ UInt(txBytes.count),
98
+ UInt32(minedHeight),
99
+ networkType.networkId
100
+ )
101
+
102
+ guard result != 0 else {
103
+ throw ZcashError.rustDecryptAndStoreTransaction(lastErrorMessage(fallback: "`decryptAndStoreTransaction` failed with unknown error"))
70
104
  }
71
-
72
- guard zcashlc_is_valid_transparent_address([CChar](address.utf8CString), networkType.networkId ) else {
73
- if let error = lastError() {
74
- throw error
75
- }
76
- return false
105
+ }
106
+
107
+ func getBalance(account: Int32) async throws -> Int64 {
108
+ let balance = zcashlc_get_balance(dbData.0, dbData.1, account, networkType.networkId)
109
+
110
+ guard balance >= 0 else {
111
+ throw ZcashError.rustGetBalance(Int(account), lastErrorMessage(fallback: "Error getting total balance from account \(account)"))
77
112
  }
78
113
 
79
- return true
114
+ return balance
80
115
  }
81
-
82
- static func isValidExtendedFullViewingKey(_ key: String, networkType: NetworkType) throws -> Bool {
83
- guard !key.containsCStringNullBytesBeforeStringEnding() else {
84
- return false
85
- }
86
-
87
- guard zcashlc_is_valid_viewing_key([CChar](key.utf8CString), networkType.networkId) else {
88
- if let error = lastError() {
89
- throw error
90
- }
91
- return false
92
- }
93
-
94
- return true
95
- }
96
-
97
- static func initAccountsTable(dbData: URL, seed: [UInt8], accounts: Int32, networkType: NetworkType) -> [String]? {
98
- let dbData = dbData.osStr()
99
- var capacity = UInt(0)
100
- let extsksCStr = zcashlc_init_accounts_table(dbData.0, dbData.1, seed, UInt(seed.count), accounts, &capacity, networkType.networkId)
101
- if extsksCStr == nil {
102
- return nil
103
- }
104
-
105
- let extsks = UnsafeBufferPointer(start: extsksCStr, count: Int(accounts)).compactMap({ cStr -> String? in
106
- guard let str = cStr else { return nil }
107
- return String(cString: str)
108
- })
109
- zcashlc_vec_string_free(extsksCStr, UInt(accounts), capacity)
110
-
111
- return extsks
112
- }
113
-
114
- static func initAccountsTable(dbData: URL, uvks: [UnifiedViewingKey], networkType: NetworkType) throws -> Bool {
115
- let dbData = dbData.osStr()
116
-
117
- var ffiUvks: [FFIUnifiedViewingKey] = []
118
- for uvk in uvks {
119
- guard !uvk.extfvk.containsCStringNullBytesBeforeStringEnding() else {
120
- throw RustWeldingError.malformedStringInput
121
- }
122
- guard !uvk.extpub.containsCStringNullBytesBeforeStringEnding() else {
123
- throw RustWeldingError.malformedStringInput
124
- }
125
-
126
- guard try self.isValidExtendedFullViewingKey(uvk.extfvk, networkType: networkType) else {
127
- throw RustWeldingError.malformedStringInput
128
- }
129
116
 
130
- let extfvkCStr = [CChar](String(uvk.extfvk).utf8CString)
131
-
132
- let extfvkPtr = UnsafeMutablePointer<CChar>.allocate(capacity: extfvkCStr.count)
133
- extfvkPtr.initialize(from: extfvkCStr, count: extfvkCStr.count)
134
-
135
- let extpubCStr = [CChar](String(uvk.extpub).utf8CString)
136
- let extpubPtr = UnsafeMutablePointer<CChar>.allocate(capacity: extpubCStr.count)
137
- extpubPtr.initialize(from: extpubCStr, count: extpubCStr.count)
138
-
139
- ffiUvks.append(FFIUnifiedViewingKey(extfvk: extfvkPtr, extpub: extpubPtr))
140
- }
141
-
142
- var result = false
117
+ func getCurrentAddress(account: Int32) async throws -> UnifiedAddress {
118
+ let addressCStr = zcashlc_get_current_address(
119
+ dbData.0,
120
+ dbData.1,
121
+ account,
122
+ networkType.networkId
123
+ )
143
124
 
144
- ffiUvks.withContiguousMutableStorageIfAvailable { pointer in
145
- let slice = UnsafeMutablePointer<FFIUVKBoxedSlice>.allocate(capacity: 1)
146
- slice.initialize(to: FFIUVKBoxedSlice(ptr: pointer.baseAddress, len: UInt(pointer.count)))
147
-
148
- result = zcashlc_init_accounts_table_with_keys(dbData.0, dbData.1, slice, networkType.networkId)
149
- slice.deinitialize(count: 1)
125
+ guard let addressCStr else {
126
+ throw ZcashError.rustGetCurrentAddress(lastErrorMessage(fallback: "`getCurrentAddress` failed with unknown error"))
150
127
  }
151
-
152
- defer {
153
- for uvk in ffiUvks {
154
- uvk.extfvk.deallocate()
155
- uvk.extpub.deallocate()
156
- }
128
+
129
+ defer { zcashlc_string_free(addressCStr) }
130
+
131
+ guard let address = String(validatingUTF8: addressCStr) else {
132
+ throw ZcashError.rustGetCurrentAddressInvalidAddress
157
133
  }
158
-
159
- return result
134
+
135
+ return UnifiedAddress(validatedEncoding: address, networkType: networkType)
160
136
  }
161
- // swiftlint:disable function_parameter_count
162
- static func initBlocksTable(
163
- dbData: URL,
164
- height: Int32,
165
- hash: String,
166
- time: UInt32,
167
- saplingTree: String,
168
- networkType: NetworkType
169
- ) throws {
170
- let dbData = dbData.osStr()
171
-
172
- guard !hash.containsCStringNullBytesBeforeStringEnding() else {
173
- throw RustWeldingError.malformedStringInput
174
- }
175
-
176
- guard !saplingTree.containsCStringNullBytesBeforeStringEnding() else {
177
- throw RustWeldingError.malformedStringInput
178
- }
179
-
180
- guard zcashlc_init_blocks_table(
137
+
138
+ func getNearestRewindHeight(height: Int32) async throws -> Int32 {
139
+ let result = zcashlc_get_nearest_rewind_height(
181
140
  dbData.0,
182
141
  dbData.1,
183
142
  height,
184
- [CChar](hash.utf8CString),
185
- time,
186
- [CChar](saplingTree.utf8CString),
187
143
  networkType.networkId
188
- ) != 0 else {
189
- if let error = lastError() {
190
- throw error
191
- }
192
- throw RustWeldingError.dataDbInitFailed(message: "Unknown Error")
193
- }
194
- }
195
-
196
- static func getAddress(dbData: URL, account: Int32, networkType: NetworkType) -> String? {
197
- let dbData = dbData.osStr()
198
-
199
- guard let addressCStr = zcashlc_get_address(dbData.0, dbData.1, account, networkType.networkId) else { return nil }
200
-
201
- let address = String(validatingUTF8: addressCStr)
202
- zcashlc_string_free(addressCStr)
203
- return address
204
- }
205
-
206
- static func getBalance(dbData: URL, account: Int32, networkType: NetworkType) -> Int64 {
207
- let dbData = dbData.osStr()
208
- return zcashlc_get_balance(dbData.0, dbData.1, account, networkType.networkId)
209
- }
210
-
211
- static func getVerifiedBalance(dbData: URL, account: Int32, networkType: NetworkType) -> Int64 {
212
- let dbData = dbData.osStr()
213
- return zcashlc_get_verified_balance(dbData.0, dbData.1, account, networkType.networkId)
214
- }
215
-
216
- static func getVerifiedTransparentBalance(dbData: URL, address: String, networkType: NetworkType) throws -> Int64 {
217
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
218
- throw RustWeldingError.malformedStringInput
219
- }
220
-
221
- guard try isValidTransparentAddress(address, networkType: networkType) else {
222
- throw RustWeldingError.unableToDeriveKeys
223
- }
224
-
225
- let dbData = dbData.osStr()
226
-
227
- return zcashlc_get_verified_transparent_balance(dbData.0, dbData.1, [CChar](address.utf8CString), networkType.networkId)
228
- }
229
-
230
- static func getTransparentBalance(dbData: URL, address: String, networkType: NetworkType) throws -> Int64 {
231
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
232
- throw RustWeldingError.malformedStringInput
233
- }
234
-
235
- guard try self.isValidTransparentAddress(address, networkType: networkType) else {
236
- throw RustWeldingError.unableToDeriveKeys
237
- }
238
-
239
- let dbData = dbData.osStr()
240
- return zcashlc_get_total_transparent_balance(dbData.0, dbData.1, [CChar](address.utf8CString), networkType.networkId)
241
- }
242
-
243
- static func clearUtxos(dbData: URL, address: String, sinceHeight: BlockHeight, networkType: NetworkType) throws -> Int32 {
244
- let dbData = dbData.osStr()
245
-
246
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
247
- throw RustWeldingError.malformedStringInput
248
- }
249
-
250
- guard try isValidTransparentAddress(address, networkType: networkType) else {
251
- throw RustWeldingError.unableToDeriveKeys
252
- }
253
-
254
- let result = zcashlc_clear_utxos(dbData.0, dbData.1, [CChar](address.utf8CString), Int32(sinceHeight), networkType.networkId)
255
-
144
+ )
145
+
256
146
  guard result > 0 else {
257
- if let error = lastError() {
258
- throw error
259
- }
260
- return result
147
+ throw ZcashError.rustGetNearestRewindHeight(lastErrorMessage(fallback: "`getNearestRewindHeight` failed with unknown error"))
261
148
  }
149
+
262
150
  return result
263
151
  }
264
-
265
- static func putUnspentTransparentOutput(dbData: URL, address: String, txid: [UInt8], index: Int, script: [UInt8], value: Int64, height: BlockHeight, networkType: NetworkType) throws -> Bool {
266
- let dbData = dbData.osStr()
267
-
268
- guard !address.containsCStringNullBytesBeforeStringEnding() else {
269
- throw RustWeldingError.malformedStringInput
270
- }
271
-
272
- guard zcashlc_put_utxo(
152
+
153
+ func getNextAvailableAddress(account: Int32) async throws -> UnifiedAddress {
154
+ let addressCStr = zcashlc_get_next_available_address(
273
155
  dbData.0,
274
156
  dbData.1,
275
- [CChar](address.utf8CString),
276
- txid,
277
- UInt(txid.count),
278
- Int32(index),
279
- script,
280
- UInt(script.count),
281
- value,
282
- Int32(height),
157
+ account,
283
158
  networkType.networkId
284
- ) else {
285
- if let error = lastError() {
286
- throw error
287
- }
288
- return false
289
- }
290
-
291
- return true
292
- }
293
-
294
- static func downloadedUtxoBalance(dbData: URL, address: String, networkType: NetworkType) throws -> WalletBalance {
295
- let verified = try getVerifiedTransparentBalance(dbData: dbData, address: address, networkType: networkType)
296
- let total = try getTransparentBalance(dbData: dbData, address: address, networkType: networkType)
297
- return TransparentBalance(verified: verified, total: total, address: address)
298
- }
299
-
300
- static func getReceivedMemoAsUTF8(dbData: URL, idNote: Int64, networkType: NetworkType) -> String? {
301
- let dbData = dbData.osStr()
302
-
303
- guard let memoCStr = zcashlc_get_received_memo_as_utf8(dbData.0, dbData.1, idNote, networkType.networkId) else { return nil }
304
-
305
- let memo = String(validatingUTF8: memoCStr)
306
- zcashlc_string_free(memoCStr)
307
- return memo
308
- }
309
-
310
- static func getSentMemoAsUTF8(dbData: URL, idNote: Int64, networkType: NetworkType) -> String? {
311
- let dbData = dbData.osStr()
312
-
313
- guard let memoCStr = zcashlc_get_sent_memo_as_utf8(dbData.0, dbData.1, idNote, networkType.networkId) else { return nil }
314
-
315
- let memo = String(validatingUTF8: memoCStr)
316
- zcashlc_string_free(memoCStr)
317
- return memo
318
- }
319
-
320
- static func validateCombinedChain(dbCache: URL, dbData: URL, networkType: NetworkType) -> Int32 {
321
- let dbCache = dbCache.osStr()
322
- let dbData = dbData.osStr()
323
- return zcashlc_validate_combined_chain(dbCache.0, dbCache.1, dbData.0, dbData.1, networkType.networkId)
324
- }
325
-
326
- static func getNearestRewindHeight(dbData: URL, height: Int32, networkType: NetworkType) -> Int32 {
327
- let dbData = dbData.osStr()
328
- return zcashlc_get_nearest_rewind_height(dbData.0, dbData.1, height, networkType.networkId)
329
- }
330
-
331
- static func rewindToHeight(dbData: URL, height: Int32, networkType: NetworkType) -> Bool {
332
- let dbData = dbData.osStr()
333
- return zcashlc_rewind_to_height(dbData.0, dbData.1, height, networkType.networkId)
334
- }
335
-
336
- static func scanBlocks(dbCache: URL, dbData: URL, limit: UInt32 = 0, networkType: NetworkType) -> Bool {
337
- let dbCache = dbCache.osStr()
338
- let dbData = dbData.osStr()
339
- return zcashlc_scan_blocks(dbCache.0, dbCache.1, dbData.0, dbData.1, limit, networkType.networkId) != 0
340
- }
341
-
342
- static func decryptAndStoreTransaction(dbData: URL, txBytes: [UInt8], minedHeight: Int32, networkType: NetworkType) -> Bool {
343
- let dbData = dbData.osStr()
344
- return zcashlc_decrypt_and_store_transaction(
159
+ )
160
+
161
+ guard let addressCStr else {
162
+ throw ZcashError.rustGetNextAvailableAddress(lastErrorMessage(fallback: "`getNextAvailableAddress` failed with unknown error"))
163
+ }
164
+
165
+ defer { zcashlc_string_free(addressCStr) }
166
+
167
+ guard let address = String(validatingUTF8: addressCStr) else {
168
+ throw ZcashError.rustGetNextAvailableAddressInvalidAddress
169
+ }
170
+
171
+ return UnifiedAddress(validatedEncoding: address, networkType: networkType)
172
+ }
173
+
174
+ func getReceivedMemo(idNote: Int64) async -> Memo? {
175
+ var contiguousMemoBytes = ContiguousArray<UInt8>(MemoBytes.empty().bytes)
176
+ var success = false
177
+
178
+ contiguousMemoBytes.withUnsafeMutableBufferPointer { memoBytePtr in
179
+ success = zcashlc_get_received_memo(dbData.0, dbData.1, idNote, memoBytePtr.baseAddress, networkType.networkId)
180
+ }
181
+
182
+ guard success else { return nil }
183
+
184
+ return (try? MemoBytes(contiguousBytes: contiguousMemoBytes)).flatMap { try? $0.intoMemo() }
185
+ }
186
+
187
+ func getSentMemo(idNote: Int64) async -> Memo? {
188
+ var contiguousMemoBytes = ContiguousArray<UInt8>(MemoBytes.empty().bytes)
189
+ var success = false
190
+
191
+ contiguousMemoBytes.withUnsafeMutableBytes { memoBytePtr in
192
+ success = zcashlc_get_sent_memo(dbData.0, dbData.1, idNote, memoBytePtr.baseAddress, networkType.networkId)
193
+ }
194
+
195
+ guard success else { return nil }
196
+
197
+ return (try? MemoBytes(contiguousBytes: contiguousMemoBytes)).flatMap { try? $0.intoMemo() }
198
+ }
199
+
200
+ func getTransparentBalance(account: Int32) async throws -> Int64 {
201
+ guard account >= 0 else {
202
+ throw ZcashError.rustGetTransparentBalanceNegativeAccount(Int(account))
203
+ }
204
+
205
+ let balance = zcashlc_get_total_transparent_balance_for_account(
345
206
  dbData.0,
346
207
  dbData.1,
347
- txBytes,
348
- UInt(txBytes.count),
349
- UInt32(minedHeight),
350
- networkType.networkId
351
- ) != 0
208
+ networkType.networkId,
209
+ account
210
+ )
211
+
212
+ guard balance >= 0 else {
213
+ throw ZcashError.rustGetTransparentBalance(
214
+ Int(account),
215
+ lastErrorMessage(fallback: "Error getting Total Transparent balance from account \(account)")
216
+ )
217
+ }
218
+
219
+ return balance
352
220
  }
353
221
 
354
- // swiftlint:disable function_parameter_count
355
- static func createToAddress(
356
- dbData: URL,
357
- account: Int32,
358
- extsk: String,
359
- to address: String,
360
- value: Int64,
361
- memo: String?,
362
- spendParamsPath: String,
363
- outputParamsPath: String,
364
- networkType: NetworkType
365
- ) -> Int64 {
366
- let dbData = dbData.osStr()
367
- let memoBytes = memo ?? ""
368
-
369
- return zcashlc_create_to_address(
222
+ func getVerifiedBalance(account: Int32) async throws -> Int64 {
223
+ let balance = zcashlc_get_verified_balance(
370
224
  dbData.0,
371
225
  dbData.1,
372
226
  account,
373
- [CChar](extsk.utf8CString),
374
- [CChar](address.utf8CString),
375
- value,
376
- [CChar](memoBytes.utf8CString),
377
- spendParamsPath,
378
- UInt(spendParamsPath.lengthOfBytes(using: .utf8)),
379
- outputParamsPath,
380
- UInt(outputParamsPath.lengthOfBytes(using: .utf8)),
381
- networkType.networkId
227
+ networkType.networkId,
228
+ minimumConfirmations
382
229
  )
230
+
231
+ guard balance >= 0 else {
232
+ throw ZcashError.rustGetVerifiedBalance(
233
+ Int(account),
234
+ lastErrorMessage(fallback: "Error getting verified balance from account \(account)")
235
+ )
236
+ }
237
+
238
+ return balance
383
239
  }
384
-
385
- static func shieldFunds(
386
- dbCache: URL,
387
- dbData: URL,
388
- account: Int32,
389
- tsk: String,
390
- extsk: String,
391
- memo: String?,
392
- spendParamsPath: String,
393
- outputParamsPath: String,
394
- networkType: NetworkType
395
- ) -> Int64 {
396
- let dbData = dbData.osStr()
397
- let memoBytes = memo ?? ""
398
-
399
- return zcashlc_shield_funds(
240
+
241
+ func getVerifiedTransparentBalance(account: Int32) async throws -> Int64 {
242
+ guard account >= 0 else {
243
+ throw ZcashError.rustGetVerifiedTransparentBalanceNegativeAccount(Int(account))
244
+ }
245
+
246
+ let balance = zcashlc_get_verified_transparent_balance_for_account(
400
247
  dbData.0,
401
248
  dbData.1,
249
+ networkType.networkId,
402
250
  account,
403
- [CChar](tsk.utf8CString),
404
- [CChar](extsk.utf8CString),
405
- [CChar](memoBytes.utf8CString),
406
- spendParamsPath,
407
- UInt(spendParamsPath.lengthOfBytes(using: .utf8)),
408
- outputParamsPath,
409
- UInt(outputParamsPath.lengthOfBytes(using: .utf8)),
410
- networkType.networkId
251
+ minimumConfirmations
411
252
  )
253
+
254
+ guard balance >= 0 else {
255
+ throw ZcashError.rustGetVerifiedTransparentBalance(
256
+ Int(account),
257
+ lastErrorMessage(fallback: "Error getting verified transparent balance from account \(account)")
258
+ )
259
+ }
260
+
261
+ return balance
412
262
  }
413
-
414
- static func deriveExtendedFullViewingKey(_ spendingKey: String, networkType: NetworkType) throws -> String? {
415
- guard !spendingKey.containsCStringNullBytesBeforeStringEnding() else {
416
- throw RustWeldingError.malformedStringInput
263
+
264
+ func initDataDb(seed: [UInt8]?) async throws -> DbInitResult {
265
+ switch zcashlc_init_data_database(dbData.0, dbData.1, seed, UInt(seed?.count ?? 0), networkType.networkId) {
266
+ case 0: // ok
267
+ return DbInitResult.success
268
+ case 1:
269
+ return DbInitResult.seedRequired
270
+ default:
271
+ throw ZcashError.rustInitDataDb(lastErrorMessage(fallback: "`initDataDb` failed with unknown error"))
417
272
  }
418
-
419
- guard
420
- let extsk = zcashlc_derive_extended_full_viewing_key(
421
- [CChar](spendingKey.utf8CString),
422
- networkType.networkId
423
- )
424
- else {
425
- if let error = lastError() {
426
- throw error
273
+ }
274
+
275
+ func initAccountsTable(ufvks: [UnifiedFullViewingKey]) async throws {
276
+ var ffiUfvks: [FFIEncodedKey] = []
277
+ for ufvk in ufvks {
278
+ guard !ufvk.encoding.containsCStringNullBytesBeforeStringEnding() else {
279
+ throw ZcashError.rustInitAccountsTableViewingKeyCotainsNullBytes
427
280
  }
428
- return nil
429
- }
430
-
431
- let derived = String(validatingUTF8: extsk)
432
-
433
- zcashlc_string_free(extsk)
434
- return derived
435
- }
436
-
437
- static func deriveExtendedFullViewingKeys(seed: [UInt8], accounts: Int32, networkType: NetworkType) throws -> [String]? {
438
- var capacity = UInt(0)
439
- guard
440
- let extsksCStr = zcashlc_derive_extended_full_viewing_keys(
441
- seed,
442
- UInt(seed.count),
443
- accounts,
444
- &capacity,
445
- networkType.networkId
446
- )
447
- else {
448
- if let error = lastError() {
449
- throw error
281
+
282
+ guard self.keyDeriving.isValidUnifiedFullViewingKey(ufvk.encoding) else {
283
+ throw ZcashError.rustInitAccountsTableViewingKeyIsInvalid
450
284
  }
451
- return nil
452
- }
453
-
454
- let extsks = UnsafeBufferPointer(start: extsksCStr, count: Int(accounts)).compactMap { cStr -> String? in
455
- guard let str = cStr else { return nil }
456
- return String(cString: str)
457
- }
458
-
459
- zcashlc_vec_string_free(extsksCStr, UInt(accounts), capacity)
460
- return extsks
461
- }
462
-
463
- static func deriveExtendedSpendingKeys(seed: [UInt8], accounts: Int32, networkType: NetworkType) throws -> [String]? {
464
- var capacity = UInt(0)
465
- guard
466
- let extsksCStr = zcashlc_derive_extended_spending_keys(
467
- seed,
468
- UInt(seed.count),
469
- accounts,
470
- &capacity,
471
- networkType.networkId
285
+
286
+ let ufvkCStr = [CChar](String(ufvk.encoding).utf8CString)
287
+
288
+ let ufvkPtr = UnsafeMutablePointer<CChar>.allocate(capacity: ufvkCStr.count)
289
+ ufvkPtr.initialize(from: ufvkCStr, count: ufvkCStr.count)
290
+
291
+ ffiUfvks.append(
292
+ FFIEncodedKey(account_id: ufvk.account, encoding: ufvkPtr)
472
293
  )
473
- else {
474
- if let error = lastError() {
475
- throw error
476
- }
477
- return nil
478
- }
479
-
480
- let extsks = UnsafeBufferPointer(start: extsksCStr, count: Int(accounts)).compactMap { cStr -> String? in
481
- guard let str = cStr else { return nil }
482
- return String(cString: str)
483
294
  }
484
295
 
485
- zcashlc_vec_string_free(extsksCStr, UInt(accounts), capacity)
296
+ var contiguousUVKs = ContiguousArray(ffiUfvks)
486
297
 
487
- return extsks
488
- }
298
+ var result = false
489
299
 
490
- static func deriveUnifiedViewingKeyFromSeed(
491
- _ seed: [UInt8],
492
- numberOfAccounts: Int,
493
- networkType: NetworkType
494
- ) throws -> [UnifiedViewingKey] {
495
- guard
496
- let uvksStruct = zcashlc_derive_unified_viewing_keys_from_seed(
497
- seed,
498
- UInt(seed.count),
499
- Int32(numberOfAccounts),
300
+ contiguousUVKs.withContiguousMutableStorageIfAvailable { ufvksPtr in
301
+ result = zcashlc_init_accounts_table_with_keys(
302
+ dbData.0,
303
+ dbData.1,
304
+ ufvksPtr.baseAddress,
305
+ UInt(ufvks.count),
500
306
  networkType.networkId
501
307
  )
502
- else {
503
- if let error = lastError() {
504
- throw error
308
+ }
309
+
310
+ defer {
311
+ for ufvk in ffiUfvks {
312
+ ufvk.encoding.deallocate()
505
313
  }
506
- throw RustWeldingError.unableToDeriveKeys
507
314
  }
508
-
509
- let uvksSize = uvksStruct.pointee.len
510
315
 
511
- guard let uvksArrayPointer = uvksStruct.pointee.ptr, uvksSize > 0 else {
512
- throw RustWeldingError.unableToDeriveKeys
316
+ guard result else {
317
+ let message = lastErrorMessage(fallback: "`initAccountsTable` failed with unknown error")
318
+ if message.isDbNotEmptyErrorMessage() {
319
+ throw ZcashError.rustInitAccountsTableDataDbNotEmpty
320
+ } else {
321
+ throw ZcashError.rustInitAccountsTable(message)
322
+ }
513
323
  }
324
+ }
325
+
326
+ func initBlockMetadataDb() async throws {
327
+ let result = zcashlc_init_block_metadata_db(fsBlockDbRoot.0, fsBlockDbRoot.1)
514
328
 
515
- var uvks: [UnifiedViewingKey] = []
516
-
517
- for item in 0 ..< Int(uvksSize) {
518
- let itemPointer = uvksArrayPointer.advanced(by: item)
519
-
520
- guard let extfvk = String(validatingUTF8: itemPointer.pointee.extfvk) else {
521
- throw RustWeldingError.unableToDeriveKeys
329
+ guard result else {
330
+ throw ZcashError.rustInitBlockMetadataDb(lastErrorMessage(fallback: "`initBlockMetadataDb` failed with unknown error"))
331
+ }
332
+ }
333
+
334
+ func writeBlocksMetadata(blocks: [ZcashCompactBlock]) async throws {
335
+ var ffiBlockMetaVec: [FFIBlockMeta] = []
336
+
337
+ for block in blocks {
338
+ let meta = block.meta
339
+ let hashPtr = UnsafeMutablePointer<UInt8>.allocate(capacity: meta.hash.count)
340
+
341
+ let contiguousHashBytes = ContiguousArray(meta.hash.bytes)
342
+
343
+ let result: Void? = contiguousHashBytes.withContiguousStorageIfAvailable { hashBytesPtr in
344
+ // swiftlint:disable:next force_unwrapping
345
+ hashPtr.initialize(from: hashBytesPtr.baseAddress!, count: hashBytesPtr.count)
522
346
  }
523
-
524
- guard let extpub = String(validatingUTF8: itemPointer.pointee.extpub) else {
525
- throw RustWeldingError.unableToDeriveKeys
347
+
348
+ guard result != nil else {
349
+ defer {
350
+ hashPtr.deallocate()
351
+ ffiBlockMetaVec.deallocateElements()
352
+ }
353
+ throw ZcashError.rustWriteBlocksMetadataAllocationProblem
526
354
  }
527
-
528
- uvks.append(UVK(extfvk: extfvk, extpub: extpub))
529
- }
530
-
531
- zcashlc_free_uvk_array(uvksStruct)
532
-
533
- return uvks
534
- }
535
-
536
- static func deriveShieldedAddressFromSeed(
537
- seed: [UInt8],
538
- accountIndex: Int32,
539
- networkType: NetworkType
540
- ) throws -> String? {
541
- guard
542
- let zaddrCStr = zcashlc_derive_shielded_address_from_seed(
543
- seed,
544
- UInt(seed.count),
545
- accountIndex,
546
- networkType.networkId
355
+
356
+ ffiBlockMetaVec.append(
357
+ FFIBlockMeta(
358
+ height: UInt32(block.height),
359
+ block_hash_ptr: hashPtr,
360
+ block_hash_ptr_len: UInt(contiguousHashBytes.count),
361
+ block_time: meta.time,
362
+ sapling_outputs_count: meta.saplingOutputs,
363
+ orchard_actions_count: meta.orchardOutputs
364
+ )
547
365
  )
548
- else {
549
- if let error = lastError() {
550
- throw error
366
+ }
367
+
368
+ var contiguousFFIBlocks = ContiguousArray(ffiBlockMetaVec)
369
+
370
+ let len = UInt(contiguousFFIBlocks.count)
371
+
372
+ let fsBlocks = UnsafeMutablePointer<FFIBlocksMeta>.allocate(capacity: 1)
373
+
374
+ defer { ffiBlockMetaVec.deallocateElements() }
375
+
376
+ try contiguousFFIBlocks.withContiguousMutableStorageIfAvailable { ptr in
377
+ var meta = FFIBlocksMeta()
378
+ meta.ptr = ptr.baseAddress
379
+ meta.len = len
380
+
381
+ fsBlocks.initialize(to: meta)
382
+
383
+ let res = zcashlc_write_block_metadata(fsBlockDbRoot.0, fsBlockDbRoot.1, fsBlocks)
384
+
385
+ guard res else {
386
+ throw ZcashError.rustWriteBlocksMetadata(lastErrorMessage(fallback: "`writeBlocksMetadata` failed with unknown error"))
551
387
  }
552
- return nil
553
- }
554
- let zAddr = String(validatingUTF8: zaddrCStr)
555
-
556
- zcashlc_string_free(zaddrCStr)
557
-
558
- return zAddr
559
- }
560
-
561
- static func deriveShieldedAddressFromViewingKey(
562
- _ extfvk: String,
563
- networkType: NetworkType
564
- ) throws -> String? {
565
- guard !extfvk.containsCStringNullBytesBeforeStringEnding() else {
566
- throw RustWeldingError.malformedStringInput
567
- }
568
- guard
569
- let zaddrCStr = zcashlc_derive_shielded_address_from_viewing_key(
570
- [CChar](extfvk.utf8CString),
571
- networkType.networkId
572
- )
573
- else {
574
- if let error = lastError() {
575
- throw error
388
+ }
389
+ }
390
+
391
+ func initBlocksTable(
392
+ height: Int32,
393
+ hash: String,
394
+ time: UInt32,
395
+ saplingTree: String
396
+ ) async throws {
397
+ guard !hash.containsCStringNullBytesBeforeStringEnding() else {
398
+ throw ZcashError.rustInitBlocksTableHashContainsNullBytes
399
+ }
400
+
401
+ guard !saplingTree.containsCStringNullBytesBeforeStringEnding() else {
402
+ throw ZcashError.rustInitBlocksTableSaplingTreeContainsNullBytes
403
+ }
404
+
405
+ let result = zcashlc_init_blocks_table(
406
+ dbData.0,
407
+ dbData.1,
408
+ height,
409
+ [CChar](hash.utf8CString),
410
+ time,
411
+ [CChar](saplingTree.utf8CString),
412
+ networkType.networkId
413
+ )
414
+
415
+ guard result != 0 else {
416
+ let message = lastErrorMessage(fallback: "`initBlocksTable` failed with unknown error")
417
+ if message.isDbNotEmptyErrorMessage() {
418
+ throw ZcashError.rustInitBlocksTableDataDbNotEmpty
419
+ } else {
420
+ throw ZcashError.rustInitBlocksTable(message)
576
421
  }
577
- return nil
578
- }
579
- let zAddr = String(validatingUTF8: zaddrCStr)
580
-
581
- zcashlc_string_free(zaddrCStr)
582
-
583
- return zAddr
584
- }
585
-
586
- static func deriveTransparentAddressFromSeed(
587
- seed: [UInt8],
588
- account: Int,
589
- index: Int,
590
- networkType: NetworkType
591
- ) throws -> String? {
592
- guard
593
- let tAddrCStr = zcashlc_derive_transparent_address_from_seed(
594
- seed,
595
- UInt(seed.count),
596
- Int32(account),
597
- Int32(index),
598
- networkType.networkId
599
- )
600
- else {
601
- if let error = lastError() {
602
- throw error
422
+ }
423
+ }
424
+
425
+ func latestCachedBlockHeight() async -> BlockHeight {
426
+ return BlockHeight(zcashlc_latest_cached_block_height(fsBlockDbRoot.0, fsBlockDbRoot.1))
427
+ }
428
+
429
+ func listTransparentReceivers(account: Int32) async throws -> [TransparentAddress] {
430
+ let encodedKeysPtr = zcashlc_list_transparent_receivers(
431
+ dbData.0,
432
+ dbData.1,
433
+ account,
434
+ networkType.networkId
435
+ )
436
+
437
+ guard let encodedKeysPtr else {
438
+ throw ZcashError.rustListTransparentReceivers(lastErrorMessage(fallback: "`listTransparentReceivers` failed with unknown error"))
439
+ }
440
+
441
+ defer { zcashlc_free_keys(encodedKeysPtr) }
442
+
443
+ var addresses: [TransparentAddress] = []
444
+
445
+ for i in (0 ..< Int(encodedKeysPtr.pointee.len)) {
446
+ let key = encodedKeysPtr.pointee.ptr.advanced(by: i).pointee
447
+
448
+ guard let taddrStr = String(validatingUTF8: key.encoding) else {
449
+ throw ZcashError.rustListTransparentReceiversInvalidAddress
603
450
  }
604
- return nil
451
+
452
+ addresses.append(
453
+ TransparentAddress(validatedEncoding: taddrStr)
454
+ )
605
455
  }
606
-
607
- let tAddr = String(validatingUTF8: tAddrCStr)
608
-
609
- return tAddr
456
+
457
+ return addresses
610
458
  }
611
-
612
- static func deriveTransparentPrivateKeyFromSeed(
613
- seed: [UInt8],
614
- account: Int,
459
+
460
+ func putUnspentTransparentOutput(
461
+ txid: [UInt8],
615
462
  index: Int,
616
- networkType: NetworkType
617
- ) throws -> String? {
618
- guard
619
- let skCStr = zcashlc_derive_transparent_private_key_from_seed(
620
- seed,
621
- UInt(seed.count),
622
- Int32(account),
623
- Int32(index),
624
- networkType.networkId
463
+ script: [UInt8],
464
+ value: Int64,
465
+ height: BlockHeight
466
+ ) async throws {
467
+ let result = zcashlc_put_utxo(
468
+ dbData.0,
469
+ dbData.1,
470
+ txid,
471
+ UInt(txid.count),
472
+ Int32(index),
473
+ script,
474
+ UInt(script.count),
475
+ value,
476
+ Int32(height),
477
+ networkType.networkId
478
+ )
479
+
480
+ guard result else {
481
+ throw ZcashError.rustPutUnspentTransparentOutput(lastErrorMessage(fallback: "`putUnspentTransparentOutput` failed with unknown error"))
482
+ }
483
+ }
484
+
485
+ func validateCombinedChain(limit: UInt32 = 0) async throws {
486
+ let result = zcashlc_validate_combined_chain(fsBlockDbRoot.0, fsBlockDbRoot.1, dbData.0, dbData.1, limit, networkType.networkId)
487
+
488
+ switch result {
489
+ case -1:
490
+ return
491
+ case 0:
492
+ throw ZcashError.rustValidateCombinedChainValidationFailed(
493
+ lastErrorMessage(fallback: "`validateCombinedChain` failed with unknown error")
625
494
  )
626
- else {
627
- if let error = lastError() {
628
- throw error
629
- }
630
- return nil
631
- }
632
- let secretKey = String(validatingUTF8: skCStr)
633
-
634
- return secretKey
635
- }
636
-
637
- static func derivedTransparentAddressFromPublicKey(
638
- _ pubkey: String,
639
- networkType: NetworkType
640
- ) throws -> String {
641
- guard !pubkey.containsCStringNullBytesBeforeStringEnding() else {
642
- throw RustWeldingError.malformedStringInput
643
- }
644
-
645
- guard
646
- let tAddrCStr = zcashlc_derive_transparent_address_from_public_key(
647
- [CChar](pubkey.utf8CString),
648
- networkType.networkId
649
- ),
650
- let tAddr = String(validatingUTF8: tAddrCStr)
651
- else {
652
- if let error = lastError() {
653
- throw error
654
- }
655
- throw RustWeldingError.unableToDeriveKeys
495
+ default:
496
+ throw ZcashError.rustValidateCombinedChainInvalidChain(result)
656
497
  }
498
+ }
499
+
500
+ func rewindToHeight(height: Int32) async throws {
501
+ let result = zcashlc_rewind_to_height(dbData.0, dbData.1, height, networkType.networkId)
657
502
 
658
- return tAddr
503
+ guard result else {
504
+ throw ZcashError.rustRewindToHeight(height, lastErrorMessage(fallback: "`rewindToHeight` failed with unknown error"))
505
+ }
659
506
  }
660
-
661
- static func deriveTransparentAddressFromSecretKey(_ tsk: String, networkType: NetworkType) throws -> String? {
662
- guard !tsk.containsCStringNullBytesBeforeStringEnding() else {
663
- throw RustWeldingError.malformedStringInput
507
+
508
+ func rewindCacheToHeight(height: Int32) async throws {
509
+ let result = zcashlc_rewind_fs_block_cache_to_height(fsBlockDbRoot.0, fsBlockDbRoot.1, height)
510
+
511
+ guard result else {
512
+ throw ZcashError.rustRewindCacheToHeight(lastErrorMessage(fallback: "`rewindCacheToHeight` failed with unknown error"))
664
513
  }
665
-
666
- guard let tAddrCStr = zcashlc_derive_transparent_address_from_secret_key([CChar](tsk.utf8CString), networkType.networkId) else {
667
- if let error = lastError() {
668
- throw error
669
- }
670
- return nil
514
+ }
515
+
516
+ func scanBlocks(limit: UInt32 = 0) async throws {
517
+ let result = zcashlc_scan_blocks(fsBlockDbRoot.0, fsBlockDbRoot.1, dbData.0, dbData.1, limit, networkType.networkId)
518
+
519
+ guard result != 0 else {
520
+ throw ZcashError.rustScanBlocks(lastErrorMessage(fallback: "`scanBlocks` failed with unknown error"))
521
+ }
522
+ }
523
+
524
+ func shieldFunds(
525
+ usk: UnifiedSpendingKey,
526
+ memo: MemoBytes?,
527
+ shieldingThreshold: Zatoshi
528
+ ) async throws -> Int64 {
529
+ let result = usk.bytes.withUnsafeBufferPointer { uskBuffer in
530
+ zcashlc_shield_funds(
531
+ dbData.0,
532
+ dbData.1,
533
+ uskBuffer.baseAddress,
534
+ UInt(usk.bytes.count),
535
+ memo?.bytes,
536
+ UInt64(shieldingThreshold.amount),
537
+ spendParamsPath.0,
538
+ spendParamsPath.1,
539
+ outputParamsPath.0,
540
+ outputParamsPath.1,
541
+ networkType.networkId,
542
+ minimumConfirmations,
543
+ useZIP317Fees
544
+ )
545
+ }
546
+
547
+ guard result > 0 else {
548
+ throw ZcashError.rustShieldFunds(lastErrorMessage(fallback: "`shieldFunds` failed with unknown error"))
671
549
  }
672
550
 
673
- let tAddr = String(validatingUTF8: tAddrCStr)
674
-
675
- return tAddr
551
+ return result
676
552
  }
677
-
678
- static func consensusBranchIdFor(height: Int32, networkType: NetworkType) throws -> Int32 {
553
+
554
+ nonisolated func consensusBranchIdFor(height: Int32) throws -> Int32 {
679
555
  let branchId = zcashlc_branch_id_for_height(height, networkType.networkId)
680
-
556
+
681
557
  guard branchId != -1 else {
682
- throw RustWeldingError.noConsensusBranchId(height: height)
558
+ throw ZcashError.rustNoConsensusBranchId(height)
683
559
  }
684
-
560
+
685
561
  return branchId
686
562
  }
687
563
  }
688
564
 
689
- private struct UVK: UnifiedViewingKey {
690
- var extfvk: ExtendedFullViewingKey
691
- var extpub: ExtendedPublicKey
692
- }
693
-
694
565
  private extension ZcashRustBackend {
695
- static func throwDataDbError(_ error: RustWeldingError) -> Error {
696
- if case RustWeldingError.genericError(let message) = error, message.contains("is not empty") {
697
- return RustWeldingError.dataDbNotEmpty
698
- }
566
+ nonisolated func lastErrorMessage(fallback: String) -> String {
567
+ let errorLen = zcashlc_last_error_length()
568
+ defer { zcashlc_clear_last_error() }
699
569
 
700
- return RustWeldingError.dataDbInitFailed(message: error.localizedDescription)
570
+ if errorLen > 0 {
571
+ let error = UnsafeMutablePointer<Int8>.allocate(capacity: Int(errorLen))
572
+ defer { error.deallocate() }
573
+
574
+ zcashlc_error_message_utf8(error, errorLen)
575
+ if let errorMessage = String(validatingUTF8: error) {
576
+ return errorMessage
577
+ } else {
578
+ return fallback
579
+ }
580
+ } else {
581
+ return fallback
582
+ }
701
583
  }
702
584
  }
703
585
 
@@ -706,6 +588,12 @@ private extension URL {
706
588
  let path = self.absoluteString
707
589
  return (path, UInt(path.lengthOfBytes(using: .utf8)))
708
590
  }
591
+
592
+ /// use when the rust ffi needs to make filesystem operations
593
+ func osPathStr() -> (String, UInt) {
594
+ let path = self.path
595
+ return (path, UInt(path.lengthOfBytes(using: .utf8)))
596
+ }
709
597
  }
710
598
 
711
599
  extension String {
@@ -715,4 +603,43 @@ extension String {
715
603
  func containsCStringNullBytesBeforeStringEnding() -> Bool {
716
604
  self.utf8CString.firstIndex(of: 0) != (self.utf8CString.count - 1)
717
605
  }
606
+
607
+ func isDbNotEmptyErrorMessage() -> Bool {
608
+ return contains("is not empty")
609
+ }
610
+ }
611
+
612
+ extension FFIBinaryKey {
613
+ /// converts an [`FFIBinaryKey`] into a [`UnifiedSpendingKey`]
614
+ /// - Note: This does not check that the converted value actually holds a valid USK
615
+ func unsafeToUnifiedSpendingKey(network: NetworkType) -> UnifiedSpendingKey {
616
+ .init(
617
+ network: network,
618
+ bytes: self.encoding.toByteArray(
619
+ length: Int(self.encoding_len)
620
+ ),
621
+ account: self.account_id
622
+ )
623
+ }
624
+ }
625
+
626
+ extension UnsafeMutablePointer where Pointee == UInt8 {
627
+ /// copies the bytes pointed on
628
+ func toByteArray(length: Int) -> [UInt8] {
629
+ var bytes: [UInt8] = []
630
+
631
+ for index in 0 ..< length {
632
+ bytes.append(self.advanced(by: index).pointee)
633
+ }
634
+
635
+ return bytes
636
+ }
637
+ }
638
+
639
+ extension Array where Element == FFIBlockMeta {
640
+ func deallocateElements() {
641
+ self.forEach { element in
642
+ element.block_hash_ptr.deallocate()
643
+ }
644
+ }
718
645
  }