react-native-zcash 0.3.3 → 0.3.5

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 (514) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE +22 -0
  3. package/README.md +47 -14
  4. package/android/build.gradle +1 -1
  5. package/android/src/main/assets/saplingtree/mainnet/1310000.json +7 -0
  6. package/android/src/main/assets/saplingtree/mainnet/1320000.json +7 -0
  7. package/android/src/main/assets/saplingtree/mainnet/1330000.json +7 -0
  8. package/android/src/main/assets/saplingtree/mainnet/1340000.json +7 -0
  9. package/android/src/main/assets/saplingtree/mainnet/1350000.json +7 -0
  10. package/android/src/main/assets/saplingtree/mainnet/1360000.json +7 -0
  11. package/android/src/main/assets/saplingtree/mainnet/1370000.json +7 -0
  12. package/android/src/main/assets/saplingtree/mainnet/1380000.json +7 -0
  13. package/android/src/main/assets/saplingtree/mainnet/1390000.json +7 -0
  14. package/android/src/main/assets/saplingtree/mainnet/1400000.json +7 -0
  15. package/android/src/main/assets/saplingtree/mainnet/1410000.json +7 -0
  16. package/android/src/main/assets/saplingtree/mainnet/1420000.json +7 -0
  17. package/android/src/main/assets/saplingtree/mainnet/1430000.json +7 -0
  18. package/android/src/main/assets/saplingtree/mainnet/1440000.json +7 -0
  19. package/android/src/main/assets/saplingtree/mainnet/1450000.json +7 -0
  20. package/android/src/main/assets/saplingtree/mainnet/1460000.json +7 -0
  21. package/android/src/main/assets/saplingtree/mainnet/1470000.json +7 -0
  22. package/android/src/main/assets/saplingtree/mainnet/1480000.json +7 -0
  23. package/android/src/main/assets/saplingtree/mainnet/1490000.json +7 -0
  24. package/android/src/main/assets/saplingtree/mainnet/1500000.json +7 -0
  25. package/android/src/main/assets/saplingtree/mainnet/1510000.json +7 -0
  26. package/android/src/main/assets/saplingtree/mainnet/1520000.json +7 -0
  27. package/android/src/main/assets/saplingtree/mainnet/1530000.json +7 -0
  28. package/android/src/main/assets/saplingtree/mainnet/1540000.json +7 -0
  29. package/android/src/main/assets/saplingtree/mainnet/1550000.json +7 -0
  30. package/android/src/main/assets/saplingtree/mainnet/1560000.json +7 -0
  31. package/android/src/main/assets/saplingtree/mainnet/1570000.json +7 -0
  32. package/android/src/main/assets/saplingtree/mainnet/1580000.json +7 -0
  33. package/android/src/main/assets/saplingtree/mainnet/1590000.json +7 -0
  34. package/android/src/main/assets/saplingtree/mainnet/1600000.json +7 -0
  35. package/android/src/main/assets/saplingtree/mainnet/1610000.json +7 -0
  36. package/android/src/main/assets/saplingtree/mainnet/1620000.json +7 -0
  37. package/android/src/main/assets/saplingtree/mainnet/1630000.json +7 -0
  38. package/android/src/main/assets/saplingtree/mainnet/1640000.json +7 -0
  39. package/android/src/main/assets/saplingtree/mainnet/1650000.json +7 -0
  40. package/android/src/main/assets/saplingtree/mainnet/1660000.json +7 -0
  41. package/android/src/main/assets/saplingtree/mainnet/1670000.json +7 -0
  42. package/android/src/main/assets/saplingtree/mainnet/1680000.json +7 -0
  43. package/android/src/main/assets/saplingtree/mainnet/1690000.json +7 -0
  44. package/android/src/main/assets/saplingtree/mainnet/1700000.json +7 -0
  45. package/android/src/main/assets/saplingtree/mainnet/1710000.json +7 -0
  46. package/android/src/main/assets/saplingtree/mainnet/1720000.json +7 -0
  47. package/android/src/main/assets/saplingtree/mainnet/1730000.json +7 -0
  48. package/android/src/main/assets/saplingtree/mainnet/1740000.json +7 -0
  49. package/android/src/main/assets/saplingtree/mainnet/1750000.json +7 -0
  50. package/android/src/main/assets/saplingtree/mainnet/1760000.json +7 -0
  51. package/android/src/main/assets/saplingtree/mainnet/1770000.json +7 -0
  52. package/android/src/main/assets/saplingtree/mainnet/1780000.json +7 -0
  53. package/android/src/main/assets/saplingtree/mainnet/1790000.json +7 -0
  54. package/android/src/main/assets/saplingtree/mainnet/1800000.json +7 -0
  55. package/android/src/main/assets/saplingtree/mainnet/1810000.json +7 -0
  56. package/android/src/main/assets/saplingtree/mainnet/1820000.json +7 -0
  57. package/android/src/main/assets/saplingtree/mainnet/1830000.json +7 -0
  58. package/android/src/main/assets/saplingtree/mainnet/1840000.json +7 -0
  59. package/android/src/main/assets/saplingtree/mainnet/1850000.json +7 -0
  60. package/android/src/main/assets/saplingtree/mainnet/1860000.json +7 -0
  61. package/android/src/main/assets/saplingtree/mainnet/1870000.json +7 -0
  62. package/android/src/main/assets/saplingtree/mainnet/1880000.json +7 -0
  63. package/android/src/main/assets/saplingtree/mainnet/1890000.json +7 -0
  64. package/android/src/main/assets/saplingtree/mainnet/1900000.json +7 -0
  65. package/android/src/main/assets/saplingtree/mainnet/1910000.json +7 -0
  66. package/android/src/main/assets/saplingtree/mainnet/1920000.json +7 -0
  67. package/android/src/main/assets/saplingtree/mainnet/1930000.json +7 -0
  68. package/android/src/main/assets/saplingtree/mainnet/1940000.json +7 -0
  69. package/android/src/main/assets/saplingtree/mainnet/1950000.json +7 -0
  70. package/android/src/main/assets/saplingtree/mainnet/1960000.json +7 -0
  71. package/android/src/main/assets/saplingtree/mainnet/1970000.json +7 -0
  72. package/android/src/main/assets/saplingtree/mainnet/1980000.json +7 -0
  73. package/android/src/main/assets/saplingtree/mainnet/1990000.json +7 -0
  74. package/android/src/main/assets/saplingtree/mainnet/2000000.json +7 -0
  75. package/android/src/main/assets/saplingtree/mainnet/2010000.json +7 -0
  76. package/android/src/main/assets/saplingtree/mainnet/2020000.json +7 -0
  77. package/android/src/main/assets/saplingtree/mainnet/2030000.json +7 -0
  78. package/android/src/main/assets/saplingtree/mainnet/2040000.json +7 -0
  79. package/android/src/main/assets/saplingtree/mainnet/2050000.json +7 -0
  80. package/android/src/main/assets/saplingtree/mainnet/2060000.json +7 -0
  81. package/android/src/main/assets/saplingtree/mainnet/2070000.json +7 -0
  82. package/android/src/main/assets/saplingtree/mainnet/2080000.json +7 -0
  83. package/android/src/main/assets/saplingtree/mainnet/2090000.json +7 -0
  84. package/android/src/main/assets/saplingtree/mainnet/2100000.json +7 -0
  85. package/android/src/main/assets/saplingtree/mainnet/2110000.json +7 -0
  86. package/android/src/main/assets/saplingtree/mainnet/2120000.json +7 -0
  87. package/android/src/main/assets/saplingtree/mainnet/2130000.json +7 -0
  88. package/android/src/main/assets/saplingtree/mainnet/2140000.json +7 -0
  89. package/android/src/main/assets/saplingtree/mainnet/2150000.json +7 -0
  90. package/android/src/main/assets/saplingtree/mainnet/2160000.json +7 -0
  91. package/android/src/main/assets/saplingtree/mainnet/2170000.json +7 -0
  92. package/ios/RNZcash.m +0 -1
  93. package/ios/RNZcash.swift +14 -15
  94. package/ios/ZCashLightClientKit/Block/DatabaseStorage/CompactBlockStorage.swift +123 -0
  95. package/ios/ZCashLightClientKit/Block/DatabaseStorage/DatabaseMigrationManager.swift +222 -0
  96. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageError.swift +22 -0
  97. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageManager.swift +73 -0
  98. package/ios/ZCashLightClientKit/Block/Downloader/BlockDownloader.swift +240 -0
  99. package/ios/ZCashLightClientKit/Block/Downloader/CompactBlockDownloaderBuilder.swift +26 -0
  100. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockDownloadOperation.swift +258 -0
  101. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockEnhancementOperation.swift +157 -0
  102. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockProcessor.swift +1454 -0
  103. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockScanningOperation.swift +238 -0
  104. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockValidationInformation.swift +66 -0
  105. package/ios/ZCashLightClientKit/Block/Processor/FetchUnspentTxOutputsOperation.swift +103 -0
  106. package/ios/ZCashLightClientKit/Block/Processor/FigureNextBatchOperation.swift +58 -0
  107. package/ios/ZCashLightClientKit/Block/Processor/ZcashOperation.swift +68 -0
  108. package/ios/ZCashLightClientKit/Constants/WalletBirthday+Constants.swift +58 -0
  109. package/ios/ZCashLightClientKit/Constants/WalletBirthday+mainnet.swift +20 -0
  110. package/ios/ZCashLightClientKit/Constants/WalletBirthday+testnet.swift +20 -0
  111. package/ios/ZCashLightClientKit/Constants/ZcashSDK.swift +245 -0
  112. package/ios/ZCashLightClientKit/DAO/BlockDao.swift +67 -0
  113. package/ios/ZCashLightClientKit/DAO/CompactBlockDAO.swift +24 -0
  114. package/ios/ZCashLightClientKit/DAO/NotesDao.swift +142 -0
  115. package/ios/ZCashLightClientKit/DAO/PagedTransactionDao.swift +62 -0
  116. package/ios/ZCashLightClientKit/DAO/PendingTransactionDao.swift +213 -0
  117. package/ios/ZCashLightClientKit/DAO/TransactionBuilder.swift +169 -0
  118. package/ios/ZCashLightClientKit/DAO/TransactionDao.swift +393 -0
  119. package/ios/ZCashLightClientKit/DAO/UnspentTransactionOutputDao.swift +188 -0
  120. package/ios/ZCashLightClientKit/Entity/AccountEntity.swift +201 -0
  121. package/ios/ZCashLightClientKit/Entity/CompactBlockEntity.swift +13 -0
  122. package/ios/ZCashLightClientKit/Entity/EncodedTransactionEntity.swift +26 -0
  123. package/ios/ZCashLightClientKit/Entity/PendingTransactionEntity.swift +205 -0
  124. package/ios/ZCashLightClientKit/Entity/ReceivedNoteEntity.swift +22 -0
  125. package/ios/ZCashLightClientKit/Entity/SentNoteEntity.swift +45 -0
  126. package/ios/ZCashLightClientKit/Entity/TransactionEntity.swift +161 -0
  127. package/ios/ZCashLightClientKit/Entity/UnspentTransactionOutputEntity.swift +17 -0
  128. package/ios/ZCashLightClientKit/Extensions/Data+Zcash.swift +17 -0
  129. package/ios/ZCashLightClientKit/Extensions/Data+internal.swift +35 -0
  130. package/ios/ZCashLightClientKit/Extensions/HexEncode.swift +41 -0
  131. package/ios/ZCashLightClientKit/Extensions/ZcashRust+Utils.swift +26 -0
  132. package/ios/ZCashLightClientKit/Extensions/ZcashSDK+extensions.swift +34 -0
  133. package/ios/ZCashLightClientKit/Initializer.swift +357 -0
  134. package/ios/ZCashLightClientKit/Model/WalletTypes.swift +108 -0
  135. package/ios/ZCashLightClientKit/Providers/ResourceProvider.swift +47 -0
  136. package/ios/ZCashLightClientKit/Repository/BlockRepository.swift +13 -0
  137. package/ios/ZCashLightClientKit/Repository/CompactBlockRepository.swift +75 -0
  138. package/ios/ZCashLightClientKit/Repository/NotesRepository.swift +16 -0
  139. package/ios/ZCashLightClientKit/Repository/PaginatedTransactionRepository.swift +35 -0
  140. package/ios/ZCashLightClientKit/Repository/PendingTransactionRepository.swift +19 -0
  141. package/ios/ZCashLightClientKit/Repository/TransactionRepository.swift +30 -0
  142. package/ios/ZCashLightClientKit/Repository/TransactionRepositoryBuilder.swift +24 -0
  143. package/ios/ZCashLightClientKit/Repository/UnspentTransactionOutputRepository.swift +18 -0
  144. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1000000.json +7 -0
  145. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1010000.json +7 -0
  146. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1020000.json +7 -0
  147. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1030000.json +7 -0
  148. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1040000.json +7 -0
  149. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1050000.json +7 -0
  150. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1060000.json +7 -0
  151. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1070000.json +7 -0
  152. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1080000.json +7 -0
  153. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1090000.json +7 -0
  154. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1100000.json +7 -0
  155. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1110000.json +7 -0
  156. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1120000.json +7 -0
  157. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1130000.json +7 -0
  158. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1140000.json +7 -0
  159. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1150000.json +7 -0
  160. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1160000.json +7 -0
  161. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1170000.json +7 -0
  162. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1180000.json +7 -0
  163. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1190000.json +7 -0
  164. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1200000.json +7 -0
  165. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1210000.json +7 -0
  166. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1220000.json +7 -0
  167. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1230000.json +7 -0
  168. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1240000.json +7 -0
  169. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1250000.json +7 -0
  170. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1260000.json +7 -0
  171. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1270000.json +7 -0
  172. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1280000.json +7 -0
  173. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1290000.json +7 -0
  174. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1300000.json +7 -0
  175. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1310000.json +7 -0
  176. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1320000.json +7 -0
  177. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1330000.json +7 -0
  178. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1340000.json +7 -0
  179. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1350000.json +7 -0
  180. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1360000.json +7 -0
  181. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1370000.json +7 -0
  182. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1380000.json +7 -0
  183. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1390000.json +7 -0
  184. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1400000.json +7 -0
  185. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1410000.json +7 -0
  186. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1420000.json +7 -0
  187. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1430000.json +7 -0
  188. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1440000.json +7 -0
  189. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1450000.json +7 -0
  190. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1460000.json +7 -0
  191. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1470000.json +7 -0
  192. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1480000.json +7 -0
  193. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1490000.json +7 -0
  194. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1500000.json +7 -0
  195. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1510000.json +7 -0
  196. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1520000.json +7 -0
  197. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1530000.json +7 -0
  198. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1540000.json +7 -0
  199. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1550000.json +7 -0
  200. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1560000.json +7 -0
  201. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1570000.json +7 -0
  202. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1580000.json +7 -0
  203. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1590000.json +7 -0
  204. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1600000.json +7 -0
  205. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1610000.json +7 -0
  206. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1620000.json +7 -0
  207. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1630000.json +7 -0
  208. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1640000.json +7 -0
  209. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1650000.json +7 -0
  210. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1660000.json +7 -0
  211. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1670000.json +7 -0
  212. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1680000.json +7 -0
  213. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1690000.json +7 -0
  214. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1700000.json +7 -0
  215. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1710000.json +7 -0
  216. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1720000.json +7 -0
  217. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1730000.json +7 -0
  218. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1740000.json +7 -0
  219. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1750000.json +7 -0
  220. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1760000.json +7 -0
  221. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1770000.json +7 -0
  222. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1780000.json +7 -0
  223. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1790000.json +7 -0
  224. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1800000.json +7 -0
  225. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1810000.json +7 -0
  226. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1820000.json +7 -0
  227. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1830000.json +7 -0
  228. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1840000.json +7 -0
  229. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1850000.json +7 -0
  230. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1860000.json +7 -0
  231. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1870000.json +7 -0
  232. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1880000.json +7 -0
  233. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1890000.json +7 -0
  234. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1900000.json +7 -0
  235. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1910000.json +7 -0
  236. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1920000.json +7 -0
  237. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1930000.json +7 -0
  238. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1940000.json +7 -0
  239. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1950000.json +7 -0
  240. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1960000.json +7 -0
  241. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1970000.json +7 -0
  242. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1980000.json +7 -0
  243. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1990000.json +7 -0
  244. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2000000.json +7 -0
  245. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2010000.json +7 -0
  246. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2020000.json +7 -0
  247. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2030000.json +7 -0
  248. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2040000.json +7 -0
  249. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2050000.json +7 -0
  250. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2060000.json +7 -0
  251. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2070000.json +7 -0
  252. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2080000.json +7 -0
  253. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2090000.json +7 -0
  254. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2100000.json +7 -0
  255. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2110000.json +7 -0
  256. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2120000.json +7 -0
  257. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2130000.json +7 -0
  258. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2140000.json +7 -0
  259. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2150000.json +7 -0
  260. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2160000.json +7 -0
  261. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2170000.json +7 -0
  262. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/419200.json +7 -0
  263. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/500000.json +7 -0
  264. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/510000.json +7 -0
  265. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/520000.json +7 -0
  266. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/530000.json +7 -0
  267. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/540000.json +7 -0
  268. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/550000.json +7 -0
  269. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/560000.json +7 -0
  270. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/570000.json +7 -0
  271. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/580000.json +7 -0
  272. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/590000.json +7 -0
  273. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/600000.json +7 -0
  274. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/610000.json +7 -0
  275. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/620000.json +7 -0
  276. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/630000.json +7 -0
  277. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/640000.json +7 -0
  278. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/650000.json +7 -0
  279. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/660000.json +7 -0
  280. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/663150.json +8 -0
  281. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/670000.json +7 -0
  282. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/680000.json +7 -0
  283. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/690000.json +7 -0
  284. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/700000.json +7 -0
  285. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/710000.json +7 -0
  286. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/720000.json +7 -0
  287. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/730000.json +7 -0
  288. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/740000.json +7 -0
  289. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/750000.json +7 -0
  290. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/760000.json +7 -0
  291. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/770000.json +7 -0
  292. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/780000.json +7 -0
  293. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/790000.json +7 -0
  294. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/800000.json +7 -0
  295. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/810000.json +7 -0
  296. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/820000.json +7 -0
  297. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/830000.json +7 -0
  298. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/840000.json +7 -0
  299. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/850000.json +7 -0
  300. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/860000.json +7 -0
  301. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/870000.json +7 -0
  302. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/880000.json +7 -0
  303. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/890000.json +7 -0
  304. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/900000.json +7 -0
  305. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/910000.json +7 -0
  306. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/920000.json +7 -0
  307. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/930000.json +7 -0
  308. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/940000.json +7 -0
  309. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/950000.json +7 -0
  310. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/960000.json +7 -0
  311. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/970000.json +7 -0
  312. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/980000.json +7 -0
  313. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/990000.json +7 -0
  314. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1000000.json +7 -0
  315. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1010000.json +7 -0
  316. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1020000.json +7 -0
  317. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1030000.json +7 -0
  318. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1040000.json +7 -0
  319. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1050000.json +7 -0
  320. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1060000.json +7 -0
  321. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1070000.json +7 -0
  322. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1080000.json +7 -0
  323. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1090000.json +7 -0
  324. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1100000.json +7 -0
  325. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1110000.json +7 -0
  326. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1120000.json +7 -0
  327. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1130000.json +7 -0
  328. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1140000.json +7 -0
  329. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1150000.json +7 -0
  330. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1160000.json +7 -0
  331. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1170000.json +7 -0
  332. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1180000.json +7 -0
  333. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1190000.json +7 -0
  334. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1200000.json +7 -0
  335. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1210000.json +7 -0
  336. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1220000.json +7 -0
  337. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1230000.json +7 -0
  338. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1240000.json +7 -0
  339. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1250000.json +7 -0
  340. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1260000.json +7 -0
  341. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1270000.json +7 -0
  342. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1280000.json +7 -0
  343. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1290000.json +7 -0
  344. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1300000.json +7 -0
  345. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1310000.json +7 -0
  346. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1320000.json +7 -0
  347. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1330000.json +7 -0
  348. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1340000.json +7 -0
  349. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1350000.json +7 -0
  350. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1360000.json +7 -0
  351. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1370000.json +7 -0
  352. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1380000.json +7 -0
  353. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1390000.json +7 -0
  354. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1400000.json +7 -0
  355. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1410000.json +7 -0
  356. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1420000.json +7 -0
  357. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1430000.json +7 -0
  358. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1440000.json +7 -0
  359. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1450000.json +7 -0
  360. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1460000.json +7 -0
  361. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1470000.json +7 -0
  362. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1480000.json +7 -0
  363. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1490000.json +7 -0
  364. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1500000.json +7 -0
  365. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1510000.json +7 -0
  366. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1520000.json +7 -0
  367. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1530000.json +7 -0
  368. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1540000.json +7 -0
  369. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1550000.json +7 -0
  370. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1560000.json +7 -0
  371. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1570000.json +7 -0
  372. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1580000.json +7 -0
  373. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1590000.json +7 -0
  374. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1600000.json +7 -0
  375. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1610000.json +7 -0
  376. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1620000.json +7 -0
  377. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1630000.json +7 -0
  378. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1640000.json +7 -0
  379. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1650000.json +7 -0
  380. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1660000.json +7 -0
  381. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1670000.json +7 -0
  382. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1680000.json +7 -0
  383. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1690000.json +7 -0
  384. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1700000.json +7 -0
  385. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1710000.json +7 -0
  386. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1720000.json +7 -0
  387. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1730000.json +7 -0
  388. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1740000.json +7 -0
  389. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1750000.json +7 -0
  390. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1760000.json +7 -0
  391. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1770000.json +7 -0
  392. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1780000.json +7 -0
  393. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1790000.json +7 -0
  394. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1800000.json +7 -0
  395. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1810000.json +7 -0
  396. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1820000.json +7 -0
  397. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1830000.json +7 -0
  398. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1840000.json +7 -0
  399. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1850000.json +7 -0
  400. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1860000.json +7 -0
  401. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/280000.json +7 -0
  402. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/290000.json +7 -0
  403. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/300000.json +7 -0
  404. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/310000.json +7 -0
  405. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/320000.json +7 -0
  406. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/330000.json +7 -0
  407. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/340000.json +7 -0
  408. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/350000.json +7 -0
  409. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/360000.json +7 -0
  410. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/370000.json +7 -0
  411. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/380000.json +7 -0
  412. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/390000.json +7 -0
  413. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/400000.json +7 -0
  414. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/410000.json +7 -0
  415. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/420000.json +7 -0
  416. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/430000.json +7 -0
  417. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/440000.json +7 -0
  418. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/450000.json +7 -0
  419. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/460000.json +7 -0
  420. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/470000.json +7 -0
  421. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/480000.json +7 -0
  422. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/490000.json +7 -0
  423. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/500000.json +7 -0
  424. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/510000.json +7 -0
  425. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/520000.json +7 -0
  426. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/530000.json +7 -0
  427. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/540000.json +7 -0
  428. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/550000.json +7 -0
  429. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/560000.json +7 -0
  430. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/570000.json +7 -0
  431. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/580000.json +7 -0
  432. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/590000.json +7 -0
  433. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/600000.json +7 -0
  434. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/610000.json +7 -0
  435. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/620000.json +7 -0
  436. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/630000.json +7 -0
  437. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/640000.json +7 -0
  438. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/650000.json +7 -0
  439. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/660000.json +7 -0
  440. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/670000.json +7 -0
  441. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/680000.json +7 -0
  442. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/690000.json +7 -0
  443. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/700000.json +7 -0
  444. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/710000.json +7 -0
  445. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/720000.json +7 -0
  446. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/730000.json +7 -0
  447. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/740000.json +7 -0
  448. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/750000.json +7 -0
  449. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/760000.json +7 -0
  450. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/770000.json +7 -0
  451. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/780000.json +7 -0
  452. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/790000.json +7 -0
  453. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/800000.json +7 -0
  454. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/810000.json +7 -0
  455. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/820000.json +7 -0
  456. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/830000.json +7 -0
  457. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/840000.json +7 -0
  458. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/850000.json +7 -0
  459. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/860000.json +7 -0
  460. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/870000.json +7 -0
  461. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/880000.json +7 -0
  462. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/890000.json +7 -0
  463. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/900000.json +7 -0
  464. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/910000.json +7 -0
  465. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/920000.json +7 -0
  466. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/930000.json +7 -0
  467. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/940000.json +7 -0
  468. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/950000.json +7 -0
  469. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/960000.json +7 -0
  470. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/970000.json +7 -0
  471. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/980000.json +7 -0
  472. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/990000.json +7 -0
  473. package/ios/ZCashLightClientKit/Rust/ZcashRustBackend.swift +718 -0
  474. package/ios/ZCashLightClientKit/Rust/ZcashRustBackendWelding.swift +389 -0
  475. package/ios/ZCashLightClientKit/Rust/zcashlc.h +385 -0
  476. package/ios/ZCashLightClientKit/Service/LightWalletGRPCService.swift +551 -0
  477. package/ios/ZCashLightClientKit/Service/LightWalletService.swift +214 -0
  478. package/ios/ZCashLightClientKit/Service/Model/ZcashCompactBlock.swift +46 -0
  479. package/ios/ZCashLightClientKit/Service/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +50 -0
  480. package/ios/ZCashLightClientKit/Service/ProtoBuf/compact_formats.pb.swift +332 -0
  481. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/compact_formats.proto +56 -0
  482. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/service.proto +180 -0
  483. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.grpc.swift +383 -0
  484. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.pb.swift +1173 -0
  485. package/ios/ZCashLightClientKit/Synchronizer/SDKSynchronizer.swift +929 -0
  486. package/ios/ZCashLightClientKit/Synchronizer.swift +430 -0
  487. package/ios/ZCashLightClientKit/Tool/DerivationTool.swift +344 -0
  488. package/ios/ZCashLightClientKit/Transaction/PersistentTransactionManager.swift +339 -0
  489. package/ios/ZCashLightClientKit/Transaction/TransactionEncoder.swift +116 -0
  490. package/ios/ZCashLightClientKit/Transaction/TransactionManager.swift +42 -0
  491. package/ios/ZCashLightClientKit/Transaction/WalletTransactionEncoder.swift +216 -0
  492. package/ios/ZCashLightClientKit/Utils/Bundle+module.swift +30 -0
  493. package/ios/ZCashLightClientKit/Utils/LoggingProxy.swift +47 -0
  494. package/ios/ZCashLightClientKit/Utils/SaplingParameterDownloader.swift +124 -0
  495. package/ios/libzcashlc.xcframework/Info.plist +40 -0
  496. package/ios/libzcashlc.xcframework/ios-arm64/libzcashlc.a +0 -0
  497. package/ios/libzcashlc.xcframework/ios-arm64_x86_64-simulator/libzcashlc.a +0 -0
  498. package/ios/react-native-zcash-Bridging-Header.h +2 -0
  499. package/ios/react-native-zcash.xcodeproj/project.pbxproj +1 -0
  500. package/lib/scripts/copyCheckpoints.d.ts +5 -0
  501. package/lib/scripts/updateCheckpoints.d.ts +1 -0
  502. package/lib/scripts/updateSources.d.ts +1 -0
  503. package/package.json +21 -32
  504. package/react-native-zcash.podspec +17 -7
  505. package/ios/RNZcash-Bridging-Header.h +0 -6
  506. package/ios/RNZcash.xcodeproj/project.pbxproj +0 -271
  507. package/ios/RNZcash.xcworkspace/contents.xcworkspacedata +0 -7
  508. package/ios/RNZcash.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  509. package/lib/src/browser.d.ts +0 -0
  510. package/lib/src/index.d.ts +0 -0
  511. package/lib/test/test.test.d.ts +0 -0
  512. package/src/browser.ts +0 -36
  513. package/src/index.flow.js +0 -168
  514. package/src/index.ts +0 -1
