Improve naming for wallet/block database connections.

This commit is contained in:
Kris Nuttycombe 2020-10-21 13:08:09 -06:00
parent ee0e059eb3
commit 1fd74d0a71
8 changed files with 95 additions and 95 deletions

View File

@ -113,14 +113,14 @@ where
/// data_api::chain::scan_cached_blocks, /// data_api::chain::scan_cached_blocks,
/// }; /// };
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// CacheConnection, /// BlockDB,
/// DataConnection, /// WalletDB,
/// }; /// };
/// ///
/// let cache_file = NamedTempFile::new().unwrap(); /// let cache_file = NamedTempFile::new().unwrap();
/// let cache = CacheConnection::for_path(cache_file).unwrap(); /// let cache = BlockDB::for_path(cache_file).unwrap();
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let data = DataConnection::for_path(data_file).unwrap(); /// let data = WalletDB::for_path(data_file).unwrap();
/// scan_cached_blocks(&Network::TestNetwork, &cache, &data, None); /// scan_cached_blocks(&Network::TestNetwork, &cache, &data, None);
/// ``` /// ```
/// ///

View File

@ -113,7 +113,7 @@ where
/// wallet::OvkPolicy, /// wallet::OvkPolicy,
/// }; /// };
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// }; /// };
/// ///
/// let tx_prover = match LocalTxProver::with_default_location() { /// let tx_prover = match LocalTxProver::with_default_location() {
@ -128,7 +128,7 @@ where
/// let to = extsk.default_address().unwrap().1.into(); /// let to = extsk.default_address().unwrap().1.into();
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// match create_spend_to_address( /// match create_spend_to_address(
/// &db, /// &db,
/// &Network::TestNetwork, /// &Network::TestNetwork,

View File

