Skip to content

refactor(platform): replace bls library #4738

refactor(platform): replace bls library

refactor(platform): replace bls library #4738

Triggered via pull request December 2, 2024 14:35
Status Failure
Total duration 20m 3s
Artifacts 4

tests.yml

on: pull_request
Build JS packages  /  Build JS
3m 23s
Build JS packages / Build JS
Matrix: Build Docker images
Determine changed packages
15s
Determine changed packages
Rust crates security audit
1m 3s
Rust crates security audit
JS dependency versions check
9s
JS dependency versions check
JS NPM security audit
15s
JS NPM security audit
JS code security audit  /  Run Code QL
2m 29s
JS code security audit / Run Code QL
Packages functional tests  /  Run functional tests
2m 34s
Packages functional tests / Run functional tests
Matrix: Test Suite
Matrix: Dashmate E2E tests
Matrix: JS packages
Matrix: Rust packages
Fit to window
Zoom out
Zoom in

Annotations

2 errors, 87 warnings, and 20 notices
JS NPM security audit
Process completed with exit code 1.
Build JS packages / Build JS
Unable to download artifact(s): Artifact not found for name: js-build-36de933ba297f9f417185d95b2bed049ffbe435c Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact. For more information, visit the GitHub Artifacts FAQ: https://github.com/actions/toolkit/blob/main/packages/artifact/docs/faq.md
Rust crates security audit
2 warnings found!
Rust crates security audit
Unknown warning kind unsound found, please, file a bug
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/errors/protocol_error.rs#L1
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/errors/protocol_error.rs:1:5 | 1 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/bls/native_bls.rs#L5
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/bls/native_bls.rs:5:5 | 5 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::util::type_constants::DEFAULT_HASH_SIZE_U8`: packages/rs-drive/src/drive/document/paths.rs#L2
warning: unused import: `crate::util::type_constants::DEFAULT_HASH_SIZE_U8` --> packages/rs-drive/src/drive/document/paths.rs:2:5 | 2 | use crate::util::type_constants::DEFAULT_HASH_SIZE_U8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `dpp::data_contract::document_type::accessors::DocumentTypeV0Getters`: packages/rs-drive/src/drive/document/paths.rs#L3
warning: unused import: `dpp::data_contract::document_type::accessors::DocumentTypeV0Getters` --> packages/rs-drive/src/drive/document/paths.rs:3:5 | 3 | use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `dpp::data_contract::document_type::methods::DocumentTypeV0Methods`: packages/rs-drive/src/drive/document/paths.rs#L4
warning: unused import: `dpp::data_contract::document_type::methods::DocumentTypeV0Methods` --> packages/rs-drive/src/drive/document/paths.rs:4:5 | 4 | use dpp::data_contract::document_type::methods::DocumentTypeV0Methods; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `dpp::data_contract::document_type::DocumentTypeRef`: packages/rs-drive/src/drive/document/paths.rs#L5
warning: unused import: `dpp::data_contract::document_type::DocumentTypeRef` --> packages/rs-drive/src/drive/document/paths.rs:5:5 | 5 | use dpp::data_contract::document_type::DocumentTypeRef; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function `contract_documents_primary_key_path` is never used: packages/rs-drive/src/drive/document/paths.rs#L41
warning: function `contract_documents_primary_key_path` is never used --> packages/rs-drive/src/drive/document/paths.rs:41:15 | 41 | pub(crate) fn contract_documents_primary_key_path<'a>( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused import: `identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0`: packages/rs-drive/src/drive/identity/key/fetch/mod.rs#L16
warning: unused import: `identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0` --> packages/rs-drive/src/drive/identity/key/fetch/mod.rs:16:9 | 16 | identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo`: packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs#L3
warning: unused import: `crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo` --> packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs:3:5 | 3 | use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::drive::Drive`: packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs#L6
warning: unused import: `crate::drive::Drive` --> packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs:6:5 | 6 | use crate::drive::Drive; | ^^^^^^^^^^^^^^^^^^^
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/errors/protocol_error.rs#L1
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/errors/protocol_error.rs:1:5 | 1 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/bls/native_bls.rs#L5
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/bls/native_bls.rs:5:5 | 5 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
taken reference of right operand: packages/rs-dpp/src/data_contract/document_type/property/mod.rs#L1203
warning: taken reference of right operand --> packages/rs-dpp/src/data_contract/document_type/property/mod.rs:1203:20 | 1203 | if value == &vec![0] { | ^^^^^^^^^-------- | | | help: use the right value directly: `...` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref = note: `#[warn(clippy::op_ref)]` on by default
taken reference of right operand: packages/rs-dpp/src/data_contract/document_type/property/mod.rs#L1294
warning: taken reference of right operand --> packages/rs-dpp/src/data_contract/document_type/property/mod.rs:1294:20 | 1294 | if value == &vec![0] { | ^^^^^^^^^-------- | | | help: use the right value directly: `...` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
taken reference of right operand: packages/rs-dpp/src/data_contract/document_type/property/mod.rs#L1296
warning: taken reference of right operand --> packages/rs-dpp/src/data_contract/document_type/property/mod.rs:1296:27 | 1296 | } else if value == &vec![1] { | ^^^^^^^^^-------- | | | help: use the right value directly: `...` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
non-canonical implementation of `partial_cmp` on an `Ord` type: packages/rs-dpp/src/data_contract/document_type/index/mod.rs#L157
warning: non-canonical implementation of `partial_cmp` on an `Ord` type --> packages/rs-dpp/src/data_contract/document_type/index/mod.rs:157:1 | 157 | / impl PartialOrd for ContestedIndexFieldMatch { 158 | | fn partial_cmp(&self, other: &Self) -> Option<Ordering> { | | _____________________________________________________________- 159 | || use ContestedIndexFieldMatch::*; 160 | || match (self, other) { 161 | || // Comparing two integers ... || 170 | || } 171 | || } | ||_____- help: change this to: `{ Some(self.cmp(other)) }` 172 | | } | |__^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default
`to_string` applied to a type that implements `Display` in `format!` args: packages/rs-dpp/src/data_contract/document_type/index/mod.rs#L503
warning: `to_string` applied to a type that implements `Display` in `format!` args --> packages/rs-dpp/src/data_contract/document_type/index/mod.rs:503:66 | 503 | ... e.to_string() | ^^^^^^^^^^^^ help: remove this | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args = note: `#[warn(clippy::to_string_in_format_args)]` on by default
iterating on a map's values: packages/rs-dpp/src/data_contract/document_type/v0/random_document_type.rs#L396
warning: iterating on a map's values --> packages/rs-dpp/src/data_contract/document_type/v0/random_document_type.rs:396:35 | 396 | let indices_json_schema = indices | ___________________________________^ 397 | | .iter() 398 | | .map(|(_, index)| { 399 | | let properties_schema = index ... | 412 | | }) 413 | | }) | |______________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map = note: `#[warn(clippy::iter_kv_map)]` on by default help: try | 396 ~ let indices_json_schema = indices.values().map(|index| { 397 + let properties_schema = index 398 + .properties 399 + .iter() 400 + .map(|prop| { 401 + // Only "asc" is allowed for now (v1.0-dev) 402 + json!({ <std::string::String as Clone>::clone(&prop.name): "asc" }) 403 + }) 404 + .collect::<Vec<_>>(); 405 + 406 + json!({ 407 + "name": index.name, 408 + "properties": properties_schema, 409 + "unique": index.unique, 410 + }) 411 + }) |
unnecessary use of `get(name).is_some()`: packages/rs-dpp/src/data_contract/v0/accessors/mod.rs#L70
warning: unnecessary use of `get(name).is_some()` --> packages/rs-dpp/src/data_contract/v0/accessors/mod.rs:70:29 | 70 | self.document_types.get(name).is_some() | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(name)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default
very complex type used. Consider factoring parts into `type` definitions: packages/rs-dpp/src/document/document_factory/v0/mod.rs#L215
warning: very complex type used. Consider factoring parts into `type` definitions --> packages/rs-dpp/src/document/document_factory/v0/mod.rs:215:24 | 215 | let documents: Vec<( | ________________________^ 216 | | DocumentTransitionActionType, 217 | | Vec<(Document, DocumentTypeRef, Bytes32)>, 218 | | )> = documents_iter.into_iter().collect(); | |__________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
unused import: `platform_value::Identifier`: packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs#L11
warning: unused import: `platform_value::Identifier` --> packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs:11:5 | 11 | use platform_value::Identifier; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `crate::state_transition::GetDataContractSecurityLevelRequirementFn`: packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs#L15
warning: unused import: `crate::state_transition::GetDataContractSecurityLevelRequirementFn` --> packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs:15:5 | 15 | use crate::state_transition::GetDataContractSecurityLevelRequirementFn; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/errors/protocol_error.rs#L1
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/errors/protocol_error.rs:1:5 | 1 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/bls/native_bls.rs#L5
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/bls/native_bls.rs:5:5 | 5 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this `else { if .. }` block can be collapsed: packages/rs-drive/src/query/mod.rs#L1324
warning: this `else { if .. }` block can be collapsed --> packages/rs-drive/src/query/mod.rs:1324:16 | 1324 | } else { | ________________^ 1325 | | if let Some(start_at_key) = start_at_key { 1326 | | inner_query.insert_range_to(..start_at_key); 1327 | | } else { ... | 1331 | | } 1332 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 1324 ~ } else if let Some(start_at_key) = start_at_key { 1325 + inner_query.insert_range_to(..start_at_key); 1326 + } else { 1327 + //todo: really not sure if this is correct 1328 + // Should investigate more 1329 + inner_query.insert_key(vec![]); 1330 + } |
doc list item missing indentation: packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs#L26
warning: doc list item missing indentation --> packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs:26:9 | 26 | /// start fetching the contract's history. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation = note: `#[warn(clippy::doc_lazy_continuation)]` on by default help: indent this line | 26 | /// start fetching the contract's history. | ++
doc list item missing indentation: packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs#L29
warning: doc list item missing indentation --> packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs:29:9 | 29 | /// to return. If `None`, the limit is set to 10. Should be between 1 and 10. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation help: indent this line | 29 | /// to return. If `None`, the limit is set to 10. Should be between 1 and 10. | ++
doc list item missing indentation: packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs#L32
warning: doc list item missing indentation --> packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs:32:9 | 32 | /// before starting to return them. If `None`, no entries are skipped. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation help: indent this line | 32 | /// before starting to return them. If `None`, no entries are skipped. | ++
doc list item missing indentation: packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs#L37
warning: doc list item missing indentation --> packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs:37:9 | 37 | /// a `BTreeMap` with Unix timestamp as the key and contract as the value, representing | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation help: indent this line | 37 | /// a `BTreeMap` with Unix timestamp as the key and contract as the value, representing | ++
doc list item missing indentation: packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs#L38
warning: doc list item missing indentation --> packages/rs-drive/src/drive/contract/get_fetch/fetch_contract_with_history/v0/mod.rs:38:9 | 38 | /// the contract's history. The `Err` variant contains an `Error` in case of a failure. | ^ | = help: if this is supposed to be its own paragraph, add a blank line = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation help: indent this line | 38 | /// the contract's history. The `Err` variant contains an `Error` in case of a failure. | ++
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/errors/protocol_error.rs#L1
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/errors/protocol_error.rs:1:5 | 1 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/bls/native_bls.rs#L5
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/bls/native_bls.rs:5:5 | 5 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bound is defined in more than one place: packages/wasm-dpp/src/utils.rs#L25
warning: bound is defined in more than one place --> packages/wasm-dpp/src/utils.rs:25:24 | 25 | fn with_serde_into<D: DeserializeOwned>(&self) -> Result<D, JsValue> | ^ 26 | where 27 | D: for<'de> serde::de::Deserialize<'de> + 'static; | ^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations = note: `#[warn(clippy::multiple_bound_locations)]` on by default
methods `with_serde_to_platform_value_map` and `with_serde_into` are never used: packages/wasm-dpp/src/utils.rs#L24
warning: methods `with_serde_to_platform_value_map` and `with_serde_into` are never used --> packages/wasm-dpp/src/utils.rs:24:8 | 19 | pub trait ToSerdeJSONExt { | -------------- methods in this trait ... 24 | fn with_serde_to_platform_value_map(&self) -> Result<BTreeMap<String, Value>, JsValue>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 25 | fn with_serde_into<D: DeserializeOwned>(&self) -> Result<D, JsValue> | ^^^^^^^^^^^^^^^
methods `into_inner` and `inner_mut` are never used: packages/wasm-dpp/src/utils.rs#L287
warning: methods `into_inner` and `inner_mut` are never used --> packages/wasm-dpp/src/utils.rs:287:8 | 284 | pub(crate) trait Inner { | ----- methods in this trait ... 287 | fn into_inner(self) -> Self::InnerItem; | ^^^^^^^^^^ 288 | fn inner(&self) -> &Self::InnerItem; 289 | fn inner_mut(&mut self) -> &mut Self::InnerItem; | ^^^^^^^^^
field `0` is never read: packages/wasm-dpp/src/identity/identity_facade.rs#L274
warning: field `0` is never read --> packages/wasm-dpp/src/identity/identity_facade.rs:274:34 | 274 | pub struct NonConsensusErrorWasm(NonConsensusError); | --------------------- ^^^^^^^^^^^^^^^^^ | | | field in this struct | = note: `#[warn(dead_code)]` on by default help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field | 274 | pub struct NonConsensusErrorWasm(()); | ~~
trait `AssetLockProofLike` is never used: packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs#L49
warning: trait `AssetLockProofLike` is never used --> packages/wasm-dpp/src/identity/state_transition/asset_lock_proof/mod.rs:49:11 | 49 | pub trait AssetLockProofLike { | ^^^^^^^^^^^^^^^^^^
field `identity_id` is never read: packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs#L21
warning: field `identity_id` is never read --> packages/wasm-dpp/src/identity/state_transition/identity_create_transition/to_object.rs:21:9 | 19 | pub struct ToObject { | -------- field in this struct 20 | pub transition_type: u8, 21 | pub identity_id: Identifier, | ^^^^^^^^^^^
field `vote` is never read: packages/wasm-dpp/src/voting/state_transition/masternode_vote_transition/to_object.rs#L21
warning: field `vote` is never read --> packages/wasm-dpp/src/voting/state_transition/masternode_vote_transition/to_object.rs:21:9 | 18 | pub struct ToObject { | -------- field in this struct ... 21 | pub vote: Vote, | ^^^^
module has the same name as its containing module: packages/wasm-dpp/src/data_contract_factory/mod.rs#L1
warning: module has the same name as its containing module --> packages/wasm-dpp/src/data_contract_factory/mod.rs:1:1 | 1 | mod data_contract_factory; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception = note: `#[warn(clippy::module_inception)]` on by default
JS code security audit / Run Code QL
CodeQL Action v2 will be deprecated on December 5th, 2024. Please update all occurrences of the CodeQL Action in your workflow files to v3. For more information, see https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/
unused import: `platform_value::Identifier`: packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs#L11
warning: unused import: `platform_value::Identifier` --> packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs:11:5 | 11 | use platform_value::Identifier; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `crate::state_transition::GetDataContractSecurityLevelRequirementFn`: packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs#L15
warning: unused import: `crate::state_transition::GetDataContractSecurityLevelRequirementFn` --> packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/v0/v0_methods.rs:15:5 | 15 | use crate::state_transition::GetDataContractSecurityLevelRequirementFn; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/errors/protocol_error.rs#L1
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/errors/protocol_error.rs:1:5 | 1 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `std::array::TryFromSliceError`: packages/rs-dpp/src/bls/native_bls.rs#L5
warning: unused import: `std::array::TryFromSliceError` --> packages/rs-dpp/src/bls/native_bls.rs:5:5 | 5 | use std::array::TryFromSliceError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this `else { if .. }` block can be collapsed: packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs#L268
warning: this `else { if .. }` block can be collapsed --> packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs:268:24 | 268 | } else { | ________________________^ 269 | | if let Some((_, found_old_key)) = identity_to_enable_old_keys 270 | | .iter() 271 | | .find(|(_, key)| key.purpose() == Purpose::TRANSFER) ... | 282 | | } 283 | | }; | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 268 ~ } else if let Some((_, found_old_key)) = identity_to_enable_old_keys 269 + .iter() 270 + .find(|(_, key)| key.purpose() == Purpose::TRANSFER) 271 + { 272 + Some(found_old_key.data().to_vec().try_into().map_err(|_| { 273 + Error::Execution(ExecutionError::CorruptedDriveResponse( 274 + "old payout address should be 20 bytes".to_string(), 275 + )) 276 + })?) 277 + } else { 278 + // finally we just use the old masternode payout address 279 + // we need to use the old pub_key_operator 280 + old_masternode.state.operator_payout_address 281 ~ }; |
taken reference of right operand: packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs#L323
warning: taken reference of right operand --> packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs:323:42 | 323 | .find(|(_, key)| key.data().as_slice() == &new_payout_address) | ^^^^^^^^^^^^^^^^^^^^^^^^^------------------- | | | help: use the right value directly: `new_payout_address` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref = note: `#[warn(clippy::op_ref)]` on by default
taken reference of right operand: packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs#L347
warning: taken reference of right operand --> packages/rs-drive-abci/src/execution/platform_events/core_based_updates/update_masternode_identities/update_operator_identity/v0/mod.rs:347:42 | 347 | .find(|(_, key)| key.data().as_slice() == &new_platform_node_id) | ^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- | | | help: use the right value directly: `new_platform_node_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
unexpected `cfg` condition name: `tokio_unstable`: packages/rs-drive-abci/src/utils/spawn.rs#L13
warning: unexpected `cfg` condition name: `tokio_unstable` --> packages/rs-drive-abci/src/utils/spawn.rs:13:15 | 13 | #[cfg(all(tokio_unstable, feature = "console"))] | ^^^^^^^^^^^^^^ | = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default
unexpected `cfg` condition name: `tokio_unstable`: packages/rs-drive-abci/src/utils/spawn.rs#L20
warning: unexpected `cfg` condition name: `tokio_unstable` --> packages/rs-drive-abci/src/utils/spawn.rs:20:19 | 20 | #[cfg(not(all(tokio_unstable, feature = "console")))] | ^^^^^^^^^^^^^^ | = help: consider using a Cargo feature instead = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
type `platform_types::platform_state::v0::old_structures::ValidatorSet` is more private than the item `platform_types::platform_state::v0::PlatformStateForSavingV0::validator_sets`: packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs#L148
warning: type `platform_types::platform_state::v0::old_structures::ValidatorSet` is more private than the item `platform_types::platform_state::v0::PlatformStateForSavingV0::validator_sets` --> packages/rs-drive-abci/src/platform_types/platform_state/v0/mod.rs:148:5 | 148 | pub validator_sets: Vec<(Bytes32, old_structures::ValidatorSet)>, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `platform_types::platform_state::v0::PlatformStateForSavingV0::validator_sets` is reachable at visibility `pub(platform_state)` | note: but type `platform_types::platform_state::v0::old_structures::ValidatorSet` is only usable at visibility `pub(v0)` --> packages/rs-drive-abci/src/platform_types/platform_state/v0/old_structures/mod.rs:7:1 | 7 | pub(super) enum ValidatorSet { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: `#[warn(private_interfaces)]` on by default
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Client.ts#L10
Dependency cycle via ./Platform:1
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Client.ts#L166
Assignment to function parameter 'options'
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Platform/Fetcher/Fetcher.ts#L143
Returning an awaited value that is not a promise is not allowed
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Platform/Platform.spec.ts#L5
Using exported name 'Client' as identifier for default export
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Platform/Platform.ts#L5
Using exported name 'Client' as identifier for default export
JS packages (dash) / Linting: packages/js-dash-sdk/src/SDK/Client/Platform/Platform.ts#L8
Using exported name 'createAssetLockTransaction' as identifier for default export
sccache stats
100% - 288 hits, 0 misses, 0 errors
sccache stats
29% - 59 hits, 146 misses, 0 errors
sccache stats
100% - 396 hits, 0 misses, 0 errors
sccache stats
93% - 717 hits, 56 misses, 0 errors
sccache stats
61% - 541 hits, 351 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
32% - 68 hits, 147 misses, 0 errors
sccache stats
100% - 532 hits, 0 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
65% - 490 hits, 263 misses, 0 errors
sccache stats
78% - 342 hits, 97 misses, 0 errors
sccache stats
96% - 196 hits, 8 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
95% - 193 hits, 11 misses, 0 errors
sccache stats
84% - 865 hits, 161 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
74% - 506 hits, 181 misses, 0 errors
sccache stats
95% - 850 hits, 41 misses, 0 errors
sccache stats
57% - 251 hits, 192 misses, 0 errors
sccache stats
83% - 699 hits, 146 misses, 0 errors

Artifacts

Produced during runtime
Name Size
dashpay~platform~AIK9SO.dockerbuild
88.5 KB
dashpay~platform~KM813G.dockerbuild
94.7 KB
dashpay~platform~N1DAK6.dockerbuild
96.5 KB
js-build-36de933ba297f9f417185d95b2bed049ffbe435c Expired
35.6 MB