react-native-zcash 0.3.4 → 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 (427) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +22 -0
  3. package/README.md +44 -44
  4. package/android/build.gradle +1 -1
  5. package/ios/RNZcash.m +0 -1
  6. package/ios/RNZcash.swift +14 -15
  7. package/ios/ZCashLightClientKit/Block/DatabaseStorage/CompactBlockStorage.swift +123 -0
  8. package/ios/ZCashLightClientKit/Block/DatabaseStorage/DatabaseMigrationManager.swift +222 -0
  9. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageError.swift +22 -0
  10. package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageManager.swift +73 -0
  11. package/ios/ZCashLightClientKit/Block/Downloader/BlockDownloader.swift +240 -0
  12. package/ios/ZCashLightClientKit/Block/Downloader/CompactBlockDownloaderBuilder.swift +26 -0
  13. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockDownloadOperation.swift +258 -0
  14. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockEnhancementOperation.swift +157 -0
  15. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockProcessor.swift +1454 -0
  16. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockScanningOperation.swift +238 -0
  17. package/ios/ZCashLightClientKit/Block/Processor/CompactBlockValidationInformation.swift +66 -0
  18. package/ios/ZCashLightClientKit/Block/Processor/FetchUnspentTxOutputsOperation.swift +103 -0
  19. package/ios/ZCashLightClientKit/Block/Processor/FigureNextBatchOperation.swift +58 -0
  20. package/ios/ZCashLightClientKit/Block/Processor/ZcashOperation.swift +68 -0
  21. package/ios/ZCashLightClientKit/Constants/WalletBirthday+Constants.swift +58 -0
  22. package/ios/ZCashLightClientKit/Constants/WalletBirthday+mainnet.swift +20 -0
  23. package/ios/ZCashLightClientKit/Constants/WalletBirthday+testnet.swift +20 -0
  24. package/ios/ZCashLightClientKit/Constants/ZcashSDK.swift +245 -0
  25. package/ios/ZCashLightClientKit/DAO/BlockDao.swift +67 -0
  26. package/ios/ZCashLightClientKit/DAO/CompactBlockDAO.swift +24 -0
  27. package/ios/ZCashLightClientKit/DAO/NotesDao.swift +142 -0
  28. package/ios/ZCashLightClientKit/DAO/PagedTransactionDao.swift +62 -0
  29. package/ios/ZCashLightClientKit/DAO/PendingTransactionDao.swift +213 -0
  30. package/ios/ZCashLightClientKit/DAO/TransactionBuilder.swift +169 -0
  31. package/ios/ZCashLightClientKit/DAO/TransactionDao.swift +393 -0
  32. package/ios/ZCashLightClientKit/DAO/UnspentTransactionOutputDao.swift +188 -0
  33. package/ios/ZCashLightClientKit/Entity/AccountEntity.swift +201 -0
  34. package/ios/ZCashLightClientKit/Entity/CompactBlockEntity.swift +13 -0
  35. package/ios/ZCashLightClientKit/Entity/EncodedTransactionEntity.swift +26 -0
  36. package/ios/ZCashLightClientKit/Entity/PendingTransactionEntity.swift +205 -0
  37. package/ios/ZCashLightClientKit/Entity/ReceivedNoteEntity.swift +22 -0
  38. package/ios/ZCashLightClientKit/Entity/SentNoteEntity.swift +45 -0
  39. package/ios/ZCashLightClientKit/Entity/TransactionEntity.swift +161 -0
  40. package/ios/ZCashLightClientKit/Entity/UnspentTransactionOutputEntity.swift +17 -0
  41. package/ios/ZCashLightClientKit/Extensions/Data+Zcash.swift +17 -0
  42. package/ios/ZCashLightClientKit/Extensions/Data+internal.swift +35 -0
  43. package/ios/ZCashLightClientKit/Extensions/HexEncode.swift +41 -0
  44. package/ios/ZCashLightClientKit/Extensions/ZcashRust+Utils.swift +26 -0
  45. package/ios/ZCashLightClientKit/Extensions/ZcashSDK+extensions.swift +34 -0
  46. package/ios/ZCashLightClientKit/Initializer.swift +357 -0
  47. package/ios/ZCashLightClientKit/Model/WalletTypes.swift +108 -0
  48. package/ios/ZCashLightClientKit/Providers/ResourceProvider.swift +47 -0
  49. package/ios/ZCashLightClientKit/Repository/BlockRepository.swift +13 -0
  50. package/ios/ZCashLightClientKit/Repository/CompactBlockRepository.swift +75 -0
  51. package/ios/ZCashLightClientKit/Repository/NotesRepository.swift +16 -0
  52. package/ios/ZCashLightClientKit/Repository/PaginatedTransactionRepository.swift +35 -0
  53. package/ios/ZCashLightClientKit/Repository/PendingTransactionRepository.swift +19 -0
  54. package/ios/ZCashLightClientKit/Repository/TransactionRepository.swift +30 -0
  55. package/ios/ZCashLightClientKit/Repository/TransactionRepositoryBuilder.swift +24 -0
  56. package/ios/ZCashLightClientKit/Repository/UnspentTransactionOutputRepository.swift +18 -0
  57. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1000000.json +7 -0
  58. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1010000.json +7 -0
  59. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1020000.json +7 -0
  60. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1030000.json +7 -0
  61. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1040000.json +7 -0
  62. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1050000.json +7 -0
  63. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1060000.json +7 -0
  64. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1070000.json +7 -0
  65. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1080000.json +7 -0
  66. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1090000.json +7 -0
  67. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1100000.json +7 -0
  68. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1110000.json +7 -0
  69. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1120000.json +7 -0
  70. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1130000.json +7 -0
  71. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1140000.json +7 -0
  72. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1150000.json +7 -0
  73. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1160000.json +7 -0
  74. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1170000.json +7 -0
  75. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1180000.json +7 -0
  76. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1190000.json +7 -0
  77. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1200000.json +7 -0
  78. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1210000.json +7 -0
  79. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1220000.json +7 -0
  80. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1230000.json +7 -0
  81. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1240000.json +7 -0
  82. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1250000.json +7 -0
  83. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1260000.json +7 -0
  84. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1270000.json +7 -0
  85. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1280000.json +7 -0
  86. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1290000.json +7 -0
  87. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1300000.json +7 -0
  88. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1310000.json +7 -0
  89. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1320000.json +7 -0
  90. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1330000.json +7 -0
  91. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1340000.json +7 -0
  92. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1350000.json +7 -0
  93. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1360000.json +7 -0
  94. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1370000.json +7 -0
  95. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1380000.json +7 -0
  96. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1390000.json +7 -0
  97. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1400000.json +7 -0
  98. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1410000.json +7 -0
  99. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1420000.json +7 -0
  100. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1430000.json +7 -0
  101. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1440000.json +7 -0
  102. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1450000.json +7 -0
  103. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1460000.json +7 -0
  104. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1470000.json +7 -0
  105. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1480000.json +7 -0
  106. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1490000.json +7 -0
  107. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1500000.json +7 -0
  108. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1510000.json +7 -0
  109. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1520000.json +7 -0
  110. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1530000.json +7 -0
  111. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1540000.json +7 -0
  112. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1550000.json +7 -0
  113. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1560000.json +7 -0
  114. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1570000.json +7 -0
  115. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1580000.json +7 -0
  116. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1590000.json +7 -0
  117. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1600000.json +7 -0
  118. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1610000.json +7 -0
  119. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1620000.json +7 -0
  120. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1630000.json +7 -0
  121. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1640000.json +7 -0
  122. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1650000.json +7 -0
  123. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1660000.json +7 -0
  124. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1670000.json +7 -0
  125. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1680000.json +7 -0
  126. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1690000.json +7 -0
  127. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1700000.json +7 -0
  128. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1710000.json +7 -0
  129. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1720000.json +7 -0
  130. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1730000.json +7 -0
  131. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1740000.json +7 -0
  132. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1750000.json +7 -0
  133. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1760000.json +7 -0
  134. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1770000.json +7 -0
  135. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1780000.json +7 -0
  136. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1790000.json +7 -0
  137. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1800000.json +7 -0
  138. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1810000.json +7 -0
  139. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1820000.json +7 -0
  140. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1830000.json +7 -0
  141. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1840000.json +7 -0
  142. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1850000.json +7 -0
  143. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1860000.json +7 -0
  144. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1870000.json +7 -0
  145. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1880000.json +7 -0
  146. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1890000.json +7 -0
  147. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1900000.json +7 -0
  148. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1910000.json +7 -0
  149. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1920000.json +7 -0
  150. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1930000.json +7 -0
  151. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1940000.json +7 -0
  152. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1950000.json +7 -0
  153. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1960000.json +7 -0
  154. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1970000.json +7 -0
  155. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1980000.json +7 -0
  156. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1990000.json +7 -0
  157. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2000000.json +7 -0
  158. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2010000.json +7 -0
  159. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2020000.json +7 -0
  160. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2030000.json +7 -0
  161. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2040000.json +7 -0
  162. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2050000.json +7 -0
  163. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2060000.json +7 -0
  164. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2070000.json +7 -0
  165. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2080000.json +7 -0
  166. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2090000.json +7 -0
  167. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2100000.json +7 -0
  168. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2110000.json +7 -0
  169. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2120000.json +7 -0
  170. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2130000.json +7 -0
  171. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2140000.json +7 -0
  172. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2150000.json +7 -0
  173. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2160000.json +7 -0
  174. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2170000.json +7 -0
  175. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/419200.json +7 -0
  176. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/500000.json +7 -0
  177. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/510000.json +7 -0
  178. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/520000.json +7 -0
  179. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/530000.json +7 -0
  180. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/540000.json +7 -0
  181. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/550000.json +7 -0
  182. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/560000.json +7 -0
  183. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/570000.json +7 -0
  184. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/580000.json +7 -0
  185. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/590000.json +7 -0
  186. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/600000.json +7 -0
  187. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/610000.json +7 -0
  188. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/620000.json +7 -0
  189. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/630000.json +7 -0
  190. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/640000.json +7 -0
  191. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/650000.json +7 -0
  192. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/660000.json +7 -0
  193. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/663150.json +8 -0
  194. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/670000.json +7 -0
  195. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/680000.json +7 -0
  196. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/690000.json +7 -0
  197. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/700000.json +7 -0
  198. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/710000.json +7 -0
  199. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/720000.json +7 -0
  200. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/730000.json +7 -0
  201. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/740000.json +7 -0
  202. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/750000.json +7 -0
  203. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/760000.json +7 -0
  204. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/770000.json +7 -0
  205. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/780000.json +7 -0
  206. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/790000.json +7 -0
  207. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/800000.json +7 -0
  208. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/810000.json +7 -0
  209. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/820000.json +7 -0
  210. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/830000.json +7 -0
  211. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/840000.json +7 -0
  212. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/850000.json +7 -0
  213. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/860000.json +7 -0
  214. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/870000.json +7 -0
  215. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/880000.json +7 -0
  216. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/890000.json +7 -0
  217. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/900000.json +7 -0
  218. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/910000.json +7 -0
  219. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/920000.json +7 -0
  220. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/930000.json +7 -0
  221. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/940000.json +7 -0
  222. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/950000.json +7 -0
  223. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/960000.json +7 -0
  224. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/970000.json +7 -0
  225. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/980000.json +7 -0
  226. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/990000.json +7 -0
  227. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1000000.json +7 -0
  228. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1010000.json +7 -0
  229. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1020000.json +7 -0
  230. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1030000.json +7 -0
  231. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1040000.json +7 -0
  232. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1050000.json +7 -0
  233. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1060000.json +7 -0
  234. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1070000.json +7 -0
  235. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1080000.json +7 -0
  236. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1090000.json +7 -0
  237. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1100000.json +7 -0
  238. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1110000.json +7 -0
  239. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1120000.json +7 -0
  240. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1130000.json +7 -0
  241. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1140000.json +7 -0
  242. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1150000.json +7 -0
  243. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1160000.json +7 -0
  244. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1170000.json +7 -0
  245. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1180000.json +7 -0
  246. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1190000.json +7 -0
  247. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1200000.json +7 -0
  248. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1210000.json +7 -0
  249. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1220000.json +7 -0
  250. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1230000.json +7 -0
  251. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1240000.json +7 -0
  252. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1250000.json +7 -0
  253. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1260000.json +7 -0
  254. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1270000.json +7 -0
  255. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1280000.json +7 -0
  256. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1290000.json +7 -0
  257. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1300000.json +7 -0
  258. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1310000.json +7 -0
  259. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1320000.json +7 -0
  260. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1330000.json +7 -0
  261. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1340000.json +7 -0
  262. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1350000.json +7 -0
  263. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1360000.json +7 -0
  264. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1370000.json +7 -0
  265. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1380000.json +7 -0
  266. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1390000.json +7 -0
  267. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1400000.json +7 -0
  268. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1410000.json +7 -0
  269. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1420000.json +7 -0
  270. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1430000.json +7 -0
  271. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1440000.json +7 -0
  272. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1450000.json +7 -0
  273. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1460000.json +7 -0
  274. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1470000.json +7 -0
  275. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1480000.json +7 -0
  276. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1490000.json +7 -0
  277. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1500000.json +7 -0
  278. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1510000.json +7 -0
  279. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1520000.json +7 -0
  280. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1530000.json +7 -0
  281. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1540000.json +7 -0
  282. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1550000.json +7 -0
  283. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1560000.json +7 -0
  284. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1570000.json +7 -0
  285. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1580000.json +7 -0
  286. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1590000.json +7 -0
  287. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1600000.json +7 -0
  288. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1610000.json +7 -0
  289. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1620000.json +7 -0
  290. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1630000.json +7 -0
  291. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1640000.json +7 -0
  292. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1650000.json +7 -0
  293. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1660000.json +7 -0
  294. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1670000.json +7 -0
  295. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1680000.json +7 -0
  296. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1690000.json +7 -0
  297. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1700000.json +7 -0
  298. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1710000.json +7 -0
  299. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1720000.json +7 -0
  300. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1730000.json +7 -0
  301. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1740000.json +7 -0
  302. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1750000.json +7 -0
  303. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1760000.json +7 -0
  304. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1770000.json +7 -0
  305. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1780000.json +7 -0
  306. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1790000.json +7 -0
  307. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1800000.json +7 -0
  308. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1810000.json +7 -0
  309. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1820000.json +7 -0
  310. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1830000.json +7 -0
  311. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1840000.json +7 -0
  312. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1850000.json +7 -0
  313. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1860000.json +7 -0
  314. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/280000.json +7 -0
  315. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/290000.json +7 -0
  316. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/300000.json +7 -0
  317. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/310000.json +7 -0
  318. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/320000.json +7 -0
  319. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/330000.json +7 -0
  320. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/340000.json +7 -0
  321. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/350000.json +7 -0
  322. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/360000.json +7 -0
  323. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/370000.json +7 -0
  324. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/380000.json +7 -0
  325. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/390000.json +7 -0
  326. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/400000.json +7 -0
  327. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/410000.json +7 -0
  328. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/420000.json +7 -0
  329. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/430000.json +7 -0
  330. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/440000.json +7 -0
  331. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/450000.json +7 -0
  332. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/460000.json +7 -0
  333. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/470000.json +7 -0
  334. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/480000.json +7 -0
  335. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/490000.json +7 -0
  336. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/500000.json +7 -0
  337. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/510000.json +7 -0
  338. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/520000.json +7 -0
  339. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/530000.json +7 -0
  340. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/540000.json +7 -0
  341. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/550000.json +7 -0
  342. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/560000.json +7 -0
  343. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/570000.json +7 -0
  344. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/580000.json +7 -0
  345. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/590000.json +7 -0
  346. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/600000.json +7 -0
  347. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/610000.json +7 -0
  348. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/620000.json +7 -0
  349. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/630000.json +7 -0
  350. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/640000.json +7 -0
  351. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/650000.json +7 -0
  352. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/660000.json +7 -0
  353. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/670000.json +7 -0
  354. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/680000.json +7 -0
  355. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/690000.json +7 -0
  356. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/700000.json +7 -0
  357. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/710000.json +7 -0
  358. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/720000.json +7 -0
  359. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/730000.json +7 -0
  360. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/740000.json +7 -0
  361. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/750000.json +7 -0
  362. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/760000.json +7 -0
  363. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/770000.json +7 -0
  364. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/780000.json +7 -0
  365. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/790000.json +7 -0
  366. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/800000.json +7 -0
  367. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/810000.json +7 -0
  368. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/820000.json +7 -0
  369. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/830000.json +7 -0
  370. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/840000.json +7 -0
  371. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/850000.json +7 -0
  372. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/860000.json +7 -0
  373. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/870000.json +7 -0
  374. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/880000.json +7 -0
  375. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/890000.json +7 -0
  376. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/900000.json +7 -0
  377. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/910000.json +7 -0
  378. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/920000.json +7 -0
  379. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/930000.json +7 -0
  380. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/940000.json +7 -0
  381. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/950000.json +7 -0
  382. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/960000.json +7 -0
  383. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/970000.json +7 -0
  384. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/980000.json +7 -0
  385. package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/990000.json +7 -0
  386. package/ios/ZCashLightClientKit/Rust/ZcashRustBackend.swift +718 -0
  387. package/ios/ZCashLightClientKit/Rust/ZcashRustBackendWelding.swift +389 -0
  388. package/ios/ZCashLightClientKit/Rust/zcashlc.h +385 -0
  389. package/ios/ZCashLightClientKit/Service/LightWalletGRPCService.swift +551 -0
  390. package/ios/ZCashLightClientKit/Service/LightWalletService.swift +214 -0
  391. package/ios/ZCashLightClientKit/Service/Model/ZcashCompactBlock.swift +46 -0
  392. package/ios/ZCashLightClientKit/Service/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +50 -0
  393. package/ios/ZCashLightClientKit/Service/ProtoBuf/compact_formats.pb.swift +332 -0
  394. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/compact_formats.proto +56 -0
  395. package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/service.proto +180 -0
  396. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.grpc.swift +383 -0
  397. package/ios/ZCashLightClientKit/Service/ProtoBuf/service.pb.swift +1173 -0
  398. package/ios/ZCashLightClientKit/Synchronizer/SDKSynchronizer.swift +929 -0
  399. package/ios/ZCashLightClientKit/Synchronizer.swift +430 -0
  400. package/ios/ZCashLightClientKit/Tool/DerivationTool.swift +344 -0
  401. package/ios/ZCashLightClientKit/Transaction/PersistentTransactionManager.swift +339 -0
  402. package/ios/ZCashLightClientKit/Transaction/TransactionEncoder.swift +116 -0
  403. package/ios/ZCashLightClientKit/Transaction/TransactionManager.swift +42 -0
  404. package/ios/ZCashLightClientKit/Transaction/WalletTransactionEncoder.swift +216 -0
  405. package/ios/ZCashLightClientKit/Utils/Bundle+module.swift +30 -0
  406. package/ios/ZCashLightClientKit/Utils/LoggingProxy.swift +47 -0
  407. package/ios/ZCashLightClientKit/Utils/SaplingParameterDownloader.swift +124 -0
  408. package/ios/libzcashlc.xcframework/Info.plist +40 -0
  409. package/ios/libzcashlc.xcframework/ios-arm64/libzcashlc.a +0 -0
  410. package/ios/libzcashlc.xcframework/ios-arm64_x86_64-simulator/libzcashlc.a +0 -0
  411. package/ios/react-native-zcash-Bridging-Header.h +2 -0
  412. package/ios/react-native-zcash.xcodeproj/project.pbxproj +1 -0
  413. package/lib/scripts/copyCheckpoints.d.ts +5 -0
  414. package/lib/scripts/updateSources.d.ts +1 -0
  415. package/package.json +20 -37
  416. package/react-native-zcash.podspec +17 -7
  417. package/ios/RNZcash-Bridging-Header.h +0 -6
  418. package/ios/RNZcash.xcodeproj/project.pbxproj +0 -271
  419. package/ios/RNZcash.xcworkspace/contents.xcworkspacedata +0 -7
  420. package/ios/RNZcash.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  421. package/lib/src/browser.d.ts +0 -0
  422. package/lib/src/index.d.ts +0 -0
  423. package/lib/test/test.test.d.ts +0 -0
  424. package/scripts/copyCheckpoints.js +0 -12
  425. package/src/browser.ts +0 -36
  426. package/src/index.flow.js +0 -168
  427. package/src/index.ts +0 -1
