diff --git a/.github/nightly-version b/.github/nightly-version index e205afa2..09b79303 100644 --- a/.github/nightly-version +++ b/.github/nightly-version @@ -1 +1 @@ -nightly-2023-10-01 +nightly-2023-11-01 diff --git a/coins/monero/src/block.rs b/coins/monero/src/block.rs index 751b04f7..f923f5f4 100644 --- a/coins/monero/src/block.rs +++ b/coins/monero/src/block.rs @@ -59,7 +59,7 @@ pub struct Block { impl Block { pub fn number(&self) -> usize { - match self.miner_tx.prefix.inputs.get(0) { + match self.miner_tx.prefix.inputs.first() { Some(Input::Gen(number)) => (*number).try_into().unwrap(), _ => panic!("invalid block, miner TX didn't have a Input::Gen"), } diff --git a/coins/monero/src/ringct/mod.rs b/coins/monero/src/ringct/mod.rs index 395335f6..fc5c7528 100644 --- a/coins/monero/src/ringct/mod.rs +++ b/coins/monero/src/ringct/mod.rs @@ -360,7 +360,7 @@ impl RctSignatures { self .base .encrypted_amounts - .get(0) + .first() .expect("MLSAG with Bulletproofs didn't have any outputs"), EncryptedAmount::Original { .. } ) { diff --git a/coins/monero/src/rpc/mod.rs b/coins/monero/src/rpc/mod.rs index 0a220984..20d6089d 100644 --- a/coins/monero/src/rpc/mod.rs +++ b/coins/monero/src/rpc/mod.rs @@ -247,7 +247,7 @@ impl Rpc { // https://github.com/monero-project/monero/issues/8311 if res.as_hex.is_empty() { - match tx.prefix.inputs.get(0) { + match tx.prefix.inputs.first() { Some(Input::Gen { .. }) => (), _ => Err(RpcError::PrunedTransaction)?, } @@ -308,7 +308,7 @@ impl Rpc { match self.get_block(self.get_block_hash(number).await?).await { Ok(block) => { // Make sure this is actually the block for this number - match block.miner_tx.prefix.inputs.get(0) { + match block.miner_tx.prefix.inputs.first() { Some(Input::Gen(actual)) => { if usize::try_from(*actual).unwrap() == number { Ok(block) @@ -467,7 +467,7 @@ impl Rpc { } b"status" => { if bytes_res - .get(0) + .first() .ok_or_else(|| io::Error::new(io::ErrorKind::Other, "status wasn't a string"))? .as_slice() != b"OK" diff --git a/coins/monero/src/wallet/scan.rs b/coins/monero/src/wallet/scan.rs index aa2bd5c5..8b5b1650 100644 --- a/coins/monero/src/wallet/scan.rs +++ b/coins/monero/src/wallet/scan.rs @@ -493,8 +493,9 @@ impl Scanner { .iter() // Filter to v2 miner TX outputs/RCT outputs since we're tracking the RCT output index .filter(|output| { - ((tx.prefix.version == 2) && matches!(tx.prefix.inputs.get(0), Some(Input::Gen(..)))) || - output.amount.is_none() + let is_v2_miner_tx = + (tx.prefix.version == 2) && matches!(tx.prefix.inputs.first(), Some(Input::Gen(..))); + is_v2_miner_tx || output.amount.is_none() }) .count(), ) diff --git a/coordinator/src/tributary/mod.rs b/coordinator/src/tributary/mod.rs index 8f4bdf2d..023cb74c 100644 --- a/coordinator/src/tributary/mod.rs +++ b/coordinator/src/tributary/mod.rs @@ -392,7 +392,7 @@ impl ReadWrite for Transaction { // is impossible since we'll only read up to u16::MAX items. writer.write_all(&u16::try_from(shares.len()).unwrap().to_le_bytes())?; - let share_len = shares.get(0).map(|share| share.len()).unwrap_or(0); + let share_len = shares.first().map(|share| share.len()).unwrap_or(0); // For BLS12-381 G2, this would be: // - A 32-byte share // - A 96-byte ephemeral key diff --git a/coordinator/tributary/src/merkle.rs b/coordinator/tributary/src/merkle.rs index 175ec022..e9322b70 100644 --- a/coordinator/tributary/src/merkle.rs +++ b/coordinator/tributary/src/merkle.rs @@ -33,5 +33,5 @@ pub(crate) fn merkle(hash_args: &[[u8; 32]]) -> [u8; 32] { hashes = interim; } - hashes.get(0).copied().map(Into::into).unwrap_or(zero) + hashes.first().copied().map(Into::into).unwrap_or(zero) } diff --git a/crypto/multiexp/src/batch.rs b/crypto/multiexp/src/batch.rs index 246ccb5d..1cc48349 100644 --- a/crypto/multiexp/src/batch.rs +++ b/crypto/multiexp/src/batch.rs @@ -123,7 +123,7 @@ where } slice - .get(0) + .first() .filter(|(_, value)| !bool::from(multiexp_vartime(value).is_identity())) .map(|(id, _)| *id) } diff --git a/processor/src/multisigs/mod.rs b/processor/src/multisigs/mod.rs index 1cecde03..5138bccf 100644 --- a/processor/src/multisigs/mod.rs +++ b/processor/src/multisigs/mod.rs @@ -171,7 +171,7 @@ impl MultisigManager { ( MultisigManager { scanner, - existing: current_keys.get(0).cloned().map(|(activation_block, key)| MultisigViewer { + existing: current_keys.first().cloned().map(|(activation_block, key)| MultisigViewer { activation_block, key, scheduler: schedulers.remove(0), diff --git a/processor/src/networks/monero.rs b/processor/src/networks/monero.rs index f983c524..836772e4 100644 --- a/processor/src/networks/monero.rs +++ b/processor/src/networks/monero.rs @@ -470,7 +470,7 @@ impl Network for Monero { let mut outputs = Vec::with_capacity(txs.len()); for mut tx_outputs in txs.drain(..) { for output in tx_outputs.drain(..) { - let mut data = output.arbitrary_data().get(0).cloned().unwrap_or(vec![]); + let mut data = output.arbitrary_data().first().cloned().unwrap_or(vec![]); // The Output serialization code above uses u16 to represent length data.truncate(u16::MAX.into()); diff --git a/tests/coordinator/src/tests/mod.rs b/tests/coordinator/src/tests/mod.rs index 1c047d03..0e84ec66 100644 --- a/tests/coordinator/src/tests/mod.rs +++ b/tests/coordinator/src/tests/mod.rs @@ -13,6 +13,7 @@ mod batch; pub use batch::batch; mod sign; +#[allow(unused_imports)] pub use sign::sign; pub(crate) const COORDINATORS: usize = 4;