react-native-zcash 0.3.4 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +22 -0
  3. package/README.md +40 -37
  4. package/android/build.gradle +7 -5
  5. package/android/src/main/assets/saplingtree/mainnet/1310000.json +1 -1
  6. package/android/src/main/assets/saplingtree/mainnet/1320000.json +1 -1
  7. package/android/src/main/assets/saplingtree/mainnet/1330000.json +1 -1
  8. package/android/src/main/assets/saplingtree/mainnet/1340000.json +1 -1
  9. package/android/src/main/assets/saplingtree/mainnet/1350000.json +1 -1
  10. package/android/src/main/assets/saplingtree/mainnet/1360000.json +1 -1
  11. package/android/src/main/assets/saplingtree/mainnet/1370000.json +1 -1
  12. package/android/src/main/assets/saplingtree/mainnet/1380000.json +1 -1
  13. package/android/src/main/assets/saplingtree/mainnet/1390000.json +1 -1
  14. package/android/src/main/assets/saplingtree/mainnet/1400000.json +1 -1
  15. package/android/src/main/assets/saplingtree/mainnet/1410000.json +1 -1
  16. package/android/src/main/assets/saplingtree/mainnet/1420000.json +1 -1
  17. package/android/src/main/assets/saplingtree/mainnet/1430000.json +1 -1
  18. package/android/src/main/assets/saplingtree/mainnet/1440000.json +1 -1
  19. package/android/src/main/assets/saplingtree/mainnet/1450000.json +1 -1
  20. package/android/src/main/assets/saplingtree/mainnet/1460000.json +1 -1
  21. package/android/src/main/assets/saplingtree/mainnet/1470000.json +1 -1
  22. package/android/src/main/assets/saplingtree/mainnet/1480000.json +1 -1
  23. package/android/src/main/assets/saplingtree/mainnet/1490000.json +1 -1
  24. package/android/src/main/assets/saplingtree/mainnet/1500000.json +1 -1
  25. package/android/src/main/assets/saplingtree/mainnet/1510000.json +1 -1
  26. package/android/src/main/assets/saplingtree/mainnet/1520000.json +1 -1
  27. package/android/src/main/assets/saplingtree/mainnet/1530000.json +1 -1
  28. package/android/src/main/assets/saplingtree/mainnet/1540000.json +1 -1
  29. package/android/src/main/assets/saplingtree/mainnet/1550000.json +1 -1
  30. package/android/src/main/assets/saplingtree/mainnet/1560000.json +1 -1
  31. package/android/src/main/assets/saplingtree/mainnet/1570000.json +1 -1
  32. package/android/src/main/assets/saplingtree/mainnet/1580000.json +1 -1
  33. package/android/src/main/assets/saplingtree/mainnet/1590000.json +1 -1
  34. package/android/src/main/assets/saplingtree/mainnet/1600000.json +1 -1
  35. package/android/src/main/assets/saplingtree/mainnet/1610000.json +1 -1
  36. package/android/src/main/assets/saplingtree/mainnet/1620000.json +1 -1
  37. package/android/src/main/assets/saplingtree/mainnet/1630000.json +1 -1
  38. package/android/src/main/assets/saplingtree/mainnet/1640000.json +1 -1
  39. package/android/src/main/assets/saplingtree/mainnet/1650000.json +1 -1
  40. package/android/src/main/assets/saplingtree/mainnet/1660000.json +1 -1
  41. package/android/src/main/assets/saplingtree/mainnet/1670000.json +1 -1
  42. package/android/src/main/assets/saplingtree/mainnet/1680000.json +1 -1
  43. package/android/src/main/assets/saplingtree/mainnet/1690000.json +2 -1
  44. package/android/src/main/assets/saplingtree/mainnet/1700000.json +2 -1
  45. package/android/src/main/assets/saplingtree/mainnet/1710000.json +2 -1
  46. package/android/src/main/assets/saplingtree/mainnet/1720000.json +2 -1
  47. package/android/src/main/assets/saplingtree/mainnet/1730000.json +2 -1
  48. package/android/src/main/assets/saplingtree/mainnet/1740000.json +2 -1
  49. package/android/src/main/assets/saplingtree/mainnet/1750000.json +2 -1
  50. package/android/src/main/assets/saplingtree/mainnet/1760000.json +2 -1
  51. package/android/src/main/assets/saplingtree/mainnet/1770000.json +2 -1
  52. package/android/src/main/assets/saplingtree/mainnet/1780000.json +2 -1
  53. package/android/src/main/assets/saplingtree/mainnet/1790000.json +2 -1
  54. package/android/src/main/assets/saplingtree/mainnet/1800000.json +2 -1
  55. package/android/src/main/assets/saplingtree/mainnet/1810000.json +2 -1
  56. package/android/src/main/assets/saplingtree/mainnet/1820000.json +2 -1
  57. package/android/src/main/assets/saplingtree/mainnet/1830000.json +2 -1
  58. package/android/src/main/assets/saplingtree/mainnet/1840000.json +2 -1
  59. package/android/src/main/assets/saplingtree/mainnet/1850000.json +2 -1
  60. package/android/src/main/assets/saplingtree/mainnet/1860000.json +2 -1
  61. package/android/src/main/assets/saplingtree/mainnet/1870000.json +2 -1
  62. package/android/src/main/assets/saplingtree/mainnet/1880000.json +2 -1
  63. package/android/src/main/assets/saplingtree/mainnet/1890000.json +2 -1
  64. package/android/src/main/assets/saplingtree/mainnet/1900000.json +2 -1
  65. package/android/src/main/assets/saplingtree/mainnet/1910000.json +2 -1
  66. package/android/src/main/assets/saplingtree/mainnet/1920000.json +2 -1
  67. package/android/src/main/assets/saplingtree/mainnet/1930000.json +2 -1
  68. package/android/src/main/assets/saplingtree/mainnet/1940000.json +2 -1
  69. package/android/src/main/assets/saplingtree/mainnet/1950000.json +2 -1
  70. package/android/src/main/assets/saplingtree/mainnet/1960000.json +2 -1
  71. package/android/src/main/assets/saplingtree/mainnet/1970000.json +2 -1
  72. package/android/src/main/assets/saplingtree/mainnet/1980000.json +2 -1
  73. package/android/src/main/assets/saplingtree/mainnet/1990000.json +2 -1
  74. package/android/src/main/assets/saplingtree/mainnet/2000000.json +2 -1
  75. package/android/src/main/assets/saplingtree/mainnet/2010000.json +2 -1
  76. package/android/src/main/assets/saplingtree/mainnet/2020000.json +2 -1
  77. package/android/src/main/assets/saplingtree/mainnet/2030000.json +2 -1
  78. package/android/src/main/assets/saplingtree/mainnet/2040000.json +2 -1
  79. package/android/src/main/assets/saplingtree/mainnet/2050000.json +2 -1
  80. package/android/src/main/assets/saplingtree/mainnet/2060000.json +2 -1
  81. package/android/src/main/assets/saplingtree/mainnet/2070000.json +2 -1
  82. package/android/src/main/assets/saplingtree/mainnet/2080000.json +2 -1
  83. package/android/src/main/assets/saplingtree/mainnet/2090000.json +2 -1
  84. package/android/src/main/assets/saplingtree/mainnet/2100000.json +2 -1
  85. package/android/src/main/assets/saplingtree/mainnet/2110000.json +2 -1
  86. package/android/src/main/assets/saplingtree/mainnet/2120000.json +2 -1
  87. package/android/src/main/assets/saplingtree/mainnet/2130000.json +2 -1
  88. package/android/src/main/assets/saplingtree/mainnet/2140000.json +2 -1
  89. package/android/src/main/assets/saplingtree/mainnet/2150000.json +2 -1
  90. package/android/src/main/assets/saplingtree/mainnet/2160000.json +2 -1
  91. package/android/src/main/assets/saplingtree/mainnet/2170000.json +2 -1
  92. package/android/src/main/assets/saplingtree/mainnet/2180000.json +8 -0
  93. package/android/src/main/assets/saplingtree/mainnet/2190000.json +8 -0
  94. package/android/src/main/assets/saplingtree/mainnet/2200000.json +8 -0
  95. package/android/src/main/assets/saplingtree/mainnet/2210000.json +8 -0
  96. package/android/src/main/java/app/edge/rnzcash/RNZcashModule.kt +179 -175
  97. package/android/src/main/java/app/edge/rnzcash/RNZcashPackage.kt +2 -3
  98. package/ios/RNZcash.m +5 -22
  99. package/ios/RNZcash.swift +532 -514
  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 +215 -0
  120. package/ios/ZCashLightClientKit/DAO/BlockDao.swift +112 -0
  121. package/ios/ZCashLightClientKit/DAO/PagedTransactionDao.swift +54 -0
  122. package/ios/ZCashLightClientKit/DAO/TransactionDao.swift +245 -0
  123. package/ios/ZCashLightClientKit/DAO/UnspentTransactionOutputDao.swift +210 -0
  124. package/ios/ZCashLightClientKit/Entity/AccountEntity.swift +199 -0
  125. package/ios/ZCashLightClientKit/Entity/BlockProgress.swift +24 -0
  126. package/ios/ZCashLightClientKit/Entity/EncodedTransactionEntity.swift +26 -0
  127. package/ios/ZCashLightClientKit/Entity/SentNoteEntity.swift +48 -0
  128. package/ios/ZCashLightClientKit/Entity/TransactionEntity.swift +235 -0
  129. package/ios/ZCashLightClientKit/Entity/UnspentTransactionOutputEntity.swift +18 -0
  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/Data+Zcash.swift +17 -0
  138. package/ios/ZCashLightClientKit/Extensions/Data+internal.swift +35 -0
  139. package/ios/ZCashLightClientKit/Extensions/Error+ZcashError.swift +18 -0
  140. package/ios/ZCashLightClientKit/Extensions/HexEncode.swift +41 -0
  141. package/ios/ZCashLightClientKit/Extensions/NumberFormatter+Zcash.swift +19 -0
  142. package/ios/ZCashLightClientKit/Extensions/URL+UpdateWithAlias.swift +36 -0
  143. package/ios/ZCashLightClientKit/Extensions/Undescribable.swift +22 -0
  144. package/ios/ZCashLightClientKit/Extensions/Zatoshi+SQLite.swift +20 -0
  145. package/ios/ZCashLightClientKit/Extensions/ZcashRust+Utils.swift +26 -0
  146. package/ios/ZCashLightClientKit/Extensions/ZcashSDK+extensions.swift +34 -0
  147. package/ios/ZCashLightClientKit/Initializer.swift +433 -0
  148. package/ios/ZCashLightClientKit/Metrics/SDKMetrics.swift +270 -0
  149. package/ios/ZCashLightClientKit/Model/Checkpoint.swift +84 -0
  150. package/ios/ZCashLightClientKit/Model/Memo.swift +236 -0
  151. package/ios/ZCashLightClientKit/Model/WalletTypes.swift +281 -0
  152. package/ios/ZCashLightClientKit/Model/Zatoshi.swift +115 -0
  153. package/ios/ZCashLightClientKit/Modules/Service/GRPC/LightWalletGRPCService.swift +342 -0
  154. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +50 -0
  155. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/compact_formats.pb.swift +399 -0
  156. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/proto/compact_formats.proto +66 -0
  157. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/proto/service.proto +185 -0
  158. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/service.grpc.swift +1123 -0
  159. package/ios/ZCashLightClientKit/Modules/Service/GRPC/ProtoBuf/service.pb.swift +1208 -0
  160. package/ios/ZCashLightClientKit/Modules/Service/LightWalletService.swift +195 -0
  161. package/ios/ZCashLightClientKit/Providers/LatestBlocksDataProvider.swift +69 -0
  162. package/ios/ZCashLightClientKit/Providers/ResourceProvider.swift +65 -0
  163. package/ios/ZCashLightClientKit/Repository/BlockRepository.swift +13 -0
  164. package/ios/ZCashLightClientKit/Repository/CompactBlockRepository.swift +43 -0
  165. package/ios/ZCashLightClientKit/Repository/NotesRepository.swift +17 -0
  166. package/ios/ZCashLightClientKit/Repository/PaginatedTransactionRepository.swift +35 -0
  167. package/ios/ZCashLightClientKit/Repository/TransactionRepository.swift +29 -0
  168. package/ios/ZCashLightClientKit/Repository/TransactionRepositoryBuilder.swift +24 -0
  169. package/ios/ZCashLightClientKit/Repository/UnspentTransactionOutputRepository.swift +16 -0
  170. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1000000.json +7 -0
  171. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1010000.json +7 -0
  172. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1020000.json +7 -0
  173. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1030000.json +7 -0
  174. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1040000.json +7 -0
  175. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1050000.json +7 -0
  176. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1060000.json +7 -0
  177. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1070000.json +7 -0
  178. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1080000.json +7 -0
  179. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1090000.json +7 -0
  180. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1100000.json +7 -0
  181. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1110000.json +7 -0
  182. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1120000.json +7 -0
  183. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1130000.json +7 -0
  184. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1140000.json +7 -0
  185. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1150000.json +7 -0
  186. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1160000.json +7 -0
  187. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1170000.json +7 -0
  188. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1180000.json +7 -0
  189. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1190000.json +7 -0
  190. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1200000.json +7 -0
  191. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1210000.json +7 -0
  192. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1220000.json +7 -0
  193. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1230000.json +7 -0
  194. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1240000.json +7 -0
  195. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1250000.json +7 -0
  196. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1260000.json +7 -0
  197. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1270000.json +7 -0
  198. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1280000.json +7 -0
  199. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1290000.json +7 -0
  200. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1300000.json +7 -0
  201. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1310000.json +7 -0
  202. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1320000.json +7 -0
  203. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1330000.json +7 -0
  204. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1340000.json +7 -0
  205. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1350000.json +7 -0
  206. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1360000.json +7 -0
  207. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1370000.json +7 -0
  208. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1380000.json +7 -0
  209. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1390000.json +7 -0
  210. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1400000.json +7 -0
  211. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1410000.json +7 -0
  212. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1420000.json +7 -0
  213. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1430000.json +7 -0
  214. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1440000.json +7 -0
  215. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1450000.json +7 -0
  216. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1460000.json +7 -0
  217. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1470000.json +7 -0
  218. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1480000.json +7 -0
  219. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1490000.json +7 -0
  220. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1500000.json +7 -0
  221. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1510000.json +7 -0
  222. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1520000.json +7 -0
  223. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1530000.json +7 -0
  224. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1540000.json +7 -0
  225. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1550000.json +7 -0
  226. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1560000.json +7 -0
  227. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1570000.json +7 -0
  228. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1580000.json +7 -0
  229. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1590000.json +7 -0
  230. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1600000.json +7 -0
  231. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1610000.json +7 -0
  232. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1620000.json +7 -0
  233. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1630000.json +7 -0
  234. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1631000.json +7 -0
  235. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1640000.json +7 -0
  236. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1650000.json +7 -0
  237. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1660000.json +7 -0
  238. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1670000.json +7 -0
  239. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1680000.json +7 -0
  240. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1686871.json +7 -0
  241. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1687104.json +8 -0
  242. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1690000.json +8 -0
  243. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1700000.json +8 -0
  244. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1710000.json +8 -0
  245. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1720000.json +8 -0
  246. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1722500.json +8 -0
  247. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1725000.json +8 -0
  248. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1727500.json +8 -0
  249. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1730000.json +8 -0
  250. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1732500.json +8 -0
  251. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1735000.json +8 -0
  252. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1737500.json +8 -0
  253. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1740000.json +8 -0
  254. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1742500.json +8 -0
  255. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1745000.json +8 -0
  256. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1747500.json +8 -0
  257. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1750000.json +8 -0
  258. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1752500.json +8 -0
  259. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1755000.json +9 -0
  260. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1757500.json +8 -0
  261. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1760000.json +8 -0
  262. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1762500.json +8 -0
  263. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1765000.json +8 -0
  264. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1767500.json +8 -0
  265. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1770000.json +8 -0
  266. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1772500.json +8 -0
  267. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1775000.json +8 -0
  268. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1777500.json +8 -0
  269. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1780000.json +8 -0
  270. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1782500.json +8 -0
  271. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1785000.json +8 -0
  272. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1787500.json +8 -0
  273. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1790000.json +8 -0
  274. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1792500.json +8 -0
  275. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1795000.json +8 -0
  276. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1797500.json +8 -0
  277. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1800000.json +8 -0
  278. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1802500.json +8 -0
  279. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1805000.json +8 -0
  280. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1807500.json +8 -0
  281. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1810000.json +8 -0
  282. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1812500.json +8 -0
  283. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1815000.json +8 -0
  284. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1817500.json +8 -0
  285. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1820000.json +8 -0
  286. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1822500.json +8 -0
  287. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1825000.json +8 -0
  288. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1827500.json +8 -0
  289. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1830000.json +8 -0
  290. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1832500.json +8 -0
  291. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1835000.json +8 -0
  292. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1837500.json +8 -0
  293. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1840000.json +8 -0
  294. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1842500.json +8 -0
  295. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1845000.json +8 -0
  296. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1847500.json +8 -0
  297. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1850000.json +8 -0
  298. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1852500.json +8 -0
  299. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1855000.json +8 -0
  300. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1857500.json +8 -0
  301. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1860000.json +8 -0
  302. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1862500.json +8 -0
  303. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1865000.json +8 -0
  304. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1867500.json +8 -0
  305. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1870000.json +8 -0
  306. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1872500.json +8 -0
  307. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1875000.json +8 -0
  308. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1877500.json +8 -0
  309. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1880000.json +8 -0
  310. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1882500.json +8 -0
  311. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1885000.json +8 -0
  312. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1887500.json +8 -0
  313. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1890000.json +8 -0
  314. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1892500.json +8 -0
  315. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1895000.json +8 -0
  316. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1897500.json +8 -0
  317. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1900000.json +8 -0
  318. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1902500.json +8 -0
  319. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1905000.json +8 -0
  320. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1907500.json +8 -0
  321. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1910000.json +8 -0
  322. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1912500.json +8 -0
  323. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1915000.json +8 -0
  324. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1917500.json +8 -0
  325. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1920000.json +8 -0
  326. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1922500.json +8 -0
  327. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1925000.json +8 -0
  328. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1927500.json +8 -0
  329. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1930000.json +8 -0
  330. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1932500.json +8 -0
  331. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1935000.json +8 -0
  332. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1937500.json +8 -0
  333. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1940000.json +8 -0
  334. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1942500.json +8 -0
  335. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1945000.json +8 -0
  336. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1947500.json +8 -0
  337. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1950000.json +8 -0
  338. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1952500.json +8 -0
  339. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1955000.json +8 -0
  340. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1957500.json +8 -0
  341. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1960000.json +8 -0
  342. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1962500.json +8 -0
  343. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1965000.json +8 -0
  344. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1967500.json +8 -0
  345. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1970000.json +8 -0
  346. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1972500.json +8 -0
  347. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1975000.json +8 -0
  348. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1977500.json +8 -0
  349. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1980000.json +8 -0
  350. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1982500.json +8 -0
  351. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1985000.json +8 -0
  352. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1987500.json +8 -0
  353. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1990000.json +8 -0
  354. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1992500.json +8 -0
  355. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1995000.json +8 -0
  356. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/1997500.json +8 -0
  357. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2000000.json +8 -0
  358. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2002500.json +8 -0
  359. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2005000.json +8 -0
  360. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2007500.json +8 -0
  361. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2010000.json +8 -0
  362. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2012500.json +8 -0
  363. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2015000.json +8 -0
  364. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2017500.json +8 -0
  365. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2020000.json +8 -0
  366. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2022500.json +8 -0
  367. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2025000.json +8 -0
  368. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2027500.json +8 -0
  369. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2030000.json +8 -0
  370. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2032500.json +8 -0
  371. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2035000.json +8 -0
  372. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2037500.json +8 -0
  373. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2040000.json +8 -0
  374. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2042500.json +8 -0
  375. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2045000.json +8 -0
  376. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2047500.json +8 -0
  377. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2050000.json +8 -0
  378. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2052500.json +8 -0
  379. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2055000.json +8 -0
  380. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2057500.json +8 -0
  381. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2060000.json +8 -0
  382. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2062500.json +8 -0
  383. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2065000.json +8 -0
  384. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2067500.json +8 -0
  385. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2070000.json +8 -0
  386. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2072500.json +8 -0
  387. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2075000.json +8 -0
  388. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2077500.json +8 -0
  389. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2080000.json +8 -0
  390. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2082500.json +8 -0
  391. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2085000.json +8 -0
  392. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2087500.json +8 -0
  393. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2090000.json +8 -0
  394. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2100000.json +8 -0
  395. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2110000.json +8 -0
  396. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2120000.json +8 -0
  397. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2130000.json +8 -0
  398. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2140000.json +8 -0
  399. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2150000.json +8 -0
  400. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2160000.json +8 -0
  401. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2170000.json +8 -0
  402. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2180000.json +8 -0
  403. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2190000.json +8 -0
  404. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2200000.json +8 -0
  405. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/2210000.json +8 -0
  406. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/419200.json +7 -0
  407. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/500000.json +7 -0
  408. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/510000.json +7 -0
  409. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/520000.json +7 -0
  410. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/530000.json +7 -0
  411. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/540000.json +7 -0
  412. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/550000.json +7 -0
  413. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/560000.json +7 -0
  414. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/570000.json +7 -0
  415. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/580000.json +7 -0
  416. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/590000.json +7 -0
  417. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/600000.json +7 -0
  418. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/610000.json +7 -0
  419. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/620000.json +7 -0
  420. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/630000.json +7 -0
  421. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/640000.json +7 -0
  422. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/650000.json +7 -0
  423. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/660000.json +7 -0
  424. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/663150.json +8 -0
  425. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/670000.json +7 -0
  426. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/680000.json +7 -0
  427. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/690000.json +7 -0
  428. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/700000.json +7 -0
  429. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/710000.json +7 -0
  430. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/720000.json +7 -0
  431. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/730000.json +7 -0
  432. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/740000.json +7 -0
  433. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/750000.json +7 -0
  434. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/760000.json +7 -0
  435. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/770000.json +7 -0
  436. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/780000.json +7 -0
  437. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/790000.json +7 -0
  438. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/800000.json +7 -0
  439. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/810000.json +7 -0
  440. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/820000.json +7 -0
  441. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/830000.json +7 -0
  442. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/840000.json +7 -0
  443. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/850000.json +7 -0
  444. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/860000.json +7 -0
  445. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/870000.json +7 -0
  446. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/880000.json +7 -0
  447. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/890000.json +7 -0
  448. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/900000.json +7 -0
  449. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/910000.json +7 -0
  450. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/920000.json +7 -0
  451. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/930000.json +7 -0
  452. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/940000.json +7 -0
  453. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/950000.json +7 -0
  454. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/960000.json +7 -0
  455. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/970000.json +7 -0
  456. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/980000.json +7 -0
  457. package/ios/ZCashLightClientKit/Resources/checkpoints/mainnet/990000.json +7 -0
  458. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1000000.json +7 -0
  459. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1010000.json +7 -0
  460. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1020000.json +7 -0
  461. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1030000.json +7 -0
  462. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1040000.json +7 -0
  463. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1050000.json +7 -0
  464. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1060000.json +7 -0
  465. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1070000.json +7 -0
  466. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1080000.json +7 -0
  467. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1090000.json +7 -0
  468. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1100000.json +7 -0
  469. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1110000.json +7 -0
  470. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1120000.json +7 -0
  471. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1130000.json +7 -0
  472. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1140000.json +7 -0
  473. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1150000.json +7 -0
  474. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1160000.json +7 -0
  475. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1170000.json +7 -0
  476. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1180000.json +7 -0
  477. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1190000.json +7 -0
  478. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1200000.json +7 -0
  479. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1210000.json +7 -0
  480. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1220000.json +7 -0
  481. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1230000.json +7 -0
  482. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1240000.json +7 -0
  483. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1250000.json +7 -0
  484. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1260000.json +7 -0
  485. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1270000.json +7 -0
  486. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1280000.json +7 -0
  487. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1290000.json +7 -0
  488. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1300000.json +7 -0
  489. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1310000.json +7 -0
  490. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1320000.json +7 -0
  491. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1330000.json +7 -0
  492. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1340000.json +7 -0
  493. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1350000.json +7 -0
  494. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1360000.json +7 -0
  495. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1370000.json +7 -0
  496. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1380000.json +7 -0
  497. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1390000.json +7 -0
  498. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1400000.json +7 -0
  499. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1410000.json +7 -0
  500. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1420000.json +7 -0
  501. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1430000.json +7 -0
  502. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1440000.json +7 -0
  503. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1450000.json +7 -0
  504. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1460000.json +7 -0
  505. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1470000.json +7 -0
  506. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1480000.json +7 -0
  507. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1490000.json +7 -0
  508. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1500000.json +7 -0
  509. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1510000.json +7 -0
  510. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1520000.json +7 -0
  511. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1530000.json +7 -0
  512. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1540000.json +7 -0
  513. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1550000.json +7 -0
  514. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1560000.json +7 -0
  515. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1570000.json +7 -0
  516. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1580000.json +7 -0
  517. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1590000.json +7 -0
  518. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1600000.json +7 -0
  519. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1610000.json +7 -0
  520. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1620000.json +7 -0
  521. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1630000.json +7 -0
  522. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1640000.json +7 -0
  523. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1650000.json +7 -0
  524. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1660000.json +7 -0
  525. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1670000.json +7 -0
  526. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1680000.json +7 -0
  527. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1690000.json +7 -0
  528. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1700000.json +7 -0
  529. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1710000.json +7 -0
  530. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1720000.json +7 -0
  531. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1730000.json +7 -0
  532. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1740000.json +7 -0
  533. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1750000.json +7 -0
  534. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1760000.json +7 -0
  535. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1770000.json +7 -0
  536. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1780000.json +7 -0
  537. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1790000.json +7 -0
  538. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1800000.json +7 -0
  539. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1810000.json +7 -0
  540. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1820000.json +7 -0
  541. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1830000.json +7 -0
  542. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1840000.json +7 -0
  543. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1842420.json +8 -0
  544. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1850000.json +8 -0
  545. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1860000.json +8 -0
  546. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1870000.json +8 -0
  547. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1880000.json +8 -0
  548. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1890000.json +8 -0
  549. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1900000.json +8 -0
  550. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1910000.json +8 -0
  551. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1920000.json +8 -0
  552. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1930000.json +8 -0
  553. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1940000.json +8 -0
  554. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1950000.json +8 -0
  555. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1960000.json +8 -0
  556. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1970000.json +8 -0
  557. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1980000.json +8 -0
  558. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/1990000.json +8 -0
  559. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2000000.json +8 -0
  560. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2010000.json +8 -0
  561. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2020000.json +8 -0
  562. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2030000.json +8 -0
  563. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2040000.json +8 -0
  564. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2050000.json +8 -0
  565. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2060000.json +8 -0
  566. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2070000.json +8 -0
  567. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2080000.json +8 -0
  568. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2090000.json +8 -0
  569. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2100000.json +8 -0
  570. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2110000.json +8 -0
  571. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2120000.json +8 -0
  572. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2130000.json +8 -0
  573. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2140000.json +8 -0
  574. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2150000.json +8 -0
  575. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2160000.json +8 -0
  576. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2170000.json +8 -0
  577. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2180000.json +8 -0
  578. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2190000.json +8 -0
  579. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2200000.json +8 -0
  580. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2210000.json +8 -0
  581. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2220000.json +8 -0
  582. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2230000.json +8 -0
  583. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2240000.json +8 -0
  584. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2250000.json +8 -0
  585. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2260000.json +8 -0
  586. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2270000.json +8 -0
  587. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2280000.json +8 -0
  588. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2290000.json +8 -0
  589. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2300000.json +8 -0
  590. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2310000.json +8 -0
  591. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2320000.json +8 -0
  592. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2330000.json +8 -0
  593. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/2340000.json +8 -0
  594. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/280000.json +7 -0
  595. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/290000.json +7 -0
  596. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/300000.json +7 -0
  597. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/310000.json +7 -0
  598. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/320000.json +7 -0
  599. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/330000.json +7 -0
  600. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/340000.json +7 -0
  601. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/350000.json +7 -0
  602. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/360000.json +7 -0
  603. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/370000.json +7 -0
  604. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/380000.json +7 -0
  605. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/390000.json +7 -0
  606. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/400000.json +7 -0
  607. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/410000.json +7 -0
  608. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/420000.json +7 -0
  609. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/430000.json +7 -0
  610. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/440000.json +7 -0
  611. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/450000.json +7 -0
  612. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/460000.json +7 -0
  613. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/470000.json +7 -0
  614. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/480000.json +7 -0
  615. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/490000.json +7 -0
  616. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/500000.json +7 -0
  617. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/510000.json +7 -0
  618. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/520000.json +7 -0
  619. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/530000.json +7 -0
  620. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/540000.json +7 -0
  621. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/550000.json +7 -0
  622. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/560000.json +7 -0
  623. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/570000.json +7 -0
  624. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/580000.json +7 -0
  625. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/590000.json +7 -0
  626. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/600000.json +7 -0
  627. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/610000.json +7 -0
  628. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/620000.json +7 -0
  629. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/630000.json +7 -0
  630. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/640000.json +7 -0
  631. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/650000.json +7 -0
  632. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/660000.json +7 -0
  633. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/670000.json +7 -0
  634. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/680000.json +7 -0
  635. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/690000.json +7 -0
  636. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/700000.json +7 -0
  637. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/710000.json +7 -0
  638. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/720000.json +7 -0
  639. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/730000.json +7 -0
  640. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/740000.json +7 -0
  641. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/750000.json +7 -0
  642. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/760000.json +7 -0
  643. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/770000.json +7 -0
  644. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/780000.json +7 -0
  645. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/790000.json +7 -0
  646. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/800000.json +7 -0
  647. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/810000.json +7 -0
  648. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/820000.json +7 -0
  649. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/830000.json +7 -0
  650. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/840000.json +7 -0
  651. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/850000.json +7 -0
  652. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/860000.json +7 -0
  653. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/870000.json +7 -0
  654. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/880000.json +7 -0
  655. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/890000.json +7 -0
  656. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/900000.json +7 -0
  657. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/910000.json +7 -0
  658. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/920000.json +7 -0
  659. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/930000.json +7 -0
  660. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/940000.json +7 -0
  661. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/950000.json +7 -0
  662. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/960000.json +7 -0
  663. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/970000.json +7 -0
  664. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/980000.json +7 -0
  665. package/ios/ZCashLightClientKit/Resources/checkpoints/testnet/990000.json +7 -0
  666. package/ios/ZCashLightClientKit/Rust/ZcashKeyDerivationBackend.swift +218 -0
  667. package/ios/ZCashLightClientKit/Rust/ZcashKeyDerivationBackendWelding.swift +88 -0
  668. package/ios/ZCashLightClientKit/Rust/ZcashRustBackend.swift +645 -0
  669. package/ios/ZCashLightClientKit/Rust/ZcashRustBackendWelding.swift +256 -0
  670. package/ios/ZCashLightClientKit/Rust/zcashlc.h +1051 -0
  671. package/ios/ZCashLightClientKit/Synchronizer/ClosureSDKSynchronizer.swift +180 -0
  672. package/ios/ZCashLightClientKit/Synchronizer/CombineSDKSynchronizer.swift +175 -0
  673. package/ios/ZCashLightClientKit/Synchronizer/Dependencies.swift +207 -0
  674. package/ios/ZCashLightClientKit/Synchronizer/SDKSynchronizer.swift +663 -0
  675. package/ios/ZCashLightClientKit/Synchronizer.swift +504 -0
  676. package/ios/ZCashLightClientKit/Tool/DerivationTool.swift +207 -0
  677. package/ios/ZCashLightClientKit/Transaction/TransactionEncoder.swift +66 -0
  678. package/ios/ZCashLightClientKit/Transaction/WalletTransactionEncoder.swift +165 -0
  679. package/ios/ZCashLightClientKit/Utils/AsyncToClosureGateway.swift +46 -0
  680. package/ios/ZCashLightClientKit/Utils/AsyncToCombineGateway.swift +59 -0
  681. package/ios/ZCashLightClientKit/Utils/Clamped.swift +32 -0
  682. package/ios/ZCashLightClientKit/Utils/DIContainer.swift +86 -0
  683. package/ios/ZCashLightClientKit/Utils/GenericActor.swift +18 -0
  684. package/ios/ZCashLightClientKit/Utils/LoggingProxy.swift +48 -0
  685. package/ios/ZCashLightClientKit/Utils/OSLogger.swift +109 -0
  686. package/ios/ZCashLightClientKit/Utils/SaplingParameterDownloader.swift +159 -0
  687. package/ios/ZCashLightClientKit/Utils/SpecificCombineTypes.swift +16 -0
  688. package/ios/ZCashLightClientKit/Utils/SyncSessionIDGenerator.swift +32 -0
  689. package/ios/ZCashLightClientKit/Utils/Task+sleep.swift +14 -0
  690. package/ios/ZCashLightClientKit/Utils/UsedAliasesChecker.swift +41 -0
  691. package/ios/libzcashlc.xcframework/Info.plist +40 -0
  692. package/ios/libzcashlc.xcframework/ios-arm64/libzcashlc.a +0 -0
  693. package/ios/libzcashlc.xcframework/ios-arm64_x86_64-simulator/libzcashlc.a +0 -0
  694. package/ios/react-native-zcash-Bridging-Header.h +2 -0
  695. package/ios/react-native-zcash.xcodeproj/project.pbxproj +1 -0
  696. package/lib/rnzcash.rn.js +37 -80
  697. package/lib/rnzcash.rn.js.map +1 -1
  698. package/lib/scripts/copyCheckpoints.d.ts +5 -0
  699. package/lib/scripts/updateSources.d.ts +1 -0
  700. package/lib/src/react-native.d.ts +5 -10
  701. package/lib/src/types.d.ts +3 -4
  702. package/package.json +23 -37
  703. package/react-native-zcash.podspec +19 -8
  704. package/src/react-native.ts +15 -41
  705. package/src/types.ts +3 -4
  706. package/ios/RNZcash-Bridging-Header.h +0 -6
  707. package/ios/RNZcash.xcodeproj/project.pbxproj +0 -271
  708. package/ios/RNZcash.xcworkspace/contents.xcworkspacedata +0 -7
  709. package/ios/RNZcash.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  710. package/lib/src/browser.d.ts +0 -0
  711. package/lib/src/index.d.ts +0 -0
  712. package/lib/test/test.test.d.ts +0 -0
  713. package/scripts/copyCheckpoints.js +0 -12
  714. package/src/browser.ts +0 -36
  715. package/src/index.flow.js +0 -168
  716. package/src/index.ts +0 -1
