From 02c8c6354cecd9b9fa9240e1576cc5d35587aff4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:21:48 +0000 Subject: [PATCH 1/2] Initial plan From b6e0c0b91a078643a87354567ad5fd208e57aa8b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:26:02 +0000 Subject: [PATCH 2/2] fix: resolve clippy lint errors in shell-primitives and shell-mempool - codec.rs: use `.is_multiple_of(4)` instead of `% 4 != 0` - ssz.rs: use `.div_ceil(32)` instead of `(len + 31) / 32` - admission.rs: derive Default instead of manual impl Co-authored-by: LucienSong <44640337+LucienSong@users.noreply.github.com> Agent-Logs-Url: https://github.com/ShellDAO/shell-chain/sessions/af5db72b-530b-48e9-bab9-a5fdc7f88dc6 --- crates/shell-mempool/src/admission.rs | 10 +--------- crates/shell-primitives/src/codec.rs | 2 +- crates/shell-primitives/src/ssz.rs | 2 +- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/crates/shell-mempool/src/admission.rs b/crates/shell-mempool/src/admission.rs index 4e31cb2..2f4217b 100644 --- a/crates/shell-mempool/src/admission.rs +++ b/crates/shell-mempool/src/admission.rs @@ -12,19 +12,11 @@ use crate::errors::{ use crate::fees::{gas_price_covers, payload_lane_fee, witness_lane_fee, FeeLane, FeeSchedule}; use crate::outcomes::{AuthorizationValidated, TentativeAccepted}; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] pub struct NoncePolicy { pub max_future_nonce_gap: u64, } -impl Default for NoncePolicy { - fn default() -> Self { - Self { - max_future_nonce_gap: 0, - } - } -} - #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub enum TransactionAuthorizationDomain { #[default] diff --git a/crates/shell-primitives/src/codec.rs b/crates/shell-primitives/src/codec.rs index ad3ad68..7e55459 100644 --- a/crates/shell-primitives/src/codec.rs +++ b/crates/shell-primitives/src/codec.rs @@ -204,7 +204,7 @@ fn decode_authorization_list(bytes: &[u8]) -> Result, Primiti } let first_offset = read_u32(bytes, 0)? as usize; - if first_offset == 0 || first_offset % 4 != 0 { + if first_offset == 0 || !first_offset.is_multiple_of(4) { return Err(PrimitiveError::MalformedSsz(MalformedSszError { context: "Authorization list first offset must equal the offset-table size", })); diff --git a/crates/shell-primitives/src/ssz.rs b/crates/shell-primitives/src/ssz.rs index 474bbea..94068cd 100644 --- a/crates/shell-primitives/src/ssz.rs +++ b/crates/shell-primitives/src/ssz.rs @@ -59,7 +59,7 @@ pub(crate) fn pack_bytes(bytes: &[u8]) -> Vec<[u8; 32]> { if bytes.is_empty() { return Vec::new(); } - let num_chunks = (bytes.len() + 31) / 32; + let num_chunks = bytes.len().div_ceil(32); let mut chunks = Vec::with_capacity(num_chunks); for i in 0..num_chunks { let mut chunk = [0u8; 32];