From fd44ea7e0ef221048f9700c727f475da72b22e01 Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Mon, 18 Mar 2024 12:21:06 +0000 Subject: [PATCH 01/10] feat(rs-sdk): add query for data contract history --- packages/rs-sdk/Cargo.toml | 2 +- packages/rs-sdk/src/mock/sdk.rs | 4 +++ packages/rs-sdk/src/platform/fetch.rs | 4 +++ packages/rs-sdk/src/platform/query.rs | 36 +++++++++++++++++--- packages/rs-sdk/tests/fetch/data_contract.rs | 25 ++++++++++++++ 5 files changed, 65 insertions(+), 6 deletions(-) diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index ccd8e38b59d..06393492cbe 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -47,7 +47,7 @@ tokio-test = { version = "0.4.3" } clap = { version = "4.4.18", features = ["derive"] } [features] -default = ["mocks", "offline-testing"] +default = ["mocks", "network-testing"] mocks = [ "dep:serde_json", "rs-dapi-client/mocks", diff --git a/packages/rs-sdk/src/mock/sdk.rs b/packages/rs-sdk/src/mock/sdk.rs index 3ec8da08e6c..976163f9ac6 100644 --- a/packages/rs-sdk/src/mock/sdk.rs +++ b/packages/rs-sdk/src/mock/sdk.rs @@ -119,6 +119,10 @@ impl MockDashPlatformSdk { self.load_expectation::(filename) .await? } + "GetDataContractHistoryRequest" => { + self.load_expectation::(filename) + .await? + } "IdentityRequest" => self.load_expectation::(filename).await?, "GetIdentityRequest" => { self.load_expectation::(filename) diff --git a/packages/rs-sdk/src/platform/fetch.rs b/packages/rs-sdk/src/platform/fetch.rs index 2bd0ff19bee..0e75887c230 100644 --- a/packages/rs-sdk/src/platform/fetch.rs +++ b/packages/rs-sdk/src/platform/fetch.rs @@ -219,6 +219,10 @@ impl Fetch for drive_proof_verifier::types::IdentityBalanceAndRevision { type Request = platform_proto::GetIdentityBalanceAndRevisionRequest; } +impl Fetch for drive_proof_verifier::types::DataContractHistory { + type Request = platform_proto::GetDataContractHistoryRequest; +} + impl Fetch for ExtendedEpochInfo { type Request = platform_proto::GetEpochsInfoRequest; } diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index 90e1821dfa0..ab0096c8e32 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -4,11 +4,7 @@ use std::fmt::Debug; use dapi_grpc::mock::Mockable; -use dapi_grpc::platform::v0::{ - self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, - AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, GetProtocolVersionUpgradeStateRequest, - GetProtocolVersionUpgradeVoteStatusRequest, KeyRequestType, -}; +use dapi_grpc::platform::v0::{self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, KeyRequestType, GetDataContractHistoryRequest}; use dashcore_rpc::dashcore::{hashes::Hash, ProTxHash}; use dpp::{block::epoch::EpochIndex, prelude::Identifier}; use drive::query::DriveQuery; @@ -114,6 +110,36 @@ impl Query for Vec { } } +// impl Query for LimitQuery<(Identifier, u64)> { +// fn query(self, prove: bool) -> Result { +// LimitQuery { +// query: Some(self.query), +// limit: self.limit, +// }.query(prove) +// } +// } + +impl Query for (Identifier, u64) { + fn query(self, prove: bool) -> Result { + if !prove { + unimplemented!("queries without proofs are not supported yet"); + } + let (id, start_at_ms) = self; + + Ok(proto::GetDataContractHistoryRequest { + version: Some(proto::get_data_contract_history_request::Version::V0( + proto::get_data_contract_history_request::GetDataContractHistoryRequestV0 { + id: id.to_vec(), + limit: Some(10), + offset: None, + start_at_ms, + prove, + }, + )), + }) + } +} + impl Query for Identifier { /// Get all keys for an identity with provided identifier. fn query(self, prove: bool) -> Result { diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 02d3743a7f8..0de58777232 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -1,5 +1,6 @@ use super::config::Config; use dpp::prelude::{DataContract, Identifier}; +use drive_proof_verifier::types::DataContractHistory; use rs_sdk::platform::{Fetch, FetchMany}; /// Given some dummy data contract ID, when I fetch data contract, I get None because it doesn't exist. @@ -88,3 +89,27 @@ async fn test_data_contracts_2_nx() { "proof of non-existence 2 failed" ); } + +#[tokio::test(flavor = "multi_thread", worker_threads = 1)] +async fn test_data_contract_history_read() { + // use dpp::data_contract::accessors::v0::DataContractV0Getters; + let cfg = Config::new(); + let id = cfg.existing_data_contract_id; + + let sdk = cfg.setup_api().await; + + let result = DataContractHistory::fetch( + &sdk, + (id, 0), + ).await; + + if let Err(e) = result { + panic!("error {:?}", e); + } + + // println!("res {:?}", result); + // let result = DataContract::fetch_by_identifier(&sdk, id).await; + // + // assert!(matches!(result, Ok(Some(_))), "result: {:?}", result); + // assert_eq!(result.unwrap().unwrap().id(), id); +} From d25ab1da728cbc89073ce93d210c9071f4e906cd Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Fri, 22 Mar 2024 04:31:25 +0700 Subject: [PATCH 02/10] name --- packages/rs-sdk/tests/fetch/data_contract.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 94e497dbad8..81d671a2dc0 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -96,7 +96,7 @@ async fn test_data_contract_history_read() { let cfg = Config::new(); let id = cfg.existing_data_contract_id; - let sdk = cfg.setup_api().await; + let sdk = cfg.setup_api("test_data_contract_history_read").await; let result = DataContractHistory::fetch( &sdk, From 8e554f348dd00934b197dc7bd86607ee6de058aa Mon Sep 17 00:00:00 2001 From: Quantum Explorer Date: Fri, 22 Mar 2024 05:15:31 +0700 Subject: [PATCH 03/10] changed to limit query --- packages/rs-sdk/Cargo.toml | 2 +- packages/rs-sdk/src/platform/query.rs | 15 +++------------ packages/rs-sdk/tests/fetch/data_contract.rs | 1 - 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index b13bfcacbde..1a0acf7325e 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -48,7 +48,7 @@ clap = { version = "4.4.18", features = ["derive"] } sanitize-filename = { version = "0.5.0" } [features] -default = ["mocks", "network-testing"] +default = ["mocks", "offline-testing"] mocks = [ "dep:serde_json", "rs-dapi-client/mocks", diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index ab0096c8e32..b2ac26c1863 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -110,27 +110,18 @@ impl Query for Vec { } } -// impl Query for LimitQuery<(Identifier, u64)> { -// fn query(self, prove: bool) -> Result { -// LimitQuery { -// query: Some(self.query), -// limit: self.limit, -// }.query(prove) -// } -// } - -impl Query for (Identifier, u64) { +impl Query for LimitQuery<(Identifier, u64)> { fn query(self, prove: bool) -> Result { if !prove { unimplemented!("queries without proofs are not supported yet"); } - let (id, start_at_ms) = self; + let (id, start_at_ms) = self.query; Ok(proto::GetDataContractHistoryRequest { version: Some(proto::get_data_contract_history_request::Version::V0( proto::get_data_contract_history_request::GetDataContractHistoryRequestV0 { id: id.to_vec(), - limit: Some(10), + limit: self.limit, offset: None, start_at_ms, prove, diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 81d671a2dc0..921ce6c5d29 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -92,7 +92,6 @@ async fn test_data_contracts_2_nx() { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_data_contract_history_read() { - // use dpp::data_contract::accessors::v0::DataContractV0Getters; let cfg = Config::new(); let id = cfg.existing_data_contract_id; From b02e8ad6452150b4aa2d756da6b1368a947b1940 Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Mon, 25 Mar 2024 18:02:38 +0000 Subject: [PATCH 04/10] test(rs-sdk): add test vector for data contract history --- ...81c37a91d19f22d572cfe88596881616c6385c4.json | Bin 0 -> 74216 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/rs-sdk/tests/vectors/msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json diff --git a/packages/rs-sdk/tests/vectors/msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json b/packages/rs-sdk/tests/vectors/msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json new file mode 100644 index 0000000000000000000000000000000000000000..45a6d95bab29eb7bdd600e50705f5ab8a1bf8ea8 GIT binary patch literal 74216 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 Date: Fri, 29 Mar 2024 04:14:40 +0700 Subject: [PATCH 05/10] fix --- packages/rs-sdk/tests/fetch/data_contract.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 921ce6c5d29..fdfd74f7ac7 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -1,7 +1,7 @@ use super::config::Config; use dpp::prelude::{DataContract, Identifier}; use drive_proof_verifier::types::DataContractHistory; -use rs_sdk::platform::{Fetch, FetchMany}; +use rs_sdk::platform::{Fetch, FetchMany, LimitQuery}; /// Given some dummy data contract ID, when I fetch data contract, I get None because it doesn't exist. #[tokio::test(flavor = "multi_thread", worker_threads = 1)] @@ -99,7 +99,7 @@ async fn test_data_contract_history_read() { let result = DataContractHistory::fetch( &sdk, - (id, 0), + LimitQuery::from((id, 0)), ).await; if let Err(e) = result { From f33494a170fe5953a566c3f2531128d5ad099943 Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Tue, 2 Apr 2024 17:02:14 +0100 Subject: [PATCH 06/10] test(sdk): fix test vector for data contract history read --- .../test_data_contract_history_read/.gitkeep | 0 ...17fb8d3f043901bd72d62765eac98e063154.json} | Bin 74216 -> 74206 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/rs-sdk/tests/vectors/test_data_contract_history_read/.gitkeep rename packages/rs-sdk/tests/vectors/{msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json => test_data_contract_history_read/msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json} (97%) diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/.gitkeep b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/rs-sdk/tests/vectors/msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json similarity index 97% rename from packages/rs-sdk/tests/vectors/msg_2024-03-25T18:02:00.933222000Z_GetDataContractHistoryRequest_5cba25a02ae511924aa7bdb6881c37a91d19f22d572cfe88596881616c6385c4.json rename to packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json index 45a6d95bab29eb7bdd600e50705f5ab8a1bf8ea8..896861dc242f49266494ce204999038144645b0f 100644 GIT binary patch delta 1020 zcmYjPO=uit80MSZ&Cj~odEYO8yPIae*-I^GyE{9x*;$D(2V1lzHXamOwC*8LiXlcY z7yoh)auO9D;S&tRn0>RekD(G1k0CvtcVv@R@fo-)yv_nVELfNN~kF;>om}`3Cok+DqDa zu3+rNk|JymX}nt^yi?*#*b4E=Y&FviBl|*C8T;$BVtaZ@G0qKZ+pWs}Wzx8mVcZ`j ze3{o?E4F)OW$=21?eBqNFAA|nMlcdkBv?^|xty`b9ZIiA_U^Qx^ri{tGsUlaxieY2 z<;&!)0>O+i9?OyaQ+Dl0Ak#@4{+lH15Mw*1?bej) z|B8E~Y>(EI2JI0()`a>PdvS=b>Q!uv5ayQ{|9nE}!78@3eInIN%5gtr`2FjJbJq)s z^0;`y$MFK=r9r~YLB^As({EAlz|_DrHnT!S==7e|SXuWo&A4OdDyoX9A+l{F3|0qH zN9x+(|B(7#{#0fx2U85^hA9-a{57euoP@kdz0=j3~F+x}HjEzp?ngxW3(*pkn9 zTYM^y6JD0gj_nfe$niT7+pgn(XPIGs^znosKXZ@L`)-@CDB=8DR@&ZnDeMW%Y)K3} zLU?Ump0a)Dc^}=Q@;ytqbXwyiiLxOV3u8a`t%4)oDrz(uj76eM*iLZEH`rd5_oO4; zG3bij=QoZ0d!N!O!Ca}zQTy?H@X*!78@si%2VS!wY6JWxg^~hF8AtJR*+*}aupvcw zdO}GnqYjF?ieG$bZU+Z*#<_->qGQNd+AscZk|$fIhO0Ii7lkJ)ef<&x<`4AC~Sb(#{F8ewwJ1T%f&~MxVpCHC2BA_tr0l delta 1093 zcmZ8gO=w(I6z0B}Nivya?m2Ig8D}P$_q5cO(lqnl{AECDbfF+N(^9lawJ3yc6hn&G zWwLPLPbrP_Ev^u>aU%$tCRlANVhUYZDGgnSm3AUXK~d42x~TEoH(h8SJRa|!dw#y3 z)43A==}LU3zE$tWtBpzn^Ukh#C1_T#?2PpXm5F8}CPr11KrN;P(Hho3KSmD;<|QfWwVl1C48(IPZbIJP}BiS*EkkdtL9ctmD&R~#_(szY^J67 z#e#hqUkp+#EH^N9q=Xj&#-xngN|SjqC&2t2WM0WfW0^;a%9B>OJ3NM!*f=^R7D}i+ zOgNWkv|41o5t?2z@}^o92U*^01uh4)d~n z&+H_;6_+mvHxq>KT+W2miT{fi)Nms0U5FX3C1W>ENBK@d5(L+h^?_5XLHLg-aq>^Iw=qMTf5I+VGaD6Z&$*uO?x0(;;2JI6q}p2 OixCawo6jFqyZ;4a3`3Cs From e5a41732bf1057b3e7e389a00cb44ceb08d991ef Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Thu, 11 Apr 2024 18:04:44 +0100 Subject: [PATCH 07/10] test(rs-sdk): data contract history --- packages/rs-sdk/src/platform/query.rs | 7 ++++- packages/rs-sdk/tests/fetch/data_contract.rs | 25 ++++++++---------- ...8505da12dd67cb9d5d8b43fad82de9d06061.json} | Bin 74206 -> 57547 bytes ...32a287dd182f4ea3b1b4bf70dcd56c1b87d78.json | 1 + 4 files changed, 18 insertions(+), 15 deletions(-) rename packages/rs-sdk/tests/vectors/test_data_contract_history_read/{msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json => msg_2024-04-11T16:57:48.166543000Z_GetDataContractHistoryRequest_1519241de3a099f69aa1d8523aef8505da12dd67cb9d5d8b43fad82de9d06061.json} (62%) create mode 100644 packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-0db75802182bb9b9417e92b278832a287dd182f4ea3b1b4bf70dcd56c1b87d78.json diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index b2ac26c1863..26556c76d27 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -4,7 +4,12 @@ use std::fmt::Debug; use dapi_grpc::mock::Mockable; -use dapi_grpc::platform::v0::{self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, KeyRequestType, GetDataContractHistoryRequest}; +use dapi_grpc::platform::v0::{ + self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, + AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, + GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, + KeyRequestType, +}; use dashcore_rpc::dashcore::{hashes::Hash, ProTxHash}; use dpp::{block::epoch::EpochIndex, prelude::Identifier}; use drive::query::DriveQuery; diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index fdfd74f7ac7..70c062f6988 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -1,4 +1,6 @@ +use dpp::data_contract::accessors::v0::DataContractV0Getters; use super::config::Config; +use dpp::platform_value::string_encoding::Encoding; use dpp::prelude::{DataContract, Identifier}; use drive_proof_verifier::types::DataContractHistory; use rs_sdk::platform::{Fetch, FetchMany, LimitQuery}; @@ -93,22 +95,17 @@ async fn test_data_contracts_2_nx() { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_data_contract_history_read() { let cfg = Config::new(); - let id = cfg.existing_data_contract_id; + let id = Identifier::from_string( + "3c71ba2d0b655ac3d231c4411d3c3fad43451d3f48213537ff9da331b24e5dea", + Encoding::Hex, + ) + .unwrap(); let sdk = cfg.setup_api("test_data_contract_history_read").await; - let result = DataContractHistory::fetch( - &sdk, - LimitQuery::from((id, 0)), - ).await; - - if let Err(e) = result { - panic!("error {:?}", e); - } + let result = DataContractHistory::fetch(&sdk, LimitQuery::from((id, 10))).await; - // println!("res {:?}", result); - // let result = DataContract::fetch_by_identifier(&sdk, id).await; - // - // assert!(matches!(result, Ok(Some(_))), "result: {:?}", result); - // assert_eq!(result.unwrap().unwrap().id(), id); + assert!(matches!(result, Ok(Some(_))), "result: {:?}", result); + let (_, contract) = result.unwrap().unwrap().pop_first().unwrap(); + assert_eq!(contract.id(), id); } diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-11T16:57:48.166543000Z_GetDataContractHistoryRequest_1519241de3a099f69aa1d8523aef8505da12dd67cb9d5d8b43fad82de9d06061.json similarity index 62% rename from packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-02T16:01:17.429984000Z_GetDataContractHistoryRequest_f4193275001cef60fe97a786855717fb8d3f043901bd72d62765eac98e063154.json rename to packages/rs-sdk/tests/vectors/test_data_contract_history_read/msg_2024-04-11T16:57:48.166543000Z_GetDataContractHistoryRequest_1519241de3a099f69aa1d8523aef8505da12dd67cb9d5d8b43fad82de9d06061.json index 896861dc242f49266494ce204999038144645b0f..3891dee2469224b71441e63992080713db5648bc 100644 GIT binary patch literal 57547 zcmeI*+j87SvW4M&?Wb_?dS9@>^SsK$ghFG{mSQB!qr*h(n9#fL1|>`A?{6ETPHvIy z3zlZJdJpc9RZ$JKbb2y(ke*gF8=*gqa(cf=AnLj;0 z{@?e1k8!d%xIF)GaC-LP?=cpCA1@BBmP1`F?wH2nlhdok?N^IA&X;#AE?Tbee7V4j z#liW-hf&WLH&2Vdmp5NbAFe-HjB~d9d%2*q#lbjR%r=(8ZV7jB`C*Rb-&cz{rjyfm z>i@^@7au)+^6bg0jgfwR{q*Vklh1$t`Q>%azI^rY#j6JoUp;vCa&yDcI6iuR!*4I1 z|L1yh^3{vi*EdtV+5G$Fhc`d`&kr*$)?o7N`qjfn4_`gpjPMplH&A+f{p6R&^D2(U z>4&*Cqy6;!#r1=q9zT5Y>w~AyfBM(;qX+LV-Dqne@X_^e&wqNn8DRm5qgPL!UH>k^ z#h5P7PS4M$v*U~R(rjkf$n)y?PtTt|_<-*P_Kx1peFN^JM-N{^VX@&w7<-1eDu!;zkm3_b7qAsRxlqfKy`C?vH;D^ z39euI#r*jKF!SL?6TdHbKKya1v-!}`PM!aF;a)d4Fy5BK≶rZcoVl6UPf1&Ua5| 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 literal 74206 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 diff --git a/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-0db75802182bb9b9417e92b278832a287dd182f4ea3b1b4bf70dcd56c1b87d78.json b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-0db75802182bb9b9417e92b278832a287dd182f4ea3b1b4bf70dcd56c1b87d78.json new file mode 100644 index 00000000000..e836917eaf6 --- /dev/null +++ b/packages/rs-sdk/tests/vectors/test_data_contract_history_read/quorum_pubkey-106-0db75802182bb9b9417e92b278832a287dd182f4ea3b1b4bf70dcd56c1b87d78.json @@ -0,0 +1 @@ +[134,90,211,2,159,204,117,201,202,79,41,171,146,86,115,171,247,117,185,147,133,32,111,139,93,126,226,86,104,239,140,58,90,36,89,121,41,96,244,146,48,229,249,80,185,69,142,129] \ No newline at end of file From ef368569e7bae911128d88919393a37d59c2c8b7 Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Thu, 11 Apr 2024 18:09:15 +0100 Subject: [PATCH 08/10] fix formatting --- packages/rs-sdk/src/platform/query.rs | 5 ++--- packages/rs-sdk/tests/fetch/data_contract.rs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/rs-sdk/src/platform/query.rs b/packages/rs-sdk/src/platform/query.rs index 26556c76d27..b43d3c979ce 100644 --- a/packages/rs-sdk/src/platform/query.rs +++ b/packages/rs-sdk/src/platform/query.rs @@ -6,9 +6,8 @@ use std::fmt::Debug; use dapi_grpc::mock::Mockable; use dapi_grpc::platform::v0::{ self as proto, get_identity_keys_request, get_identity_keys_request::GetIdentityKeysRequestV0, - AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, - GetProtocolVersionUpgradeStateRequest, GetProtocolVersionUpgradeVoteStatusRequest, - KeyRequestType, + AllKeys, GetEpochsInfoRequest, GetIdentityKeysRequest, GetProtocolVersionUpgradeStateRequest, + GetProtocolVersionUpgradeVoteStatusRequest, KeyRequestType, }; use dashcore_rpc::dashcore::{hashes::Hash, ProTxHash}; use dpp::{block::epoch::EpochIndex, prelude::Identifier}; diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 70c062f6988..81f00176d93 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -1,5 +1,5 @@ -use dpp::data_contract::accessors::v0::DataContractV0Getters; use super::config::Config; +use dpp::data_contract::accessors::v0::DataContractV0Getters; use dpp::platform_value::string_encoding::Encoding; use dpp::prelude::{DataContract, Identifier}; use drive_proof_verifier::types::DataContractHistory; From 84a75513a5399c3cfd8c4fa5594cc3d2028b0710 Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Wed, 24 Apr 2024 17:23:17 +0100 Subject: [PATCH 09/10] test: disable data contract history test for network testing --- packages/rs-sdk/tests/fetch/data_contract.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 38999271ed2..61d76fae5d5 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -92,6 +92,15 @@ async fn test_data_contracts_2_nx() { ); } +// This test currently supports offline mode only. +// It needs Data Contract with `keep_history` set to true, which is not available in the network +// by default and has to be created manually. +// At the moment tests in rs-sdk do not provide Core Wallet signer, and unable to create +// identities and data contracts. +// The contract for this test was pre-created with +// `packages/platform-test-suite/test/functional/platform/DataContract.spec.js` +// and stored as a test vector for offline testing only. +#[cfg(not(feature = "network-testing"))] #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_data_contract_history_read() { let cfg = Config::new(); From cf6ee891f22c77677859d97e7cfc3d12d1cb2a2b Mon Sep 17 00:00:00 2001 From: "markin.io" Date: Wed, 24 Apr 2024 17:26:26 +0100 Subject: [PATCH 10/10] test: disable data contract history test for network testing --- packages/rs-sdk/tests/fetch/data_contract.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 61d76fae5d5..d68646eb70a 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -93,11 +93,11 @@ async fn test_data_contracts_2_nx() { } // This test currently supports offline mode only. -// It needs Data Contract with `keep_history` set to true, which is not available in the network -// by default and has to be created manually. +// It needs Data Contract with `keep_history` set to true, which is not available in the network +// by default and has to be created manually. // At the moment tests in rs-sdk do not provide Core Wallet signer, and unable to create // identities and data contracts. -// The contract for this test was pre-created with +// The contract for this test was pre-created with // `packages/platform-test-suite/test/functional/platform/DataContract.spec.js` // and stored as a test vector for offline testing only. #[cfg(not(feature = "network-testing"))]