Skip to content

feat(wasm-dpp): add extra methods for state transitions #4910

feat(wasm-dpp): add extra methods for state transitions

feat(wasm-dpp): add extra methods for state transitions #4910

Triggered via pull request December 18, 2024 18:57
Status Cancelled
Total duration 3m 27s
Artifacts

tests.yml

on: pull_request
Build JS packages  /  Build JS
2m 57s
Build JS packages / Build JS
Matrix: Build Docker images
Determine changed packages
16s
Determine changed packages
Rust crates security audit
58s
Rust crates security audit
JS dependency versions check
9s
JS dependency versions check
JS NPM security audit
12s
JS NPM security audit
JS code security audit  /  Run Code QL
JS code security audit / Run Code QL
Packages functional tests  /  Run functional tests
Packages functional tests / Run functional tests
Matrix: Test Suite
Waiting for pending jobs
Matrix: Dashmate E2E tests
Waiting for pending jobs
Matrix: JS packages
Waiting for pending jobs
Matrix: Rust packages
Fit to window
Zoom out
Zoom in

Annotations

27 errors, 22 warnings, and 6 notices
Rust packages (wasm-dpp) / Formatting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Check each feature
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (wasm-dpp) / Linting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (wasm-dpp) / Unused dependencies
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Unused dependencies
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Tests
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Detect immutable structure changes
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (wasm-dpp) / Detect immutable structure changes
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (wasm-dpp) / Tests
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Linting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Linting
A task was canceled.
Build Docker images (Dashmate helper, dashmate-helper, dashmate-helper) / Build Dashmate helper image
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Build Docker images (DAPI, dapi, dapi) / Build DAPI image
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Build Docker images (Drive, drive, drive-abci) / Build Drive image
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Formatting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive-abci) / Formatting
The operation was canceled.
Rust packages (dpp) / Unused dependencies
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive) / Formatting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive) / Unused dependencies
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (drive) / Linting
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (dpp) / Check each feature
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (dpp) / Check each feature
The operation was canceled.
Rust packages (drive) / Tests
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (dpp) / Tests
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Rust packages (dpp) / Tests
The operation was canceled.
Build JS packages / Build JS
Canceling since a higher priority waiting request for 'Tests-refs/pull/2401/merge' exists
Build JS packages / Build JS
The operation was canceled.
Rust crates security audit
2 warnings found!
Rust crates security audit
Unknown warning kind unsound found, please, file a bug
elided lifetime has a name: packages/rs-platform-value/src/inner_value.rs#L364
warning: elided lifetime has a name --> packages/rs-platform-value/src/inner_value.rs:364:66 | 364 | pub fn get_array_slice<'a>(&'a self, key: &'a str) -> Result<&[Value], Error> { | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
the following explicit lifetimes could be elided: 'a: packages/rs-dpp/src/data_contract/document_type/accessors/mod.rs#L153
warning: the following explicit lifetimes could be elided: 'a --> packages/rs-dpp/src/data_contract/document_type/accessors/mod.rs:153:6 | 153 | impl<'a> DocumentTypeV0Getters for DocumentTypeRef<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 153 - impl<'a> DocumentTypeV0Getters for DocumentTypeRef<'a> { 153 + impl DocumentTypeV0Getters for DocumentTypeRef<'_> { |
the following explicit lifetimes could be elided: 'a: packages/rs-dpp/src/data_contract/document_type/accessors/mod.rs#L287
warning: the following explicit lifetimes could be elided: 'a --> packages/rs-dpp/src/data_contract/document_type/accessors/mod.rs:287:6 | 287 | impl<'a> DocumentTypeV0Getters for DocumentTypeMutRef<'a> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 287 - impl<'a> DocumentTypeV0Getters for DocumentTypeMutRef<'a> { 287 + impl DocumentTypeV0Getters for DocumentTypeMutRef<'_> { |
unneeded `return` statement: packages/rs-dpp/src/data_contract/document_type/property/array.rs#L73
warning: unneeded `return` statement --> packages/rs-dpp/src/data_contract/document_type/property/array.rs:73:9 | 73 | / return match self { 74 | | ArrayItemType::String(_, _) => { 75 | | let value_as_text = value.as_text().ok_or_else(get_field_type_matching_error)?; 76 | | let vec = value_as_text.as_bytes().to_vec(); ... | 118 | | } 119 | | }; | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 73 ~ match self { 74 + ArrayItemType::String(_, _) => { 75 + let value_as_text = value.as_text().ok_or_else(get_field_type_matching_error)?; 76 + let vec = value_as_text.as_bytes().to_vec(); 77 + let mut r_vec = vec.len().encode_var_vec(); 78 + r_vec.extend(vec); 79 + Ok(r_vec) 80 + } 81 + ArrayItemType::Date => { 82 + let value_as_f64 = value.to_float().map_err(ProtocolError::ValueError)?; 83 + let value_bytes = value_as_f64.to_be_bytes().to_vec(); 84 + Ok(value_bytes) 85 + } 86 + ArrayItemType::Integer => { 87 + let value_as_i64: i64 = value.to_integer().map_err(ProtocolError::ValueError)?; 88 + let value_bytes = value_as_i64.to_be_bytes().to_vec(); 89 + Ok(value_bytes) 90 + } 91 + ArrayItemType::Number => { 92 + let value_as_f64 = value.to_float().map_err(ProtocolError::ValueError)?; 93 + let value_bytes = value_as_f64.to_be_bytes().to_vec(); 94 + Ok(value_bytes) 95 + } 96 + ArrayItemType::ByteArray(_, _) => { 97 + let mut bytes = value.to_binary_bytes()?; 98 + 99 + let mut r_vec = bytes.len().encode_var_vec(); 100 + r_vec.append(&mut bytes); 101 + Ok(r_vec) 102 + } 103 + ArrayItemType::Identifier => { 104 + let mut bytes = value.to_identifier_bytes()?; 105 + 106 + let mut r_vec = bytes.len().encode_var_vec(); 107 + r_vec.append(&mut bytes); 108 + Ok(r_vec) 109 + } 110 + ArrayItemType::Boolean => { 111 + let value_as_boolean = value.as_bool().ok_or_else(get_field_type_matching_error)?; 112 + // 0 means does not exist 113 + if value_as_boolean { 114 + Ok(vec![1]) // 1 is true 115 + } else { 116 + Ok(vec![0]) // 2 is false 117 + } 118 + } 119 ~ } |
unneeded `return` statement: packages/rs-dpp/src/data_contract/document_type/property/mod.rs#L955
warning: unneeded `return` statement --> packages/rs-dpp/src/data_contract/document_type/property/mod.rs:955:9 | 955 | / return match self { 956 | | DocumentPropertyType::String(_) => { 957 | | let value_as_text = value 958 | | .as_text() ... | 1097 | | )), 1098 | | }; | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 955 ~ match self { 956 + DocumentPropertyType::String(_) => { 957 + let value_as_text = value 958 + .as_text() 959 + .ok_or_else(|| get_field_type_matching_error(value))?; 960 + let vec = value_as_text.as_bytes().to_vec(); 961 + let mut r_vec = vec.len().encode_var_vec(); 962 + r_vec.extend(vec); 963 + Ok(r_vec) 964 + } 965 + // TODO: Make the same as in https://github.com/dashpay/platform/blob/8d2a9e54d62b77581c44a15a09a2c61864af37d3/packages/rs-dpp/src/document/v0/serialize.rs#L161 966 + // it must be u64 BE. Markers are wrong here as well 967 + DocumentPropertyType::Date => { 968 + let value_as_f64 = value.to_float().map_err(ProtocolError::ValueError)?; 969 + let mut value_bytes = value_as_f64.to_be_bytes().to_vec(); 970 + if required { 971 + Ok(value_bytes) 972 + } else { 973 + // if the value wasn't required we need to add a byte to prove it existed 974 + let mut r_vec = vec![255u8]; 975 + r_vec.append(&mut value_bytes); 976 + Ok(r_vec) 977 + } 978 + } 979 + DocumentPropertyType::U128 => { 980 + let value_as_u128: u128 = value.to_integer().map_err(ProtocolError::ValueError)?; 981 + Ok(value_as_u128.to_be_bytes().to_vec()) 982 + } 983 + DocumentPropertyType::I128 => { 984 + let value_as_i128: i128 = value.to_integer().map_err(ProtocolError::ValueError)?; 985 + Ok(value_as_i128.to_be_bytes().to_vec()) 986 + } 987 + DocumentPropertyType::U64 => { 988 + let value_as_u64: u64 = value.to_integer().map_err(ProtocolError::ValueError)?; 989 + Ok(value_as_u64.to_be_bytes().to_vec()) 990 + } 991 + DocumentPropertyType::I64 => { 992 + let value_as_i64: i64 = value.to_integer().map_err(ProtocolError::ValueError)?; 993 + Ok(value_as_i64.to_be_bytes().to_vec()) 994 + } 995 + DocumentPropertyType::U32 => { 996 + let value_as_u32: u32 = value.to_integer().map_err(ProtocolError::ValueError)?; 997 + Ok(value_as_u32.to_be_bytes().to_vec()) 998 + } 999 + DocumentPropertyType::I32 => { 1000 + let value_as_i32: i32 = value.to_integer().map_err(ProtocolError::ValueError)?; 1001 + Ok(value_as_i32.to_be_bytes().to_vec()) 1002 + } 1003 + DocumentPropertyType::U16 => { 1004 + let value_as_u16: u16 = value.to_integer().map_err(ProtocolError::ValueError)?; 1005 + Ok(value_as_u16.to_be_bytes().to_vec()) 1006 + } 1007 + DocumentPropertyType::I16 => { 1008 + let value_as_i16: i16 = value.to_integer().map_err(ProtocolError::ValueError)?; 1009 + Ok(value_as_i16.to_be_bytes().to_vec()) 1010 + } 1011 + DocumentPropertyType::U8 => { 1012 + let value_as_u8: u8 = value.to_integer().map_err(ProtocolError::ValueError)?; 1013 + Ok(value_as_u8.to_be_bytes().to_vec()) 1014 + } 1015 + DocumentPropertyType::I8 => {
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
the following explicit lifetimes could be elided: 'de: packages/rs-dpp/src/data_contract/document_type/index/mod.rs#L99
warning: the following explicit lifetimes could be elided: 'de --> packages/rs-dpp/src/data_contract/document_type/index/mod.rs:99:14 | 99 | impl<'de> Visitor<'de> for FieldVisitor { | ^^^ ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 99 - impl<'de> Visitor<'de> for FieldVisitor { 99 + impl Visitor<'_> for FieldVisitor { |
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
elided lifetime has a name: packages/rs-platform-value/src/inner_value.rs#L364
warning: elided lifetime has a name --> packages/rs-platform-value/src/inner_value.rs:364:66 | 364 | pub fn get_array_slice<'a>(&'a self, key: &'a str) -> Result<&[Value], Error> { | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default
unused import: `crate::util::type_constants::DEFAULT_HASH_SIZE_U8`: packages/rs-drive/src/drive/document/paths.rs#L2
warning: unused import: `crate::util::type_constants::DEFAULT_HASH_SIZE_U8` --> packages/rs-drive/src/drive/document/paths.rs:2:5 | 2 | use crate::util::type_constants::DEFAULT_HASH_SIZE_U8; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `dpp::data_contract::document_type::accessors::DocumentTypeV0Getters`: packages/rs-drive/src/drive/document/paths.rs#L3
warning: unused import: `dpp::data_contract::document_type::accessors::DocumentTypeV0Getters` --> packages/rs-drive/src/drive/document/paths.rs:3:5 | 3 | use dpp::data_contract::document_type::accessors::DocumentTypeV0Getters; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `dpp::data_contract::document_type::methods::DocumentTypeV0Methods`: packages/rs-drive/src/drive/document/paths.rs#L4
warning: unused import: `dpp::data_contract::document_type::methods::DocumentTypeV0Methods` --> packages/rs-drive/src/drive/document/paths.rs:4:5 | 4 | use dpp::data_contract::document_type::methods::DocumentTypeV0Methods; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `dpp::data_contract::document_type::DocumentTypeRef`: packages/rs-drive/src/drive/document/paths.rs#L5
warning: unused import: `dpp::data_contract::document_type::DocumentTypeRef` --> packages/rs-drive/src/drive/document/paths.rs:5:5 | 5 | use dpp::data_contract::document_type::DocumentTypeRef; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function `contract_documents_primary_key_path` is never used: packages/rs-drive/src/drive/document/paths.rs#L41
warning: function `contract_documents_primary_key_path` is never used --> packages/rs-drive/src/drive/document/paths.rs:41:15 | 41 | pub(crate) fn contract_documents_primary_key_path<'a>( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused import: `identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0`: packages/rs-drive/src/drive/identity/key/fetch/mod.rs#L16
warning: unused import: `identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0` --> packages/rs-drive/src/drive/identity/key/fetch/mod.rs:16:9 | 16 | identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo`: packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs#L3
warning: unused import: `crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo` --> packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs:3:5 | 3 | use crate::drive::votes::resolved::vote_polls::contested_document_resource_vote_poll::ContestedDocumentResourceVotePollWithContractInfo; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::drive::Drive`: packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs#L6
warning: unused import: `crate::drive::Drive` --> packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs:6:5 | 6 | use crate::drive::Drive; | ^^^^^^^^^^^^^^^^^^^
unused import: `crate::util::object_size_info::DataContractOwnedResolvedInfo`: packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs#L11
warning: unused import: `crate::util::object_size_info::DataContractOwnedResolvedInfo` --> packages/rs-drive/src/drive/votes/resolved/vote_polls/contested_document_resource_vote_poll/resolve.rs:11:5 | 11 | use crate::util::object_size_info::DataContractOwnedResolvedInfo; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sccache stats
100% - 288 hits, 0 misses, 0 errors
sccache stats
100% - 60 hits, 0 misses, 0 errors
sccache stats
100% - 559 hits, 0 misses, 0 errors
sccache stats
100% - 196 hits, 0 misses, 0 errors
sccache stats
100% - 441 hits, 0 misses, 0 errors
sccache stats
100% - 422 hits, 0 misses, 0 errors