@dashevo/wasm-dpp 0.25.6 → 0.25.9

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.
Files changed (95) hide show
  1. package/Cargo.toml +3 -2
  2. package/README.md +1 -1
  3. package/dist/wasm/wasm_dpp.d.ts +808 -712
  4. package/dist/wasm/wasm_dpp.js +853 -452
  5. package/dist/wasm/wasm_dpp_bg.js +1 -1
  6. package/lib/bls/bls.js +48 -0
  7. package/lib/test/fixtures/getChainAssetLockProofFixture.js +20 -1
  8. package/lib/test/fixtures/getDataContractFixture.js +4 -6
  9. package/lib/test/fixtures/getDocumentTransitionsFixture.js +31 -1
  10. package/lib/test/fixtures/getInstantAssetLockProofFixture.js +32 -12
  11. package/lib/test/mocks/getBlsAdapterMock.js +1 -1
  12. package/lib/utils/creditsConverter.js +14 -0
  13. package/lib/utils/hash.js +18 -0
  14. package/lib/wasm/wasm_dpp.d.ts +808 -712
  15. package/package.json +3 -5
  16. package/src/dash_platform_protocol.rs +5 -5
  17. package/src/document/errors/invalid_document_error.rs +5 -0
  18. package/src/document/extended_document.rs +15 -0
  19. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +219 -214
  20. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +1 -1
  21. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +4 -2
  22. package/src/errors/consensus/basic/json_schema_error.rs +35 -5
  23. package/src/identity/identity_facade.rs +7 -5
  24. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +32 -17
  25. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +22 -13
  26. package/src/identity/state_transition/asset_lock_proof/mod.rs +12 -11
  27. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +1 -0
  28. package/src/identity/state_transition/identity_create_transition/to_object.rs +1 -0
  29. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +1 -0
  30. package/src/identity/state_transition/identity_topup_transition/to_object.rs +1 -0
  31. package/src/lib.rs +1 -1
  32. package/src/validation/mod.rs +2 -2
  33. package/src/validation/validation_result.rs +16 -15
  34. package/test/integration/document/DocumentFacade.spec.js +11 -27
  35. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +9 -19
  36. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +2 -2
  37. package/test/integration/document/validation/validateDocumentFactory.spec.js +2 -2
  38. package/test/integration/identity/IdentityFacade.spec.js +1 -2
  39. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +2 -2
  40. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +2 -2
  41. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +6 -8
  42. package/test/unit/document/Document.spec.js +30 -52
  43. package/test/unit/document/DocumentFactory.spec.js +2 -2
  44. package/test/unit/document/errors/InvalidDocumentError.spec.js +9 -9
  45. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +158 -155
  46. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +132 -134
  47. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +3 -3
  48. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +568 -591
  49. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +5 -13
  50. package/test/unit/identity/Identity.spec.js +2 -2
  51. package/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +9 -28
  52. package/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +19 -27
  53. package/lib/test/fixtures/getDashPayContractFixture.js +0 -1
  54. package/lib/test/fixtures/getDashPayDocumentFixture.js +0 -1
  55. package/lib/test/fixtures/getDpnsContractFixture.js +0 -1
  56. package/lib/test/fixtures/getDpnsDocumentFixture.js +0 -1
  57. package/lib/test/fixtures/getFeatureFlagsContractFixture.js +0 -1
  58. package/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js +0 -1
  59. package/lib/test/fixtures/getIdentityTopUpTransitionFixtureJs.js +0 -1
  60. package/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js +0 -1
  61. package/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js +0 -1
  62. package/lib/test/fixtures/getPreorderDocumentFixture.js +0 -1
  63. package/lib/test/fixtures/getRawTransactionFixture.js +0 -1
  64. package/lib/test/fixtures/js/generateRandomIdentifier.js +0 -1
  65. package/lib/test/fixtures/js/getChainAssetLockProofFixture.js +0 -1
  66. package/lib/test/fixtures/js/getDataContractFixture.js +0 -1
  67. package/lib/test/fixtures/js/getDocumentTransitionsFixture.js +0 -1
  68. package/lib/test/fixtures/js/getDocumentsFixture.js +0 -1
  69. package/lib/test/fixtures/js/getInstantAssetLockProofFixture.js +0 -1
  70. package/test/integration/DashPlatformProtocol.spec.js +0 -53
  71. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +0 -195
  72. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +0 -500
  73. package/test/integration/stateTransition/calculateStateTransitionFeeFromOperationsFactory.spec.js +0 -53
  74. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +0 -103
  75. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +0 -84
  76. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +0 -45
  77. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +0 -49
  78. package/test/unit/dataTrigger/DataTrigger.spec.js +0 -132
  79. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +0 -29
  80. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +0 -107
  81. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +0 -382
  82. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +0 -99
  83. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +0 -113
  84. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +0 -51
  85. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +0 -202
  86. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +0 -256
  87. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +0 -94
  88. package/test/unit/errors/consensus/codes.spec.js +0 -102
  89. package/test/unit/identity/creditsConverter.spec.js +0 -34
  90. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +0 -83
  91. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +0 -138
  92. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +0 -100
  93. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +0 -36
  94. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +0 -63
  95. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +0 -47
