Skip to content

introduce PackedProofs to semaphore-rs for Oxide branch (#85) (#87) #283

introduce PackedProofs to semaphore-rs for Oxide branch (#85) (#87)

introduce PackedProofs to semaphore-rs for Oxide branch (#85) (#87) #283

Triggered via push September 16, 2024 19:28
Status Success
Total duration 12m 19s
Artifacts
Fit to window
Zoom out
Zoom in

Annotations

39 warnings
this expression creates a reference which is immediately dereferenced by the compiler: src/lazy_merkle_tree.rs#L1152
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/lazy_merkle_tree.rs:1152:27 | 1152 | if file.write_all(&buf).is_err() { | ^^^^ help: change this to: `buf` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
temporary with significant `Drop` can be early dropped: src/lazy_merkle_tree.rs#L984
warning: temporary with significant `Drop` can be early dropped --> src/lazy_merkle_tree.rs:984:17 | 983 | fn update_with_mutation(&self, index: usize, value: &H::Hash) { | ___________________________________________________________________- 984 | | let mut storage = self.storage.lock().expect("lock poisoned, terminating"); | | ^^^^^^^ 985 | | let leaf_index_in_dense_tree = index + (self.root_index << self.depth); 986 | | storage[leaf_index_in_dense_tree] = value.clone(); ... | 993 | | } 994 | | } | |_____- temporary `storage` is currently being dropped at the end of its contained scope | = note: this might lead to unnecessary resource contention = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening help: merge the temporary construction with its single usage | 984 ~ 985 + self.storage.lock().expect("lock poisoned, terminating").; | help: remove separated single usage | 986 - storage[leaf_index_in_dense_tree] = value.clone(); 986 + |
temporary with significant `Drop` can be early dropped: src/lazy_merkle_tree.rs#L747
warning: temporary with significant `Drop` can be early dropped --> src/lazy_merkle_tree.rs:747:17 | 746 | fn update_with_mutation(&self, index: usize, value: &H::Hash) { | ___________________________________________________________________- 747 | | let mut storage = self.storage.lock().expect("lock poisoned, terminating"); | | ^^^^^^^ 748 | | let leaf_index_in_dense_tree = index + (self.root_index << self.depth); 749 | | storage[leaf_index_in_dense_tree] = value.clone(); ... | 756 | | } 757 | | } | |_____- temporary `storage` is currently being dropped at the end of its contained scope | = note: this might lead to unnecessary resource contention = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening = note: `#[warn(clippy::significant_drop_tightening)]` implied by `#[warn(clippy::nursery)]` help: merge the temporary construction with its single usage | 747 ~ 748 + self.storage.lock().expect("lock poisoned, terminating").; | help: remove separated single usage | 749 - storage[leaf_index_in_dense_tree] = value.clone(); 749 + |
redundant clone: src/lazy_merkle_tree.rs#L563
warning: redundant clone --> src/lazy_merkle_tree.rs:563:39 | 563 | let right = children.right.clone(); | ^^^^^^^^ help: remove this | note: cloned value is neither consumed nor mutated --> src/lazy_merkle_tree.rs:563:25 | 563 | let right = children.right.clone(); | ^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
redundant clone: src/lazy_merkle_tree.rs#L562
warning: redundant clone --> src/lazy_merkle_tree.rs:562:37 | 562 | let left = children.left.clone(); | ^^^^^^^^ help: remove this | note: cloned value is neither consumed nor mutated --> src/lazy_merkle_tree.rs:562:24 | 562 | let left = children.left.clone(); | ^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone = note: `#[warn(clippy::redundant_clone)]` implied by `#[warn(clippy::all)]`
docs for function returning `Result` missing `# Errors` section: src/lazy_merkle_tree.rs#L86
warning: docs for function returning `Result` missing `# Errors` section --> src/lazy_merkle_tree.rs:86:5 | 86 | / pub fn new_mmapped_with_dense_prefix_with_init_values( 87 | | depth: usize, 88 | | prefix_depth: usize, 89 | | empty_value: &H::Hash, 90 | | initial_values: &[H::Hash], 91 | | file_path: &str, 92 | | ) -> Result<LazyMerkleTree<H, Canonical>, DenseMMapError> { | |_____________________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`: src/lazy_merkle_tree.rs#L86
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]` --> src/lazy_merkle_tree.rs:86:5 | 86 | / pub fn new_mmapped_with_dense_prefix_with_init_values( 87 | | depth: usize, 88 | | prefix_depth: usize, 89 | | empty_value: &H::Hash, 90 | | initial_values: &[H::Hash], 91 | | file_path: &str, 92 | | ) -> Result<LazyMerkleTree<H, Canonical>, DenseMMapError> { | |_____________________________________________________________^ | = help: either add some descriptive text or remove the attribute = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use = note: `#[warn(clippy::double_must_use)]` implied by `#[warn(clippy::all)]`
docs for function which may panic missing `# Panics` section: src/protocol/mod.rs#L172
warning: docs for function which may panic missing `# Panics` section --> src/protocol/mod.rs:172:1 | 172 | / pub fn generate_witness( 173 | | identity: &Identity, 174 | | merkle_proof: &merkle_tree::Proof<PoseidonHash>, 175 | | external_nullifier_hash: Field, 176 | | signal_hash: Field, 177 | | ) -> Vec<Fr> { | |____________^ | note: first possible panic found here --> src/protocol/mod.rs:191:51 | 191 | [get_depth_index(depth).unwrap_or_else(|| panic!("Depth {depth} not supported"))]; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc = note: `#[warn(clippy::missing_panics_doc)]` implied by `#[warn(clippy::pedantic)]`
this function could have a `#[must_use]` attribute: src/protocol/mod.rs#L172
warning: this function could have a `#[must_use]` attribute --> src/protocol/mod.rs:172:1 | 172 | / pub fn generate_witness( 173 | | identity: &Identity, 174 | | merkle_proof: &merkle_tree::Proof<PoseidonHash>, 175 | | external_nullifier_hash: Field, 176 | | signal_hash: Field, 177 | | ) -> Vec<Fr> { | |____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate = note: `#[warn(clippy::must_use_candidate)]` implied by `#[warn(clippy::pedantic)]` help: add the attribute | 172 + #[must_use] pub fn generate_witness( 173 + identity: &Identity, 174 + merkle_proof: &merkle_tree::Proof<PoseidonHash>, 175 + external_nullifier_hash: Field, 176 + signal_hash: Field, 177 ~ ) -> Vec<Fr> { |
unneeded `return` statement: src/protocol/authentication.rs#L31
warning: unneeded `return` statement --> src/protocol/authentication.rs:31:5 | 31 | / return super::verify_proof( 32 | | root, 33 | | nullifier_hash, 34 | | signal_hash, ... | 37 | | depth, 38 | | ); | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = help: remove `return`
docs for function returning `Result` missing `# Errors` section: src/protocol/authentication.rs#L20
warning: docs for function returning `Result` missing `# Errors` section --> src/protocol/authentication.rs:20:1 | 20 | / pub fn verify_proof( 21 | | depth: usize, 22 | | id_commitment: Field, 23 | | nullifier_hash: Field, ... | 26 | | proof: &Proof, 27 | | ) -> Result<bool, ProofError> { | |_____________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
unneeded `return` statement: src/protocol/authentication.rs#L17
warning: unneeded `return` statement --> src/protocol/authentication.rs:17:5 | 17 | return super::generate_proof(identity, &merkle_proof, ext_nullifier_hash, signal_hash); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` implied by `#[warn(clippy::all)]` = help: remove `return`
docs for function returning `Result` missing `# Errors` section: src/protocol/authentication.rs#L8
warning: docs for function returning `Result` missing `# Errors` section --> src/protocol/authentication.rs:8:1 | 8 | / pub fn generate_proof( 9 | | depth: usize, 10 | | identity: &Identity, 11 | | ext_nullifier_hash: Field, 12 | | signal_hash: Field, 13 | | ) -> Result<Proof, ProofError> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc note: the lint level is defined here --> src/lib.rs:2:22 | 2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^^ = note: `#[warn(clippy::missing_errors_doc)]` implied by `#[warn(clippy::pedantic)]`
consider implementing `TryFrom` instead: src/packed_proof.rs#L38
warning: consider implementing `TryFrom` instead --> src/packed_proof.rs:38:1 | 38 | / impl From<PackedProof> for Proof { 39 | | fn from(proof: PackedProof) -> Self { 40 | | let decoded = decode(&vec![ParamType::Uint(256); 8], &proof.0).unwrap(); 41 | | let decoded_uint_array = decoded ... | 53 | | } 54 | | } | |_^ | = help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail note: potential failure(s) --> src/packed_proof.rs:40:23 | 40 | let decoded = decode(&vec![ParamType::Uint(256); 8], &proof.0).unwrap(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#fallible_impl_from note: the lint level is defined here --> src/lib.rs:2:55 | 2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^ = note: `#[warn(clippy::fallible_impl_from)]` implied by `#[warn(clippy::nursery)]`
this expression creates a reference which is immediately dereferenced by the compiler: src/circuit.rs#L30
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/circuit.rs:30:5 | 30 | &GRAPH_BYTES[index] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `GRAPH_BYTES[index]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow note: the lint level is defined here --> src/lib.rs:2:9 | 2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^ = note: `#[warn(clippy::needless_borrow)]` implied by `#[warn(clippy::all)]`
package `ark-zkey` is missing `package.categories` metadata: src/lib.rs#L1
warning: package `ark-zkey` is missing `package.categories` metadata | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata
package `ark-zkey` is missing `package.keywords` metadata: src/lib.rs#L1
warning: package `ark-zkey` is missing `package.keywords` metadata | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata
package `ark-zkey` is missing `package.repository` metadata: src/lib.rs#L1
warning: package `ark-zkey` is missing `package.repository` metadata | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata
package `ark-zkey` is missing `either package.license or package.license_file` metadata: src/lib.rs#L1
warning: package `ark-zkey` is missing `either package.license or package.license_file` metadata | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata
package `ark-zkey` is missing `package.description` metadata: src/lib.rs#L1
warning: package `ark-zkey` is missing `package.description` metadata | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata note: the lint level is defined here --> src/lib.rs:2:40 | 2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^ = note: `#[warn(clippy::cargo_common_metadata)]` implied by `#[warn(clippy::cargo)]`
this import is redundant: build.rs#L9
warning: this import is redundant --> build.rs:9:1 | 9 | use ark_zkey; | ^^^^^^^^^^^^^ help: remove it entirely | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports = note: `#[warn(clippy::single_component_path_imports)]` on by default
the borrowed expression implements the required traits: crates/ark-zkey/src/lib.rs#L207
warning: the borrowed expression implements the required traits --> crates/ark-zkey/src/lib.rs:207:22 | 207 | File::create(&serialized_path).wrap_err("Failed to create serialized proving key file")?; | ^^^^^^^^^^^^^^^^ help: change this to: `serialized_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
useless conversion to the same type: `std::path::PathBuf`: crates/ark-zkey/src/lib.rs#L204
warning: useless conversion to the same type: `std::path::PathBuf` --> crates/ark-zkey/src/lib.rs:204:27 | 204 | let serialized_path = PathBuf::from(arkzkey_file_path); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `PathBuf::from()`: `arkzkey_file_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
the borrowed expression implements the required traits: crates/ark-zkey/src/lib.rs#L207
warning: the borrowed expression implements the required traits --> crates/ark-zkey/src/lib.rs:207:22 | 207 | File::create(&serialized_path).wrap_err("Failed to create serialized proving key file")?; | ^^^^^^^^^^^^^^^^ help: change this to: `serialized_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
useless conversion to the same type: `std::path::PathBuf`: crates/ark-zkey/src/lib.rs#L204
warning: useless conversion to the same type: `std::path::PathBuf` --> crates/ark-zkey/src/lib.rs:204:27 | 204 | let serialized_path = PathBuf::from(arkzkey_file_path); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `PathBuf::from()`: `arkzkey_file_path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
Lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Lint
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Lint
patch for the non root package will be ignored, specify patch at the workspace root:
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Test
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
patch for the non root package will be ignored, specify patch at the workspace root: