mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-07 00:42:42 +00:00
Enable large_stack_frames lint (#6343)
* Enable `large_stack_frames` lint
This commit is contained in:
1
Makefile
1
Makefile
@@ -207,6 +207,7 @@ lint:
|
|||||||
cargo clippy --workspace --tests $(EXTRA_CLIPPY_OPTS) --features "$(TEST_FEATURES)" -- \
|
cargo clippy --workspace --tests $(EXTRA_CLIPPY_OPTS) --features "$(TEST_FEATURES)" -- \
|
||||||
-D clippy::fn_to_numeric_cast_any \
|
-D clippy::fn_to_numeric_cast_any \
|
||||||
-D clippy::manual_let_else \
|
-D clippy::manual_let_else \
|
||||||
|
-D clippy::large_stack_frames \
|
||||||
-D warnings \
|
-D warnings \
|
||||||
-A clippy::derive_partial_eq_without_eq \
|
-A clippy::derive_partial_eq_without_eq \
|
||||||
-A clippy::upper-case-acronyms \
|
-A clippy::upper-case-acronyms \
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ fn ssz_blob_to_crypto_blob<E: EthSpec>(blob: &Blob<E>) -> Result<KzgBlob, KzgErr
|
|||||||
KzgBlob::from_bytes(blob.as_ref()).map_err(Into::into)
|
KzgBlob::from_bytes(blob.as_ref()).map_err(Into::into)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn ssz_blob_to_crypto_blob_boxed<E: EthSpec>(blob: &Blob<E>) -> Result<Box<KzgBlob>, KzgError> {
|
||||||
|
ssz_blob_to_crypto_blob::<E>(blob).map(Box::new)
|
||||||
|
}
|
||||||
|
|
||||||
/// Converts a cell ssz List object to an array to be used with the kzg
|
/// Converts a cell ssz List object to an array to be used with the kzg
|
||||||
/// crypto library.
|
/// crypto library.
|
||||||
fn ssz_cell_to_crypto_cell<E: EthSpec>(cell: &Cell<E>) -> Result<KzgCellRef, KzgError> {
|
fn ssz_cell_to_crypto_cell<E: EthSpec>(cell: &Cell<E>) -> Result<KzgCellRef, KzgError> {
|
||||||
@@ -34,7 +38,7 @@ pub fn validate_blob<E: EthSpec>(
|
|||||||
kzg_proof: KzgProof,
|
kzg_proof: KzgProof,
|
||||||
) -> Result<(), KzgError> {
|
) -> Result<(), KzgError> {
|
||||||
let _timer = crate::metrics::start_timer(&crate::metrics::KZG_VERIFICATION_SINGLE_TIMES);
|
let _timer = crate::metrics::start_timer(&crate::metrics::KZG_VERIFICATION_SINGLE_TIMES);
|
||||||
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
|
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
|
||||||
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
|
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +108,7 @@ pub fn compute_blob_kzg_proof<E: EthSpec>(
|
|||||||
blob: &Blob<E>,
|
blob: &Blob<E>,
|
||||||
kzg_commitment: KzgCommitment,
|
kzg_commitment: KzgCommitment,
|
||||||
) -> Result<KzgProof, KzgError> {
|
) -> Result<KzgProof, KzgError> {
|
||||||
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
|
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
|
||||||
kzg.compute_blob_kzg_proof(&kzg_blob, kzg_commitment)
|
kzg.compute_blob_kzg_proof(&kzg_blob, kzg_commitment)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +117,7 @@ pub fn blob_to_kzg_commitment<E: EthSpec>(
|
|||||||
kzg: &Kzg,
|
kzg: &Kzg,
|
||||||
blob: &Blob<E>,
|
blob: &Blob<E>,
|
||||||
) -> Result<KzgCommitment, KzgError> {
|
) -> Result<KzgCommitment, KzgError> {
|
||||||
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
|
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
|
||||||
kzg.blob_to_kzg_commitment(&kzg_blob)
|
kzg.blob_to_kzg_commitment(&kzg_blob)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +128,7 @@ pub fn compute_kzg_proof<E: EthSpec>(
|
|||||||
z: Hash256,
|
z: Hash256,
|
||||||
) -> Result<(KzgProof, Hash256), KzgError> {
|
) -> Result<(KzgProof, Hash256), KzgError> {
|
||||||
let z = z.0.into();
|
let z = z.0.into();
|
||||||
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
|
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
|
||||||
kzg.compute_kzg_proof(&kzg_blob, &z)
|
kzg.compute_kzg_proof(&kzg_blob, &z)
|
||||||
.map(|(proof, z)| (proof, Hash256::from_slice(&z.to_vec())))
|
.map(|(proof, z)| (proof, Hash256::from_slice(&z.to_vec())))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -954,6 +954,7 @@ mod test {
|
|||||||
let kzg = load_kzg()?;
|
let kzg = load_kzg()?;
|
||||||
let (kzg_commitment, kzg_proof, blob) = load_test_blobs_bundle::<E>()?;
|
let (kzg_commitment, kzg_proof, blob) = load_test_blobs_bundle::<E>()?;
|
||||||
let kzg_blob = kzg::Blob::from_bytes(blob.as_ref())
|
let kzg_blob = kzg::Blob::from_bytes(blob.as_ref())
|
||||||
|
.map(Box::new)
|
||||||
.map_err(|e| format!("Error converting blob to kzg blob: {e:?}"))?;
|
.map_err(|e| format!("Error converting blob to kzg blob: {e:?}"))?;
|
||||||
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
|
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
|
||||||
.map_err(|e| format!("Invalid blobs bundle: {e:?}"))
|
.map_err(|e| format!("Invalid blobs bundle: {e:?}"))
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ use clap::{builder::ArgPredicate, crate_version, Arg, ArgAction, ArgGroup, Comma
|
|||||||
use clap_utils::{get_color_style, FLAG_HEADER};
|
use clap_utils::{get_color_style, FLAG_HEADER};
|
||||||
use strum::VariantNames;
|
use strum::VariantNames;
|
||||||
|
|
||||||
|
#[allow(clippy::large_stack_frames)]
|
||||||
pub fn cli_app() -> Command {
|
pub fn cli_app() -> Command {
|
||||||
Command::new("beacon_node")
|
Command::new("beacon_node")
|
||||||
.display_order(0)
|
.display_order(0)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ const DENEB_FORK_EPOCH: u64 = 2;
|
|||||||
const SUGGESTED_FEE_RECIPIENT: [u8; 20] =
|
const SUGGESTED_FEE_RECIPIENT: [u8; 20] =
|
||||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
|
||||||
|
|
||||||
|
#[allow(clippy::large_stack_frames)]
|
||||||
pub fn run_basic_sim(matches: &ArgMatches) -> Result<(), String> {
|
pub fn run_basic_sim(matches: &ArgMatches) -> Result<(), String> {
|
||||||
let node_count = matches
|
let node_count = matches
|
||||||
.get_one::<String>("nodes")
|
.get_one::<String>("nodes")
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
/// - `mod tests`: runs all the test vectors locally.
|
/// - `mod tests`: runs all the test vectors locally.
|
||||||
macro_rules! vectors_and_tests {
|
macro_rules! vectors_and_tests {
|
||||||
($($name: ident, $test: expr),*) => {
|
($($name: ident, $test: expr),*) => {
|
||||||
|
#[allow(clippy::large_stack_frames)]
|
||||||
pub async fn vectors() -> Vec<TestVector> {
|
pub async fn vectors() -> Vec<TestVector> {
|
||||||
let mut vec = vec![];
|
let mut vec = vec![];
|
||||||
|
|
||||||
|
|||||||
@@ -852,6 +852,7 @@ async fn chain_grows() {
|
|||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
#[allow(clippy::large_stack_frames)]
|
||||||
async fn chain_grows_with_metadata() {
|
async fn chain_grows_with_metadata() {
|
||||||
let builder = TesterBuilder::new().await;
|
let builder = TesterBuilder::new().await;
|
||||||
|
|
||||||
@@ -959,6 +960,7 @@ async fn chain_grows_with_metadata() {
|
|||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
#[allow(clippy::large_stack_frames)]
|
||||||
async fn chain_grows_with_metadata_and_multiple_skip_slots() {
|
async fn chain_grows_with_metadata_and_multiple_skip_slots() {
|
||||||
let builder = TesterBuilder::new().await;
|
let builder = TesterBuilder::new().await;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user