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,213 @@
1
+ //
2
+ // PendingTransactionDao.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/19/19.
6
+ //
7
+
8
+ import Foundation
9
+ import SQLite
10
+ struct PendingTransaction: PendingTransactionEntity, Decodable, Encodable {
11
+ enum CodingKeys: String, CodingKey {
12
+ case toAddress = "to_address"
13
+ case accountIndex = "account_index"
14
+ case minedHeight = "mined_height"
15
+ case expiryHeight = "expiry_height"
16
+ case cancelled
17
+ case encodeAttempts = "encode_attempts"
18
+ case submitAttempts = "submit_attempts"
19
+ case errorMessage = "error_message"
20
+ case errorCode = "error_code"
21
+ case createTime = "create_time"
22
+ case raw
23
+ case id
24
+ case value
25
+ case memo
26
+ case rawTransactionId = "txid"
27
+ }
28
+
29
+ var toAddress: String
30
+ var accountIndex: Int
31
+ var minedHeight: BlockHeight
32
+ var expiryHeight: BlockHeight
33
+ var cancelled: Int
34
+ var encodeAttempts: Int
35
+ var submitAttempts: Int
36
+ var errorMessage: String?
37
+ var errorCode: Int?
38
+ var createTime: TimeInterval
39
+ var raw: Data?
40
+ var id: Int?
41
+ var value: Int
42
+ var memo: Data?
43
+ var rawTransactionId: Data?
44
+
45
+ static func from(entity: PendingTransactionEntity) -> PendingTransaction {
46
+ PendingTransaction(
47
+ toAddress: entity.toAddress,
48
+ accountIndex: entity.accountIndex,
49
+ minedHeight: entity.minedHeight,
50
+ expiryHeight: entity.expiryHeight,
51
+ cancelled: entity.cancelled,
52
+ encodeAttempts: entity.encodeAttempts,
53
+ submitAttempts: entity.submitAttempts,
54
+ errorMessage: entity.errorMessage,
55
+ errorCode: entity.errorCode,
56
+ createTime: entity.createTime,
57
+ raw: entity.raw,
58
+ id: entity.id,
59
+ value: entity.value,
60
+ memo: entity.memo,
61
+ rawTransactionId: entity.raw
62
+ )
63
+ }
64
+
65
+ func isSameTransactionId<T>(other: T) -> Bool where T: RawIdentifiable {
66
+ self.rawTransactionId == other.rawTransactionId
67
+ }
68
+ }
69
+
70
+ extension PendingTransaction {
71
+ // TODO: Handle Memo
72
+ init(value: Int, toAddress: String, memo: String?, account index: Int) {
73
+ self = PendingTransaction(
74
+ toAddress: toAddress,
75
+ accountIndex: index,
76
+ minedHeight: -1,
77
+ expiryHeight: -1,
78
+ cancelled: 0,
79
+ encodeAttempts: 0,
80
+ submitAttempts: 0,
81
+ errorMessage: nil,
82
+ errorCode: nil,
83
+ createTime: Date().timeIntervalSince1970,
84
+ raw: nil,
85
+ id: nil,
86
+ value: Int(value),
87
+ memo: memo?.encodeAsZcashTransactionMemo(),
88
+ rawTransactionId: nil
89
+ )
90
+ }
91
+ }
92
+
93
+ class PendingTransactionSQLDAO: PendingTransactionRepository {
94
+ enum TableColumns {
95
+ static var toAddress = Expression<String>("to_address")
96
+ static var accountIndex = Expression<Int>("account_index")
97
+ static var minedHeight = Expression<Int?>("mined_height")
98
+ static var expiryHeight = Expression<Int?>("expiry_height")
99
+ static var cancelled = Expression<Int?>("cancelled")
100
+ static var encodeAttempts = Expression<Int?>("encode_attempts")
101
+ static var errorMessage = Expression<String?>("error_message")
102
+ static var submitAttempts = Expression<Int?>("submit_attempts")
103
+ static var errorCode = Expression<Int?>("error_code")
104
+ static var createTime = Expression<TimeInterval?>("create_time")
105
+ static var raw = Expression<Blob?>("raw")
106
+ static var id = Expression<Int>("id")
107
+ static var value = Expression<Int>("value")
108
+ static var memo = Expression<Blob?>("memo")
109
+ static var rawTransactionId = Expression<Blob?>("txid")
110
+ }
111
+
112
+ let table = Table("pending_transactions")
113
+
114
+ var dbProvider: ConnectionProvider
115
+
116
+ init(dbProvider: ConnectionProvider) {
117
+ self.dbProvider = dbProvider
118
+ }
119
+
120
+ func createrTableIfNeeded() throws {
121
+ let statement = table.create(ifNotExists: true) { createdTable in
122
+ createdTable.column(TableColumns.id, primaryKey: .autoincrement)
123
+ createdTable.column(TableColumns.toAddress)
124
+ createdTable.column(TableColumns.accountIndex)
125
+ createdTable.column(TableColumns.minedHeight)
126
+ createdTable.column(TableColumns.expiryHeight)
127
+ createdTable.column(TableColumns.cancelled)
128
+ createdTable.column(TableColumns.encodeAttempts, defaultValue: 0)
129
+ createdTable.column(TableColumns.errorMessage)
130
+ createdTable.column(TableColumns.errorCode)
131
+ createdTable.column(TableColumns.submitAttempts, defaultValue: 0)
132
+ createdTable.column(TableColumns.createTime)
133
+ createdTable.column(TableColumns.rawTransactionId)
134
+ createdTable.column(TableColumns.value)
135
+ createdTable.column(TableColumns.raw)
136
+ createdTable.column(TableColumns.memo)
137
+ }
138
+
139
+ try dbProvider.connection().run(statement)
140
+ }
141
+
142
+ func create(_ transaction: PendingTransactionEntity) throws -> Int {
143
+ let pendingTx = transaction as? PendingTransaction ?? PendingTransaction.from(entity: transaction)
144
+
145
+ return try Int(dbProvider.connection().run(table.insert(pendingTx)))
146
+ }
147
+
148
+ func update(_ transaction: PendingTransactionEntity) throws {
149
+ let pendingTx = transaction as? PendingTransaction ?? PendingTransaction.from(entity: transaction)
150
+ guard let id = pendingTx.id else {
151
+ throw StorageError.malformedEntity(fields: ["id"])
152
+ }
153
+
154
+ let updatedRows = try dbProvider.connection().run(table.filter(TableColumns.id == id).update(pendingTx))
155
+ if updatedRows == 0 {
156
+ LoggerProxy.error("attempted to update pending transactions but no rows were updated")
157
+ }
158
+ }
159
+
160
+ func delete(_ transaction: PendingTransactionEntity) throws {
161
+ guard let id = transaction.id else {
162
+ throw StorageError.malformedEntity(fields: ["id"])
163
+ }
164
+
165
+ do {
166
+ try dbProvider.connection().run(table.filter(TableColumns.id == id).delete())
167
+ } catch {
168
+ throw StorageError.updateFailed
169
+ }
170
+ }
171
+
172
+ func cancel(_ transaction: PendingTransactionEntity) throws {
173
+ var pendingTx = transaction as? PendingTransaction ?? PendingTransaction.from(entity: transaction)
174
+ pendingTx.cancelled = 1
175
+ guard let txId = pendingTx.id else {
176
+ throw StorageError.malformedEntity(fields: ["id"])
177
+ }
178
+
179
+ try dbProvider.connection().run(table.filter(TableColumns.id == txId).update(pendingTx))
180
+ }
181
+
182
+ func find(by id: Int) throws -> PendingTransactionEntity? {
183
+ guard let row = try dbProvider.connection().pluck(table.filter(TableColumns.id == id).limit(1)) else {
184
+ return nil
185
+ }
186
+
187
+ do {
188
+ let pendingTx: PendingTransaction = try row.decode()
189
+ return pendingTx
190
+ } catch {
191
+ throw StorageError.operationFailed
192
+ }
193
+ }
194
+
195
+ func getAll() throws -> [PendingTransactionEntity] {
196
+ let allTxs: [PendingTransaction] = try dbProvider.connection().prepare(table).map { row in
197
+ try row.decode()
198
+ }
199
+
200
+ return allTxs
201
+ }
202
+
203
+ func applyMinedHeight(_ height: BlockHeight, id: Int) throws {
204
+ let transaction = table.filter(TableColumns.id == id)
205
+
206
+ let updatedRows = try dbProvider.connection()
207
+ .run(transaction.update([TableColumns.minedHeight <- height]))
208
+
209
+ if updatedRows == 0 {
210
+ LoggerProxy.error("attempted to update a row but none was updated")
211
+ }
212
+ }
213
+ }
@@ -0,0 +1,169 @@
1
+ //
2
+ // TransactionBuilder.swift
3
+ // ZcashLightClientKit
4
+ //
5
+ // Created by Francisco Gindre on 11/18/19.
6
+ //
7
+
8
+ import Foundation
9
+ import SQLite
10
+
11
+ enum TransactionBuilder {
12
+ enum ConfirmedColumns: Int {
13
+ case id
14
+ case minedHeight
15
+ case transactionIndex
16
+ case rawTransactionId
17
+ case expiryHeight
18
+ case raw
19
+ case toAddress
20
+ case value
21
+ case memo
22
+ case noteId
23
+ case blockTimeInSeconds
24
+ }
25
+
26
+ enum ReceivedColumns: Int {
27
+ case id
28
+ case minedHeight
29
+ case transactionIndex
30
+ case rawTransactionId
31
+ case raw
32
+ case value
33
+ case memo
34
+ case noteId
35
+ case blockTimeInSeconds
36
+ }
37
+
38
+ enum TransactionEntityColumns: Int {
39
+ case id
40
+ case minedHeight
41
+ case txIndex
42
+ case txid
43
+ case expiryHeight
44
+ case raw
45
+ }
46
+
47
+ static func createTransactionEntity(txId: Data, rawTransaction: RawTransaction) -> TransactionEntity {
48
+ Transaction(
49
+ id: nil,
50
+ transactionId: txId,
51
+ created: nil,
52
+ transactionIndex: nil,
53
+ expiryHeight: nil,
54
+ minedHeight: Int(exactly: rawTransaction.height),
55
+ raw: rawTransaction.data
56
+ )
57
+ }
58
+
59
+ static func createTransactionEntity(from bindings: [Binding?]) -> TransactionEntity? {
60
+ guard let txId = bindings[TransactionEntityColumns.txid.rawValue] as? Blob else {
61
+ return nil
62
+ }
63
+
64
+ var rawData: Data?
65
+ if let raw = bindings[TransactionEntityColumns.raw.rawValue] as? Blob {
66
+ rawData = Data(blob: raw)
67
+ }
68
+
69
+ return Transaction(
70
+ id: bindings[TransactionEntityColumns.id.rawValue] as? Int,
71
+ transactionId: Data(blob: txId),
72
+ created: nil,
73
+ transactionIndex: bindings[TransactionEntityColumns.txIndex.rawValue] as? Int,
74
+ expiryHeight: bindings[TransactionEntityColumns.expiryHeight.rawValue] as? Int,
75
+ minedHeight: bindings[TransactionEntityColumns.minedHeight.rawValue] as? Int,
76
+ raw: rawData
77
+ )
78
+ }
79
+
80
+ static func createConfirmedTransaction(from bindings: [Binding?]) -> ConfirmedTransaction? {
81
+ guard
82
+ let id = bindings[ConfirmedColumns.id.rawValue] as? Int64,
83
+ let noteId = bindings[ConfirmedColumns.noteId.rawValue] as? Int64,
84
+ let transactionIndex = bindings[ConfirmedColumns.transactionIndex.rawValue] as? Int64,
85
+ let value = bindings[ConfirmedColumns.value.rawValue] as? Int64
86
+ else { return nil }
87
+
88
+ let minedHeight = bindings[ConfirmedColumns.minedHeight.rawValue] as? Int64 ?? -1
89
+ let blockTimeInSeconds = bindings[ConfirmedColumns.blockTimeInSeconds.rawValue] as? Int64 ?? 0
90
+ // Optional values
91
+
92
+ let toAddress = bindings[ConfirmedColumns.toAddress.rawValue] as? String
93
+
94
+ var expiryHeight: BlockHeight?
95
+ if let expiry = bindings[ConfirmedColumns.expiryHeight.rawValue] as? Int64 {
96
+ expiryHeight = BlockHeight(expiry)
97
+ }
98
+
99
+ var raw: Data?
100
+ if let rawBlob = bindings[ConfirmedColumns.raw.rawValue] as? Blob {
101
+ raw = Data(blob: rawBlob)
102
+ }
103
+
104
+ var memo: Data?
105
+ if let memoBlob = bindings[ConfirmedColumns.memo.rawValue] as? Blob {
106
+ memo = Data(blob: memoBlob)
107
+ }
108
+
109
+ var transactionId: Data?
110
+ if let txIdBlob = bindings[ConfirmedColumns.rawTransactionId.rawValue] as? Blob {
111
+ transactionId = Data(blob: txIdBlob)
112
+ }
113
+
114
+ return ConfirmedTransaction(
115
+ toAddress: toAddress,
116
+ expiryHeight: expiryHeight,
117
+ minedHeight: Int(minedHeight),
118
+ noteId: Int(noteId),
119
+ blockTimeInSeconds: TimeInterval(integerLiteral: blockTimeInSeconds),
120
+ transactionIndex: Int(transactionIndex),
121
+ raw: raw,
122
+ id: Int(id),
123
+ value: Int(value),
124
+ memo: memo,
125
+ rawTransactionId: transactionId
126
+ )
127
+ }
128
+
129
+ static func createReceivedTransaction(from bindings: [Binding?]) -> ConfirmedTransaction? {
130
+ guard let id = bindings[ReceivedColumns.id.rawValue] as? Int64,
131
+ let minedHeight = bindings[ReceivedColumns.minedHeight.rawValue] as? Int64,
132
+ let noteId = bindings[ReceivedColumns.noteId.rawValue] as? Int64,
133
+ let blockTimeInSeconds = bindings[ReceivedColumns.blockTimeInSeconds.rawValue] as? Int64,
134
+ let transactionIndex = bindings[ReceivedColumns.transactionIndex.rawValue] as? Int64,
135
+ let value = bindings[ReceivedColumns.value.rawValue] as? Int64
136
+ else { return nil }
137
+
138
+ // Optional values
139
+
140
+ var memo: Data?
141
+ if let memoBlob = bindings[ReceivedColumns.memo.rawValue] as? Blob {
142
+ memo = Data(blob: memoBlob)
143
+ }
144
+
145
+ var transactionId: Data?
146
+ if let txIdBlob = bindings[ReceivedColumns.rawTransactionId.rawValue] as? Blob {
147
+ transactionId = Data(blob: txIdBlob)
148
+ }
149
+
150
+ var rawData: Data?
151
+ if let rawBlob = bindings[ReceivedColumns.raw.rawValue] as? Blob {
152
+ rawData = Data(blob: rawBlob)
153
+ }
154
+
155
+ return ConfirmedTransaction(
156
+ toAddress: nil,
157
+ expiryHeight: nil,
158
+ minedHeight: Int(minedHeight),
159
+ noteId: Int(noteId),
160
+ blockTimeInSeconds: TimeInterval(integerLiteral: blockTimeInSeconds),
161
+ transactionIndex: Int(transactionIndex),
162
+ raw: rawData,
163
+ id: Int(id),
164
+ value: Int(value),
165
+ memo: memo,
166
+ rawTransactionId: transactionId
167
+ )
168
+ }
169
+ }