@@ -1,3 +1,6 @@
1
+ use dpp::dashcore::consensus::Encodable;
2
+ use dpp::dashcore::OutPoint;
3
+ use dpp::identity::state_transition::asset_lock_proof::AssetLockProofType;
1
4
  use serde::{Deserialize, Serialize};
2
5
  use std::convert::TryInto;
3
6
  use wasm_bindgen::prelude::*;
@@ -10,8 +13,8 @@ use crate::{
10
13
  with_js_error,
11
14
  };
12
15
  use dpp::identity::state_transition::asset_lock_proof::chain::ChainAssetLockProof;
16
+ use dpp::platform_value::string_encoding;
13
17
  use dpp::platform_value::string_encoding::Encoding;
14
- use dpp::platform_value::{string_encoding, Bytes36};
15
18
 
16
19
  #[wasm_bindgen(js_name=ChainAssetLockProof)]
17
20
  #[derive(Clone)]
@@ -20,8 +23,6 @@ pub struct ChainAssetLockProofWasm(ChainAssetLockProof);
20
23
  #[derive(Debug, Serialize, Deserialize)]
21
24
  #[serde(rename_all = "camelCase")]
22
25
  struct ChainAssetLockProofParams {
23
- #[serde(rename = "type")]
24
- lock_type: u8,
25
26
  core_chain_locked_height: u32,
26
27
  out_point: Vec<u8>,
27
28
  }
