refactor(platform): replace bls library #4796
tests.yml
on: pull_request
Build JS packages
/
Build JS
3m 2s
Matrix: Build Docker images
Determine changed packages
15s
Rust crates security audit
1m 16s
JS dependency versions check
11s
JS NPM security audit
12s
JS code security audit
/
Run Code QL
2m 48s
Packages functional tests
/
Run functional tests
2m 32s
Matrix: Test Suite
Matrix: Dashmate E2E tests
Matrix: JS packages
Matrix: Rust packages
Annotations
2 errors, 87 warnings, and 20 notices
Build JS packages / Build JS
Unable to download artifact(s): Artifact not found for name: js-build-cce1cd15062cda50e8f61f059e71f8830b1f603b
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
|
Test Suite (Test Suite, test:suite, 0, 0) / Run Test Suite
Process completed with exit code 1.
|
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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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: `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: `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: `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::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: `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: `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: `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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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
|
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 + }
|
|
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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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.
| ++
|
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;
| ^^^^^^^^^^^^^^^^^^^
|
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 packages (@dashevo/wasm-dpp) / Linting:
packages/wasm-dpp/test/integration/identity/IdentityFacade.spec.js#L69
Unexpected console statement
|
|
|
|
|
|
|
|
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L8
Missing JSDoc @Property "network" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L38
Missing JSDoc @param "options" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L39
Missing JSDoc @param "createHistoricalSyncStream" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L40
Missing JSDoc @param "createContinuousSyncStream" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L63
Missing JSDoc @param "blockHeadersReader" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L71
Missing JSDoc @param "spvChain" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L107
Missing JSDoc @param "headers" description
|
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L108
Missing JSDoc @param "firstHeaderHeight" description
|
JS packages (@dashevo/dapi-client) / Linting:
packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js#L108
Missing JSDoc @param "firstHeaderHeight" type
|
|
|
|
|
JS packages (@dashevo/wallet-lib) / Linting:
packages/wallet-lib/src/test/mocks/dashcore/block.js#L33
Unexpected console statement
|
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
Dependency cycle via ./Platform:10
|
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
Dependency cycle detected
|
JS packages (dash) / Linting:
packages/js-dash-sdk/src/SDK/Client/Platform/Platform.ts#L8
Using exported name 'createAssetLockTransaction' as identifier for default export
|
JS packages (dash) / Linting:
packages/js-dash-sdk/src/SDK/Client/Platform/Platform.ts#L10
Dependency cycle detected
|
JS packages (dash) / Linting:
packages/js-dash-sdk/src/SDK/Client/Platform/Platform.ts#L11
Dependency cycle detected
|
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 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/
|
sccache stats
100% - 288 hits, 0 misses, 0 errors
|
sccache stats
100% - 60 hits, 0 misses, 0 errors
|
sccache stats
100% - 60 hits, 0 misses, 0 errors
|
sccache stats
100% - 60 hits, 0 misses, 0 errors
|
sccache stats
96% - 188 hits, 8 misses, 0 errors
|
sccache stats
87% - 188 hits, 27 misses, 0 errors
|
sccache stats
87% - 385 hits, 56 misses, 0 errors
|
sccache stats
93% - 407 hits, 32 misses, 0 errors
|
sccache stats
100% - 60 hits, 0 misses, 0 errors
|
sccache stats
100% - 204 hits, 0 misses, 0 errors
|
sccache stats
100% - 60 hits, 0 misses, 0 errors
|
sccache stats
89% - 495 hits, 64 misses, 0 errors
|
sccache stats
92% - 189 hits, 16 misses, 0 errors
|
sccache stats
99% - 202 hits, 2 misses, 0 errors
|
sccache stats
89% - 915 hits, 115 misses, 0 errors
|
sccache stats
63% - 266 hits, 156 misses, 0 errors
|
sccache stats
97% - 868 hits, 27 misses, 0 errors
|
sccache stats
71% - 250 hits, 101 misses, 0 errors
|
sccache stats
89% - 396 hits, 47 misses, 0 errors
|
sccache stats
92% - 785 hits, 66 misses, 0 errors
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
dashpay~platform~PV0SB6.dockerbuild
|
93.5 KB |
|
dashpay~platform~S0FYHI.dockerbuild
|
82.5 KB |
|
dashpay~platform~SXNJWI.dockerbuild
|
89.7 KB |
|
js-build-cce1cd15062cda50e8f61f059e71f8830b1f603b
Expired
|
35.7 MB |
|