@@ -0,0 +1,215 @@
1
+ //
2
+ // ZcashSDK.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 7/22/21.
6
+ //
7
+
8
+ import Foundation
9
+ public protocol ZcashNetwork {
10
+ var networkType: NetworkType { get }
11
+ var constants: NetworkConstants.Type { get }
12
+ }
13
+
14
+ public enum NetworkType {
15
+ case mainnet
16
+ case testnet
17
+
18
+ var networkId: UInt32 {
19
+ switch self {
20
+ case .mainnet: return 1
21
+ case .testnet: return 0
22
+ }
23
+ }
24
+ }
25
+
26
+ extension NetworkType {
27
+ static func forChainName(_ chainame: String) -> NetworkType? {
28
+ switch chainame {
29
+ case "test": return .testnet
30
+ case "main": return .mainnet
31
+ default: return nil
32
+ }
33
+ }
34
+
35
+ static func forNetworkId(_ id: UInt32) -> NetworkType? {
36
+ switch id {
37
+ case 1: return .mainnet
38
+ case 0: return .testnet
39
+ default: return nil
40
+ }
41
+ }
42
+ }
43
+
44
+ extension NetworkType {
45
+ public var chainName: String {
46
+ switch self {
47
+ case .mainnet:
48
+ return "main"
49
+ case .testnet:
50
+ return "test"
51
+ }
52
+ }
53
+ }
54
+
55
+ public enum ZcashNetworkBuilder {
56
+ public static func network(for networkType: NetworkType) -> ZcashNetwork {
57
+ switch networkType {
58
+ case .mainnet: return ZcashMainnet()
59
+ case .testnet: return ZcashTestnet()
60
+ }
61
+ }
62
+ }
63
+
64
+ class ZcashTestnet: ZcashNetwork {
65
+ let networkType: NetworkType = .testnet
66
+ let constants: NetworkConstants.Type = ZcashSDKTestnetConstants.self
67
+ }
68
+
69
+ class ZcashMainnet: ZcashNetwork {
70
+ let networkType: NetworkType = .mainnet
71
+ let constants: NetworkConstants.Type = ZcashSDKMainnetConstants.self
72
+ }
73
+
74
+ /**
75
+ Constants of ZcashLightClientKit. this constants don't
76
+ */
77
+ public enum ZcashSDK {
78
+ /// The number of zatoshi that equal 1 ZEC.
79
+ public static let zatoshiPerZEC: BlockHeight = 100_000_000
80
+
81
+ /// The theoretical maximum number of blocks in a reorg, due to other bottlenecks in the protocol design.
82
+ public static let maxReorgSize = 100
83
+
84
+ /// The amount of blocks ahead of the current height where new transactions are set to expire. This value is controlled
85
+ /// by the rust backend but it is helpful to know what it is set to and should be kept in sync.
86
+ public static let expiryOffset = 20
87
+
88
+ // MARK: Defaults
89
+
90
+ /// Default size of batches of blocks to request from the compact block service. Which was used both for scanning and downloading.
91
+ /// consider basing your code assumptions on `DefaultDownloadBatch` and `DefaultScanningBatch` instead.
92
+ @available(*, deprecated, message: "this value is being deprecated in favor of `DefaultDownloadBatch` and `DefaultScanningBatch`")
93
+ public static let DefaultBatchSize = 100
94
+
95
+ /// Default batch size for downloading blocks for the compact block processor. Be careful with this number. This amount of blocks is held in
96
+ /// memory at some point of the sync process.
97
+ /// This values can't be smaller than `DefaultScanningBatch`. Otherwise bad things will happen.
98
+ public static let DefaultDownloadBatch = 100
99
+
100
+ /// Default batch size for scanning blocks for the compact block processor
101
+ public static let DefaultScanningBatch = 100
102
+
103
+ /// Default amount of time, in in seconds, to poll for new blocks. Typically, this should be about half the average
104
+ /// block time.
105
+ public static let defaultPollInterval: TimeInterval = 20
106
+
107
+ /// Default attempts at retrying.
108
+ public static let defaultRetries: Int = 5
109
+
110
+ /// The default maximum amount of time to wait during retry backoff intervals. Failed loops will never wait longer than
111
+ /// this before retrying.
112
+ public static let defaultMaxBackOffInterval: TimeInterval = 600
113
+
114
+ /// Default number of blocks to rewind when a chain reorg is detected. This should be large enough to recover from the
115
+ /// reorg but smaller than the theoretical max reorg size of 100.
116
+ public static let defaultRewindDistance: Int = 10
117
+
118
+ /// The number of blocks to allow before considering our data to be stale. This usually helps with what to do when
119
+ /// returning from the background and is exposed via the Synchronizer's isStale function.
120
+ public static let defaultStaleTolerance: Int = 10
121
+
122
+ /// Default Name for LibRustZcash data.db
123
+ public static let defaultDataDbName = "data.db"
124
+
125
+ /// Default Name for Compact Block file system based db
126
+ public static let defaultFsCacheName = "fs_cache"
127
+
128
+ /// Default Name for Compact Block caches db
129
+ public static let defaultCacheDbName = "caches.db"
130
+
131
+ /// The Url that is used by default in zcashd.
132
+ /// We'll want to make this externally configurable, rather than baking it into the SDK but
133
+ /// this will do for now, since we're using a cloudfront URL that already redirects.
134
+ public static let cloudParameterURL = "https://z.cash/downloads/"
135
+
136
+ /// File name for the sapling spend params
137
+ public static let spendParamFilename = "sapling-spend.params"
138
+ // swiftlint:disable:next force_unwrapping
139
+ public static let spendParamFileURL = URL(string: cloudParameterURL)!.appendingPathComponent(spendParamFilename)
140
+
141
+ /// File name for the sapling output params
142
+ public static let outputParamFilename = "sapling-output.params"
143
+ // swiftlint:disable:next force_unwrapping
144
+ public static let outputParamFileURL = URL(string: cloudParameterURL)!.appendingPathComponent(outputParamFilename)
145
+ }
146
+
147
+ public protocol NetworkConstants {
148
+ /// The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
149
+ /// prior to this height, at all.
150
+ static var saplingActivationHeight: BlockHeight { get }
151
+
152
+ /// Default Name for LibRustZcash data.db
153
+ static var defaultDataDbName: String { get }
154
+
155
+ static var defaultFsBlockDbRootName: String { get }
156
+
157
+ /// Default Name for Compact Block caches db
158
+ @available(*, deprecated, message: "use this name to clean up the sqlite compact block database")
159
+ static var defaultCacheDbName: String { get }
160
+
161
+ /// Default prefix for db filenames
162
+ static var defaultDbNamePrefix: String { get }
163
+
164
+ /// fixed height where the SDK considers that the ZIP-321 was deployed. This is a workaround
165
+ /// for librustzcash not figuring out the tx fee from the tx itself.
166
+ static var feeChangeHeight: BlockHeight { get }
167
+
168
+ /// Returns the default fee according to the blockheight. see [ZIP-313](https://zips.z.cash/zip-0313)
169
+ static func defaultFee(for height: BlockHeight) -> Zatoshi
170
+ }
171
+
172
+ public extension NetworkConstants {
173
+ static func defaultFee(for height: BlockHeight = BlockHeight.max) -> Zatoshi {
174
+ guard height >= feeChangeHeight else { return Zatoshi(10_000) }
175
+
176
+ return Zatoshi(1_000)
177
+ }
178
+ }
179
+
180
+ public enum ZcashSDKMainnetConstants: NetworkConstants {
181
+ /// The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
182
+ /// prior to this height, at all.
183
+ public static let saplingActivationHeight: BlockHeight = 419_200
184
+
185
+ /// Default Name for LibRustZcash data.db
186
+ public static let defaultDataDbName = "data.db"
187
+
188
+ public static let defaultFsBlockDbRootName = "fs_cache"
189
+
190
+ /// Default Name for Compact Block caches db
191
+ public static let defaultCacheDbName = "caches.db"
192
+
193
+ public static let defaultDbNamePrefix = "ZcashSdk_mainnet_"
194
+
195
+ public static let feeChangeHeight: BlockHeight = 1_077_550
196
+ }
197
+
198
+ public enum ZcashSDKTestnetConstants: NetworkConstants {
199
+ /// The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
200
+ /// prior to this height, at all.
201
+ public static let saplingActivationHeight: BlockHeight = 280_000
202
+
203
+ /// Default Name for LibRustZcash data.db
204
+ public static let defaultDataDbName = "data.db"
205
+
206
+ /// Default Name for Compact Block caches db
207
+ public static let defaultCacheDbName = "caches.db"
208
+
209
+ public static let defaultFsBlockDbRootName = "fs_cache"
210
+
211
+ public static let defaultDbNamePrefix = "ZcashSdk_testnet_"
212
+
213
+ /// Estimated height where wallets are supposed to change the fee
214
+ public static let feeChangeHeight: BlockHeight = 1_028_500
215
+ }
@@ -0,0 +1,112 @@
1
+ //
2
+ // BlockDao.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 10/16/19.
6
+ // Copyright © 2019 Electric Coin Company. All rights reserved.
7
+ //
8
+
9
+ import Foundation
10
+ import SQLite
11
+
12
+ protocol BlockDao {
13
+ func latestBlockHeight() throws -> BlockHeight
14
+ func latestBlock() throws -> Block?
15
+ func block(at height: BlockHeight) throws -> Block?
16
+ }
17
+
18
+ struct Block: Codable {
19
+ enum CodingKeys: String, CodingKey {
20
+ case height
21
+ case hash
22
+ case time
23
+ case saplingTree = "sapling_tree"
24
+ }
25
+
26
+ enum TableStructure {
27
+ static let height = Expression<Int>(Block.CodingKeys.height.rawValue)
28
+ static let hash = Expression<Blob>(Block.CodingKeys.hash.rawValue)
29
+ static let time = Expression<Int>(Block.CodingKeys.time.rawValue)
30
+ static let saplingTree = Expression<Blob>(Block.CodingKeys.saplingTree.rawValue)
31
+ }
32
+
33
+ let height: BlockHeight
34
+ let hash: Data
35
+ let time: Int
36
+ let saplingTree: Data
37
+
38
+ static let table = Table("blocks")
39
+ }
40
+
41
+ class BlockSQLDAO: BlockDao {
42
+ let dbProvider: ConnectionProvider
43
+ let table: Table
44
+ let height = Expression<Int>("height")
45
+
46
+ init(dbProvider: ConnectionProvider) {
47
+ self.dbProvider = dbProvider
48
+ self.table = Table("Blocks")
49
+ }
50
+
51
+ /// - Throws:
52
+ /// - `blockDAOCantDecode` if block data loaded from DB can't be decoded to `Block` object.
53
+ /// - `blockDAOBlock` if sqlite query to load block metadata failed.
54
+ func block(at height: BlockHeight) throws -> Block? {
55
+ do {
56
+ return try dbProvider
57
+ .connection()
58
+ .prepare(Block.table.filter(Block.TableStructure.height == height).limit(1))
59
+ .map {
60
+ do {
61
+ return try $0.decode()
62
+ } catch {
63
+ throw ZcashError.blockDAOCantDecode(error)
64
+ }
65
+ }
66
+ .first
67
+ } catch {
68
+ if let error = error as? ZcashError {
69
+ throw error
70
+ } else {
71
+ throw ZcashError.blockDAOBlock(error)
72
+ }
73
+ }
74
+ }
75
+
76
+ /// - Throws: `blockDAOLatestBlockHeight` if sqlite to fetch height fails.
77
+ func latestBlockHeight() throws -> BlockHeight {
78
+ do {
79
+ return try dbProvider.connection().scalar(table.select(height.max)) ?? BlockHeight.empty()
80
+ } catch {
81
+ throw ZcashError.blockDAOLatestBlockHeight(error)
82
+ }
83
+ }
84
+
85
+ func latestBlock() throws -> Block? {
86
+ do {
87
+ return try dbProvider
88
+ .connection()
89
+ .prepare(Block.table.order(height.desc).limit(1))
90
+ .map {
91
+ do {
92
+ return try $0.decode()
93
+ } catch {
94
+ throw ZcashError.blockDAOLatestBlockCantDecode(error)
95
+ }
96
+ }
97
+ .first
98
+ } catch {
99
+ if let error = error as? ZcashError {
100
+ throw error
101
+ } else {
102
+ throw ZcashError.blockDAOLatestBlock(error)
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ extension BlockSQLDAO: BlockRepository {
109
+ func lastScannedBlockHeight() -> BlockHeight {
110
+ (try? self.latestBlockHeight()) ?? BlockHeight.empty()
111
+ }
112
+ }
@@ -0,0 +1,54 @@
1
+ //
2
+ // PagedTransactionDAO.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 12/9/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ class PagedTransactionDAO: PaginatedTransactionRepository {
11
+ let pageSize: Int
12
+ let transactionRepository: TransactionRepository
13
+ let kind: TransactionKind
14
+
15
+ var pageCount: Int {
16
+ get async {
17
+ guard pageSize > 0 else {
18
+ return 0
19
+ }
20
+ return await itemCount / pageSize
21
+ }
22
+ }
23
+
24
+ var itemCount: Int {
25
+ get async {
26
+ guard let count = try? await transactionRepository.countAll() else {
27
+ return 0
28
+ }
29
+ return count
30
+ }
31
+ }
32
+
33
+ init(repository: TransactionRepository, pageSize: Int = 30, kind: TransactionKind = .all) {
34
+ self.transactionRepository = repository
35
+ self.pageSize = pageSize
36
+ self.kind = kind
37
+ }
38
+
39
+ func page(_ number: Int) async throws -> [ZcashTransaction.Overview]? {
40
+ let offset = number * pageSize
41
+ guard offset < (await itemCount) else { return nil }
42
+ return try await transactionRepository.find(offset: offset, limit: pageSize, kind: kind)
43
+ }
44
+
45
+ func page(_ number: Int, result: @escaping (Result<[ZcashTransaction.Overview]?, Error>) -> Void) {
46
+ Task(priority: .userInitiated) {
47
+ do {
48
+ result(.success(try await self.page(number)))
49
+ } catch {
50
+ result(.failure(error))
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,245 @@
1
+ //
2
+ // TransactionDao.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/15/19.
6
+ //
7
+
8
+ import Foundation
9
+ import SQLite
10
+
11
+ class TransactionSQLDAO: TransactionRepository {
12
+ enum NotesTableStructure {
13
+ static let transactionID = Expression<Int>("tx")
14
+ static let memo = Expression<Blob>("memo")
15
+ }
16
+
17
+ let dbProvider: ConnectionProvider
18
+
19
+ private let blockDao: BlockSQLDAO
20
+ private let transactionsView = View("v_transactions")
21
+ private let txOutputsView = View("v_tx_outputs")
22
+ private let traceClosure: ((String) -> Void)?
23
+
24
+ init(dbProvider: ConnectionProvider, traceClosure: ((String) -> Void)? = nil) {
25
+ self.dbProvider = dbProvider
26
+ self.blockDao = BlockSQLDAO(dbProvider: dbProvider)
27
+ self.traceClosure = traceClosure
28
+ }
29
+
30
+ private func connection() throws -> Connection {
31
+ let conn = try dbProvider.connection()
32
+ conn.trace(traceClosure)
33
+ return conn
34
+ }
35
+
36
+ func closeDBConnection() {
37
+ dbProvider.close()
38
+ }
39
+
40
+ func blockForHeight(_ height: BlockHeight) async throws -> Block? {
41
+ try blockDao.block(at: height)
42
+ }
43
+
44
+ func lastScannedHeight() async throws -> BlockHeight {
45
+ try blockDao.latestBlockHeight()
46
+ }
47
+
48
+ func lastScannedBlock() async throws -> Block? {
49
+ try blockDao.latestBlock()
50
+ }
51
+
52
+ func isInitialized() async throws -> Bool {
53
+ true
54
+ }
55
+
56
+ func countAll() async throws -> Int {
57
+ do {
58
+ return try connection().scalar(transactionsView.count)
59
+ } catch {
60
+ throw ZcashError.transactionRepositoryCountAll(error)
61
+ }
62
+ }
63
+
64
+ func countUnmined() async throws -> Int {
65
+ do {
66
+ return try connection().scalar(transactionsView.filter(ZcashTransaction.Overview.Column.minedHeight == nil).count)
67
+ } catch {
68
+ throw ZcashError.transactionRepositoryCountUnmined(error)
69
+ }
70
+ }
71
+
72
+ func find(id: Int) async throws -> ZcashTransaction.Overview {
73
+ let query = transactionsView
74
+ .filter(ZcashTransaction.Overview.Column.id == id)
75
+ .limit(1)
76
+
77
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
78
+ }
79
+
80
+ func find(rawID: Data) async throws -> ZcashTransaction.Overview {
81
+ let query = transactionsView
82
+ .filter(ZcashTransaction.Overview.Column.rawID == Blob(bytes: rawID.bytes))
83
+ .limit(1)
84
+
85
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
86
+ }
87
+
88
+ func find(offset: Int, limit: Int, kind: TransactionKind) async throws -> [ZcashTransaction.Overview] {
89
+ let query = transactionsView
90
+ .order((ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc, ZcashTransaction.Overview.Column.id.desc)
91
+ .filterQueryFor(kind: kind)
92
+ .limit(limit, offset: offset)
93
+
94
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
95
+ }
96
+
97
+ func find(in range: CompactBlockRange, limit: Int, kind: TransactionKind) async throws -> [ZcashTransaction.Overview] {
98
+ let query = transactionsView
99
+ .order((ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc, ZcashTransaction.Overview.Column.id.desc)
100
+ .filter(
101
+ ZcashTransaction.Overview.Column.minedHeight >= BlockHeight(range.lowerBound) &&
102
+ ZcashTransaction.Overview.Column.minedHeight <= BlockHeight(range.upperBound)
103
+ )
104
+ .filterQueryFor(kind: kind)
105
+ .limit(limit)
106
+
107
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
108
+ }
109
+
110
+ func find(from transaction: ZcashTransaction.Overview, limit: Int, kind: TransactionKind) async throws -> [ZcashTransaction.Overview] {
111
+ guard
112
+ let transactionIndex = transaction.index,
113
+ let transactionBlockTime = transaction.blockTime
114
+ else { throw ZcashError.transactionRepositoryTransactionMissingRequiredFields }
115
+
116
+ let query = transactionsView
117
+ .order(
118
+ (ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc, ZcashTransaction.Overview.Column.id.desc
119
+ )
120
+ .filter(
121
+ Int64(transactionBlockTime) > ZcashTransaction.Overview.Column.blockTime
122
+ && transactionIndex > ZcashTransaction.Overview.Column.index
123
+ )
124
+ .filterQueryFor(kind: kind)
125
+ .limit(limit)
126
+
127
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
128
+ }
129
+
130
+ func findReceived(offset: Int, limit: Int) async throws -> [ZcashTransaction.Overview] {
131
+ let query = transactionsView
132
+ .filterQueryFor(kind: .received)
133
+ .order(ZcashTransaction.Overview.Column.id.desc, (ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc)
134
+ .limit(limit, offset: offset)
135
+
136
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
137
+ }
138
+
139
+ func findSent(offset: Int, limit: Int) async throws -> [ZcashTransaction.Overview] {
140
+ let query = transactionsView
141
+ .filterQueryFor(kind: .sent)
142
+ .order((ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc, ZcashTransaction.Overview.Column.id.desc)
143
+ .limit(limit, offset: offset)
144
+
145
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
146
+ }
147
+
148
+ func findPendingTransactions(latestHeight: BlockHeight, offset: Int, limit: Int) async throws -> [ZcashTransaction.Overview] {
149
+ let query = transactionsView
150
+ .filterPendingFrom(latestHeight)
151
+ .order((ZcashTransaction.Overview.Column.minedHeight ?? BlockHeight.max).desc, ZcashTransaction.Overview.Column.id.desc)
152
+ .limit(limit, offset: offset)
153
+
154
+ return try execute(query) { try ZcashTransaction.Overview(row: $0) }
155
+ }
156
+
157
+ func findMemos(for transaction: ZcashTransaction.Overview) async throws -> [Memo] {
158
+ do {
159
+ return try await getTransactionOutputs(for: transaction.id)
160
+ .compactMap { $0.memo }
161
+ } catch {
162
+ throw ZcashError.transactionRepositoryFindMemos(error)
163
+ }
164
+ }
165
+
166
+ func getTransactionOutputs(for id: Int) async throws -> [ZcashTransaction.Output] {
167
+ let query = self.txOutputsView
168
+ .filter(ZcashTransaction.Output.Column.idTx == id)
169
+
170
+ return try execute(query) { try ZcashTransaction.Output(row: $0) }
171
+ }
172
+
173
+ func getRecipients(for id: Int) async throws -> [TransactionRecipient] {
174
+ try await getTransactionOutputs(for: id).map { $0.recipient }
175
+ }
176
+
177
+ private func execute<Entity>(_ query: View, createEntity: (Row) throws -> Entity) throws -> Entity {
178
+ let entities: [Entity] = try execute(query, createEntity: createEntity)
179
+ guard let entity = entities.first else { throw ZcashError.transactionRepositoryEntityNotFound }
180
+ return entity
181
+ }
182
+
183
+ private func execute<Entity>(_ query: View, createEntity: (Row) throws -> Entity) throws -> [Entity] {
184
+ do {
185
+ let entities = try connection()
186
+ .prepare(query)
187
+ .map(createEntity)
188
+
189
+ return entities
190
+ } catch {
191
+ if let error = error as? ZcashError {
192
+ throw error
193
+ } else {
194
+ throw ZcashError.transactionRepositoryQueryExecute(error)
195
+ }
196
+ }
197
+ }
198
+ }
199
+
200
+ private extension View {
201
+ func filterPendingFrom(_ latestHeight: BlockHeight) -> View {
202
+ filter(
203
+ // transaction has not expired
204
+ ZcashTransaction.Overview.Column.expiredUnmined == false &&
205
+ // transaction is "sent"
206
+ ZcashTransaction.Overview.Column.value < 0 &&
207
+ // transaction has not been mined yet OR
208
+ // it has been within the latest `defaultStaleTolerance` blocks
209
+ (
210
+ ZcashTransaction.Overview.Column.minedHeight == nil ||
211
+ ZcashTransaction.Overview.Column.minedHeight > (latestHeight - ZcashSDK.defaultStaleTolerance)
212
+ )
213
+ )
214
+ }
215
+ }
216
+
217
+ private extension View {
218
+ func filterQueryFor(kind: TransactionKind) -> View {
219
+ switch kind {
220
+ case .all:
221
+ return self
222
+ case .sent:
223
+ return filter(ZcashTransaction.Overview.Column.value < 0)
224
+ case .received:
225
+ return filter(ZcashTransaction.Overview.Column.value >= 0)
226
+ }
227
+ }
228
+ }
229
+
230
+ extension Data {
231
+ init(blob: SQLite.Blob) {
232
+ let bytes = blob.bytes
233
+ self = Data(bytes: bytes, count: bytes.count)
234
+ }
235
+
236
+ var bytes: [UInt8] {
237
+ return [UInt8](self)
238
+ }
239
+ }
240
+
241
+ extension Array where Element == UInt8 {
242
+ var data: Data {
243
+ return Data(self)
244
+ }
245
+ }