Add tests, use Base58Check, not Base58

This commit is contained in:
Deirdre Connolly 2020-03-05 22:27:42 -05:00 committed by Deirdre Connolly
parent f11821fcc8
commit 5602ed66a9
3 changed files with 44 additions and 2 deletions

3
Cargo.lock generated
View File

@ -196,6 +196,9 @@ name = "bs58"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b170cd256a3f9fa6b9edae3e44a7dfdfc77e8124dbc3e2612d75f9c3e2396dae"
dependencies = [
"sha2",
]
[[package]]
name = "byte-tools"

View File

@ -8,7 +8,7 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bs58 = "0.3.0"
bs58 = { version = "0.3", features = ["check"] }
byteorder = "1.3"
chrono = "0.4"
futures = "0.3"

View File

@ -107,7 +107,7 @@ impl fmt::Debug for TransparentAddress {
let _ = self.zcash_serialize(&mut bytes);
f.debug_tuple("TransparentAddress")
.field(&bs58::encode(bytes.get_ref()).into_string())
.field(&bs58::encode(bytes.get_ref()).with_check().into_string())
.finish()
}
}
@ -146,6 +146,7 @@ impl ZcashSerialize for TransparentAddress {
writer.write_all(&pub_key_hash.0)?
}
}
Ok(())
}
}
@ -181,3 +182,41 @@ impl ZcashDeserialize for TransparentAddress {
}
}
}
#[cfg(test)]
mod tests {
use secp256k1::PublicKey;
use crate::types::Script;
use super::*;
#[test]
fn pubkey() {
let pub_key = PublicKey::from_slice(&[
3, 23, 183, 225, 206, 31, 159, 148, 195, 42, 67, 115, 146, 41, 248, 140, 11, 3, 51, 41,
111, 180, 110, 143, 114, 134, 88, 73, 198, 174, 52, 184, 78,
])
.expect("A PublicKey from slice");
let t_addr = TransparentAddress::from(pub_key);
assert_eq!(
format!("{:?}", t_addr),
"TransparentAddress(\"t1bmMa1wJDFdbc2TiURQP5BbBz6jHjUBuHq\")"
);
}
#[test]
fn empty_script() {
let script = Script(vec![0; 20]);
let t_addr = TransparentAddress::from(script);
assert_eq!(
format!("{:?}", t_addr),
"TransparentAddress(\"t3Y5pHwfgHbS6pDjj1HLuMFxhFFip1fcJ6g\")"
);
}
}