diff --git a/banking-bench/src/main.rs b/banking-bench/src/main.rs index 4947256932..5c765b9a1f 100644 --- a/banking-bench/src/main.rs +++ b/banking-bench/src/main.rs @@ -162,7 +162,6 @@ fn main() { // If it is dropped before poh_service, then poh_service will error when // calling send() on the channel. let signal_receiver = Arc::new(signal_receiver); - let signal_receiver2 = signal_receiver.clone(); let mut total = 0; let mut tx_total = 0; let mut txs_processed = 0; @@ -215,7 +214,7 @@ fn main() { sleep(Duration::from_millis(5)); } } - if check_txs(&signal_receiver2, txes / CHUNKS, &poh_recorder) { + if check_txs(&signal_receiver, txes / CHUNKS, &poh_recorder) { debug!( "resetting bank {} tx count: {} txs_proc: {}", bank.slot(), diff --git a/bench-exchange/src/bench.rs b/bench-exchange/src/bench.rs index 0fa9884560..fce6631a67 100644 --- a/bench-exchange/src/bench.rs +++ b/bench-exchange/src/bench.rs @@ -256,7 +256,7 @@ where trace!("Start trader thread"); let trader_thread = { let exit_signal = exit_signal.clone(); - let shared_txs = shared_txs.clone(); + let client = clients[0].clone(); Builder::new() .name("solana-exchange-trader".to_string()) diff --git a/ci/docker-rust-nightly/Dockerfile b/ci/docker-rust-nightly/Dockerfile index 2ee345a555..e4e48c6974 100644 --- a/ci/docker-rust-nightly/Dockerfile +++ b/ci/docker-rust-nightly/Dockerfile @@ -1,4 +1,4 @@ -FROM solanalabs/rust:1.39.0 +FROM solanalabs/rust:1.40.0 ARG date RUN set -x \ diff --git a/ci/docker-rust/Dockerfile b/ci/docker-rust/Dockerfile index b9e5ea6c18..0e92f4c65f 100644 --- a/ci/docker-rust/Dockerfile +++ b/ci/docker-rust/Dockerfile @@ -1,6 +1,6 @@ # Note: when the rust version is changed also modify # ci/rust-version.sh to pick up the new image tag -FROM rust:1.39.0 +FROM rust:1.40.0 # Add Google Protocol Buffers for Libra's metrics library. ENV PROTOC_VERSION 3.8.0 diff --git a/ci/rust-version.sh b/ci/rust-version.sh index f818f6fed8..529ca142d7 100644 --- a/ci/rust-version.sh +++ b/ci/rust-version.sh @@ -16,13 +16,13 @@ if [[ -n $RUST_STABLE_VERSION ]]; then stable_version="$RUST_STABLE_VERSION" else - stable_version=1.39.0 + stable_version=1.40.0 fi if [[ -n $RUST_NIGHTLY_VERSION ]]; then nightly_version="$RUST_NIGHTLY_VERSION" else - nightly_version=2019-11-13 + nightly_version=2019-12-19 fi diff --git a/ci/test-checks.sh b/ci/test-checks.sh index d90260a27b..088cffec90 100755 --- a/ci/test-checks.sh +++ b/ci/test-checks.sh @@ -19,7 +19,7 @@ _ cargo +"$rust_stable" clippy --all --exclude solana-sdk-c -- --deny=warnings _ cargo +"$rust_stable" clippy --manifest-path sdk-c/Cargo.toml -- --deny=warnings _ cargo +"$rust_stable" audit --version -_ cargo +"$rust_stable" audit --ignore RUSTSEC-2019-0013 --ignore RUSTSEC-2018-0015 +_ cargo +"$rust_stable" audit --ignore RUSTSEC-2019-0013 --ignore RUSTSEC-2018-0015 --ignore RUSTSEC-2019-0031 _ ci/nits.sh _ ci/order-crates-for-publishing.py _ book/build.sh @@ -27,7 +27,7 @@ _ ci/check-ssh-keys.sh { cd programs/bpf - _ cargo +"$rust_stable" audit + _ cargo +"$rust_stable" audit --ignore RUSTSEC-2019-0031 for project in rust/*/ ; do echo "+++ do_bpf_checks $project" ( diff --git a/cli/src/cli.rs b/cli/src/cli.rs index abc05acf8a..20ed6f1a30 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -802,11 +802,11 @@ fn process_deploy( ) -> ProcessResult { let program_id = Keypair::new(); let mut file = File::open(program_location).map_err(|err| { - CliError::DynamicProgramError(format!("Unable to open program file: {}", err).to_string()) + CliError::DynamicProgramError(format!("Unable to open program file: {}", err)) })?; let mut program_data = Vec::new(); file.read_to_end(&mut program_data).map_err(|err| { - CliError::DynamicProgramError(format!("Unable to read program file: {}", err).to_string()) + CliError::DynamicProgramError(format!("Unable to read program file: {}", err)) })?; // Build transactions to calculate fees diff --git a/cli/src/nonce.rs b/cli/src/nonce.rs index 2715bc6ff0..f06f9ed9be 100644 --- a/cli/src/nonce.rs +++ b/cli/src/nonce.rs @@ -357,9 +357,10 @@ pub fn process_create_nonce_account( pub fn process_get_nonce(rpc_client: &RpcClient, nonce_account_pubkey: &Pubkey) -> ProcessResult { let nonce_account = rpc_client.get_account(nonce_account_pubkey)?; if nonce_account.owner != nonce_program::id() { - return Err(CliError::RpcRequestError( - format!("{:?} is not a nonce account", nonce_account_pubkey).to_string(), - ) + return Err(CliError::RpcRequestError(format!( + "{:?} is not a nonce account", + nonce_account_pubkey + )) .into()); } match nonce_account.state() { @@ -417,9 +418,10 @@ pub fn process_show_nonce_account( ) -> ProcessResult { let nonce_account = rpc_client.get_account(nonce_account_pubkey)?; if nonce_account.owner != nonce_program::id() { - return Err(CliError::RpcRequestError( - format!("{:?} is not a nonce account", nonce_account_pubkey).to_string(), - ) + return Err(CliError::RpcRequestError(format!( + "{:?} is not a nonce account", + nonce_account_pubkey + )) .into()); } let print_account = |hash: Option| { diff --git a/cli/src/stake.rs b/cli/src/stake.rs index 9566c566be..dffe927d36 100644 --- a/cli/src/stake.rs +++ b/cli/src/stake.rs @@ -658,9 +658,10 @@ pub fn process_show_stake_account( ) -> ProcessResult { let stake_account = rpc_client.get_account(stake_account_pubkey)?; if stake_account.owner != solana_stake_program::id() { - return Err(CliError::RpcRequestError( - format!("{:?} is not a stake account", stake_account_pubkey).to_string(), - ) + return Err(CliError::RpcRequestError(format!( + "{:?} is not a stake account", + stake_account_pubkey + )) .into()); } fn show_authorized(authorized: &Authorized) { diff --git a/cli/src/storage.rs b/cli/src/storage.rs index c9e0f83f26..93f7981001 100644 --- a/cli/src/storage.rs +++ b/cli/src/storage.rs @@ -214,7 +214,7 @@ pub fn process_claim_storage_reward( &tx.message, )?; let signature_str = rpc_client.send_and_confirm_transaction(&mut tx, &signers)?; - Ok(signature_str.to_string()) + Ok(signature_str) } pub fn process_show_storage_account( @@ -225,17 +225,16 @@ pub fn process_show_storage_account( let account = rpc_client.get_account(storage_account_pubkey)?; if account.owner != solana_storage_program::id() { - return Err(CliError::RpcRequestError( - format!("{:?} is not a storage account", storage_account_pubkey).to_string(), - ) + return Err(CliError::RpcRequestError(format!( + "{:?} is not a storage account", + storage_account_pubkey + )) .into()); } use solana_storage_program::storage_contract::StorageContract; let storage_contract: StorageContract = account.state().map_err(|err| { - CliError::RpcRequestError( - format!("Unable to deserialize storage account: {:?}", err).to_string(), - ) + CliError::RpcRequestError(format!("Unable to deserialize storage account: {:?}", err)) })?; println!("{:#?}", storage_contract); println!("account lamports: {}", account.lamports); diff --git a/cli/src/vote.rs b/cli/src/vote.rs index d45ef76988..83b0c25e27 100644 --- a/cli/src/vote.rs +++ b/cli/src/vote.rs @@ -402,9 +402,10 @@ fn get_vote_account( let vote_account = rpc_client.get_account(vote_account_pubkey)?; if vote_account.owner != solana_vote_program::id() { - return Err(CliError::RpcRequestError( - format!("{:?} is not a vote account", vote_account_pubkey).to_string(), - ) + return Err(CliError::RpcRequestError(format!( + "{:?} is not a vote account", + vote_account_pubkey + )) .into()); } let vote_state = VoteState::deserialize(&vote_account.data).map_err(|_| { diff --git a/core/src/archiver.rs b/core/src/archiver.rs index 4d4a107f63..f31fc4b14b 100644 --- a/core/src/archiver.rs +++ b/core/src/archiver.rs @@ -146,7 +146,7 @@ fn create_request_processor( let t_receiver = receiver(storage_socket.clone(), exit, s_reader, recycler, "archiver"); thread_handles.push(t_receiver); - let t_responder = responder("archiver-responder", storage_socket.clone(), r_responder); + let t_responder = responder("archiver-responder", storage_socket, r_responder); thread_handles.push(t_responder); let exit = exit.clone(); @@ -428,7 +428,7 @@ impl Archiver { "collected mining rewards: Account balance {:?}", client.get_balance_with_commitment( &archiver_keypair.pubkey(), - client_commitment.clone() + client_commitment ) ); } @@ -493,7 +493,7 @@ impl Archiver { let _sigverify_stage = SigVerifyStage::new( shred_fetch_receiver, - verified_sender.clone(), + verified_sender, DisabledSigVerifier::default(), ); @@ -650,7 +650,7 @@ impl Archiver { let tx = Transaction::new_signed_instructions(&[keypair], ix, blockhash); let signature = client.async_send_transaction(tx)?; client - .poll_for_signature_with_commitment(&signature, client_commitment.clone()) + .poll_for_signature_with_commitment(&signature, client_commitment) .map_err(|err| match err { TransportError::IoError(e) => e, TransportError::TransactionError(_) => io::Error::new( @@ -866,7 +866,7 @@ impl Archiver { let t_receiver = receiver( repair_socket.clone(), &exit, - s_reader.clone(), + s_reader, Recycler::default(), "archiver_reeciver", ); diff --git a/core/src/cluster_info.rs b/core/src/cluster_info.rs index 81583e083b..0145e00670 100644 --- a/core/src/cluster_info.rs +++ b/core/src/cluster_info.rs @@ -203,8 +203,7 @@ impl ClusterInfo { pub fn insert_self(&mut self, contact_info: ContactInfo) { if self.id() == contact_info.id { - let value = - CrdsValue::new_signed(CrdsData::ContactInfo(contact_info.clone()), &self.keypair); + let value = CrdsValue::new_signed(CrdsData::ContactInfo(contact_info), &self.keypair); let _ = self.gossip.crds.insert(value, timestamp()); } } @@ -831,19 +830,19 @@ impl ClusterInfo { } pub fn window_index_request_bytes(&self, slot: Slot, shred_index: u64) -> Result> { - let req = Protocol::RequestWindowIndex(self.my_data().clone(), slot, shred_index); + let req = Protocol::RequestWindowIndex(self.my_data(), slot, shred_index); let out = serialize(&req)?; Ok(out) } fn window_highest_index_request_bytes(&self, slot: Slot, shred_index: u64) -> Result> { - let req = Protocol::RequestHighestWindowIndex(self.my_data().clone(), slot, shred_index); + let req = Protocol::RequestHighestWindowIndex(self.my_data(), slot, shred_index); let out = serialize(&req)?; Ok(out) } fn orphan_bytes(&self, slot: Slot) -> Result> { - let req = Protocol::RequestOrphan(self.my_data().clone(), slot); + let req = Protocol::RequestOrphan(self.my_data(), slot); let out = serialize(&req)?; Ok(out) } @@ -1501,7 +1500,7 @@ impl ClusterInfo { .gossip .crds .update_record_timestamp(&from.id, timestamp()); - let my_info = me.read().unwrap().my_data().clone(); + let my_info = me.read().unwrap().my_data(); let (res, label) = { match &request { diff --git a/core/src/retransmit_stage.rs b/core/src/retransmit_stage.rs index 1f94fc97df..c3bf504e5a 100644 --- a/core/src/retransmit_stage.rs +++ b/core/src/retransmit_stage.rs @@ -67,7 +67,7 @@ fn retransmit( .read() .unwrap() .sorted_retransmit_peers_and_stakes(stakes); - let me = cluster_info.read().unwrap().my_data().clone(); + let me = cluster_info.read().unwrap().my_data(); let mut discard_total = 0; let mut repair_total = 0; let mut retransmit_total = 0; diff --git a/core/src/rpc.rs b/core/src/rpc.rs index c2bace99b8..57f4b0532c 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -95,7 +95,7 @@ impl JsonRpcRequestProcessor { block_commitment_cache: Arc>, blocktree: Arc, storage_state: StorageState, - validator_exit: &Arc>>, + validator_exit: Arc>>, ) -> Self { JsonRpcRequestProcessor { config, @@ -103,7 +103,7 @@ impl JsonRpcRequestProcessor { block_commitment_cache, blocktree, storage_state, - validator_exit: validator_exit.clone(), + validator_exit, } } @@ -1207,7 +1207,7 @@ pub mod tests { block_commitment_cache.clone(), blocktree, StorageState::default(), - &validator_exit, + validator_exit, ))); let cluster_info = Arc::new(RwLock::new(ClusterInfo::new_with_invalid_keypair( ContactInfo::default(), @@ -1259,7 +1259,7 @@ pub mod tests { block_commitment_cache, Arc::new(blocktree), StorageState::default(), - &validator_exit, + validator_exit, ); thread::spawn(move || { let blockhash = bank.confirmed_last_blockhash().0; @@ -1756,7 +1756,7 @@ pub mod tests { block_commitment_cache, Arc::new(blocktree), StorageState::default(), - &validator_exit, + validator_exit, ); Arc::new(RwLock::new(request_processor)) }, @@ -1854,7 +1854,7 @@ pub mod tests { block_commitment_cache, Arc::new(blocktree), StorageState::default(), - &validator_exit, + validator_exit, ); assert_eq!(request_processor.validator_exit(), Ok(false)); assert_eq!(exit.load(Ordering::Relaxed), false); @@ -1875,7 +1875,7 @@ pub mod tests { block_commitment_cache, Arc::new(blocktree), StorageState::default(), - &validator_exit, + validator_exit, ); assert_eq!(request_processor.validator_exit(), Ok(true)); assert_eq!(exit.load(Ordering::Relaxed), true); @@ -1928,7 +1928,7 @@ pub mod tests { block_commitment_cache, Arc::new(blocktree), StorageState::default(), - &validator_exit, + validator_exit, ); assert_eq!( request_processor.get_block_commitment(0), diff --git a/core/src/rpc_pubsub.rs b/core/src/rpc_pubsub.rs index f3bfdf34cd..274d648b52 100644 --- a/core/src/rpc_pubsub.rs +++ b/core/src/rpc_pubsub.rs @@ -345,7 +345,10 @@ mod tests { let expected_res: Option> = Some(Ok(())); let expected_res_str = serde_json::to_string(&serde_json::to_value(expected_res).unwrap()).unwrap(); - let expected = format!(r#"{{"jsonrpc":"2.0","method":"signatureNotification","params":{{"result":{},"subscription":0}}}}"#, expected_res_str); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"signatureNotification","params":{{"result":{},"subscription":0}}}}"#, + expected_res_str + ); assert_eq!(expected, response); } } @@ -389,7 +392,9 @@ mod tests { let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"signatureUnsubscribe","params":[1]}}"#); let res = io.handle_request_sync(&req, session.clone()); - let expected = format!(r#"{{"jsonrpc":"2.0","error":{{"code":-32602,"message":"Invalid Request: Subscription id does not exist"}},"id":1}}"#); + let expected = format!( + r#"{{"jsonrpc":"2.0","error":{{"code":-32602,"message":"Invalid Request: Subscription id does not exist"}},"id":1}}"# + ); let expected: Response = serde_json::from_str(&expected).unwrap(); let result: Response = serde_json::from_str(&res.unwrap()).unwrap(); @@ -529,7 +534,9 @@ mod tests { let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"accountUnsubscribe","params":[1]}}"#); let res = io.handle_request_sync(&req, session.clone()); - let expected = format!(r#"{{"jsonrpc":"2.0","error":{{"code":-32602,"message":"Invalid Request: Subscription id does not exist"}},"id":1}}"#); + let expected = format!( + r#"{{"jsonrpc":"2.0","error":{{"code":-32602,"message":"Invalid Request: Subscription id does not exist"}},"id":1}}"# + ); let expected: Response = serde_json::from_str(&expected).unwrap(); let result: Response = serde_json::from_str(&res.unwrap()).unwrap(); @@ -640,7 +647,10 @@ mod tests { }; let expected_res_str = serde_json::to_string(&serde_json::to_value(expected_res).unwrap()).unwrap(); - let expected = format!(r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, expected_res_str); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, + expected_res_str + ); assert_eq!(expected, response); } } @@ -662,7 +672,10 @@ mod tests { }; let expected_res_str = serde_json::to_string(&serde_json::to_value(expected_res).unwrap()).unwrap(); - let expected = format!(r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, expected_res_str); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, + expected_res_str + ); assert_eq!(expected, response); } diff --git a/core/src/rpc_pubsub_service.rs b/core/src/rpc_pubsub_service.rs index 6ec5c7ae3e..75cd06dd7b 100644 --- a/core/src/rpc_pubsub_service.rs +++ b/core/src/rpc_pubsub_service.rs @@ -31,7 +31,7 @@ impl PubSubService { let server = ServerBuilder::with_meta_extractor(io, |context: &RequestContext| { info!("New pubsub connection"); - let session = Arc::new(Session::new(context.sender().clone())); + let session = Arc::new(Session::new(context.sender())); session.on_drop(|| { info!("Pubsub connection dropped"); }); diff --git a/core/src/rpc_service.rs b/core/src/rpc_service.rs index 5d0a445664..c9344d51d1 100644 --- a/core/src/rpc_service.rs +++ b/core/src/rpc_service.rs @@ -92,11 +92,11 @@ impl JsonRpcService { bank_forks: Arc>, block_commitment_cache: Arc>, blocktree: Arc, - cluster_info: &Arc>, + cluster_info: Arc>, genesis_hash: Hash, ledger_path: &Path, storage_state: StorageState, - validator_exit: &Arc>>, + validator_exit: Arc>>, ) -> Self { info!("rpc bound to {:?}", rpc_addr); info!("rpc configuration: {:?}", config); @@ -106,11 +106,12 @@ impl JsonRpcService { block_commitment_cache, blocktree, storage_state, - validator_exit, + validator_exit.clone(), ))); - let request_processor_ = request_processor.clone(); - let cluster_info = cluster_info.clone(); + #[cfg(test)] + let test_request_processor = request_processor.clone(); + let ledger_path = ledger_path.to_path_buf(); let (close_handle_sender, close_handle_receiver) = channel(); @@ -123,7 +124,7 @@ impl JsonRpcService { let server = ServerBuilder::with_meta_extractor(io, move |_req: &hyper::Request| Meta { - request_processor: request_processor_.clone(), + request_processor: request_processor.clone(), cluster_info: cluster_info.clone(), genesis_hash }).threads(4) @@ -153,7 +154,7 @@ impl JsonRpcService { Self { thread_hdl, #[cfg(test)] - request_processor, + request_processor: test_request_processor, close_handle: Some(close_handle), } } @@ -210,11 +211,11 @@ mod tests { bank_forks, block_commitment_cache, Arc::new(blocktree), - &cluster_info, + cluster_info, Hash::default(), &PathBuf::from("farf"), StorageState::default(), - &validator_exit, + validator_exit, ); let thread = rpc_service.thread_hdl.thread(); assert_eq!(thread.name().unwrap(), "solana-jsonrpc"); diff --git a/core/src/rpc_subscriptions.rs b/core/src/rpc_subscriptions.rs index 2a1b28757c..5c913b1a05 100644 --- a/core/src/rpc_subscriptions.rs +++ b/core/src/rpc_subscriptions.rs @@ -375,7 +375,9 @@ mod tests { subscriptions.check_account(&alice.pubkey(), 0, &bank_forks); let string = transport_receiver.poll(); if let Async::Ready(Some(response)) = string.unwrap() { - let expected = format!(r#"{{"jsonrpc":"2.0","method":"accountNotification","params":{{"result":{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0],"rent_epoch":1}},"subscription":0}}}}"#); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"accountNotification","params":{{"result":{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0],"rent_epoch":1}},"subscription":0}}}}"# + ); assert_eq!(expected, response); } @@ -430,7 +432,10 @@ mod tests { subscriptions.check_program(&solana_budget_program::id(), 0, &bank_forks); let string = transport_receiver.poll(); if let Async::Ready(Some(response)) = string.unwrap() { - let expected = format!(r#"{{"jsonrpc":"2.0","method":"programNotification","params":{{"result":["{:?}",{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0],"rent_epoch":1}}],"subscription":0}}}}"#, alice.pubkey()); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"programNotification","params":{{"result":["{:?}",{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0],"rent_epoch":1}}],"subscription":0}}}}"#, + alice.pubkey() + ); assert_eq!(expected, response); } @@ -481,7 +486,10 @@ mod tests { let expected_res: Option> = Some(Ok(())); let expected_res_str = serde_json::to_string(&serde_json::to_value(expected_res).unwrap()).unwrap(); - let expected = format!(r#"{{"jsonrpc":"2.0","method":"signatureNotification","params":{{"result":{},"subscription":0}}}}"#, expected_res_str); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"signatureNotification","params":{{"result":{},"subscription":0}}}}"#, + expected_res_str + ); assert_eq!(expected, response); } @@ -517,7 +525,10 @@ mod tests { }; let expected_res_str = serde_json::to_string(&serde_json::to_value(expected_res).unwrap()).unwrap(); - let expected = format!(r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, expected_res_str); + let expected = format!( + r#"{{"jsonrpc":"2.0","method":"slotNotification","params":{{"result":{},"subscription":0}}}}"#, + expected_res_str + ); assert_eq!(expected, response); } diff --git a/core/src/shred_fetch_stage.rs b/core/src/shred_fetch_stage.rs index 36603bcaab..3b43fbab38 100644 --- a/core/src/shred_fetch_stage.rs +++ b/core/src/shred_fetch_stage.rs @@ -51,7 +51,7 @@ impl ShredFetchStage { ) }) .collect(); - let sender = sender.clone(); + let modifier_hdl = Builder::new() .name("solana-tvu-fetch-stage-packet-modifier".to_string()) .spawn(|| Self::modify_packets(packet_receiver, sender, modify)) diff --git a/core/src/tpu.rs b/core/src/tpu.rs index d1ea411938..cfb29935fe 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -59,10 +59,10 @@ impl Tpu { let sigverify_stage = if !sigverify_disabled { let verifier = TransactionSigVerifier::default(); - SigVerifyStage::new(packet_receiver, verified_sender.clone(), verifier) + SigVerifyStage::new(packet_receiver, verified_sender, verifier) } else { let verifier = DisabledSigVerifier::default(); - SigVerifyStage::new(packet_receiver, verified_sender.clone(), verifier) + SigVerifyStage::new(packet_receiver, verified_sender, verifier) }; let (verified_vote_sender, verified_vote_receiver) = unbounded(); diff --git a/core/src/tvu.rs b/core/src/tvu.rs index d8f2275400..d4da19680b 100644 --- a/core/src/tvu.rs +++ b/core/src/tvu.rs @@ -119,13 +119,13 @@ impl Tvu { let sigverify_stage = if !sigverify_disabled { SigVerifyStage::new( fetch_receiver, - verified_sender.clone(), + verified_sender, ShredSigVerifier::new(bank_forks.clone(), leader_schedule_cache.clone()), ) } else { SigVerifyStage::new( fetch_receiver, - verified_sender.clone(), + verified_sender, DisabledSigVerifier::default(), ) }; diff --git a/core/src/validator.rs b/core/src/validator.rs index abc5963230..333b424341 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -225,11 +225,11 @@ impl Validator { bank_forks.clone(), block_commitment_cache.clone(), blocktree.clone(), - &cluster_info, + cluster_info.clone(), genesis_hash, ledger_path, storage_state.clone(), - &validator_exit, + validator_exit.clone(), )) }; diff --git a/log-analyzer/src/main.rs b/log-analyzer/src/main.rs index 93d45425bc..1eb123cfe2 100644 --- a/log-analyzer/src/main.rs +++ b/log-analyzer/src/main.rs @@ -53,6 +53,7 @@ impl LogLine { impl Sub for &LogLine { type Output = String; + #[allow(clippy::comparison_chain)] fn sub(self, rhs: Self) -> Self::Output { let a_to_b = Byte::from_str(&self.a_to_b) .expect("Failed to read a_to_b bytes") @@ -94,7 +95,7 @@ fn map_ip_address(mappings: &[IPAddrMapping], target: String) -> String { return target.replace(&mapping.private, mapping.public.as_str()); } } - target.to_string() + target } fn process_iftop_logs(matches: &ArgMatches) { diff --git a/metrics/src/metrics.rs b/metrics/src/metrics.rs index d68be3a3b4..c66f9da9ee 100644 --- a/metrics/src/metrics.rs +++ b/metrics/src/metrics.rs @@ -324,7 +324,7 @@ lazy_static! { static ref HOST_ID: Arc> = { Arc::new(RwLock::new({ let hostname: String = hostname().unwrap_or_else(|_| "".to_string()); - format!("{}", hash(hostname.as_bytes())).to_string() + format!("{}", hash(hostname.as_bytes())) })) }; } @@ -372,8 +372,7 @@ fn get_metrics_config() -> Result { let mut config = MetricsConfig::default(); let config_var = env::var("SOLANA_METRICS_CONFIG") - .map_err(|err| format!("SOLANA_METRICS_CONFIG: {}", err))? - .to_string(); + .map_err(|err| format!("SOLANA_METRICS_CONFIG: {}", err))?; for pair in config_var.split(',') { let nv: Vec<_> = pair.split('=').collect(); @@ -397,7 +396,7 @@ fn get_metrics_config() -> Result { } pub fn query(q: &str) -> Result { - let config = get_metrics_config().map_err(|err| err.to_string())?; + let config = get_metrics_config().map_err(|err| err)?; let query_url = format!( "{}/query?u={}&p={}&q={}", &config.host, &config.username, &config.password, &q diff --git a/programs/budget/src/budget_processor.rs b/programs/budget/src/budget_processor.rs index 43af6e0375..c7acdffe7f 100644 --- a/programs/budget/src/budget_processor.rs +++ b/programs/budget/src/budget_processor.rs @@ -125,7 +125,7 @@ pub fn process_instruction( match instruction { BudgetInstruction::InitializeAccount(expr) => { let contract_keyed_account = next_keyed_account(keyed_accounts_iter)?; - let expr = expr.clone(); + if let Some(payment) = expr.final_payment() { let to_keyed_account = contract_keyed_account; let contract_keyed_account = next_keyed_account(keyed_accounts_iter)?; diff --git a/programs/move_loader/Cargo.lock b/programs/move_loader/Cargo.lock index d7e9fb1934..82d4346ec4 100644 --- a/programs/move_loader/Cargo.lock +++ b/programs/move_loader/Cargo.lock @@ -75,7 +75,7 @@ dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -102,12 +102,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bincode" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -327,8 +326,8 @@ dependencies = [ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "publicsuffix 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -501,7 +500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -519,7 +518,7 @@ dependencies = [ "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -686,7 +685,7 @@ name = "generic-array" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -945,8 +944,8 @@ dependencies = [ "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1228,7 +1227,7 @@ dependencies = [ "data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-multihash 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "unsigned-varint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1781,8 +1780,8 @@ dependencies = [ "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1899,10 +1898,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1910,12 +1909,12 @@ name = "serde_bytes" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_derive" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1925,12 +1924,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.42" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1940,7 +1939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2071,7 +2070,7 @@ dependencies = [ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest 0.9.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)", "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2091,15 +2090,15 @@ dependencies = [ name = "solana-move-loader-program" version = "0.22.0" dependencies = [ - "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "solana-logger 0.22.0", "solana-sdk 0.22.0", "solana_libra_bytecode_verifier 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2121,7 +2120,7 @@ name = "solana-sdk" version = "0.22.0" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2129,7 +2128,6 @@ dependencies = [ "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2137,13 +2135,25 @@ dependencies = [ "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "solana-crate-features 0.22.0", "solana-logger 0.22.0", + "solana-sdk-macro 0.22.0", + "thiserror 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "solana-sdk-macro" +version = "0.22.0" +dependencies = [ + "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2173,7 +2183,7 @@ name = "solana_libra_compiler" version = "0.0.1-sol4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_bytecode_verifier 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_failure_ext 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_ir_to_bytecode 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2194,7 +2204,7 @@ dependencies = [ "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_crypto 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_failure_ext 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_logger 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2208,7 +2218,7 @@ name = "solana_libra_crypto" version = "0.0.1-sol4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "curve25519-dalek 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2221,7 +2231,7 @@ dependencies = [ "proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", "proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_canonical_serialization 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2326,8 +2336,8 @@ dependencies = [ "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "slog-envlogger 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2345,7 +2355,7 @@ dependencies = [ "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "prometheus 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_failure_ext 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_logger 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2356,7 +2366,7 @@ version = "0.0.1-sol4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2440,7 +2450,7 @@ dependencies = [ "prost-build 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "radix_trie 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_canonical_serialization 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_crypto 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_failure_ext 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2460,7 +2470,7 @@ dependencies = [ "mirai-annotations 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", "proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_canonical_serialization 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_crypto 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_failure_ext 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2571,7 +2581,7 @@ dependencies = [ "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)", "precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_codegen 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2718,6 +2728,24 @@ dependencies = [ "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "thiserror" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "thiserror-impl 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "thread-id" version = "3.3.0" @@ -2751,7 +2779,7 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand04_compat 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2970,7 +2998,7 @@ name = "toml" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3319,7 +3347,7 @@ dependencies = [ "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58946044516aa9dc922182e0d6e9d124a31aafe6b421614654eb27cf90cec09c" -"checksum bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ab639324e3ee8774d296864fbc0dbbb256cf1a41c490b94cba90c082915f92" +"checksum bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5753e2a71534719bf3f4e57006c3a4f0d2c672a4b676eec84161f763eca87dbf" "checksum bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e84c238982c4b1e1ee668d136c510c67a13465279c0cb367ea6baf6310620a80" "checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb" "checksum bit-vec 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a4523a10839ffae575fb08aa3423026c8cb4687eef43952afb956229d4f246f7" @@ -3521,10 +3549,10 @@ dependencies = [ "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702" +"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "45af0182ff64abaeea290235eb67da3825a576c5d53e642c4d5b652e12e6effc" -"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0" -"checksum serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)" = "1a3351dcbc1f067e2c92ab7c3c1f288ad1a4cffc470b5aaddb4c2e0a3ae80043" +"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" +"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" "checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" "checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68" "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" @@ -3586,6 +3614,8 @@ dependencies = [ "checksum term 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5" "checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e" "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +"checksum thiserror 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "cc6b305ec0e323c7b6cfff6098a22516e0063d0bb7c3d88660a890217dca099a" +"checksum thiserror-impl 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45ba8d810d9c48fc456b7ad54574e8bfb7c7918a57ad7a6e6a0985d7959e8597" "checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum threshold_crypto 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95be1032c63011f20b01c5edb64930e2b51512782b43b458b1e3449613d70f87" diff --git a/programs/move_loader/src/account_state.rs b/programs/move_loader/src/account_state.rs index 68f2edd8c9..60a27549c7 100644 --- a/programs/move_loader/src/account_state.rs +++ b/programs/move_loader/src/account_state.rs @@ -123,7 +123,7 @@ impl LibraAccountState { Self::User(*owner, write_set) } - pub fn create_genesis(mint_balance: u64) -> Result<(Self), InstructionError> { + pub fn create_genesis(mint_balance: u64) -> Result { let modules = stdlib_modules(); let arena = Arena::new(); let state_view = DataStore::default(); diff --git a/programs/stake/src/stake_state.rs b/programs/stake/src/stake_state.rs index 5a05fa4270..5638470cec 100644 --- a/programs/stake/src/stake_state.rs +++ b/programs/stake/src/stake_state.rs @@ -167,6 +167,7 @@ impl Delegation { self.stake_activating_and_deactivating(epoch, history).0 } + #[allow(clippy::comparison_chain)] fn stake_activating_and_deactivating( &self, epoch: Epoch, diff --git a/scripts/src/csv_to_validator_infos.rs b/scripts/src/csv_to_validator_infos.rs index b6f1b47263..de7a62c86e 100644 --- a/scripts/src/csv_to_validator_infos.rs +++ b/scripts/src/csv_to_validator_infos.rs @@ -23,7 +23,7 @@ fn parse_csv() -> Result<(), Box> { for result in rdr.deserialize() { let record: ValidatorRecord = result?; println!( - r#"ValidatorInfo {{name: "{adjective} {noun}", node: "{identity_pubkey}", node_sol: {tokens:.1}, vote: "{vote_pubkey}", commission: 0}},"#, + r#"ValidatorInfo {{name: "{adjective} {noun}", node: "{identity_pubkey}", node_sol: {tokens:.1}, vote: "{vote_pubkey}", commission: 0}},"#, tokens = &record.tokens, adjective = &record.adjective, noun = &record.noun, diff --git a/sdk-c/src/lib.rs b/sdk-c/src/lib.rs index e96c9749d7..22ab2745e3 100644 --- a/sdk-c/src/lib.rs +++ b/sdk-c/src/lib.rs @@ -96,7 +96,7 @@ impl Message { ), } } - + #[allow(clippy::missing_safety_doc)] pub unsafe fn into_native(self) -> MessageNative { MessageNative { header: self.header.into_native(), @@ -109,7 +109,7 @@ impl Message { } } - #[allow(clippy::should_implement_trait)] + #[allow(clippy::should_implement_trait, clippy::missing_safety_doc)] pub unsafe fn clone(&self) -> Self { Self { header: self.header.clone(), @@ -143,6 +143,7 @@ impl CompiledInstruction { } } + #[allow(clippy::missing_safety_doc)] pub unsafe fn into_native(self) -> CompiledInstructionNative { CompiledInstructionNative { program_id_index: self.program_id_index, @@ -151,7 +152,7 @@ impl CompiledInstruction { } } - #[allow(clippy::should_implement_trait)] + #[allow(clippy::should_implement_trait, clippy::missing_safety_doc)] pub unsafe fn clone(&self) -> Self { Self { program_id_index: self.program_id_index, @@ -256,13 +257,14 @@ impl CVec { out } + #[allow(clippy::missing_safety_doc)] pub unsafe fn into_native(self) -> Vec { Vec::from_raw_parts(self.data, self.len, self.capacity) } } impl CVec { - #[allow(clippy::should_implement_trait)] + #[allow(clippy::should_implement_trait, clippy::missing_safety_doc)] pub unsafe fn clone(&self) -> Self { let native = Vec::from_raw_parts(self.data, self.len, self.capacity); let mut new: Vec = Vec::with_capacity(native.capacity()); @@ -273,7 +275,7 @@ impl CVec { } impl CVec { - #[allow(clippy::should_implement_trait)] + #[allow(clippy::should_implement_trait, clippy::missing_safety_doc)] pub unsafe fn clone(&self) -> Self { let native = Vec::from_raw_parts(self.data, self.len, self.capacity); let mut new: Vec = Vec::with_capacity(native.capacity()); diff --git a/sdk/src/pubkey.rs b/sdk/src/pubkey.rs index f501fd067e..15281dc3c7 100644 --- a/sdk/src/pubkey.rs +++ b/sdk/src/pubkey.rs @@ -96,7 +96,7 @@ pub fn write_pubkey_file(outfile: &str, pubkey: Pubkey) -> Result<(), Box Result<(), Box> { solana_logger::setup_with_filter("solana=info"); solana_metrics::set_panic_hook("watchtower"); - let rpc_client = RpcClient::new(json_rpc_url.to_string()); + let rpc_client = RpcClient::new(json_rpc_url); let notifier = Notifier::new(); let mut last_transaction_count = 0;