@@ -0,0 +1,245 @@
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
+
36
+ public enum ZcashNetworkBuilder {
37
+ public static func network(for networkType: NetworkType) -> ZcashNetwork {
38
+ switch networkType {
39
+ case .mainnet: return ZcashMainnet()
40
+ case .testnet: return ZcashTestnet()
41
+ }
42
+ }
43
+ }
44
+
45
+ class ZcashTestnet: ZcashNetwork {
46
+ var networkType: NetworkType = .testnet
47
+ var constants: NetworkConstants.Type = ZcashSDKTestnetConstants.self
48
+ }
49
+
50
+ class ZcashMainnet: ZcashNetwork {
51
+ var networkType: NetworkType = .mainnet
52
+ var constants: NetworkConstants.Type = ZcashSDKMainnetConstants.self
53
+ }
54
+
55
+ /**
56
+ Constants of ZcashLightClientKit. this constants don't
57
+ */
58
+ public enum ZcashSDK {
59
+ /**
60
+ The number of zatoshi that equal 1 ZEC.
61
+ */
62
+ public static var zatoshiPerZEC: BlockHeight = 100_000_000
63
+
64
+ /**
65
+ The theoretical maximum number of blocks in a reorg, due to other bottlenecks in the protocol design.
66
+ */
67
+ public static var maxReorgSize = 100
68
+
69
+ /**
70
+ The amount of blocks ahead of the current height where new transactions are set to expire. This value is controlled
71
+ by the rust backend but it is helpful to know what it is set to and should be kept in sync.
72
+ */
73
+ public static var expiryOffset = 20
74
+
75
+ //
76
+ // Defaults
77
+ //
78
+ /**
79
+ Default size of batches of blocks to request from the compact block service.
80
+ */
81
+ public static var DefaultBatchSize = 100
82
+
83
+ /**
84
+ Default amount of time, in in seconds, to poll for new blocks. Typically, this should be about half the average
85
+ block time.
86
+ */
87
+ public static var defaultPollInterval: TimeInterval = 20
88
+
89
+ /**
90
+ Default attempts at retrying.
91
+ */
92
+ public static var defaultRetries: Int = 5
93
+
94
+ /**
95
+ The default maximum amount of time to wait during retry backoff intervals. Failed loops will never wait longer than
96
+ this before retyring.
97
+ */
98
+ public static var defaultMaxBackOffInterval: TimeInterval = 600
99
+
100
+ /**
101
+ Default number of blocks to rewind when a chain reorg is detected. This should be large enough to recover from the
102
+ reorg but smaller than the theoretical max reorg size of 100.
103
+ */
104
+ public static var defaultRewindDistance: Int = 10
105
+
106
+ /**
107
+ The number of blocks to allow before considering our data to be stale. This usually helps with what to do when
108
+ returning from the background and is exposed via the Synchronizer's isStale function.
109
+ */
110
+ public static var defaultStaleTolerance: Int = 10
111
+
112
+ /**
113
+ Default Name for LibRustZcash data.db
114
+ */
115
+ public static var defaultDataDbName = "data.db"
116
+
117
+ /**
118
+ Default Name for Compact Block caches db
119
+ */
120
+ public static var defaultCacheDbName = "caches.db"
121
+
122
+ /**
123
+ Default name for pending transactions db
124
+ */
125
+ public static var defaultPendingDbName = "pending.db"
126
+
127
+ /**
128
+ File name for the sapling spend params
129
+ */
130
+ public static var spendParamFilename = "sapling-spend.params"
131
+
132
+ /**
133
+ File name for the sapling output params
134
+ */
135
+ public static var outputParamFilename = "sapling-output.params"
136
+
137
+ /**
138
+ The Url that is used by default in zcashd.
139
+ We'll want to make this externally configurable, rather than baking it into the SDK but
140
+ this will do for now, since we're using a cloudfront URL that already redirects.
141
+ */
142
+ public static var cloudParameterURL = "https://z.cash/downloads/"
143
+ }
144
+
145
+ public protocol NetworkConstants {
146
+ /**
147
+ The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
148
+ prior to this height, at all.
149
+ */
150
+ static var saplingActivationHeight: BlockHeight { get }
151
+
152
+ /**
153
+ Default Name for LibRustZcash data.db
154
+ */
155
+ static var defaultDataDbName: String { get }
156
+
157
+ /**
158
+ Default Name for Compact Block caches db
159
+ */
160
+ static var defaultCacheDbName: String { get }
161
+
162
+ /**
163
+ Default name for pending transactions db
164
+ */
165
+ static var defaultPendingDbName: String { get }
166
+
167
+ static var defaultDbNamePrefix: String { get }
168
+
169
+ /**
170
+ fixed height where the SDK considers that the ZIP-321 was deployed. This is a workaround
171
+ for librustzcash not figuring out the tx fee from the tx itself.
172
+ */
173
+ static var feeChangeHeight: BlockHeight { get }
174
+
175
+ static func defaultFee(for height: BlockHeight) -> Int64
176
+ }
177
+
178
+ public extension NetworkConstants {
179
+ static func defaultFee(for height: BlockHeight = BlockHeight.max) -> Int64 {
180
+ guard height >= feeChangeHeight else { return 10_000 }
181
+
182
+ return 1_000
183
+ }
184
+ }
185
+
186
+ public class ZcashSDKMainnetConstants: NetworkConstants {
187
+ private init() {}
188
+
189
+ /**
190
+ The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
191
+ prior to this height, at all.
192
+ */
193
+ public static var saplingActivationHeight: BlockHeight = 419_200
194
+
195
+ /**
196
+ Default Name for LibRustZcash data.db
197
+ */
198
+ public static var defaultDataDbName = "data.db"
199
+
200
+ /**
201
+ Default Name for Compact Block caches db
202
+ */
203
+ public static var defaultCacheDbName = "caches.db"
204
+
205
+ /**
206
+ Default name for pending transactions db
207
+ */
208
+ public static var defaultPendingDbName = "pending.db"
209
+
210
+ public static var defaultDbNamePrefix = "ZcashSdk_mainnet_"
211
+
212
+ public static var feeChangeHeight: BlockHeight = 1_077_550
213
+ }
214
+
215
+ public class ZcashSDKTestnetConstants: NetworkConstants {
216
+ private init() {}
217
+
218
+ /**
219
+ The height of the first sapling block. When it comes to shielded transactions, we do not need to consider any blocks
220
+ prior to this height, at all.
221
+ */
222
+ public static var saplingActivationHeight: BlockHeight = 280_000
223
+
224
+ /**
225
+ Default Name for LibRustZcash data.db
226
+ */
227
+ public static var defaultDataDbName = "data.db"
228
+
229
+ /**
230
+ Default Name for Compact Block caches db
231
+ */
232
+ public static var defaultCacheDbName = "caches.db"
233
+
234
+ /**
235
+ Default name for pending transactions db
236
+ */
237
+ public static var defaultPendingDbName = "pending.db"
238
+
239
+ public static var defaultDbNamePrefix = "ZcashSdk_testnet_"
240
+
241
+ /**
242
+ Estimated height where wallets are supposed to change the fee
243
+ */
244
+ public static var feeChangeHeight: BlockHeight = 1_028_500
245
+ }
@@ -0,0 +1,67 @@
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 block(at height: BlockHeight) throws -> Block?
15
+ }
16
+
17
+ struct Block: Codable {
18
+ enum CodingKeys: String, CodingKey {
19
+ case height
20
+ case hash
21
+ case time
22
+ case saplingTree = "sapling_tree"
23
+ }
24
+
25
+ enum TableStructure {
26
+ static var height = Expression<Int>(Block.CodingKeys.height.rawValue)
27
+ static var hash = Expression<Blob>(Block.CodingKeys.hash.rawValue)
28
+ static var time = Expression<Int>(Block.CodingKeys.time.rawValue)
29
+ static var saplingTree = Expression<Blob>(Block.CodingKeys.saplingTree.rawValue)
30
+ }
31
+
32
+ var height: BlockHeight
33
+ var hash: Data
34
+ var time: Int
35
+ var saplingTree: Data
36
+
37
+ static var table = Table("blocks")
38
+ }
39
+
40
+ class BlockSQLDAO: BlockDao {
41
+ var dbProvider: ConnectionProvider
42
+ var table: Table
43
+ var height = Expression<Int>("height")
44
+
45
+ init(dbProvider: ConnectionProvider) {
46
+ self.dbProvider = dbProvider
47
+ self.table = Table("Blocks")
48
+ }
49
+
50
+ func block(at height: BlockHeight) throws -> Block? {
51
+ try dbProvider
52
+ .connection()
53
+ .prepare(Block.table.filter(Block.TableStructure.height == height).limit(1))
54
+ .map({ try $0.decode() })
55
+ .first
56
+ }
57
+
58
+ func latestBlockHeight() throws -> BlockHeight {
59
+ try dbProvider.connection().scalar(table.select(height.max)) ?? BlockHeight.empty()
60
+ }
61
+ }
62
+
63
+ extension BlockSQLDAO: BlockRepository {
64
+ func lastScannedBlockHeight() -> BlockHeight {
65
+ (try? self.latestBlockHeight()) ?? BlockHeight.empty()
66
+ }
67
+ }
@@ -0,0 +1,24 @@
1
+ //
2
+ // CompactBlockDAO.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
+
11
+ protocol CompactBlockDAO {
12
+ func createTable() throws
13
+
14
+ func insert(_ block: ZcashCompactBlock) throws
15
+
16
+ func insert(_ blocks: [ZcashCompactBlock]) throws
17
+
18
+ /**
19
+ Query the latest block height, returns -1 if no block is stored
20
+ */
21
+ func latestBlockHeight() throws -> BlockHeight
22
+
23
+ func rewind(to height: BlockHeight) throws
24
+ }
@@ -0,0 +1,142 @@
1
+ //
2
+ // NotesDao.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/18/19.
6
+ //
7
+
8
+ import Foundation
9
+ import SQLite
10
+
11
+ struct ReceivedNote: ReceivedNoteEntity, Codable {
12
+ enum CodingKeys: String, CodingKey {
13
+ case id = "id_note"
14
+ case diversifier
15
+ case rcm
16
+ case nf
17
+ case isChange = "is_change"
18
+ case transactionId = "id_tx"
19
+ case outputIndex = "output_index"
20
+ case account
21
+ case value
22
+ case memo
23
+ case spent
24
+ }
25
+ var id: Int
26
+ var diversifier: Data
27
+ var rcm: Data
28
+ var nf: Data
29
+ var isChange: Bool
30
+ var transactionId: Int
31
+ var outputIndex: Int
32
+ var account: Int
33
+ var value: Int
34
+ var memo: Data?
35
+ var spent: Int?
36
+ }
37
+
38
+ class ReceivedNotesSQLDAO: ReceivedNoteRepository {
39
+ let table = Table("received_notes")
40
+
41
+ var dbProvider: ConnectionProvider
42
+
43
+ init(dbProvider: ConnectionProvider) {
44
+ self.dbProvider = dbProvider
45
+ }
46
+
47
+ func count() throws -> Int {
48
+ try dbProvider.connection().scalar(table.count)
49
+ }
50
+
51
+ func receivedNote(byRawTransactionId: Data) throws -> ReceivedNoteEntity? {
52
+ let transactions = Table("transactions")
53
+ let idTx = Expression<Int>("id_tx")
54
+ let transaction = Expression<Int>("tx")
55
+ let txid = Expression<Blob>("txid")
56
+ let joinStatement = table
57
+ .join(
58
+ .inner,
59
+ transactions,
60
+ on: transactions[idTx] == table[transaction]
61
+ )
62
+ .where(transactions[txid] == Blob(bytes: byRawTransactionId.bytes))
63
+ .limit(1)
64
+
65
+ return try dbProvider.connection()
66
+ .prepare(joinStatement)
67
+ .map { row -> ReceivedNote in
68
+ try row.decode()
69
+ }
70
+ .first
71
+ }
72
+ }
73
+
74
+ struct SentNote: SentNoteEntity, Codable {
75
+ enum CodingKeys: String, CodingKey {
76
+ case id = "id_note"
77
+ case transactionId = "tx"
78
+ case outputIndex = "output_index"
79
+ case account = "from_account"
80
+ case address
81
+ case value
82
+ case memo
83
+ }
84
+
85
+ var id: Int
86
+ var transactionId: Int
87
+ var outputIndex: Int
88
+ var account: Int
89
+ var address: String
90
+ var value: Int
91
+ var memo: Data?
92
+ }
93
+
94
+ class SentNotesSQLDAO: SentNotesRepository {
95
+ let table = Table("sent_notes")
96
+
97
+ var dbProvider: ConnectionProvider
98
+
99
+ init(dbProvider: ConnectionProvider) {
100
+ self.dbProvider = dbProvider
101
+ }
102
+
103
+ func count() throws -> Int {
104
+ try dbProvider.connection().scalar(table.count)
105
+ }
106
+
107
+ func sentNote(byRawTransactionId: Data) throws -> SentNoteEntity? {
108
+ let transactions = Table("transactions")
109
+ let idTx = Expression<Int>("id_tx")
110
+ let transaction = Expression<Int>("tx")
111
+ let txid = Expression<Blob>("txid")
112
+ let joinStatement = table
113
+ .join(
114
+ .inner,
115
+ transactions,
116
+ on: transactions[idTx] == table[transaction]
117
+ )
118
+ .where(transactions[txid] == Blob(bytes: byRawTransactionId.bytes))
119
+ .limit(1)
120
+
121
+ return try dbProvider.connection()
122
+ .prepare(joinStatement)
123
+ .map { row -> SentNote in
124
+ try row.decode()
125
+ }
126
+ .first
127
+ // try dbProvider.connection().run("""
128
+ // SELECT sent_notes.id_note as id,
129
+ // sent_notes.tx as transactionId,
130
+ // sent_notes.output_index as outputIndex,
131
+ // sent_notes.account as account,
132
+ // sent_notes.address as address,
133
+ // sent_notes.value as value,
134
+ // sent_notes.memo as memo
135
+ // FROM sent_note JOIN transactions
136
+ // WHERE sent_note.tx = transactions.id_tx AND
137
+ // transactions.txid = \(Blob(bytes: byRawTransactionId.bytes))
138
+ // """).map({ row -> SentNoteEntity in
139
+ // try row.decode()
140
+ // }).first
141
+ }
142
+ }
@@ -0,0 +1,62 @@
1
+ //
2
+ // File.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 12/9/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ class PagedTransactionDAO: PaginatedTransactionRepository {
11
+ var pageSize: Int
12
+ var transactionRepository: TransactionRepository
13
+ var kind: TransactionKind
14
+
15
+ var pageCount: Int {
16
+ guard pageSize > 0 else {
17
+ return 0
18
+ }
19
+ return itemCount / pageSize
20
+ }
21
+
22
+ var itemCount: Int {
23
+ guard let count = try? transactionRepository.countAll() else {
24
+ return 0
25
+ }
26
+ return count
27
+ }
28
+
29
+ init(repository: TransactionRepository, pageSize: Int = 30, kind: TransactionKind = .all) {
30
+ self.transactionRepository = repository
31
+ self.pageSize = pageSize
32
+ self.kind = kind
33
+ }
34
+
35
+ func getAll(offset: Int, limit: Int, kind: TransactionKind) throws -> [ConfirmedTransactionEntity]? {
36
+ switch kind {
37
+ case .all:
38
+ return try transactionRepository.findAll(offset: offset, limit: limit)
39
+ case .received:
40
+ return try transactionRepository.findAll(offset: offset, limit: limit)
41
+ case .sent:
42
+ return try transactionRepository.findAllSentTransactions(offset: offset, limit: limit)
43
+ }
44
+ }
45
+
46
+ func page(_ number: Int) throws -> [TransactionEntity]? {
47
+ let offset = number * pageSize
48
+ guard offset < itemCount else { return nil }
49
+ return try getAll(offset: offset, limit: pageSize, kind: kind)?.map({ $0.transactionEntity })
50
+ }
51
+
52
+ func page(_ number: Int, result: @escaping (Result<[TransactionEntity]?, Error>) -> Void) {
53
+ DispatchQueue.global(qos: .userInitiated).async { [weak self] in
54
+ guard let self = self else { return }
55
+ do {
56
+ result(.success(try self.page(number)))
57
+ } catch {
58
+ result(.failure(error))
59
+ }
60
+ }
61
+ }
62
+ }