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
8 changes: 4 additions & 4 deletions .pnp.cjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion packages/dashmate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
"listr2": "5.0.7",
"lodash": "^4.17.21",
"memory-streams": "^0.1.3",
"node-forge": "^1.3.1",
"node-forge": "^1.3.2",
"node-graceful": "^3.0.1",
"pretty-bytes": "^5.3.0",
"pretty-ms": "^7.0.0",
Expand Down
17 changes: 16 additions & 1 deletion packages/rs-sdk/src/mock/requests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use dpp::{
dashcore::{hashes::Hash as CoreHash, ProTxHash},
document::{serialization_traits::DocumentCborMethodsV0, Document},
identifier::Identifier,
identity::IdentityPublicKey,
identity::{identities_contract_keys::IdentitiesContractKeys, IdentityPublicKey},
platform_serialization::{platform_encode_to_vec, platform_versioned_decode_from_slice},
prelude::{DataContract, Identity},
serialization::{
Expand Down Expand Up @@ -460,6 +460,21 @@ impl MockResponse for GroupActions {
}
}

impl MockResponse for IdentitiesContractKeys {
fn mock_serialize(&self, _sdk: &MockDashPlatformSdk) -> Vec<u8> {
bincode::encode_to_vec(self, BINCODE_CONFIG).expect("encode IdentitiesContractKeys")
}

fn mock_deserialize(_sdk: &MockDashPlatformSdk, buf: &[u8]) -> Self
where
Self: Sized,
{
bincode::decode_from_slice(buf, BINCODE_CONFIG)
.expect("decode IdentitiesContractKeys")
.0
}
}

impl_mock_response!(Identity);
impl_mock_response!(IdentityPublicKey);
impl_mock_response!(Identifier);
Expand Down
2 changes: 1 addition & 1 deletion packages/rs-sdk/src/platform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mod fetch;
pub mod fetch_current_no_parameters;
mod fetch_many;
mod fetch_unproved;
mod identities_contract_keys_query;
pub mod identities_contract_keys_query;
pub mod query;
pub mod transition;
pub mod types;
Expand Down
6 changes: 6 additions & 0 deletions packages/rs-sdk/src/platform/fetch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ use crate::sync::retry;
use crate::{error::Error, platform::query::Query, Sdk};
use dapi_grpc::platform::v0::{self as platform_proto, Proof, ResponseMetadata};
use dpp::data_contract::associated_token::token_perpetual_distribution::reward_distribution_moment::RewardDistributionMoment;
use dpp::identity::identities_contract_keys::IdentitiesContractKeys;
use dpp::voting::votes::Vote;
use dpp::{
block::extended_epoch_info::ExtendedEpochInfo, document::Document, platform_value::Identifier,
Expand Down Expand Up @@ -303,6 +304,11 @@ impl Fetch for RewardDistributionMoment {
type Request = platform_proto::GetTokenPerpetualDistributionLastClaimRequest;
}

/// Fetch contract-scoped keys for multiple identities.
impl Fetch for IdentitiesContractKeys {
type Request = platform_proto::GetIdentitiesContractKeysRequest;
}

impl Fetch for dpp::tokens::contract_info::TokenContractInfo {
type Request = platform_proto::GetTokenContractInfoRequest;
}
21 changes: 21 additions & 0 deletions packages/rs-sdk/src/platform/identities_contract_keys_query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use rs_dapi_client::transport::{
AppliedRequestSettings, BoxFuture, TransportError, TransportRequest,
};

use crate::platform::query::Query;
use crate::platform::Identifier;
use crate::Error;

Expand Down Expand Up @@ -63,6 +64,26 @@ impl TryFrom<IdentitiesContractKeysQuery> for GetIdentitiesContractKeysRequest {
}
}

impl Query<GetIdentitiesContractKeysRequest> for IdentitiesContractKeysQuery {
fn query(self, prove: bool) -> Result<GetIdentitiesContractKeysRequest, Error> {
let IdentitiesContractKeysQuery {
identities_ids,
contract_id,
document_type_name,
purposes,
} = self;
Ok(GetIdentitiesContractKeysRequest {
version: Some(V0(GetIdentitiesContractKeysRequestV0 {
identities_ids: identities_ids.into_iter().map(|a| a.to_vec()).collect(),
contract_id: contract_id.to_vec(),
document_type_name,
purposes: purposes.into_iter().map(|purpose| purpose as i32).collect(),
prove,
})),
})
}
}

impl TransportRequest for IdentitiesContractKeysQuery {
type Client = <GetIdentitiesContractKeysRequest as TransportRequest>::Client;
type Response = <GetIdentitiesContractKeysRequest as TransportRequest>::Response;
Expand Down
Loading
Loading