@ -20,16 +20,16 @@
//! }; //! };
//! //!
//! use zcash_client_sqlite::{ //! use zcash_client_sqlite::{
//! CacheConnection, //! BlockDB,
//! DataConnection, //! WalletDB,
//! wallet::{rewind_to_height}, //! wallet::{rewind_to_height},
//! }; //! };
//! //!
//! let network = Network::TestNetwork; //! let network = Network::TestNetwork;
//! let cache_file = NamedTempFile::new().unwrap(); //! let cache_file = NamedTempFile::new().unwrap();
//! let db_cache = CacheConnection::for_path(cache_file).unwrap(); //! let db_cache = BlockDB::for_path(cache_file).unwrap();
//! let data_file = NamedTempFile::new().unwrap(); //! let data_file = NamedTempFile::new().unwrap();
//! let db_data = DataConnection::for_path(data_file).unwrap(); //! let db_data = WalletDB::for_path(data_file).unwrap();
//! //!
//! // 1) Download new CompactBlocks into db_cache. //! // 1) Download new CompactBlocks into db_cache.
//! //!
@ -81,7 +81,7 @@ use zcash_primitives::consensus::BlockHeight;
use zcash_client_backend::{data_api::error::Error, proto::compact_formats::CompactBlock}; use zcash_client_backend::{data_api::error::Error, proto::compact_formats::CompactBlock};
use crate::{error::SqliteClientError, CacheConnection}; use crate::{error::SqliteClientError, BlockDB};
pub mod init; pub mod init;
@ -91,7 +91,7 @@ struct CompactBlockRow {
} }
pub fn with_blocks<F>( pub fn with_blocks<F>(
cache: &CacheConnection, cache: &BlockDB,
from_height: BlockHeight, from_height: BlockHeight,
limit: Option<u32>, limit: Option<u32>,
mut with_row: F, mut with_row: F,
@ -163,17 +163,17 @@ mod tests {
init::{init_accounts_table, init_data_database}, init::{init_accounts_table, init_data_database},
rewind_to_height, rewind_to_height,
}, },
AccountId, CacheConnection, DataConnection, NoteId, AccountId, BlockDB, WalletDB, NoteId,
}; };
#[test] #[test]
fn valid_chain_states() { fn valid_chain_states() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -249,11 +249,11 @@ mod tests {
#[test] #[test]
fn invalid_chain_cache_disconnected() { fn invalid_chain_cache_disconnected() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -322,11 +322,11 @@ mod tests {
#[test] #[test]
fn invalid_chain_cache_reorg() { fn invalid_chain_cache_reorg() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -395,11 +395,11 @@ mod tests {
#[test] #[test]
fn data_db_rewinding() { fn data_db_rewinding() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -453,11 +453,11 @@ mod tests {
#[test] #[test]
fn scan_cached_blocks_requires_sequential_blocks() { fn scan_cached_blocks_requires_sequential_blocks() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -517,11 +517,11 @@ mod tests {
#[test] #[test]
fn scan_cached_blocks_finds_received_notes() { fn scan_cached_blocks_finds_received_notes() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -564,11 +564,11 @@ mod tests {
#[test] #[test]
fn scan_cached_blocks_finds_change_notes() { fn scan_cached_blocks_finds_change_notes() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet

View File

@ -2,7 +2,7 @@
use rusqlite::NO_PARAMS; use rusqlite::NO_PARAMS;
use crate::CacheConnection; use crate::BlockDB;
/// Sets up the internal structure of the cache database. /// Sets up the internal structure of the cache database.
/// ///
@ -11,15 +11,15 @@ use crate::CacheConnection;
/// ``` /// ```
/// use tempfile::NamedTempFile; /// use tempfile::NamedTempFile;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// CacheConnection, /// BlockDB,
/// chain::init::init_cache_database, /// chain::init::init_cache_database,
/// }; /// };
/// ///
/// let cache_file = NamedTempFile::new().unwrap(); /// let cache_file = NamedTempFile::new().unwrap();
/// let db = CacheConnection::for_path(cache_file.path()).unwrap(); /// let db = BlockDB::for_path(cache_file.path()).unwrap();
/// init_cache_database(&db).unwrap(); /// init_cache_database(&db).unwrap();
/// ``` /// ```
pub fn init_cache_database(db_cache: &CacheConnection) -> Result<(), rusqlite::Error> { pub fn init_cache_database(db_cache: &BlockDB) -> Result<(), rusqlite::Error> {
db_cache.0.execute( db_cache.0.execute(
"CREATE TABLE IF NOT EXISTS compactblocks ( "CREATE TABLE IF NOT EXISTS compactblocks (
height INTEGER PRIMARY KEY, height INTEGER PRIMARY KEY,

View File

@ -66,15 +66,15 @@ impl fmt::Display for NoteId {
} }
} }
pub struct DataConnection(Connection); pub struct WalletDB(Connection);
impl DataConnection { impl WalletDB {
pub fn for_path<P: AsRef<Path>>(path: P) -> Result<Self, rusqlite::Error> { pub fn for_path<P: AsRef<Path>>(path: P) -> Result<Self, rusqlite::Error> {
Connection::open(path).map(DataConnection) Connection::open(path).map(WalletDB)
} }
} }
impl<'a> WalletRead for &'a DataConnection { impl<'a> WalletRead for &'a WalletDB {
type Error = SqliteClientError; type Error = SqliteClientError;
type NoteRef = NoteId; type NoteRef = NoteId;
type TxRef = i64; type TxRef = i64;
@ -242,7 +242,7 @@ impl<'a> WalletRead for &'a DataConnection {
} }
pub struct DataConnStmtCache<'a> { pub struct DataConnStmtCache<'a> {
conn: &'a DataConnection, conn: &'a WalletDB,
stmt_insert_block: Statement<'a>, stmt_insert_block: Statement<'a>,
stmt_insert_tx_meta: Statement<'a>, stmt_insert_tx_meta: Statement<'a>,
@ -536,15 +536,15 @@ impl<'a> WalletWrite for DataConnStmtCache<'a> {
} }
} }
pub struct CacheConnection(Connection); pub struct BlockDB(Connection);
impl CacheConnection { impl BlockDB {
pub fn for_path<P: AsRef<Path>>(path: P) -> Result<Self, rusqlite::Error> { pub fn for_path<P: AsRef<Path>>(path: P) -> Result<Self, rusqlite::Error> {
Connection::open(path).map(CacheConnection) Connection::open(path).map(BlockDB)
} }
} }
impl BlockSource for CacheConnection { impl BlockSource for BlockDB {
type Error = SqliteClientError; type Error = SqliteClientError;
fn init_cache(&self) -> Result<(), Self::Error> { fn init_cache(&self) -> Result<(), Self::Error> {
@ -594,7 +594,7 @@ mod tests {
zip32::ExtendedFullViewingKey, zip32::ExtendedFullViewingKey,
}; };
use super::CacheConnection; use super::BlockDB;
#[cfg(feature = "mainnet")] #[cfg(feature = "mainnet")]
pub(crate) fn network() -> Network { pub(crate) fn network() -> Network {
@ -755,7 +755,7 @@ mod tests {
} }
/// Insert a fake CompactBlock into the cache DB. /// Insert a fake CompactBlock into the cache DB.
pub(crate) fn insert_into_cache(db_cache: &CacheConnection, cb: &CompactBlock) { pub(crate) fn insert_into_cache(db_cache: &BlockDB, cb: &CompactBlock) {
let cb_bytes = cb.write_to_bytes().unwrap(); let cb_bytes = cb.write_to_bytes().unwrap();
db_cache db_cache
.0 .0

View File

@ -20,7 +20,7 @@ use zcash_client_backend::{
}, },
}; };
use crate::{error::SqliteClientError, AccountId, DataConnection, NoteId}; use crate::{error::SqliteClientError, AccountId, WalletDB, NoteId};
pub mod init; pub mod init;
pub mod transact; pub mod transact;
@ -36,16 +36,16 @@ pub mod transact;
/// }; /// };
/// use zcash_client_backend::api::AccountId; /// use zcash_client_backend::api::AccountId;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::get_address, /// wallet::get_address,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// let addr = get_address(&db, &Network::TestNetwork, AccountId(0)); /// let addr = get_address(&db, &Network::TestNetwork, AccountId(0));
/// ``` /// ```
pub fn get_address<P: consensus::Parameters>( pub fn get_address<P: consensus::Parameters>(
data: &DataConnection, data: &WalletDB,
params: &P, params: &P,
account: AccountId, account: AccountId,
) -> Result<Option<PaymentAddress>, SqliteClientError> { ) -> Result<Option<PaymentAddress>, SqliteClientError> {
@ -61,7 +61,7 @@ pub fn get_address<P: consensus::Parameters>(
} }
pub fn get_extended_full_viewing_keys<P: consensus::Parameters>( pub fn get_extended_full_viewing_keys<P: consensus::Parameters>(
data: &DataConnection, data: &WalletDB,
params: &P, params: &P,
) -> Result<Vec<ExtendedFullViewingKey>, SqliteClientError> { ) -> Result<Vec<ExtendedFullViewingKey>, SqliteClientError> {
// Fetch the ExtendedFullViewingKeys we are tracking // Fetch the ExtendedFullViewingKeys we are tracking
@ -87,7 +87,7 @@ pub fn get_extended_full_viewing_keys<P: consensus::Parameters>(
} }
pub fn is_valid_account_extfvk<P: consensus::Parameters>( pub fn is_valid_account_extfvk<P: consensus::Parameters>(
data: &DataConnection, data: &WalletDB,
params: &P, params: &P,
account: AccountId, account: AccountId,
extfvk: &ExtendedFullViewingKey, extfvk: &ExtendedFullViewingKey,
@ -119,15 +119,15 @@ pub fn is_valid_account_extfvk<P: consensus::Parameters>(
/// use tempfile::NamedTempFile; /// use tempfile::NamedTempFile;
/// use zcash_client_backend::api::AccountId; /// use zcash_client_backend::api::AccountId;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::get_balance, /// wallet::get_balance,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// let addr = get_balance(&db, AccountId(0)); /// let addr = get_balance(&db, AccountId(0));
/// ``` /// ```
pub fn get_balance(data: &DataConnection, account: AccountId) -> Result<Amount, SqliteClientError> { pub fn get_balance(data: &WalletDB, account: AccountId) -> Result<Amount, SqliteClientError> {
let balance = data.0.query_row( let balance = data.0.query_row(
"SELECT SUM(value) FROM received_notes "SELECT SUM(value) FROM received_notes
INNER JOIN transactions ON transactions.id_tx = received_notes.tx INNER JOIN transactions ON transactions.id_tx = received_notes.tx
@ -154,16 +154,16 @@ pub fn get_balance(data: &DataConnection, account: AccountId) -> Result<Amount,
/// use zcash_primitives::consensus::{BlockHeight}; /// use zcash_primitives::consensus::{BlockHeight};
/// use zcash_client_backend::api::AccountId; /// use zcash_client_backend::api::AccountId;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::get_verified_balance, /// wallet::get_verified_balance,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// let addr = get_verified_balance(&db, AccountId(0), BlockHeight::from_u32(0)); /// let addr = get_verified_balance(&db, AccountId(0), BlockHeight::from_u32(0));
/// ``` /// ```
pub fn get_verified_balance( pub fn get_verified_balance(
data: &DataConnection, data: &WalletDB,
account: AccountId, account: AccountId,
anchor_height: BlockHeight, anchor_height: BlockHeight,
) -> Result<Amount, SqliteClientError> { ) -> Result<Amount, SqliteClientError> {
@ -194,16 +194,16 @@ pub fn get_verified_balance(
/// use tempfile::NamedTempFile; /// use tempfile::NamedTempFile;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// NoteId, /// NoteId,
/// DataConnection, /// WalletDB,
/// wallet::get_received_memo_as_utf8, /// wallet::get_received_memo_as_utf8,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// let memo = get_received_memo_as_utf8(&db, NoteId(27)); /// let memo = get_received_memo_as_utf8(&db, NoteId(27));
/// ``` /// ```
pub fn get_received_memo_as_utf8( pub fn get_received_memo_as_utf8(
data: &DataConnection, data: &WalletDB,
id_note: NoteId, id_note: NoteId,
) -> Result<Option<String>, SqliteClientError> { ) -> Result<Option<String>, SqliteClientError> {
let memo: Vec<_> = data.0.query_row( let memo: Vec<_> = data.0.query_row(
@ -234,16 +234,16 @@ pub fn get_received_memo_as_utf8(
/// use tempfile::NamedTempFile; /// use tempfile::NamedTempFile;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// NoteId, /// NoteId,
/// DataConnection, /// WalletDB,
/// wallet::get_sent_memo_as_utf8, /// wallet::get_sent_memo_as_utf8,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file).unwrap(); /// let db = WalletDB::for_path(data_file).unwrap();
/// let memo = get_sent_memo_as_utf8(&db, NoteId(12)); /// let memo = get_sent_memo_as_utf8(&db, NoteId(12));
/// ``` /// ```
pub fn get_sent_memo_as_utf8( pub fn get_sent_memo_as_utf8(
data: &DataConnection, data: &WalletDB,
id_note: NoteId, id_note: NoteId,
) -> Result<Option<String>, SqliteClientError> { ) -> Result<Option<String>, SqliteClientError> {
let memo: Vec<_> = data.0.query_row( let memo: Vec<_> = data.0.query_row(
@ -264,7 +264,7 @@ pub fn get_sent_memo_as_utf8(
} }
pub fn block_height_extrema( pub fn block_height_extrema(
conn: &DataConnection, conn: &WalletDB,
) -> Result<Option<(BlockHeight, BlockHeight)>, rusqlite::Error> { ) -> Result<Option<(BlockHeight, BlockHeight)>, rusqlite::Error> {
conn.0 conn.0
.query_row( .query_row(
@ -285,7 +285,7 @@ pub fn block_height_extrema(
} }
pub fn get_tx_height( pub fn get_tx_height(
conn: &DataConnection, conn: &WalletDB,
txid: TxId, txid: TxId,
) -> Result<Option<BlockHeight>, rusqlite::Error> { ) -> Result<Option<BlockHeight>, rusqlite::Error> {
conn.0 conn.0
@ -298,7 +298,7 @@ pub fn get_tx_height(
} }
pub fn get_block_hash( pub fn get_block_hash(
conn: &DataConnection, conn: &WalletDB,
block_height: BlockHeight, block_height: BlockHeight,
) -> Result<Option<BlockHash>, rusqlite::Error> { ) -> Result<Option<BlockHash>, rusqlite::Error> {
conn.0 conn.0
@ -318,7 +318,7 @@ pub fn get_block_hash(
/// If the requested height is greater than or equal to the height of the last scanned /// If the requested height is greater than or equal to the height of the last scanned
/// block, this function does nothing. /// block, this function does nothing.
pub fn rewind_to_height<P: consensus::Parameters>( pub fn rewind_to_height<P: consensus::Parameters>(
conn: &DataConnection, conn: &WalletDB,
parameters: &P, parameters: &P,
block_height: BlockHeight, block_height: BlockHeight,
) -> Result<(), SqliteClientError> { ) -> Result<(), SqliteClientError> {
@ -369,7 +369,7 @@ pub fn rewind_to_height<P: consensus::Parameters>(
} }
pub fn get_commitment_tree( pub fn get_commitment_tree(
data: &DataConnection, data: &WalletDB,
block_height: BlockHeight, block_height: BlockHeight,
) -> Result<Option<CommitmentTree<Node>>, SqliteClientError> { ) -> Result<Option<CommitmentTree<Node>>, SqliteClientError> {
data.0 data.0
@ -392,7 +392,7 @@ pub fn get_commitment_tree(
} }
pub fn get_witnesses( pub fn get_witnesses(
data: &DataConnection, data: &WalletDB,
block_height: BlockHeight, block_height: BlockHeight,
) -> Result<Vec<(NoteId, IncrementalWitness<Node>)>, SqliteClientError> { ) -> Result<Vec<(NoteId, IncrementalWitness<Node>)>, SqliteClientError> {
let mut stmt_fetch_witnesses = data let mut stmt_fetch_witnesses = data
@ -416,7 +416,7 @@ pub fn get_witnesses(
} }
pub fn get_nullifiers( pub fn get_nullifiers(
data: &DataConnection, data: &WalletDB,
) -> Result<Vec<(Vec<u8>, AccountId)>, SqliteClientError> { ) -> Result<Vec<(Vec<u8>, AccountId)>, SqliteClientError> {
// Get the nullifiers for the notes we are tracking // Get the nullifiers for the notes we are tracking
let mut stmt_fetch_nullifiers = data let mut stmt_fetch_nullifiers = data
@ -451,7 +451,7 @@ mod tests {
use crate::{ use crate::{
tests, tests,
wallet::init::{init_accounts_table, init_data_database}, wallet::init::{init_accounts_table, init_data_database},
AccountId, DataConnection, AccountId, WalletDB,
}; };
use super::{get_address, get_balance}; use super::{get_address, get_balance};
@ -459,7 +459,7 @@ mod tests {
#[test] #[test]
fn empty_database_has_no_balance() { fn empty_database_has_no_balance() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet

View File

@ -10,7 +10,7 @@ use zcash_primitives::{
use zcash_client_backend::{data_api::error::Error, encoding::encode_extended_full_viewing_key}; use zcash_client_backend::{data_api::error::Error, encoding::encode_extended_full_viewing_key};
use crate::{address_from_extfvk, error::SqliteClientError, DataConnection}; use crate::{address_from_extfvk, error::SqliteClientError, WalletDB};
/// Sets up the internal structure of the data database. /// Sets up the internal structure of the data database.
/// ///
@ -19,15 +19,15 @@ use crate::{address_from_extfvk, error::SqliteClientError, DataConnection};
/// ``` /// ```
/// use tempfile::NamedTempFile; /// use tempfile::NamedTempFile;
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::init::init_data_database, /// wallet::init::init_data_database,
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file.path()).unwrap(); /// let db = WalletDB::for_path(data_file.path()).unwrap();
/// init_data_database(&db).unwrap(); /// init_data_database(&db).unwrap();
/// ``` /// ```
pub fn init_data_database(db_data: &DataConnection) -> Result<(), rusqlite::Error> { pub fn init_data_database(db_data: &WalletDB) -> Result<(), rusqlite::Error> {
db_data.0.execute( db_data.0.execute(
"CREATE TABLE IF NOT EXISTS accounts ( "CREATE TABLE IF NOT EXISTS accounts (
account INTEGER PRIMARY KEY, account INTEGER PRIMARY KEY,
@ -126,12 +126,12 @@ pub fn init_data_database(db_data: &DataConnection) -> Result<(), rusqlite::Erro
/// }; /// };
/// ///
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::init::{init_accounts_table, init_data_database} /// wallet::init::{init_accounts_table, init_data_database}
/// }; /// };
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db_data = DataConnection::for_path(data_file.path()).unwrap(); /// let db_data = WalletDB::for_path(data_file.path()).unwrap();
/// init_data_database(&db_data).unwrap(); /// init_data_database(&db_data).unwrap();
/// ///
/// let extsk = ExtendedSpendingKey::master(&[]); /// let extsk = ExtendedSpendingKey::master(&[]);
@ -143,7 +143,7 @@ pub fn init_data_database(db_data: &DataConnection) -> Result<(), rusqlite::Erro
/// [`scan_cached_blocks`]: crate::scan::scan_cached_blocks /// [`scan_cached_blocks`]: crate::scan::scan_cached_blocks
/// [`create_to_address`]: crate::transact::create_to_address /// [`create_to_address`]: crate::transact::create_to_address
pub fn init_accounts_table<P: consensus::Parameters>( pub fn init_accounts_table<P: consensus::Parameters>(
data: &DataConnection, data: &WalletDB,
params: &P, params: &P,
extfvks: &[ExtendedFullViewingKey], extfvks: &[ExtendedFullViewingKey],
) -> Result<(), SqliteClientError> { ) -> Result<(), SqliteClientError> {
@ -191,7 +191,7 @@ pub fn init_accounts_table<P: consensus::Parameters>(
/// consensus::BlockHeight, /// consensus::BlockHeight,
/// }; /// };
/// use zcash_client_sqlite::{ /// use zcash_client_sqlite::{
/// DataConnection, /// WalletDB,
/// wallet::init::init_blocks_table, /// wallet::init::init_blocks_table,
/// }; /// };
/// ///
@ -206,11 +206,11 @@ pub fn init_accounts_table<P: consensus::Parameters>(
/// let sapling_tree = &[]; /// let sapling_tree = &[];
/// ///
/// let data_file = NamedTempFile::new().unwrap(); /// let data_file = NamedTempFile::new().unwrap();
/// let db = DataConnection::for_path(data_file.path()).unwrap(); /// let db = WalletDB::for_path(data_file.path()).unwrap();
/// init_blocks_table(&db, height, hash, time, sapling_tree); /// init_blocks_table(&db, height, hash, time, sapling_tree);
/// ``` /// ```
pub fn init_blocks_table( pub fn init_blocks_table(
data: &DataConnection, data: &WalletDB,
height: BlockHeight, height: BlockHeight,
hash: BlockHash, hash: BlockHash,
time: u32, time: u32,
@ -246,14 +246,14 @@ mod tests {
zip32::{ExtendedFullViewingKey, ExtendedSpendingKey}, zip32::{ExtendedFullViewingKey, ExtendedSpendingKey},
}; };
use crate::{tests, wallet::get_address, AccountId, DataConnection}; use crate::{tests, wallet::get_address, AccountId, WalletDB};
use super::{init_accounts_table, init_blocks_table, init_data_database}; use super::{init_accounts_table, init_blocks_table, init_data_database};
#[test] #[test]
fn init_accounts_table_only_works_once() { fn init_accounts_table_only_works_once() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// We can call the function as many times as we want with no data // We can call the function as many times as we want with no data
@ -274,7 +274,7 @@ mod tests {
#[test] #[test]
fn init_blocks_table_only_works_once() { fn init_blocks_table_only_works_once() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// First call with data should initialise the blocks table // First call with data should initialise the blocks table
@ -301,7 +301,7 @@ mod tests {
#[test] #[test]
fn init_accounts_table_stores_correct_address() { fn init_accounts_table_stores_correct_address() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet

View File

@ -17,10 +17,10 @@ use zcash_client_backend::{
wallet::{AccountId, SpendableNote}, wallet::{AccountId, SpendableNote},
}; };
use crate::{error::SqliteClientError, DataConnection}; use crate::{error::SqliteClientError, WalletDB};
pub fn select_spendable_notes( pub fn select_spendable_notes(
data: &DataConnection, data: &WalletDB,
account: AccountId, account: AccountId,
target_value: Amount, target_value: Amount,
anchor_height: BlockHeight, anchor_height: BlockHeight,
@ -148,7 +148,7 @@ mod tests {
get_balance, get_verified_balance, get_balance, get_verified_balance,
init::{init_accounts_table, init_blocks_table, init_data_database}, init::{init_accounts_table, init_blocks_table, init_data_database},
}, },
AccountId, CacheConnection, DataConnection, AccountId, BlockDB, WalletDB,
}; };
fn test_prover() -> impl TxProver { fn test_prover() -> impl TxProver {
@ -163,7 +163,7 @@ mod tests {
#[test] #[test]
fn create_to_address_fails_on_incorrect_extsk() { fn create_to_address_fails_on_incorrect_extsk() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add two accounts to the wallet // Add two accounts to the wallet
@ -211,7 +211,7 @@ mod tests {
#[test] #[test]
fn create_to_address_fails_with_no_blocks() { fn create_to_address_fails_with_no_blocks() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -240,7 +240,7 @@ mod tests {
#[test] #[test]
fn create_to_address_fails_on_insufficient_balance() { fn create_to_address_fails_on_insufficient_balance() {
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
init_blocks_table( init_blocks_table(
&db_data, &db_data,
@ -283,11 +283,11 @@ mod tests {
#[test] #[test]
fn create_to_address_fails_on_unverified_notes() { fn create_to_address_fails_on_unverified_notes() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -413,11 +413,11 @@ mod tests {
#[test] #[test]
fn create_to_address_fails_on_locked_notes() { fn create_to_address_fails_on_locked_notes() {
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet
@ -533,11 +533,11 @@ mod tests {
fn ovk_policy_prevents_recovery_from_chain() { fn ovk_policy_prevents_recovery_from_chain() {
let network = tests::network(); let network = tests::network();
let cache_file = NamedTempFile::new().unwrap(); let cache_file = NamedTempFile::new().unwrap();
let db_cache = CacheConnection(Connection::open(cache_file.path()).unwrap()); let db_cache = BlockDB(Connection::open(cache_file.path()).unwrap());
init_cache_database(&db_cache).unwrap(); init_cache_database(&db_cache).unwrap();
let data_file = NamedTempFile::new().unwrap(); let data_file = NamedTempFile::new().unwrap();
let db_data = DataConnection(Connection::open(data_file.path()).unwrap()); let db_data = WalletDB(Connection::open(data_file.path()).unwrap());
init_data_database(&db_data).unwrap(); init_data_database(&db_data).unwrap();
// Add an account to the wallet // Add an account to the wallet