fix(drive): uncommitted state if db transaction fails #4324
tests.yml
on: pull_request
Build JS packages
/
Build JS
2m 39s
Matrix: Build Docker images
Determine changed packages
18s
Rust crates security audit
35s
JS dependency versions check
13s
JS NPM security audit
12s
JS code security audit
/
Run Code QL
2m 52s
Packages functional tests
/
Run functional tests
3m 26s
Matrix: Test Suite
Matrix: Dashmate E2E tests
Waiting for pending jobs
Matrix: JS packages
Waiting for pending jobs
Matrix: Rust packages
Annotations
2 errors and 41 warnings
Tests
Error when evaluating 'strategy' for job 'js-packages'. .github/workflows/tests.yml (Line: 115, Col: 21): Matrix vector 'js-package' does not contain any values
|
Tests
Error when evaluating 'strategy' for job 'js-packages'. .github/workflows/tests.yml (Line: 115, Col: 21): Matrix vector 'js-package' does not contain any values
|
Determine changed packages
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, dorny/paths-filter@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Rust crates security audit
The following actions use a deprecated Node.js version and will be forced to run on node20: rustsec/audit-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Rust crates security audit
3 warnings found!
|
Rust crates security audit
Unknown warning kind unsound found, please, file a bug
|
Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/github-script@v6. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Build JS packages / Build JS
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Build JS packages / Build JS
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, mozilla-actions/[email protected]. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Build Docker images (Drive, drive, drive-abci) / Build Drive image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (Drive, drive, drive-abci) / Build Drive image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (Drive, drive, drive-abci) / Build Drive image
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/github-script@v6. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Build Docker images (DAPI, dapi, dapi) / Build DAPI image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (DAPI, dapi, dapi) / Build DAPI image
Input 'config-inline' has been deprecated with message: Use buildkitd-config-inline instead
|
Build Docker images (DAPI, dapi, dapi) / Build DAPI image
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/github-script@v6. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Rust packages (drive-abci) / Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Rust packages (drive-abci) / Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Rust packages (drive-abci) / Linting
The following actions use a deprecated Node.js version and will be forced to run on node20: mozilla-actions/[email protected], strophy/actions-cache@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
unused import: `platform_value::Identifier`:
packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/methods/v0/mod.rs#L8
warning: unused import: `platform_value::Identifier`
--> packages/rs-dpp/src/state_transition/state_transitions/identity/identity_credit_transfer_transition/methods/v0/mod.rs:8:5
|
8 | use platform_value::Identifier;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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
|
use of deprecated trait `dpp::dashcore::secp256k1::ThirtyTwoByteHash`: Please see v0.29.0 rust-secp256k1/CHANGELOG.md for suggestion:
packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs#L8
warning: use of deprecated trait `dpp::dashcore::secp256k1::ThirtyTwoByteHash`: Please see v0.29.0 rust-secp256k1/CHANGELOG.md for suggestion
--> packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs:8:31
|
8 | use dpp::dashcore::secp256k1::ThirtyTwoByteHash;
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(deprecated)]` on by default
|
use of deprecated method `dpp::dashcore::secp256k1::ThirtyTwoByteHash::into_32`: Please see v0.29.0 rust-secp256k1/CHANGELOG.md for suggestion:
packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs#L52
warning: use of deprecated method `dpp::dashcore::secp256k1::ThirtyTwoByteHash::into_32`: Please see v0.29.0 rust-secp256k1/CHANGELOG.md for suggestion
--> packages/rs-drive-abci/src/execution/validation/state_transition/common/asset_lock/transaction/fetch_asset_lock_transaction_output_sync/v0/mod.rs:52:63
|
52 | let mut hash = transaction_hash.as_raw_hash().into_32();
| ^^^^^^^
|
Rust packages (drive-abci) / Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Rust packages (drive-abci) / Tests
The following actions use a deprecated Node.js version and will be forced to run on node20: mozilla-actions/[email protected], strophy/actions-cache@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Rust packages (drive-abci) / Check each feature
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Rust packages (drive-abci) / Check each feature
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, mozilla-actions/[email protected], strophy/actions-cache@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Rust packages (drive-abci) / Unused dependencies
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Rust packages (drive-abci) / Unused dependencies
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Rust packages (drive-abci) / Unused dependencies
The following actions use a deprecated Node.js version and will be forced to run on node20: mozilla-actions/[email protected], strophy/actions-cache@opendal-update, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
JS code security audit / Run Code QL
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, github/codeql-action/init@v2, github/codeql-action/analyze@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-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/
|
Packages functional tests / Run functional tests
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, strophy/actions-cache/restore@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Test Suite (Test Suite in browser (2), test:browsers, 1, 2) / Run Test Suite in browser (2)
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, strophy/actions-cache/restore@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Test Suite (Test Suite, test:suite, 0, 0) / Run Test Suite
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, strophy/actions-cache/restore@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Test Suite (Test Suite in browser (1), test:browsers, 0, 2) / Run Test Suite in browser (1)
The following actions use a deprecated Node.js version and will be forced to run on node20: strophy/actions-cache@opendal-update, strophy/actions-cache/restore@opendal-update. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|