@@ -0,0 +1,201 @@
1
+ //
2
+ // AccountEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/14/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ protocol AccountEntity {
11
+ var account: Int { get set }
12
+ var extfvk: String { get set }
13
+ var address: String { get set }
14
+ var transparentAddress: String { get set }
15
+ }
16
+
17
+ struct Account: AccountEntity, Encodable, Decodable {
18
+ enum CodingKeys: String, CodingKey {
19
+ case account
20
+ case extfvk
21
+ case address
22
+ case transparentAddress = "transparent_address"
23
+ }
24
+
25
+ var account: Int
26
+
27
+ var extfvk: String
28
+
29
+ var address: String
30
+
31
+ var transparentAddress: String
32
+ }
33
+
34
+ extension Account: UnifiedAddress {
35
+ var tAddress: TransparentAddress {
36
+ get {
37
+ transparentAddress
38
+ }
39
+ set {
40
+ transparentAddress = newValue
41
+ }
42
+ }
43
+
44
+ var zAddress: SaplingShieldedAddress {
45
+ get {
46
+ address
47
+ }
48
+ // swiftlint:disable unused_setter_value
49
+ set {
50
+ address = transparentAddress
51
+ }
52
+ }
53
+ }
54
+
55
+ extension Account: Hashable {
56
+ func hash(into hasher: inout Hasher) {
57
+ hasher.combine(account)
58
+ hasher.combine(extfvk)
59
+ hasher.combine(address)
60
+ hasher.combine(transparentAddress)
61
+ }
62
+
63
+ static func == (lhs: Self, rhs: Self) -> Bool {
64
+ guard
65
+ lhs.account == rhs.account,
66
+ lhs.extfvk == rhs.extfvk,
67
+ lhs.address == rhs.address,
68
+ lhs.transparentAddress == rhs.transparentAddress
69
+ else { return false }
70
+
71
+ return true
72
+ }
73
+ }
74
+
75
+ protocol AccountRepository {
76
+ func getAll() throws -> [AccountEntity]
77
+ func findBy(account: Int) throws -> AccountEntity?
78
+ func findBy(address: String) throws -> AccountEntity?
79
+ func update(_ account: AccountEntity) throws
80
+ }
81
+
82
+ import SQLite
83
+
84
+ class AccountSQDAO: AccountRepository {
85
+ enum TableColums {
86
+ static let account = Expression<Int>("account")
87
+ static let extfvk = Expression<String>("extfvk")
88
+ static let address = Expression<String>("address")
89
+ static let transparentAddress = Expression<String>("transparent_address")
90
+ }
91
+
92
+ let table = Table("accounts")
93
+
94
+ var dbProvider: ConnectionProvider
95
+
96
+ init (dbProvider: ConnectionProvider) {
97
+ self.dbProvider = dbProvider
98
+ }
99
+
100
+ func getAll() throws -> [AccountEntity] {
101
+ let allAccounts: [Account] = try dbProvider.connection().prepare(table).map({ row in
102
+ try row.decode()
103
+ })
104
+
105
+ return allAccounts
106
+ }
107
+
108
+ func findBy(account: Int) throws -> AccountEntity? {
109
+ let query = table.filter(TableColums.account == account).limit(1)
110
+ return try dbProvider.connection().prepare(query).map({ try $0.decode() as Account }).first
111
+ }
112
+
113
+ func findBy(address: String) throws -> AccountEntity? {
114
+ let query = table.filter(TableColums.address == address).limit(1)
115
+ return try dbProvider.connection().prepare(query).map({ try $0.decode() as Account }).first
116
+ }
117
+
118
+ func update(_ account: AccountEntity) throws {
119
+ guard let acc = account as? Account else {
120
+ throw StorageError.updateFailed
121
+ }
122
+ let updatedRows = try dbProvider.connection().run(table.filter(TableColums.account == acc.account).update(acc))
123
+ if updatedRows == 0 {
124
+ LoggerProxy.error("attempted to update pending transactions but no rows were updated")
125
+ throw StorageError.updateFailed
126
+ }
127
+ }
128
+ }
129
+
130
+ class CachingAccountDao: AccountRepository {
131
+ var dao: AccountRepository
132
+ lazy var cache: [Int: AccountEntity] = {
133
+ var accountCache: [Int: AccountEntity] = [:]
134
+ guard let all = try? dao.getAll() else {
135
+ return accountCache
136
+ }
137
+
138
+ for acc in all {
139
+ accountCache[acc.account] = acc
140
+ }
141
+
142
+ return accountCache
143
+ }()
144
+
145
+ init(dao: AccountRepository) {
146
+ self.dao = dao
147
+ }
148
+
149
+ func getAll() throws -> [AccountEntity] {
150
+ guard cache.isEmpty else {
151
+ return cache.values.sorted(by: { $0.account < $1.account })
152
+ }
153
+
154
+ let all = try dao.getAll()
155
+
156
+ for acc in all {
157
+ cache[acc.account] = acc
158
+ }
159
+
160
+ return all
161
+ }
162
+
163
+ func findBy(account: Int) throws -> AccountEntity? {
164
+ if let acc = cache[account] {
165
+ return acc
166
+ }
167
+
168
+ let acc = try dao.findBy(account: account)
169
+ cache[account] = acc
170
+
171
+ return acc
172
+ }
173
+
174
+ func findBy(address: String) throws -> AccountEntity? {
175
+ if !cache.isEmpty, let account = cache.values.first(where: { $0.address == address }) {
176
+ return account
177
+ }
178
+
179
+ guard let account = try dao.findBy(address: address) else {
180
+ return nil
181
+ }
182
+
183
+ cache[account.account] = account
184
+
185
+ return account
186
+ }
187
+
188
+ func update(_ account: AccountEntity) throws {
189
+ try dao.update(account)
190
+ }
191
+ }
192
+
193
+ enum AccountRepositoryBuilder {
194
+ static func build(dataDbURL: URL, readOnly: Bool = false, caching: Bool = false) -> AccountRepository {
195
+ if caching {
196
+ return CachingAccountDao(dao: AccountSQDAO(dbProvider: SimpleConnectionProvider(path: dataDbURL.path, readonly: readOnly)))
197
+ } else {
198
+ return AccountSQDAO(dbProvider: SimpleConnectionProvider(path: dataDbURL.path, readonly: readOnly))
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,13 @@
1
+ //
2
+ // CompactBlockEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/16/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ protocol CompactBlockEntity {
11
+ var height: BlockHeight { get set }
12
+ var data: Data { get set }
13
+ }
@@ -0,0 +1,26 @@
1
+ //
2
+ // EncodedTransactionEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/19/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ struct EncodedTransaction: SignedTransactionEntity {
11
+ var transactionId: Data
12
+ var raw: Data?
13
+ }
14
+
15
+ extension EncodedTransaction: Hashable {
16
+ func hash(into hasher: inout Hasher) {
17
+ hasher.combine(transactionId)
18
+ hasher.combine(raw)
19
+ }
20
+
21
+ static func == (lhs: Self, rhs: Self) -> Bool {
22
+ guard lhs.transactionId == rhs.transactionId else { return false }
23
+ guard lhs.raw == rhs.raw else { return false }
24
+ return true
25
+ }
26
+ }
@@ -0,0 +1,205 @@
1
+ //
2
+ // PendingTransactionEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/19/19.
6
+ //
7
+
8
+ import Foundation
9
+ /**
10
+ Represents a sent transaction that has not been confirmed yet on the blockchain
11
+ */
12
+ public protocol PendingTransactionEntity: SignedTransactionEntity, AbstractTransaction, RawIdentifiable {
13
+ /**
14
+ recipient address
15
+ */
16
+ var toAddress: String { get set }
17
+
18
+ /**
19
+ index of the account from which the funds were sent
20
+ */
21
+ var accountIndex: Int { get set }
22
+
23
+ /**
24
+ height which the block was mined at.
25
+ -1 when block has not been mined yet
26
+ */
27
+ var minedHeight: BlockHeight { get set }
28
+
29
+ /**
30
+ height for which the represented transaction would be considered expired
31
+ */
32
+ var expiryHeight: BlockHeight { get set }
33
+
34
+ /**
35
+ value is 1 if the transaction was cancelled
36
+ */
37
+ var cancelled: Int { get set }
38
+
39
+ /**
40
+ how many times this transaction encoding was attempted
41
+ */
42
+ var encodeAttempts: Int { get set }
43
+
44
+ /**
45
+ How many attempts to send this transaction have been done
46
+ */
47
+ var submitAttempts: Int { get set }
48
+
49
+ /**
50
+ Error message if available.
51
+ */
52
+ var errorMessage: String? { get set }
53
+
54
+ /**
55
+ error code, if available
56
+ */
57
+ var errorCode: Int? { get set }
58
+
59
+ /**
60
+ create time of the represented transaction
61
+
62
+ - Note: represented in timeIntervalySince1970
63
+ */
64
+ var createTime: TimeInterval { get set }
65
+
66
+ /**
67
+ Checks whether this transaction is the same as the given transaction
68
+ */
69
+ func isSameTransactionId<T: RawIdentifiable> (other: T) -> Bool
70
+
71
+ /**
72
+ returns whether the represented transaction is pending based on the provided block height
73
+ */
74
+ func isPending(currentHeight: Int) -> Bool
75
+
76
+ /**
77
+ if the represented transaction is being created
78
+ */
79
+ var isCreating: Bool { get }
80
+
81
+ /**
82
+ returns whether the represented transaction has failed to be encoded
83
+ */
84
+ var isFailedEncoding: Bool { get }
85
+
86
+ /**
87
+ returns whether the represented transaction has failed to be submitted
88
+ */
89
+ var isFailedSubmit: Bool { get }
90
+
91
+ /**
92
+ returns whether the represented transaction presents some kind of error
93
+ */
94
+ var isFailure: Bool { get }
95
+
96
+ /**
97
+ returns whether the represented transaction has been cancelled by the user
98
+ */
99
+ var isCancelled: Bool { get }
100
+
101
+ /**
102
+ returns whether the represented transaction has been successfully mined
103
+ */
104
+ var isMined: Bool { get }
105
+
106
+ /**
107
+ returns whether the represented transaction has been submitted
108
+ */
109
+ var isSubmitted: Bool { get }
110
+
111
+ /**
112
+ returns whether the represented transaction has been submitted successfully
113
+ */
114
+ var isSubmitSuccess: Bool { get }
115
+ }
116
+
117
+ public extension PendingTransactionEntity {
118
+ func isSameTransaction<T: RawIdentifiable>(other: T) -> Bool {
119
+ guard let selfId = self.rawTransactionId, let otherId = other.rawTransactionId else { return false }
120
+ return selfId == otherId
121
+ }
122
+
123
+ var isCreating: Bool {
124
+ (raw?.isEmpty ?? true) != false && submitAttempts <= 0 && !isFailedSubmit && !isFailedEncoding
125
+ }
126
+
127
+ var isFailedEncoding: Bool {
128
+ (raw?.isEmpty ?? true) != false && encodeAttempts > 0
129
+ }
130
+
131
+ var isFailedSubmit: Bool {
132
+ errorMessage != nil || (errorCode != nil && (errorCode ?? 0) < 0)
133
+ }
134
+
135
+ var isFailure: Bool {
136
+ isFailedEncoding || isFailedSubmit
137
+ }
138
+
139
+ var isCancelled: Bool {
140
+ cancelled > 0
141
+ }
142
+
143
+ var isMined: Bool {
144
+ minedHeight > 0
145
+ }
146
+
147
+ var isSubmitted: Bool {
148
+ submitAttempts > 0
149
+ }
150
+
151
+ func isPending(currentHeight: Int = -1) -> Bool {
152
+ // not mined and not expired and successfully created
153
+ isSubmitSuccess && !isConfirmed(currentHeight: currentHeight) && (expiryHeight == -1 || expiryHeight > currentHeight) && raw != nil
154
+ }
155
+
156
+ var isSubmitSuccess: Bool {
157
+ submitAttempts > 0 && (errorCode == nil || (errorCode ?? 0) >= 0) && errorMessage == nil
158
+ }
159
+
160
+ func isConfirmed(currentHeight: Int = -1 ) -> Bool {
161
+ guard minedHeight > 0 else {
162
+ return false
163
+ }
164
+
165
+ guard currentHeight > 0 else {
166
+ return false
167
+ }
168
+
169
+ return abs(currentHeight - minedHeight) >= ZcashSDK.defaultStaleTolerance
170
+ }
171
+ }
172
+
173
+ public extension PendingTransactionEntity {
174
+ /**
175
+ TransactionEntity representation of this PendingTransactionEntity transaction
176
+ */
177
+ var transactionEntity: TransactionEntity {
178
+ Transaction(
179
+ id: self.id ?? -1,
180
+ transactionId: self.rawTransactionId ?? Data(),
181
+ created: Date(timeIntervalSince1970: self.createTime).description,
182
+ transactionIndex: -1,
183
+ expiryHeight: self.expiryHeight,
184
+ minedHeight: self.minedHeight,
185
+ raw: self.raw
186
+ )
187
+ }
188
+ }
189
+
190
+ public extension ConfirmedTransactionEntity {
191
+ /**
192
+ TransactionEntity representation of this ConfirmedTransactionEntity transaction
193
+ */
194
+ var transactionEntity: TransactionEntity {
195
+ Transaction(
196
+ id: self.id ?? -1,
197
+ transactionId: self.rawTransactionId ?? Data(),
198
+ created: Date(timeIntervalSince1970: self.blockTimeInSeconds).description,
199
+ transactionIndex: self.transactionIndex,
200
+ expiryHeight: self.expiryHeight,
201
+ minedHeight: self.minedHeight,
202
+ raw: self.raw
203
+ )
204
+ }
205
+ }
@@ -0,0 +1,22 @@
1
+ //
2
+ // ReceivedNotesEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/14/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ protocol ReceivedNoteEntity {
11
+ var id: Int { get set }
12
+ var transactionId: Int { get set }
13
+ var outputIndex: Int { get set }
14
+ var account: Int { get set }
15
+ var value: Int { get set }
16
+ var memo: Data? { get set }
17
+ var spent: Int? { get set }
18
+ var diversifier: Data { get set }
19
+ var rcm: Data { get set }
20
+ var nf: Data { get set }
21
+ var isChange: Bool { get set }
22
+ }
@@ -0,0 +1,45 @@
1
+ //
2
+ // Sent.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/14/19.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ protocol SentNoteEntity {
11
+ var id: Int { get set }
12
+ var transactionId: Int { get set }
13
+ var outputIndex: Int { get set }
14
+ var account: Int { get set }
15
+ var address: String { get set }
16
+ var value: Int { get set }
17
+ var memo: Data? { get set }
18
+ }
19
+
20
+ extension SentNoteEntity {
21
+ static func == (lhs: Self, rhs: Self) -> Bool {
22
+ guard lhs.id == rhs.id,
23
+ lhs.transactionId == rhs.transactionId,
24
+ lhs.outputIndex == rhs.outputIndex,
25
+ lhs.account == rhs.account,
26
+ lhs.address == rhs.address,
27
+ lhs.value == rhs.value,
28
+ lhs.memo == rhs.memo else { return false }
29
+ return true
30
+ }
31
+
32
+ func hash(into hasher: inout Hasher) {
33
+ hasher.combine(id)
34
+ hasher.combine(transactionId)
35
+ hasher.combine(outputIndex)
36
+ hasher.combine(account)
37
+ hasher.combine(address)
38
+ hasher.combine(value)
39
+ if let memo = memo {
40
+ hasher.combine(memo)
41
+ } else {
42
+ hasher.combine(Int(0))
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,161 @@
1
+ //
2
+ // File.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/14/19.
6
+ //
7
+
8
+ import Foundation
9
+ /**
10
+ convenience representation of all transaction types
11
+ */
12
+ public protocol TransactionEntity {
13
+ /**
14
+ Internal transaction id
15
+ */
16
+ var id: Int? { get set }
17
+
18
+ /**
19
+ Blockchain transaction id
20
+ */
21
+ var transactionId: Data { get set }
22
+
23
+ /**
24
+ String representing the date of creation
25
+
26
+ format is yyyy-MM-dd'T'HH:MM:ss.SSSSSSSSSZ
27
+ - Example: 2019-12-04T17:49:10.636624000Z
28
+ */
29
+ var created: String? { get set }
30
+ var transactionIndex: Int? { get set }
31
+ var expiryHeight: BlockHeight? { get set }
32
+ var minedHeight: BlockHeight? { get set }
33
+ var raw: Data? { get set }
34
+ }
35
+
36
+ /**
37
+ Hashable extension default implementation
38
+ */
39
+ public extension TransactionEntity {
40
+ func hash(into hasher: inout Hasher) {
41
+ hasher.combine(id)
42
+ hasher.combine(transactionId)
43
+ hasher.combine(expiryHeight)
44
+ hasher.combine(minedHeight)
45
+ hasher.combine(raw)
46
+ }
47
+
48
+ static func == (lhs: Self, rhs: Self) -> Bool {
49
+ guard
50
+ lhs.id == rhs.id,
51
+ lhs.transactionId == rhs.transactionId,
52
+ lhs.created == rhs.created,
53
+ lhs.expiryHeight == rhs.expiryHeight,
54
+ lhs.minedHeight == rhs.minedHeight,
55
+ ((lhs.raw != nil && rhs.raw != nil) || (lhs.raw == nil && rhs.raw == nil))
56
+ else { return false }
57
+
58
+ if let lhsRaw = lhs.raw, let rhsRaw = rhs.raw {
59
+ return lhsRaw == rhsRaw
60
+ }
61
+
62
+ return true
63
+ }
64
+
65
+ func anchor(network: ZcashNetwork) -> BlockHeight? {
66
+ if let minedHeight = self.minedHeight, minedHeight != -1 {
67
+ return max(minedHeight - ZcashSDK.defaultStaleTolerance, network.constants.saplingActivationHeight)
68
+ }
69
+
70
+ if let expiryHeight = self.expiryHeight, expiryHeight != -1 {
71
+ return max(expiryHeight - ZcashSDK.expiryOffset - ZcashSDK.defaultStaleTolerance, network.constants.saplingActivationHeight)
72
+ }
73
+
74
+ return nil
75
+ }
76
+ }
77
+
78
+ /**
79
+ Abstract representation of all transaction types
80
+ */
81
+ public protocol AbstractTransaction {
82
+ /**
83
+ internal id for this transaction
84
+ */
85
+ var id: Int? { get set }
86
+
87
+ /**
88
+ value in zatoshi
89
+ */
90
+ var value: Int { get set }
91
+
92
+ /**
93
+ data containing the memo if any
94
+ */
95
+ var memo: Data? { get set }
96
+ }
97
+
98
+ /**
99
+ Capabilites of a signed transaction
100
+ */
101
+ public protocol SignedTransactionEntity {
102
+ var raw: Data? { get set }
103
+ }
104
+
105
+ /**
106
+ Capabilities of an entity that can be uniquely identified by a raw transaction id
107
+ */
108
+ public protocol RawIdentifiable {
109
+ var rawTransactionId: Data? { get set }
110
+ }
111
+
112
+ /**
113
+ Attributes that a Mined transaction must have
114
+ */
115
+ public protocol MinedTransactionEntity: AbstractTransaction, RawIdentifiable {
116
+ /**
117
+ height on which this transaction was mined at. Convention is that -1 is retuned when it has not been mined yet
118
+ */
119
+ var minedHeight: Int { get set }
120
+
121
+ /**
122
+ internal note id that is involved on this transaction
123
+ */
124
+ var noteId: Int { get set }
125
+
126
+ /**
127
+ block time in in reference since 1970
128
+ */
129
+ var blockTimeInSeconds: TimeInterval { get set }
130
+
131
+ /**
132
+ internal index for this transaction
133
+ */
134
+ var transactionIndex: Int { get set }
135
+ }
136
+
137
+ public protocol ConfirmedTransactionEntity: MinedTransactionEntity, SignedTransactionEntity {
138
+ /**
139
+ recipient address if available
140
+ */
141
+ var toAddress: String? { get set }
142
+
143
+ /**
144
+ expiration height for this transaction
145
+ */
146
+ var expiryHeight: BlockHeight? { get set }
147
+ }
148
+
149
+ public extension ConfirmedTransactionEntity {
150
+ var isOutbound: Bool {
151
+ self.toAddress != nil
152
+ }
153
+
154
+ var isInbound: Bool {
155
+ self.toAddress == nil
156
+ }
157
+
158
+ var blockTimeInMilliseconds: Double {
159
+ self.blockTimeInSeconds * 1000
160
+ }
161
+ }
@@ -0,0 +1,17 @@
1
+ //
2
+ // UnspentTransactionOutputEntity.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 12/9/20.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ public protocol UnspentTransactionOutputEntity {
11
+ var address: String { get set }
12
+ var txid: Data { get set }
13
+ var index: Int { get set }
14
+ var script: Data { get set }
15
+ var valueZat: Int { get set }
16
+ var height: Int { get set }
17
+ }
@@ -0,0 +1,17 @@
1
+ //
2
+ // Data+Zcash.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 1/10/20.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ public extension Data {
11
+ /**
12
+ Transforms the data info bytes into a Zcash hex transaction id
13
+ */
14
+ func toHexStringTxId() -> String {
15
+ self.hexEncodedString().toTxIdString()
16
+ }
17
+ }