@dashevo/wasm-dpp 2.0.0-dev.1 → 2.0.0-rc.10
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 +9 -6
- package/README.md +1 -1
- package/dist/wasm/wasm_dpp.d.ts +1276 -952
- package/dist/wasm/wasm_dpp.js +285 -114
- package/dist/wasm/wasm_dpp_bg.js +1 -1
- package/lib/wasm/wasm_dpp.d.ts +1276 -952
- package/package.json +2 -2
- package/src/data_contract/data_contract.rs +1 -3
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +1 -1
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +2 -2
- package/src/data_contract/tokens.rs +3 -3
- package/src/data_contract_factory/mod.rs +1 -1
- package/src/document/extended_document.rs +1 -1
- package/src/document/factory.rs +12 -3
- package/src/document/mod.rs +4 -4
- package/src/document/state_transition/batch_transition/document_transition/mod.rs +2 -4
- package/src/document/state_transition/batch_transition/mod.rs +1 -2
- package/src/document/state_transition/batch_transition/token_transition/direct_purchase.rs +12 -0
- package/src/document/state_transition/batch_transition/token_transition/mod.rs +18 -11
- package/src/document/state_transition/batch_transition/token_transition/set_price_for_direct_purchase.rs +14 -0
- package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +6 -0
- package/src/errors/consensus/consensus_error.rs +87 -4
- package/src/errors/consensus/fee/balance_is_not_enough_error.rs +1 -1
- package/src/errors/consensus/state/identity/invalid_identity_contract_nonce_error.rs +1 -1
- package/src/errors/value_error.rs +1 -0
- package/src/identity/identity.rs +1 -1
- package/src/identity/mod.rs +1 -0
- package/src/identity/state_transition/identity_create_transition/mod.rs +2 -2
- package/src/identity/state_transition/identity_create_transition/{identity_create_transition.rs → transition.rs} +1 -1
- package/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs +1 -1
- package/src/identity/state_transition/identity_public_key_transitions.rs +2 -2
- package/src/identity/state_transition/identity_topup_transition/mod.rs +2 -2
- package/src/identity/state_transition/identity_topup_transition/{identity_topup_transition.rs → transition.rs} +1 -1
- package/src/identity/state_transition/identity_update_transition/mod.rs +2 -2
- package/src/state_transition/errors/mod.rs +1 -0
- package/src/state_transition/errors/state_transition_is_not_active_error.rs +79 -0
- package/src/state_transition/state_transition_factory.rs +11 -0
- package/src/utils.rs +4 -2
- package/src/voting/state_transition/masternode_vote_transition/mod.rs +2 -2
- package/src/voting/state_transition/masternode_vote_transition/to_object.rs +1 -0
- /package/src/data_contract_factory/{data_contract_factory.rs → factory.rs} +0 -0
- /package/src/identity/state_transition/identity_update_transition/{identity_update_transition.rs → transition.rs} +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
use dpp::version::ProtocolVersion;
|
|
2
|
+
use std::ops::RangeInclusive;
|
|
3
|
+
use wasm_bindgen::prelude::*;
|
|
4
|
+
|
|
5
|
+
#[wasm_bindgen(js_name = StateTransitionIsNotActiveError)]
|
|
6
|
+
pub struct StateTransitionIsNotActiveErrorWasm {
|
|
7
|
+
state_transition_type: String,
|
|
8
|
+
active_version_range_start: ProtocolVersion,
|
|
9
|
+
active_version_range_end: ProtocolVersion,
|
|
10
|
+
current_protocol_version: ProtocolVersion,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
impl StateTransitionIsNotActiveErrorWasm {
|
|
14
|
+
pub fn new(
|
|
15
|
+
state_transition_type: String,
|
|
16
|
+
active_version_range: RangeInclusive<ProtocolVersion>,
|
|
17
|
+
current_protocol_version: ProtocolVersion,
|
|
18
|
+
) -> Self {
|
|
19
|
+
Self {
|
|
20
|
+
state_transition_type,
|
|
21
|
+
active_version_range_start: *active_version_range.start(),
|
|
22
|
+
active_version_range_end: *active_version_range.end(),
|
|
23
|
+
current_protocol_version,
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#[wasm_bindgen(js_class = StateTransitionIsNotActiveError)]
|
|
29
|
+
impl StateTransitionIsNotActiveErrorWasm {
|
|
30
|
+
#[wasm_bindgen(js_name = getStateTransitionType)]
|
|
31
|
+
pub fn get_state_transition_type(&self) -> String {
|
|
32
|
+
self.state_transition_type.clone()
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
#[wasm_bindgen(js_name = getActiveVersionRangeStart)]
|
|
36
|
+
pub fn get_active_version_range_start(&self) -> u32 {
|
|
37
|
+
self.active_version_range_start
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#[wasm_bindgen(js_name = getActiveVersionRangeEnd)]
|
|
41
|
+
pub fn get_active_version_range_end(&self) -> u32 {
|
|
42
|
+
self.active_version_range_end
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#[wasm_bindgen(js_name = getCurrentProtocolVersion)]
|
|
46
|
+
pub fn get_current_protocol_version(&self) -> u32 {
|
|
47
|
+
self.current_protocol_version
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
#[wasm_bindgen(js_name = toObject)]
|
|
51
|
+
pub fn to_object(&self) -> JsValue {
|
|
52
|
+
let object = js_sys::Object::new();
|
|
53
|
+
js_sys::Reflect::set(
|
|
54
|
+
&object,
|
|
55
|
+
&"stateTransitionType".into(),
|
|
56
|
+
&self.state_transition_type.clone().into(),
|
|
57
|
+
)
|
|
58
|
+
.unwrap();
|
|
59
|
+
js_sys::Reflect::set(
|
|
60
|
+
&object,
|
|
61
|
+
&"activeVersionRangeStart".into(),
|
|
62
|
+
&JsValue::from(self.active_version_range_start),
|
|
63
|
+
)
|
|
64
|
+
.unwrap();
|
|
65
|
+
js_sys::Reflect::set(
|
|
66
|
+
&object,
|
|
67
|
+
&"activeVersionRangeEnd".into(),
|
|
68
|
+
&JsValue::from(self.active_version_range_end),
|
|
69
|
+
)
|
|
70
|
+
.unwrap();
|
|
71
|
+
js_sys::Reflect::set(
|
|
72
|
+
&object,
|
|
73
|
+
&"currentProtocolVersion".into(),
|
|
74
|
+
&JsValue::from(self.current_protocol_version),
|
|
75
|
+
)
|
|
76
|
+
.unwrap();
|
|
77
|
+
object.into()
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -7,6 +7,7 @@ use crate::identity::state_transition::{
|
|
|
7
7
|
IdentityUpdateTransitionWasm,
|
|
8
8
|
};
|
|
9
9
|
use crate::state_transition::errors::invalid_state_transition_error::InvalidStateTransitionErrorWasm;
|
|
10
|
+
use crate::state_transition::errors::state_transition_is_not_active_error::StateTransitionIsNotActiveErrorWasm;
|
|
10
11
|
use crate::voting::state_transition::masternode_vote_transition::MasternodeVoteTransitionWasm;
|
|
11
12
|
use dpp::state_transition::errors::StateTransitionError;
|
|
12
13
|
use dpp::state_transition::state_transition_factory::StateTransitionFactory;
|
|
@@ -70,6 +71,16 @@ impl StateTransitionFactoryWasm {
|
|
|
70
71
|
serde_wasm_bindgen::to_value(&raw_state_transition)?,
|
|
71
72
|
)
|
|
72
73
|
.into()),
|
|
74
|
+
StateTransitionError::StateTransitionIsNotActiveError {
|
|
75
|
+
state_transition_type,
|
|
76
|
+
active_version_range,
|
|
77
|
+
current_protocol_version,
|
|
78
|
+
} => Err(StateTransitionIsNotActiveErrorWasm::new(
|
|
79
|
+
state_transition_type,
|
|
80
|
+
active_version_range,
|
|
81
|
+
current_protocol_version,
|
|
82
|
+
)
|
|
83
|
+
.into()),
|
|
73
84
|
},
|
|
74
85
|
Err(other) => Err(from_dpp_err(other)),
|
|
75
86
|
}
|
package/src/utils.rs
CHANGED
|
@@ -22,9 +22,9 @@ pub trait ToSerdeJSONExt {
|
|
|
22
22
|
/// Converts the `JsValue` into `platform::Value`. It's an expensive conversion,
|
|
23
23
|
/// as `JsValue` must be stringified first
|
|
24
24
|
fn with_serde_to_platform_value_map(&self) -> Result<BTreeMap<String, Value>, JsValue>;
|
|
25
|
-
fn with_serde_into<D
|
|
25
|
+
fn with_serde_into<D>(&self) -> Result<D, JsValue>
|
|
26
26
|
where
|
|
27
|
-
D: for<'de> serde::de::Deserialize<'de> + 'static;
|
|
27
|
+
D: DeserializeOwned + for<'de> serde::de::Deserialize<'de> + 'static;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
impl ToSerdeJSONExt for JsValue {
|
|
@@ -284,8 +284,10 @@ pub fn convert_number_to_u64(js_number: js_sys::Number) -> Result<u64, anyhow::E
|
|
|
284
284
|
pub(crate) trait Inner {
|
|
285
285
|
type InnerItem;
|
|
286
286
|
|
|
287
|
+
#[allow(dead_code)]
|
|
287
288
|
fn into_inner(self) -> Self::InnerItem;
|
|
288
289
|
fn inner(&self) -> &Self::InnerItem;
|
|
290
|
+
#[allow(dead_code)]
|
|
289
291
|
fn inner_mut(&mut self) -> &mut Self::InnerItem;
|
|
290
292
|
}
|
|
291
293
|
|
|
@@ -222,7 +222,7 @@ impl MasternodeVoteTransitionWasm {
|
|
|
222
222
|
|
|
223
223
|
#[wasm_bindgen(js_name=getUserFeeIncrease)]
|
|
224
224
|
pub fn get_user_fee_increase(&self) -> u16 {
|
|
225
|
-
self.0.user_fee_increase()
|
|
225
|
+
self.0.user_fee_increase()
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
#[wasm_bindgen(js_name=setUserFeeIncrease)]
|
|
@@ -253,7 +253,7 @@ impl MasternodeVoteTransitionWasm {
|
|
|
253
253
|
contested_document_resource_vote_poll,
|
|
254
254
|
) => {
|
|
255
255
|
let contract_id = IdentifierWrapper::from(
|
|
256
|
-
contested_document_resource_vote_poll.contract_id
|
|
256
|
+
contested_document_resource_vote_poll.contract_id,
|
|
257
257
|
);
|
|
258
258
|
|
|
259
259
|
Reflect::set(&js_object, &"contractId".into(), &contract_id.into())
|
|
File without changes
|
|
File without changes
|