Handle wrapped PublicKey struct
This commit is contained in:
parent
a86618faf3
commit
cf70e5ff2f
|
@ -3,10 +3,12 @@ extern crate bincode;
|
||||||
extern crate bs58;
|
extern crate bs58;
|
||||||
extern crate clap;
|
extern crate clap;
|
||||||
extern crate dirs;
|
extern crate dirs;
|
||||||
|
extern crate generic_array;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
extern crate solana;
|
extern crate solana;
|
||||||
|
|
||||||
use clap::{App, Arg, SubCommand};
|
use clap::{App, Arg, SubCommand};
|
||||||
|
use generic_array::GenericArray;
|
||||||
use solana::client::mk_client;
|
use solana::client::mk_client;
|
||||||
use solana::crdt::NodeInfo;
|
use solana::crdt::NodeInfo;
|
||||||
use solana::drone::DRONE_PORT;
|
use solana::drone::DRONE_PORT;
|
||||||
|
@ -180,7 +182,7 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
|
||||||
display_actions();
|
display_actions();
|
||||||
Err(WalletError::BadParameter("Invalid public key".to_string()))?;
|
Err(WalletError::BadParameter("Invalid public key".to_string()))?;
|
||||||
}
|
}
|
||||||
PublicKey::clone_from_slice(&pubkey_vec)
|
PublicKey(GenericArray::clone_from_slice(&pubkey_vec))
|
||||||
} else {
|
} else {
|
||||||
id.pubkey()
|
id.pubkey()
|
||||||
};
|
};
|
||||||
|
@ -228,7 +230,7 @@ fn process_command(
|
||||||
match config.command {
|
match config.command {
|
||||||
// Check client balance
|
// Check client balance
|
||||||
WalletCommand::Address => {
|
WalletCommand::Address => {
|
||||||
println!("{}", bs58::encode(config.id.pubkey()).into_string());
|
println!("{}", config.id.pubkey());
|
||||||
}
|
}
|
||||||
WalletCommand::Balance => {
|
WalletCommand::Balance => {
|
||||||
println!("Balance requested...");
|
println!("Balance requested...");
|
||||||
|
|
|
@ -135,7 +135,8 @@ pub struct NodeInfo {
|
||||||
pub ledger_state: LedgerState,
|
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]);
|
let mut rdr = Cursor::new(&buf[..8]);
|
||||||
rdr.read_u64::<LittleEndian>()
|
rdr.read_u64::<LittleEndian>()
|
||||||
.expect("rdr.read_u64 in fn debug_id")
|
.expect("rdr.read_u64 in fn debug_id")
|
||||||
|
|
|
@ -28,7 +28,7 @@ impl Ncp {
|
||||||
let (request_sender, request_receiver) = channel();
|
let (request_sender, request_receiver) = channel();
|
||||||
trace!(
|
trace!(
|
||||||
"Ncp: id: {:?}, listening on: {:?}",
|
"Ncp: id: {:?}, listening on: {:?}",
|
||||||
&crdt.read().unwrap().me[..4],
|
&crdt.read().unwrap().me.0[..4],
|
||||||
gossip_listen_socket.local_addr().unwrap()
|
gossip_listen_socket.local_addr().unwrap()
|
||||||
);
|
);
|
||||||
let t_receiver = streamer::blob_receiver(
|
let t_receiver = streamer::blob_receiver(
|
||||||
|
|
|
@ -192,7 +192,7 @@ impl Transaction {
|
||||||
/// Verify only the transaction signature.
|
/// Verify only the transaction signature.
|
||||||
pub fn verify_sig(&self) -> bool {
|
pub fn verify_sig(&self) -> bool {
|
||||||
warn!("transaction signature verification called");
|
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.
|
/// Verify only the payment plan.
|
||||||
|
@ -319,7 +319,7 @@ mod tests {
|
||||||
let tx_bytes = serialize(&tx).unwrap();
|
let tx_bytes = serialize(&tx).unwrap();
|
||||||
assert_matches!(memfind(&tx_bytes, &sign_data), Some(SIGNED_DATA_OFFSET));
|
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.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]
|
#[test]
|
||||||
|
|
|
@ -101,7 +101,7 @@ fn gossip_star() {
|
||||||
let mut yd = yv.table[&yv.me].clone();
|
let mut yd = yv.table[&yv.me].clone();
|
||||||
yd.version = 0;
|
yd.version = 0;
|
||||||
xv.insert(&yd);
|
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();
|
let xv = listen[0].0.read().unwrap();
|
||||||
xv.table[&xv.me].clone()
|
xv.table[&xv.me].clone()
|
||||||
};
|
};
|
||||||
trace!("rstar leader {:?}", &xd.id[..4]);
|
trace!("rstar leader {:?}", &xd.id.0[..4]);
|
||||||
for n in 0..(num - 1) {
|
for n in 0..(num - 1) {
|
||||||
let y = (n + 1) % listen.len();
|
let y = (n + 1) % listen.len();
|
||||||
let mut yv = listen[y].0.write().unwrap();
|
let mut yv = listen[y].0.write().unwrap();
|
||||||
yv.insert(&xd);
|
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]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue