Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ use super::DataContractCreateTransitionParameters;
pub async fn validate_data_contract_create_transition_state(
state_repository: ExternalStateRepositoryLike,
state_transition: DataContractCreateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
let validation_result = dpp_validate_data_contract_create_transition_state(
&wrapped_state_repository,
&state_transition.into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.with_js_error()?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,13 @@ impl ApplyDataContractUpdateTransitionWasm {
pub async fn apply_data_contract_update_transition(
&self,
transition: DataContractUpdateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<(), JsError> {
self.0
.apply_data_contract_update_transition(&transition.into(), &execution_context.into())
.apply_data_contract_update_transition(
&transition.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(|e| e.deref().into())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ use crate::{
#[wasm_bindgen(js_name=validateDataContractUpdateTransitionState)]
pub async fn validate_data_contract_update_transition_state(
state_repository: ExternalStateRepositoryLike,
state_transition: DataContractUpdateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
state_transition: &DataContractUpdateTransitionWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
let result = dpp_validate_data_contract_update_transition_state(
&wrapped_state_repository,
&state_transition.into(),
&execution_context.into(),
&state_transition.to_owned().into(),
&execution_context.to_owned().into(),
)
.await
.with_js_error()?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ use crate::{
pub async fn apply_documents_batch_transition_wasm(
state_repository: ExternalStateRepositoryLike,
transition: &DocumentsBatchTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<(), JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);

let result = apply_documents_batch_transition(
&wrapped_state_repository,
&transition.0,
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.with_js_error();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,12 +310,12 @@ impl DocumentsBatchTransitionWasm {
}

#[wasm_bindgen(js_name=getKeySecurityLevelRequirement)]
pub fn get_security_level_requirement(&self) -> Vec<u8> {
self.0
.get_security_level_requirement()
.iter()
.map(|security_level| *security_level as u8)
.collect()
pub fn get_security_level_requirement(&self) -> js_sys::Array {
let mut array = js_sys::Array::new();
for security_level in self.0.get_security_level_requirement() {
array.push(&JsValue::from(security_level as u32));
}
array
}

// AbstractStateTransition methods
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pub async fn validate_documents_batch_transition_basic_wasm(
protocol_version_validator: ProtocolVersionValidatorWasm,
state_repository: ExternalStateRepositoryLike,
js_raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
let mut value = js_raw_state_transition.with_serde_to_platform_value()?;
Expand All @@ -33,7 +33,7 @@ pub async fn validate_documents_batch_transition_basic_wasm(
&protocol_version_validator.into(),
&value,
Arc::new(wrapped_state_repository),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.with_js_error()?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ use crate::{
pub async fn validate_documents_batch_transition_state_wasm(
state_repository: ExternalStateRepositoryLike,
state_transition: &DocumentsBatchTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);

let validation_result =
validate_documents_batch_transition_state::validate_document_batch_transition_state(
&wrapped_state_repository,
&state_transition.0,
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.with_js_error()?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub enum KeyTypeWasm {
BLS12_381 = 1,
ECDSA_HASH160 = 2,
BIP13_SCRIPT_HASH = 3,
EDDSA_25519_HASH160 = 4,
}

impl From<KeyType> for KeyTypeWasm {
Expand All @@ -17,6 +18,7 @@ impl From<KeyType> for KeyTypeWasm {
KeyType::BLS12_381 => Self::BLS12_381,
KeyType::ECDSA_HASH160 => Self::ECDSA_HASH160,
KeyType::BIP13_SCRIPT_HASH => Self::BIP13_SCRIPT_HASH,
KeyType::EDDSA_25519_HASH160 => Self::EDDSA_25519_HASH160,
}
}
}
4 changes: 4 additions & 0 deletions packages/wasm-dpp/src/identity/identity_public_key/purpose.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ pub enum PurposeWasm {
ENCRYPTION = 1,
/// this key cannot be used for signing documents
DECRYPTION = 2,
/// this key cannot be used for signing documents
WITHDRAW = 3,
/// this key cannot be used for signing documents
SYSTEM = 4,
}

impl From<Purpose> for PurposeWasm {
Expand All @@ -19,6 +22,7 @@ impl From<Purpose> for PurposeWasm {
Purpose::ENCRYPTION => PurposeWasm::ENCRYPTION,
Purpose::DECRYPTION => PurposeWasm::DECRYPTION,
Purpose::WITHDRAW => PurposeWasm::WITHDRAW,
Purpose::SYSTEM => PurposeWasm::SYSTEM,
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use crate::{
pub async fn apply_identity_create_transition_wasm(
state_repository: ExternalStateRepositoryLike,
state_transition: &IdentityCreateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<(), JsValue> {
let wrapped_state_repository =
Arc::new(ExternalStateRepositoryLikeWrapper::new(state_repository));
Expand All @@ -21,7 +21,7 @@ pub async fn apply_identity_create_transition_wasm(
instance
.apply_identity_create_transition(
&state_transition.to_owned().into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(|e| JsValue::from_str(&e.to_string()))?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ impl IdentityCreateTransitionStateValidator {
pub async fn validate(
&self,
state_transition: &IdentityCreateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let validation_result = validate_identity_create_transition_state(
&self.state_repository,
&state_transition.to_owned().into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(from_dpp_err)?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use crate::{
pub async fn apply_identity_topup_transition_wasm(
state_repository: ExternalStateRepositoryLike,
state_transition: &IdentityTopUpTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<(), JsValue> {
let wrapped_state_repository =
Arc::new(ExternalStateRepositoryLikeWrapper::new(state_repository));
Expand All @@ -26,7 +26,7 @@ pub async fn apply_identity_topup_transition_wasm(
instance
.apply(
&state_transition.to_owned().into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(|e| JsValue::from_str(&e.to_string()))?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ impl IdentityTopUpTransitionStateValidator {
pub async fn validate(
&self,
state_transition: &IdentityTopUpTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let validation_result = validate_identity_topup_transition_state(
&self.state_repository,
&state_transition.to_owned().into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(|e| from_dpp_err(e.into()))?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ use crate::{
pub async fn apply_identity_update_transition_wasm(
state_repository: ExternalStateRepositoryLike,
state_transition: &IdentityUpdateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<(), JsValue> {
let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);

apply_identity_update_transition(
&wrapped_state_repository,
state_transition.to_owned().into(),
&execution_context.into(),
&execution_context.to_owned().into(),
)
.await
.map_err(|e| JsValue::from_str(&e.to_string()))?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ impl IdentityUpdateTransitionStateValidatorWasm {
pub async fn validate(
&self,
state_transition: &IdentityUpdateTransitionWasm,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition: IdentityUpdateTransition = state_transition.to_owned().into();

let validation_result = self
.0
.validate(&state_transition, &execution_context.into())
.validate(&state_transition, &execution_context.to_owned().into())
.await
.map_err(|e| from_dpp_err(e.into()))?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,12 @@ use crate::{
#[wasm_bindgen(js_name=calculateStateTransitionFee)]
pub fn calculate_state_transition_fee_wasm(
state_transition_js: &JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<FeeResultWasm, JsValue> {
let state_transition = create_state_transition_from_wasm_instance(state_transition_js)?;

Ok(calculate_state_transition_fee(&state_transition, &execution_context.into()).into())
Ok(
calculate_state_transition_fee(&state_transition, &execution_context.to_owned().into())
.into(),
)
}
21 changes: 11 additions & 10 deletions packages/wasm-dpp/src/state_transition/state_transition_facade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ impl StateTransitionFacadeWasm {
pub async fn validate(
&self,
raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
options: JsValue,
) -> Result<ValidationResultWasm, JsValue> {
let options: ValidateOptionsWasm = if options.is_object() {
Expand All @@ -108,7 +108,8 @@ impl StateTransitionFacadeWasm {
super::super::conversion::create_state_transition_from_wasm_instance(
&raw_state_transition,
) {
let execution_context: StateTransitionExecutionContext = execution_context.into();
let execution_context: StateTransitionExecutionContext =
execution_context.to_owned().into();
(state_transition, execution_context)
} else {
let state_transition_json = raw_state_transition.with_serde_to_platform_value()?;
Expand All @@ -134,7 +135,7 @@ impl StateTransitionFacadeWasm {
pub async fn validate_basic(
&self,
raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition_json;

Expand All @@ -150,7 +151,7 @@ impl StateTransitionFacadeWasm {

let validation_result = self
.0
.validate_basic(&state_transition_json, &execution_context.into())
.validate_basic(&state_transition_json, &execution_context.to_owned().into())
.await
.with_js_error()?;

Expand All @@ -161,7 +162,7 @@ impl StateTransitionFacadeWasm {
pub async fn validate_signature(
&self,
raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition =
super::super::conversion::create_state_transition_from_wasm_instance(
Expand All @@ -170,7 +171,7 @@ impl StateTransitionFacadeWasm {

let validation_result = self
.0
.validate_signature(state_transition, &execution_context.into())
.validate_signature(state_transition, &execution_context.to_owned().into())
.await
.with_js_error()?;

Expand All @@ -181,7 +182,7 @@ impl StateTransitionFacadeWasm {
pub async fn validate_fee(
&self,
raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition =
super::super::conversion::create_state_transition_from_wasm_instance(
Expand All @@ -190,7 +191,7 @@ impl StateTransitionFacadeWasm {

let validation_result = self
.0
.validate_fee(&state_transition, &execution_context.into())
.validate_fee(&state_transition, &execution_context.to_owned().into())
.await
.with_js_error()?;

Expand All @@ -201,7 +202,7 @@ impl StateTransitionFacadeWasm {
pub async fn validate_state(
&self,
raw_state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition =
super::super::conversion::create_state_transition_from_wasm_instance(
Expand All @@ -210,7 +211,7 @@ impl StateTransitionFacadeWasm {

let validation_result = self
.0
.validate_state(&state_transition, &execution_context.into())
.validate_state(&state_transition, &execution_context.to_owned().into())
.await
.with_js_error()?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ impl StateTransitionKeySignatureValidatorWasm {
pub async fn validate(
&self,
state_transition: JsValue,
execution_context: StateTransitionExecutionContextWasm,
execution_context: &StateTransitionExecutionContextWasm,
) -> Result<ValidationResultWasm, JsValue> {
let state_transition =
super::super::conversion::create_state_transition_from_wasm_instance(
Expand All @@ -56,7 +56,7 @@ impl StateTransitionKeySignatureValidatorWasm {

let validation_result = self
.0
.validate(&state_transition, &execution_context.into())
.validate(&state_transition, &execution_context.to_owned().into())
.await
.with_js_error()?;
Ok(validation_result.map(|_| JsValue::undefined()).into())
Expand Down
Loading