@@ -41,14 +42,14 @@ impl From<ChainAssetLockProofWasm> for ChainAssetLockProof {
41
42
  #[wasm_bindgen(js_class = ChainAssetLockProof)]
42
43
  impl ChainAssetLockProofWasm {
43
44
  #[wasm_bindgen(constructor)]
44
- pub fn new(raw_parameters: JsValue) -> Result<ChainAssetLockProofWasm, JsValue> {
45
- let parameters: ChainAssetLockProofParams =
46
- with_js_error!(serde_wasm_bindgen::from_value(raw_parameters))?;
45
+ pub fn new(raw_parameters: JsValue) -> Result<ChainAssetLockProofWasm, JsError> {
46
+ let parameters: ChainAssetLockProofParams = serde_wasm_bindgen::from_value(raw_parameters)
47
+ .map_err(|_| JsError::new("invalid raw chain lock proof"))?;
47
48
 
48
- let out_point: [u8; 36] = parameters.out_point.try_into().map_err(|_| {
49
- RustConversionError::Error(String::from("outPoint must be a 36 byte array"))
50
- .to_js_value()
51
- })?;
49
+ let out_point: [u8; 36] = parameters
50
+ .out_point
51
+ .try_into()
52
+ .map_err(|_| JsError::new("outPoint must be a 36 byte array"))?;
52
53
 
53
54
  let chain_asset_lock_proof =
54
55
  ChainAssetLockProof::new(parameters.core_chain_locked_height, out_point);
@@ -58,7 +59,7 @@ impl ChainAssetLockProofWasm {
58
59
 
59
60
  #[wasm_bindgen(js_name=getType)]
60
61
  pub fn get_type(&self) -> u8 {
61
- ChainAssetLockProof::asset_lock_type()
62
+ AssetLockProofType::Chain as u8
62
63
  }
63
64
 
64
65
  #[wasm_bindgen(js_name=getCoreChainLockedHeight)]
@@ -72,8 +73,15 @@ impl ChainAssetLockProofWasm {
72
73
  }
73
74
 
74
75
  #[wasm_bindgen(js_name=getOutPoint)]
75
- pub fn get_out_point(&self) -> Buffer {
76
- Buffer::from_bytes_owned(self.0.out_point.to_vec())
76
+ pub fn get_out_point(&self) -> Result<Buffer, JsValue> {
77
+ let mut outpoint_bytes = Vec::new();
78
+
79
+ self.0
80
+ .out_point
81
+ .consensus_encode(&mut outpoint_bytes)
82
+ .map_err(|e| e.to_string())?;
83
+
84
+ Ok(Buffer::from_bytes_owned(outpoint_bytes))
77
85
  }
78
86
 
79
87
  #[wasm_bindgen(js_name=setOutPoint)]
@@ -82,7 +90,8 @@ impl ChainAssetLockProofWasm {
82
90
  RustConversionError::Error(String::from("outPoint must be a 36 byte array"))
83
91
  .to_js_value()
84
92
  })?;
85
- self.0.out_point = Bytes36::new(out_point);
93
+
94
+ self.0.out_point = OutPoint::from(out_point);
86
95
 
87
96
  Ok(())
88
97
  }
@@ -91,8 +100,14 @@ impl ChainAssetLockProofWasm {
91
100
  pub fn to_json(&self) -> Result<JsValue, JsValue> {
92
101
  let js_object = self.to_object()?;
93
102
 
94
- let out_point_base64 =
95
- string_encoding::encode(self.0.out_point.as_slice(), Encoding::Base64);
103
+ let mut outpoint_bytes = Vec::new();
104
+
105
+ self.0
106
+ .out_point
107
+ .consensus_encode(&mut outpoint_bytes)
108
+ .map_err(|e| e.to_string())?;
109
+
110
+ let out_point_base64 = string_encoding::encode(&outpoint_bytes, Encoding::Base64);
96
111
 
97
112
  js_sys::Reflect::set(
98
113
  &js_object,
@@ -110,7 +125,7 @@ impl ChainAssetLockProofWasm {
110
125
  let serializer = serde_wasm_bindgen::Serializer::json_compatible();
111
126
  let js_object = with_js_error!(asset_lock_value.serialize(&serializer))?;
112
127
 
113
- let out_point = self.get_out_point();
128
+ let out_point = self.get_out_point()?;
114
129
 
115
130
  js_sys::Reflect::set(
116
131
  &js_object,
@@ -3,6 +3,8 @@ use dpp::dashcore::{
3
3
  consensus::encode::serialize,
4
4
  };
5
5
 
6
+ use dpp::dashcore::consensus::Encodable;
7
+ use dpp::identity::state_transition::asset_lock_proof::AssetLockProofType;
6
8
  use serde::{Deserialize, Serialize};
7
9
  use std::convert::TryInto;
8
10
  use wasm_bindgen::prelude::*;
@@ -15,7 +17,7 @@ use crate::{
15
17
  with_js_error,
16
18
  };
17
19
  use dpp::identity::state_transition::asset_lock_proof::instant::{
18
- InstantAssetLockProof, RawInstantLock,
20
+ InstantAssetLockProof, RawInstantLockProof,
19
21
  };
20
22
  use dpp::platform_value::string_encoding;
21
23
  use dpp::platform_value::string_encoding::Encoding;
@@ -51,34 +53,41 @@ impl From<InstantAssetLockProofWasm> for InstantAssetLockProof {
51
53
  #[wasm_bindgen(js_class = InstantAssetLockProof)]
52
54
  impl InstantAssetLockProofWasm {
53
55
  #[wasm_bindgen(constructor)]
54
- pub fn new(raw_parameters: JsValue) -> Result<InstantAssetLockProofWasm, JsValue> {
55
- let raw_instant_lock: RawInstantLock =
56
- with_js_error!(serde_wasm_bindgen::from_value(raw_parameters))?;
56
+ pub fn new(raw_parameters: JsValue) -> Result<InstantAssetLockProofWasm, JsError> {
57
+ let raw_instant_lock: RawInstantLockProof = serde_wasm_bindgen::from_value(raw_parameters)
58
+ .map_err(|_| JsError::new("invalid raw instant lock proof"))?;
57
59
 
58
- let instant_asset_lock_proof: InstantAssetLockProof =
59
- raw_instant_lock.try_into().map_err(|_| {
60
- RustConversionError::Error(String::from("object passed is not a raw Instant Lock"))
61
- .to_js_value()
62
- })?;
60
+ let instant_asset_lock_proof: InstantAssetLockProof = raw_instant_lock
61
+ .try_into()
62
+ .map_err(|_| JsError::new("object passed is not a raw Instant Lock"))?;
63
63
 
64
64
  Ok(instant_asset_lock_proof.into())
65
65
  }
66
66
 
67
67
  #[wasm_bindgen(js_name=getType)]
68
68
  pub fn get_type(&self) -> u8 {
69
- self.0.asset_lock_type()
69
+ AssetLockProofType::Instant as u8
70
70
  }
71
71
 
72
72
  #[wasm_bindgen(js_name=getOutputIndex)]
73
- pub fn get_output_index(&self) -> usize {
73
+ pub fn get_output_index(&self) -> u32 {
74
74
  self.0.output_index()
75
75
  }
76
76
 
77
77
  #[wasm_bindgen(js_name=getOutPoint)]
78
- pub fn get_out_point(&self) -> Option<Buffer> {
78
+ pub fn get_out_point(&self) -> Result<Option<Buffer>, JsValue> {
79
79
  self.0
80
80
  .out_point()
81
- .map(|out_point| Buffer::from_bytes(&out_point))
81
+ .map(|out_point| {
82
+ let mut outpoint_bytes = Vec::new();
83
+
84
+ out_point
85
+ .consensus_encode(&mut outpoint_bytes)
86
+ .map_err(|e| e.to_string())?;
87
+
88
+ Ok(Buffer::from_bytes_owned(outpoint_bytes))
89
+ })
90
+ .transpose()
82
91
  }
83
92
 
84
93
  #[wasm_bindgen(js_name=getOutput)]
@@ -56,7 +56,7 @@ pub trait AssetLockProofLike {
56
56
  impl AssetLockProofWasm {
57
57
  #[wasm_bindgen(constructor)]
58
58
  pub fn new(raw_asset_lock_proof: JsValue) -> Result<AssetLockProofWasm, JsValue> {
59
- let lock_type = get_lock_type(&raw_asset_lock_proof)?;
59
+ let lock_type = get_type_from_raw_asset_lock_proof(&raw_asset_lock_proof)?;
60
60
 
61
61
  match lock_type {
62
62
  AssetLockProofType::Instant => {
@@ -93,21 +93,22 @@ impl AssetLockProofWasm {
93
93
  }
94
94
  }
95
95
 
96
- fn get_lock_type(raw_asset_lock_proof: &JsValue) -> Result<AssetLockProofType, JsValue> {
97
- (js_sys::Reflect::get(raw_asset_lock_proof, &JsValue::from_str("type"))
98
- .map_err(|_| {
99
- RustConversionError::Error(String::from("error getting type from raw asset lock"))
100
- .to_js_value()
101
- })?
96
+ fn get_type_from_raw_asset_lock_proof(
97
+ raw_asset_lock_proof: &JsValue,
98
+ ) -> Result<AssetLockProofType, JsError> {
99
+ let proof_type = js_sys::Reflect::get(raw_asset_lock_proof, &JsValue::from_str("type"))
100
+ .map_err(|_| JsError::new("error getting type from raw asset lock"))?
102
101
  .as_f64()
103
- .ok_or_else(|| JsValue::from_str("asset lock type must be a number"))? as u64)
102
+ .ok_or_else(|| JsError::new("asset lock type must be a number"))?;
103
+
104
+ (proof_type as u64)
104
105
  .try_into()
105
- .map_err(|_| JsValue::from_str("unrecognized asset lock proof type"))
106
+ .map_err(|_| JsError::new("unrecognized asset lock proof type"))
106
107
  }
107
108
 
108
109
  #[wasm_bindgen(js_name=createAssetLockProofInstance)]
109
- pub fn create_asset_lock_proof_instance(raw_parameters: JsValue) -> Result<JsValue, JsValue> {
110
- let lock_type = get_lock_type(&raw_parameters)?;
110
+ pub fn create_asset_lock_proof_instance(raw_parameters: JsValue) -> Result<JsValue, JsError> {
111
+ let lock_type = get_type_from_raw_asset_lock_proof(&raw_parameters)?;
111
112
 
112
113
  match lock_type {
113
114
  AssetLockProofType::Instant => {
@@ -14,6 +14,7 @@ use dpp::version::PlatformVersion;
14
14
  use crate::identifier::IdentifierWrapper;
15
15
 
16
16
  use crate::identity::state_transition::asset_lock_proof::create_asset_lock_proof_from_wasm_instance;
17
+ use dpp::identity::state_transition::AssetLockProved;
17
18
 
18
19
  use crate::{
19
20
  buffer::Buffer,
@@ -1,4 +1,5 @@
1
1
  use dpp::identity::state_transition::asset_lock_proof::AssetLockProof;
2
+ use dpp::identity::state_transition::AssetLockProved;
2
3
  use dpp::state_transition::identity_create_transition::accessors::IdentityCreateTransitionAccessorsV0;
3
4
  use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation;
4
5
  use dpp::{
@@ -4,6 +4,7 @@ use std::default::Default;
4
4
 
5
5
  use crate::bls_adapter::{BlsAdapter, JsBlsAdapter};
6
6
  use crate::errors::from_dpp_err;
7
+ use dpp::identity::state_transition::AssetLockProved;
7
8
  use dpp::identity::KeyType;
8
9
  use dpp::platform_value::BinaryData;
9
10
  use dpp::serialization::ValueConvertible;
@@ -1,4 +1,5 @@
1
1
  use dpp::identity::state_transition::asset_lock_proof::AssetLockProof;
2
+ use dpp::identity::state_transition::AssetLockProved;
2
3
  use dpp::state_transition::identity_topup_transition::accessors::IdentityTopUpTransitionAccessorsV0;
3
4
  use dpp::state_transition::identity_topup_transition::IdentityTopUpTransition;
4
5
  use dpp::{identifier::Identifier, state_transition::StateTransitionLike};
package/src/lib.rs CHANGED
@@ -30,4 +30,4 @@ mod entropy_generator;
30
30
  // mod generate_temporary_ecdsa_private_key;
31
31
  mod lodash;
32
32
  mod protocol_version;
33
- // mod validation;
33
+ mod validation;
@@ -1,5 +1,5 @@
1
- mod json_schema_validator;
1
+ // mod json_schema_validator;
2
2
  mod validation_result;
3
3
 
4
- pub use json_schema_validator::*;
4
+ // pub use json_schema_validator::*;
5
5
  pub use validation_result::*;
@@ -75,21 +75,22 @@ impl ValidationResultWasm {
75
75
  }
76
76
  }
77
77
 
78
- #[wasm_bindgen(js_name = addError)]
79
- pub fn add_error_wasm(&mut self, error_buffer: Buffer) -> Result<JsValue, JsValue> {
80
- let error_bytes: Vec<u8> = Uint8Array::new_with_byte_offset_and_length(
81
- &error_buffer.buffer(),
82
- error_buffer.byte_offset(),
83
- error_buffer.length(),
84
- )
85
- .to_vec();
86
-
87
- let consensus_error = ConsensusError::deserialize(&error_bytes).with_js_error()?;
88
-
89
- self.0.add_error(consensus_error);
90
-
91
- Ok(JsValue::undefined())
92
- }
78
+ // TODO: restore?
79
+ // #[wasm_bindgen(js_name = addError)]
80
+ // pub fn add_error_wasm(&mut self, error_buffer: Buffer) -> Result<JsValue, JsValue> {
81
+ // let error_bytes: Vec<u8> = Uint8Array::new_with_byte_offset_and_length(
82
+ // &error_buffer.buffer(),
83
+ // error_buffer.byte_offset(),
84
+ // error_buffer.length(),
85
+ // )
86
+ // .to_vec();
87
+ //
88
+ // let consensus_error = ConsensusError::deserialize(&error_bytes).with_js_error()?;
89
+ //
90
+ // self.0.add_error(consensus_error);
91
+ //
92
+ // Ok(JsValue::undefined())
93
+ // }
93
94
  }
94
95
 
95
96
  impl ValidationResultWasm {
@@ -1,48 +1,37 @@
1
1
  const crypto = require('crypto');
2
- const generateRandomIdentifier = require('../../../lib/test/fixtures/js/generateRandomIdentifier');
3
- const getDataContractFixture = require('../../../lib/test/fixtures/js/getDataContractFixture');
4
- const getDocumentsFixture = require('../../../lib/test/fixtures/js/getDocumentsFixture');
2
+ const generateRandomIdentifier = require('../../../lib/test/utils/generateRandomIdentifierAsync');
3
+ const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
4
+ const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
5
5
  const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
6
6
 
7
7
  const {
8
8
  ExtendedDocument,
9
9
  DataContract,
10
- Identifier,
11
10
  ValidationResult,
12
11
  DocumentsBatchTransition,
13
12
  DashPlatformProtocol,
14
13
  DataContractNotPresentError,
15
- } = require('../../../dist');
16
- // const getBlsAdapterMock = require('../../../lib/test/mocks/getBlsAdapterMock');
17
-
18
- // let ExtendedDocument;
19
- // let DataContract;
20
- // let Identifier;
21
- // let ValidationResult;
22
- // let DocumentsBatchTransition;
23
- // let DashPlatformProtocol;
24
- // let DataContractNotPresentError;
14
+ } = require('../../..');
25
15
 
26
16
  describe('DocumentFacade', () => {
27
17
  let dpp;
28
18
  let document;
29
19
  let documents;
30
- let documentsJs;
31
20
  let dataContract;
32
21
  let ownerId;
33
22
  let stateRepositoryMock;
34
23
 
35
24
  beforeEach(async function beforeEach() {
36
- const ownerIdJs = generateRandomIdentifier();
37
- ownerId = new Identifier(ownerIdJs.toBuffer());
38
- const dataContractJs = getDataContractFixture(ownerIdJs);
39
- const dataContractObject = dataContractJs.toObject();
25
+ ownerId = await generateRandomIdentifier();
26
+ const dataContractFixture = await getDataContractFixture(ownerId.toBuffer());
27
+ const dataContractObject = dataContractFixture.toObject();
28
+
40
29
  dataContract = new DataContract({
41
30
  $format_version: '0',
42
- id: dataContractObject.$id,
31
+ id: dataContractObject.id,
43
32
  version: 1,
44
33
  ownerId: dataContractObject.ownerId,
45
- documentSchemas: dataContractObject.documents,
34
+ documentSchemas: dataContractObject.documentSchemas,
46
35
  });
47
36
 
48
37
  stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
@@ -53,12 +42,7 @@ describe('DocumentFacade', () => {
53
42
  1,
54
43
  );
55
44
 
56
- documentsJs = getDocumentsFixture(dataContractJs);
57
- documents = documentsJs.map((d) => {
58
- const currentDocument = new ExtendedDocument(d.toObject(), dataContract.clone());
59
- currentDocument.setEntropy(d.entropy);
60
- return currentDocument;
61
- });
45
+ documents = await getDocumentsFixture(dataContract);
62
46
  ([document] = documents);
63
47
  });
64
48
 
@@ -1,12 +1,10 @@
1
1
  const createStateRepositoryMock = require('../../../../../lib/test/mocks/createStateRepositoryMock');
2
- const getDataContractFixture = require('../../../../../lib/test/fixtures/js/getDataContractFixture');
3
- const getDocumentsFixture = require('../../../../../lib/test/fixtures/js/getDocumentsFixture');
2
+ const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
3
+ const getDocumentsFixture = require('../../../../../lib/test/fixtures/getDocumentsFixture');
4
4
 
5
5
  const { default: loadWasmDpp } = require('../../../../..');
6
6
  const { IdentityPublicKey } = require('../../../../..');
7
7
 
8
- let ExtendedDocument;
9
- let DataContract;
10
8
  let ProtocolVersionValidator;
11
9
  let DocumentValidator;
12
10
  let DocumentFactory;
@@ -23,30 +21,22 @@ describe('DocumentBatchTransition', () => {
23
21
 
24
22
  beforeEach(async function beforeEach() {
25
23
  ({
26
- ExtendedDocument,
27
- DataContract,
28
24
  ProtocolVersionValidator,
29
25
  DocumentFactory,
30
26
  DocumentValidator,
31
27
  } = await loadWasmDpp());
32
28
 
33
- const dataContractFixtureJs = getDataContractFixture();
34
-
35
- dataContractFixtureJs.documents.niceDocument
36
- .signatureSecurityLevelRequirement = IdentityPublicKey.SECURITY_LEVELS.MEDIUM;
37
- dataContractFixtureJs.documents.prettyDocument
38
- .signatureSecurityLevelRequirement = IdentityPublicKey.SECURITY_LEVELS.MASTER;
39
-
40
- dataContractFixture = new DataContract(dataContractFixtureJs.toObject());
29
+ dataContractFixture = await getDataContractFixture();
30
+ //
31
+ // dataContractFixtureJs.documents.niceDocument
32
+ // .signatureSecurityLevelRequirement = IdentityPublicKey.SECURITY_LEVELS.MEDIUM;
33
+ // dataContractFixtureJs.documents.prettyDocument
34
+ // .signatureSecurityLevelRequirement = IdentityPublicKey.SECURITY_LEVELS.MASTER;
41
35
 
42
36
  // 0 is niceDocument,
43
37
  // 1 and 2 are pretty documents,
44
38
  // 3 and 4 are indexed documents that do not have security level specified
45
- documentsFixture = getDocumentsFixture(dataContractFixtureJs).map((doc) => {
46
- const document = new ExtendedDocument(doc.toObject(), dataContractFixture.clone());
47
- document.setEntropy(doc.entropy);
48
- return document;
49
- });
39
+ documentsFixture = await getDocumentsFixture(dataContractFixture);
50
40
 
51
41
  [
52
42
  mediumSecurityDocumentFixture, ,
@@ -1,6 +1,6 @@
1
1
  const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
2
- const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/js/getDocumentsFixture');
3
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/js/getDataContractFixture');
2
+ const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/getDocumentsFixture');
3
+ const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
4
4
  const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
5
5
 
6
6
  const { default: loadWasmDpp } = require('../../../../../../..');
@@ -1,5 +1,5 @@
1
- const getDataContractFixture = require('../../../../lib/test/fixtures/js/getDataContractFixture');
2
- const getDocumentsFixture = require('../../../../lib/test/fixtures/js/getDocumentsFixture');
1
+ const getDataContractFixture = require('../../../../lib/test/fixtures/getDataContractFixture');
2
+ const getDocumentsFixture = require('../../../../lib/test/fixtures/getDocumentsFixture');
3
3
 
4
4
  const { expectJsonSchemaError, expectValidationError } = require('../../../../lib/test/expect/expectError');
5
5
  const { default: loadWasmDpp } = require('../../../../dist');
@@ -24,8 +24,7 @@ describe('IdentityFacade', () => {
24
24
  );
25
25
 
26
26
  const chainAssetLockProofJS = getChainAssetLockProofFixture();
27
- const instantAssetLockProofJS = await getInstantAssetLockProofFixture();
28
- instantAssetLockProof = new InstantAssetLockProof(instantAssetLockProofJS.toObject());
27
+ instantAssetLockProof = await getInstantAssetLockProofFixture();
29
28
  chainAssetLockProof = new ChainAssetLockProof(chainAssetLockProofJS.toObject());
30
29
 
31
30
  identity = await getIdentityFixture(instantAssetLockProof.createIdentifier());
@@ -1,7 +1,7 @@
1
1
  const DashCoreLib = require('@dashevo/dashcore-lib');
2
2
  const { expect } = require('chai');
3
3
 
4
- const getInstantAssetLockFixture = require('../../../../../../lib/test/fixtures/js/getInstantAssetLockProofFixture');
4
+ const getInstantAssetLockFixture = require('../../../../../../lib/test/fixtures/getInstantAssetLockProofFixture');
5
5
  const createStateRepositoryMock = require('../../../../../../lib/test/mocks/createStateRepositoryMock');
6
6
  const { expectJsonSchemaError, expectValidationError } = require('../../../../../../lib/test/expect/expectError');
7
7
 
@@ -36,7 +36,7 @@ describe.skip('validateInstantAssetLockProofStructureFactory', () => {
36
36
  });
37
37
 
38
38
  beforeEach(async function beforeEach() {
39
- const assetLock = getInstantAssetLockFixture();
39
+ const assetLock = await getInstantAssetLockFixture();
40
40
  transaction = assetLock.getTransaction();
41
41
 
42
42
  rawProof = assetLock.toObject();
@@ -2,9 +2,9 @@ const { PrivateKey, crypto: { Hash } } = require('@dashevo/dashcore-lib');
2
2
 
3
3
  const crypto = require('crypto');
4
4
 
5
- const BlsSignatures = require('@dashevo/dpp/lib/bls/bls');
6
-
7
5
  const { expect } = require('chai');
6
+ const BlsSignatures = require('../../../../lib/bls/bls');
7
+
8
8
  const getIdentityCreateTransitionFixture = require('../../../../lib/test/fixtures/getIdentityCreateTransitionFixture');
9
9
  const { expectValidationError } = require('../../../../lib/test/expect/expectError');
10
10
  const getBlsAdapterMock = require('../../../../lib/test/mocks/getBlsAdapterMock');
@@ -1,5 +1,3 @@
1
- const JsDataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
2
-
3
1
  const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
4
2
  const { default: loadWasmDpp } = require('../../../../..');
5
3
  const { StateTransitionTypes } = require('../../../../..');
@@ -81,12 +79,12 @@ describe('DataContractUpdateTransition', () => {
81
79
 
82
80
  describe.skip('#hash', () => {
83
81
  it('should return State Transition hash as hex', () => {
84
- const jsStateTransition = new JsDataContractUpdateTransition(stateTransition.toJSON());
85
-
86
- const result = stateTransition.hash();
87
- const resultJs = jsStateTransition.hash();
88
-
89
- expect(result).to.equal(resultJs);
82
+ // const jsStateTransition = new JsDataContractUpdateTransition(stateTransition.toJSON());
83
+ //
84
+ // const result = stateTransition.hash();
85
+ // const resultJs = jsStateTransition.hash();
86
+ //
87
+ // expect(result).to.equal(resultJs);
90
88
  });
91
89
  });
92
90