zcash/librustzcash#1411 zcash/librustzcash#1411 Refactor `AccountBalance` to use `Balance` for transparent funds zcash/librustzcash#1349 zcash/librustzcash#1349 zcash_client_backend: Required functionality for full `zcashd` wallet replacement. zcash/librustzcash#1411->zcash/librustzcash#1349 zcash/librustzcash#1350 zcash/librustzcash#1350 Determine what subset of zcashd wallet functionality will be required by users in a replacement wallet (independent of how it is accessed) zcash/librustzcash#1350->zcash/librustzcash#1349 zcash/librustzcash#1395 zcash/librustzcash#1395 Enumerate the data that the indexer service needs to provide zcash/librustzcash#1350->zcash/librustzcash#1395 zcash/librustzcash#1369 zcash/librustzcash#1369 Implement the subset of `zcashd` RPCs that expose the decided-upon wallet functionality zcash/librustzcash#1350->zcash/librustzcash#1369 zcash/librustzcash#1335 zcash/librustzcash#1335 Support for multiple accounts zcash/librustzcash#1350->zcash/librustzcash#1335 zcash/librustzcash#1410 zcash/librustzcash#1410 zcash_client_backend: Introduce "chain access API" to the sync engine zcash/librustzcash#1395->zcash/librustzcash#1410 zcash/librustzcash#1369->zcash/librustzcash#1349 zcash/librustzcash#1335->zcash/librustzcash#1349 zcash/librustzcash#1351 zcash/librustzcash#1351 Wrap the `zcash_client_backend` sync engine as a stateful wallet service application. zcash/librustzcash#1410->zcash/librustzcash#1351 zcash/librustzcash#1351->zcash/librustzcash#1349 zcash/librustzcash#1364 zcash/librustzcash#1364 Consider whether we provide drop-in support for at least some `zcashd` RPC APIs. zcash/librustzcash#1351->zcash/librustzcash#1364 zcash/zips#821 zcash/zips#821 Define a standard wallet export format. zcash/librustzcash#1365 zcash/librustzcash#1365 Add the functionality to restore from `zcashd` wallet.dat or wallet dump files. zcash/zips#821->zcash/librustzcash#1365 zcash/librustzcash#1365->zcash/librustzcash#1349 zcash/librustzcash#1414 zcash/librustzcash#1414 zcash_client_backend: Create the framework for an in-memory wallet backend zcash/librustzcash#1415 zcash/librustzcash#1415 zcash_client_backend: Implement internals of in-memory wallet by migrating tests from `zcash_client_sqlite` zcash/librustzcash#1414->zcash/librustzcash#1415 zcash/librustzcash#1415->zcash/librustzcash#1410 zcash/librustzcash#1353 zcash/librustzcash#1353 zcash_client_backend: If a seed is reused, transparent UTXO spends from one wallet may not be detected in the other. zcash/librustzcash#1353->zcash/librustzcash#1349 zcash/librustzcash#578 zcash/librustzcash#578 Survey key storage and usage of `zcashd` and `zcash_client_sqlite` zcash/librustzcash#1371 zcash/librustzcash#1371 Create structures for storing broader kinds of transparent spending key material zcash/librustzcash#578->zcash/librustzcash#1371 zcash/librustzcash#1348 zcash/librustzcash#1348 zcash_client_backend: Add the ability to restore from `zcashd` seed phrases. zcash/librustzcash#578->zcash/librustzcash#1348 zcash/librustzcash#579 zcash/librustzcash#579 Redesign Rust types for representing wallet key material zcash/librustzcash#578->zcash/librustzcash#579 zcash/librustzcash#1370 zcash/librustzcash#1370 Make it possible to construct proposals that spend stored transparent funds (P2PKH and P2SH) zcash/librustzcash#1371->zcash/librustzcash#1370 zcash/librustzcash#1348->zcash/librustzcash#1349 zcash/librustzcash#579->zcash/librustzcash#1349 zcash/librustzcash#1370->zcash/librustzcash#1349 zcash/librustzcash#1362 zcash/librustzcash#1362 Create a generator and evaluator for arbitrary transparent Zcash script. zcash/librustzcash#1362->zcash/librustzcash#1371 zcash/librustzcash#1360 zcash/librustzcash#1360 Transaction builder support for spending (almost) arbitrary transparent inputs. zcash/librustzcash#1362->zcash/librustzcash#1360 zcash/librustzcash#1360->zcash/librustzcash#1370 zcash/librustzcash#1368 zcash/librustzcash#1368 zcash_client_backend: Introduce (initially internal) "sync API" between the scanning and wallet parts of `scan_cached_blocks` zcash/librustzcash#1368->zcash/librustzcash#1349 zcash/librustzcash#1188 zcash/librustzcash#1188 `zcash_client_backend`: Support import of seed phrases from transparent- only wallets. zcash/librustzcash#1188->zcash/librustzcash#1348 zcash/zcash#6873 zcash/zcash#6873 Enumerate the data / state that needs to be migrated from `wallet.dat` to a future full node wallet zcash/zcash#6873->zcash/zips#821 zcash/zcash#5796 zcash/zcash#5796 Add ability to restore the zcashd wallet from the emergency recovery phrase (mnemonic seed). zcash/librustzcash#1364->zcash/librustzcash#1369 zcash/librustzcash#1361 zcash/librustzcash#1361 `zcash_client_backend`: Add support for full transparent coin tracking (P2PKH and P2SH) zcash/librustzcash#1361->zcash/librustzcash#1370 zcash/zcash#4099 zcash/zcash#4099 Investigate the distribution of P2SH scripts zcash/zcash#4099->zcash/librustzcash#1362 zcash/zcash#4099->zcash/librustzcash#1360 zcash/librustzcash#1367 zcash/librustzcash#1367 Create a "feathered" wrapper around `shardtree` to enable tracking witnesses for multiple candidate chains zcash/librustzcash#1366 zcash/librustzcash#1366 Enable wallets build with the `zcash_client_backend` APIs to track multiple candidate chain tips zcash/librustzcash#1367->zcash/librustzcash#1366 zcash/librustzcash#1366->zcash/librustzcash#1349 zcash/librustzcash#1373 zcash/librustzcash#1373 Agree on a sketch of the overall wallet architecture zcash/librustzcash#1373->zcash/librustzcash#1395 zcash/librustzcash#1373->zcash/librustzcash#1368 zcash/librustzcash#1373->zcash/librustzcash#1367 zcash/librustzcash#1379 zcash/librustzcash#1379 `zcash_client_backend`: Add support for full P2PKH history tracking zcash/librustzcash#1373->zcash/librustzcash#1379 zcash/librustzcash#1379->zcash/librustzcash#1353 zcash/librustzcash#1379->zcash/librustzcash#1361 zcash/librustzcash#1074 zcash/librustzcash#1074 Transparent input details should be retrieved with transactions on account recovery zcash/librustzcash#1074->zcash/librustzcash#1349 zcash/librustzcash#1412 zcash/librustzcash#1412 Migrate test framework from `zcash_client_sqlite` to `zcash_client_backend` zcash/librustzcash#1412->zcash/librustzcash#1415 zcash/librustzcash#1363 zcash/librustzcash#1363 Enumerate the capabilities exposed by zcashd APIs for spending transparent coins. zcash/librustzcash#1363->zcash/librustzcash#1350 zcash/librustzcash#1363->zcash/librustzcash#1362 zcash/librustzcash#1363->zcash/librustzcash#1360 zcash/librustzcash#1363->zcash/librustzcash#1364 zcash/librustzcash#1372 zcash/librustzcash#1372 `zcash_primitives::legacy `: Enhance transparent `Script` support as necessary zcash/librustzcash#1372->zcash/librustzcash#1371 zcash/librustzcash#1372->zcash/librustzcash#1362 zcash/librustzcash#1381 zcash/librustzcash#1381 zcash_primitives: Rework the transparent bundle builder to be more like the shielded bundle builders zcash/librustzcash#1381->zcash/librustzcash#1360 zcash/zips#675 zcash/zips#675 [ZIP 332] Wallet Recovery from zcashd HD Seeds zcash/zips#675->zcash/librustzcash#1348 zcash/zips#675->zcash/zcash#5796 zcash/zcash#6453 zcash/zcash#6453 Provide a wallet upgrade path that moves funds held by legacy keys into a unified account. zcash/zips#675->zcash/zcash#6453