Handle wrapped PublicKey struct

This commit is contained in:
Tyera Eulberg 2018-07-31 11:27:08 -06:00 committed by Grimes
parent a86618faf3
commit cf70e5ff2f
5 changed files with 12 additions and 9 deletions

View File

@ -3,10 +3,12 @@ extern crate bincode;
extern crate bs58;
extern crate clap;
extern crate dirs;
extern crate generic_array;
extern crate serde_json;
extern crate solana;
use clap::{App, Arg, SubCommand};
use generic_array::GenericArray;
use solana::client::mk_client;
use solana::crdt::NodeInfo;
use solana::drone::DRONE_PORT;
@ -180,7 +182,7 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
display_actions();
Err(WalletError::BadParameter("Invalid public key".to_string()))?;
}
PublicKey::clone_from_slice(&pubkey_vec)
PublicKey(GenericArray::clone_from_slice(&pubkey_vec))
} else {
id.pubkey()
};
@ -228,7 +230,7 @@ fn process_command(
match config.command {
// Check client balance
WalletCommand::Address => {
println!("{}", bs58::encode(config.id.pubkey()).into_string());
println!("{}", config.id.pubkey());
}
WalletCommand::Balance => {
println!("Balance requested...");

View File

@ -135,7 +135,8 @@ pub struct NodeInfo {
pub ledger_state: LedgerState,
}
fn make_debug_id(buf: &[u8]) -> u64 {
fn make_debug_id(key: &PublicKey) -> u64 {
let buf: &[u8] = &key.0;
let mut rdr = Cursor::new(&buf[..8]);
rdr.read_u64::<LittleEndian>()
.expect("rdr.read_u64 in fn debug_id")

View File

@ -28,7 +28,7 @@ impl Ncp {
let (request_sender, request_receiver) = channel();
trace!(
"Ncp: id: {:?}, listening on: {:?}",
&crdt.read().unwrap().me[..4],
&crdt.read().unwrap().me.0[..4],
gossip_listen_socket.local_addr().unwrap()
);
let t_receiver = streamer::blob_receiver(

View File

@ -192,7 +192,7 @@ impl Transaction {
/// Verify only the transaction signature.
pub fn verify_sig(&self) -> bool {
warn!("transaction signature verification called");
self.sig.verify(&self.from, &self.get_sign_data())
self.sig.verify(&self.from.0, &self.get_sign_data())
}
/// Verify only the payment plan.
@ -319,7 +319,7 @@ mod tests {
let tx_bytes = serialize(&tx).unwrap();
assert_matches!(memfind(&tx_bytes, &sign_data), Some(SIGNED_DATA_OFFSET));
assert_matches!(memfind(&tx_bytes, &tx.sig), Some(SIG_OFFSET));
assert_matches!(memfind(&tx_bytes, &tx.from), Some(PUB_KEY_OFFSET));
assert_matches!(memfind(&tx_bytes, &tx.from.0), Some(PUB_KEY_OFFSET));
}
#[test]

View File

@ -101,7 +101,7 @@ fn gossip_star() {
let mut yd = yv.table[&yv.me].clone();
yd.version = 0;
xv.insert(&yd);
trace!("star leader {:?}", &xv.me[..4]);
trace!("star leader {:?}", &xv.me.0[..4]);
}
});
}
@ -116,12 +116,12 @@ fn gossip_rstar() {
let xv = listen[0].0.read().unwrap();
xv.table[&xv.me].clone()
};
trace!("rstar leader {:?}", &xd.id[..4]);
trace!("rstar leader {:?}", &xd.id.0[..4]);
for n in 0..(num - 1) {
let y = (n + 1) % listen.len();
let mut yv = listen[y].0.write().unwrap();
yv.insert(&xd);
trace!("rstar insert {:?} into {:?}", &xd.id[..4], &yv.me[..4]);
trace!("rstar insert {:?} into {:?}", &xd.id.0[..4], &yv.me.0[..4]);
}
});
}