Skip to content

Commit 925bb33

Browse files
authored
rust 1.89 -> 1.90 (#3616)
* rust 1.89 -> 1.90 fix clippy - use `is_multiple_of` - remove some dead code - update flake.lock, leave that to #3601 * nix: remove deprecated apple_sdk * allow unused_attributes in contract bindings * nix: fix flake.nix on darwin Fixes: error: linking with `cc` failed: exit status: 1 ... = note: Multiple conflicting values defined for DEVELOPER_DIR_arm64_apple_darwin Existing value is /nix/store/rhlyld20zdzdi5wghb4b12gw52s9whr9-apple-sdk-11.3 Attempting to set to /nix/store/ywb67nwhda4n7lww0dyw394hd7gqw1sr-apple-sdk-12.3 via DEVELOPER_DIR_FOR_TARGET * Revert "allow unused_attributes in contract bindings" This reverts commit 6b7182d. * Reapply "allow unused_attributes in contract bindings" This reverts commit 9fc4708. * link foundry issue
1 parent 65448a6 commit 925bb33

File tree

13 files changed

+84
-142
lines changed

13 files changed

+84
-142
lines changed

contracts/rust/adapter/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
use alloy::primitives::U256;
44
use ark_ff::{BigInteger, PrimeField};
55

6-
#[allow(dead_code)]
6+
// See https://github.com/foundry-rs/foundry/issues/11712 regarding unused attributes
7+
#[allow(dead_code, unused_attributes)]
78
pub(crate) mod bindings;
89
mod copy;
910
pub mod evm;

crates/hotshot/hotshot/src/traits/election/helpers.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,10 @@ impl StableQuorumIterator {
121121
let (prev_rng, this_rng) = make_rngs(seed, round);
122122

123123
Self {
124-
prev_rng: NonRepeatValueIterator::new(prev_rng, calc_num_slots(count, round % 2 == 0)),
124+
prev_rng: NonRepeatValueIterator::new(
125+
prev_rng,
126+
calc_num_slots(count, round.is_multiple_of(2)),
127+
),
125128
this_rng: NonRepeatValueIterator::new(this_rng, calc_num_slots(count, round % 2 == 1)),
126129
round,
127130
count,
@@ -240,7 +243,10 @@ impl RandomOverlapQuorumIterator {
240243
let this_overlap = this_rng.gen_range(overlap_min..=overlap_max);
241244

242245
Self {
243-
prev_rng: NonRepeatValueIterator::new(prev_rng, calc_num_slots(count, round % 2 == 0)),
246+
prev_rng: NonRepeatValueIterator::new(
247+
prev_rng,
248+
calc_num_slots(count, round.is_multiple_of(2)),
249+
),
244250
this_rng: NonRepeatValueIterator::new(this_rng, calc_num_slots(count, round % 2 == 1)),
245251
round,
246252
members: this_members,
@@ -415,7 +421,7 @@ mod tests {
415421
"odd set non-overlap value should be odd (stable)"
416422
);
417423
assert!(
418-
even_set[2] % 2 == 0,
424+
even_set[2].is_multiple_of(2),
419425
"even set non-overlap value should be even (stable)"
420426
);
421427

@@ -429,7 +435,7 @@ mod tests {
429435
"odd set non-overlap value should be odd (random overlap)"
430436
);
431437
assert!(
432-
even_set[3] % 2 == 0,
438+
even_set[3].is_multiple_of(2),
433439
"even set non-overlap value should be even (random overlap)"
434440
);
435441
}

crates/hotshot/hotshot/src/traits/networking/push_cdn_network.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ use hotshot_types::{
3939
traits::{
4040
metrics::{Counter, Metrics, NoMetrics},
4141
network::{BroadcastDelay, ConnectedNetwork, Topic as HotShotTopic},
42-
node_implementation::NodeType,
4342
signature_key::SignatureKey,
4443
},
4544
utils::bincode_opts,
@@ -49,11 +48,14 @@ use num_enum::{IntoPrimitive, TryFromPrimitive};
4948
use parking_lot::Mutex;
5049
#[cfg(feature = "hotshot-testing")]
5150
use rand::{rngs::StdRng, RngCore, SeedableRng};
52-
use tokio::{spawn, sync::mpsc::error::TrySendError, time::sleep};
51+
use tokio::sync::mpsc::error::TrySendError;
52+
#[cfg(feature = "hotshot-testing")]
53+
use tokio::{spawn, time::sleep};
5354
#[cfg(feature = "hotshot-testing")]
5455
use tracing::error;
5556

5657
use super::NetworkError;
58+
use crate::NodeType;
5759

5860
/// CDN-specific metrics
5961
#[derive(Clone)]

crates/hotshot/testing/tests/tests_3/memory_network.rs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,13 @@ use hotshot::{
1111
traits::{
1212
election::static_committee::StaticCommittee,
1313
implementations::{MasterMap, MemoryNetwork},
14-
NodeImplementation,
1514
},
1615
types::SignatureKey,
1716
};
1817
use hotshot_example_types::{
19-
2018
block_types::{TestBlockHeader, TestBlockPayload, TestTransaction},
2119
node_types::TestVersions,
2220
state_types::{TestInstanceState, TestValidatedState},
23-
storage_types::TestStorage,
2421
};
2522
use hotshot_types::{
2623
data::{EpochNumber, ViewNumber},
@@ -32,7 +29,6 @@ use hotshot_types::{
3229
},
3330
};
3431
use rand::{rngs::StdRng, RngCore, SeedableRng};
35-
use serde::{Deserialize, Serialize};
3632
use tokio::time::timeout;
3733
use tracing::{instrument, trace};
3834

@@ -65,14 +61,6 @@ impl NodeType for Test {
6561
type StateSignatureKey = SchnorrPubKey;
6662
}
6763

68-
#[derive(Clone, Debug, Deserialize, Serialize, Hash, PartialEq, Eq)]
69-
pub struct TestImpl {}
70-
71-
impl NodeImplementation<Test> for TestImpl {
72-
type Network = MemoryNetwork<<Test as NodeType>::SignatureKey>;
73-
type Storage = TestStorage<Test>;
74-
}
75-
7664
/// fake Eq
7765
/// we can't compare the votetokentype for equality, so we can't
7866
/// derive EQ on `VoteType<TYPES>` and thereby message
@@ -172,7 +160,8 @@ async fn memory_network_direct_queue() {
172160
.recv_message()
173161
.await
174162
.expect("Failed to receive message");
175-
let (deserialized_message, _version) = upgrade_lock.deserialize(&recv_message).await.unwrap();
163+
let (deserialized_message, _version) =
164+
upgrade_lock.deserialize(&recv_message).await.unwrap();
176165
assert!(timeout(Duration::from_secs(1), network2.recv_message())
177166
.await
178167
.is_err());
@@ -193,7 +182,8 @@ async fn memory_network_direct_queue() {
193182
.recv_message()
194183
.await
195184
.expect("Failed to receive message");
196-
let (deserialized_message, _version) = upgrade_lock.deserialize(&recv_message).await.unwrap();
185+
let (deserialized_message, _version) =
186+
upgrade_lock.deserialize(&recv_message).await.unwrap();
197187
assert!(timeout(Duration::from_secs(1), network1.recv_message())
198188
.await
199189
.is_err());
@@ -229,7 +219,8 @@ async fn memory_network_broadcast_queue() {
229219
.recv_message()
230220
.await
231221
.expect("Failed to receive message");
232-
let (deserialized_message, _version) = upgrade_lock.deserialize(&recv_message).await.unwrap();
222+
let (deserialized_message, _version) =
223+
upgrade_lock.deserialize(&recv_message).await.unwrap();
233224
assert!(timeout(Duration::from_secs(1), network2.recv_message())
234225
.await
235226
.is_err());
@@ -254,7 +245,8 @@ async fn memory_network_broadcast_queue() {
254245
.recv_message()
255246
.await
256247
.expect("Failed to receive message");
257-
let (deserialized_message, _version) = upgrade_lock.deserialize(&recv_message).await.unwrap();
248+
let (deserialized_message, _version) =
249+
upgrade_lock.deserialize(&recv_message).await.unwrap();
258250
assert!(timeout(Duration::from_secs(1), network1.recv_message())
259251
.await
260252
.is_err());
@@ -266,7 +258,6 @@ async fn memory_network_broadcast_queue() {
266258
#[instrument]
267259
#[allow(deprecated)]
268260
async fn memory_network_test_in_flight_message_count() {
269-
270261
let group: Arc<MasterMap<<Test as NodeType>::SignatureKey>> = MasterMap::new();
271262
trace!(?group);
272263
let pub_key_1 = pubkey();

crates/hotshot/types/src/data/ns_table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const NS_ID_BYTE_LEN: usize = 4;
2020
pub fn parse_ns_table(payload_byte_len: usize, bytes: &[u8]) -> Vec<Range<usize>> {
2121
let mut result = vec![];
2222
if bytes.len() < NUM_NSS_BYTE_LEN
23-
|| (bytes.len() - NUM_NSS_BYTE_LEN) % (NS_OFFSET_BYTE_LEN + NS_ID_BYTE_LEN) != 0
23+
|| !(bytes.len() - NUM_NSS_BYTE_LEN).is_multiple_of(NS_OFFSET_BYTE_LEN + NS_ID_BYTE_LEN)
2424
{
2525
tracing::warn!(
2626
"Failed to parse the metadata as namespace table. Use a single namespace table \

crates/hotshot/types/src/utils.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ pub fn epoch_from_block_number(block_number: u64, epoch_height: u64) -> u64 {
327327
0
328328
} else if block_number == 0 {
329329
1
330-
} else if block_number % epoch_height == 0 {
330+
} else if block_number.is_multiple_of(epoch_height) {
331331
block_number / epoch_height
332332
} else {
333333
block_number / epoch_height + 1
@@ -372,7 +372,7 @@ pub fn option_epoch_from_block_number<TYPES: NodeType>(
372372
None
373373
} else if block_number == 0 {
374374
Some(1u64)
375-
} else if block_number % epoch_height == 0 {
375+
} else if block_number.is_multiple_of(epoch_height) {
376376
Some(block_number / epoch_height)
377377
} else {
378378
Some(block_number / epoch_height + 1)
@@ -413,7 +413,7 @@ pub fn is_transition_block(block_number: u64, epoch_height: u64) -> bool {
413413
if block_number == 0 || epoch_height == 0 {
414414
false
415415
} else {
416-
(block_number + 3) % epoch_height == 0
416+
(block_number + 3).is_multiple_of(epoch_height)
417417
}
418418
}
419419
/// returns true if it's the first transition block (epoch height - 2)
@@ -431,7 +431,7 @@ pub fn is_epoch_transition(block_number: u64, epoch_height: u64) -> bool {
431431
if block_number == 0 || epoch_height == 0 {
432432
false
433433
} else {
434-
block_number % epoch_height >= epoch_height - 3 || block_number % epoch_height == 0
434+
block_number % epoch_height >= epoch_height - 3 || block_number.is_multiple_of(epoch_height)
435435
}
436436
}
437437

@@ -441,7 +441,7 @@ pub fn is_last_block(block_number: u64, epoch_height: u64) -> bool {
441441
if block_number == 0 || epoch_height == 0 {
442442
false
443443
} else {
444-
block_number % epoch_height == 0
444+
block_number.is_multiple_of(epoch_height)
445445
}
446446
}
447447

@@ -467,7 +467,7 @@ pub fn is_epoch_root(block_number: u64, epoch_height: u64) -> bool {
467467
if block_number == 0 || epoch_height == 0 {
468468
false
469469
} else {
470-
(block_number + 5) % epoch_height == 0
470+
(block_number + 5).is_multiple_of(epoch_height)
471471
}
472472
}
473473

@@ -477,7 +477,7 @@ pub fn is_ge_epoch_root(block_number: u64, epoch_height: u64) -> bool {
477477
if block_number == 0 || epoch_height == 0 {
478478
false
479479
} else {
480-
block_number % epoch_height == 0 || block_number % epoch_height >= epoch_height - 5
480+
block_number.is_multiple_of(epoch_height) || block_number % epoch_height >= epoch_height - 5
481481
}
482482
}
483483

@@ -486,7 +486,7 @@ pub fn is_gt_epoch_root(block_number: u64, epoch_height: u64) -> bool {
486486
if block_number == 0 || epoch_height == 0 {
487487
false
488488
} else {
489-
block_number % epoch_height == 0 || block_number % epoch_height > epoch_height - 5
489+
block_number.is_multiple_of(epoch_height) || block_number % epoch_height > epoch_height - 5
490490
}
491491
}
492492

0 commit comments

Comments
 (0)