Skip to content

feat(sdk): asset lock quorum and core locked height verification #5379

feat(sdk): asset lock quorum and core locked height verification

feat(sdk): asset lock quorum and core locked height verification #5379

Triggered via pull request March 3, 2025 15:16
Status Failure
Total duration 23m 28s
Artifacts 4

tests.yml

on: pull_request
Build JS packages  /  Build JS
7m 2s
Build JS packages / Build JS
Matrix: Build Docker images
Determine changed packages
17s
Determine changed packages
Rust crates security audit
2m 18s
Rust crates security audit
JS dependency versions check
11s
JS dependency versions check
JS NPM security audit
12s
JS NPM security audit
JS code security audit  /  Run Code QL
2m 54s
JS code security audit / Run Code QL
Packages functional tests  /  Run functional tests
15m 26s
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

12 errors, 71 warnings, and 28 notices
Rust packages (dash-sdk) / Check each feature
Process completed with exit code 101.
no method named `validate_structure` found for reference `&dpp::identity::state_transition::asset_lock_proof::InstantAssetLockProof` in the current scope: packages/rs-sdk/src/platform/transition/asset_lock.rs#L67
error[E0599]: no method named `validate_structure` found for reference `&dpp::identity::state_transition::asset_lock_proof::InstantAssetLockProof` in the current scope --> packages/rs-sdk/src/platform/transition/asset_lock.rs:67:42 | 67 | instant_asset_lock_proof.validate_structure(sdk.version())?; | ^^^^^^^^^^^^^^^^^^ method not found in `&InstantAssetLockProof`
Rust packages (dash-sdk) / Linting
Clippy has exited with exit code 101
Rust packages (dash-sdk) / Tests
Process completed with exit code 101.
Build JS packages / Build JS
Unable to download artifact(s): Artifact not found for name: js-build-8806da7eeac05947de0848d84d1d08448e6b5ac6 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
JS code security audit / Run Code QL
CodeQL Action major versions v1 and v2 have been deprecated. Please update all occurrences of the CodeQL Action in your workflow files to v3. For more information, see https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/
Dashmate E2E tests (Local network, test/e2e/localNetwork.spec.js, true) / Run Local network tests
The job running on runner GitHub Actions 4 has exceeded the maximum execution time of 15 minutes.
Packages functional tests / Run functional tests
The job running on runner GitHub Actions 7 has exceeded the maximum execution time of 15 minutes.
Test Suite (Test Suite in browser (1), test:browsers, 0, 2) / Run Test Suite in browser (1)
The job running on runner GitHub Actions 15 has exceeded the maximum execution time of 15 minutes.
Test Suite (Test Suite in browser (2), test:browsers, 1, 2) / Run Test Suite in browser (2)
The job running on runner GitHub Actions 19 has exceeded the maximum execution time of 15 minutes.
Test Suite (Test Suite, test:suite, 0, 0) / Run Test Suite
The job running on runner GitHub Actions 10 has exceeded the maximum execution time of 15 minutes.
unused import: `crate::data_contract::errors::DataContractError::RegexError`: packages/rs-dpp/src/data_contract/document_type/index/mod.rs#L19
warning: unused import: `crate::data_contract::errors::DataContractError::RegexError` --> packages/rs-dpp/src/data_contract/document_type/index/mod.rs:19:5 | 19 | use crate::data_contract::errors::DataContractError::RegexError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `platform_value::Value`: packages/rs-dpp/src/identity/identity_factory.rs#L70
warning: unused import: `platform_value::Value` --> packages/rs-dpp/src/identity/identity_factory.rs:70:5 | 70 | use platform_value::Value; | ^^^^^^^^^^^^^^^^^^^^^
unused imports: `BTreeValueMapHelper` and `BTreeValueMapReplacementPathHelper`: packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/document_create_transition/convertible.rs#L38
warning: unused imports: `BTreeValueMapHelper` and `BTreeValueMapReplacementPathHelper` --> packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/document_create_transition/convertible.rs:38:5 | 38 | BTreeValueMapHelper, BTreeValueMapReplacementPathHelper, BTreeValueRemoveFromMapHelper, | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::state_transition::errors::StateTransitionError`: packages/rs-dpp/src/errors/protocol_error.rs#L21
warning: unused import: `crate::state_transition::errors::StateTransitionError` --> packages/rs-dpp/src/errors/protocol_error.rs:21:5 | 21 | use crate::state_transition::errors::StateTransitionError; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L26
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:26:9 | 26 | / if old.conventions != new.conventions 27 | | || old.conventions_change_rules != new.conventions_change_rules 28 | | { 29 | | if !old.conventions_change_rules.can_change_to( ... | 47 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if = note: `#[warn(clippy::collapsible_if)]` on by default help: collapse nested if block | 26 ~ if (old.conventions != new.conventions || old.conventions_change_rules != new.conventions_change_rules) && !old.conventions_change_rules.can_change_to( 27 + &new.conventions_change_rules, 28 + contract_owner_id, 29 + self.main_control_group(), 30 + groups, 31 + action_taker, 32 + goal, 33 + ) { 34 + return SimpleConsensusValidationResult::new_with_error( 35 + DataContractTokenConfigurationUpdateError::new( 36 + "update".to_string(), 37 + "conventions or conventionsRules".to_string(), 38 + self.clone(), 39 + new_config.clone(), 40 + ) 41 + .into(), 42 + ); 43 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L63
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:63:9 | 63 | / if old.max_supply != new.max_supply 64 | | || old.max_supply_change_rules != new.max_supply_change_rules 65 | | { 66 | | if !old.max_supply_change_rules.can_change_to( ... | 84 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 63 ~ if (old.max_supply != new.max_supply || old.max_supply_change_rules != new.max_supply_change_rules) && !old.max_supply_change_rules.can_change_to( 64 + &new.max_supply_change_rules, 65 + contract_owner_id, 66 + self.main_control_group(), 67 + groups, 68 + action_taker, 69 + goal, 70 + ) { 71 + return SimpleConsensusValidationResult::new_with_error( 72 + DataContractTokenConfigurationUpdateError::new( 73 + "update".to_string(), 74 + "maxSupply or maxSupplyChangeRules".to_string(), 75 + self.clone(), 76 + new_config.clone(), 77 + ) 78 + .into(), 79 + ); 80 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L87
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:87:9 | 87 | / if old.distribution_rules.new_tokens_destination_identity() 88 | | != new.distribution_rules.new_tokens_destination_identity() 89 | | || old 90 | | .distribution_rules ... | 120 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 87 ~ if (old.distribution_rules.new_tokens_destination_identity() 88 + != new.distribution_rules.new_tokens_destination_identity() || old 89 + .distribution_rules 90 + .new_tokens_destination_identity_rules() 91 + != new 92 + .distribution_rules 93 + .new_tokens_destination_identity_rules()) && !old 94 + .distribution_rules 95 + .new_tokens_destination_identity_rules() 96 + .can_change_to( 97 + &new.distribution_rules 98 + .new_tokens_destination_identity_rules(), 99 + contract_owner_id, 100 + self.main_control_group(), 101 + groups, 102 + action_taker, 103 + goal, 104 + ) { 105 + return SimpleConsensusValidationResult::new_with_error( 106 + DataContractTokenConfigurationUpdateError::new( 107 + "update".to_string(), 108 + "newTokensDestinationIdentity or newTokensDestinationIdentityRules" 109 + .to_string(), 110 + self.clone(), 111 + new_config.clone(), 112 + ) 113 + .into(), 114 + ); 115 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L123
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:123:9 | 123 | / if old.distribution_rules.minting_allow_choosing_destination() 124 | | != new.distribution_rules.minting_allow_choosing_destination() 125 | | || old 126 | | .distribution_rules ... | 156 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 123 ~ if (old.distribution_rules.minting_allow_choosing_destination() 124 + != new.distribution_rules.minting_allow_choosing_destination() || old 125 + .distribution_rules 126 + .minting_allow_choosing_destination_rules() 127 + != new 128 + .distribution_rules 129 + .minting_allow_choosing_destination_rules()) && !old 130 + .distribution_rules 131 + .minting_allow_choosing_destination_rules() 132 + .can_change_to( 133 + &new.distribution_rules 134 + .minting_allow_choosing_destination_rules(), 135 + contract_owner_id, 136 + self.main_control_group(), 137 + groups, 138 + action_taker, 139 + goal, 140 + ) { 141 + return SimpleConsensusValidationResult::new_with_error( 142 + DataContractTokenConfigurationUpdateError::new( 143 + "update".to_string(), 144 + "mintingAllowChoosingDestination or mintingAllowChoosingDestinationRules" 145 + .to_string(), 146 + self.clone(), 147 + new_config.clone(), 148 + ) 149 + .into(), 150 + ); 151 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L159
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:159:9 | 159 | / if old.distribution_rules.perpetual_distribution() 160 | | != new.distribution_rules.perpetual_distribution() 161 | | || old.distribution_rules.perpetual_distribution_rules() 162 | | != new.distribution_rules.perpetual_distribution_rules() ... | 186 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 159 ~ if (old.distribution_rules.perpetual_distribution() 160 + != new.distribution_rules.perpetual_distribution() || old.distribution_rules.perpetual_distribution_rules() 161 + != new.distribution_rules.perpetual_distribution_rules()) && !old 162 + .distribution_rules 163 + .perpetual_distribution_rules() 164 + .can_change_to( 165 + &new.distribution_rules.perpetual_distribution_rules(), 166 + contract_owner_id, 167 + self.main_control_group(), 168 + groups, 169 + action_taker, 170 + goal, 171 + ) { 172 + return SimpleConsensusValidationResult::new_with_error( 173 + DataContractTokenConfigurationUpdateError::new( 174 + "update".to_string(), 175 + "perpetualDistribution or perpetualDistributionRules".to_string(), 176 + self.clone(), 177 + new_config.clone(), 178 + ) 179 + .into(), 180 + ); 181 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L189
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:189:9 | 189 | / if old.manual_minting_rules != new.manual_minting_rules { 190 | | if !old.manual_minting_rules.can_change_to( 191 | | &new.manual_minting_rules, 192 | | contract_owner_id, ... | 208 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 189 ~ if old.manual_minting_rules != new.manual_minting_rules && !old.manual_minting_rules.can_change_to( 190 + &new.manual_minting_rules, 191 + contract_owner_id, 192 + self.main_control_group(), 193 + groups, 194 + action_taker, 195 + goal, 196 + ) { 197 + return SimpleConsensusValidationResult::new_with_error( 198 + DataContractTokenConfigurationUpdateError::new( 199 + "update".to_string(), 200 + "manualMintingRules".to_string(), 201 + self.clone(), 202 + new_config.clone(), 203 + ) 204 + .into(), 205 + ); 206 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L211
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:211:9 | 211 | / if old.manual_burning_rules != new.manual_burning_rules { 212 | | if !old.manual_burning_rules.can_change_to( 213 | | &new.manual_burning_rules, 214 | | contract_owner_id, ... | 230 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 211 ~ if old.manual_burning_rules != new.manual_burning_rules && !old.manual_burning_rules.can_change_to( 212 + &new.manual_burning_rules, 213 + contract_owner_id, 214 + self.main_control_group(), 215 + groups, 216 + action_taker, 217 + goal, 218 + ) { 219 + return SimpleConsensusValidationResult::new_with_error( 220 + DataContractTokenConfigurationUpdateError::new( 221 + "update".to_string(), 222 + "manualBurningRules".to_string(), 223 + self.clone(), 224 + new_config.clone(), 225 + ) 226 + .into(), 227 + ); 228 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L233
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:233:9 | 233 | / if old.freeze_rules != new.freeze_rules { 234 | | if !old.freeze_rules.can_change_to( 235 | | &new.freeze_rules, 236 | | contract_owner_id, ... | 252 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 233 ~ if old.freeze_rules != new.freeze_rules && !old.freeze_rules.can_change_to( 234 + &new.freeze_rules, 235 + contract_owner_id, 236 + self.main_control_group(), 237 + groups, 238 + action_taker, 239 + goal, 240 + ) { 241 + return SimpleConsensusValidationResult::new_with_error( 242 + DataContractTokenConfigurationUpdateError::new( 243 + "update".to_string(), 244 + "freezeRules".to_string(), 245 + self.clone(), 246 + new_config.clone(), 247 + ) 248 + .into(), 249 + ); 250 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L255
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:255:9 | 255 | / if old.unfreeze_rules != new.unfreeze_rules { 256 | | if !old.unfreeze_rules.can_change_to( 257 | | &new.unfreeze_rules, 258 | | contract_owner_id, ... | 274 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 255 ~ if old.unfreeze_rules != new.unfreeze_rules && !old.unfreeze_rules.can_change_to( 256 + &new.unfreeze_rules, 257 + contract_owner_id, 258 + self.main_control_group(), 259 + groups, 260 + action_taker, 261 + goal, 262 + ) { 263 + return SimpleConsensusValidationResult::new_with_error( 264 + DataContractTokenConfigurationUpdateError::new( 265 + "update".to_string(), 266 + "unfreezeRules".to_string(), 267 + self.clone(), 268 + new_config.clone(), 269 + ) 270 + .into(), 271 + ); 272 + } |
this `if` statement can be collapsed: packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs#L277
warning: this `if` statement can be collapsed --> packages/rs-dpp/src/data_contract/associated_token/token_configuration/methods/validate_token_configuration_update/v0/mod.rs:277:9 | 277 | / if old.destroy_frozen_funds_rules != new.destroy_frozen_funds_rules { 278 | | if !old.destroy_frozen_funds_rules.can_change_to( 279 | | &new.destroy_frozen_funds_rules, 280 | | contract_owner_id, ... | 296 | | } | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if help: collapse nested if block | 277 ~ if old.destroy_frozen_funds_rules != new.destroy_frozen_funds_rules && !old.destroy_frozen_funds_rules.can_change_to( 278 + &new.destroy_frozen_funds_rules, 279 + contract_owner_id, 280 + self.main_control_group(), 281 + groups, 282 + action_taker, 283 + goal, 284 + ) { 285 + return SimpleConsensusValidationResult::new_with_error( 286 + DataContractTokenConfigurationUpdateError::new( 287 + "update".to_string(), 288 + "destroyFrozenFundsRules".to_string(), 289 + self.clone(), 290 + new_config.clone(), 291 + ) 292 + .into(), 293 + ); 294 + } |
unused imports: `TokenBurnTransition`, `TokenConfigUpdateTransition`, `TokenDestroyFrozenFundsTransition`, `TokenEmergencyActionTransition`, `TokenFreezeTransition`, `TokenMintTransition`, `TokenTransferTransition`, and `TokenUnfreezeTransition`: packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs#L30
warning: unused imports: `TokenBurnTransition`, `TokenConfigUpdateTransition`, `TokenDestroyFrozenFundsTransition`, `TokenEmergencyActionTransition`, `TokenFreezeTransition`, `TokenMintTransition`, `TokenTransferTransition`, and `TokenUnfreezeTransition` --> packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs:30:68 | 30 | ...1, TokenBurnTransition, TokenConfigUpdateTransition, TokenDestroyFrozenFundsTransition, TokenEmergencyActionTransition, TokenFreezeTransition, TokenMintTransition, TokenTransferTransition, TokenUnfreezeTransitio... | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
duplicated attribute: packages/rs-drive/src/drive/document/query/mod.rs#L24
warning: duplicated attribute --> packages/rs-drive/src/drive/document/query/mod.rs:24:7 | 24 | #[cfg(feature = "fixtures-and-mocks")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first defined here --> packages/rs-drive/src/drive/document/query/mod.rs:23:7 | 23 | #[cfg(feature = "fixtures-and-mocks")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute --> packages/rs-drive/src/drive/document/query/mod.rs:24:7 | 24 | #[cfg(feature = "fixtures-and-mocks")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicated_attributes = note: `#[warn(clippy::duplicated_attributes)]` on by default
empty line after doc comment: packages/rs-drive/src/drive/document/query/mod.rs#L49
warning: empty line after doc comment --> packages/rs-drive/src/drive/document/query/mod.rs:49:1 | 49 | / /// The outcome of a query ... | 58 | | | |_^ ... 62 | pub struct QuerySerializedDocumentsOutcome { | ------------------------------------------ the comment documents this struct | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments = help: if the empty line is unintentional remove it help: if the doc comment should not document `QuerySerializedDocumentsOutcome` comment it out | 49 | // /// The outcome of a query | ++
empty line after doc comment: packages/rs-drive/src/drive/document/query/mod.rs#L74
warning: empty line after doc comment --> packages/rs-drive/src/drive/document/query/mod.rs:74:5 | 74 | / /// along with skipped items and the cost. ... | 111 | | | |_^ ... 114 | / pub fn query_raw_documents_from_contract_cbor_using_cbor_encoded_query_with_cost( 115 | | &self, 116 | | query_cbor: &[u8], 117 | | contract: &DataContract, ... | 121 | | protocol_version: Option<u32>, 122 | | ) -> Result<(Vec<Vec<u8>>, u16, u64), Error> { | |________________________________________________- the comment documents this method | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments = help: if the empty line is unintentional remove it help: if the doc comment should not document `query_raw_documents_from_contract_cbor_using_cbor_encoded_query_with_cost` comment it out | 73 ~ // /// Performs and returns the result as ids of the specified query 74 ~ // /// along with skipped items and the cost. |
this `else { if .. }` block can be collapsed: packages/rs-drive/src/query/mod.rs#L1335
warning: this `else { if .. }` block can be collapsed --> packages/rs-drive/src/query/mod.rs:1335:16 | 1335 | } else { | ________________^ 1336 | | if let Some(start_at_key) = start_at_key { 1337 | | inner_query.insert_range_to(..start_at_key); 1338 | | } else { ... | 1343 | | } | |_________^ | = 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 | 1335 ~ } else if let Some(start_at_key) = start_at_key { 1336 + inner_query.insert_range_to(..start_at_key); 1337 + } else { 1338 + //todo: really not sure if this is correct 1339 + // Should investigate more 1340 + inner_query.insert_key(vec![]); 1341 + } |
this pattern is unneeded as the `..` pattern can match that element: packages/rs-drive/src/verify/tokens/verify_token_pre_programmed_distributions/v0/mod.rs#L83
warning: this pattern is unneeded as the `..` pattern can match that element --> packages/rs-drive/src/verify/tokens/verify_token_pre_programmed_distributions/v0/mod.rs:83:34 | 83 | Some(SumItem(_, ..)) => { | ^^^ help: remove it | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_wildcard_pattern = note: `#[warn(clippy::unneeded_wildcard_pattern)]` on by default
use of `or_insert_with` to construct default value: packages/rs-drive/src/verify/tokens/verify_token_pre_programmed_distributions/v0/mod.rs#L97
warning: use of `or_insert_with` to construct default value --> packages/rs-drive/src/verify/tokens/verify_token_pre_programmed_distributions/v0/mod.rs:97:22 | 97 | .or_insert_with(Vec::new) | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default = note: `#[warn(clippy::unwrap_or_default)]` on by default
method `fetch_action_id_has_signer_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs#L83
warning: method `fetch_action_id_has_signer_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs:83:19 | 14 | impl Drive { | ---------- method in this implementation ... 83 | pub(crate) fn fetch_action_id_has_signer_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
empty line after doc comment: packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs#L47
warning: empty line after doc comment --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs:47:5 | 47 | / /// Fetches if an identity has already signed in an action with costs 48 | | | |_^ 49 | / pub fn fetch_action_id_has_signer_with_costs( 50 | | &self, 51 | | contract_id: Identifier, 52 | | group_contract_position: GroupContractPosition, ... | 57 | | platform_version: &PlatformVersion, 58 | | ) -> Result<(bool, FeeResult), Error> { | |_________________________________________- the comment documents this method | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments = help: if the empty line is unintentional remove it
method `fetch_action_id_info_keep_serialized_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/mod.rs#L85
warning: method `fetch_action_id_info_keep_serialized_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/mod.rs:85:19 | 14 | impl Drive { | ---------- method in this implementation ... 85 | pub(crate) fn fetch_action_id_info_keep_serialized_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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; | ^^^^^^^^^
unused import: `std::str::FromStr`: packages/wasm-dpp/src/document/factory.rs#L27
warning: unused import: `std::str::FromStr` --> packages/wasm-dpp/src/document/factory.rs:27:5 | 27 | use std::str::FromStr; | ^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
very complex type used. Consider factoring parts into `type` definitions: packages/wasm-dpp/src/document/factory.rs#L158
warning: very complex type used. Consider factoring parts into `type` definitions --> packages/wasm-dpp/src/document/factory.rs:158:24 | 158 | let documents: Vec<( | ________________________^ 159 | | DocumentTransitionActionType, 160 | | Vec<(Document, DocumentTypeRef, Bytes32)>, 161 | | )> = documents_by_action | |__________^ | = 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
use of a fallible conversion when an infallible one could be used: packages/wasm-dpp/src/document/factory.rs#L328
warning: use of a fallible conversion when an infallible one could be used --> packages/wasm-dpp/src/document/factory.rs:328:27 | 328 | let documents_array = js_sys::Array::try_from(documents_with_action) | ^^^^^^^^^^^^^^^^^^^^^^^ help: use: `From::from` | = note: converting `JsValue` to `Array` cannot fail = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions = note: `#[warn(clippy::unnecessary_fallible_conversions)]` on by default
unused import: `dpp::ed25519_dalek::ed25519::signature::SignerMut`: packages/wasm-dpp/src/document/state_transition/batch_transition/mod.rs#L28
warning: unused import: `dpp::ed25519_dalek::ed25519::signature::SignerMut` --> packages/wasm-dpp/src/document/state_transition/batch_transition/mod.rs:28:5 | 28 | use dpp::ed25519_dalek::ed25519::signature::SignerMut; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
casting to the same type is unnecessary (`u16` -> `u16`): packages/wasm-dpp/src/document/state_transition/batch_transition/mod.rs#L108
warning: casting to the same type is unnecessary (`u16` -> `u16`) --> packages/wasm-dpp/src/document/state_transition/batch_transition/mod.rs:108:9 | 108 | self.0.user_fee_increase() as u16 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.0.user_fee_increase()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
field `0` is never read: packages/wasm-dpp/src/document/state_transition/batch_transition/token_transition/burn.rs#L6
warning: field `0` is never read --> packages/wasm-dpp/src/document/state_transition/batch_transition/token_transition/burn.rs:6:36 | 6 | pub struct TokenBurnTransitionWasm(TokenBurnTransition); | ----------------------- ^^^^^^^^^^^^^^^^^^^ | | | field in this struct | = help: consider removing this field = note: `TokenBurnTransitionWasm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis = note: `#[warn(dead_code)]` on by default
field `0` is never read: packages/wasm-dpp/src/document/state_transition/batch_transition/token_transition/config.rs#L6
warning: field `0` is never read --> packages/wasm-dpp/src/document/state_transition/batch_transition/token_transition/config.rs:6:44 | 6 | pub struct TokenConfigUpdateTransitionWasm(TokenConfigUpdateTransition); | ------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | field in this struct | = help: consider removing this field = note: `TokenConfigUpdateTransitionWasm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
unused imports: `TokenBurnTransition`, `TokenConfigUpdateTransition`, `TokenDestroyFrozenFundsTransition`, `TokenEmergencyActionTransition`, `TokenFreezeTransition`, `TokenMintTransition`, `TokenTransferTransition`, and `TokenUnfreezeTransition`: packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs#L30
warning: unused imports: `TokenBurnTransition`, `TokenConfigUpdateTransition`, `TokenDestroyFrozenFundsTransition`, `TokenEmergencyActionTransition`, `TokenFreezeTransition`, `TokenMintTransition`, `TokenTransferTransition`, and `TokenUnfreezeTransition` --> packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs:30:68 | 30 | ...1, TokenBurnTransition, TokenConfigUpdateTransition, TokenDestroyFrozenFundsTransition, TokenEmergencyActionTransition, TokenFreezeTransition, TokenMintTransition, TokenTransferTransition, TokenUnfreezeTransitio... | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
method `fetch_action_id_has_signer_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs#L83
warning: method `fetch_action_id_has_signer_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_has_signer/mod.rs:83:19 | 14 | impl Drive { | ---------- method in this implementation ... 83 | pub(crate) fn fetch_action_id_has_signer_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
method `fetch_action_id_info_keep_serialized_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/mod.rs#L85
warning: method `fetch_action_id_info_keep_serialized_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/mod.rs:85:19 | 14 | impl Drive { | ---------- method in this implementation ... 85 | pub(crate) fn fetch_action_id_info_keep_serialized_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_action_id_info_keep_serialized_and_add_operations_v0` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/v0/mod.rs#L91
warning: method `fetch_action_id_info_keep_serialized_and_add_operations_v0` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_id_info_keep_serialized/v0/mod.rs:91:19 | 15 | impl Drive { | ---------- method in this implementation ... 91 | pub(super) fn fetch_action_id_info_keep_serialized_and_add_operations_v0( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_action_infos_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_infos/mod.rs#L93
warning: method `fetch_action_infos_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_infos/mod.rs:93:19 | 16 | impl Drive { | ---------- method in this implementation ... 93 | pub(crate) fn fetch_action_infos_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_action_signers_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_action_signers/mod.rs#L100
warning: method `fetch_action_signers_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_action_signers/mod.rs:100:19 | 15 | impl Drive { | ---------- method in this implementation ... 100 | pub(crate) fn fetch_action_signers_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_active_action_info_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_active_action_info/mod.rs#L86
warning: method `fetch_active_action_info_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_active_action_info/mod.rs:86:19 | 15 | impl Drive { | ---------- method in this implementation ... 86 | pub(crate) fn fetch_active_action_info_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_active_action_info_and_add_operations_v0` is never used: packages/rs-drive/src/drive/group/fetch/fetch_active_action_info/v0/mod.rs#L48
warning: method `fetch_active_action_info_and_add_operations_v0` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_active_action_info/v0/mod.rs:48:19 | 17 | impl Drive { | ---------- method in this implementation ... 48 | pub(super) fn fetch_active_action_info_and_add_operations_v0( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_group_info_and_add_operations` is never used: packages/rs-drive/src/drive/group/fetch/fetch_group_info/mod.rs#L76
warning: method `fetch_group_info_and_add_operations` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_group_info/mod.rs:76:19 | 15 | impl Drive { | ---------- method in this implementation ... 76 | pub(crate) fn fetch_group_info_and_add_operations( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
method `fetch_group_info_and_add_operations_v0` is never used: packages/rs-drive/src/drive/group/fetch/fetch_group_info/v0/mod.rs#L44
warning: method `fetch_group_info_and_add_operations_v0` is never used --> packages/rs-drive/src/drive/group/fetch/fetch_group_info/v0/mod.rs:44:19 | 17 | impl Drive { | ---------- method in this implementation ... 44 | pub(super) fn fetch_group_info_and_add_operations_v0( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/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
67% - 40 hits, 20 misses, 0 errors
sccache stats
97% - 58 hits, 2 misses, 0 errors
sccache stats
99% - 167 hits, 1 misses, 0 errors
sccache stats
99% - 214 hits, 3 misses, 0 errors
sccache stats
99% - 401 hits, 5 misses, 0 errors
sccache stats
100% - 411 hits, 0 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
100% - 186 hits, 0 misses, 0 errors
sccache stats
65% - 190 hits, 102 misses, 0 errors
sccache stats
100% - 526 hits, 0 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
100% - 542 hits, 1 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
100% - 454 hits, 0 misses, 0 errors
sccache stats
100% - 205 hits, 0 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
99% - 401 hits, 6 misses, 0 errors
sccache stats
99% - 187 hits, 2 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
99% - 689 hits, 6 misses, 0 errors
sccache stats
100% - 215 hits, 0 misses, 0 errors
sccache stats
100% - 207 hits, 0 misses, 0 errors
sccache stats
97% - 228 hits, 7 misses, 0 errors
sccache stats
98% - 1021 hits, 22 misses, 0 errors
sccache stats
100% - 216 hits, 0 misses, 0 errors
sccache stats
100% - 888 hits, 0 misses, 0 errors
sccache stats
100% - 445 hits, 0 misses, 0 errors
sccache stats
99% - 833 hits, 6 misses, 0 errors

Artifacts

Produced during runtime
Name Size
dashpay~platform~HZMIPY.dockerbuild
78 KB
dashpay~platform~JF09KV.dockerbuild
88.6 KB
dashpay~platform~ODM6XN.dockerbuild
77.4 KB
js-build-8806da7eeac05947de0848d84d1d08448e6b5ac6
18.2 MB