react-native-zcash 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/LICENSE +22 -0
- package/README.md +47 -14
- package/android/build.gradle +1 -1
- package/android/src/main/assets/saplingtree/mainnet/1310000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1320000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1330000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1340000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1350000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1360000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1370000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1380000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1390000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1400000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1410000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1420000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1430000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1440000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1450000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1460000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1470000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1480000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1490000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1500000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1510000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1520000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1530000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1540000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1550000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1560000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1570000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1580000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1590000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1600000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1610000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1620000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1630000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1640000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1650000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1660000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1670000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1680000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1690000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1700000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1710000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1720000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1730000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1740000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1750000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1760000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1770000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1780000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1790000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1800000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1810000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1820000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1830000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1840000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1850000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1860000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1870000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1880000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1890000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1900000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1910000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1920000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1930000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1940000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1950000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1960000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1970000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1980000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/1990000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2000000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2010000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2020000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2030000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2040000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2050000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2060000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2070000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2080000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2090000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2100000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2110000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2120000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2130000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2140000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2150000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2160000.json +7 -0
- package/android/src/main/assets/saplingtree/mainnet/2170000.json +7 -0
- package/ios/RNZcash.m +0 -1
- package/ios/RNZcash.swift +14 -15
- package/ios/ZCashLightClientKit/Block/DatabaseStorage/CompactBlockStorage.swift +123 -0
- package/ios/ZCashLightClientKit/Block/DatabaseStorage/DatabaseMigrationManager.swift +222 -0
- package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageError.swift +22 -0
- package/ios/ZCashLightClientKit/Block/DatabaseStorage/StorageManager.swift +73 -0
- package/ios/ZCashLightClientKit/Block/Downloader/BlockDownloader.swift +240 -0
- package/ios/ZCashLightClientKit/Block/Downloader/CompactBlockDownloaderBuilder.swift +26 -0
- package/ios/ZCashLightClientKit/Block/Processor/CompactBlockDownloadOperation.swift +258 -0
- package/ios/ZCashLightClientKit/Block/Processor/CompactBlockEnhancementOperation.swift +157 -0
- package/ios/ZCashLightClientKit/Block/Processor/CompactBlockProcessor.swift +1454 -0
- package/ios/ZCashLightClientKit/Block/Processor/CompactBlockScanningOperation.swift +238 -0
- package/ios/ZCashLightClientKit/Block/Processor/CompactBlockValidationInformation.swift +66 -0
- package/ios/ZCashLightClientKit/Block/Processor/FetchUnspentTxOutputsOperation.swift +103 -0
- package/ios/ZCashLightClientKit/Block/Processor/FigureNextBatchOperation.swift +58 -0
- package/ios/ZCashLightClientKit/Block/Processor/ZcashOperation.swift +68 -0
- package/ios/ZCashLightClientKit/Constants/WalletBirthday+Constants.swift +58 -0
- package/ios/ZCashLightClientKit/Constants/WalletBirthday+mainnet.swift +20 -0
- package/ios/ZCashLightClientKit/Constants/WalletBirthday+testnet.swift +20 -0
- package/ios/ZCashLightClientKit/Constants/ZcashSDK.swift +245 -0
- package/ios/ZCashLightClientKit/DAO/BlockDao.swift +67 -0
- package/ios/ZCashLightClientKit/DAO/CompactBlockDAO.swift +24 -0
- package/ios/ZCashLightClientKit/DAO/NotesDao.swift +142 -0
- package/ios/ZCashLightClientKit/DAO/PagedTransactionDao.swift +62 -0
- package/ios/ZCashLightClientKit/DAO/PendingTransactionDao.swift +213 -0
- package/ios/ZCashLightClientKit/DAO/TransactionBuilder.swift +169 -0
- package/ios/ZCashLightClientKit/DAO/TransactionDao.swift +393 -0
- package/ios/ZCashLightClientKit/DAO/UnspentTransactionOutputDao.swift +188 -0
- package/ios/ZCashLightClientKit/Entity/AccountEntity.swift +201 -0
- package/ios/ZCashLightClientKit/Entity/CompactBlockEntity.swift +13 -0
- package/ios/ZCashLightClientKit/Entity/EncodedTransactionEntity.swift +26 -0
- package/ios/ZCashLightClientKit/Entity/PendingTransactionEntity.swift +205 -0
- package/ios/ZCashLightClientKit/Entity/ReceivedNoteEntity.swift +22 -0
- package/ios/ZCashLightClientKit/Entity/SentNoteEntity.swift +45 -0
- package/ios/ZCashLightClientKit/Entity/TransactionEntity.swift +161 -0
- package/ios/ZCashLightClientKit/Entity/UnspentTransactionOutputEntity.swift +17 -0
- package/ios/ZCashLightClientKit/Extensions/Data+Zcash.swift +17 -0
- package/ios/ZCashLightClientKit/Extensions/Data+internal.swift +35 -0
- package/ios/ZCashLightClientKit/Extensions/HexEncode.swift +41 -0
- package/ios/ZCashLightClientKit/Extensions/ZcashRust+Utils.swift +26 -0
- package/ios/ZCashLightClientKit/Extensions/ZcashSDK+extensions.swift +34 -0
- package/ios/ZCashLightClientKit/Initializer.swift +357 -0
- package/ios/ZCashLightClientKit/Model/WalletTypes.swift +108 -0
- package/ios/ZCashLightClientKit/Providers/ResourceProvider.swift +47 -0
- package/ios/ZCashLightClientKit/Repository/BlockRepository.swift +13 -0
- package/ios/ZCashLightClientKit/Repository/CompactBlockRepository.swift +75 -0
- package/ios/ZCashLightClientKit/Repository/NotesRepository.swift +16 -0
- package/ios/ZCashLightClientKit/Repository/PaginatedTransactionRepository.swift +35 -0
- package/ios/ZCashLightClientKit/Repository/PendingTransactionRepository.swift +19 -0
- package/ios/ZCashLightClientKit/Repository/TransactionRepository.swift +30 -0
- package/ios/ZCashLightClientKit/Repository/TransactionRepositoryBuilder.swift +24 -0
- package/ios/ZCashLightClientKit/Repository/UnspentTransactionOutputRepository.swift +18 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1000000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1010000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1020000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1030000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1040000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1050000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1060000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1070000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1080000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1090000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1100000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1110000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1120000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1130000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1140000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1150000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1160000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1170000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1180000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1190000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1200000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1210000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1220000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1230000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1240000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1250000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1260000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1270000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1280000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1290000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1300000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1310000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1320000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1330000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1340000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1350000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1360000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1370000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1380000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1390000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1400000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1410000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1420000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1430000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1440000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1450000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1460000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1470000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1480000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1490000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1500000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1510000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1520000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1530000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1540000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1550000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1560000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1570000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1580000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1590000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1600000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1610000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1620000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1630000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1640000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1650000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1660000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1670000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1680000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1690000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1700000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1710000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1720000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1730000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1740000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1750000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1760000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1770000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1780000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1790000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1800000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1810000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1820000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1830000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1840000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1850000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1860000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1870000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1880000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1890000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1900000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1910000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1920000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1930000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1940000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1950000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1960000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1970000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1980000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/1990000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2000000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2010000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2020000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2030000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2040000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2050000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2060000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2070000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2080000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2090000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2100000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2110000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2120000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2130000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2140000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2150000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2160000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/2170000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/419200.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/500000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/510000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/520000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/530000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/540000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/550000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/560000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/570000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/580000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/590000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/600000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/610000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/620000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/630000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/640000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/650000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/660000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/663150.json +8 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/670000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/680000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/690000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/700000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/710000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/720000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/730000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/740000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/750000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/760000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/770000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/780000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/790000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/800000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/810000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/820000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/830000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/840000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/850000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/860000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/870000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/880000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/890000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/900000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/910000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/920000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/930000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/940000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/950000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/960000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/970000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/980000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/mainnet/990000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1000000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1010000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1020000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1030000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1040000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1050000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1060000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1070000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1080000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1090000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1100000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1110000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1120000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1130000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1140000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1150000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1160000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1170000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1180000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1190000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1200000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1210000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1220000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1230000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1240000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1250000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1260000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1270000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1280000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1290000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1300000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1310000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1320000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1330000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1340000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1350000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1360000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1370000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1380000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1390000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1400000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1410000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1420000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1430000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1440000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1450000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1460000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1470000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1480000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1490000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1500000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1510000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1520000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1530000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1540000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1550000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1560000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1570000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1580000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1590000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1600000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1610000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1620000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1630000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1640000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1650000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1660000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1670000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1680000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1690000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1700000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1710000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1720000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1730000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1740000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1750000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1760000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1770000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1780000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1790000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1800000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1810000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1820000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1830000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1840000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1850000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/1860000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/280000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/290000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/300000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/310000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/320000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/330000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/340000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/350000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/360000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/370000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/380000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/390000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/400000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/410000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/420000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/430000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/440000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/450000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/460000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/470000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/480000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/490000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/500000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/510000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/520000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/530000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/540000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/550000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/560000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/570000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/580000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/590000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/600000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/610000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/620000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/630000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/640000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/650000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/660000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/670000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/680000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/690000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/700000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/710000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/720000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/730000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/740000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/750000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/760000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/770000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/780000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/790000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/800000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/810000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/820000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/830000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/840000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/850000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/860000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/870000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/880000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/890000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/900000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/910000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/920000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/930000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/940000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/950000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/960000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/970000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/980000.json +7 -0
- package/ios/ZCashLightClientKit/Resources/saplingtree-checkpoints/testnet/990000.json +7 -0
- package/ios/ZCashLightClientKit/Rust/ZcashRustBackend.swift +718 -0
- package/ios/ZCashLightClientKit/Rust/ZcashRustBackendWelding.swift +389 -0
- package/ios/ZCashLightClientKit/Rust/zcashlc.h +385 -0
- package/ios/ZCashLightClientKit/Service/LightWalletGRPCService.swift +551 -0
- package/ios/ZCashLightClientKit/Service/LightWalletService.swift +214 -0
- package/ios/ZCashLightClientKit/Service/Model/ZcashCompactBlock.swift +46 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/Extensions/Protocolbuffer+Extensions.swift +50 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/compact_formats.pb.swift +332 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/compact_formats.proto +56 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/proto/service.proto +180 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/service.grpc.swift +383 -0
- package/ios/ZCashLightClientKit/Service/ProtoBuf/service.pb.swift +1173 -0
- package/ios/ZCashLightClientKit/Synchronizer/SDKSynchronizer.swift +929 -0
- package/ios/ZCashLightClientKit/Synchronizer.swift +430 -0
- package/ios/ZCashLightClientKit/Tool/DerivationTool.swift +344 -0
- package/ios/ZCashLightClientKit/Transaction/PersistentTransactionManager.swift +339 -0
- package/ios/ZCashLightClientKit/Transaction/TransactionEncoder.swift +116 -0
- package/ios/ZCashLightClientKit/Transaction/TransactionManager.swift +42 -0
- package/ios/ZCashLightClientKit/Transaction/WalletTransactionEncoder.swift +216 -0
- package/ios/ZCashLightClientKit/Utils/Bundle+module.swift +30 -0
- package/ios/ZCashLightClientKit/Utils/LoggingProxy.swift +47 -0
- package/ios/ZCashLightClientKit/Utils/SaplingParameterDownloader.swift +124 -0
- package/ios/libzcashlc.xcframework/Info.plist +40 -0
- package/ios/libzcashlc.xcframework/ios-arm64/libzcashlc.a +0 -0
- package/ios/libzcashlc.xcframework/ios-arm64_x86_64-simulator/libzcashlc.a +0 -0
- package/ios/react-native-zcash-Bridging-Header.h +2 -0
- package/ios/react-native-zcash.xcodeproj/project.pbxproj +1 -0
- package/lib/scripts/copyCheckpoints.d.ts +5 -0
- package/lib/scripts/updateCheckpoints.d.ts +1 -0
- package/lib/scripts/updateSources.d.ts +1 -0
- package/package.json +21 -32
- package/react-native-zcash.podspec +17 -7
- package/ios/RNZcash-Bridging-Header.h +0 -6
- package/ios/RNZcash.xcodeproj/project.pbxproj +0 -271
- package/ios/RNZcash.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/RNZcash.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/lib/src/browser.d.ts +0 -0
- package/lib/src/index.d.ts +0 -0
- package/lib/test/test.test.d.ts +0 -0
- package/src/browser.ts +0 -36
- package/src/index.flow.js +0 -168
- package/src/index.ts +0 -1
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
//
|
|
2
|
+
// LightWalletService.swift
|
|
3
|
+
// ZcashLightClientKit
|
|
4
|
+
//
|
|
5
|
+
// Created by Francisco Gindre on 12/09/2019.
|
|
6
|
+
// Copyright © 2019 Electric Coin Company. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
import Foundation
|
|
10
|
+
import GRPC
|
|
11
|
+
import SwiftProtobuf
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
Wrapper for errors received from a Lightwalletd endpoint
|
|
15
|
+
*/
|
|
16
|
+
public enum LightWalletServiceError: Error {
|
|
17
|
+
case generalError(message: String)
|
|
18
|
+
case failed(statusCode: Int, message: String)
|
|
19
|
+
case invalidBlock
|
|
20
|
+
case sentFailed(error: Error)
|
|
21
|
+
case genericError(error: Error)
|
|
22
|
+
case timeOut
|
|
23
|
+
case criticalError
|
|
24
|
+
case userCancelled
|
|
25
|
+
case unknown
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
extension LightWalletServiceError: Equatable {
|
|
29
|
+
// swiftlint:disable cyclomatic_complexity
|
|
30
|
+
public static func == (lhs: Self, rhs: Self) -> Bool {
|
|
31
|
+
switch lhs {
|
|
32
|
+
case .generalError(let message):
|
|
33
|
+
switch rhs {
|
|
34
|
+
case .generalError(let msg):
|
|
35
|
+
return message == msg
|
|
36
|
+
default:
|
|
37
|
+
return false
|
|
38
|
+
}
|
|
39
|
+
case .failed(let statusCode, _):
|
|
40
|
+
switch rhs {
|
|
41
|
+
case .failed(let anotherStatus, _):
|
|
42
|
+
return statusCode == anotherStatus
|
|
43
|
+
default:
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
case .invalidBlock:
|
|
48
|
+
switch rhs {
|
|
49
|
+
case .invalidBlock:
|
|
50
|
+
return true
|
|
51
|
+
default:
|
|
52
|
+
return false
|
|
53
|
+
}
|
|
54
|
+
case .sentFailed:
|
|
55
|
+
switch rhs {
|
|
56
|
+
case .sentFailed:
|
|
57
|
+
return true
|
|
58
|
+
default:
|
|
59
|
+
return false
|
|
60
|
+
}
|
|
61
|
+
case .genericError:
|
|
62
|
+
return false
|
|
63
|
+
|
|
64
|
+
case .timeOut:
|
|
65
|
+
switch rhs {
|
|
66
|
+
case .timeOut:
|
|
67
|
+
return true
|
|
68
|
+
default:
|
|
69
|
+
return false
|
|
70
|
+
}
|
|
71
|
+
case .criticalError:
|
|
72
|
+
switch rhs {
|
|
73
|
+
case .criticalError:
|
|
74
|
+
return true
|
|
75
|
+
default:
|
|
76
|
+
return false
|
|
77
|
+
}
|
|
78
|
+
case .userCancelled:
|
|
79
|
+
switch rhs {
|
|
80
|
+
case .userCancelled:
|
|
81
|
+
return true
|
|
82
|
+
default:
|
|
83
|
+
return false
|
|
84
|
+
}
|
|
85
|
+
case .unknown:
|
|
86
|
+
switch rhs {
|
|
87
|
+
case .unknown:
|
|
88
|
+
return true
|
|
89
|
+
default:
|
|
90
|
+
return false
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
public protocol LightWalletServiceResponse {
|
|
97
|
+
var errorCode: Int32 { get }
|
|
98
|
+
var errorMessage: String { get }
|
|
99
|
+
var unknownFields: SwiftProtobuf.UnknownStorage { get }
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
extension SendResponse: LightWalletServiceResponse {}
|
|
103
|
+
|
|
104
|
+
public protocol LightWalletService {
|
|
105
|
+
/**
|
|
106
|
+
returns the info for this lightwalletd server (blocking)
|
|
107
|
+
*/
|
|
108
|
+
func getInfo() throws -> LightWalletdInfo
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
returns the info for this lightwalletd server
|
|
112
|
+
*/
|
|
113
|
+
func getInfo(result: @escaping (Result<LightWalletdInfo, LightWalletServiceError>) -> Void)
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
Return the latest block height known to the service.
|
|
117
|
+
|
|
118
|
+
- Parameter result: a result containing the height or an Error
|
|
119
|
+
*/
|
|
120
|
+
func latestBlockHeight(result: @escaping (Result<BlockHeight, LightWalletServiceError>) -> Void)
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
Return the latest block height known to the service.
|
|
124
|
+
|
|
125
|
+
- Parameter result: a result containing the height or an Error
|
|
126
|
+
*/
|
|
127
|
+
func latestBlockHeight() throws -> BlockHeight
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
Return the given range of blocks.
|
|
131
|
+
|
|
132
|
+
- Parameter range: the inclusive range to fetch.
|
|
133
|
+
For instance if 1..5 is given, then every block in that will be fetched, including 1 and 5.
|
|
134
|
+
Non blocking
|
|
135
|
+
*/
|
|
136
|
+
func blockRange(_ range: CompactBlockRange, result: @escaping (Result<[ZcashCompactBlock], LightWalletServiceError>) -> Void )
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
Return the given range of blocks.
|
|
140
|
+
|
|
141
|
+
- Parameter range: the inclusive range to fetch.
|
|
142
|
+
For instance if 1..5 is given, then every block in that will be fetched, including 1 and 5.
|
|
143
|
+
blocking
|
|
144
|
+
*/
|
|
145
|
+
func blockRange(_ range: CompactBlockRange) throws -> [ZcashCompactBlock]
|
|
146
|
+
|
|
147
|
+
@discardableResult
|
|
148
|
+
func blockStream(
|
|
149
|
+
startHeight: BlockHeight,
|
|
150
|
+
endHeight: BlockHeight,
|
|
151
|
+
result: @escaping (Result<GRPCResult, LightWalletServiceError>) -> Void,
|
|
152
|
+
handler: @escaping (ZcashCompactBlock) -> Void,
|
|
153
|
+
progress: @escaping (BlockProgress) -> Void
|
|
154
|
+
) -> CancellableCall
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
Submits a raw transaction over lightwalletd. Non-Blocking
|
|
158
|
+
- Parameter spendTransaction: data representing the transaction to be sent
|
|
159
|
+
- Parameter result: escaping closure that takes a result containing either LightWalletServiceResponse or LightWalletServiceError
|
|
160
|
+
*/
|
|
161
|
+
func submit(spendTransaction: Data, result: @escaping(Result<LightWalletServiceResponse, LightWalletServiceError>) -> Void)
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
Submits a raw transaction over lightwalletd. Blocking
|
|
165
|
+
- Parameter spendTransaction: data representing the transaction to be sent
|
|
166
|
+
- Throws: LightWalletServiceError
|
|
167
|
+
- Returns: LightWalletServiceResponse
|
|
168
|
+
*/
|
|
169
|
+
func submit(spendTransaction: Data) throws -> LightWalletServiceResponse
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
Gets a transaction by id
|
|
173
|
+
- Parameter txId: data representing the transaction ID
|
|
174
|
+
- Throws: LightWalletServiceError
|
|
175
|
+
- Returns: LightWalletServiceResponse
|
|
176
|
+
*/
|
|
177
|
+
func fetchTransaction(txId: Data) throws -> TransactionEntity
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
Gets a transaction by id
|
|
181
|
+
- Parameter txId: data representing the transaction ID
|
|
182
|
+
- Parameter result: handler for the result
|
|
183
|
+
- Throws: LightWalletServiceError
|
|
184
|
+
- Returns: LightWalletServiceResponse
|
|
185
|
+
*/
|
|
186
|
+
func fetchTransaction(
|
|
187
|
+
txId: Data,
|
|
188
|
+
result: @escaping (Result<TransactionEntity, LightWalletServiceError>) -> Void
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
func fetchUTXOs(
|
|
192
|
+
for tAddress: String,
|
|
193
|
+
height: BlockHeight
|
|
194
|
+
) throws -> [UnspentTransactionOutputEntity]
|
|
195
|
+
|
|
196
|
+
func fetchUTXOs(
|
|
197
|
+
for tAddress: String,
|
|
198
|
+
height: BlockHeight,
|
|
199
|
+
result: @escaping(Result<[UnspentTransactionOutputEntity], LightWalletServiceError>) -> Void
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
func fetchUTXOs(
|
|
203
|
+
for tAddresses: [String],
|
|
204
|
+
height: BlockHeight
|
|
205
|
+
) throws -> [UnspentTransactionOutputEntity]
|
|
206
|
+
|
|
207
|
+
func fetchUTXOs(
|
|
208
|
+
for tAddresses: [String],
|
|
209
|
+
height: BlockHeight,
|
|
210
|
+
result: @escaping(Result<[UnspentTransactionOutputEntity], LightWalletServiceError>) -> Void
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
func closeConnection()
|
|
214
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ZcashCompactBlock.swift
|
|
3
|
+
// ZcashLightClientKit
|
|
4
|
+
//
|
|
5
|
+
// Created by Francisco Gindre on 12/09/2019.
|
|
6
|
+
// Copyright © 2019 Electric Coin Company. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
import Foundation
|
|
10
|
+
|
|
11
|
+
public typealias BlockHeight = Int
|
|
12
|
+
public typealias CompactBlockRange = ClosedRange<BlockHeight>
|
|
13
|
+
|
|
14
|
+
enum ZcashCompactBlockError: Error {
|
|
15
|
+
case unreadableBlock(compactBlock: CompactBlock)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
extension BlockHeight {
|
|
19
|
+
static func empty() -> BlockHeight {
|
|
20
|
+
BlockHeight(-1)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
extension ZcashCompactBlock {
|
|
25
|
+
init(compactBlock: CompactBlock) {
|
|
26
|
+
self.height = Int(compactBlock.height)
|
|
27
|
+
self.data = (try? compactBlock.serializedData()) ?? Data()
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
extension ZcashCompactBlock: Equatable {
|
|
32
|
+
public static func == (lhs: Self, rhs: Self) -> Bool {
|
|
33
|
+
if lhs.height != rhs.height {
|
|
34
|
+
return false
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return lhs.data == rhs.data
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
extension ZcashCompactBlock: Hashable {
|
|
42
|
+
public func hash(into hasher: inout Hasher) {
|
|
43
|
+
hasher.combine(height)
|
|
44
|
+
hasher.combine(data)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Protocolbuffer+Extensions.swift
|
|
3
|
+
// ZcashLightClientKit
|
|
4
|
+
//
|
|
5
|
+
// Created by Francisco Gindre on 12/09/2019.
|
|
6
|
+
// Copyright © 2019 Electric Coin Company. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
import Foundation
|
|
10
|
+
|
|
11
|
+
extension CompactBlockRange {
|
|
12
|
+
func blockRange() -> BlockRange {
|
|
13
|
+
BlockRange(startHeight: lowerBound, endHeight: upperBound)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
extension BlockID {
|
|
18
|
+
init(height: UInt64) {
|
|
19
|
+
self = BlockID()
|
|
20
|
+
self.height = height
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
init(height: BlockHeight) {
|
|
24
|
+
self.init(height: UInt64(height))
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
func compactBlockHeight() -> BlockHeight? {
|
|
28
|
+
BlockHeight(exactly: self.height)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
extension BlockRange {
|
|
33
|
+
init(startHeight: Int, endHeight: Int? = nil) {
|
|
34
|
+
self = BlockRange()
|
|
35
|
+
self.start = BlockID(height: UInt64(startHeight))
|
|
36
|
+
if let endHeight = endHeight {
|
|
37
|
+
self.end = BlockID(height: UInt64(endHeight))
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var compactBlockRange: CompactBlockRange {
|
|
42
|
+
return Int(self.start.height) ... Int(self.end.height)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
extension Array where Element == CompactBlock {
|
|
47
|
+
func asZcashCompactBlocks() -> [ZcashCompactBlock] {
|
|
48
|
+
self.map { ZcashCompactBlock(compactBlock: $0) }
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
// DO NOT EDIT.
|
|
2
|
+
// swift-format-ignore-file
|
|
3
|
+
//
|
|
4
|
+
// Generated by the Swift generator plugin for the protocol buffer compiler.
|
|
5
|
+
// Source: compact_formats.proto
|
|
6
|
+
//
|
|
7
|
+
// For information on using the generated types, please see the documentation:
|
|
8
|
+
// https://github.com/apple/swift-protobuf/
|
|
9
|
+
|
|
10
|
+
// Copyright (c) 2019-2020 The Zcash developers
|
|
11
|
+
// Distributed under the MIT software license, see the accompanying
|
|
12
|
+
// file COPYING or https://www.opensource.org/licenses/mit-license.php .
|
|
13
|
+
|
|
14
|
+
import Foundation
|
|
15
|
+
import SwiftProtobuf
|
|
16
|
+
|
|
17
|
+
// If the compiler emits an error on this type, it is because this file
|
|
18
|
+
// was generated by a version of the `protoc` Swift plug-in that is
|
|
19
|
+
// incompatible with the version of SwiftProtobuf to which you are linking.
|
|
20
|
+
// Please ensure that you are building against the same version of the API
|
|
21
|
+
// that was used to generate this file.
|
|
22
|
+
fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
|
|
23
|
+
struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
|
|
24
|
+
typealias Version = _2
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/// CompactBlock is a packaging of ONLY the data from a block that's needed to:
|
|
28
|
+
/// 1. Detect a payment to your shielded Sapling address
|
|
29
|
+
/// 2. Detect a spend of your shielded Sapling notes
|
|
30
|
+
/// 3. Update your witnesses to generate new Sapling spend proofs.
|
|
31
|
+
struct CompactBlock {
|
|
32
|
+
// SwiftProtobuf.Message conformance is added in an extension below. See the
|
|
33
|
+
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
|
34
|
+
// methods supported on all messages.
|
|
35
|
+
|
|
36
|
+
/// the version of this wire format, for storage
|
|
37
|
+
var protoVersion: UInt32 = 0
|
|
38
|
+
|
|
39
|
+
/// the height of this block
|
|
40
|
+
var height: UInt64 = 0
|
|
41
|
+
|
|
42
|
+
/// the ID (hash) of this block, same as in block explorers
|
|
43
|
+
var hash: Data = Data()
|
|
44
|
+
|
|
45
|
+
/// the ID (hash) of this block's predecessor
|
|
46
|
+
var prevHash: Data = Data()
|
|
47
|
+
|
|
48
|
+
/// Unix epoch time when the block was mined
|
|
49
|
+
var time: UInt32 = 0
|
|
50
|
+
|
|
51
|
+
/// (hash, prevHash, and time) OR (full header)
|
|
52
|
+
var header: Data = Data()
|
|
53
|
+
|
|
54
|
+
/// zero or more compact transactions from this block
|
|
55
|
+
var vtx: [CompactTx] = []
|
|
56
|
+
|
|
57
|
+
var unknownFields = SwiftProtobuf.UnknownStorage()
|
|
58
|
+
|
|
59
|
+
init() {}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/// CompactTx contains the minimum information for a wallet to know if this transaction
|
|
63
|
+
/// is relevant to it (either pays to it or spends from it) via shielded elements
|
|
64
|
+
/// only. This message will not encode a transparent-to-transparent transaction.
|
|
65
|
+
struct CompactTx {
|
|
66
|
+
// SwiftProtobuf.Message conformance is added in an extension below. See the
|
|
67
|
+
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
|
68
|
+
// methods supported on all messages.
|
|
69
|
+
|
|
70
|
+
/// the index within the full block
|
|
71
|
+
var index: UInt64 = 0
|
|
72
|
+
|
|
73
|
+
/// the ID (hash) of this transaction, same as in block explorers
|
|
74
|
+
var hash: Data = Data()
|
|
75
|
+
|
|
76
|
+
/// The transaction fee: present if server can provide. In the case of a
|
|
77
|
+
/// stateless server and a transaction with transparent inputs, this will be
|
|
78
|
+
/// unset because the calculation requires reference to prior transactions.
|
|
79
|
+
/// in a pure-Sapling context, the fee will be calculable as:
|
|
80
|
+
/// valueBalance + (sum(vPubNew) - sum(vPubOld) - sum(tOut))
|
|
81
|
+
var fee: UInt32 = 0
|
|
82
|
+
|
|
83
|
+
/// inputs
|
|
84
|
+
var spends: [CompactSpend] = []
|
|
85
|
+
|
|
86
|
+
/// outputs
|
|
87
|
+
var outputs: [CompactOutput] = []
|
|
88
|
+
|
|
89
|
+
var unknownFields = SwiftProtobuf.UnknownStorage()
|
|
90
|
+
|
|
91
|
+
init() {}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/// CompactSpend is a Sapling Spend Description as described in 7.3 of the Zcash
|
|
95
|
+
/// protocol specification.
|
|
96
|
+
struct CompactSpend {
|
|
97
|
+
// SwiftProtobuf.Message conformance is added in an extension below. See the
|
|
98
|
+
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
|
99
|
+
// methods supported on all messages.
|
|
100
|
+
|
|
101
|
+
/// nullifier (see the Zcash protocol specification)
|
|
102
|
+
var nf: Data = Data()
|
|
103
|
+
|
|
104
|
+
var unknownFields = SwiftProtobuf.UnknownStorage()
|
|
105
|
+
|
|
106
|
+
init() {}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/// output is a Sapling Output Description as described in section 7.4 of the
|
|
110
|
+
/// Zcash protocol spec. Total size is 948.
|
|
111
|
+
struct CompactOutput {
|
|
112
|
+
// SwiftProtobuf.Message conformance is added in an extension below. See the
|
|
113
|
+
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
|
|
114
|
+
// methods supported on all messages.
|
|
115
|
+
|
|
116
|
+
/// note commitment u-coordinate
|
|
117
|
+
var cmu: Data = Data()
|
|
118
|
+
|
|
119
|
+
/// ephemeral public key
|
|
120
|
+
var epk: Data = Data()
|
|
121
|
+
|
|
122
|
+
/// ciphertext and zkproof
|
|
123
|
+
var ciphertext: Data = Data()
|
|
124
|
+
|
|
125
|
+
var unknownFields = SwiftProtobuf.UnknownStorage()
|
|
126
|
+
|
|
127
|
+
init() {}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
|
|
131
|
+
|
|
132
|
+
fileprivate let _protobuf_package = "cash.z.wallet.sdk.rpc"
|
|
133
|
+
|
|
134
|
+
extension CompactBlock: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
|
135
|
+
static let protoMessageName: String = _protobuf_package + ".CompactBlock"
|
|
136
|
+
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
|
137
|
+
1: .same(proto: "protoVersion"),
|
|
138
|
+
2: .same(proto: "height"),
|
|
139
|
+
3: .same(proto: "hash"),
|
|
140
|
+
4: .same(proto: "prevHash"),
|
|
141
|
+
5: .same(proto: "time"),
|
|
142
|
+
6: .same(proto: "header"),
|
|
143
|
+
7: .same(proto: "vtx"),
|
|
144
|
+
]
|
|
145
|
+
|
|
146
|
+
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
|
147
|
+
while let fieldNumber = try decoder.nextFieldNumber() {
|
|
148
|
+
// The use of inline closures is to circumvent an issue where the compiler
|
|
149
|
+
// allocates stack space for every case branch when no optimizations are
|
|
150
|
+
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
|
151
|
+
switch fieldNumber {
|
|
152
|
+
case 1: try { try decoder.decodeSingularUInt32Field(value: &self.protoVersion) }()
|
|
153
|
+
case 2: try { try decoder.decodeSingularUInt64Field(value: &self.height) }()
|
|
154
|
+
case 3: try { try decoder.decodeSingularBytesField(value: &self.hash) }()
|
|
155
|
+
case 4: try { try decoder.decodeSingularBytesField(value: &self.prevHash) }()
|
|
156
|
+
case 5: try { try decoder.decodeSingularUInt32Field(value: &self.time) }()
|
|
157
|
+
case 6: try { try decoder.decodeSingularBytesField(value: &self.header) }()
|
|
158
|
+
case 7: try { try decoder.decodeRepeatedMessageField(value: &self.vtx) }()
|
|
159
|
+
default: break
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
|
165
|
+
if self.protoVersion != 0 {
|
|
166
|
+
try visitor.visitSingularUInt32Field(value: self.protoVersion, fieldNumber: 1)
|
|
167
|
+
}
|
|
168
|
+
if self.height != 0 {
|
|
169
|
+
try visitor.visitSingularUInt64Field(value: self.height, fieldNumber: 2)
|
|
170
|
+
}
|
|
171
|
+
if !self.hash.isEmpty {
|
|
172
|
+
try visitor.visitSingularBytesField(value: self.hash, fieldNumber: 3)
|
|
173
|
+
}
|
|
174
|
+
if !self.prevHash.isEmpty {
|
|
175
|
+
try visitor.visitSingularBytesField(value: self.prevHash, fieldNumber: 4)
|
|
176
|
+
}
|
|
177
|
+
if self.time != 0 {
|
|
178
|
+
try visitor.visitSingularUInt32Field(value: self.time, fieldNumber: 5)
|
|
179
|
+
}
|
|
180
|
+
if !self.header.isEmpty {
|
|
181
|
+
try visitor.visitSingularBytesField(value: self.header, fieldNumber: 6)
|
|
182
|
+
}
|
|
183
|
+
if !self.vtx.isEmpty {
|
|
184
|
+
try visitor.visitRepeatedMessageField(value: self.vtx, fieldNumber: 7)
|
|
185
|
+
}
|
|
186
|
+
try unknownFields.traverse(visitor: &visitor)
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
static func ==(lhs: CompactBlock, rhs: CompactBlock) -> Bool {
|
|
190
|
+
if lhs.protoVersion != rhs.protoVersion {return false}
|
|
191
|
+
if lhs.height != rhs.height {return false}
|
|
192
|
+
if lhs.hash != rhs.hash {return false}
|
|
193
|
+
if lhs.prevHash != rhs.prevHash {return false}
|
|
194
|
+
if lhs.time != rhs.time {return false}
|
|
195
|
+
if lhs.header != rhs.header {return false}
|
|
196
|
+
if lhs.vtx != rhs.vtx {return false}
|
|
197
|
+
if lhs.unknownFields != rhs.unknownFields {return false}
|
|
198
|
+
return true
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
extension CompactTx: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
|
203
|
+
static let protoMessageName: String = _protobuf_package + ".CompactTx"
|
|
204
|
+
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
|
205
|
+
1: .same(proto: "index"),
|
|
206
|
+
2: .same(proto: "hash"),
|
|
207
|
+
3: .same(proto: "fee"),
|
|
208
|
+
4: .same(proto: "spends"),
|
|
209
|
+
5: .same(proto: "outputs"),
|
|
210
|
+
]
|
|
211
|
+
|
|
212
|
+
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
|
213
|
+
while let fieldNumber = try decoder.nextFieldNumber() {
|
|
214
|
+
// The use of inline closures is to circumvent an issue where the compiler
|
|
215
|
+
// allocates stack space for every case branch when no optimizations are
|
|
216
|
+
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
|
217
|
+
switch fieldNumber {
|
|
218
|
+
case 1: try { try decoder.decodeSingularUInt64Field(value: &self.index) }()
|
|
219
|
+
case 2: try { try decoder.decodeSingularBytesField(value: &self.hash) }()
|
|
220
|
+
case 3: try { try decoder.decodeSingularUInt32Field(value: &self.fee) }()
|
|
221
|
+
case 4: try { try decoder.decodeRepeatedMessageField(value: &self.spends) }()
|
|
222
|
+
case 5: try { try decoder.decodeRepeatedMessageField(value: &self.outputs) }()
|
|
223
|
+
default: break
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
|
229
|
+
if self.index != 0 {
|
|
230
|
+
try visitor.visitSingularUInt64Field(value: self.index, fieldNumber: 1)
|
|
231
|
+
}
|
|
232
|
+
if !self.hash.isEmpty {
|
|
233
|
+
try visitor.visitSingularBytesField(value: self.hash, fieldNumber: 2)
|
|
234
|
+
}
|
|
235
|
+
if self.fee != 0 {
|
|
236
|
+
try visitor.visitSingularUInt32Field(value: self.fee, fieldNumber: 3)
|
|
237
|
+
}
|
|
238
|
+
if !self.spends.isEmpty {
|
|
239
|
+
try visitor.visitRepeatedMessageField(value: self.spends, fieldNumber: 4)
|
|
240
|
+
}
|
|
241
|
+
if !self.outputs.isEmpty {
|
|
242
|
+
try visitor.visitRepeatedMessageField(value: self.outputs, fieldNumber: 5)
|
|
243
|
+
}
|
|
244
|
+
try unknownFields.traverse(visitor: &visitor)
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
static func ==(lhs: CompactTx, rhs: CompactTx) -> Bool {
|
|
248
|
+
if lhs.index != rhs.index {return false}
|
|
249
|
+
if lhs.hash != rhs.hash {return false}
|
|
250
|
+
if lhs.fee != rhs.fee {return false}
|
|
251
|
+
if lhs.spends != rhs.spends {return false}
|
|
252
|
+
if lhs.outputs != rhs.outputs {return false}
|
|
253
|
+
if lhs.unknownFields != rhs.unknownFields {return false}
|
|
254
|
+
return true
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
extension CompactSpend: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
|
259
|
+
static let protoMessageName: String = _protobuf_package + ".CompactSpend"
|
|
260
|
+
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
|
261
|
+
1: .same(proto: "nf"),
|
|
262
|
+
]
|
|
263
|
+
|
|
264
|
+
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
|
265
|
+
while let fieldNumber = try decoder.nextFieldNumber() {
|
|
266
|
+
// The use of inline closures is to circumvent an issue where the compiler
|
|
267
|
+
// allocates stack space for every case branch when no optimizations are
|
|
268
|
+
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
|
269
|
+
switch fieldNumber {
|
|
270
|
+
case 1: try { try decoder.decodeSingularBytesField(value: &self.nf) }()
|
|
271
|
+
default: break
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
|
277
|
+
if !self.nf.isEmpty {
|
|
278
|
+
try visitor.visitSingularBytesField(value: self.nf, fieldNumber: 1)
|
|
279
|
+
}
|
|
280
|
+
try unknownFields.traverse(visitor: &visitor)
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
static func ==(lhs: CompactSpend, rhs: CompactSpend) -> Bool {
|
|
284
|
+
if lhs.nf != rhs.nf {return false}
|
|
285
|
+
if lhs.unknownFields != rhs.unknownFields {return false}
|
|
286
|
+
return true
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
extension CompactOutput: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
|
291
|
+
static let protoMessageName: String = _protobuf_package + ".CompactOutput"
|
|
292
|
+
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
|
293
|
+
1: .same(proto: "cmu"),
|
|
294
|
+
2: .same(proto: "epk"),
|
|
295
|
+
3: .same(proto: "ciphertext"),
|
|
296
|
+
]
|
|
297
|
+
|
|
298
|
+
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
|
299
|
+
while let fieldNumber = try decoder.nextFieldNumber() {
|
|
300
|
+
// The use of inline closures is to circumvent an issue where the compiler
|
|
301
|
+
// allocates stack space for every case branch when no optimizations are
|
|
302
|
+
// enabled. https://github.com/apple/swift-protobuf/issues/1034
|
|
303
|
+
switch fieldNumber {
|
|
304
|
+
case 1: try { try decoder.decodeSingularBytesField(value: &self.cmu) }()
|
|
305
|
+
case 2: try { try decoder.decodeSingularBytesField(value: &self.epk) }()
|
|
306
|
+
case 3: try { try decoder.decodeSingularBytesField(value: &self.ciphertext) }()
|
|
307
|
+
default: break
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
|
|
313
|
+
if !self.cmu.isEmpty {
|
|
314
|
+
try visitor.visitSingularBytesField(value: self.cmu, fieldNumber: 1)
|
|
315
|
+
}
|
|
316
|
+
if !self.epk.isEmpty {
|
|
317
|
+
try visitor.visitSingularBytesField(value: self.epk, fieldNumber: 2)
|
|
318
|
+
}
|
|
319
|
+
if !self.ciphertext.isEmpty {
|
|
320
|
+
try visitor.visitSingularBytesField(value: self.ciphertext, fieldNumber: 3)
|
|
321
|
+
}
|
|
322
|
+
try unknownFields.traverse(visitor: &visitor)
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
static func ==(lhs: CompactOutput, rhs: CompactOutput) -> Bool {
|
|
326
|
+
if lhs.cmu != rhs.cmu {return false}
|
|
327
|
+
if lhs.epk != rhs.epk {return false}
|
|
328
|
+
if lhs.ciphertext != rhs.ciphertext {return false}
|
|
329
|
+
if lhs.unknownFields != rhs.unknownFields {return false}
|
|
330
|
+
return true
|
|
331
|
+
}
|
|
332
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Copyright (c) 2019-2020 The Zcash developers
|
|
2
|
+
// Distributed under the MIT software license, see the accompanying
|
|
3
|
+
// file COPYING or https://www.opensource.org/licenses/mit-license.php .
|
|
4
|
+
|
|
5
|
+
syntax = "proto3";
|
|
6
|
+
package cash.z.wallet.sdk.rpc;
|
|
7
|
+
option go_package = "lightwalletd/walletrpc";
|
|
8
|
+
option swift_prefix = "";
|
|
9
|
+
// Remember that proto3 fields are all optional. A field that is not present will be set to its zero value.
|
|
10
|
+
// bytes fields of hashes are in canonical little-endian format.
|
|
11
|
+
|
|
12
|
+
// CompactBlock is a packaging of ONLY the data from a block that's needed to:
|
|
13
|
+
// 1. Detect a payment to your shielded Sapling address
|
|
14
|
+
// 2. Detect a spend of your shielded Sapling notes
|
|
15
|
+
// 3. Update your witnesses to generate new Sapling spend proofs.
|
|
16
|
+
message CompactBlock {
|
|
17
|
+
uint32 protoVersion = 1; // the version of this wire format, for storage
|
|
18
|
+
uint64 height = 2; // the height of this block
|
|
19
|
+
bytes hash = 3; // the ID (hash) of this block, same as in block explorers
|
|
20
|
+
bytes prevHash = 4; // the ID (hash) of this block's predecessor
|
|
21
|
+
uint32 time = 5; // Unix epoch time when the block was mined
|
|
22
|
+
bytes header = 6; // (hash, prevHash, and time) OR (full header)
|
|
23
|
+
repeated CompactTx vtx = 7; // zero or more compact transactions from this block
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// CompactTx contains the minimum information for a wallet to know if this transaction
|
|
27
|
+
// is relevant to it (either pays to it or spends from it) via shielded elements
|
|
28
|
+
// only. This message will not encode a transparent-to-transparent transaction.
|
|
29
|
+
message CompactTx {
|
|
30
|
+
uint64 index = 1; // the index within the full block
|
|
31
|
+
bytes hash = 2; // the ID (hash) of this transaction, same as in block explorers
|
|
32
|
+
|
|
33
|
+
// The transaction fee: present if server can provide. In the case of a
|
|
34
|
+
// stateless server and a transaction with transparent inputs, this will be
|
|
35
|
+
// unset because the calculation requires reference to prior transactions.
|
|
36
|
+
// in a pure-Sapling context, the fee will be calculable as:
|
|
37
|
+
// valueBalance + (sum(vPubNew) - sum(vPubOld) - sum(tOut))
|
|
38
|
+
uint32 fee = 3;
|
|
39
|
+
|
|
40
|
+
repeated CompactSpend spends = 4; // inputs
|
|
41
|
+
repeated CompactOutput outputs = 5; // outputs
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// CompactSpend is a Sapling Spend Description as described in 7.3 of the Zcash
|
|
45
|
+
// protocol specification.
|
|
46
|
+
message CompactSpend {
|
|
47
|
+
bytes nf = 1; // nullifier (see the Zcash protocol specification)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// output is a Sapling Output Description as described in section 7.4 of the
|
|
51
|
+
// Zcash protocol spec. Total size is 948.
|
|
52
|
+
message CompactOutput {
|
|
53
|
+
bytes cmu = 1; // note commitment u-coordinate
|
|
54
|
+
bytes epk = 2; // ephemeral public key
|
|
55
|
+
bytes ciphertext = 3; // ciphertext and zkproof
|
|
56
|
+
}
|