@dashevo/wasm-dpp 0.24.0-dev.29 → 0.25.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.toml +2 -2
- package/dist/wasm/wasm_dpp.d.ts +722 -571
- package/dist/wasm/wasm_dpp.js +169 -106
- package/dist/wasm/wasm_dpp_bg.js +1 -1
- package/lib/wasm/wasm_dpp.d.ts +722 -571
- package/package.json +3 -3
- package/src/data_contract/data_contract.rs +1 -1
- package/src/data_contract/data_contract_facade.rs +2 -2
- package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +1 -1
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +2 -12
- package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +5 -3
- package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +6 -2
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +2 -14
- package/src/data_contract/state_transition/data_contract_update_transition/validation.rs +6 -4
- package/src/decode_protocol_entity.rs +19 -19
- package/src/document/extended_document.rs +4 -1
- package/src/document/fetch_and_validate_data_contract.rs +2 -2
- package/src/document/mod.rs +5 -3
- package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +9 -6
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +1 -1
- package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +1 -1
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +1 -2
- package/src/document/state_transition/document_batch_transition/mod.rs +13 -17
- package/src/document/state_transition/document_batch_transition/validation/basic/validate_documents_batch_transition_basic.rs +4 -4
- package/src/document/state_transition/document_batch_transition/validation/state/validate_documents_batch_transitions_state.rs +3 -1
- package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +3 -3
- package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +3 -3
- package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +3 -3
- package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +4 -4
- package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -1
- package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +2 -2
- package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +1 -1
- package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -1
- package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -1
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -1
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -1
- package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +2 -2
- package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -1
- package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -1
- package/src/errors/consensus/basic/document/invalid_document_type_error.rs +2 -2
- package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -1
- package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -1
- package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -1
- package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -1
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -1
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_proof_chain_lock_validation_error.rs +35 -0
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -1
- package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -1
- package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -1
- package/src/errors/consensus/basic/identity/mod.rs +2 -0
- package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +2 -2
- package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -1
- package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -3
- package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -1
- package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -1
- package/src/errors/consensus/basic/json_schema_error.rs +1 -3
- package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -1
- package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -2
- package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -1
- package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -1
- package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -1
- package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -1
- package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -1
- package/src/errors/consensus/consensus_error.rs +24 -4
- package/src/errors/consensus/deserialize.rs +1 -1
- package/src/errors/consensus/fee/balance_is_not_enough_error.rs +1 -1
- package/src/errors/consensus/signature/basic_bls_error.rs +38 -0
- package/src/errors/consensus/signature/basic_ecdsa_error.rs +38 -0
- package/src/errors/consensus/signature/mod.rs +6 -0
- package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +38 -0
- package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +2 -2
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +58 -1
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +66 -1
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +50 -1
- package/src/errors/consensus/state/document/document_already_present_error.rs +1 -1
- package/src/errors/consensus/state/document/document_not_found_error.rs +1 -1
- package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -1
- package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +2 -2
- package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -1
- package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -1
- package/src/errors/consensus/state/document/invalid_document_revision_error.rs +1 -1
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -1
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -1
- package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -1
- package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -1
- package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -1
- package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -1
- package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +1 -1
- package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -1
- package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -1
- package/src/errors/consensus/state/identity/missing_identity_public_key_ids_error.rs +26 -0
- package/src/errors/consensus/state/identity/mod.rs +2 -0
- package/src/errors/consensus/value_error.rs +1 -1
- package/src/errors/from.rs +0 -1
- package/src/generate_temporary_ecdsa_private_key.rs +2 -6
- package/src/identity/factory_utils.rs +4 -4
- package/src/identity/identity_public_key/key_type.rs +2 -0
- package/src/identity/identity_public_key/purpose.rs +7 -0
- package/src/identity/mod.rs +1 -1
- package/src/identity/state_transition/identity_create_transition/apply_identity_create_transition.rs +6 -2
- package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +8 -18
- package/src/identity/state_transition/identity_create_transition/identity_create_transition_state_validator.rs +3 -1
- package/src/identity/state_transition/identity_create_transition/to_object.rs +2 -2
- package/src/identity/state_transition/identity_public_key_transitions.rs +11 -11
- package/src/identity/state_transition/identity_topup_transition/apply_identity_topup_transition.rs +6 -2
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +1 -12
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_state_validator.rs +3 -1
- package/src/identity/state_transition/identity_update_transition/apply_identity_update_transition.rs +3 -1
- package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
- package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +5 -18
- package/src/identity/state_transition/identity_update_transition/identity_update_transition_state_validator.rs +3 -2
- package/src/identity/state_transition/identity_update_transition/to_object.rs +2 -2
- package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
- package/src/state_repository.rs +3 -2
- package/src/state_transition/fee/calculate_state_transition_fee.rs +8 -5
- package/src/state_transition/state_transition_facade.rs +16 -15
- package/src/state_transition/validation/state_transition_fee_validator.rs +3 -1
- package/src/state_transition/validation/validate_state_transition_identity_signature.rs +3 -1
- package/src/state_transition/validation/validate_state_transition_key_signature.rs +7 -1
- package/src/utils.rs +2 -4
- package/src/validation/validation_result.rs +12 -7
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +0 -17
- package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +10 -3
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +4 -7
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +20 -7
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +0 -7
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +4 -3
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -3
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +3 -2
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +5 -6
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +20 -18
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +1 -2
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +7 -3
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +1 -2
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -1
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
- package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +10 -4
- package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +3 -1
- package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +7 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dashevo/wasm-dpp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0-dev.1",
|
|
4
4
|
"description": "The JavaScript implementation of the Dash Platform Protocol",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"@babel/core": "^7.15.5",
|
|
45
45
|
"@babel/preset-env": "^7.15.4",
|
|
46
46
|
"@dashevo/dashcore-lib": "~0.20.3",
|
|
47
|
-
"@dashevo/dpns-contract": "0.
|
|
48
|
-
"@dashevo/dpp": "0.
|
|
47
|
+
"@dashevo/dpns-contract": "0.25.0-dev.1",
|
|
48
|
+
"@dashevo/dpp": "0.25.0-dev.1",
|
|
49
49
|
"@dashevo/wasm-re2": "~1.0.2",
|
|
50
50
|
"@types/bs58": "^4.0.1",
|
|
51
51
|
"@types/node": "^14.6.0",
|
|
@@ -303,7 +303,7 @@ impl DataContractWasm {
|
|
|
303
303
|
|
|
304
304
|
#[wasm_bindgen(js_name=toBuffer)]
|
|
305
305
|
pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
|
|
306
|
-
let bytes = self.0.
|
|
306
|
+
let bytes = self.0.to_cbor_buffer().with_js_error()?;
|
|
307
307
|
Ok(Buffer::from_bytes(&bytes))
|
|
308
308
|
}
|
|
309
309
|
|
|
@@ -11,10 +11,10 @@ use dpp::version::ProtocolVersionValidator;
|
|
|
11
11
|
use crate::entropy_generator::ExternalEntropyGenerator;
|
|
12
12
|
use crate::utils::{get_bool_from_options, IntoWasm, WithJsError, SKIP_VALIDATION_PROPERTY_NAME};
|
|
13
13
|
use crate::validation::ValidationResultWasm;
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
use dpp::{Convertible, ProtocolError};
|
|
16
16
|
use std::sync::Arc;
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
use wasm_bindgen::prelude::*;
|
|
19
19
|
|
|
20
20
|
#[wasm_bindgen(js_name=DataContractFacade)]
|
|
@@ -38,7 +38,7 @@ impl ApplyDataContractCreateTransitionWasm {
|
|
|
38
38
|
transition: DataContractCreateTransitionWasm,
|
|
39
39
|
) -> Result<(), JsError> {
|
|
40
40
|
self.0
|
|
41
|
-
.apply_data_contract_create_transition(&transition.into())
|
|
41
|
+
.apply_data_contract_create_transition(&transition.into(), None)
|
|
42
42
|
.await
|
|
43
43
|
.map_err(|e| e.deref().into())
|
|
44
44
|
}
|
|
@@ -24,7 +24,7 @@ use crate::errors::protocol_error::from_protocol_error;
|
|
|
24
24
|
use crate::utils::WithJsError;
|
|
25
25
|
use crate::{
|
|
26
26
|
buffer::Buffer, identifier::IdentifierWrapper, with_js_error, DataContractParameters,
|
|
27
|
-
DataContractWasm, IdentityPublicKeyWasm,
|
|
27
|
+
DataContractWasm, IdentityPublicKeyWasm,
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
#[derive(Clone)]
|
|
@@ -110,7 +110,7 @@ impl DataContractCreateTransitionWasm {
|
|
|
110
110
|
pub fn to_buffer(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
|
|
111
111
|
let bytes = self
|
|
112
112
|
.0
|
|
113
|
-
.
|
|
113
|
+
.to_cbor_buffer(skip_signature.unwrap_or(false))
|
|
114
114
|
.with_js_error()?;
|
|
115
115
|
Ok(Buffer::from_bytes(&bytes))
|
|
116
116
|
}
|
|
@@ -139,16 +139,6 @@ impl DataContractCreateTransitionWasm {
|
|
|
139
139
|
self.0.is_identity_state_transition()
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
#[wasm_bindgen(js_name=setExecutionContext)]
|
|
143
|
-
pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
|
|
144
|
-
self.0.set_execution_context(context.into())
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
#[wasm_bindgen(js_name=getExecutionContext)]
|
|
148
|
-
pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
|
|
149
|
-
self.0.get_execution_context().into()
|
|
150
|
-
}
|
|
151
|
-
|
|
152
142
|
#[wasm_bindgen(js_name=toObject)]
|
|
153
143
|
pub fn to_object(&self, skip_signature: Option<bool>) -> Result<JsValue, JsValue> {
|
|
154
144
|
let serde_object = self
|
|
@@ -3,7 +3,7 @@ use std::sync::Arc;
|
|
|
3
3
|
use dpp::data_contract::state_transition::data_contract_create_transition::DataContractCreateTransition;
|
|
4
4
|
|
|
5
5
|
use dpp::consensus::basic::value_error::ValueError;
|
|
6
|
-
use dpp::validation::
|
|
6
|
+
use dpp::validation::SimpleConsensusValidationResult;
|
|
7
7
|
use dpp::{
|
|
8
8
|
data_contract::state_transition::data_contract_create_transition::validation::state::{
|
|
9
9
|
validate_data_contract_create_transition_basic::DataContractCreateTransitionBasicValidator,
|
|
@@ -20,7 +20,7 @@ use crate::utils::WithJsError;
|
|
|
20
20
|
use crate::validation::ValidationResultWasm;
|
|
21
21
|
use crate::{
|
|
22
22
|
state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
|
|
23
|
-
DataContractCreateTransitionWasm,
|
|
23
|
+
DataContractCreateTransitionWasm, StateTransitionExecutionContextWasm,
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
use super::DataContractCreateTransitionParameters;
|
|
@@ -29,11 +29,13 @@ use super::DataContractCreateTransitionParameters;
|
|
|
29
29
|
pub async fn validate_data_contract_create_transition_state(
|
|
30
30
|
state_repository: ExternalStateRepositoryLike,
|
|
31
31
|
state_transition: DataContractCreateTransitionWasm,
|
|
32
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
32
33
|
) -> Result<ValidationResultWasm, JsValue> {
|
|
33
34
|
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
|
|
34
35
|
let validation_result = dpp_validate_data_contract_create_transition_state(
|
|
35
36
|
&wrapped_state_repository,
|
|
36
37
|
&state_transition.into(),
|
|
38
|
+
&execution_context.to_owned().into(),
|
|
37
39
|
)
|
|
38
40
|
.await
|
|
39
41
|
.with_js_error()?;
|
|
@@ -48,7 +50,7 @@ pub async fn validate_data_contract_create_transition_basic(
|
|
|
48
50
|
serde_wasm_bindgen::from_value(raw_parameters)?;
|
|
49
51
|
|
|
50
52
|
let mut value = platform_value::to_value(¶meters)?;
|
|
51
|
-
let mut validation_result =
|
|
53
|
+
let mut validation_result = SimpleConsensusValidationResult::default();
|
|
52
54
|
if let Some(err) = DataContractCreateTransition::clean_value(&mut value).err() {
|
|
53
55
|
validation_result.add_error(ValueError::new(err));
|
|
54
56
|
return Ok(validation_result.map(|_| JsValue::undefined()).into());
|
|
@@ -6,7 +6,7 @@ use wasm_bindgen::prelude::*;
|
|
|
6
6
|
|
|
7
7
|
use crate::{
|
|
8
8
|
state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
|
|
9
|
-
DataContractUpdateTransitionWasm,
|
|
9
|
+
DataContractUpdateTransitionWasm, StateTransitionExecutionContextWasm,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
#[wasm_bindgen(js_name=ApplyDataContractUpdateTransition)]
|
|
@@ -36,9 +36,13 @@ impl ApplyDataContractUpdateTransitionWasm {
|
|
|
36
36
|
pub async fn apply_data_contract_update_transition(
|
|
37
37
|
&self,
|
|
38
38
|
transition: DataContractUpdateTransitionWasm,
|
|
39
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
39
40
|
) -> Result<(), JsError> {
|
|
40
41
|
self.0
|
|
41
|
-
.apply_data_contract_update_transition(
|
|
42
|
+
.apply_data_contract_update_transition(
|
|
43
|
+
&transition.into(),
|
|
44
|
+
&execution_context.to_owned().into(),
|
|
45
|
+
)
|
|
42
46
|
.await
|
|
43
47
|
.map_err(|e| e.deref().into())
|
|
44
48
|
}
|
|
@@ -6,8 +6,6 @@ use std::collections::HashMap;
|
|
|
6
6
|
pub use apply::*;
|
|
7
7
|
pub use validation::*;
|
|
8
8
|
|
|
9
|
-
use dpp::consensus::ConsensusError::SignatureError as ConsensusSignatureErrorVariant;
|
|
10
|
-
|
|
11
9
|
use dpp::consensus::ConsensusError;
|
|
12
10
|
use dpp::{
|
|
13
11
|
consensus::signature::SignatureError,
|
|
@@ -28,7 +26,7 @@ use crate::{
|
|
|
28
26
|
};
|
|
29
27
|
use crate::{
|
|
30
28
|
buffer::Buffer, errors::protocol_error::from_protocol_error, identifier::IdentifierWrapper,
|
|
31
|
-
with_js_error, DataContractParameters, DataContractWasm,
|
|
29
|
+
with_js_error, DataContractParameters, DataContractWasm,
|
|
32
30
|
};
|
|
33
31
|
|
|
34
32
|
#[derive(Clone)]
|
|
@@ -114,7 +112,7 @@ impl DataContractUpdateTransitionWasm {
|
|
|
114
112
|
pub fn to_buffer(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
|
|
115
113
|
let bytes = self
|
|
116
114
|
.0
|
|
117
|
-
.
|
|
115
|
+
.to_cbor_buffer(skip_signature.unwrap_or(false))
|
|
118
116
|
.with_js_error()?;
|
|
119
117
|
Ok(Buffer::from_bytes(&bytes))
|
|
120
118
|
}
|
|
@@ -143,16 +141,6 @@ impl DataContractUpdateTransitionWasm {
|
|
|
143
141
|
self.0.is_identity_state_transition()
|
|
144
142
|
}
|
|
145
143
|
|
|
146
|
-
#[wasm_bindgen(js_name=setExecutionContext)]
|
|
147
|
-
pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
|
|
148
|
-
self.0.set_execution_context(context.into())
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
#[wasm_bindgen(js_name=getExecutionContext)]
|
|
152
|
-
pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
|
|
153
|
-
self.0.get_execution_context().into()
|
|
154
|
-
}
|
|
155
|
-
|
|
156
144
|
#[wasm_bindgen(js_name=hash)]
|
|
157
145
|
pub fn hash(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
|
|
158
146
|
let bytes = self
|
|
@@ -3,7 +3,7 @@ use std::{collections::BTreeMap, sync::Arc};
|
|
|
3
3
|
use dpp::data_contract::state_transition::data_contract_update_transition::DataContractUpdateTransition;
|
|
4
4
|
|
|
5
5
|
use dpp::consensus::basic::value_error::ValueError;
|
|
6
|
-
use dpp::validation::{AsyncDataValidatorWithContext,
|
|
6
|
+
use dpp::validation::{AsyncDataValidatorWithContext, SimpleConsensusValidationResult};
|
|
7
7
|
use dpp::{
|
|
8
8
|
data_contract::state_transition::data_contract_update_transition::validation::{
|
|
9
9
|
basic::{
|
|
@@ -29,12 +29,14 @@ use crate::{
|
|
|
29
29
|
#[wasm_bindgen(js_name=validateDataContractUpdateTransitionState)]
|
|
30
30
|
pub async fn validate_data_contract_update_transition_state(
|
|
31
31
|
state_repository: ExternalStateRepositoryLike,
|
|
32
|
-
state_transition: DataContractUpdateTransitionWasm,
|
|
32
|
+
state_transition: &DataContractUpdateTransitionWasm,
|
|
33
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
33
34
|
) -> Result<ValidationResultWasm, JsValue> {
|
|
34
35
|
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
|
|
35
36
|
let result = dpp_validate_data_contract_update_transition_state(
|
|
36
37
|
&wrapped_state_repository,
|
|
37
|
-
&state_transition.into(),
|
|
38
|
+
&state_transition.to_owned().into(),
|
|
39
|
+
&execution_context.to_owned().into(),
|
|
38
40
|
)
|
|
39
41
|
.await
|
|
40
42
|
.with_js_error()?;
|
|
@@ -71,7 +73,7 @@ pub async fn validate_data_contract_update_transition_basic(
|
|
|
71
73
|
serde_wasm_bindgen::from_value(raw_parameters)?;
|
|
72
74
|
|
|
73
75
|
let mut value = platform_value::to_value(¶meters)?;
|
|
74
|
-
let mut validation_result =
|
|
76
|
+
let mut validation_result = SimpleConsensusValidationResult::default();
|
|
75
77
|
if let Some(err) = DataContractUpdateTransition::clean_value(&mut value).err() {
|
|
76
78
|
validation_result.add_error(ValueError::new(err));
|
|
77
79
|
return Ok(validation_result.map(|_| JsValue::undefined()).into());
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
use crate::errors::protocol_error::from_protocol_error;
|
|
2
|
-
use core::iter::FromIterator;
|
|
3
|
-
use dpp::encoding::decode_protocol_entity_factory::DecodeProtocolEntity;
|
|
4
|
-
use dpp::ProtocolError;
|
|
5
1
|
use js_sys::Array;
|
|
6
|
-
|
|
2
|
+
|
|
7
3
|
use wasm_bindgen::prelude::wasm_bindgen;
|
|
8
4
|
use wasm_bindgen::JsValue;
|
|
9
5
|
|
|
10
6
|
#[wasm_bindgen(js_name=decodeProtocolEntity)]
|
|
11
|
-
pub fn decode_protocol_entity(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
7
|
+
pub fn decode_protocol_entity(_buffer: Vec<u8>) -> Result<Array, JsValue> {
|
|
8
|
+
// TODO(v0.24-backport): revisit.
|
|
9
|
+
// This code was not used anywhere but js-drive and wallet-lib.
|
|
10
|
+
// In wallet-lib it is replaceable.
|
|
11
|
+
todo!()
|
|
12
|
+
// let (protocol_version, value) = DecodeProtocolEntity::decode_protocol_entity_to_value(buffer)
|
|
13
|
+
// .map_err(from_protocol_error)?;
|
|
14
|
+
//
|
|
15
|
+
// let serializer = serde_wasm_bindgen::Serializer::json_compatible();
|
|
16
|
+
// let js_value = value
|
|
17
|
+
// .try_to_validating_json()
|
|
18
|
+
// .map_err(|e| from_protocol_error(ProtocolError::ValueError(e)))?
|
|
19
|
+
// .serialize(&serializer)
|
|
20
|
+
// .map_err(|e| from_protocol_error(ProtocolError::EncodingError(e.to_string())))?;
|
|
21
|
+
// Ok(Array::from_iter(vec![
|
|
22
|
+
// JsValue::from(protocol_version),
|
|
23
|
+
// js_value,
|
|
24
|
+
// ]))
|
|
25
25
|
}
|
|
@@ -198,6 +198,9 @@ impl ExtendedDocumentWasm {
|
|
|
198
198
|
Value::Bytes(bytes) => {
|
|
199
199
|
return Buffer::from_bytes(bytes).into();
|
|
200
200
|
}
|
|
201
|
+
Value::Bytes20(bytes) => {
|
|
202
|
+
return Buffer::from_bytes(bytes.as_slice()).into();
|
|
203
|
+
}
|
|
201
204
|
Value::Bytes32(bytes) => {
|
|
202
205
|
return Buffer::from_bytes(bytes.as_slice()).into();
|
|
203
206
|
}
|
|
@@ -322,7 +325,7 @@ impl ExtendedDocumentWasm {
|
|
|
322
325
|
|
|
323
326
|
#[wasm_bindgen(js_name=toBuffer)]
|
|
324
327
|
pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
|
|
325
|
-
let bytes = self.0.
|
|
328
|
+
let bytes = self.0.to_cbor_buffer().with_js_error()?;
|
|
326
329
|
|
|
327
330
|
Ok(Buffer::from_bytes(&bytes))
|
|
328
331
|
}
|
|
@@ -3,7 +3,7 @@ use dpp::{
|
|
|
3
3
|
document::{self, fetch_and_validate_data_contract::fetch_and_validate_data_contract},
|
|
4
4
|
prelude::DataContract,
|
|
5
5
|
state_transition::state_transition_execution_context::StateTransitionExecutionContext,
|
|
6
|
-
validation::
|
|
6
|
+
validation::ConsensusValidationResult,
|
|
7
7
|
ProtocolError,
|
|
8
8
|
};
|
|
9
9
|
use wasm_bindgen::prelude::*;
|
|
@@ -72,7 +72,7 @@ async fn fetch_and_validate_data_contract_inner(
|
|
|
72
72
|
fetch_and_validate_data_contract(state_repository, &document_value, &ctx)
|
|
73
73
|
.await
|
|
74
74
|
.with_js_error()?;
|
|
75
|
-
let result_with_js_value:
|
|
75
|
+
let result_with_js_value: ConsensusValidationResult<JsValue> = validation_result
|
|
76
76
|
.map(|dc| <DataContractWasm as std::convert::From<DataContract>>::from(dc).into());
|
|
77
77
|
|
|
78
78
|
Ok(result_with_js_value.into())
|
package/src/document/mod.rs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
use dpp::dashcore::anyhow::Context;
|
|
2
1
|
use dpp::prelude::{DataContract, Identifier};
|
|
3
2
|
use dpp::util::json_schema::JsonSchemaExt;
|
|
4
3
|
|
|
@@ -11,7 +10,7 @@ use crate::buffer::Buffer;
|
|
|
11
10
|
|
|
12
11
|
use crate::identifier::IdentifierWrapper;
|
|
13
12
|
use crate::lodash::lodash_set;
|
|
14
|
-
use crate::utils::
|
|
13
|
+
use crate::utils::WithJsError;
|
|
15
14
|
use crate::utils::{with_serde_to_json_value, ToSerdeJSONExt};
|
|
16
15
|
use crate::with_js_error;
|
|
17
16
|
use crate::DataContractWasm;
|
|
@@ -27,7 +26,7 @@ pub mod state_transition;
|
|
|
27
26
|
mod validator;
|
|
28
27
|
|
|
29
28
|
pub use document_batch_transition::DocumentsBatchTransitionWasm;
|
|
30
|
-
|
|
29
|
+
|
|
31
30
|
use dpp::document::{Document, EXTENDED_DOCUMENT_IDENTIFIER_FIELDS, IDENTIFIER_FIELDS};
|
|
32
31
|
|
|
33
32
|
pub use extended_document::ExtendedDocumentWasm;
|
|
@@ -169,6 +168,9 @@ impl DocumentWasm {
|
|
|
169
168
|
Value::Bytes(bytes) => {
|
|
170
169
|
return Ok(Buffer::from_bytes(bytes.as_slice()).into());
|
|
171
170
|
}
|
|
171
|
+
Value::Bytes20(bytes) => {
|
|
172
|
+
return Ok(Buffer::from_bytes(bytes.as_slice()).into());
|
|
173
|
+
}
|
|
172
174
|
Value::Bytes32(bytes) => {
|
|
173
175
|
return Ok(Buffer::from_bytes(bytes.as_slice()).into());
|
|
174
176
|
}
|
package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs
CHANGED
|
@@ -4,19 +4,22 @@ use wasm_bindgen::prelude::*;
|
|
|
4
4
|
use crate::{
|
|
5
5
|
state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
|
|
6
6
|
utils::WithJsError,
|
|
7
|
-
DocumentsBatchTransitionWasm,
|
|
7
|
+
DocumentsBatchTransitionWasm, StateTransitionExecutionContextWasm,
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
#[wasm_bindgen(js_name=applyDocumentsBatchTransition)]
|
|
11
11
|
pub async fn apply_documents_batch_transition_wasm(
|
|
12
12
|
state_repository: ExternalStateRepositoryLike,
|
|
13
13
|
transition: &DocumentsBatchTransitionWasm,
|
|
14
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
14
15
|
) -> Result<(), JsValue> {
|
|
15
16
|
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
apply_documents_batch_transition(
|
|
19
|
+
&wrapped_state_repository,
|
|
20
|
+
&transition.0,
|
|
21
|
+
&execution_context.to_owned().into(),
|
|
22
|
+
)
|
|
23
|
+
.await
|
|
24
|
+
.with_js_error()
|
|
22
25
|
}
|
|
@@ -2,7 +2,7 @@ use std::convert;
|
|
|
2
2
|
use std::convert::TryInto;
|
|
3
3
|
|
|
4
4
|
use dpp::document::document_transition::document_base_transition::JsonValue;
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
use dpp::platform_value::btreemap_extensions::{
|
|
7
7
|
BTreeValueMapHelper, BTreeValueMapPathHelper, BTreeValueMapReplacementPathHelper,
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ use std::convert;
|
|
|
2
2
|
use std::convert::TryInto;
|
|
3
3
|
|
|
4
4
|
use dpp::document::document_transition::document_base_transition::JsonValue;
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
use dpp::platform_value::btreemap_extensions::{
|
|
7
7
|
BTreeValueMapHelper, BTreeValueMapPathHelper, BTreeValueMapReplacementPathHelper,
|
|
8
8
|
};
|
|
@@ -2,7 +2,6 @@ mod document_create_transition;
|
|
|
2
2
|
mod document_delete_transition;
|
|
3
3
|
mod document_replace_transition;
|
|
4
4
|
|
|
5
|
-
use anyhow::Context;
|
|
6
5
|
pub use document_create_transition::*;
|
|
7
6
|
pub use document_delete_transition::*;
|
|
8
7
|
pub use document_replace_transition::*;
|
|
@@ -26,7 +25,7 @@ use crate::{
|
|
|
26
25
|
buffer::Buffer,
|
|
27
26
|
identifier::{identifier_from_js_value, IdentifierWrapper},
|
|
28
27
|
lodash::lodash_set,
|
|
29
|
-
utils::{
|
|
28
|
+
utils::{Inner, ToSerdeJSONExt, WithJsError},
|
|
30
29
|
with_js_error, BinaryType, ConversionOptions, DataContractWasm,
|
|
31
30
|
};
|
|
32
31
|
|
|
@@ -28,7 +28,7 @@ use crate::{
|
|
|
28
28
|
identifier::IdentifierWrapper,
|
|
29
29
|
lodash::lodash_set,
|
|
30
30
|
utils::{Inner, IntoWasm, ToSerdeJSONExt, WithJsError},
|
|
31
|
-
IdentityPublicKeyWasm,
|
|
31
|
+
IdentityPublicKeyWasm,
|
|
32
32
|
};
|
|
33
33
|
pub mod apply_document_batch_transition;
|
|
34
34
|
pub mod document_transition;
|
|
@@ -79,9 +79,11 @@ impl DocumentsBatchTransitionWasm {
|
|
|
79
79
|
.map_err(ProtocolError::ValueError)
|
|
80
80
|
.with_js_error()?;
|
|
81
81
|
|
|
82
|
-
let documents_batch_transition =
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
let documents_batch_transition = DocumentsBatchTransition::from_raw_object_with_contracts(
|
|
83
|
+
batch_transition_value,
|
|
84
|
+
data_contracts,
|
|
85
|
+
)
|
|
86
|
+
.with_js_error()?;
|
|
85
87
|
|
|
86
88
|
Ok(documents_batch_transition.into())
|
|
87
89
|
}
|
|
@@ -327,8 +329,12 @@ impl DocumentsBatchTransitionWasm {
|
|
|
327
329
|
}
|
|
328
330
|
|
|
329
331
|
#[wasm_bindgen(js_name=getKeySecurityLevelRequirement)]
|
|
330
|
-
pub fn get_security_level_requirement(&self) ->
|
|
331
|
-
|
|
332
|
+
pub fn get_security_level_requirement(&self) -> js_sys::Array {
|
|
333
|
+
let array = js_sys::Array::new();
|
|
334
|
+
for security_level in self.0.get_security_level_requirement() {
|
|
335
|
+
array.push(&JsValue::from(security_level as u32));
|
|
336
|
+
}
|
|
337
|
+
array
|
|
332
338
|
}
|
|
333
339
|
|
|
334
340
|
// AbstractStateTransition methods
|
|
@@ -362,16 +368,6 @@ impl DocumentsBatchTransitionWasm {
|
|
|
362
368
|
self.0.is_identity_state_transition()
|
|
363
369
|
}
|
|
364
370
|
|
|
365
|
-
#[wasm_bindgen(js_name=setExecutionContext)]
|
|
366
|
-
pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
|
|
367
|
-
self.0.set_execution_context(context.into())
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
#[wasm_bindgen(js_name=getExecutionContext)]
|
|
371
|
-
pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
|
|
372
|
-
self.0.get_execution_context().clone().into()
|
|
373
|
-
}
|
|
374
|
-
|
|
375
371
|
#[wasm_bindgen(js_name=toBuffer)]
|
|
376
372
|
pub fn to_buffer(&self, options: &JsValue) -> Result<Buffer, JsValue> {
|
|
377
373
|
let skip_signature = if options.is_object() {
|
|
@@ -380,7 +376,7 @@ impl DocumentsBatchTransitionWasm {
|
|
|
380
376
|
} else {
|
|
381
377
|
false
|
|
382
378
|
};
|
|
383
|
-
let bytes = self.0.
|
|
379
|
+
let bytes = self.0.to_cbor_buffer(skip_signature).with_js_error()?;
|
|
384
380
|
|
|
385
381
|
Ok(Buffer::from_bytes(&bytes))
|
|
386
382
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
use dpp::consensus::basic::value_error::ValueError;
|
|
2
2
|
use dpp::document::validation::basic::validate_documents_batch_transition_basic;
|
|
3
3
|
use dpp::document::DocumentsBatchTransition;
|
|
4
|
-
use dpp::validation::
|
|
4
|
+
use dpp::validation::SimpleConsensusValidationResult;
|
|
5
5
|
use std::sync::Arc;
|
|
6
6
|
use wasm_bindgen::prelude::*;
|
|
7
7
|
|
|
@@ -18,12 +18,12 @@ pub async fn validate_documents_batch_transition_basic_wasm(
|
|
|
18
18
|
protocol_version_validator: ProtocolVersionValidatorWasm,
|
|
19
19
|
state_repository: ExternalStateRepositoryLike,
|
|
20
20
|
js_raw_state_transition: JsValue,
|
|
21
|
-
execution_context: StateTransitionExecutionContextWasm,
|
|
21
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
22
22
|
) -> Result<ValidationResultWasm, JsValue> {
|
|
23
23
|
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
|
|
24
24
|
let mut value = js_raw_state_transition.with_serde_to_platform_value()?;
|
|
25
25
|
|
|
26
|
-
let mut validation_result =
|
|
26
|
+
let mut validation_result = SimpleConsensusValidationResult::default();
|
|
27
27
|
if let Some(err) = DocumentsBatchTransition::clean_value(&mut value).err() {
|
|
28
28
|
validation_result.add_error(ValueError::new(err));
|
|
29
29
|
return Ok(validation_result.map(|_| JsValue::undefined()).into());
|
|
@@ -34,7 +34,7 @@ pub async fn validate_documents_batch_transition_basic_wasm(
|
|
|
34
34
|
&protocol_version_validator.into(),
|
|
35
35
|
&value,
|
|
36
36
|
Arc::new(wrapped_state_repository),
|
|
37
|
-
&execution_context.into(),
|
|
37
|
+
&execution_context.to_owned().into(),
|
|
38
38
|
)
|
|
39
39
|
.await
|
|
40
40
|
.with_js_error()?,
|
|
@@ -5,13 +5,14 @@ use crate::{
|
|
|
5
5
|
state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
|
|
6
6
|
utils::WithJsError,
|
|
7
7
|
validation::ValidationResultWasm,
|
|
8
|
-
DocumentsBatchTransitionWasm,
|
|
8
|
+
DocumentsBatchTransitionWasm, StateTransitionExecutionContextWasm,
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
#[wasm_bindgen(js_name = "validateDocumentsBatchTransitionState")]
|
|
12
12
|
pub async fn validate_documents_batch_transition_state_wasm(
|
|
13
13
|
state_repository: ExternalStateRepositoryLike,
|
|
14
14
|
state_transition: &DocumentsBatchTransitionWasm,
|
|
15
|
+
execution_context: &StateTransitionExecutionContextWasm,
|
|
15
16
|
) -> Result<ValidationResultWasm, JsValue> {
|
|
16
17
|
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
|
|
17
18
|
|
|
@@ -19,6 +20,7 @@ pub async fn validate_documents_batch_transition_state_wasm(
|
|
|
19
20
|
validate_documents_batch_transition_state::validate_document_batch_transition_state(
|
|
20
21
|
&wrapped_state_repository,
|
|
21
22
|
&state_transition.0,
|
|
23
|
+
&execution_context.to_owned().into(),
|
|
22
24
|
)
|
|
23
25
|
.await
|
|
24
26
|
.with_js_error()?;
|
package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs
CHANGED
|
@@ -41,7 +41,7 @@ impl DataContractHaveNewUniqueIndexErrorWasm {
|
|
|
41
41
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
42
42
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
43
43
|
.serialize()
|
|
44
|
-
.map_err(
|
|
44
|
+
.map_err(JsError::from)?;
|
|
45
45
|
|
|
46
46
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
47
47
|
}
|
package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs
CHANGED
|
@@ -21,12 +21,12 @@ impl From<&DataContractImmutablePropertiesUpdateError>
|
|
|
21
21
|
impl DataContractImmutablePropertiesUpdateErrorWasm {
|
|
22
22
|
#[wasm_bindgen(js_name=getOperation)]
|
|
23
23
|
pub fn get_operation(&self) -> String {
|
|
24
|
-
self.inner.operation()
|
|
24
|
+
self.inner.operation()
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
#[wasm_bindgen(js_name=getFieldPath)]
|
|
28
28
|
pub fn get_field_path(&self) -> String {
|
|
29
|
-
self.inner.field_path()
|
|
29
|
+
self.inner.field_path()
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
#[wasm_bindgen(js_name=getCode)]
|
|
@@ -43,7 +43,7 @@ impl DataContractImmutablePropertiesUpdateErrorWasm {
|
|
|
43
43
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
44
44
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
45
45
|
.serialize()
|
|
46
|
-
.map_err(
|
|
46
|
+
.map_err(JsError::from)?;
|
|
47
47
|
|
|
48
48
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
49
49
|
}
|
|
@@ -43,7 +43,7 @@ impl DataContractInvalidIndexDefinitionUpdateErrorWasm {
|
|
|
43
43
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
44
44
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
45
45
|
.serialize()
|
|
46
|
-
.map_err(
|
|
46
|
+
.map_err(JsError::from)?;
|
|
47
47
|
|
|
48
48
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
49
49
|
}
|
|
@@ -41,7 +41,7 @@ impl DataContractMaxDepthExceedErrorWasm {
|
|
|
41
41
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
42
42
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
43
43
|
.serialize()
|
|
44
|
-
.map_err(
|
|
44
|
+
.map_err(JsError::from)?;
|
|
45
45
|
|
|
46
46
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
47
47
|
}
|
package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs
CHANGED
|
@@ -41,7 +41,7 @@ impl DataContractUniqueIndicesChangedErrorWasm {
|
|
|
41
41
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
42
42
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
43
43
|
.serialize()
|
|
44
|
-
.map_err(
|
|
44
|
+
.map_err(JsError::from)?;
|
|
45
45
|
|
|
46
46
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
47
47
|
}
|
|
@@ -19,12 +19,12 @@ impl From<&DuplicateIndexNameError> for DuplicateIndexNameErrorWasm {
|
|
|
19
19
|
impl DuplicateIndexNameErrorWasm {
|
|
20
20
|
#[wasm_bindgen(js_name=getDocumentType)]
|
|
21
21
|
pub fn get_document_type(&self) -> String {
|
|
22
|
-
self.inner.document_type()
|
|
22
|
+
self.inner.document_type()
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
#[wasm_bindgen(js_name=getDuplicateIndexName)]
|
|
26
26
|
pub fn get_duplicate_index_name(&self) -> String {
|
|
27
|
-
self.inner.duplicate_index_name()
|
|
27
|
+
self.inner.duplicate_index_name()
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
#[wasm_bindgen(js_name=getCode)]
|
|
@@ -41,7 +41,7 @@ impl DuplicateIndexNameErrorWasm {
|
|
|
41
41
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
42
42
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
43
43
|
.serialize()
|
|
44
|
-
.map_err(
|
|
44
|
+
.map_err(JsError::from)?;
|
|
45
45
|
|
|
46
46
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
47
47
|
}
|
|
@@ -24,12 +24,12 @@ impl IncompatibleDataContractSchemaErrorWasm {
|
|
|
24
24
|
|
|
25
25
|
#[wasm_bindgen(js_name=getOperation)]
|
|
26
26
|
pub fn get_operation(&self) -> String {
|
|
27
|
-
self.inner.operation()
|
|
27
|
+
self.inner.operation()
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
#[wasm_bindgen(js_name=getFieldPath)]
|
|
31
31
|
pub fn get_field_path(&self) -> String {
|
|
32
|
-
self.inner.field_path()
|
|
32
|
+
self.inner.field_path()
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
#[wasm_bindgen(js_name=getCode)]
|
|
@@ -46,7 +46,7 @@ impl IncompatibleDataContractSchemaErrorWasm {
|
|
|
46
46
|
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
47
47
|
let bytes = ConsensusError::from(self.inner.clone())
|
|
48
48
|
.serialize()
|
|
49
|
-
.map_err(
|
|
49
|
+
.map_err(JsError::from)?;
|
|
50
50
|
|
|
51
51
|
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
52
52
|
}
|